a.smali

.class public final Lcom/huawei/hms/support/log/a/a;
.super Ljava/lang/Object;
.source "Base64.java"


# static fields
.field private static final a:[C

.field private static final b:[B


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

    .prologue
    .line 125
    const/16 v0, 0x41

    new-array v0, v0, [C

    fill-array-data v0, :array_14

    sput-object v0, Lcom/huawei/hms/support/log/a/a;->a:[C

    .line 133
    const/16 v0, 0x100

    new-array v0, v0, [B

    fill-array-data v0, :array_5a

    sput-object v0, Lcom/huawei/hms/support/log/a/a;->b:[B

    return-void

    .line 125
    nop

    :array_14
    .array-data 2
        0x41s
        0x42s
        0x43s
        0x44s
        0x45s
        0x46s
        0x47s
        0x48s
        0x49s
        0x4as
        0x4bs
        0x4cs
        0x4ds
        0x4es
        0x4fs
        0x50s
        0x51s
        0x52s
        0x53s
        0x54s
        0x55s
        0x56s
        0x57s
        0x58s
        0x59s
        0x5as
        0x61s
        0x62s
        0x63s
        0x64s
        0x65s
        0x66s
        0x67s
        0x68s
        0x69s
        0x6as
        0x6bs
        0x6cs
        0x6ds
        0x6es
        0x6fs
        0x70s
        0x71s
        0x72s
        0x73s
        0x74s
        0x75s
        0x76s
        0x77s
        0x78s
        0x79s
        0x7as
        0x30s
        0x31s
        0x32s
        0x33s
        0x34s
        0x35s
        0x36s
        0x37s
        0x38s
        0x39s
        0x2bs
        0x2fs
        0x3ds
    .end array-data

    .line 133
    nop

    :array_5a
    .array-data 1
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        0x3et
        -0x1t
        -0x1t
        -0x1t
        0x3ft
        0x34t
        0x35t
        0x36t
        0x37t
        0x38t
        0x39t
        0x3at
        0x3bt
        0x3ct
        0x3dt
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        0x0t
        0x1t
        0x2t
        0x3t
        0x4t
        0x5t
        0x6t
        0x7t
        0x8t
        0x9t
        0xat
        0xbt
        0xct
        0xdt
        0xet
        0xft
        0x10t
        0x11t
        0x12t
        0x13t
        0x14t
        0x15t
        0x16t
        0x17t
        0x18t
        0x19t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        0x1at
        0x1bt
        0x1ct
        0x1dt
        0x1et
        0x1ft
        0x20t
        0x21t
        0x22t
        0x23t
        0x24t
        0x25t
        0x26t
        0x27t
        0x28t
        0x29t
        0x2at
        0x2bt
        0x2ct
        0x2dt
        0x2et
        0x2ft
        0x30t
        0x31t
        0x32t
        0x33t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
        -0x1t
    .end array-data
.end method

.method public static a([B)Ljava/lang/String;
    .registers 2

    .prologue
    .line 17
    array-length v0, p0

    invoke-static {p0, v0}, Lcom/huawei/hms/support/log/a/a;->a([BI)Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method public static a([BI)Ljava/lang/String;
    .registers 13

    .prologue
    const/16 v4, 0x40

    const/4 v2, 0x1

    const/4 v3, 0x0

    .line 28
    add-int/lit8 v0, p1, 0x2

    div-int/lit8 v0, v0, 0x3

    mul-int/lit8 v0, v0, 0x4

    .line 29
    new-array v8, v0, [C

    move v6, v3

    move v7, v3

    .line 33
    :goto_e
    if-ge v7, p1, :cond_6d

    .line 37
    aget-byte v0, p0, v7

    and-int/lit16 v0, v0, 0xff

    .line 38
    shl-int/lit8 v0, v0, 0x8

    .line 39
    add-int/lit8 v1, v7, 0x1

    if-ge v1, p1, :cond_75

    .line 41
    add-int/lit8 v1, v7, 0x1

    aget-byte v1, p0, v1

    and-int/lit16 v1, v1, 0xff

    or-int/2addr v0, v1

    move v5, v2

    .line 44
    :goto_22
    shl-int/lit8 v0, v0, 0x8

    .line 45
    add-int/lit8 v1, v7, 0x2

    if-ge v1, p1, :cond_73

    .line 47
    add-int/lit8 v1, v7, 0x2

    aget-byte v1, p0, v1

    and-int/lit16 v1, v1, 0xff

    or-int/2addr v0, v1

    move v1, v2

    .line 50
    :goto_30
    add-int/lit8 v9, v6, 0x3

    sget-object v10, Lcom/huawei/hms/support/log/a/a;->a:[C

    if-eqz v1, :cond_69

    and-int/lit8 v1, v0, 0x3f

    :goto_38
    aget-char v1, v10, v1

    aput-char v1, v8, v9

    .line 51
    shr-int/lit8 v1, v0, 0x6

    .line 52
    add-int/lit8 v9, v6, 0x2

    sget-object v10, Lcom/huawei/hms/support/log/a/a;->a:[C

    if-eqz v5, :cond_6b

    and-int/lit8 v0, v1, 0x3f

    :goto_46
    aget-char v0, v10, v0

    aput-char v0, v8, v9

    .line 53
    shr-int/lit8 v0, v1, 0x6

    .line 54
    add-int/lit8 v1, v6, 0x1

    sget-object v5, Lcom/huawei/hms/support/log/a/a;->a:[C

    and-int/lit8 v9, v0, 0x3f

    aget-char v5, v5, v9

    aput-char v5, v8, v1

    .line 55
    shr-int/lit8 v0, v0, 0x6

    .line 56
    add-int/lit8 v1, v6, 0x0

    sget-object v5, Lcom/huawei/hms/support/log/a/a;->a:[C

    and-int/lit8 v0, v0, 0x3f

    aget-char v0, v5, v0

    aput-char v0, v8, v1

    .line 33
    add-int/lit8 v1, v7, 0x3

    add-int/lit8 v0, v6, 0x4

    move v6, v0

    move v7, v1

    goto :goto_e

    :cond_69
    move v1, v4

    .line 50
    goto :goto_38

    :cond_6b
    move v0, v4

    .line 52
    goto :goto_46

    .line 59
    :cond_6d
    new-instance v0, Ljava/lang/String;

    invoke-direct {v0, v8}, Ljava/lang/String;-><init>([C)V

    return-object v0

    :cond_73
    move v1, v3

    goto :goto_30

    :cond_75
    move v5, v3

    goto :goto_22
.end method

.method public static a(Ljava/lang/String;)[B
    .registers 10

    .prologue
    const/4 v1, 0x0

    .line 69
    invoke-static {p0}, Lcom/huawei/hms/support/log/a/a;->b(Ljava/lang/String;)I

    move-result v2

    .line 71
    div-int/lit8 v0, v2, 0x4

    mul-int/lit8 v0, v0, 0x3

    .line 72
    rem-int/lit8 v3, v2, 0x4

    const/4 v4, 0x3

    if-ne v3, v4, :cond_10

    add-int/lit8 v0, v0, 0x2

    .line 73
    :cond_10
    rem-int/lit8 v2, v2, 0x4

    const/4 v3, 0x2

    if-ne v2, v3, :cond_17

    add-int/lit8 v0, v0, 0x1

    .line 75
    :cond_17
    new-array v6, v0, [B

    move v0, v1

    move v2, v1

    move v3, v1

    move v4, v1

    .line 82
    :goto_1d
    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v5

    if-ge v0, v5, :cond_4e

    .line 84
    invoke-virtual {p0, v0}, Ljava/lang/String;->charAt(I)C

    move-result v5

    .line 85
    const/16 v7, 0xff

    if-le v5, v7, :cond_49

    const/4 v5, -0x1

    .line 87
    :goto_2c
    if-ltz v5, :cond_46

    .line 89
    shl-int/lit8 v7, v3, 0x6

    .line 90
    add-int/lit8 v3, v4, 0x6

    .line 91
    or-int v4, v7, v5

    .line 92
    const/16 v5, 0x8

    if-lt v3, v5, :cond_56

    .line 94
    add-int/lit8 v5, v3, -0x8

    .line 95
    add-int/lit8 v3, v2, 0x1

    shr-int v7, v4, v5

    and-int/lit16 v7, v7, 0xff

    int-to-byte v7, v7

    aput-byte v7, v6, v2

    move v2, v3

    move v3, v4

    move v4, v5

    .line 82
    :cond_46
    :goto_46
    add-int/lit8 v0, v0, 0x1

    goto :goto_1d

    .line 85
    :cond_49
    sget-object v7, Lcom/huawei/hms/support/log/a/a;->b:[B

    aget-byte v5, v7, v5

    goto :goto_2c

    .line 100
    :cond_4e
    array-length v0, v6

    if-eq v2, v0, :cond_54

    new-array v0, v1, [B

    .line 102
    :goto_53
    return-object v0

    :cond_54
    move-object v0, v6

    goto :goto_53

    :cond_56
    move v8, v4

    move v4, v3

    move v3, v8

    goto :goto_46
.end method

.method private static b(Ljava/lang/String;)I
    .registers 5

    .prologue
    .line 112
    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v1

    .line 114
    const/4 v0, 0x0

    :goto_5
    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v2

    if-ge v0, v2, :cond_1e

    .line 116
    invoke-virtual {p0, v0}, Ljava/lang/String;->charAt(I)C

    move-result v2

    .line 117
    const/16 v3, 0xff

    if-gt v2, v3, :cond_19

    sget-object v3, Lcom/huawei/hms/support/log/a/a;->b:[B

    aget-byte v2, v3, v2

    if-gez v2, :cond_1b

    .line 119
    :cond_19
    add-int/lit8 v1, v1, -0x1

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

    goto :goto_5

    .line 122
    :cond_1e
    return v1
.end method