class com.sun.net.httpserver.Base64
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.net.httpserver.Base64
super_class: java.lang.Object
{
private static final char[] intToBase64;
descriptor: [C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final char[] intToAltBase64;
descriptor: [C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final byte[] base64ToInt;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final byte[] altBase64ToInt;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: .line 174
bipush 64
newarray 5
dup
iconst_0
1: .line 175
bipush 65
castore
dup
iconst_1
bipush 66
castore
dup
iconst_2
bipush 67
castore
dup
iconst_3
bipush 68
castore
dup
iconst_4
bipush 69
castore
dup
iconst_5
bipush 70
castore
dup
bipush 6
bipush 71
castore
dup
bipush 7
bipush 72
castore
dup
bipush 8
bipush 73
castore
dup
bipush 9
bipush 74
castore
dup
bipush 10
bipush 75
castore
dup
bipush 11
bipush 76
castore
dup
bipush 12
bipush 77
castore
dup
bipush 13
2: .line 176
bipush 78
castore
dup
bipush 14
bipush 79
castore
dup
bipush 15
bipush 80
castore
dup
bipush 16
bipush 81
castore
dup
bipush 17
bipush 82
castore
dup
bipush 18
bipush 83
castore
dup
bipush 19
bipush 84
castore
dup
bipush 20
bipush 85
castore
dup
bipush 21
bipush 86
castore
dup
bipush 22
bipush 87
castore
dup
bipush 23
bipush 88
castore
dup
bipush 24
bipush 89
castore
dup
bipush 25
bipush 90
castore
dup
bipush 26
3: .line 177
bipush 97
castore
dup
bipush 27
bipush 98
castore
dup
bipush 28
bipush 99
castore
dup
bipush 29
bipush 100
castore
dup
bipush 30
bipush 101
castore
dup
bipush 31
bipush 102
castore
dup
bipush 32
bipush 103
castore
dup
bipush 33
bipush 104
castore
dup
bipush 34
bipush 105
castore
dup
bipush 35
bipush 106
castore
dup
bipush 36
bipush 107
castore
dup
bipush 37
bipush 108
castore
dup
bipush 38
bipush 109
castore
dup
bipush 39
4: .line 178
bipush 110
castore
dup
bipush 40
bipush 111
castore
dup
bipush 41
bipush 112
castore
dup
bipush 42
bipush 113
castore
dup
bipush 43
bipush 114
castore
dup
bipush 44
bipush 115
castore
dup
bipush 45
bipush 116
castore
dup
bipush 46
bipush 117
castore
dup
bipush 47
bipush 118
castore
dup
bipush 48
bipush 119
castore
dup
bipush 49
bipush 120
castore
dup
bipush 50
bipush 121
castore
dup
bipush 51
bipush 122
castore
dup
bipush 52
5: .line 179
bipush 48
castore
dup
bipush 53
bipush 49
castore
dup
bipush 54
bipush 50
castore
dup
bipush 55
bipush 51
castore
dup
bipush 56
bipush 52
castore
dup
bipush 57
bipush 53
castore
dup
bipush 58
bipush 54
castore
dup
bipush 59
bipush 55
castore
dup
bipush 60
bipush 56
castore
dup
bipush 61
bipush 57
castore
dup
bipush 62
bipush 43
castore
dup
bipush 63
bipush 47
castore
6: .line 174
putstatic com.sun.net.httpserver.Base64.intToBase64:[C
7: .line 189
bipush 64
newarray 5
dup
iconst_0
8: .line 190
bipush 33
castore
dup
iconst_1
bipush 34
castore
dup
iconst_2
bipush 35
castore
dup
iconst_3
bipush 36
castore
dup
iconst_4
bipush 37
castore
dup
iconst_5
bipush 38
castore
dup
bipush 6
bipush 39
castore
dup
bipush 7
bipush 40
castore
dup
bipush 8
bipush 41
castore
dup
bipush 9
bipush 44
castore
dup
bipush 10
bipush 45
castore
dup
bipush 11
bipush 46
castore
dup
bipush 12
bipush 58
castore
dup
bipush 13
9: .line 191
bipush 59
castore
dup
bipush 14
bipush 60
castore
dup
bipush 15
bipush 62
castore
dup
bipush 16
bipush 64
castore
dup
bipush 17
bipush 91
castore
dup
bipush 18
bipush 93
castore
dup
bipush 19
bipush 94
castore
dup
bipush 20
bipush 96
castore
dup
bipush 21
bipush 95
castore
dup
bipush 22
bipush 123
castore
dup
bipush 23
bipush 124
castore
dup
bipush 24
bipush 125
castore
dup
bipush 25
bipush 126
castore
dup
bipush 26
10: .line 192
bipush 97
castore
dup
bipush 27
bipush 98
castore
dup
bipush 28
bipush 99
castore
dup
bipush 29
bipush 100
castore
dup
bipush 30
bipush 101
castore
dup
bipush 31
bipush 102
castore
dup
bipush 32
bipush 103
castore
dup
bipush 33
bipush 104
castore
dup
bipush 34
bipush 105
castore
dup
bipush 35
bipush 106
castore
dup
bipush 36
bipush 107
castore
dup
bipush 37
bipush 108
castore
dup
bipush 38
bipush 109
castore
dup
bipush 39
11: .line 193
bipush 110
castore
dup
bipush 40
bipush 111
castore
dup
bipush 41
bipush 112
castore
dup
bipush 42
bipush 113
castore
dup
bipush 43
bipush 114
castore
dup
bipush 44
bipush 115
castore
dup
bipush 45
bipush 116
castore
dup
bipush 46
bipush 117
castore
dup
bipush 47
bipush 118
castore
dup
bipush 48
bipush 119
castore
dup
bipush 49
bipush 120
castore
dup
bipush 50
bipush 121
castore
dup
bipush 51
bipush 122
castore
dup
bipush 52
12: .line 194
bipush 48
castore
dup
bipush 53
bipush 49
castore
dup
bipush 54
bipush 50
castore
dup
bipush 55
bipush 51
castore
dup
bipush 56
bipush 52
castore
dup
bipush 57
bipush 53
castore
dup
bipush 58
bipush 54
castore
dup
bipush 59
bipush 55
castore
dup
bipush 60
bipush 56
castore
dup
bipush 61
bipush 57
castore
dup
bipush 62
bipush 43
castore
dup
bipush 63
bipush 63
castore
13: .line 189
putstatic com.sun.net.httpserver.Base64.intToAltBase64:[C
14: .line 288
bipush 123
newarray 8
dup
iconst_0
15: .line 289
iconst_m1
bastore
dup
iconst_1
iconst_m1
bastore
dup
iconst_2
iconst_m1
bastore
dup
iconst_3
iconst_m1
bastore
dup
iconst_4
iconst_m1
bastore
dup
iconst_5
iconst_m1
bastore
dup
bipush 6
iconst_m1
bastore
dup
bipush 7
iconst_m1
bastore
dup
bipush 8
iconst_m1
bastore
dup
bipush 9
iconst_m1
bastore
dup
bipush 10
iconst_m1
bastore
dup
bipush 11
iconst_m1
bastore
dup
bipush 12
iconst_m1
bastore
dup
bipush 13
iconst_m1
bastore
dup
bipush 14
iconst_m1
bastore
dup
bipush 15
iconst_m1
bastore
dup
bipush 16
iconst_m1
bastore
dup
bipush 17
16: .line 290
iconst_m1
bastore
dup
bipush 18
iconst_m1
bastore
dup
bipush 19
iconst_m1
bastore
dup
bipush 20
iconst_m1
bastore
dup
bipush 21
iconst_m1
bastore
dup
bipush 22
iconst_m1
bastore
dup
bipush 23
iconst_m1
bastore
dup
bipush 24
iconst_m1
bastore
dup
bipush 25
iconst_m1
bastore
dup
bipush 26
iconst_m1
bastore
dup
bipush 27
iconst_m1
bastore
dup
bipush 28
iconst_m1
bastore
dup
bipush 29
iconst_m1
bastore
dup
bipush 30
iconst_m1
bastore
dup
bipush 31
iconst_m1
bastore
dup
bipush 32
iconst_m1
bastore
dup
bipush 33
iconst_m1
bastore
dup
bipush 34
17: .line 291
iconst_m1
bastore
dup
bipush 35
iconst_m1
bastore
dup
bipush 36
iconst_m1
bastore
dup
bipush 37
iconst_m1
bastore
dup
bipush 38
iconst_m1
bastore
dup
bipush 39
iconst_m1
bastore
dup
bipush 40
iconst_m1
bastore
dup
bipush 41
iconst_m1
bastore
dup
bipush 42
iconst_m1
bastore
dup
bipush 43
bipush 62
bastore
dup
bipush 44
iconst_m1
bastore
dup
bipush 45
iconst_m1
bastore
dup
bipush 46
iconst_m1
bastore
dup
bipush 47
bipush 63
bastore
dup
bipush 48
bipush 52
bastore
dup
bipush 49
bipush 53
bastore
dup
bipush 50
bipush 54
bastore
dup
bipush 51
18: .line 292
bipush 55
bastore
dup
bipush 52
bipush 56
bastore
dup
bipush 53
bipush 57
bastore
dup
bipush 54
bipush 58
bastore
dup
bipush 55
bipush 59
bastore
dup
bipush 56
bipush 60
bastore
dup
bipush 57
bipush 61
bastore
dup
bipush 58
iconst_m1
bastore
dup
bipush 59
iconst_m1
bastore
dup
bipush 60
iconst_m1
bastore
dup
bipush 61
iconst_m1
bastore
dup
bipush 62
iconst_m1
bastore
dup
bipush 63
iconst_m1
bastore
dup
bipush 64
iconst_m1
bastore
dup
bipush 66
iconst_1
bastore
dup
bipush 67
iconst_2
bastore
dup
bipush 68
iconst_3
bastore
dup
bipush 69
iconst_4
bastore
dup
bipush 70
19: .line 293
iconst_5
bastore
dup
bipush 71
bipush 6
bastore
dup
bipush 72
bipush 7
bastore
dup
bipush 73
bipush 8
bastore
dup
bipush 74
bipush 9
bastore
dup
bipush 75
bipush 10
bastore
dup
bipush 76
bipush 11
bastore
dup
bipush 77
bipush 12
bastore
dup
bipush 78
bipush 13
bastore
dup
bipush 79
bipush 14
bastore
dup
bipush 80
bipush 15
bastore
dup
bipush 81
bipush 16
bastore
dup
bipush 82
bipush 17
bastore
dup
bipush 83
bipush 18
bastore
dup
bipush 84
bipush 19
bastore
dup
bipush 85
bipush 20
bastore
dup
bipush 86
bipush 21
bastore
dup
bipush 87
bipush 22
bastore
dup
bipush 88
bipush 23
bastore
dup
bipush 89
20: .line 294
bipush 24
bastore
dup
bipush 90
bipush 25
bastore
dup
bipush 91
iconst_m1
bastore
dup
bipush 92
iconst_m1
bastore
dup
bipush 93
iconst_m1
bastore
dup
bipush 94
iconst_m1
bastore
dup
bipush 95
iconst_m1
bastore
dup
bipush 96
iconst_m1
bastore
dup
bipush 97
bipush 26
bastore
dup
bipush 98
bipush 27
bastore
dup
bipush 99
bipush 28
bastore
dup
bipush 100
bipush 29
bastore
dup
bipush 101
bipush 30
bastore
dup
bipush 102
bipush 31
bastore
dup
bipush 103
bipush 32
bastore
dup
bipush 104
bipush 33
bastore
dup
bipush 105
bipush 34
bastore
dup
bipush 106
21: .line 295
bipush 35
bastore
dup
bipush 107
bipush 36
bastore
dup
bipush 108
bipush 37
bastore
dup
bipush 109
bipush 38
bastore
dup
bipush 110
bipush 39
bastore
dup
bipush 111
bipush 40
bastore
dup
bipush 112
bipush 41
bastore
dup
bipush 113
bipush 42
bastore
dup
bipush 114
bipush 43
bastore
dup
bipush 115
bipush 44
bastore
dup
bipush 116
bipush 45
bastore
dup
bipush 117
bipush 46
bastore
dup
bipush 118
bipush 47
bastore
dup
bipush 119
bipush 48
bastore
dup
bipush 120
bipush 49
bastore
dup
bipush 121
bipush 50
bastore
dup
bipush 122
bipush 51
bastore
22: .line 288
putstatic com.sun.net.httpserver.Base64.base64ToInt:[B
23: .line 302
bipush 127
newarray 8
dup
iconst_0
24: .line 303
iconst_m1
bastore
dup
iconst_1
iconst_m1
bastore
dup
iconst_2
iconst_m1
bastore
dup
iconst_3
iconst_m1
bastore
dup
iconst_4
iconst_m1
bastore
dup
iconst_5
iconst_m1
bastore
dup
bipush 6
iconst_m1
bastore
dup
bipush 7
iconst_m1
bastore
dup
bipush 8
iconst_m1
bastore
dup
bipush 9
iconst_m1
bastore
dup
bipush 10
iconst_m1
bastore
dup
bipush 11
iconst_m1
bastore
dup
bipush 12
iconst_m1
bastore
dup
bipush 13
iconst_m1
bastore
dup
bipush 14
iconst_m1
bastore
dup
bipush 15
iconst_m1
bastore
dup
bipush 16
iconst_m1
bastore
dup
bipush 17
25: .line 304
iconst_m1
bastore
dup
bipush 18
iconst_m1
bastore
dup
bipush 19
iconst_m1
bastore
dup
bipush 20
iconst_m1
bastore
dup
bipush 21
iconst_m1
bastore
dup
bipush 22
iconst_m1
bastore
dup
bipush 23
iconst_m1
bastore
dup
bipush 24
iconst_m1
bastore
dup
bipush 25
iconst_m1
bastore
dup
bipush 26
iconst_m1
bastore
dup
bipush 27
iconst_m1
bastore
dup
bipush 28
iconst_m1
bastore
dup
bipush 29
iconst_m1
bastore
dup
bipush 30
iconst_m1
bastore
dup
bipush 31
iconst_m1
bastore
dup
bipush 32
iconst_m1
bastore
dup
bipush 34
iconst_1
bastore
dup
bipush 35
26: .line 305
iconst_2
bastore
dup
bipush 36
iconst_3
bastore
dup
bipush 37
iconst_4
bastore
dup
bipush 38
iconst_5
bastore
dup
bipush 39
bipush 6
bastore
dup
bipush 40
bipush 7
bastore
dup
bipush 41
bipush 8
bastore
dup
bipush 42
iconst_m1
bastore
dup
bipush 43
bipush 62
bastore
dup
bipush 44
bipush 9
bastore
dup
bipush 45
bipush 10
bastore
dup
bipush 46
bipush 11
bastore
dup
bipush 47
iconst_m1
bastore
dup
bipush 48
bipush 52
bastore
dup
bipush 49
bipush 53
bastore
dup
bipush 50
bipush 54
bastore
dup
bipush 51
bipush 55
bastore
dup
bipush 52
bipush 56
bastore
dup
bipush 53
bipush 57
bastore
dup
bipush 54
27: .line 306
bipush 58
bastore
dup
bipush 55
bipush 59
bastore
dup
bipush 56
bipush 60
bastore
dup
bipush 57
bipush 61
bastore
dup
bipush 58
bipush 12
bastore
dup
bipush 59
bipush 13
bastore
dup
bipush 60
bipush 14
bastore
dup
bipush 61
iconst_m1
bastore
dup
bipush 62
bipush 15
bastore
dup
bipush 63
bipush 63
bastore
dup
bipush 64
bipush 16
bastore
dup
bipush 65
iconst_m1
bastore
dup
bipush 66
iconst_m1
bastore
dup
bipush 67
iconst_m1
bastore
dup
bipush 68
iconst_m1
bastore
dup
bipush 69
iconst_m1
bastore
dup
bipush 70
iconst_m1
bastore
dup
bipush 71
28: .line 307
iconst_m1
bastore
dup
bipush 72
iconst_m1
bastore
dup
bipush 73
iconst_m1
bastore
dup
bipush 74
iconst_m1
bastore
dup
bipush 75
iconst_m1
bastore
dup
bipush 76
iconst_m1
bastore
dup
bipush 77
iconst_m1
bastore
dup
bipush 78
iconst_m1
bastore
dup
bipush 79
iconst_m1
bastore
dup
bipush 80
iconst_m1
bastore
dup
bipush 81
iconst_m1
bastore
dup
bipush 82
iconst_m1
bastore
dup
bipush 83
iconst_m1
bastore
dup
bipush 84
iconst_m1
bastore
dup
bipush 85
iconst_m1
bastore
dup
bipush 86
iconst_m1
bastore
dup
bipush 87
iconst_m1
bastore
dup
bipush 88
29: .line 308
iconst_m1
bastore
dup
bipush 89
iconst_m1
bastore
dup
bipush 90
iconst_m1
bastore
dup
bipush 91
bipush 17
bastore
dup
bipush 92
iconst_m1
bastore
dup
bipush 93
bipush 18
bastore
dup
bipush 94
bipush 19
bastore
dup
bipush 95
bipush 21
bastore
dup
bipush 96
bipush 20
bastore
dup
bipush 97
bipush 26
bastore
dup
bipush 98
bipush 27
bastore
dup
bipush 99
bipush 28
bastore
dup
bipush 100
bipush 29
bastore
dup
bipush 101
bipush 30
bastore
dup
bipush 102
bipush 31
bastore
dup
bipush 103
bipush 32
bastore
dup
bipush 104
bipush 33
bastore
dup
bipush 105
30: .line 309
bipush 34
bastore
dup
bipush 106
bipush 35
bastore
dup
bipush 107
bipush 36
bastore
dup
bipush 108
bipush 37
bastore
dup
bipush 109
bipush 38
bastore
dup
bipush 110
bipush 39
bastore
dup
bipush 111
bipush 40
bastore
dup
bipush 112
bipush 41
bastore
dup
bipush 113
bipush 42
bastore
dup
bipush 114
bipush 43
bastore
dup
bipush 115
bipush 44
bastore
dup
bipush 116
bipush 45
bastore
dup
bipush 117
bipush 46
bastore
dup
bipush 118
bipush 47
bastore
dup
bipush 119
bipush 48
bastore
dup
bipush 120
bipush 49
bastore
dup
bipush 121
bipush 50
bastore
dup
bipush 122
31: .line 310
bipush 51
bastore
dup
bipush 123
bipush 22
bastore
dup
bipush 124
bipush 23
bastore
dup
bipush 125
bipush 24
bastore
dup
bipush 126
bipush 25
bastore
32: .line 302
putstatic com.sun.net.httpserver.Base64.altBase64ToInt:[B
33: .line 311
return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 // com.sun.net.httpserver.Base64 this
0: .line 109
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // com.sun.net.httpserver.Base64 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/net/httpserver/Base64;
static java.lang.String byteArrayToBase64(byte[]);
descriptor: ([B)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 // byte[] a
0: .line 116
aload 0 /* a */
iconst_0
invokestatic com.sun.net.httpserver.Base64.byteArrayToBase64:([BZ)Ljava/lang/String;
areturn
end local 0 // byte[] a
LocalVariableTable:
Start End Slot Name Signature
0 1 0 a [B
MethodParameters:
Name Flags
a
static java.lang.String byteArrayToAltBase64(byte[]);
descriptor: ([B)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 // byte[] a
0: .line 126
aload 0 /* a */
iconst_1
invokestatic com.sun.net.httpserver.Base64.byteArrayToBase64:([BZ)Ljava/lang/String;
areturn
end local 0 // byte[] a
LocalVariableTable:
Start End Slot Name Signature
0 1 0 a [B
MethodParameters:
Name Flags
a
private static java.lang.String byteArrayToBase64(byte[], boolean);
descriptor: ([BZ)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=13, args_size=2
start local 0 // byte[] a
start local 1 // boolean alternate
0: .line 130
aload 0 /* a */
arraylength
istore 2 /* aLen */
start local 2 // int aLen
1: .line 131
iload 2 /* aLen */
iconst_3
idiv
istore 3 /* numFullGroups */
start local 3 // int numFullGroups
2: .line 132
iload 2 /* aLen */
iconst_3
iload 3 /* numFullGroups */
imul
isub
istore 4 /* numBytesInPartialGroup */
start local 4 // int numBytesInPartialGroup
3: .line 133
iconst_4
iload 2 /* aLen */
iconst_2
iadd
iconst_3
idiv
imul
istore 5 /* resultLen */
start local 5 // int resultLen
4: .line 134
new java.lang.StringBuffer
dup
iload 5 /* resultLen */
invokespecial java.lang.StringBuffer.<init>:(I)V
astore 6 /* result */
start local 6 // java.lang.StringBuffer result
5: .line 135
iload 1 /* alternate */
ifeq 6
getstatic com.sun.net.httpserver.Base64.intToAltBase64:[C
goto 7
StackMap locals: byte[] int int int int int java.lang.StringBuffer
StackMap stack:
6: getstatic com.sun.net.httpserver.Base64.intToBase64:[C
StackMap locals:
StackMap stack: char[]
7: astore 7 /* intToAlpha */
start local 7 // char[] intToAlpha
8: .line 138
iconst_0
istore 8 /* inCursor */
start local 8 // int inCursor
9: .line 139
iconst_0
istore 9 /* i */
start local 9 // int i
10: goto 19
11: .line 140
StackMap locals: char[] int int
StackMap stack:
aload 0 /* a */
iload 8 /* inCursor */
iinc 8 /* inCursor */ 1
baload
sipush 255
iand
istore 10 /* byte0 */
start local 10 // int byte0
12: .line 141
aload 0 /* a */
iload 8 /* inCursor */
iinc 8 /* inCursor */ 1
baload
sipush 255
iand
istore 11 /* byte1 */
start local 11 // int byte1
13: .line 142
aload 0 /* a */
iload 8 /* inCursor */
iinc 8 /* inCursor */ 1
baload
sipush 255
iand
istore 12 /* byte2 */
start local 12 // int byte2
14: .line 143
aload 6 /* result */
aload 7 /* intToAlpha */
iload 10 /* byte0 */
iconst_2
ishr
caload
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
15: .line 144
aload 6 /* result */
aload 7 /* intToAlpha */
iload 10 /* byte0 */
iconst_4
ishl
bipush 63
iand
iload 11 /* byte1 */
iconst_4
ishr
ior
caload
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
16: .line 145
aload 6 /* result */
aload 7 /* intToAlpha */
iload 11 /* byte1 */
iconst_2
ishl
bipush 63
iand
iload 12 /* byte2 */
bipush 6
ishr
ior
caload
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
17: .line 146
aload 6 /* result */
aload 7 /* intToAlpha */
iload 12 /* byte2 */
bipush 63
iand
caload
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
end local 12 // int byte2
end local 11 // int byte1
end local 10 // int byte0
18: .line 139
iinc 9 /* i */ 1
StackMap locals:
StackMap stack:
19: iload 9 /* i */
iload 3 /* numFullGroups */
if_icmplt 11
end local 9 // int i
20: .line 150
iload 4 /* numBytesInPartialGroup */
ifeq 31
21: .line 151
aload 0 /* a */
iload 8 /* inCursor */
iinc 8 /* inCursor */ 1
baload
sipush 255
iand
istore 9 /* byte0 */
start local 9 // int byte0
22: .line 152
aload 6 /* result */
aload 7 /* intToAlpha */
iload 9 /* byte0 */
iconst_2
ishr
caload
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
23: .line 153
iload 4 /* numBytesInPartialGroup */
iconst_1
if_icmpne 27
24: .line 154
aload 6 /* result */
aload 7 /* intToAlpha */
iload 9 /* byte0 */
iconst_4
ishl
bipush 63
iand
caload
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
25: .line 155
aload 6 /* result */
ldc "=="
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
26: .line 156
goto 31
27: .line 158
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 8 /* inCursor */
iinc 8 /* inCursor */ 1
baload
sipush 255
iand
istore 10 /* byte1 */
start local 10 // int byte1
28: .line 159
aload 6 /* result */
aload 7 /* intToAlpha */
iload 9 /* byte0 */
iconst_4
ishl
bipush 63
iand
iload 10 /* byte1 */
iconst_4
ishr
ior
caload
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
29: .line 160
aload 6 /* result */
aload 7 /* intToAlpha */
iload 10 /* byte1 */
iconst_2
ishl
bipush 63
iand
caload
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
30: .line 161
aload 6 /* result */
bipush 61
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
end local 10 // int byte1
end local 9 // int byte0
31: .line 166
StackMap locals:
StackMap stack:
aload 6 /* result */
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 8 // int inCursor
end local 7 // char[] intToAlpha
end local 6 // java.lang.StringBuffer result
end local 5 // int resultLen
end local 4 // int numBytesInPartialGroup
end local 3 // int numFullGroups
end local 2 // int aLen
end local 1 // boolean alternate
end local 0 // byte[] a
LocalVariableTable:
Start End Slot Name Signature
0 32 0 a [B
0 32 1 alternate Z
1 32 2 aLen I
2 32 3 numFullGroups I
3 32 4 numBytesInPartialGroup I
4 32 5 resultLen I
5 32 6 result Ljava/lang/StringBuffer;
8 32 7 intToAlpha [C
9 32 8 inCursor I
10 20 9 i I
12 18 10 byte0 I
13 18 11 byte1 I
14 18 12 byte2 I
22 31 9 byte0 I
28 31 10 byte1 I
MethodParameters:
Name Flags
a
alternate
static byte[] base64ToByteArray(java.lang.String);
descriptor: (Ljava/lang/String;)[B
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 // java.lang.String s
0: .line 205
aload 0 /* s */
iconst_0
invokestatic com.sun.net.httpserver.Base64.base64ToByteArray:(Ljava/lang/String;Z)[B
areturn
end local 0 // java.lang.String s
LocalVariableTable:
Start End Slot Name Signature
0 1 0 s Ljava/lang/String;
MethodParameters:
Name Flags
s
static byte[] altBase64ToByteArray(java.lang.String);
descriptor: (Ljava/lang/String;)[B
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 // java.lang.String s
0: .line 217
aload 0 /* s */
iconst_1
invokestatic com.sun.net.httpserver.Base64.base64ToByteArray:(Ljava/lang/String;Z)[B
areturn
end local 0 // java.lang.String s
LocalVariableTable:
Start End Slot Name Signature
0 1 0 s Ljava/lang/String;
MethodParameters:
Name Flags
s
private static byte[] base64ToByteArray(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=15, args_size=2
start local 0 // java.lang.String s
start local 1 // boolean alternate
0: .line 221
iload 1 /* alternate */
ifeq 1
getstatic com.sun.net.httpserver.Base64.altBase64ToInt:[B
goto 2
StackMap locals:
StackMap stack:
1: getstatic com.sun.net.httpserver.Base64.base64ToInt:[B
StackMap locals:
StackMap stack: byte[]
2: astore 2 /* alphaToInt */
start local 2 // byte[] alphaToInt
3: .line 222
aload 0 /* s */
invokevirtual java.lang.String.length:()I
istore 3 /* sLen */
start local 3 // int sLen
4: .line 223
iload 3 /* sLen */
iconst_4
idiv
istore 4 /* numGroups */
start local 4 // int numGroups
5: .line 224
iconst_4
iload 4 /* numGroups */
imul
iload 3 /* sLen */
if_icmpeq 9
6: .line 225
new java.lang.IllegalArgumentException
dup
7: .line 226
ldc "String length must be a multiple of four."
8: .line 225
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: .line 227
StackMap locals: byte[] int int
StackMap stack:
iconst_0
istore 5 /* missingBytesInLastGroup */
start local 5 // int missingBytesInLastGroup
10: .line 228
iload 4 /* numGroups */
istore 6 /* numFullGroups */
start local 6 // int numFullGroups
11: .line 229
iload 3 /* sLen */
ifeq 17
12: .line 230
aload 0 /* s */
iload 3 /* sLen */
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
bipush 61
if_icmpne 15
13: .line 231
iinc 5 /* missingBytesInLastGroup */ 1
14: .line 232
iinc 6 /* numFullGroups */ -1
15: .line 234
StackMap locals: int int
StackMap stack:
aload 0 /* s */
iload 3 /* sLen */
iconst_2
isub
invokevirtual java.lang.String.charAt:(I)C
bipush 61
if_icmpne 17
16: .line 235
iinc 5 /* missingBytesInLastGroup */ 1
17: .line 237
StackMap locals:
StackMap stack:
iconst_3
iload 4 /* numGroups */
imul
iload 5 /* missingBytesInLastGroup */
isub
newarray 8
astore 7 /* result */
start local 7 // byte[] result
18: .line 240
iconst_0
istore 8 /* inCursor */
start local 8 // int inCursor
19: iconst_0
istore 9 /* outCursor */
start local 9 // int outCursor
20: .line 241
iconst_0
istore 10 /* i */
start local 10 // int i
21: goto 30
22: .line 242
StackMap locals: java.lang.String int byte[] int int int int byte[] int int int
StackMap stack:
aload 0 /* s */
iload 8 /* inCursor */
iinc 8 /* inCursor */ 1
invokevirtual java.lang.String.charAt:(I)C
aload 2 /* alphaToInt */
invokestatic com.sun.net.httpserver.Base64.base64toInt:(C[B)I
istore 11 /* ch0 */
start local 11 // int ch0
23: .line 243
aload 0 /* s */
iload 8 /* inCursor */
iinc 8 /* inCursor */ 1
invokevirtual java.lang.String.charAt:(I)C
aload 2 /* alphaToInt */
invokestatic com.sun.net.httpserver.Base64.base64toInt:(C[B)I
istore 12 /* ch1 */
start local 12 // int ch1
24: .line 244
aload 0 /* s */
iload 8 /* inCursor */
iinc 8 /* inCursor */ 1
invokevirtual java.lang.String.charAt:(I)C
aload 2 /* alphaToInt */
invokestatic com.sun.net.httpserver.Base64.base64toInt:(C[B)I
istore 13 /* ch2 */
start local 13 // int ch2
25: .line 245
aload 0 /* s */
iload 8 /* inCursor */
iinc 8 /* inCursor */ 1
invokevirtual java.lang.String.charAt:(I)C
aload 2 /* alphaToInt */
invokestatic com.sun.net.httpserver.Base64.base64toInt:(C[B)I
istore 14 /* ch3 */
start local 14 // int ch3
26: .line 246
aload 7 /* result */
iload 9 /* outCursor */
iinc 9 /* outCursor */ 1
iload 11 /* ch0 */
iconst_2
ishl
iload 12 /* ch1 */
iconst_4
ishr
ior
i2b
bastore
27: .line 247
aload 7 /* result */
iload 9 /* outCursor */
iinc 9 /* outCursor */ 1
iload 12 /* ch1 */
iconst_4
ishl
iload 13 /* ch2 */
iconst_2
ishr
ior
i2b
bastore
28: .line 248
aload 7 /* result */
iload 9 /* outCursor */
iinc 9 /* outCursor */ 1
iload 13 /* ch2 */
bipush 6
ishl
iload 14 /* ch3 */
ior
i2b
bastore
end local 14 // int ch3
end local 13 // int ch2
end local 12 // int ch1
end local 11 // int ch0
29: .line 241
iinc 10 /* i */ 1
StackMap locals:
StackMap stack:
30: iload 10 /* i */
iload 6 /* numFullGroups */
if_icmplt 22
end local 10 // int i
31: .line 252
iload 5 /* missingBytesInLastGroup */
ifeq 38
32: .line 253
aload 0 /* s */
iload 8 /* inCursor */
iinc 8 /* inCursor */ 1
invokevirtual java.lang.String.charAt:(I)C
aload 2 /* alphaToInt */
invokestatic com.sun.net.httpserver.Base64.base64toInt:(C[B)I
istore 10 /* ch0 */
start local 10 // int ch0
33: .line 254
aload 0 /* s */
iload 8 /* inCursor */
iinc 8 /* inCursor */ 1
invokevirtual java.lang.String.charAt:(I)C
aload 2 /* alphaToInt */
invokestatic com.sun.net.httpserver.Base64.base64toInt:(C[B)I
istore 11 /* ch1 */
start local 11 // int ch1
34: .line 255
aload 7 /* result */
iload 9 /* outCursor */
iinc 9 /* outCursor */ 1
iload 10 /* ch0 */
iconst_2
ishl
iload 11 /* ch1 */
iconst_4
ishr
ior
i2b
bastore
35: .line 257
iload 5 /* missingBytesInLastGroup */
iconst_1
if_icmpne 38
36: .line 258
aload 0 /* s */
iload 8 /* inCursor */
iinc 8 /* inCursor */ 1
invokevirtual java.lang.String.charAt:(I)C
aload 2 /* alphaToInt */
invokestatic com.sun.net.httpserver.Base64.base64toInt:(C[B)I
istore 12 /* ch2 */
start local 12 // int ch2
37: .line 259
aload 7 /* result */
iload 9 /* outCursor */
iinc 9 /* outCursor */ 1
iload 11 /* ch1 */
iconst_4
ishl
iload 12 /* ch2 */
iconst_2
ishr
ior
i2b
bastore
end local 12 // int ch2
end local 11 // int ch1
end local 10 // int ch0
38: .line 264
StackMap locals:
StackMap stack:
aload 7 /* result */
areturn
end local 9 // int outCursor
end local 8 // int inCursor
end local 7 // byte[] result
end local 6 // int numFullGroups
end local 5 // int missingBytesInLastGroup
end local 4 // int numGroups
end local 3 // int sLen
end local 2 // byte[] alphaToInt
end local 1 // boolean alternate
end local 0 // java.lang.String s
LocalVariableTable:
Start End Slot Name Signature
0 39 0 s Ljava/lang/String;
0 39 1 alternate Z
3 39 2 alphaToInt [B
4 39 3 sLen I
5 39 4 numGroups I
10 39 5 missingBytesInLastGroup I
11 39 6 numFullGroups I
18 39 7 result [B
19 39 8 inCursor I
20 39 9 outCursor I
21 31 10 i I
23 29 11 ch0 I
24 29 12 ch1 I
25 29 13 ch2 I
26 29 14 ch3 I
33 38 10 ch0 I
34 38 11 ch1 I
37 38 12 ch2 I
MethodParameters:
Name Flags
s
alternate
private static int base64toInt(char, byte[]);
descriptor: (C[B)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 // char c
start local 1 // byte[] alphaToInt
0: .line 275
aload 1 /* alphaToInt */
iload 0 /* c */
baload
istore 2 /* result */
start local 2 // int result
1: .line 276
iload 2 /* result */
ifge 3
2: .line 277
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Illegal character "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0 /* c */
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: .line 278
StackMap locals: int
StackMap stack:
iload 2 /* result */
ireturn
end local 2 // int result
end local 1 // byte[] alphaToInt
end local 0 // char c
LocalVariableTable:
Start End Slot Name Signature
0 4 0 c C
0 4 1 alphaToInt [B
1 4 2 result I
MethodParameters:
Name Flags
c
alphaToInt
}
SourceFile: "BasicAuthenticator.java"