public class android.util.Base64InputStream extends java.io.FilterInputStream
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.util.Base64InputStream
  super_class: java.io.FilterInputStream
{
  private final android.util.Base64$Coder coder;
    descriptor: Landroid/util/Base64$Coder;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static byte[] EMPTY;
    descriptor: [B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final int BUFFER_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2048

  private boolean eof;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private byte[] inputBuffer;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private int outputStart;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int outputEnd;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 30
            iconst_0
            newarray 8
            putstatic android.util.Base64InputStream.EMPTY:[B
         1: .line 32
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.io.InputStream, int);
    descriptor: (Ljava/io/InputStream;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // android.util.Base64InputStream this
        start local 1 // java.io.InputStream in
        start local 2 // int flags
         0: .line 47
            aload 0 /* this */
            aload 1 /* in */
            iload 2 /* flags */
            iconst_0
            invokespecial android.util.Base64InputStream.<init>:(Ljava/io/InputStream;IZ)V
         1: .line 48
            return
        end local 2 // int flags
        end local 1 // java.io.InputStream in
        end local 0 // android.util.Base64InputStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Landroid/util/Base64InputStream;
            0    2     1     in  Ljava/io/InputStream;
            0    2     2  flags  I
    MethodParameters:
       Name  Flags
      in     
      flags  

  public void <init>(java.io.InputStream, int, boolean);
    descriptor: (Ljava/io/InputStream;IZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // android.util.Base64InputStream this
        start local 1 // java.io.InputStream in
        start local 2 // int flags
        start local 3 // boolean encode
         0: .line 62
            aload 0 /* this */
            aload 1 /* in */
            invokespecial java.io.FilterInputStream.<init>:(Ljava/io/InputStream;)V
         1: .line 63
            aload 0 /* this */
            iconst_0
            putfield android.util.Base64InputStream.eof:Z
         2: .line 64
            aload 0 /* this */
            sipush 2048
            newarray 8
            putfield android.util.Base64InputStream.inputBuffer:[B
         3: .line 65
            iload 3 /* encode */
            ifeq 6
         4: .line 66
            aload 0 /* this */
            new android.util.Base64$Encoder
            dup
            iload 2 /* flags */
            aconst_null
            invokespecial android.util.Base64$Encoder.<init>:(I[B)V
            putfield android.util.Base64InputStream.coder:Landroid/util/Base64$Coder;
         5: .line 67
            goto 7
         6: .line 68
      StackMap locals: android.util.Base64InputStream java.io.InputStream int int
      StackMap stack:
            aload 0 /* this */
            new android.util.Base64$Decoder
            dup
            iload 2 /* flags */
            aconst_null
            invokespecial android.util.Base64$Decoder.<init>:(I[B)V
            putfield android.util.Base64InputStream.coder:Landroid/util/Base64$Coder;
         7: .line 70
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.util.Base64InputStream.coder:Landroid/util/Base64$Coder;
            aload 0 /* this */
            getfield android.util.Base64InputStream.coder:Landroid/util/Base64$Coder;
            sipush 2048
            invokevirtual android.util.Base64$Coder.maxOutputSize:(I)I
            newarray 8
            putfield android.util.Base64$Coder.output:[B
         8: .line 71
            aload 0 /* this */
            iconst_0
            putfield android.util.Base64InputStream.outputStart:I
         9: .line 72
            aload 0 /* this */
            iconst_0
            putfield android.util.Base64InputStream.outputEnd:I
        10: .line 73
            return
        end local 3 // boolean encode
        end local 2 // int flags
        end local 1 // java.io.InputStream in
        end local 0 // android.util.Base64InputStream this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Landroid/util/Base64InputStream;
            0   11     1      in  Ljava/io/InputStream;
            0   11     2   flags  I
            0   11     3  encode  Z
    MethodParameters:
        Name  Flags
      in      
      flags   
      encode  

  public boolean markSupported();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.util.Base64InputStream this
         0: .line 76
            iconst_0
            ireturn
        end local 0 // android.util.Base64InputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/util/Base64InputStream;

  public void mark(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // android.util.Base64InputStream this
        start local 1 // int readlimit
         0: .line 80
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 1 // int readlimit
        end local 0 // android.util.Base64InputStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Landroid/util/Base64InputStream;
            0    1     1  readlimit  I
    MethodParameters:
           Name  Flags
      readlimit  

  public void reset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.util.Base64InputStream this
         0: .line 84
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 0 // android.util.Base64InputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/util/Base64InputStream;

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.util.Base64InputStream this
         0: .line 88
            aload 0 /* this */
            getfield android.util.Base64InputStream.in:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
         1: .line 89
            aload 0 /* this */
            aconst_null
            putfield android.util.Base64InputStream.inputBuffer:[B
         2: .line 90
            return
        end local 0 // android.util.Base64InputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Landroid/util/Base64InputStream;
    Exceptions:
      throws java.io.IOException

  public int available();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.util.Base64InputStream this
         0: .line 93
            aload 0 /* this */
            getfield android.util.Base64InputStream.outputEnd:I
            aload 0 /* this */
            getfield android.util.Base64InputStream.outputStart:I
            isub
            ireturn
        end local 0 // android.util.Base64InputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/util/Base64InputStream;

  public long skip(long);
    descriptor: (J)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // android.util.Base64InputStream this
        start local 1 // long n
         0: .line 97
            aload 0 /* this */
            getfield android.util.Base64InputStream.outputStart:I
            aload 0 /* this */
            getfield android.util.Base64InputStream.outputEnd:I
            if_icmplt 2
         1: .line 98
            aload 0 /* this */
            invokevirtual android.util.Base64InputStream.refill:()V
         2: .line 100
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.util.Base64InputStream.outputStart:I
            aload 0 /* this */
            getfield android.util.Base64InputStream.outputEnd:I
            if_icmplt 4
         3: .line 101
            lconst_0
            lreturn
         4: .line 103
      StackMap locals:
      StackMap stack:
            lload 1 /* n */
            aload 0 /* this */
            getfield android.util.Base64InputStream.outputEnd:I
            aload 0 /* this */
            getfield android.util.Base64InputStream.outputStart:I
            isub
            i2l
            invokestatic java.lang.Math.min:(JJ)J
            lstore 3 /* bytes */
        start local 3 // long bytes
         5: .line 104
            aload 0 /* this */
            dup
            getfield android.util.Base64InputStream.outputStart:I
            i2l
            lload 3 /* bytes */
            ladd
            l2i
            putfield android.util.Base64InputStream.outputStart:I
         6: .line 105
            lload 3 /* bytes */
            lreturn
        end local 3 // long bytes
        end local 1 // long n
        end local 0 // android.util.Base64InputStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Landroid/util/Base64InputStream;
            0    7     1      n  J
            5    7     3  bytes  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      n     

  public int read();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // android.util.Base64InputStream this
         0: .line 109
            aload 0 /* this */
            getfield android.util.Base64InputStream.outputStart:I
            aload 0 /* this */
            getfield android.util.Base64InputStream.outputEnd:I
            if_icmplt 2
         1: .line 110
            aload 0 /* this */
            invokevirtual android.util.Base64InputStream.refill:()V
         2: .line 112
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.util.Base64InputStream.outputStart:I
            aload 0 /* this */
            getfield android.util.Base64InputStream.outputEnd:I
            if_icmplt 4
         3: .line 113
            iconst_m1
            ireturn
         4: .line 115
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.util.Base64InputStream.coder:Landroid/util/Base64$Coder;
            getfield android.util.Base64$Coder.output:[B
            aload 0 /* this */
            dup
            getfield android.util.Base64InputStream.outputStart:I
            dup_x1
            iconst_1
            iadd
            putfield android.util.Base64InputStream.outputStart:I
            baload
            sipush 255
            iand
            ireturn
        end local 0 // android.util.Base64InputStream this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/util/Base64InputStream;
    Exceptions:
      throws java.io.IOException

  public int read(byte[], int, int);
    descriptor: ([BII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // android.util.Base64InputStream this
        start local 1 // byte[] b
        start local 2 // int off
        start local 3 // int len
         0: .line 120
            aload 0 /* this */
            getfield android.util.Base64InputStream.outputStart:I
            aload 0 /* this */
            getfield android.util.Base64InputStream.outputEnd:I
            if_icmplt 2
         1: .line 121
            aload 0 /* this */
            invokevirtual android.util.Base64InputStream.refill:()V
         2: .line 123
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.util.Base64InputStream.outputStart:I
            aload 0 /* this */
            getfield android.util.Base64InputStream.outputEnd:I
            if_icmplt 4
         3: .line 124
            iconst_m1
            ireturn
         4: .line 126
      StackMap locals:
      StackMap stack:
            iload 3 /* len */
            aload 0 /* this */
            getfield android.util.Base64InputStream.outputEnd:I
            aload 0 /* this */
            getfield android.util.Base64InputStream.outputStart:I
            isub
            invokestatic java.lang.Math.min:(II)I
            istore 4 /* bytes */
        start local 4 // int bytes
         5: .line 127
            aload 0 /* this */
            getfield android.util.Base64InputStream.coder:Landroid/util/Base64$Coder;
            getfield android.util.Base64$Coder.output:[B
            aload 0 /* this */
            getfield android.util.Base64InputStream.outputStart:I
            aload 1 /* b */
            iload 2 /* off */
            iload 4 /* bytes */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 128
            aload 0 /* this */
            dup
            getfield android.util.Base64InputStream.outputStart:I
            iload 4 /* bytes */
            iadd
            putfield android.util.Base64InputStream.outputStart:I
         7: .line 129
            iload 4 /* bytes */
            ireturn
        end local 4 // int bytes
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] b
        end local 0 // android.util.Base64InputStream this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Landroid/util/Base64InputStream;
            0    8     1      b  [B
            0    8     2    off  I
            0    8     3    len  I
            5    8     4  bytes  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      b     
      off   
      len   

  private void refill();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // android.util.Base64InputStream this
         0: .line 138
            aload 0 /* this */
            getfield android.util.Base64InputStream.eof:Z
            ifeq 1
            return
         1: .line 139
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.util.Base64InputStream.in:Ljava/io/InputStream;
            aload 0 /* this */
            getfield android.util.Base64InputStream.inputBuffer:[B
            invokevirtual java.io.InputStream.read:([B)I
            istore 1 /* bytesRead */
        start local 1 // int bytesRead
         2: .line 141
            iload 1 /* bytesRead */
            iconst_m1
            if_icmpne 6
         3: .line 142
            aload 0 /* this */
            iconst_1
            putfield android.util.Base64InputStream.eof:Z
         4: .line 143
            aload 0 /* this */
            getfield android.util.Base64InputStream.coder:Landroid/util/Base64$Coder;
            getstatic android.util.Base64InputStream.EMPTY:[B
            iconst_0
            iconst_0
            iconst_1
            invokevirtual android.util.Base64$Coder.process:([BIIZ)Z
            istore 2 /* success */
        start local 2 // boolean success
         5: .line 144
            goto 7
        end local 2 // boolean success
         6: .line 145
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.util.Base64InputStream.coder:Landroid/util/Base64$Coder;
            aload 0 /* this */
            getfield android.util.Base64InputStream.inputBuffer:[B
            iconst_0
            iload 1 /* bytesRead */
            iconst_0
            invokevirtual android.util.Base64$Coder.process:([BIIZ)Z
            istore 2 /* success */
        start local 2 // boolean success
         7: .line 147
      StackMap locals: int
      StackMap stack:
            iload 2 /* success */
            ifne 9
         8: .line 148
            new android.util.Base64DataException
            dup
            ldc "bad base-64"
            invokespecial android.util.Base64DataException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 150
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield android.util.Base64InputStream.coder:Landroid/util/Base64$Coder;
            getfield android.util.Base64$Coder.op:I
            putfield android.util.Base64InputStream.outputEnd:I
        10: .line 151
            aload 0 /* this */
            iconst_0
            putfield android.util.Base64InputStream.outputStart:I
        11: .line 152
            return
        end local 2 // boolean success
        end local 1 // int bytesRead
        end local 0 // android.util.Base64InputStream this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Landroid/util/Base64InputStream;
            2   12     1  bytesRead  I
            5    6     2    success  Z
            7   12     2    success  Z
    Exceptions:
      throws java.io.IOException
}
SourceFile: "Base64InputStream.java"
InnerClasses:
  abstract Coder = android.util.Base64$Coder of android.util.Base64
  Decoder = android.util.Base64$Decoder of android.util.Base64
  Encoder = android.util.Base64$Encoder of android.util.Base64