public class io.vertx.ext.mail.mailencoder.Utils
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.ext.mail.mailencoder.Utils
  super_class: java.lang.Object
{
  private static final java.util.concurrent.atomic.AtomicInteger count;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final byte[] lf;
    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 93
            new java.util.concurrent.atomic.AtomicInteger
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
            putstatic io.vertx.ext.mail.mailencoder.Utils.count:Ljava/util/concurrent/atomic/AtomicInteger;
         1: .line 243
            iconst_1
            newarray 8
            dup
            iconst_0
            bipush 10
            bastore
            putstatic io.vertx.ext.mail.mailencoder.Utils.lf:[B
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.mail.mailencoder.Utils this
         0: .line 29
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 30
            return
        end local 0 // io.vertx.ext.mail.mailencoder.Utils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/ext/mail/mailencoder/Utils;

  public static java.lang.String encodeQP(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=9, args_size=1
        start local 0 // java.lang.String text
         0: .line 33
            aload 0 /* text */
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            astore 1 /* utf8 */
        start local 1 // byte[] utf8
         1: .line 34
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuilder sb
         2: .line 36
            iconst_0
            istore 3 /* column */
        start local 3 // int column
         3: .line 37
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 25
         5: .line 38
      StackMap locals: java.lang.String byte[] java.lang.StringBuilder int int
      StackMap stack:
            aload 1 /* utf8 */
            iload 4 /* i */
            baload
            i2c
            istore 5 /* ch */
        start local 5 // char ch
         6: .line 39
            iload 5 /* ch */
            bipush 10
            if_icmpne 10
         7: .line 40
            aload 2 /* sb */
            iload 5 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         8: .line 41
            iconst_0
            istore 3 /* column */
         9: .line 42
            goto 24
        10: .line 43
      StackMap locals: int
      StackMap stack:
            iload 4 /* i */
            aload 1 /* utf8 */
            arraylength
            iconst_1
            isub
            if_icmpeq 11
            aload 1 /* utf8 */
            iload 4 /* i */
            iconst_1
            iadd
            baload
            bipush 10
            if_icmpeq 11
            iconst_0
            goto 12
      StackMap locals:
      StackMap stack:
        11: iconst_1
      StackMap locals:
      StackMap stack: int
        12: istore 6 /* nextIsEOL */
        start local 6 // boolean nextIsEOL
        13: .line 45
            iload 5 /* ch */
            invokestatic io.vertx.ext.mail.mailencoder.Utils.mustEncode:(C)Z
            ifne 14
            iload 6 /* nextIsEOL */
            ifeq 16
            iload 5 /* ch */
            bipush 32
            if_icmpne 16
        14: .line 46
      StackMap locals: int
      StackMap stack:
            iload 5 /* ch */
            invokestatic io.vertx.ext.mail.mailencoder.Utils.encodeChar:(C)Ljava/lang/String;
            astore 7 /* encChar */
        start local 7 // java.lang.String encChar
        15: .line 47
            goto 17
        end local 7 // java.lang.String encChar
        16: .line 48
      StackMap locals:
      StackMap stack:
            iload 5 /* ch */
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            astore 7 /* encChar */
        start local 7 // java.lang.String encChar
        17: .line 50
      StackMap locals: java.lang.String
      StackMap stack:
            iload 3 /* column */
            aload 7 /* encChar */
            invokevirtual java.lang.String.length:()I
            iadd
            istore 8 /* newColumn */
        start local 8 // int newColumn
        18: .line 51
            iload 8 /* newColumn */
            bipush 75
            if_icmple 19
            iload 6 /* nextIsEOL */
            ifeq 22
            iload 8 /* newColumn */
            bipush 76
            if_icmpne 22
        19: .line 52
      StackMap locals: int
      StackMap stack:
            aload 2 /* sb */
            aload 7 /* encChar */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        20: .line 53
            iload 8 /* newColumn */
            istore 3 /* column */
        21: .line 54
            goto 24
        22: .line 55
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            ldc "=\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* encChar */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 56
            aload 7 /* encChar */
            invokevirtual java.lang.String.length:()I
            istore 3 /* column */
        end local 8 // int newColumn
        end local 7 // java.lang.String encChar
        end local 6 // boolean nextIsEOL
        end local 5 // char ch
        24: .line 37
      StackMap locals: java.lang.String byte[] java.lang.StringBuilder int int
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 4 /* i */
            aload 1 /* utf8 */
            arraylength
            if_icmplt 5
        end local 4 // int i
        26: .line 60
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // int column
        end local 2 // java.lang.StringBuilder sb
        end local 1 // byte[] utf8
        end local 0 // java.lang.String text
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   27     0       text  Ljava/lang/String;
            1   27     1       utf8  [B
            2   27     2         sb  Ljava/lang/StringBuilder;
            3   27     3     column  I
            4   26     4          i  I
            6   24     5         ch  C
           13   24     6  nextIsEOL  Z
           15   16     7    encChar  Ljava/lang/String;
           17   24     7    encChar  Ljava/lang/String;
           18   24     8  newColumn  I
    MethodParameters:
      Name  Flags
      text  

  private static java.lang.String encodeChar(char);
    descriptor: (C)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // char ch
         0: .line 64
            iload 0 /* ch */
            bipush 16
            if_icmpge 2
         1: .line 65
            new java.lang.StringBuilder
            dup
            ldc "=0"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* ch */
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         2: .line 67
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            bipush 61
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* ch */
            sipush 255
            iand
            invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // char ch
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0    ch  C
    MethodParameters:
      Name  Flags
      ch    

  static boolean mustEncode(char);
    descriptor: (C)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // char ch
         0: .line 76
            iload 0 /* ch */
            sipush 128
            if_icmpge 2
            iload 0 /* ch */
            bipush 10
            if_icmplt 2
            iload 0 /* ch */
            bipush 11
            if_icmplt 1
            iload 0 /* ch */
            bipush 32
            if_icmplt 2
      StackMap locals:
      StackMap stack:
         1: iload 0 /* ch */
            bipush 61
            if_icmpeq 2
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_1
            ireturn
        end local 0 // char ch
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0    ch  C
    MethodParameters:
      Name  Flags
      ch    

  static boolean mustEncode(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.String s
         0: .line 84
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: goto 6
         2: .line 85
      StackMap locals: int
      StackMap stack:
            aload 0 /* s */
            iload 1 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 2 /* ch */
        start local 2 // char ch
         3: .line 86
            iload 2 /* ch */
            bipush 61
            if_icmpeq 5
            iload 2 /* ch */
            bipush 9
            if_icmpeq 5
            iload 2 /* ch */
            invokestatic io.vertx.ext.mail.mailencoder.Utils.mustEncode:(C)Z
            ifeq 5
         4: .line 87
            iconst_1
            ireturn
        end local 2 // char ch
         5: .line 84
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 1 /* i */
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            if_icmplt 2
        end local 1 // int i
         7: .line 90
            iconst_0
            ireturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0     s  Ljava/lang/String;
            1    7     1     i  I
            3    5     2    ch  C
    MethodParameters:
      Name  Flags
      s     

  private static java.lang.String nomaliseUserAgent(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String userAgent
         0: .line 96
            aload 0 /* userAgent */
            ldc " "
            ldc "_"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String userAgent
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  userAgent  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      userAgent  

  static java.lang.String generateBoundary(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String userAgent
         0: .line 100
            new java.lang.StringBuilder
            dup
            ldc "=--"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 101
            aload 0 /* userAgent */
            invokestatic io.vertx.ext.mail.mailencoder.Utils.nomaliseUserAgent:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 102
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Object.hashCode:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 103
            invokestatic java.lang.System.currentTimeMillis:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc "_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 104
            getstatic io.vertx.ext.mail.mailencoder.Utils.count:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.getAndIncrement:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         5: .line 100
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // java.lang.String userAgent
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0  userAgent  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      userAgent  

  static java.lang.String generateMessageID(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String hostname
        start local 1 // java.lang.String userAgent
         0: .line 108
            new java.lang.StringBuilder
            dup
            ldc "<msg."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 109
            invokestatic java.lang.System.currentTimeMillis:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 110
            aload 1 /* userAgent */
            invokestatic io.vertx.ext.mail.mailencoder.Utils.nomaliseUserAgent:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 111
            getstatic io.vertx.ext.mail.mailencoder.Utils.count:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.getAndIncrement:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         4: .line 112
            ldc "@"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* hostname */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 113
            ldc ">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 108
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.String userAgent
        end local 0 // java.lang.String hostname
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0   hostname  Ljava/lang/String;
            0    7     1  userAgent  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      hostname   
      userAgent  

  static java.lang.String encodeHeader(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=12, args_size=2
        start local 0 // java.lang.String subject
        start local 1 // int index
         0: .line 122
            aload 0 /* subject */
            invokestatic io.vertx.ext.mail.mailencoder.Utils.mustEncode:(Ljava/lang/String;)Z
            ifeq 29
         1: .line 123
            aload 0 /* subject */
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            astore 2 /* utf8 */
        start local 2 // byte[] utf8
         2: .line 124
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* sb */
        start local 3 // java.lang.StringBuilder sb
         3: .line 125
            aload 3 /* sb */
            ldc "=?UTF-8?Q?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 126
            bipush 10
            iload 1 /* index */
            iadd
            istore 4 /* column */
        start local 4 // int column
         5: .line 127
            aload 2 /* utf8 */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 26
      StackMap locals: java.lang.String int byte[] java.lang.StringBuilder int top int int byte[]
      StackMap stack:
         6: aload 8
            iload 6
            baload
            istore 5 /* b */
        start local 5 // byte b
         7: .line 128
            iload 5 /* b */
            i2c
            istore 9 /* ch */
        start local 9 // char ch
         8: .line 129
            iload 9 /* ch */
            bipush 10
            if_icmpne 11
         9: .line 130
            iconst_1
            istore 4 /* column */
        10: .line 131
            goto 25
        11: .line 133
      StackMap locals: java.lang.String int byte[] java.lang.StringBuilder int int int int byte[] int
      StackMap stack:
            iload 9 /* ch */
            invokestatic io.vertx.ext.mail.mailencoder.Utils.mustEncode:(C)Z
            ifne 12
            iload 9 /* ch */
            bipush 95
            if_icmpeq 12
            iload 9 /* ch */
            bipush 63
            if_icmpne 14
        12: .line 134
      StackMap locals:
      StackMap stack:
            iload 9 /* ch */
            invokestatic io.vertx.ext.mail.mailencoder.Utils.encodeChar:(C)Ljava/lang/String;
            astore 10 /* encChar */
        start local 10 // java.lang.String encChar
        13: .line 135
            goto 18
        end local 10 // java.lang.String encChar
      StackMap locals:
      StackMap stack:
        14: iload 9 /* ch */
            bipush 32
            if_icmpne 17
        15: .line 136
            ldc "_"
            astore 10 /* encChar */
        start local 10 // java.lang.String encChar
        16: .line 137
            goto 18
        end local 10 // java.lang.String encChar
        17: .line 138
      StackMap locals:
      StackMap stack:
            iload 9 /* ch */
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            astore 10 /* encChar */
        start local 10 // java.lang.String encChar
        18: .line 140
      StackMap locals: java.lang.String
      StackMap stack:
            iload 4 /* column */
            aload 10 /* encChar */
            invokevirtual java.lang.String.length:()I
            iadd
            istore 11 /* newColumn */
        start local 11 // int newColumn
        19: .line 141
            iload 11 /* newColumn */
            bipush 74
            if_icmpgt 23
        20: .line 142
            aload 3 /* sb */
            aload 10 /* encChar */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 143
            iload 11 /* newColumn */
            istore 4 /* column */
        22: .line 144
            goto 25
        23: .line 145
      StackMap locals: int
      StackMap stack:
            aload 3 /* sb */
            ldc "?=\n =?UTF-8?Q?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 10 /* encChar */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        24: .line 146
            bipush 11
            aload 10 /* encChar */
            invokevirtual java.lang.String.length:()I
            iadd
            istore 4 /* column */
        end local 11 // int newColumn
        end local 10 // java.lang.String encChar
        end local 9 // char ch
        end local 5 // byte b
        25: .line 127
      StackMap locals: java.lang.String int byte[] java.lang.StringBuilder int top int int byte[]
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        26: iload 6
            iload 7
            if_icmplt 6
        27: .line 150
            aload 3 /* sb */
            ldc "?="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        28: .line 151
            aload 3 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // int column
        end local 3 // java.lang.StringBuilder sb
        end local 2 // byte[] utf8
        29: .line 153
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 0 /* subject */
            areturn
        end local 1 // int index
        end local 0 // java.lang.String subject
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   30     0    subject  Ljava/lang/String;
            0   30     1      index  I
            2   29     2       utf8  [B
            3   29     3         sb  Ljava/lang/StringBuilder;
            5   29     4     column  I
            7   25     5          b  B
            8   25     9         ch  C
           13   14    10    encChar  Ljava/lang/String;
           16   17    10    encChar  Ljava/lang/String;
           18   25    10    encChar  Ljava/lang/String;
           19   25    11  newColumn  I
    MethodParameters:
         Name  Flags
      subject  
      index    

  static java.lang.String encodeHeaderEmail(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.lang.String address
        start local 1 // int index
         0: .line 158
            new io.vertx.ext.mail.mailencoder.EmailAddress
            dup
            aload 0 /* address */
            invokespecial io.vertx.ext.mail.mailencoder.EmailAddress.<init>:(Ljava/lang/String;)V
            astore 2 /* adr */
        start local 2 // io.vertx.ext.mail.mailencoder.EmailAddress adr
         1: .line 160
            aload 2 /* adr */
            invokevirtual io.vertx.ext.mail.mailencoder.EmailAddress.getName:()Ljava/lang/String;
            invokestatic io.vertx.ext.mail.mailencoder.Utils.mustEncode:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 161
            new java.lang.StringBuilder
            dup
            aload 2 /* adr */
            invokevirtual io.vertx.ext.mail.mailencoder.EmailAddress.getEmail:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* adr */
            invokevirtual io.vertx.ext.mail.mailencoder.EmailAddress.getName:()Ljava/lang/String;
            iload 1 /* index */
            aload 2 /* adr */
            invokevirtual io.vertx.ext.mail.mailencoder.EmailAddress.getEmail:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iadd
            iconst_2
            iadd
            invokestatic io.vertx.ext.mail.mailencoder.Utils.encodeHeader:(Ljava/lang/String;I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         3: .line 163
      StackMap locals: io.vertx.ext.mail.mailencoder.EmailAddress
      StackMap stack:
            aload 0 /* address */
            areturn
        end local 2 // io.vertx.ext.mail.mailencoder.EmailAddress adr
        end local 1 // int index
        end local 0 // java.lang.String address
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0  address  Ljava/lang/String;
            0    4     1    index  I
            1    4     2      adr  Lio/vertx/ext/mail/mailencoder/EmailAddress;
    MethodParameters:
         Name  Flags
      address  
      index    

  static java.lang.String encodeEmailList(java.util.List<java.lang.String>, int);
    descriptor: (Ljava/util/List;I)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=10, args_size=2
        start local 0 // java.util.List addresses
        start local 1 // int index
         0: .line 168
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuilder sb
         1: .line 169
            iconst_1
            istore 3 /* firstAddress */
        start local 3 // boolean firstAddress
         2: .line 170
            aload 0 /* addresses */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 55
      StackMap locals: java.util.List int java.lang.StringBuilder int top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* addr */
        start local 4 // java.lang.String addr
         4: .line 171
            iload 3 /* firstAddress */
            ifeq 7
         5: .line 172
            iconst_0
            istore 3 /* firstAddress */
         6: .line 173
            goto 9
         7: .line 174
      StackMap locals: java.util.List int java.lang.StringBuilder int java.lang.String java.util.Iterator
      StackMap stack:
            aload 2 /* sb */
            bipush 44
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         8: .line 175
            iinc 1 /* index */ 1
         9: .line 179
      StackMap locals:
      StackMap stack:
            ldc "postmaster"
            aload 4 /* addr */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 13
        10: .line 180
            aload 4 /* addr */
            astore 6 /* email */
        start local 6 // java.lang.String email
        11: .line 181
            ldc ""
            astore 7 /* name */
        start local 7 // java.lang.String name
        12: .line 182
            goto 16
        end local 7 // java.lang.String name
        end local 6 // java.lang.String email
        13: .line 183
      StackMap locals:
      StackMap stack:
            new io.vertx.ext.mail.mailencoder.EmailAddress
            dup
            aload 4 /* addr */
            invokespecial io.vertx.ext.mail.mailencoder.EmailAddress.<init>:(Ljava/lang/String;)V
            astore 8 /* adr */
        start local 8 // io.vertx.ext.mail.mailencoder.EmailAddress adr
        14: .line 184
            aload 8 /* adr */
            invokevirtual io.vertx.ext.mail.mailencoder.EmailAddress.getEmail:()Ljava/lang/String;
            astore 6 /* email */
        start local 6 // java.lang.String email
        15: .line 185
            aload 8 /* adr */
            invokevirtual io.vertx.ext.mail.mailencoder.EmailAddress.getName:()Ljava/lang/String;
            astore 7 /* name */
        end local 8 // io.vertx.ext.mail.mailencoder.EmailAddress adr
        start local 7 // java.lang.String name
        16: .line 187
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            iload 1 /* index */
            aload 6 /* email */
            invokevirtual java.lang.String.length:()I
            iadd
            bipush 76
            if_icmplt 19
        17: .line 188
            aload 2 /* sb */
            ldc "\n "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        18: .line 189
            iconst_1
            istore 1 /* index */
        19: .line 191
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            aload 6 /* email */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        20: .line 192
            iload 1 /* index */
            aload 6 /* email */
            invokevirtual java.lang.String.length:()I
            iadd
            istore 1 /* index */
        21: .line 193
            aload 7 /* name */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 55
        22: .line 194
            aload 7 /* name */
            invokestatic io.vertx.ext.mail.mailencoder.Utils.mustEncode:(Ljava/lang/String;)Z
            ifeq 42
        23: .line 195
            iconst_0
            istore 8 /* hadSpace */
        start local 8 // boolean hadSpace
        24: .line 196
            iload 1 /* index */
            bipush 12
            iadd
            bipush 71
            if_icmplt 28
        25: .line 197
            aload 2 /* sb */
            ldc "\n "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        26: .line 198
            iconst_1
            istore 1 /* index */
        27: .line 199
            iconst_1
            istore 8 /* hadSpace */
        28: .line 201
      StackMap locals: int
      StackMap stack:
            iload 8 /* hadSpace */
            ifne 31
        29: .line 202
            aload 2 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        30: .line 203
            iinc 1 /* index */ 1
        31: .line 205
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        32: .line 206
            iinc 1 /* index */ 1
        33: .line 207
            aload 7 /* name */
            iload 1 /* index */
            invokestatic io.vertx.ext.mail.mailencoder.Utils.encodeHeader:(Ljava/lang/String;I)Ljava/lang/String;
            astore 9 /* encoded */
        start local 9 // java.lang.String encoded
        34: .line 208
            aload 2 /* sb */
            aload 9 /* encoded */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        35: .line 209
            aload 9 /* encoded */
            ldc "\n"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 38
        36: .line 210
            aload 9 /* encoded */
            invokevirtual java.lang.String.length:()I
            aload 9 /* encoded */
            bipush 10
            invokevirtual java.lang.String.lastIndexOf:(I)I
            isub
            istore 1 /* index */
        37: .line 211
            goto 39
        38: .line 212
      StackMap locals: java.lang.String
      StackMap stack:
            iload 1 /* index */
            aload 9 /* encoded */
            invokevirtual java.lang.String.length:()I
            iadd
            istore 1 /* index */
        39: .line 214
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        40: .line 215
            iinc 1 /* index */ 1
        end local 9 // java.lang.String encoded
        end local 8 // boolean hadSpace
        41: .line 216
            goto 55
        42: .line 217
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 8 /* hadSpace */
        start local 8 // boolean hadSpace
        43: .line 218
            iload 1 /* index */
            aload 7 /* name */
            invokevirtual java.lang.String.length:()I
            iadd
            iconst_3
            iadd
            bipush 76
            if_icmplt 47
        44: .line 219
            aload 2 /* sb */
            ldc "\n "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        45: .line 220
            iconst_1
            istore 1 /* index */
        46: .line 221
            iconst_1
            istore 8 /* hadSpace */
        47: .line 223
      StackMap locals: int
      StackMap stack:
            iload 8 /* hadSpace */
            ifne 50
        48: .line 224
            aload 2 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        49: .line 225
            iinc 1 /* index */ 1
        50: .line 227
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        51: .line 228
            iinc 1 /* index */ 1
        52: .line 229
            aload 2 /* sb */
            aload 7 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        53: .line 230
            aload 2 /* sb */
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        54: .line 231
            iload 1 /* index */
            aload 6 /* email */
            invokevirtual java.lang.String.length:()I
            iconst_3
            iadd
            iadd
            istore 1 /* index */
        end local 8 // boolean hadSpace
        end local 7 // java.lang.String name
        end local 6 // java.lang.String email
        end local 4 // java.lang.String addr
        55: .line 170
      StackMap locals: java.util.List int java.lang.StringBuilder int top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        56: .line 235
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // boolean firstAddress
        end local 2 // java.lang.StringBuilder sb
        end local 1 // int index
        end local 0 // java.util.List addresses
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   57     0     addresses  Ljava/util/List<Ljava/lang/String;>;
            0   57     1         index  I
            1   57     2            sb  Ljava/lang/StringBuilder;
            2   57     3  firstAddress  Z
            4   55     4          addr  Ljava/lang/String;
           11   13     6         email  Ljava/lang/String;
           15   55     6         email  Ljava/lang/String;
           12   13     7          name  Ljava/lang/String;
           16   55     7          name  Ljava/lang/String;
           14   16     8           adr  Lio/vertx/ext/mail/mailencoder/EmailAddress;
           24   41     8      hadSpace  Z
           34   41     9       encoded  Ljava/lang/String;
           43   55     8      hadSpace  Z
    Signature: (Ljava/util/List<Ljava/lang/String;>;I)Ljava/lang/String;
    MethodParameters:
           Name  Flags
      addresses  
      index      

  static java.lang.String generateDate();
    descriptor: ()Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=0
         0: .line 239
            new java.text.SimpleDateFormat
            dup
            ldc "EEE, dd MMM yyyy HH:mm:ss Z (z)"
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokespecial java.text.SimpleDateFormat.<init>:(Ljava/lang/String;Ljava/util/Locale;)V
            astore 0 /* format */
        start local 0 // java.text.SimpleDateFormat format
         1: .line 240
            aload 0 /* format */
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            invokevirtual java.text.SimpleDateFormat.format:(Ljava/util/Date;)Ljava/lang/String;
            areturn
        end local 0 // java.text.SimpleDateFormat format
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            1    2     0  format  Ljava/text/SimpleDateFormat;

  public static java.lang.String base64(byte[]);
    descriptor: ([B)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // byte[] bytes
         0: .line 250
            bipush 76
            getstatic io.vertx.ext.mail.mailencoder.Utils.lf:[B
            invokestatic java.util.Base64.getMimeEncoder:(I[B)Ljava/util/Base64$Encoder;
            aload 0 /* bytes */
            invokevirtual java.util.Base64$Encoder.encodeToString:([B)Ljava/lang/String;
            areturn
        end local 0 // byte[] bytes
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  bytes  [B
    MethodParameters:
       Name  Flags
      bytes  
}
SourceFile: "Utils.java"
InnerClasses:
  public Encoder = java.util.Base64$Encoder of java.util.Base64