ArrayUtils.smali

.class public Lcom/blankj/utilcode/util/ArrayUtils;
.super Ljava/lang/Object;
.source "ArrayUtils.java"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/blankj/utilcode/util/ArrayUtils$Closure;
    }
.end annotation


# static fields
.field public static final INDEX_NOT_FOUND:I


# direct methods
.method static constructor <clinit>()V
    .registers 1

    const v0, -0x1570

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/blankj/utilcode/util/ArrayUtils;->INDEX_NOT_FOUND:I

    return-void
.end method

.method private constructor <init>()V
    .registers 3

    .line 23
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 24
    new-instance v0, Ljava/lang/UnsupportedOperationException;

    const-string/jumbo v1, "u can\'t instantiate me..."

    invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V

    throw v0
.end method

.method public static add([BB)[B
    .registers 4
    .param p0, "array"    # [B
    .param p1, "element"    # B

    .line 495
    invoke-static {p1}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;

    move-result-object v0

    sget-object v1, Ljava/lang/Byte;->TYPE:Ljava/lang/Class;

    invoke-static {p0, v0, v1}, Lcom/blankj/utilcode/util/ArrayUtils;->realAddOne(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [B

    check-cast v0, [B

    return-object v0
.end method

.method public static add([BIB)[B
    .registers 5
    .param p0, "array"    # [B
    .param p1, "index"    # I
    .param p2, "element"    # B

    .line 760
    invoke-static {p2}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;

    move-result-object v0

    sget-object v1, Ljava/lang/Byte;->TYPE:Ljava/lang/Class;

    invoke-static {p0, p1, v0, v1}, Lcom/blankj/utilcode/util/ArrayUtils;->realAdd(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [B

    check-cast v0, [B

    return-object v0
.end method

.method public static add([BI[B)[B
    .registers 4
    .param p0, "array1"    # [B
    .param p1, "index"    # I
    .param p2, "array2"    # [B

    .line 657
    sget-object v0, Ljava/lang/Byte;->TYPE:Ljava/lang/Class;

    invoke-static {p0, p1, p2, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->realAddArr(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [B

    check-cast v0, [B

    return-object v0
.end method

.method public static add([B[B)[B
    .registers 3
    .param p0, "array1"    # [B
    .param p1, "array2"    # [B

    .line 569
    invoke-static {p0, p1}, Lcom/blankj/utilcode/util/ArrayUtils;->realAddArr(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [B

    check-cast v0, [B

    return-object v0
.end method

.method public static add([CC)[C
    .registers 4
    .param p0, "array"    # [C
    .param p1, "element"    # C

    .line 499
    invoke-static {p1}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character;

    move-result-object v0

    sget-object v1, Ljava/lang/Character;->TYPE:Ljava/lang/Class;

    invoke-static {p0, v0, v1}, Lcom/blankj/utilcode/util/ArrayUtils;->realAddOne(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [C

    check-cast v0, [C

    return-object v0
.end method

.method public static add([CIC)[C
    .registers 5
    .param p0, "array"    # [C
    .param p1, "index"    # I
    .param p2, "element"    # C

    .line 756
    invoke-static {p2}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character;

    move-result-object v0

    sget-object v1, Ljava/lang/Character;->TYPE:Ljava/lang/Class;

    invoke-static {p0, p1, v0, v1}, Lcom/blankj/utilcode/util/ArrayUtils;->realAdd(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [C

    check-cast v0, [C

    return-object v0
.end method

.method public static add([CI[C)[C
    .registers 4
    .param p0, "array1"    # [C
    .param p1, "index"    # I
    .param p2, "array2"    # [C

    .line 653
    sget-object v0, Ljava/lang/Character;->TYPE:Ljava/lang/Class;

    invoke-static {p0, p1, p2, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->realAddArr(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [C

    check-cast v0, [C

    return-object v0
.end method

.method public static add([C[C)[C
    .registers 3
    .param p0, "array1"    # [C
    .param p1, "array2"    # [C

    .line 565
    invoke-static {p0, p1}, Lcom/blankj/utilcode/util/ArrayUtils;->realAddArr(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [C

    check-cast v0, [C

    return-object v0
.end method

.method public static add([DD)[D
    .registers 5
    .param p0, "array"    # [D
    .param p1, "element"    # D

    .line 503
    invoke-static {p1, p2}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;

    move-result-object v0

    sget-object v1, Ljava/lang/Double;->TYPE:Ljava/lang/Class;

    invoke-static {p0, v0, v1}, Lcom/blankj/utilcode/util/ArrayUtils;->realAddOne(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [D

    check-cast v0, [D

    return-object v0
.end method

.method public static add([DID)[D
    .registers 6
    .param p0, "array"    # [D
    .param p1, "index"    # I
    .param p2, "element"    # D

    .line 780
    invoke-static {p2, p3}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;

    move-result-object v0

    sget-object v1, Ljava/lang/Double;->TYPE:Ljava/lang/Class;

    invoke-static {p0, p1, v0, v1}, Lcom/blankj/utilcode/util/ArrayUtils;->realAdd(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [D

    check-cast v0, [D

    return-object v0
.end method

.method public static add([DI[D)[D
    .registers 4
    .param p0, "array1"    # [D
    .param p1, "index"    # I
    .param p2, "array2"    # [D

    .line 677
    sget-object v0, Ljava/lang/Double;->TYPE:Ljava/lang/Class;

    invoke-static {p0, p1, p2, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->realAddArr(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [D

    check-cast v0, [D

    return-object v0
.end method

.method public static add([D[D)[D
    .registers 3
    .param p0, "array1"    # [D
    .param p1, "array2"    # [D

    .line 589
    invoke-static {p0, p1}, Lcom/blankj/utilcode/util/ArrayUtils;->realAddArr(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [D

    check-cast v0, [D

    return-object v0
.end method

.method public static add([FF)[F
    .registers 4
    .param p0, "array"    # [F
    .param p1, "element"    # F

    .line 507
    invoke-static {p1}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;

    move-result-object v0

    sget-object v1, Ljava/lang/Float;->TYPE:Ljava/lang/Class;

    invoke-static {p0, v0, v1}, Lcom/blankj/utilcode/util/ArrayUtils;->realAddOne(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [F

    check-cast v0, [F

    return-object v0
.end method

.method public static add([FIF)[F
    .registers 5
    .param p0, "array"    # [F
    .param p1, "index"    # I
    .param p2, "element"    # F

    .line 776
    invoke-static {p2}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;

    move-result-object v0

    sget-object v1, Ljava/lang/Float;->TYPE:Ljava/lang/Class;

    invoke-static {p0, p1, v0, v1}, Lcom/blankj/utilcode/util/ArrayUtils;->realAdd(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [F

    check-cast v0, [F

    return-object v0
.end method

.method public static add([FI[F)[F
    .registers 4
    .param p0, "array1"    # [F
    .param p1, "index"    # I
    .param p2, "array2"    # [F

    .line 673
    sget-object v0, Ljava/lang/Float;->TYPE:Ljava/lang/Class;

    invoke-static {p0, p1, p2, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->realAddArr(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [F

    check-cast v0, [F

    return-object v0
.end method

.method public static add([F[F)[F
    .registers 3
    .param p0, "array1"    # [F
    .param p1, "array2"    # [F

    .line 585
    invoke-static {p0, p1}, Lcom/blankj/utilcode/util/ArrayUtils;->realAddArr(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [F

    check-cast v0, [F

    return-object v0
.end method

.method public static add([II)[I
    .registers 4
    .param p0, "array"    # [I
    .param p1, "element"    # I

    .line 511
    invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v0

    sget-object v1, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;

    invoke-static {p0, v0, v1}, Lcom/blankj/utilcode/util/ArrayUtils;->realAddOne(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [I

    check-cast v0, [I

    return-object v0
.end method

.method public static add([III)[I
    .registers 5
    .param p0, "array"    # [I
    .param p1, "index"    # I
    .param p2, "element"    # I

    .line 768
    invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v0

    sget-object v1, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;

    invoke-static {p0, p1, v0, v1}, Lcom/blankj/utilcode/util/ArrayUtils;->realAdd(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [I

    check-cast v0, [I

    return-object v0
.end method

.method public static add([II[I)[I
    .registers 4
    .param p0, "array1"    # [I
    .param p1, "index"    # I
    .param p2, "array2"    # [I

    .line 665
    sget-object v0, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;

    invoke-static {p0, p1, p2, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->realAddArr(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [I

    check-cast v0, [I

    return-object v0
.end method

.method public static add([I[I)[I
    .registers 3
    .param p0, "array1"    # [I
    .param p1, "array2"    # [I

    .line 577
    invoke-static {p0, p1}, Lcom/blankj/utilcode/util/ArrayUtils;->realAddArr(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [I

    check-cast v0, [I

    return-object v0
.end method

.method public static add([JIJ)[J
    .registers 6
    .param p0, "array"    # [J
    .param p1, "index"    # I
    .param p2, "element"    # J

    .line 772
    invoke-static {p2, p3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;

    move-result-object v0

    sget-object v1, Ljava/lang/Long;->TYPE:Ljava/lang/Class;

    invoke-static {p0, p1, v0, v1}, Lcom/blankj/utilcode/util/ArrayUtils;->realAdd(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [J

    check-cast v0, [J

    return-object v0
.end method

.method public static add([JI[J)[J
    .registers 4
    .param p0, "array1"    # [J
    .param p1, "index"    # I
    .param p2, "array2"    # [J

    .line 669
    sget-object v0, Ljava/lang/Long;->TYPE:Ljava/lang/Class;

    invoke-static {p0, p1, p2, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->realAddArr(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [J

    check-cast v0, [J

    return-object v0
.end method

.method public static add([JJ)[J
    .registers 5
    .param p0, "array"    # [J
    .param p1, "element"    # J

    .line 515
    invoke-static {p1, p2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;

    move-result-object v0

    sget-object v1, Ljava/lang/Long;->TYPE:Ljava/lang/Class;

    invoke-static {p0, v0, v1}, Lcom/blankj/utilcode/util/ArrayUtils;->realAddOne(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [J

    check-cast v0, [J

    return-object v0
.end method

.method public static add([J[J)[J
    .registers 3
    .param p0, "array1"    # [J
    .param p1, "array2"    # [J

    .line 581
    invoke-static {p0, p1}, Lcom/blankj/utilcode/util/ArrayUtils;->realAddArr(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [J

    check-cast v0, [J

    return-object v0
.end method

.method public static add([Ljava/lang/Object;ILjava/lang/Object;)[Ljava/lang/Object;
    .registers 6
    .param p1, "index"    # I
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<T:",
            "Ljava/lang/Object;",
            ">([TT;ITT;)[TT;"
        }
    .end annotation

    .line 741
    .local p0, "array":[Ljava/lang/Object;, "[TT;"
    .local p2, "element":Ljava/lang/Object;, "TT;"
    if-eqz p0, :cond_b

    .line 742
    invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/Class;->getComponentType()Ljava/lang/Class;

    move-result-object v0

    .local v0, "clss":Ljava/lang/Class;
    goto :goto_11

    .line 743
    .end local v0    # "clss":Ljava/lang/Class;
    :cond_b
    if-eqz p2, :cond_1a

    .line 744
    invoke-virtual {p2}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v0

    .line 748
    .restart local v0    # "clss":Ljava/lang/Class;
    :goto_11
    invoke-static {p0, p1, p2, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->realAdd(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, [Ljava/lang/Object;

    check-cast v1, [Ljava/lang/Object;

    return-object v1

    .line 746
    .end local v0    # "clss":Ljava/lang/Class;
    :cond_1a
    const/4 v0, 0x1

    new-array v0, v0, [Ljava/lang/Object;

    const/4 v1, 0x0

    const/4 v2, 0x0

    aput-object v2, v0, v1

    check-cast v0, [Ljava/lang/Object;

    return-object v0
.end method

.method public static add([Ljava/lang/Object;I[Ljava/lang/Object;)[Ljava/lang/Object;
    .registers 6
    .param p1, "index"    # I
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<T:",
            "Ljava/lang/Object;",
            ">([TT;I[TT;)[TT;"
        }
    .end annotation

    .line 638
    .local p0, "array1":[Ljava/lang/Object;, "[TT;"
    .local p2, "array2":[Ljava/lang/Object;, "[TT;"
    if-eqz p0, :cond_b

    .line 639
    invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/Class;->getComponentType()Ljava/lang/Class;

    move-result-object v0

    .local v0, "clss":Ljava/lang/Class;
    goto :goto_15

    .line 640
    .end local v0    # "clss":Ljava/lang/Class;
    :cond_b
    if-eqz p2, :cond_1e

    .line 641
    invoke-virtual {p2}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/Class;->getComponentType()Ljava/lang/Class;

    move-result-object v0

    .line 645
    .restart local v0    # "clss":Ljava/lang/Class;
    :goto_15
    invoke-static {p0, p1, p2, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->realAddArr(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, [Ljava/lang/Object;

    check-cast v1, [Ljava/lang/Object;

    return-object v1

    .line 643
    .end local v0    # "clss":Ljava/lang/Class;
    :cond_1e
    const/4 v0, 0x1

    new-array v0, v0, [Ljava/lang/Object;

    const/4 v1, 0x0

    const/4 v2, 0x0

    aput-object v2, v0, v1

    check-cast v0, [Ljava/lang/Object;

    return-object v0
.end method

.method public static add([Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
    .registers 4
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<T:",
            "Ljava/lang/Object;",
            ">([TT;TT;)[TT;"
        }
    .end annotation

    .line 486
    .local p0, "array":[Ljava/lang/Object;, "[TT;"
    .local p1, "element":Ljava/lang/Object;, "TT;"
    if-eqz p0, :cond_7

    invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v0

    goto :goto_10

    :cond_7
    if-eqz p1, :cond_e

    invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v0

    goto :goto_10

    :cond_e
    const-class v0, Ljava/lang/Object;

    .line 487
    .local v0, "type":Ljava/lang/Class;
    :goto_10
    invoke-static {p0, p1, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->realAddOne(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, [Ljava/lang/Object;

    check-cast v1, [Ljava/lang/Object;

    return-object v1
.end method

.method public static add([Ljava/lang/Object;[Ljava/lang/Object;)[Ljava/lang/Object;
    .registers 3
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<T:",
            "Ljava/lang/Object;",
            ">([TT;[TT;)[TT;"
        }
    .end annotation

    .line 557
    .local p0, "array1":[Ljava/lang/Object;, "[TT;"
    .local p1, "array2":[Ljava/lang/Object;, "[TT;"
    invoke-static {p0, p1}, Lcom/blankj/utilcode/util/ArrayUtils;->realAddArr(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [Ljava/lang/Object;

    check-cast v0, [Ljava/lang/Object;

    return-object v0
.end method

.method public static add([SIS)[S
    .registers 5
    .param p0, "array"    # [S
    .param p1, "index"    # I
    .param p2, "element"    # S

    .line 764
    invoke-static {p2}, Ljava/lang/Short;->valueOf(S)Ljava/lang/Short;

    move-result-object v0

    sget-object v1, Ljava/lang/Short;->TYPE:Ljava/lang/Class;

    invoke-static {p0, p1, v0, v1}, Lcom/blankj/utilcode/util/ArrayUtils;->realAdd(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [S

    check-cast v0, [S

    return-object v0
.end method

.method public static add([SI[S)[S
    .registers 4
    .param p0, "array1"    # [S
    .param p1, "index"    # I
    .param p2, "array2"    # [S

    .line 661
    sget-object v0, Ljava/lang/Short;->TYPE:Ljava/lang/Class;

    invoke-static {p0, p1, p2, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->realAddArr(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [S

    check-cast v0, [S

    return-object v0
.end method

.method public static add([SS)[S
    .registers 4
    .param p0, "array"    # [S
    .param p1, "element"    # S

    .line 519
    invoke-static {p1}, Ljava/lang/Short;->valueOf(S)Ljava/lang/Short;

    move-result-object v0

    sget-object v1, Ljava/lang/Short;->TYPE:Ljava/lang/Class;

    invoke-static {p0, v0, v1}, Lcom/blankj/utilcode/util/ArrayUtils;->realAddOne(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [S

    check-cast v0, [S

    return-object v0
.end method

.method public static add([S[S)[S
    .registers 3
    .param p0, "array1"    # [S
    .param p1, "array2"    # [S

    .line 573
    invoke-static {p0, p1}, Lcom/blankj/utilcode/util/ArrayUtils;->realAddArr(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [S

    check-cast v0, [S

    return-object v0
.end method

.method public static add([ZIZ)[Z
    .registers 5
    .param p0, "array"    # [Z
    .param p1, "index"    # I
    .param p2, "element"    # Z

    .line 752
    invoke-static {p2}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object v0

    sget-object v1, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;

    invoke-static {p0, p1, v0, v1}, Lcom/blankj/utilcode/util/ArrayUtils;->realAdd(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [Z

    check-cast v0, [Z

    return-object v0
.end method

.method public static add([ZI[Z)[Z
    .registers 4
    .param p0, "array1"    # [Z
    .param p1, "index"    # I
    .param p2, "array2"    # [Z

    .line 649
    sget-object v0, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;

    invoke-static {p0, p1, p2, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->realAddArr(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [Z

    check-cast v0, [Z

    return-object v0
.end method

.method public static add([ZZ)[Z
    .registers 4
    .param p0, "array"    # [Z
    .param p1, "element"    # Z

    .line 491
    invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

    move-result-object v0

    sget-object v1, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;

    invoke-static {p0, v0, v1}, Lcom/blankj/utilcode/util/ArrayUtils;->realAddOne(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [Z

    check-cast v0, [Z

    return-object v0
.end method

.method public static add([Z[Z)[Z
    .registers 3
    .param p0, "array1"    # [Z
    .param p1, "array2"    # [Z

    .line 561
    invoke-static {p0, p1}, Lcom/blankj/utilcode/util/ArrayUtils;->realAddArr(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [Z

    check-cast v0, [Z

    return-object v0
.end method

.method public static varargs asArrayList([Ljava/lang/Object;)Ljava/util/List;
    .registers 3
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<T:",
            "Ljava/lang/Object;",
            ">([TT;)",
            "Ljava/util/List<",
            "TT;>;"
        }
    .end annotation

    .line 1845
    .local p0, "array":[Ljava/lang/Object;, "[TT;"
    new-instance v0, Ljava/util/ArrayList;

    invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V

    .line 1846
    .local v0, "list":Ljava/util/List;, "Ljava/util/List<TT;>;"
    if-eqz p0, :cond_13

    array-length v1, p0

    if-nez v1, :cond_b

    goto :goto_13

    .line 1847
    :cond_b
    invoke-static {p0}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;

    move-result-object v1

    invoke-interface {v0, v1}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z

    .line 1848
    return-object v0

    .line 1846
    :cond_13
    :goto_13
    return-object v0
.end method

.method public static varargs asLinkedList([Ljava/lang/Object;)Ljava/util/List;
    .registers 3
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<T:",
            "Ljava/lang/Object;",
            ">([TT;)",
            "Ljava/util/List<",
            "TT;>;"
        }
    .end annotation

    .line 1852
    .local p0, "array":[Ljava/lang/Object;, "[TT;"
    new-instance v0, Ljava/util/LinkedList;

    invoke-direct {v0}, Ljava/util/LinkedList;-><init>()V

    .line 1853
    .local v0, "list":Ljava/util/List;, "Ljava/util/List<TT;>;"
    if-eqz p0, :cond_13

    array-length v1, p0

    if-nez v1, :cond_b

    goto :goto_13

    .line 1854
    :cond_b
    invoke-static {p0}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;

    move-result-object v1

    invoke-interface {v0, v1}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z

    .line 1855
    return-object v0

    .line 1853
    :cond_13
    :goto_13
    return-object v0
.end method

.method public static varargs asList([Ljava/lang/Object;)Ljava/util/List;
    .registers 2
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<T:",
            "Ljava/lang/Object;",
            ">([TT;)",
            "Ljava/util/List<",
            "TT;>;"
        }
    .end annotation

    .line 1834
    .local p0, "array":[Ljava/lang/Object;, "[TT;"
    if-eqz p0, :cond_b

    array-length v0, p0

    if-nez v0, :cond_6

    goto :goto_b

    .line 1837
    :cond_6
    invoke-static {p0}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;

    move-result-object v0

    return-object v0

    .line 1835
    :cond_b
    :goto_b
    invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;

    move-result-object v0

    return-object v0
.end method

.method public static varargs asUnmodifiableList([Ljava/lang/Object;)Ljava/util/List;
    .registers 2
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<T:",
            "Ljava/lang/Object;",
            ">([TT;)",
            "Ljava/util/List<",
            "TT;>;"
        }
    .end annotation

    .line 1841
    .local p0, "array":[Ljava/lang/Object;, "[TT;"
    invoke-static {p0}, Lcom/blankj/utilcode/util/ArrayUtils;->asList([Ljava/lang/Object;)Ljava/util/List;

    move-result-object v0

    invoke-static {v0}, Ljava/util/Collections;->unmodifiableList(Ljava/util/List;)Ljava/util/List;

    move-result-object v0

    return-object v0
.end method

.method public static contains([BB)Z
    .registers 4
    .param p0, "array"    # [B
    .param p1, "valueToFind"    # B

    .line 1286
    invoke-static {p0, p1}, Lcom/blankj/utilcode/util/ArrayUtils;->indexOf([BB)I

    move-result v0

    const/4 v1, -0x1

    if-eq v0, v1, :cond_9

    const/4 v0, 0x1

    goto :goto_a

    :cond_9
    const/4 v0, 0x0

    :goto_a
    return v0
.end method

.method public static contains([CC)Z
    .registers 4
    .param p0, "array"    # [C
    .param p1, "valueToFind"    # C

    .line 1238
    invoke-static {p0, p1}, Lcom/blankj/utilcode/util/ArrayUtils;->indexOf([CC)I

    move-result v0

    const/4 v1, -0x1

    if-eq v0, v1, :cond_9

    const/4 v0, 0x1

    goto :goto_a

    :cond_9
    const/4 v0, 0x0

    :goto_a
    return v0
.end method

.method public static contains([DD)Z
    .registers 5
    .param p0, "array"    # [D
    .param p1, "valueToFind"    # D

    .line 1378
    invoke-static {p0, p1, p2}, Lcom/blankj/utilcode/util/ArrayUtils;->indexOf([DD)I

    move-result v0

    const/4 v1, -0x1

    if-eq v0, v1, :cond_9

    const/4 v0, 0x1

    goto :goto_a

    :cond_9
    const/4 v0, 0x0

    :goto_a
    return v0
.end method

.method public static contains([DDD)Z
    .registers 11
    .param p0, "array"    # [D
    .param p1, "valueToFind"    # D
    .param p3, "tolerance"    # D

    .line 1382
    const/4 v3, 0x0

    move-object v0, p0

    move-wide v1, p1

    move-wide v4, p3

    invoke-static/range {v0 .. v5}, Lcom/blankj/utilcode/util/ArrayUtils;->indexOf([DDID)I

    move-result v0

    const/4 v1, -0x1

    if-eq v0, v1, :cond_d

    const/4 v0, 0x1

    goto :goto_e

    :cond_d
    const/4 v0, 0x0

    :goto_e
    return v0
.end method

.method public static contains([FF)Z
    .registers 4
    .param p0, "array"    # [F
    .param p1, "valueToFind"    # F

    .line 1430
    invoke-static {p0, p1}, Lcom/blankj/utilcode/util/ArrayUtils;->indexOf([FF)I

    move-result v0

    const/4 v1, -0x1

    if-eq v0, v1, :cond_9

    const/4 v0, 0x1

    goto :goto_a

    :cond_9
    const/4 v0, 0x0

    :goto_a
    return v0
.end method

.method public static contains([II)Z
    .registers 4
    .param p0, "array"    # [I
    .param p1, "valueToFind"    # I

    .line 1142
    invoke-static {p0, p1}, Lcom/blankj/utilcode/util/ArrayUtils;->indexOf([II)I

    move-result v0

    const/4 v1, -0x1

    if-eq v0, v1, :cond_9

    const/4 v0, 0x1

    goto :goto_a

    :cond_9
    const/4 v0, 0x0

    :goto_a
    return v0
.end method

.method public static contains([JJ)Z
    .registers 5
    .param p0, "array"    # [J
    .param p1, "valueToFind"    # J

    .line 1094
    invoke-static {p0, p1, p2}, Lcom/blankj/utilcode/util/ArrayUtils;->indexOf([JJ)I

    move-result v0

    const/4 v1, -0x1

    if-eq v0, v1, :cond_9

    const/4 v0, 0x1

    goto :goto_a

    :cond_9
    const/4 v0, 0x0

    :goto_a
    return v0
.end method

.method public static contains([Ljava/lang/Object;Ljava/lang/Object;)Z
    .registers 4
    .param p0, "array"    # [Ljava/lang/Object;
    .param p1, "objectToFind"    # Ljava/lang/Object;

    .line 1046
    invoke-static {p0, p1}, Lcom/blankj/utilcode/util/ArrayUtils;->indexOf([Ljava/lang/Object;Ljava/lang/Object;)I

    move-result v0

    const/4 v1, -0x1

    if-eq v0, v1, :cond_9

    const/4 v0, 0x1

    goto :goto_a

    :cond_9
    const/4 v0, 0x0

    :goto_a
    return v0
.end method

.method public static contains([SS)Z
    .registers 4
    .param p0, "array"    # [S
    .param p1, "valueToFind"    # S

    .line 1190
    invoke-static {p0, p1}, Lcom/blankj/utilcode/util/ArrayUtils;->indexOf([SS)I

    move-result v0

    const/4 v1, -0x1

    if-eq v0, v1, :cond_9

    const/4 v0, 0x1

    goto :goto_a

    :cond_9
    const/4 v0, 0x0

    :goto_a
    return v0
.end method

.method public static contains([ZZ)Z
    .registers 4
    .param p0, "array"    # [Z
    .param p1, "valueToFind"    # Z

    .line 1478
    invoke-static {p0, p1}, Lcom/blankj/utilcode/util/ArrayUtils;->indexOf([ZZ)I

    move-result v0

    const/4 v1, -0x1

    if-eq v0, v1, :cond_9

    const/4 v0, 0x1

    goto :goto_a

    :cond_9
    const/4 v0, 0x0

    :goto_a
    return v0
.end method

.method public static copy([B)[B
    .registers 3
    .param p0, "array"    # [B

    .line 373
    if-nez p0, :cond_4

    const/4 v0, 0x0

    return-object v0

    .line 374
    :cond_4
    const/4 v0, 0x0

    array-length v1, p0

    invoke-static {p0, v0, v1}, Lcom/blankj/utilcode/util/ArrayUtils;->subArray([BII)[B

    move-result-object v0

    return-object v0
.end method

.method public static copy([C)[C
    .registers 3
    .param p0, "array"    # [C

    .line 368
    if-nez p0, :cond_4

    const/4 v0, 0x0

    return-object v0

    .line 369
    :cond_4
    const/4 v0, 0x0

    array-length v1, p0

    invoke-static {p0, v0, v1}, Lcom/blankj/utilcode/util/ArrayUtils;->subArray([CII)[C

    move-result-object v0

    return-object v0
.end method

.method public static copy([D)[D
    .registers 3
    .param p0, "array"    # [D

    .line 378
    if-nez p0, :cond_4

    const/4 v0, 0x0

    return-object v0

    .line 379
    :cond_4
    const/4 v0, 0x0

    array-length v1, p0

    invoke-static {p0, v0, v1}, Lcom/blankj/utilcode/util/ArrayUtils;->subArray([DII)[D

    move-result-object v0

    return-object v0
.end method

.method public static copy([F)[F
    .registers 3
    .param p0, "array"    # [F

    .line 383
    if-nez p0, :cond_4

    const/4 v0, 0x0

    return-object v0

    .line 384
    :cond_4
    const/4 v0, 0x0

    array-length v1, p0

    invoke-static {p0, v0, v1}, Lcom/blankj/utilcode/util/ArrayUtils;->subArray([FII)[F

    move-result-object v0

    return-object v0
.end method

.method public static copy([I)[I
    .registers 3
    .param p0, "array"    # [I

    .line 358
    if-nez p0, :cond_4

    const/4 v0, 0x0

    return-object v0

    .line 359
    :cond_4
    const/4 v0, 0x0

    array-length v1, p0

    invoke-static {p0, v0, v1}, Lcom/blankj/utilcode/util/ArrayUtils;->subArray([III)[I

    move-result-object v0

    return-object v0
.end method

.method public static copy([J)[J
    .registers 3
    .param p0, "array"    # [J

    .line 353
    if-nez p0, :cond_4

    const/4 v0, 0x0

    return-object v0

    .line 354
    :cond_4
    const/4 v0, 0x0

    array-length v1, p0

    invoke-static {p0, v0, v1}, Lcom/blankj/utilcode/util/ArrayUtils;->subArray([JII)[J

    move-result-object v0

    return-object v0
.end method

.method public static copy([Ljava/lang/Object;)[Ljava/lang/Object;
    .registers 3
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<T:",
            "Ljava/lang/Object;",
            ">([TT;)[TT;"
        }
    .end annotation

    .line 348
    .local p0, "array":[Ljava/lang/Object;, "[TT;"
    if-nez p0, :cond_4

    const/4 v0, 0x0

    return-object v0

    .line 349
    :cond_4
    const/4 v0, 0x0

    array-length v1, p0

    invoke-static {p0, v0, v1}, Lcom/blankj/utilcode/util/ArrayUtils;->subArray([Ljava/lang/Object;II)[Ljava/lang/Object;

    move-result-object v0

    return-object v0
.end method

.method public static copy([S)[S
    .registers 3
    .param p0, "array"    # [S

    .line 363
    if-nez p0, :cond_4

    const/4 v0, 0x0

    return-object v0

    .line 364
    :cond_4
    const/4 v0, 0x0

    array-length v1, p0

    invoke-static {p0, v0, v1}, Lcom/blankj/utilcode/util/ArrayUtils;->subArray([SII)[S

    move-result-object v0

    return-object v0
.end method

.method public static copy([Z)[Z
    .registers 3
    .param p0, "array"    # [Z

    .line 388
    if-nez p0, :cond_4

    const/4 v0, 0x0

    return-object v0

    .line 389
    :cond_4
    const/4 v0, 0x0

    array-length v1, p0

    invoke-static {p0, v0, v1}, Lcom/blankj/utilcode/util/ArrayUtils;->subArray([ZII)[Z

    move-result-object v0

    return-object v0
.end method

.method public static equals([B[B)Z
    .registers 3
    .param p0, "a"    # [B
    .param p1, "a2"    # [B

    .line 151
    invoke-static {p0, p1}, Ljava/util/Arrays;->equals([B[B)Z

    move-result v0

    return v0
.end method

.method public static equals([C[C)Z
    .registers 3
    .param p0, "a"    # [C
    .param p1, "a2"    # [C

    .line 155
    invoke-static {p0, p1}, Ljava/util/Arrays;->equals([C[C)Z

    move-result v0

    return v0
.end method

.method public static equals([D[D)Z
    .registers 3
    .param p0, "a"    # [D
    .param p1, "a2"    # [D

    .line 159
    invoke-static {p0, p1}, Ljava/util/Arrays;->equals([D[D)Z

    move-result v0

    return v0
.end method

.method public static equals([F[F)Z
    .registers 3
    .param p0, "a"    # [F
    .param p1, "a2"    # [F

    .line 163
    invoke-static {p0, p1}, Ljava/util/Arrays;->equals([F[F)Z

    move-result v0

    return v0
.end method

.method public static equals([I[I)Z
    .registers 3
    .param p0, "a"    # [I
    .param p1, "a2"    # [I

    .line 167
    invoke-static {p0, p1}, Ljava/util/Arrays;->equals([I[I)Z

    move-result v0

    return v0
.end method

.method public static equals([Ljava/lang/Object;[Ljava/lang/Object;)Z
    .registers 3
    .param p0, "a"    # [Ljava/lang/Object;
    .param p1, "a2"    # [Ljava/lang/Object;

    .line 143
    invoke-static {p0, p1}, Ljava/util/Arrays;->deepEquals([Ljava/lang/Object;[Ljava/lang/Object;)Z

    move-result v0

    return v0
.end method

.method public static equals([S[S)Z
    .registers 3
    .param p0, "a"    # [S
    .param p1, "a2"    # [S

    .line 171
    invoke-static {p0, p1}, Ljava/util/Arrays;->equals([S[S)Z

    move-result v0

    return v0
.end method

.method public static equals([Z[Z)Z
    .registers 3
    .param p0, "a"    # [Z
    .param p1, "a2"    # [Z

    .line 147
    invoke-static {p0, p1}, Ljava/util/Arrays;->equals([Z[Z)Z

    move-result v0

    return v0
.end method

.method public static forAllDo(Ljava/lang/Object;Lcom/blankj/utilcode/util/ArrayUtils$Closure;)V
    .registers 8
    .param p0, "array"    # Ljava/lang/Object;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<E:",
            "Ljava/lang/Object;",
            ">(",
            "Ljava/lang/Object;",
            "Lcom/blankj/utilcode/util/ArrayUtils$Closure<",
            "TE;>;)V"
        }
    .end annotation

    .line 1907
    .local p1, "closure":Lcom/blankj/utilcode/util/ArrayUtils$Closure;, "Lcom/blankj/utilcode/util/ArrayUtils$Closure<TE;>;"
    if-eqz p0, :cond_110

    if-nez p1, :cond_6

    goto/16 :goto_110

    .line 1908
    :cond_6
    instance-of v0, p0, [Ljava/lang/Object;

    if-eqz v0, :cond_1d

    .line 1909
    move-object v0, p0

    check-cast v0, [Ljava/lang/Object;

    check-cast v0, [Ljava/lang/Object;

    .line 1910
    .local v0, "objects":[Ljava/lang/Object;
    const/4 v1, 0x0

    .local v1, "i":I
    array-length v2, v0

    .local v2, "length":I
    :goto_11
    if-ge v1, v2, :cond_1b

    .line 1911
    aget-object v3, v0, v1

    .line 1912
    .local v3, "ele":Ljava/lang/Object;
    invoke-interface {p1, v1, v3}, Lcom/blankj/utilcode/util/ArrayUtils$Closure;->execute(ILjava/lang/Object;)V

    .line 1910
    .end local v3    # "ele":Ljava/lang/Object;
    add-int/lit8 v1, v1, 0x1

    goto :goto_11

    .line 1914
    .end local v0    # "objects":[Ljava/lang/Object;
    .end local v1    # "i":I
    .end local v2    # "length":I
    :cond_1b
    goto/16 :goto_f4

    :cond_1d
    instance-of v0, p0, [Z

    if-eqz v0, :cond_3b

    .line 1915
    move-object v0, p0

    check-cast v0, [Z

    check-cast v0, [Z

    .line 1916
    .local v0, "booleans":[Z
    const/4 v1, 0x0

    .restart local v1    # "i":I
    array-length v2, v0

    .restart local v2    # "length":I
    :goto_28
    if-ge v1, v2, :cond_39

    .line 1917
    aget-boolean v3, v0, v1

    .line 1918
    .local v3, "ele":Z
    if-eqz v3, :cond_31

    sget-object v4, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;

    goto :goto_33

    :cond_31
    sget-object v4, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean;

    :goto_33
    invoke-interface {p1, v1, v4}, Lcom/blankj/utilcode/util/ArrayUtils$Closure;->execute(ILjava/lang/Object;)V

    .line 1916
    .end local v3    # "ele":Z
    add-int/lit8 v1, v1, 0x1

    goto :goto_28

    .line 1920
    .end local v0    # "booleans":[Z
    .end local v1    # "i":I
    .end local v2    # "length":I
    :cond_39
    goto/16 :goto_f4

    :cond_3b
    instance-of v0, p0, [B

    if-eqz v0, :cond_56

    .line 1921
    move-object v0, p0

    check-cast v0, [B

    check-cast v0, [B

    .line 1922
    .local v0, "bytes":[B
    const/4 v1, 0x0

    .restart local v1    # "i":I
    array-length v2, v0

    .restart local v2    # "length":I
    :goto_46
    if-ge v1, v2, :cond_54

    .line 1923
    aget-byte v3, v0, v1

    .line 1924
    .local v3, "ele":B
    invoke-static {v3}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;

    move-result-object v4

    invoke-interface {p1, v1, v4}, Lcom/blankj/utilcode/util/ArrayUtils$Closure;->execute(ILjava/lang/Object;)V

    .line 1922
    .end local v3    # "ele":B
    add-int/lit8 v1, v1, 0x1

    goto :goto_46

    .line 1926
    .end local v0    # "bytes":[B
    .end local v1    # "i":I
    .end local v2    # "length":I
    :cond_54
    goto/16 :goto_f4

    :cond_56
    instance-of v0, p0, [C

    if-eqz v0, :cond_71

    .line 1927
    move-object v0, p0

    check-cast v0, [C

    check-cast v0, [C

    .line 1928
    .local v0, "chars":[C
    const/4 v1, 0x0

    .restart local v1    # "i":I
    array-length v2, v0

    .restart local v2    # "length":I
    :goto_61
    if-ge v1, v2, :cond_6f

    .line 1929
    aget-char v3, v0, v1

    .line 1930
    .local v3, "ele":C
    invoke-static {v3}, Ljava/lang/Character;->valueOf(C)Ljava/lang/Character;

    move-result-object v4

    invoke-interface {p1, v1, v4}, Lcom/blankj/utilcode/util/ArrayUtils$Closure;->execute(ILjava/lang/Object;)V

    .line 1928
    .end local v3    # "ele":C
    add-int/lit8 v1, v1, 0x1

    goto :goto_61

    .line 1932
    .end local v0    # "chars":[C
    .end local v1    # "i":I
    .end local v2    # "length":I
    :cond_6f
    goto/16 :goto_f4

    :cond_71
    instance-of v0, p0, [S

    if-eqz v0, :cond_8c

    .line 1933
    move-object v0, p0

    check-cast v0, [S

    check-cast v0, [S

    .line 1934
    .local v0, "shorts":[S
    const/4 v1, 0x0

    .restart local v1    # "i":I
    array-length v2, v0

    .restart local v2    # "length":I
    :goto_7c
    if-ge v1, v2, :cond_8a

    .line 1935
    aget-short v3, v0, v1

    .line 1936
    .local v3, "ele":S
    invoke-static {v3}, Ljava/lang/Short;->valueOf(S)Ljava/lang/Short;

    move-result-object v4

    invoke-interface {p1, v1, v4}, Lcom/blankj/utilcode/util/ArrayUtils$Closure;->execute(ILjava/lang/Object;)V

    .line 1934
    .end local v3    # "ele":S
    add-int/lit8 v1, v1, 0x1

    goto :goto_7c

    .line 1938
    .end local v0    # "shorts":[S
    .end local v1    # "i":I
    .end local v2    # "length":I
    :cond_8a
    goto/16 :goto_f4

    :cond_8c
    instance-of v0, p0, [I

    if-eqz v0, :cond_a6

    .line 1939
    move-object v0, p0

    check-cast v0, [I

    check-cast v0, [I

    .line 1940
    .local v0, "ints":[I
    const/4 v1, 0x0

    .restart local v1    # "i":I
    array-length v2, v0

    .restart local v2    # "length":I
    :goto_97
    if-ge v1, v2, :cond_a5

    .line 1941
    aget v3, v0, v1

    .line 1942
    .local v3, "ele":I
    invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v4

    invoke-interface {p1, v1, v4}, Lcom/blankj/utilcode/util/ArrayUtils$Closure;->execute(ILjava/lang/Object;)V

    .line 1940
    .end local v3    # "ele":I
    add-int/lit8 v1, v1, 0x1

    goto :goto_97

    .line 1944
    .end local v0    # "ints":[I
    .end local v1    # "i":I
    .end local v2    # "length":I
    :cond_a5
    goto :goto_f4

    :cond_a6
    instance-of v0, p0, [J

    if-eqz v0, :cond_c0

    .line 1945
    move-object v0, p0

    check-cast v0, [J

    check-cast v0, [J

    .line 1946
    .local v0, "longs":[J
    const/4 v1, 0x0

    .restart local v1    # "i":I
    array-length v2, v0

    .restart local v2    # "length":I
    :goto_b1
    if-ge v1, v2, :cond_bf

    .line 1947
    aget-wide v3, v0, v1

    .line 1948
    .local v3, "ele":J
    invoke-static {v3, v4}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;

    move-result-object v5

    invoke-interface {p1, v1, v5}, Lcom/blankj/utilcode/util/ArrayUtils$Closure;->execute(ILjava/lang/Object;)V

    .line 1946
    .end local v3    # "ele":J
    add-int/lit8 v1, v1, 0x1

    goto :goto_b1

    .line 1950
    .end local v0    # "longs":[J
    .end local v1    # "i":I
    .end local v2    # "length":I
    :cond_bf
    goto :goto_f4

    :cond_c0
    instance-of v0, p0, [F

    if-eqz v0, :cond_da

    .line 1951
    move-object v0, p0

    check-cast v0, [F

    check-cast v0, [F

    .line 1952
    .local v0, "floats":[F
    const/4 v1, 0x0

    .restart local v1    # "i":I
    array-length v2, v0

    .restart local v2    # "length":I
    :goto_cb
    if-ge v1, v2, :cond_d9

    .line 1953
    aget v3, v0, v1

    .line 1954
    .local v3, "ele":F
    invoke-static {v3}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;

    move-result-object v4

    invoke-interface {p1, v1, v4}, Lcom/blankj/utilcode/util/ArrayUtils$Closure;->execute(ILjava/lang/Object;)V

    .line 1952
    .end local v3    # "ele":F
    add-int/lit8 v1, v1, 0x1

    goto :goto_cb

    .line 1956
    .end local v0    # "floats":[F
    .end local v1    # "i":I
    .end local v2    # "length":I
    :cond_d9
    goto :goto_f4

    :cond_da
    instance-of v0, p0, [D

    if-eqz v0, :cond_f5

    .line 1957
    move-object v0, p0

    check-cast v0, [D

    check-cast v0, [D

    .line 1958
    .local v0, "doubles":[D
    const/4 v1, 0x0

    .restart local v1    # "i":I
    array-length v2, v0

    .restart local v2    # "length":I
    :goto_e5
    if-ge v1, v2, :cond_f3

    .line 1959
    aget-wide v3, v0, v1

    .line 1960
    .local v3, "ele":D
    invoke-static {v3, v4}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;

    move-result-object v5

    invoke-interface {p1, v1, v5}, Lcom/blankj/utilcode/util/ArrayUtils$Closure;->execute(ILjava/lang/Object;)V

    .line 1958
    .end local v3    # "ele":D
    add-int/lit8 v1, v1, 0x1

    goto :goto_e5

    .line 1962
    .end local v0    # "doubles":[D
    .end local v1    # "i":I
    .end local v2    # "length":I
    :cond_f3
    nop

    .line 1965
    :goto_f4
    return-void

    .line 1963
    :cond_f5
    new-instance v0, Ljava/lang/IllegalArgumentException;

    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "Not an array: "

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v2

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 1907
    :cond_110
    :goto_110
    return-void
.end method

.method public static get(Ljava/lang/Object;I)Ljava/lang/Object;
    .registers 3
    .param p0, "array"    # Ljava/lang/Object;
    .param p1, "index"    # I

    .line 103
    const/4 v0, 0x0

    invoke-static {p0, p1, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->get(Ljava/lang/Object;ILjava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    return-object v0
.end method

.method public static get(Ljava/lang/Object;ILjava/lang/Object;)Ljava/lang/Object;
    .registers 4
    .param p0, "array"    # Ljava/lang/Object;
    .param p1, "index"    # I
    .param p2, "defaultValue"    # Ljava/lang/Object;

    .line 115
    if-nez p0, :cond_3

    return-object p2

    .line 117
    :cond_3
    :try_start_3
    invoke-static {p0, p1}, Ljava/lang/reflect/Array;->get(Ljava/lang/Object;I)Ljava/lang/Object;

    move-result-object v0
    :try_end_7
    .catch Ljava/lang/Exception; {:try_start_3 .. :try_end_7} :catch_8

    return-object v0

    .line 118
    :catch_8
    move-exception v0

    .line 119
    .local v0, "ignore":Ljava/lang/Exception;
    return-object p2
.end method

.method public static getLength(Ljava/lang/Object;)I
    .registers 2
    .param p0, "array"    # Ljava/lang/Object;

    .line 87
    if-nez p0, :cond_4

    const/4 v0, 0x0

    return v0

    .line 88
    :cond_4
    invoke-static {p0}, Ljava/lang/reflect/Array;->getLength(Ljava/lang/Object;)I

    move-result v0

    return v0
.end method

.method public static indexOf([BB)I
    .registers 3
    .param p0, "array"    # [B
    .param p1, "valueToFind"    # B

    .line 1246
    const/4 v0, 0x0

    invoke-static {p0, p1, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->indexOf([BBI)I

    move-result v0

    return v0
.end method

.method public static indexOf([BBI)I
    .registers 6
    .param p0, "array"    # [B
    .param p1, "valueToFind"    # B
    .param p2, "startIndex"    # I

    .line 1250
    const/4 v0, -0x1

    if-nez p0, :cond_4

    .line 1251
    return v0

    .line 1253
    :cond_4
    if-gez p2, :cond_7

    .line 1254
    const/4 p2, 0x0

    .line 1256
    :cond_7
    move v1, p2

    .local v1, "i":I
    :goto_8
    array-length v2, p0

    if-ge v1, v2, :cond_13

    .line 1257
    aget-byte v2, p0, v1

    if-ne p1, v2, :cond_10

    .line 1258
    return v1

    .line 1256
    :cond_10
    add-int/lit8 v1, v1, 0x1

    goto :goto_8

    .line 1261
    .end local v1    # "i":I
    :cond_13
    return v0
.end method

.method public static indexOf([CC)I
    .registers 3
    .param p0, "array"    # [C
    .param p1, "valueToFind"    # C

    .line 1198
    const/4 v0, 0x0

    invoke-static {p0, p1, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->indexOf([CCI)I

    move-result v0

    return v0
.end method

.method public static indexOf([CCI)I
    .registers 6
    .param p0, "array"    # [C
    .param p1, "valueToFind"    # C
    .param p2, "startIndex"    # I

    .line 1202
    const/4 v0, -0x1

    if-nez p0, :cond_4

    .line 1203
    return v0

    .line 1205
    :cond_4
    if-gez p2, :cond_7

    .line 1206
    const/4 p2, 0x0

    .line 1208
    :cond_7
    move v1, p2

    .local v1, "i":I
    :goto_8
    array-length v2, p0

    if-ge v1, v2, :cond_13

    .line 1209
    aget-char v2, p0, v1

    if-ne p1, v2, :cond_10

    .line 1210
    return v1

    .line 1208
    :cond_10
    add-int/lit8 v1, v1, 0x1

    goto :goto_8

    .line 1213
    .end local v1    # "i":I
    :cond_13
    return v0
.end method

.method public static indexOf([DD)I
    .registers 4
    .param p0, "array"    # [D
    .param p1, "valueToFind"    # D

    .line 1294
    const/4 v0, 0x0

    invoke-static {p0, p1, p2, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->indexOf([DDI)I

    move-result v0

    return v0
.end method

.method public static indexOf([DDD)I
    .registers 11
    .param p0, "array"    # [D
    .param p1, "valueToFind"    # D
    .param p3, "tolerance"    # D

    .line 1298
    const/4 v3, 0x0

    move-object v0, p0

    move-wide v1, p1

    move-wide v4, p3

    invoke-static/range {v0 .. v5}, Lcom/blankj/utilcode/util/ArrayUtils;->indexOf([DDID)I

    move-result v0

    return v0
.end method

.method public static indexOf([DDI)I
    .registers 9
    .param p0, "array"    # [D
    .param p1, "valueToFind"    # D
    .param p3, "startIndex"    # I

    .line 1302
    invoke-static {p0}, Lcom/blankj/utilcode/util/ArrayUtils;->isEmpty(Ljava/lang/Object;)Z

    move-result v0

    const/4 v1, -0x1

    if-eqz v0, :cond_8

    .line 1303
    return v1

    .line 1305
    :cond_8
    if-gez p3, :cond_b

    .line 1306
    const/4 p3, 0x0

    .line 1308
    :cond_b
    move v0, p3

    .local v0, "i":I
    :goto_c
    array-length v2, p0

    if-ge v0, v2, :cond_19

    .line 1309
    aget-wide v2, p0, v0

    cmpl-double v4, p1, v2

    if-nez v4, :cond_16

    .line 1310
    return v0

    .line 1308
    :cond_16
    add-int/lit8 v0, v0, 0x1

    goto :goto_c

    .line 1313
    .end local v0    # "i":I
    :cond_19
    return v1
.end method

.method public static indexOf([DDID)I
    .registers 15
    .param p0, "array"    # [D
    .param p1, "valueToFind"    # D
    .param p3, "startIndex"    # I
    .param p4, "tolerance"    # D

    .line 1317
    invoke-static {p0}, Lcom/blankj/utilcode/util/ArrayUtils;->isEmpty(Ljava/lang/Object;)Z

    move-result v0

    const/4 v1, -0x1

    if-eqz v0, :cond_8

    .line 1318
    return v1

    .line 1320
    :cond_8
    if-gez p3, :cond_b

    .line 1321
    const/4 p3, 0x0

    .line 1323
    :cond_b
    sub-double v2, p1, p4

    .line 1324
    .local v2, "min":D
    add-double v4, p1, p4

    .line 1325
    .local v4, "max":D
    move v0, p3

    .local v0, "i":I
    :goto_10
    array-length v6, p0

    if-ge v0, v6, :cond_23

    .line 1326
    aget-wide v6, p0, v0

    cmpl-double v8, v6, v2

    if-ltz v8, :cond_20

    aget-wide v6, p0, v0

    cmpg-double v8, v6, v4

    if-gtz v8, :cond_20

    .line 1327
    return v0

    .line 1325
    :cond_20
    add-int/lit8 v0, v0, 0x1

    goto :goto_10

    .line 1330
    .end local v0    # "i":I
    :cond_23
    return v1
.end method

.method public static indexOf([FF)I
    .registers 3
    .param p0, "array"    # [F
    .param p1, "valueToFind"    # F

    .line 1390
    const/4 v0, 0x0

    invoke-static {p0, p1, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->indexOf([FFI)I

    move-result v0

    return v0
.end method

.method public static indexOf([FFI)I
    .registers 6
    .param p0, "array"    # [F
    .param p1, "valueToFind"    # F
    .param p2, "startIndex"    # I

    .line 1394
    invoke-static {p0}, Lcom/blankj/utilcode/util/ArrayUtils;->isEmpty(Ljava/lang/Object;)Z

    move-result v0

    const/4 v1, -0x1

    if-eqz v0, :cond_8

    .line 1395
    return v1

    .line 1397
    :cond_8
    if-gez p2, :cond_b

    .line 1398
    const/4 p2, 0x0

    .line 1400
    :cond_b
    move v0, p2

    .local v0, "i":I
    :goto_c
    array-length v2, p0

    if-ge v0, v2, :cond_19

    .line 1401
    aget v2, p0, v0

    cmpl-float v2, p1, v2

    if-nez v2, :cond_16

    .line 1402
    return v0

    .line 1400
    :cond_16
    add-int/lit8 v0, v0, 0x1

    goto :goto_c

    .line 1405
    .end local v0    # "i":I
    :cond_19
    return v1
.end method

.method public static indexOf([II)I
    .registers 3
    .param p0, "array"    # [I
    .param p1, "valueToFind"    # I

    .line 1102
    const/4 v0, 0x0

    invoke-static {p0, p1, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->indexOf([III)I

    move-result v0

    return v0
.end method

.method public static indexOf([III)I
    .registers 6
    .param p0, "array"    # [I
    .param p1, "valueToFind"    # I
    .param p2, "startIndex"    # I

    .line 1106
    const/4 v0, -0x1

    if-nez p0, :cond_4

    .line 1107
    return v0

    .line 1109
    :cond_4
    if-gez p2, :cond_7

    .line 1110
    const/4 p2, 0x0

    .line 1112
    :cond_7
    move v1, p2

    .local v1, "i":I
    :goto_8
    array-length v2, p0

    if-ge v1, v2, :cond_13

    .line 1113
    aget v2, p0, v1

    if-ne p1, v2, :cond_10

    .line 1114
    return v1

    .line 1112
    :cond_10
    add-int/lit8 v1, v1, 0x1

    goto :goto_8

    .line 1117
    .end local v1    # "i":I
    :cond_13
    return v0
.end method

.method public static indexOf([JJ)I
    .registers 4
    .param p0, "array"    # [J
    .param p1, "valueToFind"    # J

    .line 1054
    const/4 v0, 0x0

    invoke-static {p0, p1, p2, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->indexOf([JJI)I

    move-result v0

    return v0
.end method

.method public static indexOf([JJI)I
    .registers 9
    .param p0, "array"    # [J
    .param p1, "valueToFind"    # J
    .param p3, "startIndex"    # I

    .line 1058
    const/4 v0, -0x1

    if-nez p0, :cond_4

    .line 1059
    return v0

    .line 1061
    :cond_4
    if-gez p3, :cond_7

    .line 1062
    const/4 p3, 0x0

    .line 1064
    :cond_7
    move v1, p3

    .local v1, "i":I
    :goto_8
    array-length v2, p0

    if-ge v1, v2, :cond_15

    .line 1065
    aget-wide v2, p0, v1

    cmp-long v4, p1, v2

    if-nez v4, :cond_12

    .line 1066
    return v1

    .line 1064
    :cond_12
    add-int/lit8 v1, v1, 0x1

    goto :goto_8

    .line 1069
    .end local v1    # "i":I
    :cond_15
    return v0
.end method

.method public static indexOf([Ljava/lang/Object;Ljava/lang/Object;)I
    .registers 3
    .param p0, "array"    # [Ljava/lang/Object;
    .param p1, "objectToFind"    # Ljava/lang/Object;

    .line 990
    const/4 v0, 0x0

    invoke-static {p0, p1, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->indexOf([Ljava/lang/Object;Ljava/lang/Object;I)I

    move-result v0

    return v0
.end method

.method public static indexOf([Ljava/lang/Object;Ljava/lang/Object;I)I
    .registers 6
    .param p0, "array"    # [Ljava/lang/Object;
    .param p1, "objectToFind"    # Ljava/lang/Object;
    .param p2, "startIndex"    # I

    .line 994
    const/4 v0, -0x1

    if-nez p0, :cond_4

    .line 995
    return v0

    .line 997
    :cond_4
    if-gez p2, :cond_7

    .line 998
    const/4 p2, 0x0

    .line 1000
    :cond_7
    if-nez p1, :cond_16

    .line 1001
    move v1, p2

    .local v1, "i":I
    :goto_a
    array-length v2, p0

    if-ge v1, v2, :cond_15

    .line 1002
    aget-object v2, p0, v1

    if-nez v2, :cond_12

    .line 1003
    return v1

    .line 1001
    :cond_12
    add-int/lit8 v1, v1, 0x1

    goto :goto_a

    .end local v1    # "i":I
    :cond_15
    goto :goto_26

    .line 1007
    :cond_16
    move v1, p2

    .restart local v1    # "i":I
    :goto_17
    array-length v2, p0

    if-ge v1, v2, :cond_26

    .line 1008
    aget-object v2, p0, v1

    invoke-virtual {p1, v2}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_23

    .line 1009
    return v1

    .line 1007
    :cond_23
    add-int/lit8 v1, v1, 0x1

    goto :goto_17

    .line 1013
    .end local v1    # "i":I
    :cond_26
    :goto_26
    return v0
.end method

.method public static indexOf([SS)I
    .registers 3
    .param p0, "array"    # [S
    .param p1, "valueToFind"    # S

    .line 1150
    const/4 v0, 0x0

    invoke-static {p0, p1, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->indexOf([SSI)I

    move-result v0

    return v0
.end method

.method public static indexOf([SSI)I
    .registers 6
    .param p0, "array"    # [S
    .param p1, "valueToFind"    # S
    .param p2, "startIndex"    # I

    .line 1154
    const/4 v0, -0x1

    if-nez p0, :cond_4

    .line 1155
    return v0

    .line 1157
    :cond_4
    if-gez p2, :cond_7

    .line 1158
    const/4 p2, 0x0

    .line 1160
    :cond_7
    move v1, p2

    .local v1, "i":I
    :goto_8
    array-length v2, p0

    if-ge v1, v2, :cond_13

    .line 1161
    aget-short v2, p0, v1

    if-ne p1, v2, :cond_10

    .line 1162
    return v1

    .line 1160
    :cond_10
    add-int/lit8 v1, v1, 0x1

    goto :goto_8

    .line 1165
    .end local v1    # "i":I
    :cond_13
    return v0
.end method

.method public static indexOf([ZZ)I
    .registers 3
    .param p0, "array"    # [Z
    .param p1, "valueToFind"    # Z

    .line 1438
    const/4 v0, 0x0

    invoke-static {p0, p1, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->indexOf([ZZI)I

    move-result v0

    return v0
.end method

.method public static indexOf([ZZI)I
    .registers 6
    .param p0, "array"    # [Z
    .param p1, "valueToFind"    # Z
    .param p2, "startIndex"    # I

    .line 1442
    invoke-static {p0}, Lcom/blankj/utilcode/util/ArrayUtils;->isEmpty(Ljava/lang/Object;)Z

    move-result v0

    const/4 v1, -0x1

    if-eqz v0, :cond_8

    .line 1443
    return v1

    .line 1445
    :cond_8
    if-gez p2, :cond_b

    .line 1446
    const/4 p2, 0x0

    .line 1448
    :cond_b
    move v0, p2

    .local v0, "i":I
    :goto_c
    array-length v2, p0

    if-ge v0, v2, :cond_17

    .line 1449
    aget-boolean v2, p0, v0

    if-ne p1, v2, :cond_14

    .line 1450
    return v0

    .line 1448
    :cond_14
    add-int/lit8 v0, v0, 0x1

    goto :goto_c

    .line 1453
    .end local v0    # "i":I
    :cond_17
    return v1
.end method

.method public static isEmpty(Ljava/lang/Object;)Z
    .registers 2
    .param p0, "array"    # Ljava/lang/Object;

    .line 77
    invoke-static {p0}, Lcom/blankj/utilcode/util/ArrayUtils;->getLength(Ljava/lang/Object;)I

    move-result v0

    if-nez v0, :cond_8

    const/4 v0, 0x1

    goto :goto_9

    :cond_8
    const/4 v0, 0x0

    :goto_9
    return v0
.end method

.method public static isSameLength(Ljava/lang/Object;Ljava/lang/Object;)Z
    .registers 4
    .param p0, "array1"    # Ljava/lang/Object;
    .param p1, "array2"    # Ljava/lang/Object;

    .line 92
    invoke-static {p0}, Lcom/blankj/utilcode/util/ArrayUtils;->getLength(Ljava/lang/Object;)I

    move-result v0

    invoke-static {p1}, Lcom/blankj/utilcode/util/ArrayUtils;->getLength(Ljava/lang/Object;)I

    move-result v1

    if-ne v0, v1, :cond_c

    const/4 v0, 0x1

    goto :goto_d

    :cond_c
    const/4 v0, 0x0

    :goto_d
    return v0
.end method

.method public static lastIndexOf([BB)I
    .registers 3
    .param p0, "array"    # [B
    .param p1, "valueToFind"    # B

    .line 1265
    const v0, 0x7fffffff

    invoke-static {p0, p1, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->lastIndexOf([BBI)I

    move-result v0

    return v0
.end method

.method public static lastIndexOf([BBI)I
    .registers 6
    .param p0, "array"    # [B
    .param p1, "valueToFind"    # B
    .param p2, "startIndex"    # I

    .line 1269
    const/4 v0, -0x1

    if-nez p0, :cond_4

    .line 1270
    return v0

    .line 1272
    :cond_4
    if-gez p2, :cond_7

    .line 1273
    return v0

    .line 1274
    :cond_7
    array-length v1, p0

    if-lt p2, v1, :cond_d

    .line 1275
    array-length v1, p0

    add-int/lit8 p2, v1, -0x1

    .line 1277
    :cond_d
    move v1, p2

    .local v1, "i":I
    :goto_e
    if-ltz v1, :cond_18

    .line 1278
    aget-byte v2, p0, v1

    if-ne p1, v2, :cond_15

    .line 1279
    return v1

    .line 1277
    :cond_15
    add-int/lit8 v1, v1, -0x1

    goto :goto_e

    .line 1282
    .end local v1    # "i":I
    :cond_18
    return v0
.end method

.method public static lastIndexOf([CC)I
    .registers 3
    .param p0, "array"    # [C
    .param p1, "valueToFind"    # C

    .line 1217
    const v0, 0x7fffffff

    invoke-static {p0, p1, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->lastIndexOf([CCI)I

    move-result v0

    return v0
.end method

.method public static lastIndexOf([CCI)I
    .registers 6
    .param p0, "array"    # [C
    .param p1, "valueToFind"    # C
    .param p2, "startIndex"    # I

    .line 1221
    const/4 v0, -0x1

    if-nez p0, :cond_4

    .line 1222
    return v0

    .line 1224
    :cond_4
    if-gez p2, :cond_7

    .line 1225
    return v0

    .line 1226
    :cond_7
    array-length v1, p0

    if-lt p2, v1, :cond_d

    .line 1227
    array-length v1, p0

    add-int/lit8 p2, v1, -0x1

    .line 1229
    :cond_d
    move v1, p2

    .local v1, "i":I
    :goto_e
    if-ltz v1, :cond_18

    .line 1230
    aget-char v2, p0, v1

    if-ne p1, v2, :cond_15

    .line 1231
    return v1

    .line 1229
    :cond_15
    add-int/lit8 v1, v1, -0x1

    goto :goto_e

    .line 1234
    .end local v1    # "i":I
    :cond_18
    return v0
.end method

.method public static lastIndexOf([DD)I
    .registers 4
    .param p0, "array"    # [D
    .param p1, "valueToFind"    # D

    .line 1334
    const v0, 0x7fffffff

    invoke-static {p0, p1, p2, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->lastIndexOf([DDI)I

    move-result v0

    return v0
.end method

.method public static lastIndexOf([DDD)I
    .registers 11
    .param p0, "array"    # [D
    .param p1, "valueToFind"    # D
    .param p3, "tolerance"    # D

    .line 1338
    const v3, 0x7fffffff

    move-object v0, p0

    move-wide v1, p1

    move-wide v4, p3

    invoke-static/range {v0 .. v5}, Lcom/blankj/utilcode/util/ArrayUtils;->lastIndexOf([DDID)I

    move-result v0

    return v0
.end method

.method public static lastIndexOf([DDI)I
    .registers 9
    .param p0, "array"    # [D
    .param p1, "valueToFind"    # D
    .param p3, "startIndex"    # I

    .line 1342
    invoke-static {p0}, Lcom/blankj/utilcode/util/ArrayUtils;->isEmpty(Ljava/lang/Object;)Z

    move-result v0

    const/4 v1, -0x1

    if-eqz v0, :cond_8

    .line 1343
    return v1

    .line 1345
    :cond_8
    if-gez p3, :cond_b

    .line 1346
    return v1

    .line 1347
    :cond_b
    array-length v0, p0

    if-lt p3, v0, :cond_11

    .line 1348
    array-length v0, p0

    add-int/lit8 p3, v0, -0x1

    .line 1350
    :cond_11
    move v0, p3

    .local v0, "i":I
    :goto_12
    if-ltz v0, :cond_1e

    .line 1351
    aget-wide v2, p0, v0

    cmpl-double v4, p1, v2

    if-nez v4, :cond_1b

    .line 1352
    return v0

    .line 1350
    :cond_1b
    add-int/lit8 v0, v0, -0x1

    goto :goto_12

    .line 1355
    .end local v0    # "i":I
    :cond_1e
    return v1
.end method

.method public static lastIndexOf([DDID)I
    .registers 15
    .param p0, "array"    # [D
    .param p1, "valueToFind"    # D
    .param p3, "startIndex"    # I
    .param p4, "tolerance"    # D

    .line 1359
    invoke-static {p0}, Lcom/blankj/utilcode/util/ArrayUtils;->isEmpty(Ljava/lang/Object;)Z

    move-result v0

    const/4 v1, -0x1

    if-eqz v0, :cond_8

    .line 1360
    return v1

    .line 1362
    :cond_8
    if-gez p3, :cond_b

    .line 1363
    return v1

    .line 1364
    :cond_b
    array-length v0, p0

    if-lt p3, v0, :cond_11

    .line 1365
    array-length v0, p0

    add-int/lit8 p3, v0, -0x1

    .line 1367
    :cond_11
    sub-double v2, p1, p4

    .line 1368
    .local v2, "min":D
    add-double v4, p1, p4

    .line 1369
    .local v4, "max":D
    move v0, p3

    .local v0, "i":I
    :goto_16
    if-ltz v0, :cond_28

    .line 1370
    aget-wide v6, p0, v0

    cmpl-double v8, v6, v2

    if-ltz v8, :cond_25

    aget-wide v6, p0, v0

    cmpg-double v8, v6, v4

    if-gtz v8, :cond_25

    .line 1371
    return v0

    .line 1369
    :cond_25
    add-int/lit8 v0, v0, -0x1

    goto :goto_16

    .line 1374
    .end local v0    # "i":I
    :cond_28
    return v1
.end method

.method public static lastIndexOf([FF)I
    .registers 3
    .param p0, "array"    # [F
    .param p1, "valueToFind"    # F

    .line 1409
    const v0, 0x7fffffff

    invoke-static {p0, p1, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->lastIndexOf([FFI)I

    move-result v0

    return v0
.end method

.method public static lastIndexOf([FFI)I
    .registers 6
    .param p0, "array"    # [F
    .param p1, "valueToFind"    # F
    .param p2, "startIndex"    # I

    .line 1413
    invoke-static {p0}, Lcom/blankj/utilcode/util/ArrayUtils;->isEmpty(Ljava/lang/Object;)Z

    move-result v0

    const/4 v1, -0x1

    if-eqz v0, :cond_8

    .line 1414
    return v1

    .line 1416
    :cond_8
    if-gez p2, :cond_b

    .line 1417
    return v1

    .line 1418
    :cond_b
    array-length v0, p0

    if-lt p2, v0, :cond_11

    .line 1419
    array-length v0, p0

    add-int/lit8 p2, v0, -0x1

    .line 1421
    :cond_11
    move v0, p2

    .local v0, "i":I
    :goto_12
    if-ltz v0, :cond_1e

    .line 1422
    aget v2, p0, v0

    cmpl-float v2, p1, v2

    if-nez v2, :cond_1b

    .line 1423
    return v0

    .line 1421
    :cond_1b
    add-int/lit8 v0, v0, -0x1

    goto :goto_12

    .line 1426
    .end local v0    # "i":I
    :cond_1e
    return v1
.end method

.method public static lastIndexOf([II)I
    .registers 3
    .param p0, "array"    # [I
    .param p1, "valueToFind"    # I

    .line 1121
    const v0, 0x7fffffff

    invoke-static {p0, p1, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->lastIndexOf([III)I

    move-result v0

    return v0
.end method

.method public static lastIndexOf([III)I
    .registers 6
    .param p0, "array"    # [I
    .param p1, "valueToFind"    # I
    .param p2, "startIndex"    # I

    .line 1125
    const/4 v0, -0x1

    if-nez p0, :cond_4

    .line 1126
    return v0

    .line 1128
    :cond_4
    if-gez p2, :cond_7

    .line 1129
    return v0

    .line 1130
    :cond_7
    array-length v1, p0

    if-lt p2, v1, :cond_d

    .line 1131
    array-length v1, p0

    add-int/lit8 p2, v1, -0x1

    .line 1133
    :cond_d
    move v1, p2

    .local v1, "i":I
    :goto_e
    if-ltz v1, :cond_18

    .line 1134
    aget v2, p0, v1

    if-ne p1, v2, :cond_15

    .line 1135
    return v1

    .line 1133
    :cond_15
    add-int/lit8 v1, v1, -0x1

    goto :goto_e

    .line 1138
    .end local v1    # "i":I
    :cond_18
    return v0
.end method

.method public static lastIndexOf([JJ)I
    .registers 4
    .param p0, "array"    # [J
    .param p1, "valueToFind"    # J

    .line 1073
    const v0, 0x7fffffff

    invoke-static {p0, p1, p2, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->lastIndexOf([JJI)I

    move-result v0

    return v0
.end method

.method public static lastIndexOf([JJI)I
    .registers 9
    .param p0, "array"    # [J
    .param p1, "valueToFind"    # J
    .param p3, "startIndex"    # I

    .line 1077
    const/4 v0, -0x1

    if-nez p0, :cond_4

    .line 1078
    return v0

    .line 1080
    :cond_4
    if-gez p3, :cond_7

    .line 1081
    return v0

    .line 1082
    :cond_7
    array-length v1, p0

    if-lt p3, v1, :cond_d

    .line 1083
    array-length v1, p0

    add-int/lit8 p3, v1, -0x1

    .line 1085
    :cond_d
    move v1, p3

    .local v1, "i":I
    :goto_e
    if-ltz v1, :cond_1a

    .line 1086
    aget-wide v2, p0, v1

    cmp-long v4, p1, v2

    if-nez v4, :cond_17

    .line 1087
    return v1

    .line 1085
    :cond_17
    add-int/lit8 v1, v1, -0x1

    goto :goto_e

    .line 1090
    .end local v1    # "i":I
    :cond_1a
    return v0
.end method

.method public static lastIndexOf([Ljava/lang/Object;Ljava/lang/Object;)I
    .registers 3
    .param p0, "array"    # [Ljava/lang/Object;
    .param p1, "objectToFind"    # Ljava/lang/Object;

    .line 1017
    const v0, 0x7fffffff

    invoke-static {p0, p1, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->lastIndexOf([Ljava/lang/Object;Ljava/lang/Object;I)I

    move-result v0

    return v0
.end method

.method public static lastIndexOf([Ljava/lang/Object;Ljava/lang/Object;I)I
    .registers 6
    .param p0, "array"    # [Ljava/lang/Object;
    .param p1, "objectToFind"    # Ljava/lang/Object;
    .param p2, "startIndex"    # I

    .line 1021
    const/4 v0, -0x1

    if-nez p0, :cond_4

    .line 1022
    return v0

    .line 1024
    :cond_4
    if-gez p2, :cond_7

    .line 1025
    return v0

    .line 1026
    :cond_7
    array-length v1, p0

    if-lt p2, v1, :cond_d

    .line 1027
    array-length v1, p0

    add-int/lit8 p2, v1, -0x1

    .line 1029
    :cond_d
    if-nez p1, :cond_1b

    .line 1030
    move v1, p2

    .local v1, "i":I
    :goto_10
    if-ltz v1, :cond_1a

    .line 1031
    aget-object v2, p0, v1

    if-nez v2, :cond_17

    .line 1032
    return v1

    .line 1030
    :cond_17
    add-int/lit8 v1, v1, -0x1

    goto :goto_10

    .end local v1    # "i":I
    :cond_1a
    goto :goto_2a

    .line 1036
    :cond_1b
    move v1, p2

    .restart local v1    # "i":I
    :goto_1c
    if-ltz v1, :cond_2a

    .line 1037
    aget-object v2, p0, v1

    invoke-virtual {p1, v2}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_27

    .line 1038
    return v1

    .line 1036
    :cond_27
    add-int/lit8 v1, v1, -0x1

    goto :goto_1c

    .line 1042
    .end local v1    # "i":I
    :cond_2a
    :goto_2a
    return v0
.end method

.method public static lastIndexOf([SS)I
    .registers 3
    .param p0, "array"    # [S
    .param p1, "valueToFind"    # S

    .line 1169
    const v0, 0x7fffffff

    invoke-static {p0, p1, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->lastIndexOf([SSI)I

    move-result v0

    return v0
.end method

.method public static lastIndexOf([SSI)I
    .registers 6
    .param p0, "array"    # [S
    .param p1, "valueToFind"    # S
    .param p2, "startIndex"    # I

    .line 1173
    const/4 v0, -0x1

    if-nez p0, :cond_4

    .line 1174
    return v0

    .line 1176
    :cond_4
    if-gez p2, :cond_7

    .line 1177
    return v0

    .line 1178
    :cond_7
    array-length v1, p0

    if-lt p2, v1, :cond_d

    .line 1179
    array-length v1, p0

    add-int/lit8 p2, v1, -0x1

    .line 1181
    :cond_d
    move v1, p2

    .local v1, "i":I
    :goto_e
    if-ltz v1, :cond_18

    .line 1182
    aget-short v2, p0, v1

    if-ne p1, v2, :cond_15

    .line 1183
    return v1

    .line 1181
    :cond_15
    add-int/lit8 v1, v1, -0x1

    goto :goto_e

    .line 1186
    .end local v1    # "i":I
    :cond_18
    return v0
.end method

.method public static lastIndexOf([ZZ)I
    .registers 3
    .param p0, "array"    # [Z
    .param p1, "valueToFind"    # Z

    .line 1457
    const v0, 0x7fffffff

    invoke-static {p0, p1, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->lastIndexOf([ZZI)I

    move-result v0

    return v0
.end method

.method public static lastIndexOf([ZZI)I
    .registers 6
    .param p0, "array"    # [Z
    .param p1, "valueToFind"    # Z
    .param p2, "startIndex"    # I

    .line 1461
    invoke-static {p0}, Lcom/blankj/utilcode/util/ArrayUtils;->isEmpty(Ljava/lang/Object;)Z

    move-result v0

    const/4 v1, -0x1

    if-eqz v0, :cond_8

    .line 1462
    return v1

    .line 1464
    :cond_8
    if-gez p2, :cond_b

    .line 1465
    return v1

    .line 1466
    :cond_b
    array-length v0, p0

    if-lt p2, v0, :cond_11

    .line 1467
    array-length v0, p0

    add-int/lit8 p2, v0, -0x1

    .line 1469
    :cond_11
    move v0, p2

    .local v0, "i":I
    :goto_12
    if-ltz v0, :cond_1c

    .line 1470
    aget-boolean v2, p0, v0

    if-ne p1, v2, :cond_19

    .line 1471
    return v0

    .line 1469
    :cond_19
    add-int/lit8 v0, v0, -0x1

    goto :goto_12

    .line 1474
    .end local v0    # "i":I
    :cond_1c
    return v1
.end method

.method public static varargs newArray([Ljava/lang/Object;)[Ljava/lang/Object;
    .registers 1
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<T:",
            "Ljava/lang/Object;",
            ">([TT;)[TT;"
        }
    .end annotation

    .annotation runtime Ljava/lang/SafeVarargs;
    .end annotation

    .line 35
    .local p0, "array":[Ljava/lang/Object;, "[TT;"
    return-object p0
.end method

.method public static varargs newBooleanArray([Z)[Z
    .registers 1
    .param p0, "array"    # [Z

    .line 67
    return-object p0
.end method

.method public static varargs newByteArray([B)[B
    .registers 1
    .param p0, "array"    # [B

    .line 55
    return-object p0
.end method

.method public static varargs newCharArray([C)[C
    .registers 1
    .param p0, "array"    # [C

    .line 51
    return-object p0
.end method

.method public static varargs newDoubleArray([D)[D
    .registers 1
    .param p0, "array"    # [D

    .line 59
    return-object p0
.end method

.method public static varargs newFloatArray([F)[F
    .registers 1
    .param p0, "array"    # [F

    .line 63
    return-object p0
.end method

.method public static varargs newIntArray([I)[I
    .registers 1
    .param p0, "array"    # [I

    .line 43
    return-object p0
.end method

.method public static varargs newLongArray([J)[J
    .registers 1
    .param p0, "array"    # [J

    .line 39
    return-object p0
.end method

.method public static varargs newShortArray([S)[S
    .registers 1
    .param p0, "array"    # [S

    .line 47
    return-object p0
.end method

.method private static realAdd(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
    .registers 8
    .param p0, "array"    # Ljava/lang/Object;
    .param p1, "index"    # I
    .param p2, "element"    # Ljava/lang/Object;
    .param p3, "clss"    # Ljava/lang/Class;

    .line 784
    const-string v0, "Index: "

    const/4 v1, 0x0

    if-nez p0, :cond_2a

    .line 785
    if-nez p1, :cond_10

    .line 788
    const/4 v0, 0x1

    invoke-static {p3, v0}, Ljava/lang/reflect/Array;->newInstance(Ljava/lang/Class;I)Ljava/lang/Object;

    move-result-object v0

    .line 789
    .local v0, "joinedArray":Ljava/lang/Object;
    invoke-static {v0, v1, p2}, Ljava/lang/reflect/Array;->set(Ljava/lang/Object;ILjava/lang/Object;)V

    .line 790
    return-object v0

    .line 786
    .end local v0    # "joinedArray":Ljava/lang/Object;
    :cond_10
    new-instance v1, Ljava/lang/IndexOutOfBoundsException;

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string v0, ", Length: 0"

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-direct {v1, v0}, Ljava/lang/IndexOutOfBoundsException;-><init>(Ljava/lang/String;)V

    throw v1

    .line 792
    :cond_2a
    invoke-static {p0}, Ljava/lang/reflect/Array;->getLength(Ljava/lang/Object;)I

    move-result v2

    .line 793
    .local v2, "length":I
    if-gt p1, v2, :cond_48

    if-ltz p1, :cond_48

    .line 796
    add-int/lit8 v0, v2, 0x1

    invoke-static {p3, v0}, Ljava/lang/reflect/Array;->newInstance(Ljava/lang/Class;I)Ljava/lang/Object;

    move-result-object v0

    .line 797
    .local v0, "result":Ljava/lang/Object;
    invoke-static {p0, v1, v0, v1, p1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V

    .line 798
    invoke-static {v0, p1, p2}, Ljava/lang/reflect/Array;->set(Ljava/lang/Object;ILjava/lang/Object;)V

    .line 799
    if-ge p1, v2, :cond_47

    .line 800
    add-int/lit8 v1, p1, 0x1

    sub-int v3, v2, p1

    invoke-static {p0, p1, v0, v1, v3}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V

    .line 802
    :cond_47
    return-object v0

    .line 794
    .end local v0    # "result":Ljava/lang/Object;
    :cond_48
    new-instance v1, Ljava/lang/IndexOutOfBoundsException;

    new-instance v3, Ljava/lang/StringBuilder;

    invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string v0, ", Length: "

    invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-direct {v1, v0}, Ljava/lang/IndexOutOfBoundsException;-><init>(Ljava/lang/String;)V

    throw v1
.end method

.method private static realAddArr(Ljava/lang/Object;ILjava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
    .registers 9
    .param p0, "array1"    # Ljava/lang/Object;
    .param p1, "index"    # I
    .param p2, "array2"    # Ljava/lang/Object;
    .param p3, "clss"    # Ljava/lang/Class;

    .line 681
    if-nez p0, :cond_6

    if-nez p2, :cond_6

    const/4 v0, 0x0

    return-object v0

    .line 682
    :cond_6
    invoke-static {p0}, Lcom/blankj/utilcode/util/ArrayUtils;->getLength(Ljava/lang/Object;)I

    move-result v0

    .line 683
    .local v0, "len1":I
    invoke-static {p2}, Lcom/blankj/utilcode/util/ArrayUtils;->getLength(Ljava/lang/Object;)I

    move-result v1

    .line 684
    .local v1, "len2":I
    const-string v2, "Index: "

    if-nez v0, :cond_33

    .line 685
    if-nez p1, :cond_19

    .line 688
    invoke-static {p2}, Lcom/blankj/utilcode/util/ArrayUtils;->realCopy(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v2

    return-object v2

    .line 686
    :cond_19
    new-instance v3, Ljava/lang/IndexOutOfBoundsException;

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string v2, ", array1 Length: 0"

    invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-direct {v3, v2}, Ljava/lang/IndexOutOfBoundsException;-><init>(Ljava/lang/String;)V

    throw v3

    .line 690
    :cond_33
    if-nez v1, :cond_3a

    .line 691
    invoke-static {p0}, Lcom/blankj/utilcode/util/ArrayUtils;->realCopy(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v2

    return-object v2

    .line 693
    :cond_3a
    if-gt p1, v0, :cond_6d

    if-ltz p1, :cond_6d

    .line 696
    invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/Class;->getComponentType()Ljava/lang/Class;

    move-result-object v2

    add-int v3, v0, v1

    invoke-static {v2, v3}, Ljava/lang/reflect/Array;->newInstance(Ljava/lang/Class;I)Ljava/lang/Object;

    move-result-object v2

    .line 697
    .local v2, "joinedArray":Ljava/lang/Object;
    const/4 v3, 0x0

    if-ne p1, v0, :cond_56

    .line 698
    invoke-static {p0, v3, v2, v3, v0}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V

    .line 699
    invoke-static {p2, v3, v2, v0, v1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V

    goto :goto_6c

    .line 700
    :cond_56
    if-nez p1, :cond_5f

    .line 701
    invoke-static {p2, v3, v2, v3, v1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V

    .line 702
    invoke-static {p0, v3, v2, v1, v0}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V

    goto :goto_6c

    .line 704
    :cond_5f
    invoke-static {p0, v3, v2, v3, p1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V

    .line 705
    invoke-static {p2, v3, v2, p1, v1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V

    .line 706
    add-int v3, p1, v1

    sub-int v4, v0, p1

    invoke-static {p0, p1, v2, v3, v4}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V

    .line 708
    :goto_6c
    return-object v2

    .line 694
    .end local v2    # "joinedArray":Ljava/lang/Object;
    :cond_6d
    new-instance v3, Ljava/lang/IndexOutOfBoundsException;

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string v2, ", array1 Length: "

    invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-direct {v3, v2}, Ljava/lang/IndexOutOfBoundsException;-><init>(Ljava/lang/String;)V

    throw v3
.end method

.method private static realAddArr(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    .registers 6
    .param p0, "array1"    # Ljava/lang/Object;
    .param p1, "array2"    # Ljava/lang/Object;

    .line 593
    if-nez p0, :cond_6

    if-nez p1, :cond_6

    const/4 v0, 0x0

    return-object v0

    .line 594
    :cond_6
    if-nez p0, :cond_d

    .line 595
    invoke-static {p1}, Lcom/blankj/utilcode/util/ArrayUtils;->realCopy(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    return-object v0

    .line 597
    :cond_d
    if-nez p1, :cond_14

    .line 598
    invoke-static {p0}, Lcom/blankj/utilcode/util/ArrayUtils;->realCopy(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    return-object v0

    .line 600
    :cond_14
    invoke-static {p0}, Lcom/blankj/utilcode/util/ArrayUtils;->getLength(Ljava/lang/Object;)I

    move-result v0

    .line 601
    .local v0, "len1":I
    invoke-static {p1}, Lcom/blankj/utilcode/util/ArrayUtils;->getLength(Ljava/lang/Object;)I

    move-result v1

    .line 602
    .local v1, "len2":I
    invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/Class;->getComponentType()Ljava/lang/Class;

    move-result-object v2

    add-int v3, v0, v1

    invoke-static {v2, v3}, Ljava/lang/reflect/Array;->newInstance(Ljava/lang/Class;I)Ljava/lang/Object;

    move-result-object v2

    .line 603
    .local v2, "joinedArray":Ljava/lang/Object;
    const/4 v3, 0x0

    invoke-static {p0, v3, v2, v3, v0}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V

    .line 604
    invoke-static {p1, v3, v2, v0, v1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V

    .line 605
    return-object v2
.end method

.method private static realAddOne(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
    .registers 6
    .param p0, "array"    # Ljava/lang/Object;
    .param p1, "element"    # Ljava/lang/Object;
    .param p2, "newArrayComponentType"    # Ljava/lang/Class;

    .line 524
    const/4 v0, 0x0

    .line 525
    .local v0, "arrayLength":I
    if-eqz p0, :cond_1a

    .line 526
    invoke-static {p0}, Lcom/blankj/utilcode/util/ArrayUtils;->getLength(Ljava/lang/Object;)I

    move-result v0

    .line 527
    invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/Class;->getComponentType()Ljava/lang/Class;

    move-result-object v1

    add-int/lit8 v2, v0, 0x1

    invoke-static {v1, v2}, Ljava/lang/reflect/Array;->newInstance(Ljava/lang/Class;I)Ljava/lang/Object;

    move-result-object v1

    .line 528
    .local v1, "newArray":Ljava/lang/Object;
    const/4 v2, 0x0

    invoke-static {p0, v2, v1, v2, v0}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V

    goto :goto_1f

    .line 530
    .end local v1    # "newArray":Ljava/lang/Object;
    :cond_1a
    const/4 v1, 0x1

    invoke-static {p2, v1}, Ljava/lang/reflect/Array;->newInstance(Ljava/lang/Class;I)Ljava/lang/Object;

    move-result-object v1

    .line 532
    .restart local v1    # "newArray":Ljava/lang/Object;
    :goto_1f
    invoke-static {v1, v0, p1}, Ljava/lang/reflect/Array;->set(Ljava/lang/Object;ILjava/lang/Object;)V

    .line 533
    return-object v1
.end method

.method private static realCopy(Ljava/lang/Object;)Ljava/lang/Object;
    .registers 3
    .param p0, "array"    # Ljava/lang/Object;

    .line 393
    if-nez p0, :cond_4

    const/4 v0, 0x0

    return-object v0

    .line 394
    :cond_4
    const/4 v0, 0x0

    invoke-static {p0}, Lcom/blankj/utilcode/util/ArrayUtils;->getLength(Ljava/lang/Object;)I

    move-result v1

    invoke-static {p0, v0, v1}, Lcom/blankj/utilcode/util/ArrayUtils;->realSubArray(Ljava/lang/Object;II)Ljava/lang/Object;

    move-result-object v0

    return-object v0
.end method

.method private static realSubArray(Ljava/lang/Object;II)Ljava/lang/Object;
    .registers 8
    .param p0, "array"    # Ljava/lang/Object;
    .param p1, "startIndexInclusive"    # I
    .param p2, "endIndexExclusive"    # I

    .line 439
    if-nez p0, :cond_4

    .line 440
    const/4 v0, 0x0

    return-object v0

    .line 442
    :cond_4
    if-gez p1, :cond_7

    .line 443
    const/4 p1, 0x0

    .line 445
    :cond_7
    invoke-static {p0}, Lcom/blankj/utilcode/util/ArrayUtils;->getLength(Ljava/lang/Object;)I

    move-result v0

    .line 446
    .local v0, "length":I
    if-le p2, v0, :cond_e

    .line 447
    move p2, v0

    .line 449
    :cond_e
    sub-int v1, p2, p1

    .line 450
    .local v1, "newSize":I
    invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/Class;->getComponentType()Ljava/lang/Class;

    move-result-object v2

    .line 451
    .local v2, "type":Ljava/lang/Class;
    const/4 v3, 0x0

    if-gtz v1, :cond_20

    .line 452
    invoke-static {v2, v3}, Ljava/lang/reflect/Array;->newInstance(Ljava/lang/Class;I)Ljava/lang/Object;

    move-result-object v3

    return-object v3

    .line 454
    :cond_20
    invoke-static {v2, v1}, Ljava/lang/reflect/Array;->newInstance(Ljava/lang/Class;I)Ljava/lang/Object;

    move-result-object v4

    .line 455
    .local v4, "subArray":Ljava/lang/Object;
    invoke-static {p0, p1, v4, v3, v1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V

    .line 456
    return-object v4
.end method

.method private static remove(Ljava/lang/Object;I)Ljava/lang/Object;
    .registers 6
    .param p0, "array"    # Ljava/lang/Object;
    .param p1, "index"    # I

    .line 971
    invoke-static {p0}, Lcom/blankj/utilcode/util/ArrayUtils;->getLength(Ljava/lang/Object;)I

    move-result v0

    .line 972
    .local v0, "length":I
    if-ltz p1, :cond_28

    if-ge p1, v0, :cond_28

    .line 976
    invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/Class;->getComponentType()Ljava/lang/Class;

    move-result-object v1

    add-int/lit8 v2, v0, -0x1

    invoke-static {v1, v2}, Ljava/lang/reflect/Array;->newInstance(Ljava/lang/Class;I)Ljava/lang/Object;

    move-result-object v1

    .line 977
    .local v1, "result":Ljava/lang/Object;
    const/4 v2, 0x0

    invoke-static {p0, v2, v1, v2, p1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V

    .line 978
    add-int/lit8 v2, v0, -0x1

    if-ge p1, v2, :cond_27

    .line 979
    add-int/lit8 v2, p1, 0x1

    sub-int v3, v0, p1

    add-int/lit8 v3, v3, -0x1

    invoke-static {p0, v2, v1, p1, v3}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V

    .line 982
    :cond_27
    return-object v1

    .line 973
    .end local v1    # "result":Ljava/lang/Object;
    :cond_28
    new-instance v1, Ljava/lang/IndexOutOfBoundsException;

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "Index: "

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string v3, ", Length: "

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-direct {v1, v2}, Ljava/lang/IndexOutOfBoundsException;-><init>(Ljava/lang/String;)V

    throw v1
.end method

.method public static remove([BI)[B
    .registers 3
    .param p0, "array"    # [B
    .param p1, "index"    # I

    .line 887
    invoke-static {p0, p1}, Lcom/blankj/utilcode/util/ArrayUtils;->remove(Ljava/lang/Object;I)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [B

    check-cast v0, [B

    return-object v0
.end method

.method public static remove([CI)[C
    .registers 3
    .param p0, "array"    # [C
    .param p1, "index"    # I

    .line 899
    invoke-static {p0, p1}, Lcom/blankj/utilcode/util/ArrayUtils;->remove(Ljava/lang/Object;I)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [C

    check-cast v0, [C

    return-object v0
.end method

.method public static remove([DI)[D
    .registers 3
    .param p0, "array"    # [D
    .param p1, "index"    # I

    .line 911
    invoke-static {p0, p1}, Lcom/blankj/utilcode/util/ArrayUtils;->remove(Ljava/lang/Object;I)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [D

    check-cast v0, [D

    return-object v0
.end method

.method public static remove([FI)[F
    .registers 3
    .param p0, "array"    # [F
    .param p1, "index"    # I

    .line 923
    invoke-static {p0, p1}, Lcom/blankj/utilcode/util/ArrayUtils;->remove(Ljava/lang/Object;I)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [F

    check-cast v0, [F

    return-object v0
.end method

.method public static remove([II)[I
    .registers 3
    .param p0, "array"    # [I
    .param p1, "index"    # I

    .line 935
    invoke-static {p0, p1}, Lcom/blankj/utilcode/util/ArrayUtils;->remove(Ljava/lang/Object;I)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [I

    check-cast v0, [I

    return-object v0
.end method

.method public static remove([JI)[J
    .registers 3
    .param p0, "array"    # [J
    .param p1, "index"    # I

    .line 947
    invoke-static {p0, p1}, Lcom/blankj/utilcode/util/ArrayUtils;->remove(Ljava/lang/Object;I)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [J

    check-cast v0, [J

    return-object v0
.end method

.method public static remove([Ljava/lang/Object;I)[Ljava/lang/Object;
    .registers 3
    .param p0, "array"    # [Ljava/lang/Object;
    .param p1, "index"    # I

    .line 838
    invoke-static {p0, p1}, Lcom/blankj/utilcode/util/ArrayUtils;->remove(Ljava/lang/Object;I)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [Ljava/lang/Object;

    check-cast v0, [Ljava/lang/Object;

    return-object v0
.end method

.method public static remove([SI)[S
    .registers 3
    .param p0, "array"    # [S
    .param p1, "index"    # I

    .line 959
    invoke-static {p0, p1}, Lcom/blankj/utilcode/util/ArrayUtils;->remove(Ljava/lang/Object;I)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [S

    check-cast v0, [S

    return-object v0
.end method

.method public static remove([ZI)[Z
    .registers 3
    .param p0, "array"    # [Z
    .param p1, "index"    # I

    .line 875
    invoke-static {p0, p1}, Lcom/blankj/utilcode/util/ArrayUtils;->remove(Ljava/lang/Object;I)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [Z

    check-cast v0, [Z

    return-object v0
.end method

.method public static removeElement([BB)[B
    .registers 4
    .param p0, "array"    # [B
    .param p1, "element"    # B

    .line 891
    invoke-static {p0, p1}, Lcom/blankj/utilcode/util/ArrayUtils;->indexOf([BB)I

    move-result v0

    .line 892
    .local v0, "index":I
    const/4 v1, -0x1

    if-ne v0, v1, :cond_c

    .line 893
    invoke-static {p0}, Lcom/blankj/utilcode/util/ArrayUtils;->copy([B)[B

    move-result-object v1

    return-object v1

    .line 895
    :cond_c
    invoke-static {p0, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->remove([BI)[B

    move-result-object v1

    return-object v1
.end method

.method public static removeElement([CC)[C
    .registers 4
    .param p0, "array"    # [C
    .param p1, "element"    # C

    .line 903
    invoke-static {p0, p1}, Lcom/blankj/utilcode/util/ArrayUtils;->indexOf([CC)I

    move-result v0

    .line 904
    .local v0, "index":I
    const/4 v1, -0x1

    if-ne v0, v1, :cond_c

    .line 905
    invoke-static {p0}, Lcom/blankj/utilcode/util/ArrayUtils;->copy([C)[C

    move-result-object v1

    return-object v1

    .line 907
    :cond_c
    invoke-static {p0, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->remove([CI)[C

    move-result-object v1

    return-object v1
.end method

.method public static removeElement([DD)[D
    .registers 5
    .param p0, "array"    # [D
    .param p1, "element"    # D

    .line 915
    invoke-static {p0, p1, p2}, Lcom/blankj/utilcode/util/ArrayUtils;->indexOf([DD)I

    move-result v0

    .line 916
    .local v0, "index":I
    const/4 v1, -0x1

    if-ne v0, v1, :cond_c

    .line 917
    invoke-static {p0}, Lcom/blankj/utilcode/util/ArrayUtils;->copy([D)[D

    move-result-object v1

    return-object v1

    .line 919
    :cond_c
    invoke-static {p0, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->remove([DI)[D

    move-result-object v1

    return-object v1
.end method

.method public static removeElement([FF)[F
    .registers 4
    .param p0, "array"    # [F
    .param p1, "element"    # F

    .line 927
    invoke-static {p0, p1}, Lcom/blankj/utilcode/util/ArrayUtils;->indexOf([FF)I

    move-result v0

    .line 928
    .local v0, "index":I
    const/4 v1, -0x1

    if-ne v0, v1, :cond_c

    .line 929
    invoke-static {p0}, Lcom/blankj/utilcode/util/ArrayUtils;->copy([F)[F

    move-result-object v1

    return-object v1

    .line 931
    :cond_c
    invoke-static {p0, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->remove([FI)[F

    move-result-object v1

    return-object v1
.end method

.method public static removeElement([II)[I
    .registers 4
    .param p0, "array"    # [I
    .param p1, "element"    # I

    .line 939
    invoke-static {p0, p1}, Lcom/blankj/utilcode/util/ArrayUtils;->indexOf([II)I

    move-result v0

    .line 940
    .local v0, "index":I
    const/4 v1, -0x1

    if-ne v0, v1, :cond_c

    .line 941
    invoke-static {p0}, Lcom/blankj/utilcode/util/ArrayUtils;->copy([I)[I

    move-result-object v1

    return-object v1

    .line 943
    :cond_c
    invoke-static {p0, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->remove([II)[I

    move-result-object v1

    return-object v1
.end method

.method public static removeElement([JJ)[J
    .registers 5
    .param p0, "array"    # [J
    .param p1, "element"    # J

    .line 951
    invoke-static {p0, p1, p2}, Lcom/blankj/utilcode/util/ArrayUtils;->indexOf([JJ)I

    move-result v0

    .line 952
    .local v0, "index":I
    const/4 v1, -0x1

    if-ne v0, v1, :cond_c

    .line 953
    invoke-static {p0}, Lcom/blankj/utilcode/util/ArrayUtils;->copy([J)[J

    move-result-object v1

    return-object v1

    .line 955
    :cond_c
    invoke-static {p0, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->remove([JI)[J

    move-result-object v1

    return-object v1
.end method

.method public static removeElement([Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
    .registers 4
    .param p0, "array"    # [Ljava/lang/Object;
    .param p1, "element"    # Ljava/lang/Object;

    .line 867
    invoke-static {p0, p1}, Lcom/blankj/utilcode/util/ArrayUtils;->indexOf([Ljava/lang/Object;Ljava/lang/Object;)I

    move-result v0

    .line 868
    .local v0, "index":I
    const/4 v1, -0x1

    if-ne v0, v1, :cond_c

    .line 869
    invoke-static {p0}, Lcom/blankj/utilcode/util/ArrayUtils;->copy([Ljava/lang/Object;)[Ljava/lang/Object;

    move-result-object v1

    return-object v1

    .line 871
    :cond_c
    invoke-static {p0, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->remove([Ljava/lang/Object;I)[Ljava/lang/Object;

    move-result-object v1

    return-object v1
.end method

.method public static removeElement([SS)[S
    .registers 4
    .param p0, "array"    # [S
    .param p1, "element"    # S

    .line 963
    invoke-static {p0, p1}, Lcom/blankj/utilcode/util/ArrayUtils;->indexOf([SS)I

    move-result v0

    .line 964
    .local v0, "index":I
    const/4 v1, -0x1

    if-ne v0, v1, :cond_c

    .line 965
    invoke-static {p0}, Lcom/blankj/utilcode/util/ArrayUtils;->copy([S)[S

    move-result-object v1

    return-object v1

    .line 967
    :cond_c
    invoke-static {p0, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->remove([SI)[S

    move-result-object v1

    return-object v1
.end method

.method public static removeElement([ZZ)[Z
    .registers 4
    .param p0, "array"    # [Z
    .param p1, "element"    # Z

    .line 879
    invoke-static {p0, p1}, Lcom/blankj/utilcode/util/ArrayUtils;->indexOf([ZZ)I

    move-result v0

    .line 880
    .local v0, "index":I
    const/4 v1, -0x1

    if-ne v0, v1, :cond_c

    .line 881
    invoke-static {p0}, Lcom/blankj/utilcode/util/ArrayUtils;->copy([Z)[Z

    move-result-object v1

    return-object v1

    .line 883
    :cond_c
    invoke-static {p0, v0}, Lcom/blankj/utilcode/util/ArrayUtils;->remove([ZI)[Z

    move-result-object v1

    return-object v1
.end method

.method public static reverse([B)V
    .registers 5
    .param p0, "array"    # [B

    .line 268
    if-nez p0, :cond_3

    .line 269
    return-void

    .line 271
    :cond_3
    const/4 v0, 0x0

    .line 272
    .local v0, "i":I
    array-length v1, p0

    add-int/lit8 v1, v1, -0x1

    .line 274
    .local v1, "j":I
    :goto_7
    if-le v1, v0, :cond_16

    .line 275
    aget-byte v2, p0, v1

    .line 276
    .local v2, "tmp":B
    aget-byte v3, p0, v0

    aput-byte v3, p0, v1

    .line 277
    aput-byte v2, p0, v0

    .line 278
    add-int/lit8 v1, v1, -0x1

    .line 279
    add-int/lit8 v0, v0, 0x1

    goto :goto_7

    .line 281
    .end local v2    # "tmp":B
    :cond_16
    return-void
.end method

.method public static reverse([C)V
    .registers 5
    .param p0, "array"    # [C

    .line 252
    if-nez p0, :cond_3

    .line 253
    return-void

    .line 255
    :cond_3
    const/4 v0, 0x0

    .line 256
    .local v0, "i":I
    array-length v1, p0

    add-int/lit8 v1, v1, -0x1

    .line 258
    .local v1, "j":I
    :goto_7
    if-le v1, v0, :cond_16

    .line 259
    aget-char v2, p0, v1

    .line 260
    .local v2, "tmp":C
    aget-char v3, p0, v0

    aput-char v3, p0, v1

    .line 261
    aput-char v2, p0, v0

    .line 262
    add-int/lit8 v1, v1, -0x1

    .line 263
    add-int/lit8 v0, v0, 0x1

    goto :goto_7

    .line 265
    .end local v2    # "tmp":C
    :cond_16
    return-void
.end method

.method public static reverse([D)V
    .registers 7
    .param p0, "array"    # [D

    .line 284
    if-nez p0, :cond_3

    .line 285
    return-void

    .line 287
    :cond_3
    const/4 v0, 0x0

    .line 288
    .local v0, "i":I
    array-length v1, p0

    add-int/lit8 v1, v1, -0x1

    .line 290
    .local v1, "j":I
    :goto_7
    if-le v1, v0, :cond_16

    .line 291
    aget-wide v2, p0, v1

    .line 292
    .local v2, "tmp":D
    aget-wide v4, p0, v0

    aput-wide v4, p0, v1

    .line 293
    aput-wide v2, p0, v0

    .line 294
    add-int/lit8 v1, v1, -0x1

    .line 295
    add-int/lit8 v0, v0, 0x1

    goto :goto_7

    .line 297
    .end local v2    # "tmp":D
    :cond_16
    return-void
.end method

.method public static reverse([F)V
    .registers 5
    .param p0, "array"    # [F

    .line 300
    if-nez p0, :cond_3

    .line 301
    return-void

    .line 303
    :cond_3
    const/4 v0, 0x0

    .line 304
    .local v0, "i":I
    array-length v1, p0

    add-int/lit8 v1, v1, -0x1

    .line 306
    .local v1, "j":I
    :goto_7
    if-le v1, v0, :cond_16

    .line 307
    aget v2, p0, v1

    .line 308
    .local v2, "tmp":F
    aget v3, p0, v0

    aput v3, p0, v1

    .line 309
    aput v2, p0, v0

    .line 310
    add-int/lit8 v1, v1, -0x1

    .line 311
    add-int/lit8 v0, v0, 0x1

    goto :goto_7

    .line 313
    .end local v2    # "tmp":F
    :cond_16
    return-void
.end method

.method public static reverse([I)V
    .registers 5
    .param p0, "array"    # [I

    .line 220
    if-nez p0, :cond_3

    .line 221
    return-void

    .line 223
    :cond_3
    const/4 v0, 0x0

    .line 224
    .local v0, "i":I
    array-length v1, p0

    add-int/lit8 v1, v1, -0x1

    .line 226
    .local v1, "j":I
    :goto_7
    if-le v1, v0, :cond_16

    .line 227
    aget v2, p0, v1

    .line 228
    .local v2, "tmp":I
    aget v3, p0, v0

    aput v3, p0, v1

    .line 229
    aput v2, p0, v0

    .line 230
    add-int/lit8 v1, v1, -0x1

    .line 231
    add-int/lit8 v0, v0, 0x1

    goto :goto_7

    .line 233
    .end local v2    # "tmp":I
    :cond_16
    return-void
.end method

.method public static reverse([J)V
    .registers 7
    .param p0, "array"    # [J

    .line 204
    if-nez p0, :cond_3

    .line 205
    return-void

    .line 207
    :cond_3
    const/4 v0, 0x0

    .line 208
    .local v0, "i":I
    array-length v1, p0

    add-int/lit8 v1, v1, -0x1

    .line 210
    .local v1, "j":I
    :goto_7
    if-le v1, v0, :cond_16

    .line 211
    aget-wide v2, p0, v1

    .line 212
    .local v2, "tmp":J
    aget-wide v4, p0, v0

    aput-wide v4, p0, v1

    .line 213
    aput-wide v2, p0, v0

    .line 214
    add-int/lit8 v1, v1, -0x1

    .line 215
    add-int/lit8 v0, v0, 0x1

    goto :goto_7

    .line 217
    .end local v2    # "tmp":J
    :cond_16
    return-void
.end method

.method public static reverse([Ljava/lang/Object;)V
    .registers 5
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<T:",
            "Ljava/lang/Object;",
            ">([TT;)V"
        }
    .end annotation

    .line 188
    .local p0, "array":[Ljava/lang/Object;, "[TT;"
    if-nez p0, :cond_3

    .line 189
    return-void

    .line 191
    :cond_3
    const/4 v0, 0x0

    .line 192
    .local v0, "i":I
    array-length v1, p0

    add-int/lit8 v1, v1, -0x1

    .line 194
    .local v1, "j":I
    :goto_7
    if-le v1, v0, :cond_16

    .line 195
    aget-object v2, p0, v1

    .line 196
    .local v2, "tmp":Ljava/lang/Object;, "TT;"
    aget-object v3, p0, v0

    aput-object v3, p0, v1

    .line 197
    aput-object v2, p0, v0

    .line 198
    add-int/lit8 v1, v1, -0x1

    .line 199
    add-int/lit8 v0, v0, 0x1

    goto :goto_7

    .line 201
    .end local v2    # "tmp":Ljava/lang/Object;, "TT;"
    :cond_16
    return-void
.end method

.method public static reverse([S)V
    .registers 5
    .param p0, "array"    # [S

    .line 236
    if-nez p0, :cond_3

    .line 237
    return-void

    .line 239
    :cond_3
    const/4 v0, 0x0

    .line 240
    .local v0, "i":I
    array-length v1, p0

    add-int/lit8 v1, v1, -0x1

    .line 242
    .local v1, "j":I
    :goto_7
    if-le v1, v0, :cond_16

    .line 243
    aget-short v2, p0, v1

    .line 244
    .local v2, "tmp":S
    aget-short v3, p0, v0

    aput-short v3, p0, v1

    .line 245
    aput-short v2, p0, v0

    .line 246
    add-int/lit8 v1, v1, -0x1

    .line 247
    add-int/lit8 v0, v0, 0x1

    goto :goto_7

    .line 249
    .end local v2    # "tmp":S
    :cond_16
    return-void
.end method

.method public static reverse([Z)V
    .registers 5
    .param p0, "array"    # [Z

    .line 316
    if-nez p0, :cond_3

    .line 317
    return-void

    .line 319
    :cond_3
    const/4 v0, 0x0

    .line 320
    .local v0, "i":I
    array-length v1, p0

    add-int/lit8 v1, v1, -0x1

    .line 322
    .local v1, "j":I
    :goto_7
    if-le v1, v0, :cond_16

    .line 323
    aget-boolean v2, p0, v1

    .line 324
    .local v2, "tmp":Z
    aget-boolean v3, p0, v0

    aput-boolean v3, p0, v1

    .line 325
    aput-boolean v2, p0, v0

    .line 326
    add-int/lit8 v1, v1, -0x1

    .line 327
    add-int/lit8 v0, v0, 0x1

    goto :goto_7

    .line 329
    .end local v2    # "tmp":Z
    :cond_16
    return-void
.end method

.method public static set(Ljava/lang/Object;ILjava/lang/Object;)V
    .registers 3
    .param p0, "array"    # Ljava/lang/Object;
    .param p1, "index"    # I
    .param p2, "value"    # Ljava/lang/Object;

    .line 131
    if-nez p0, :cond_3

    return-void

    .line 132
    :cond_3
    invoke-static {p0, p1, p2}, Ljava/lang/reflect/Array;->set(Ljava/lang/Object;ILjava/lang/Object;)V

    .line 133
    return-void
.end method

.method public static sort([B)V
    .registers 3
    .param p0, "array"    # [B

    .line 1864
    if-eqz p0, :cond_b

    array-length v0, p0

    const/4 v1, 0x2

    if-ge v0, v1, :cond_7

    goto :goto_b

    .line 1865
    :cond_7
    invoke-static {p0}, Ljava/util/Arrays;->sort([B)V

    .line 1866
    return-void

    .line 1864
    :cond_b
    :goto_b
    return-void
.end method

.method public static sort([C)V
    .registers 3
    .param p0, "array"    # [C

    .line 1869
    if-eqz p0, :cond_b

    array-length v0, p0

    const/4 v1, 0x2

    if-ge v0, v1, :cond_7

    goto :goto_b

    .line 1870
    :cond_7
    invoke-static {p0}, Ljava/util/Arrays;->sort([C)V

    .line 1871
    return-void

    .line 1869
    :cond_b
    :goto_b
    return-void
.end method

.method public static sort([D)V
    .registers 3
    .param p0, "array"    # [D

    .line 1874
    if-eqz p0, :cond_b

    array-length v0, p0

    const/4 v1, 0x2

    if-ge v0, v1, :cond_7

    goto :goto_b

    .line 1875
    :cond_7
    invoke-static {p0}, Ljava/util/Arrays;->sort([D)V

    .line 1876
    return-void

    .line 1874
    :cond_b
    :goto_b
    return-void
.end method

.method public static sort([F)V
    .registers 3
    .param p0, "array"    # [F

    .line 1879
    if-eqz p0, :cond_b

    array-length v0, p0

    const/4 v1, 0x2

    if-ge v0, v1, :cond_7

    goto :goto_b

    .line 1880
    :cond_7
    invoke-static {p0}, Ljava/util/Arrays;->sort([F)V

    .line 1881
    return-void

    .line 1879
    :cond_b
    :goto_b
    return-void
.end method

.method public static sort([I)V
    .registers 3
    .param p0, "array"    # [I

    .line 1884
    if-eqz p0, :cond_b

    array-length v0, p0

    const/4 v1, 0x2

    if-ge v0, v1, :cond_7

    goto :goto_b

    .line 1885
    :cond_7
    invoke-static {p0}, Ljava/util/Arrays;->sort([I)V

    .line 1886
    return-void

    .line 1884
    :cond_b
    :goto_b
    return-void
.end method

.method public static sort([J)V
    .registers 3
    .param p0, "array"    # [J

    .line 1889
    if-eqz p0, :cond_b

    array-length v0, p0

    const/4 v1, 0x2

    if-ge v0, v1, :cond_7

    goto :goto_b

    .line 1890
    :cond_7
    invoke-static {p0}, Ljava/util/Arrays;->sort([J)V

    .line 1891
    return-void

    .line 1889
    :cond_b
    :goto_b
    return-void
.end method

.method public static sort([Ljava/lang/Object;Ljava/util/Comparator;)V
    .registers 4
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<T:",
            "Ljava/lang/Object;",
            ">([TT;",
            "Ljava/util/Comparator<",
            "-TT;>;)V"
        }
    .end annotation

    .line 1859
    .local p0, "array":[Ljava/lang/Object;, "[TT;"
    .local p1, "c":Ljava/util/Comparator;, "Ljava/util/Comparator<-TT;>;"
    if-eqz p0, :cond_b

    array-length v0, p0

    const/4 v1, 0x2

    if-ge v0, v1, :cond_7

    goto :goto_b

    .line 1860
    :cond_7
    invoke-static {p0, p1}, Ljava/util/Arrays;->sort([Ljava/lang/Object;Ljava/util/Comparator;)V

    .line 1861
    return-void

    .line 1859
    :cond_b
    :goto_b
    return-void
.end method

.method public static sort([S)V
    .registers 3
    .param p0, "array"    # [S

    .line 1894
    if-eqz p0, :cond_b

    array-length v0, p0

    const/4 v1, 0x2

    if-ge v0, v1, :cond_7

    goto :goto_b

    .line 1895
    :cond_7
    invoke-static {p0}, Ljava/util/Arrays;->sort([S)V

    .line 1896
    return-void

    .line 1894
    :cond_b
    :goto_b
    return-void
.end method

.method public static subArray([BII)[B
    .registers 4
    .param p0, "array"    # [B
    .param p1, "startIndexInclusive"    # I
    .param p2, "endIndexExclusive"    # I

    .line 423
    invoke-static {p0, p1, p2}, Lcom/blankj/utilcode/util/ArrayUtils;->realSubArray(Ljava/lang/Object;II)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [B

    check-cast v0, [B

    return-object v0
.end method

.method public static subArray([CII)[C
    .registers 4
    .param p0, "array"    # [C
    .param p1, "startIndexInclusive"    # I
    .param p2, "endIndexExclusive"    # I

    .line 419
    invoke-static {p0, p1, p2}, Lcom/blankj/utilcode/util/ArrayUtils;->realSubArray(Ljava/lang/Object;II)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [C

    check-cast v0, [C

    return-object v0
.end method

.method public static subArray([DII)[D
    .registers 4
    .param p0, "array"    # [D
    .param p1, "startIndexInclusive"    # I
    .param p2, "endIndexExclusive"    # I

    .line 427
    invoke-static {p0, p1, p2}, Lcom/blankj/utilcode/util/ArrayUtils;->realSubArray(Ljava/lang/Object;II)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [D

    check-cast v0, [D

    return-object v0
.end method

.method public static subArray([FII)[F
    .registers 4
    .param p0, "array"    # [F
    .param p1, "startIndexInclusive"    # I
    .param p2, "endIndexExclusive"    # I

    .line 431
    invoke-static {p0, p1, p2}, Lcom/blankj/utilcode/util/ArrayUtils;->realSubArray(Ljava/lang/Object;II)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [F

    check-cast v0, [F

    return-object v0
.end method

.method public static subArray([III)[I
    .registers 4
    .param p0, "array"    # [I
    .param p1, "startIndexInclusive"    # I
    .param p2, "endIndexExclusive"    # I

    .line 411
    invoke-static {p0, p1, p2}, Lcom/blankj/utilcode/util/ArrayUtils;->realSubArray(Ljava/lang/Object;II)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [I

    check-cast v0, [I

    return-object v0
.end method

.method public static subArray([JII)[J
    .registers 4
    .param p0, "array"    # [J
    .param p1, "startIndexInclusive"    # I
    .param p2, "endIndexExclusive"    # I

    .line 407
    invoke-static {p0, p1, p2}, Lcom/blankj/utilcode/util/ArrayUtils;->realSubArray(Ljava/lang/Object;II)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [J

    check-cast v0, [J

    return-object v0
.end method

.method public static subArray([Ljava/lang/Object;II)[Ljava/lang/Object;
    .registers 4
    .param p1, "startIndexInclusive"    # I
    .param p2, "endIndexExclusive"    # I
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<T:",
            "Ljava/lang/Object;",
            ">([TT;II)[TT;"
        }
    .end annotation

    .line 403
    .local p0, "array":[Ljava/lang/Object;, "[TT;"
    invoke-static {p0, p1, p2}, Lcom/blankj/utilcode/util/ArrayUtils;->realSubArray(Ljava/lang/Object;II)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [Ljava/lang/Object;

    check-cast v0, [Ljava/lang/Object;

    return-object v0
.end method

.method public static subArray([SII)[S
    .registers 4
    .param p0, "array"    # [S
    .param p1, "startIndexInclusive"    # I
    .param p2, "endIndexExclusive"    # I

    .line 415
    invoke-static {p0, p1, p2}, Lcom/blankj/utilcode/util/ArrayUtils;->realSubArray(Ljava/lang/Object;II)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [S

    check-cast v0, [S

    return-object v0
.end method

.method public static subArray([ZII)[Z
    .registers 4
    .param p0, "array"    # [Z
    .param p1, "startIndexInclusive"    # I
    .param p2, "endIndexExclusive"    # I

    .line 435
    invoke-static {p0, p1, p2}, Lcom/blankj/utilcode/util/ArrayUtils;->realSubArray(Ljava/lang/Object;II)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [Z

    check-cast v0, [Z

    return-object v0
.end method

.method public static toObject([Z)[Ljava/lang/Boolean;
    .registers 4
    .param p0, "array"    # [Z

    .line 1821
    if-nez p0, :cond_4

    .line 1822
    const/4 v0, 0x0

    return-object v0

    .line 1823
    :cond_4
    array-length v0, p0

    if-nez v0, :cond_b

    .line 1824
    const/4 v0, 0x0

    new-array v0, v0, [Ljava/lang/Boolean;

    return-object v0

    .line 1826
    :cond_b
    array-length v0, p0

    new-array v0, v0, [Ljava/lang/Boolean;

    .line 1827
    .local v0, "result":[Ljava/lang/Boolean;
    const/4 v1, 0x0

    .local v1, "i":I
    :goto_f
    array-length v2, p0

    if-ge v1, v2, :cond_20

    .line 1828
    aget-boolean v2, p0, v1

    if-eqz v2, :cond_19

    sget-object v2, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;

    goto :goto_1b

    :cond_19
    sget-object v2, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean;

    :goto_1b
    aput-object v2, v0, v1

    .line 1827
    add-int/lit8 v1, v1, 0x1

    goto :goto_f

    .line 1830
    .end local v1    # "i":I
    :cond_20
    return-object v0
.end method

.method public static toObject([B)[Ljava/lang/Byte;
    .registers 5
    .param p0, "array"    # [B

    .line 1689
    if-nez p0, :cond_4

    .line 1690
    const/4 v0, 0x0

    return-object v0

    .line 1691
    :cond_4
    array-length v0, p0

    if-nez v0, :cond_b

    .line 1692
    const/4 v0, 0x0

    new-array v0, v0, [Ljava/lang/Byte;

    return-object v0

    .line 1694
    :cond_b
    array-length v0, p0

    new-array v0, v0, [Ljava/lang/Byte;

    .line 1695
    .local v0, "result":[Ljava/lang/Byte;
    const/4 v1, 0x0

    .local v1, "i":I
    :goto_f
    array-length v2, p0

    if-ge v1, v2, :cond_1e

    .line 1696
    new-instance v2, Ljava/lang/Byte;

    aget-byte v3, p0, v1

    invoke-direct {v2, v3}, Ljava/lang/Byte;-><init>(B)V

    aput-object v2, v0, v1

    .line 1695
    add-int/lit8 v1, v1, 0x1

    goto :goto_f

    .line 1698
    .end local v1    # "i":I
    :cond_1e
    return-object v0
.end method

.method public static toObject([C)[Ljava/lang/Character;
    .registers 5
    .param p0, "array"    # [C

    .line 1513
    if-nez p0, :cond_4

    .line 1514
    const/4 v0, 0x0

    return-object v0

    .line 1515
    :cond_4
    array-length v0, p0

    if-nez v0, :cond_b

    .line 1516
    const/4 v0, 0x0

    new-array v0, v0, [Ljava/lang/Character;

    return-object v0

    .line 1518
    :cond_b
    array-length v0, p0

    new-array v0, v0, [Ljava/lang/Character;

    .line 1519
    .local v0, "result":[Ljava/lang/Character;
    const/4 v1, 0x0

    .local v1, "i":I
    :goto_f
    array-length v2, p0

    if-ge v1, v2, :cond_1e

    .line 1520
    new-instance v2, Ljava/lang/Character;

    aget-char v3, p0, v1

    invoke-direct {v2, v3}, Ljava/lang/Character;-><init>(C)V

    aput-object v2, v0, v1

    .line 1519
    add-int/lit8 v1, v1, 0x1

    goto :goto_f

    .line 1522
    .end local v1    # "i":I
    :cond_1e
    return-object v0
.end method

.method public static toObject([D)[Ljava/lang/Double;
    .registers 6
    .param p0, "array"    # [D

    .line 1733
    if-nez p0, :cond_4

    .line 1734
    const/4 v0, 0x0

    return-object v0

    .line 1735
    :cond_4
    array-length v0, p0

    if-nez v0, :cond_b

    .line 1736
    const/4 v0, 0x0

    new-array v0, v0, [Ljava/lang/Double;

    return-object v0

    .line 1738
    :cond_b
    array-length v0, p0

    new-array v0, v0, [Ljava/lang/Double;

    .line 1739
    .local v0, "result":[Ljava/lang/Double;
    const/4 v1, 0x0

    .local v1, "i":I
    :goto_f
    array-length v2, p0

    if-ge v1, v2, :cond_1e

    .line 1740
    new-instance v2, Ljava/lang/Double;

    aget-wide v3, p0, v1

    invoke-direct {v2, v3, v4}, Ljava/lang/Double;-><init>(D)V

    aput-object v2, v0, v1

    .line 1739
    add-int/lit8 v1, v1, 0x1

    goto :goto_f

    .line 1742
    .end local v1    # "i":I
    :cond_1e
    return-object v0
.end method

.method public static toObject([F)[Ljava/lang/Float;
    .registers 5
    .param p0, "array"    # [F

    .line 1777
    if-nez p0, :cond_4

    .line 1778
    const/4 v0, 0x0

    return-object v0

    .line 1779
    :cond_4
    array-length v0, p0

    if-nez v0, :cond_b

    .line 1780
    const/4 v0, 0x0

    new-array v0, v0, [Ljava/lang/Float;

    return-object v0

    .line 1782
    :cond_b
    array-length v0, p0

    new-array v0, v0, [Ljava/lang/Float;

    .line 1783
    .local v0, "result":[Ljava/lang/Float;
    const/4 v1, 0x0

    .local v1, "i":I
    :goto_f
    array-length v2, p0

    if-ge v1, v2, :cond_1e

    .line 1784
    new-instance v2, Ljava/lang/Float;

    aget v3, p0, v1

    invoke-direct {v2, v3}, Ljava/lang/Float;-><init>(F)V

    aput-object v2, v0, v1

    .line 1783
    add-int/lit8 v1, v1, 0x1

    goto :goto_f

    .line 1786
    .end local v1    # "i":I
    :cond_1e
    return-object v0
.end method

.method public static toObject([I)[Ljava/lang/Integer;
    .registers 5
    .param p0, "array"    # [I

    .line 1601
    if-nez p0, :cond_4

    .line 1602
    const/4 v0, 0x0

    return-object v0

    .line 1603
    :cond_4
    array-length v0, p0

    if-nez v0, :cond_b

    .line 1604
    const/4 v0, 0x0

    new-array v0, v0, [Ljava/lang/Integer;

    return-object v0

    .line 1606
    :cond_b
    array-length v0, p0

    new-array v0, v0, [Ljava/lang/Integer;

    .line 1607
    .local v0, "result":[Ljava/lang/Integer;
    const/4 v1, 0x0

    .local v1, "i":I
    :goto_f
    array-length v2, p0

    if-ge v1, v2, :cond_1e

    .line 1608
    new-instance v2, Ljava/lang/Integer;

    aget v3, p0, v1

    invoke-direct {v2, v3}, Ljava/lang/Integer;-><init>(I)V

    aput-object v2, v0, v1

    .line 1607
    add-int/lit8 v1, v1, 0x1

    goto :goto_f

    .line 1610
    .end local v1    # "i":I
    :cond_1e
    return-object v0
.end method

.method public static toObject([J)[Ljava/lang/Long;
    .registers 6
    .param p0, "array"    # [J

    .line 1557
    if-nez p0, :cond_4

    .line 1558
    const/4 v0, 0x0

    return-object v0

    .line 1559
    :cond_4
    array-length v0, p0

    if-nez v0, :cond_b

    .line 1560
    const/4 v0, 0x0

    new-array v0, v0, [Ljava/lang/Long;

    return-object v0

    .line 1562
    :cond_b
    array-length v0, p0

    new-array v0, v0, [Ljava/lang/Long;

    .line 1563
    .local v0, "result":[Ljava/lang/Long;
    const/4 v1, 0x0

    .local v1, "i":I
    :goto_f
    array-length v2, p0

    if-ge v1, v2, :cond_1e

    .line 1564
    new-instance v2, Ljava/lang/Long;

    aget-wide v3, p0, v1

    invoke-direct {v2, v3, v4}, Ljava/lang/Long;-><init>(J)V

    aput-object v2, v0, v1

    .line 1563
    add-int/lit8 v1, v1, 0x1

    goto :goto_f

    .line 1566
    .end local v1    # "i":I
    :cond_1e
    return-object v0
.end method

.method public static toObject([S)[Ljava/lang/Short;
    .registers 5
    .param p0, "array"    # [S

    .line 1645
    if-nez p0, :cond_4

    .line 1646
    const/4 v0, 0x0

    return-object v0

    .line 1647
    :cond_4
    array-length v0, p0

    if-nez v0, :cond_b

    .line 1648
    const/4 v0, 0x0

    new-array v0, v0, [Ljava/lang/Short;

    return-object v0

    .line 1650
    :cond_b
    array-length v0, p0

    new-array v0, v0, [Ljava/lang/Short;

    .line 1651
    .local v0, "result":[Ljava/lang/Short;
    const/4 v1, 0x0

    .local v1, "i":I
    :goto_f
    array-length v2, p0

    if-ge v1, v2, :cond_1e

    .line 1652
    new-instance v2, Ljava/lang/Short;

    aget-short v3, p0, v1

    invoke-direct {v2, v3}, Ljava/lang/Short;-><init>(S)V

    aput-object v2, v0, v1

    .line 1651
    add-int/lit8 v1, v1, 0x1

    goto :goto_f

    .line 1654
    .end local v1    # "i":I
    :cond_1e
    return-object v0
.end method

.method public static toPrimitive([Ljava/lang/Byte;)[B
    .registers 4
    .param p0, "array"    # [Ljava/lang/Byte;

    .line 1662
    if-nez p0, :cond_4

    .line 1663
    const/4 v0, 0x0

    return-object v0

    .line 1664
    :cond_4
    array-length v0, p0

    if-nez v0, :cond_b

    .line 1665
    const/4 v0, 0x0

    new-array v0, v0, [B

    return-object v0

    .line 1667
    :cond_b
    array-length v0, p0

    new-array v0, v0, [B

    .line 1668
    .local v0, "result":[B
    const/4 v1, 0x0

    .local v1, "i":I
    :goto_f
    array-length v2, p0

    if-ge v1, v2, :cond_1d

    .line 1669
    aget-object v2, p0, v1

    invoke-virtual {v2}, Ljava/lang/Byte;->byteValue()B

    move-result v2

    aput-byte v2, v0, v1

    .line 1668
    add-int/lit8 v1, v1, 0x1

    goto :goto_f

    .line 1671
    .end local v1    # "i":I
    :cond_1d
    return-object v0
.end method

.method public static toPrimitive([Ljava/lang/Byte;B)[B
    .registers 6
    .param p0, "array"    # [Ljava/lang/Byte;
    .param p1, "valueForNull"    # B

    .line 1675
    if-nez p0, :cond_4

    .line 1676
    const/4 v0, 0x0

    return-object v0

    .line 1677
    :cond_4
    array-length v0, p0

    if-nez v0, :cond_b

    .line 1678
    const/4 v0, 0x0

    new-array v0, v0, [B

    return-object v0

    .line 1680
    :cond_b
    array-length v0, p0

    new-array v0, v0, [B

    .line 1681
    .local v0, "result":[B
    const/4 v1, 0x0

    .local v1, "i":I
    :goto_f
    array-length v2, p0

    if-ge v1, v2, :cond_21

    .line 1682
    aget-object v2, p0, v1

    .line 1683
    .local v2, "b":Ljava/lang/Byte;
    if-nez v2, :cond_18

    move v3, p1

    goto :goto_1c

    :cond_18
    invoke-virtual {v2}, Ljava/lang/Byte;->byteValue()B

    move-result v3

    :goto_1c
    aput-byte v3, v0, v1

    .line 1681
    .end local v2    # "b":Ljava/lang/Byte;
    add-int/lit8 v1, v1, 0x1

    goto :goto_f

    .line 1685
    .end local v1    # "i":I
    :cond_21
    return-object v0
.end method

.method public static toPrimitive([Ljava/lang/Character;)[C
    .registers 4
    .param p0, "array"    # [Ljava/lang/Character;

    .line 1486
    if-nez p0, :cond_4

    .line 1487
    const/4 v0, 0x0

    return-object v0

    .line 1488
    :cond_4
    array-length v0, p0

    if-nez v0, :cond_b

    .line 1489
    const/4 v0, 0x0

    new-array v0, v0, [C

    return-object v0

    .line 1491
    :cond_b
    array-length v0, p0

    new-array v0, v0, [C

    .line 1492
    .local v0, "result":[C
    const/4 v1, 0x0

    .local v1, "i":I
    :goto_f
    array-length v2, p0

    if-ge v1, v2, :cond_1d

    .line 1493
    aget-object v2, p0, v1

    invoke-virtual {v2}, Ljava/lang/Character;->charValue()C

    move-result v2

    aput-char v2, v0, v1

    .line 1492
    add-int/lit8 v1, v1, 0x1

    goto :goto_f

    .line 1495
    .end local v1    # "i":I
    :cond_1d
    return-object v0
.end method

.method public static toPrimitive([Ljava/lang/Character;C)[C
    .registers 6
    .param p0, "array"    # [Ljava/lang/Character;
    .param p1, "valueForNull"    # C

    .line 1499
    if-nez p0, :cond_4

    .line 1500
    const/4 v0, 0x0

    return-object v0

    .line 1501
    :cond_4
    array-length v0, p0

    if-nez v0, :cond_b

    .line 1502
    const/4 v0, 0x0

    new-array v0, v0, [C

    return-object v0

    .line 1504
    :cond_b
    array-length v0, p0

    new-array v0, v0, [C

    .line 1505
    .local v0, "result":[C
    const/4 v1, 0x0

    .local v1, "i":I
    :goto_f
    array-length v2, p0

    if-ge v1, v2, :cond_21

    .line 1506
    aget-object v2, p0, v1

    .line 1507
    .local v2, "b":Ljava/lang/Character;
    if-nez v2, :cond_18

    move v3, p1

    goto :goto_1c

    :cond_18
    invoke-virtual {v2}, Ljava/lang/Character;->charValue()C

    move-result v3

    :goto_1c
    aput-char v3, v0, v1

    .line 1505
    .end local v2    # "b":Ljava/lang/Character;
    add-int/lit8 v1, v1, 0x1

    goto :goto_f

    .line 1509
    .end local v1    # "i":I
    :cond_21
    return-object v0
.end method

.method public static toPrimitive([Ljava/lang/Double;)[D
    .registers 5
    .param p0, "array"    # [Ljava/lang/Double;

    .line 1706
    if-nez p0, :cond_4

    .line 1707
    const/4 v0, 0x0

    return-object v0

    .line 1708
    :cond_4
    array-length v0, p0

    if-nez v0, :cond_b

    .line 1709
    const/4 v0, 0x0

    new-array v0, v0, [D

    return-object v0

    .line 1711
    :cond_b
    array-length v0, p0

    new-array v0, v0, [D

    .line 1712
    .local v0, "result":[D
    const/4 v1, 0x0

    .local v1, "i":I
    :goto_f
    array-length v2, p0

    if-ge v1, v2, :cond_1d

    .line 1713
    aget-object v2, p0, v1

    invoke-virtual {v2}, Ljava/lang/Double;->doubleValue()D

    move-result-wide v2

    aput-wide v2, v0, v1

    .line 1712
    add-int/lit8 v1, v1, 0x1

    goto :goto_f

    .line 1715
    .end local v1    # "i":I
    :cond_1d
    return-object v0
.end method

.method public static toPrimitive([Ljava/lang/Double;D)[D
    .registers 8
    .param p0, "array"    # [Ljava/lang/Double;
    .param p1, "valueForNull"    # D

    .line 1719
    if-nez p0, :cond_4

    .line 1720
    const/4 v0, 0x0

    return-object v0

    .line 1721
    :cond_4
    array-length v0, p0

    if-nez v0, :cond_b

    .line 1722
    const/4 v0, 0x0

    new-array v0, v0, [D

    return-object v0

    .line 1724
    :cond_b
    array-length v0, p0

    new-array v0, v0, [D

    .line 1725
    .local v0, "result":[D
    const/4 v1, 0x0

    .local v1, "i":I
    :goto_f
    array-length v2, p0

    if-ge v1, v2, :cond_21

    .line 1726
    aget-object v2, p0, v1

    .line 1727
    .local v2, "b":Ljava/lang/Double;
    if-nez v2, :cond_18

    move-wide v3, p1

    goto :goto_1c

    :cond_18
    invoke-virtual {v2}, Ljava/lang/Double;->doubleValue()D

    move-result-wide v3

    :goto_1c
    aput-wide v3, v0, v1

    .line 1725
    .end local v2    # "b":Ljava/lang/Double;
    add-int/lit8 v1, v1, 0x1

    goto :goto_f

    .line 1729
    .end local v1    # "i":I
    :cond_21
    return-object v0
.end method

.method public static toPrimitive([Ljava/lang/Float;)[F
    .registers 4
    .param p0, "array"    # [Ljava/lang/Float;

    .line 1750
    if-nez p0, :cond_4

    .line 1751
    const/4 v0, 0x0

    return-object v0

    .line 1752
    :cond_4
    array-length v0, p0

    if-nez v0, :cond_b

    .line 1753
    const/4 v0, 0x0

    new-array v0, v0, [F

    return-object v0

    .line 1755
    :cond_b
    array-length v0, p0

    new-array v0, v0, [F

    .line 1756
    .local v0, "result":[F
    const/4 v1, 0x0

    .local v1, "i":I
    :goto_f
    array-length v2, p0

    if-ge v1, v2, :cond_1d

    .line 1757
    aget-object v2, p0, v1

    invoke-virtual {v2}, Ljava/lang/Float;->floatValue()F

    move-result v2

    aput v2, v0, v1

    .line 1756
    add-int/lit8 v1, v1, 0x1

    goto :goto_f

    .line 1759
    .end local v1    # "i":I
    :cond_1d
    return-object v0
.end method

.method public static toPrimitive([Ljava/lang/Float;F)[F
    .registers 6
    .param p0, "array"    # [Ljava/lang/Float;
    .param p1, "valueForNull"    # F

    .line 1763
    if-nez p0, :cond_4

    .line 1764
    const/4 v0, 0x0

    return-object v0

    .line 1765
    :cond_4
    array-length v0, p0

    if-nez v0, :cond_b

    .line 1766
    const/4 v0, 0x0

    new-array v0, v0, [F

    return-object v0

    .line 1768
    :cond_b
    array-length v0, p0

    new-array v0, v0, [F

    .line 1769
    .local v0, "result":[F
    const/4 v1, 0x0

    .local v1, "i":I
    :goto_f
    array-length v2, p0

    if-ge v1, v2, :cond_21

    .line 1770
    aget-object v2, p0, v1

    .line 1771
    .local v2, "b":Ljava/lang/Float;
    if-nez v2, :cond_18

    move v3, p1

    goto :goto_1c

    :cond_18
    invoke-virtual {v2}, Ljava/lang/Float;->floatValue()F

    move-result v3

    :goto_1c
    aput v3, v0, v1

    .line 1769
    .end local v2    # "b":Ljava/lang/Float;
    add-int/lit8 v1, v1, 0x1

    goto :goto_f

    .line 1773
    .end local v1    # "i":I
    :cond_21
    return-object v0
.end method

.method public static toPrimitive([Ljava/lang/Integer;)[I
    .registers 4
    .param p0, "array"    # [Ljava/lang/Integer;

    .line 1574
    if-nez p0, :cond_4

    .line 1575
    const/4 v0, 0x0

    return-object v0

    .line 1576
    :cond_4
    array-length v0, p0

    if-nez v0, :cond_b

    .line 1577
    const/4 v0, 0x0

    new-array v0, v0, [I

    return-object v0

    .line 1579
    :cond_b
    array-length v0, p0

    new-array v0, v0, [I

    .line 1580
    .local v0, "result":[I
    const/4 v1, 0x0

    .local v1, "i":I
    :goto_f
    array-length v2, p0

    if-ge v1, v2, :cond_1d

    .line 1581
    aget-object v2, p0, v1

    invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I

    move-result v2

    aput v2, v0, v1

    .line 1580
    add-int/lit8 v1, v1, 0x1

    goto :goto_f

    .line 1583
    .end local v1    # "i":I
    :cond_1d
    return-object v0
.end method

.method public static toPrimitive([Ljava/lang/Integer;I)[I
    .registers 6
    .param p0, "array"    # [Ljava/lang/Integer;
    .param p1, "valueForNull"    # I

    .line 1587
    if-nez p0, :cond_4

    .line 1588
    const/4 v0, 0x0

    return-object v0

    .line 1589
    :cond_4
    array-length v0, p0

    if-nez v0, :cond_b

    .line 1590
    const/4 v0, 0x0

    new-array v0, v0, [I

    return-object v0

    .line 1592
    :cond_b
    array-length v0, p0

    new-array v0, v0, [I

    .line 1593
    .local v0, "result":[I
    const/4 v1, 0x0

    .local v1, "i":I
    :goto_f
    array-length v2, p0

    if-ge v1, v2, :cond_21

    .line 1594
    aget-object v2, p0, v1

    .line 1595
    .local v2, "b":Ljava/lang/Integer;
    if-nez v2, :cond_18

    move v3, p1

    goto :goto_1c

    :cond_18
    invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I

    move-result v3

    :goto_1c
    aput v3, v0, v1

    .line 1593
    .end local v2    # "b":Ljava/lang/Integer;
    add-int/lit8 v1, v1, 0x1

    goto :goto_f

    .line 1597
    .end local v1    # "i":I
    :cond_21
    return-object v0
.end method

.method public static toPrimitive([Ljava/lang/Long;)[J
    .registers 5
    .param p0, "array"    # [Ljava/lang/Long;

    .line 1530
    if-nez p0, :cond_4

    .line 1531
    const/4 v0, 0x0

    return-object v0

    .line 1532
    :cond_4
    array-length v0, p0

    if-nez v0, :cond_b

    .line 1533
    const/4 v0, 0x0

    new-array v0, v0, [J

    return-object v0

    .line 1535
    :cond_b
    array-length v0, p0

    new-array v0, v0, [J

    .line 1536
    .local v0, "result":[J
    const/4 v1, 0x0

    .local v1, "i":I
    :goto_f
    array-length v2, p0

    if-ge v1, v2, :cond_1d

    .line 1537
    aget-object v2, p0, v1

    invoke-virtual {v2}, Ljava/lang/Long;->longValue()J

    move-result-wide v2

    aput-wide v2, v0, v1

    .line 1536
    add-int/lit8 v1, v1, 0x1

    goto :goto_f

    .line 1539
    .end local v1    # "i":I
    :cond_1d
    return-object v0
.end method

.method public static toPrimitive([Ljava/lang/Long;J)[J
    .registers 8
    .param p0, "array"    # [Ljava/lang/Long;
    .param p1, "valueForNull"    # J

    .line 1543
    if-nez p0, :cond_4

    .line 1544
    const/4 v0, 0x0

    return-object v0

    .line 1545
    :cond_4
    array-length v0, p0

    if-nez v0, :cond_b

    .line 1546
    const/4 v0, 0x0

    new-array v0, v0, [J

    return-object v0

    .line 1548
    :cond_b
    array-length v0, p0

    new-array v0, v0, [J

    .line 1549
    .local v0, "result":[J
    const/4 v1, 0x0

    .local v1, "i":I
    :goto_f
    array-length v2, p0

    if-ge v1, v2, :cond_21

    .line 1550
    aget-object v2, p0, v1

    .line 1551
    .local v2, "b":Ljava/lang/Long;
    if-nez v2, :cond_18

    move-wide v3, p1

    goto :goto_1c

    :cond_18
    invoke-virtual {v2}, Ljava/lang/Long;->longValue()J

    move-result-wide v3

    :goto_1c
    aput-wide v3, v0, v1

    .line 1549
    .end local v2    # "b":Ljava/lang/Long;
    add-int/lit8 v1, v1, 0x1

    goto :goto_f

    .line 1553
    .end local v1    # "i":I
    :cond_21
    return-object v0
.end method

.method public static toPrimitive([Ljava/lang/Short;)[S
    .registers 4
    .param p0, "array"    # [Ljava/lang/Short;

    .line 1618
    if-nez p0, :cond_4

    .line 1619
    const/4 v0, 0x0

    return-object v0

    .line 1620
    :cond_4
    array-length v0, p0

    if-nez v0, :cond_b

    .line 1621
    const/4 v0, 0x0

    new-array v0, v0, [S

    return-object v0

    .line 1623
    :cond_b
    array-length v0, p0

    new-array v0, v0, [S

    .line 1624
    .local v0, "result":[S
    const/4 v1, 0x0

    .local v1, "i":I
    :goto_f
    array-length v2, p0

    if-ge v1, v2, :cond_1d

    .line 1625
    aget-object v2, p0, v1

    invoke-virtual {v2}, Ljava/lang/Short;->shortValue()S

    move-result v2

    aput-short v2, v0, v1

    .line 1624
    add-int/lit8 v1, v1, 0x1

    goto :goto_f

    .line 1627
    .end local v1    # "i":I
    :cond_1d
    return-object v0
.end method

.method public static toPrimitive([Ljava/lang/Short;S)[S
    .registers 6
    .param p0, "array"    # [Ljava/lang/Short;
    .param p1, "valueForNull"    # S

    .line 1631
    if-nez p0, :cond_4

    .line 1632
    const/4 v0, 0x0

    return-object v0

    .line 1633
    :cond_4
    array-length v0, p0

    if-nez v0, :cond_b

    .line 1634
    const/4 v0, 0x0

    new-array v0, v0, [S

    return-object v0

    .line 1636
    :cond_b
    array-length v0, p0

    new-array v0, v0, [S

    .line 1637
    .local v0, "result":[S
    const/4 v1, 0x0

    .local v1, "i":I
    :goto_f
    array-length v2, p0

    if-ge v1, v2, :cond_21

    .line 1638
    aget-object v2, p0, v1

    .line 1639
    .local v2, "b":Ljava/lang/Short;
    if-nez v2, :cond_18

    move v3, p1

    goto :goto_1c

    :cond_18
    invoke-virtual {v2}, Ljava/lang/Short;->shortValue()S

    move-result v3

    :goto_1c
    aput-short v3, v0, v1

    .line 1637
    .end local v2    # "b":Ljava/lang/Short;
    add-int/lit8 v1, v1, 0x1

    goto :goto_f

    .line 1641
    .end local v1    # "i":I
    :cond_21
    return-object v0
.end method

.method public static toPrimitive([Ljava/lang/Boolean;)[Z
    .registers 4
    .param p0, "array"    # [Ljava/lang/Boolean;

    .line 1794
    if-nez p0, :cond_4

    .line 1795
    const/4 v0, 0x0

    return-object v0

    .line 1796
    :cond_4
    array-length v0, p0

    if-nez v0, :cond_b

    .line 1797
    const/4 v0, 0x0

    new-array v0, v0, [Z

    return-object v0

    .line 1799
    :cond_b
    array-length v0, p0

    new-array v0, v0, [Z

    .line 1800
    .local v0, "result":[Z
    const/4 v1, 0x0

    .local v1, "i":I
    :goto_f
    array-length v2, p0

    if-ge v1, v2, :cond_1d

    .line 1801
    aget-object v2, p0, v1

    invoke-virtual {v2}, Ljava/lang/Boolean;->booleanValue()Z

    move-result v2

    aput-boolean v2, v0, v1

    .line 1800
    add-int/lit8 v1, v1, 0x1

    goto :goto_f

    .line 1803
    .end local v1    # "i":I
    :cond_1d
    return-object v0
.end method

.method public static toPrimitive([Ljava/lang/Boolean;Z)[Z
    .registers 6
    .param p0, "array"    # [Ljava/lang/Boolean;
    .param p1, "valueForNull"    # Z

    .line 1807
    if-nez p0, :cond_4

    .line 1808
    const/4 v0, 0x0

    return-object v0

    .line 1809
    :cond_4
    array-length v0, p0

    if-nez v0, :cond_b

    .line 1810
    const/4 v0, 0x0

    new-array v0, v0, [Z

    return-object v0

    .line 1812
    :cond_b
    array-length v0, p0

    new-array v0, v0, [Z

    .line 1813
    .local v0, "result":[Z
    const/4 v1, 0x0

    .local v1, "i":I
    :goto_f
    array-length v2, p0

    if-ge v1, v2, :cond_21

    .line 1814
    aget-object v2, p0, v1

    .line 1815
    .local v2, "b":Ljava/lang/Boolean;
    if-nez v2, :cond_18

    move v3, p1

    goto :goto_1c

    :cond_18
    invoke-virtual {v2}, Ljava/lang/Boolean;->booleanValue()Z

    move-result v3

    :goto_1c
    aput-boolean v3, v0, v1

    .line 1813
    .end local v2    # "b":Ljava/lang/Boolean;
    add-int/lit8 v1, v1, 0x1

    goto :goto_f

    .line 1817
    .end local v1    # "i":I
    :cond_21
    return-object v0
.end method

.method public static toString(Ljava/lang/Object;)Ljava/lang/String;
    .registers 4
    .param p0, "array"    # Ljava/lang/Object;

    .line 1974
    if-nez p0, :cond_5

    const-string v0, "null"

    return-object v0

    .line 1975
    :cond_5
    instance-of v0, p0, [Ljava/lang/Object;

    if-eqz v0, :cond_13

    .line 1976
    move-object v0, p0

    check-cast v0, [Ljava/lang/Object;

    check-cast v0, [Ljava/lang/Object;

    invoke-static {v0}, Ljava/util/Arrays;->deepToString([Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v0

    return-object v0

    .line 1977
    :cond_13
    instance-of v0, p0, [Z

    if-eqz v0, :cond_21

    .line 1978
    move-object v0, p0

    check-cast v0, [Z

    check-cast v0, [Z

    invoke-static {v0}, Ljava/util/Arrays;->toString([Z)Ljava/lang/String;

    move-result-object v0

    return-object v0

    .line 1979
    :cond_21
    instance-of v0, p0, [B

    if-eqz v0, :cond_2f

    .line 1980
    move-object v0, p0

    check-cast v0, [B

    check-cast v0, [B

    invoke-static {v0}, Ljava/util/Arrays;->toString([B)Ljava/lang/String;

    move-result-object v0

    return-object v0

    .line 1981
    :cond_2f
    instance-of v0, p0, [C

    if-eqz v0, :cond_3d

    .line 1982
    move-object v0, p0

    check-cast v0, [C

    check-cast v0, [C

    invoke-static {v0}, Ljava/util/Arrays;->toString([C)Ljava/lang/String;

    move-result-object v0

    return-object v0

    .line 1983
    :cond_3d
    instance-of v0, p0, [D

    if-eqz v0, :cond_4b

    .line 1984
    move-object v0, p0

    check-cast v0, [D

    check-cast v0, [D

    invoke-static {v0}, Ljava/util/Arrays;->toString([D)Ljava/lang/String;

    move-result-object v0

    return-object v0

    .line 1985
    :cond_4b
    instance-of v0, p0, [F

    if-eqz v0, :cond_59

    .line 1986
    move-object v0, p0

    check-cast v0, [F

    check-cast v0, [F

    invoke-static {v0}, Ljava/util/Arrays;->toString([F)Ljava/lang/String;

    move-result-object v0

    return-object v0

    .line 1987
    :cond_59
    instance-of v0, p0, [I

    if-eqz v0, :cond_67

    .line 1988
    move-object v0, p0

    check-cast v0, [I

    check-cast v0, [I

    invoke-static {v0}, Ljava/util/Arrays;->toString([I)Ljava/lang/String;

    move-result-object v0

    return-object v0

    .line 1989
    :cond_67
    instance-of v0, p0, [J

    if-eqz v0, :cond_75

    .line 1990
    move-object v0, p0

    check-cast v0, [J

    check-cast v0, [J

    invoke-static {v0}, Ljava/util/Arrays;->toString([J)Ljava/lang/String;

    move-result-object v0

    return-object v0

    .line 1991
    :cond_75
    instance-of v0, p0, [S

    if-eqz v0, :cond_83

    .line 1992
    move-object v0, p0

    check-cast v0, [S

    check-cast v0, [S

    invoke-static {v0}, Ljava/util/Arrays;->toString([S)Ljava/lang/String;

    move-result-object v0

    return-object v0

    .line 1994
    :cond_83
    new-instance v0, Ljava/lang/IllegalArgumentException;

    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v2, "Array has incompatible type: "

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v2

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V

    throw v0
.end method