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