public abstract class com.google.common.io.BaseEncoding
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.google.common.io.BaseEncoding
  super_class: java.lang.Object
{
  private static final com.google.common.io.BaseEncoding BASE64;
    descriptor: Lcom/google/common/io/BaseEncoding;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.google.common.io.BaseEncoding BASE64_URL;
    descriptor: Lcom/google/common/io/BaseEncoding;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.google.common.io.BaseEncoding BASE32;
    descriptor: Lcom/google/common/io/BaseEncoding;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.google.common.io.BaseEncoding BASE32_HEX;
    descriptor: Lcom/google/common/io/BaseEncoding;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final com.google.common.io.BaseEncoding BASE16;
    descriptor: Lcom/google/common/io/BaseEncoding;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 321
            new com.google.common.io.BaseEncoding$Base64Encoding
            dup
         1: .line 322
            ldc "base64()"
            ldc "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
            bipush 61
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
         2: .line 321
            invokespecial com.google.common.io.BaseEncoding$Base64Encoding.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Character;)V
         3: .line 320
            putstatic com.google.common.io.BaseEncoding.BASE64:Lcom/google/common/io/BaseEncoding;
         4: .line 342
            new com.google.common.io.BaseEncoding$Base64Encoding
            dup
         5: .line 343
            ldc "base64Url()"
            ldc "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"
            bipush 61
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
         6: .line 342
            invokespecial com.google.common.io.BaseEncoding$Base64Encoding.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Character;)V
         7: .line 341
            putstatic com.google.common.io.BaseEncoding.BASE64_URL:Lcom/google/common/io/BaseEncoding;
         8: .line 364
            new com.google.common.io.BaseEncoding$StandardBaseEncoding
            dup
            ldc "base32()"
            ldc "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"
            bipush 61
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
            invokespecial com.google.common.io.BaseEncoding$StandardBaseEncoding.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Character;)V
         9: .line 363
            putstatic com.google.common.io.BaseEncoding.BASE32:Lcom/google/common/io/BaseEncoding;
        10: .line 383
            new com.google.common.io.BaseEncoding$StandardBaseEncoding
            dup
            ldc "base32Hex()"
            ldc "0123456789ABCDEFGHIJKLMNOPQRSTUV"
            bipush 61
            invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
            invokespecial com.google.common.io.BaseEncoding$StandardBaseEncoding.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Character;)V
        11: .line 382
            putstatic com.google.common.io.BaseEncoding.BASE32_HEX:Lcom/google/common/io/BaseEncoding;
        12: .line 401
            new com.google.common.io.BaseEncoding$Base16Encoding
            dup
            ldc "base16()"
            ldc "0123456789ABCDEF"
            invokespecial com.google.common.io.BaseEncoding$Base16Encoding.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            putstatic com.google.common.io.BaseEncoding.BASE16:Lcom/google/common/io/BaseEncoding;
            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.google.common.io.BaseEncoding this
         0: .line 128
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.google.common.io.BaseEncoding this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/io/BaseEncoding;

  public java.lang.String encode(byte[]);
    descriptor: ([B)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.google.common.io.BaseEncoding this
        start local 1 // byte[] bytes
         0: .line 148
            aload 0 /* this */
            aload 1 /* bytes */
            iconst_0
            aload 1 /* bytes */
            arraylength
            invokevirtual com.google.common.io.BaseEncoding.encode:([BII)Ljava/lang/String;
            areturn
        end local 1 // byte[] bytes
        end local 0 // com.google.common.io.BaseEncoding this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/google/common/io/BaseEncoding;
            0    1     1  bytes  [B
    MethodParameters:
       Name  Flags
      bytes  

  public final java.lang.String encode(byte[], int, int);
    descriptor: ([BII)Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // com.google.common.io.BaseEncoding this
        start local 1 // byte[] bytes
        start local 2 // int off
        start local 3 // int len
         0: .line 156
            iload 2 /* off */
            iload 2 /* off */
            iload 3 /* len */
            iadd
            aload 1 /* bytes */
            arraylength
            invokestatic com.google.common.base.Preconditions.checkPositionIndexes:(III)V
         1: .line 157
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            iload 3 /* len */
            invokevirtual com.google.common.io.BaseEncoding.maxEncodedSize:(I)I
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 4 /* result */
        start local 4 // java.lang.StringBuilder result
         2: .line 159
            aload 0 /* this */
            aload 4 /* result */
            aload 1 /* bytes */
            iload 2 /* off */
            iload 3 /* len */
            invokevirtual com.google.common.io.BaseEncoding.encodeTo:(Ljava/lang/Appendable;[BII)V
         3: .line 160
            goto 6
      StackMap locals: com.google.common.io.BaseEncoding byte[] int int java.lang.StringBuilder
      StackMap stack: java.io.IOException
         4: astore 5 /* impossible */
        start local 5 // java.io.IOException impossible
         5: .line 161
            new java.lang.AssertionError
            dup
            aload 5 /* impossible */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 5 // java.io.IOException impossible
         6: .line 163
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.lang.StringBuilder result
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] bytes
        end local 0 // com.google.common.io.BaseEncoding this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lcom/google/common/io/BaseEncoding;
            0    7     1       bytes  [B
            0    7     2         off  I
            0    7     3         len  I
            2    7     4      result  Ljava/lang/StringBuilder;
            5    6     5  impossible  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           2     3       4  Class java.io.IOException
    MethodParameters:
       Name  Flags
      bytes  
      off    
      len    

  public abstract java.io.OutputStream encodingStream(java.io.Writer);
    descriptor: (Ljava/io/Writer;)Ljava/io/OutputStream;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
        Name  Flags
      writer  

  public final com.google.common.io.ByteSink encodingSink(com.google.common.io.CharSink);
    descriptor: (Lcom/google/common/io/CharSink;)Lcom/google/common/io/ByteSink;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.google.common.io.BaseEncoding this
        start local 1 // com.google.common.io.CharSink encodedSink
         0: .line 179
            aload 1 /* encodedSink */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 180
            new com.google.common.io.BaseEncoding$1
            dup
            aload 0 /* this */
            aload 1 /* encodedSink */
            invokespecial com.google.common.io.BaseEncoding$1.<init>:(Lcom/google/common/io/BaseEncoding;Lcom/google/common/io/CharSink;)V
            areturn
        end local 1 // com.google.common.io.CharSink encodedSink
        end local 0 // com.google.common.io.BaseEncoding this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lcom/google/common/io/BaseEncoding;
            0    2     1  encodedSink  Lcom/google/common/io/CharSink;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
             Name  Flags
      encodedSink  final

  private static byte[] extract(byte[], int);
    descriptor: ([BI)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // byte[] result
        start local 1 // int length
         0: .line 191
            iload 1 /* length */
            aload 0 /* result */
            arraylength
            if_icmpne 2
         1: .line 192
            aload 0 /* result */
            areturn
         2: .line 194
      StackMap locals:
      StackMap stack:
            iload 1 /* length */
            newarray 8
            astore 2 /* trunc */
        start local 2 // byte[] trunc
         3: .line 195
            aload 0 /* result */
            iconst_0
            aload 2 /* trunc */
            iconst_0
            iload 1 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 196
            aload 2 /* trunc */
            areturn
        end local 2 // byte[] trunc
        end local 1 // int length
        end local 0 // byte[] result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0  result  [B
            0    5     1  length  I
            3    5     2   trunc  [B
    MethodParameters:
        Name  Flags
      result  
      length  

  public abstract boolean canDecode(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      chars  

  public final byte[] decode(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)[B
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.google.common.io.BaseEncoding this
        start local 1 // java.lang.CharSequence chars
         0: .line 217
            aload 0 /* this */
            aload 1 /* chars */
            invokevirtual com.google.common.io.BaseEncoding.decodeChecked:(Ljava/lang/CharSequence;)[B
         1: areturn
         2: .line 218
      StackMap locals:
      StackMap stack: com.google.common.io.BaseEncoding$DecodingException
            astore 2 /* badInput */
        start local 2 // com.google.common.io.BaseEncoding$DecodingException badInput
         3: .line 219
            new java.lang.IllegalArgumentException
            dup
            aload 2 /* badInput */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // com.google.common.io.BaseEncoding$DecodingException badInput
        end local 1 // java.lang.CharSequence chars
        end local 0 // com.google.common.io.BaseEncoding this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/google/common/io/BaseEncoding;
            0    4     1     chars  Ljava/lang/CharSequence;
            3    4     2  badInput  Lcom/google/common/io/BaseEncoding$DecodingException;
      Exception table:
        from    to  target  type
           0     1       2  Class com.google.common.io.BaseEncoding$DecodingException
    MethodParameters:
       Name  Flags
      chars  

  final byte[] decodeChecked(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)[B
    flags: (0x0010) ACC_FINAL
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.google.common.io.BaseEncoding this
        start local 1 // java.lang.CharSequence chars
         0: .line 231
            aload 0 /* this */
            aload 1 /* chars */
            invokevirtual com.google.common.io.BaseEncoding.trimTrailingPadding:(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
            astore 1 /* chars */
         1: .line 232
            aload 0 /* this */
            aload 1 /* chars */
            invokeinterface java.lang.CharSequence.length:()I
            invokevirtual com.google.common.io.BaseEncoding.maxDecodedSize:(I)I
            newarray 8
            astore 2 /* tmp */
        start local 2 // byte[] tmp
         2: .line 233
            aload 0 /* this */
            aload 2 /* tmp */
            aload 1 /* chars */
            invokevirtual com.google.common.io.BaseEncoding.decodeTo:([BLjava/lang/CharSequence;)I
            istore 3 /* len */
        start local 3 // int len
         3: .line 234
            aload 2 /* tmp */
            iload 3 /* len */
            invokestatic com.google.common.io.BaseEncoding.extract:([BI)[B
            areturn
        end local 3 // int len
        end local 2 // byte[] tmp
        end local 1 // java.lang.CharSequence chars
        end local 0 // com.google.common.io.BaseEncoding this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/google/common/io/BaseEncoding;
            0    4     1  chars  Ljava/lang/CharSequence;
            2    4     2    tmp  [B
            3    4     3    len  I
    Exceptions:
      throws com.google.common.io.BaseEncoding$DecodingException
    MethodParameters:
       Name  Flags
      chars  

  public abstract java.io.InputStream decodingStream(java.io.Reader);
    descriptor: (Ljava/io/Reader;)Ljava/io/InputStream;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
        Name  Flags
      reader  

  public final com.google.common.io.ByteSource decodingSource(com.google.common.io.CharSource);
    descriptor: (Lcom/google/common/io/CharSource;)Lcom/google/common/io/ByteSource;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.google.common.io.BaseEncoding this
        start local 1 // com.google.common.io.CharSource encodedSource
         0: .line 250
            aload 1 /* encodedSource */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 251
            new com.google.common.io.BaseEncoding$2
            dup
            aload 0 /* this */
            aload 1 /* encodedSource */
            invokespecial com.google.common.io.BaseEncoding$2.<init>:(Lcom/google/common/io/BaseEncoding;Lcom/google/common/io/CharSource;)V
            areturn
        end local 1 // com.google.common.io.CharSource encodedSource
        end local 0 // com.google.common.io.BaseEncoding this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lcom/google/common/io/BaseEncoding;
            0    2     1  encodedSource  Lcom/google/common/io/CharSource;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
               Name  Flags
      encodedSource  final

  abstract int maxEncodedSize(int);
    descriptor: (I)I
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      bytes  

  abstract void encodeTo(java.lang.Appendable, byte[], int, int);
    descriptor: (Ljava/lang/Appendable;[BII)V
    flags: (0x0400) ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      target  
      bytes   
      off     
      len     

  abstract int maxDecodedSize(int);
    descriptor: (I)I
    flags: (0x0400) ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      chars  

  abstract int decodeTo(byte[], java.lang.CharSequence);
    descriptor: ([BLjava/lang/CharSequence;)I
    flags: (0x0400) ACC_ABSTRACT
    Exceptions:
      throws com.google.common.io.BaseEncoding$DecodingException
    MethodParameters:
        Name  Flags
      target  
      chars   

  java.lang.CharSequence trimTrailingPadding(java.lang.CharSequence);
    descriptor: (Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.google.common.io.BaseEncoding this
        start local 1 // java.lang.CharSequence chars
         0: .line 270
            aload 1 /* chars */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.CharSequence
            areturn
        end local 1 // java.lang.CharSequence chars
        end local 0 // com.google.common.io.BaseEncoding this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/google/common/io/BaseEncoding;
            0    1     1  chars  Ljava/lang/CharSequence;
    MethodParameters:
       Name  Flags
      chars  

  public abstract com.google.common.io.BaseEncoding omitPadding();
    descriptor: ()Lcom/google/common/io/BaseEncoding;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract com.google.common.io.BaseEncoding withPadChar(char);
    descriptor: (C)Lcom/google/common/io/BaseEncoding;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      padChar  

  public abstract com.google.common.io.BaseEncoding withSeparator(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Lcom/google/common/io/BaseEncoding;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      separator  
      n          

  public abstract com.google.common.io.BaseEncoding upperCase();
    descriptor: ()Lcom/google/common/io/BaseEncoding;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract com.google.common.io.BaseEncoding lowerCase();
    descriptor: ()Lcom/google/common/io/BaseEncoding;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public static com.google.common.io.BaseEncoding base64();
    descriptor: ()Lcom/google/common/io/BaseEncoding;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 338
            getstatic com.google.common.io.BaseEncoding.BASE64:Lcom/google/common/io/BaseEncoding;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static com.google.common.io.BaseEncoding base64Url();
    descriptor: ()Lcom/google/common/io/BaseEncoding;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 360
            getstatic com.google.common.io.BaseEncoding.BASE64_URL:Lcom/google/common/io/BaseEncoding;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static com.google.common.io.BaseEncoding base32();
    descriptor: ()Lcom/google/common/io/BaseEncoding;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 379
            getstatic com.google.common.io.BaseEncoding.BASE32:Lcom/google/common/io/BaseEncoding;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static com.google.common.io.BaseEncoding base32Hex();
    descriptor: ()Lcom/google/common/io/BaseEncoding;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 398
            getstatic com.google.common.io.BaseEncoding.BASE32_HEX:Lcom/google/common/io/BaseEncoding;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static com.google.common.io.BaseEncoding base16();
    descriptor: ()Lcom/google/common/io/BaseEncoding;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 417
            getstatic com.google.common.io.BaseEncoding.BASE16:Lcom/google/common/io/BaseEncoding;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static java.io.Reader ignoringReader(java.io.Reader, java.lang.String);
    descriptor: (Ljava/io/Reader;Ljava/lang/String;)Ljava/io/Reader;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.io.Reader delegate
        start local 1 // java.lang.String toIgnore
         0: .line 976
            aload 0 /* delegate */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 977
            aload 1 /* toIgnore */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 978
            new com.google.common.io.BaseEncoding$3
            dup
            aload 0 /* delegate */
            aload 1 /* toIgnore */
            invokespecial com.google.common.io.BaseEncoding$3.<init>:(Ljava/io/Reader;Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String toIgnore
        end local 0 // java.io.Reader delegate
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  delegate  Ljava/io/Reader;
            0    3     1  toIgnore  Ljava/lang/String;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
          Name  Flags
      delegate  final
      toIgnore  final

  static java.lang.Appendable separatingAppendable(java.lang.Appendable, java.lang.String, int);
    descriptor: (Ljava/lang/Appendable;Ljava/lang/String;I)Ljava/lang/Appendable;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.lang.Appendable delegate
        start local 1 // java.lang.String separator
        start local 2 // int afterEveryChars
         0: .line 1002
            aload 0 /* delegate */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1003
            aload 1 /* separator */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 1004
            iload 2 /* afterEveryChars */
            ifle 3
            iconst_1
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: invokestatic com.google.common.base.Preconditions.checkArgument:(Z)V
         5: .line 1005
            new com.google.common.io.BaseEncoding$4
            dup
            iload 2 /* afterEveryChars */
            aload 0 /* delegate */
            aload 1 /* separator */
            invokespecial com.google.common.io.BaseEncoding$4.<init>:(ILjava/lang/Appendable;Ljava/lang/String;)V
            areturn
        end local 2 // int afterEveryChars
        end local 1 // java.lang.String separator
        end local 0 // java.lang.Appendable delegate
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0         delegate  Ljava/lang/Appendable;
            0    6     1        separator  Ljava/lang/String;
            0    6     2  afterEveryChars  I
    MethodParameters:
                 Name  Flags
      delegate         final
      separator        final
      afterEveryChars  final

  static java.io.Writer separatingWriter(java.io.Writer, java.lang.String, int);
    descriptor: (Ljava/io/Writer;Ljava/lang/String;I)Ljava/io/Writer;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // java.io.Writer delegate
        start local 1 // java.lang.String separator
        start local 2 // int afterEveryChars
         0: .line 1035
            aload 0 /* delegate */
            aload 1 /* separator */
            iload 2 /* afterEveryChars */
            invokestatic com.google.common.io.BaseEncoding.separatingAppendable:(Ljava/lang/Appendable;Ljava/lang/String;I)Ljava/lang/Appendable;
         1: .line 1034
            astore 3 /* seperatingAppendable */
        start local 3 // java.lang.Appendable seperatingAppendable
         2: .line 1036
            new com.google.common.io.BaseEncoding$5
            dup
            aload 3 /* seperatingAppendable */
            aload 0 /* delegate */
            invokespecial com.google.common.io.BaseEncoding$5.<init>:(Ljava/lang/Appendable;Ljava/io/Writer;)V
            areturn
        end local 3 // java.lang.Appendable seperatingAppendable
        end local 2 // int afterEveryChars
        end local 1 // java.lang.String separator
        end local 0 // java.io.Writer delegate
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    3     0              delegate  Ljava/io/Writer;
            0    3     1             separator  Ljava/lang/String;
            0    3     2       afterEveryChars  I
            2    3     3  seperatingAppendable  Ljava/lang/Appendable;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtIncompatible()
    MethodParameters:
                 Name  Flags
      delegate         final
      separator        final
      afterEveryChars  final
}
SourceFile: "BaseEncoding.java"
NestMembers:
  com.google.common.io.BaseEncoding$1  com.google.common.io.BaseEncoding$2  com.google.common.io.BaseEncoding$3  com.google.common.io.BaseEncoding$4  com.google.common.io.BaseEncoding$5  com.google.common.io.BaseEncoding$Alphabet  com.google.common.io.BaseEncoding$Base16Encoding  com.google.common.io.BaseEncoding$Base64Encoding  com.google.common.io.BaseEncoding$DecodingException  com.google.common.io.BaseEncoding$SeparatedBaseEncoding  com.google.common.io.BaseEncoding$StandardBaseEncoding  com.google.common.io.BaseEncoding$StandardBaseEncoding$1  com.google.common.io.BaseEncoding$StandardBaseEncoding$2
InnerClasses:
  com.google.common.io.BaseEncoding$1
  com.google.common.io.BaseEncoding$2
  com.google.common.io.BaseEncoding$3
  com.google.common.io.BaseEncoding$4
  com.google.common.io.BaseEncoding$5
  private final Alphabet = com.google.common.io.BaseEncoding$Alphabet of com.google.common.io.BaseEncoding
  final Base16Encoding = com.google.common.io.BaseEncoding$Base16Encoding of com.google.common.io.BaseEncoding
  final Base64Encoding = com.google.common.io.BaseEncoding$Base64Encoding of com.google.common.io.BaseEncoding
  public final DecodingException = com.google.common.io.BaseEncoding$DecodingException of com.google.common.io.BaseEncoding
  final SeparatedBaseEncoding = com.google.common.io.BaseEncoding$SeparatedBaseEncoding of com.google.common.io.BaseEncoding
  StandardBaseEncoding = com.google.common.io.BaseEncoding$StandardBaseEncoding of com.google.common.io.BaseEncoding
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtCompatible(emulated = true)