public class org.jruby.ext.digest.BubbleBabble implements org.jruby.runtime.load.Library
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.ext.digest.BubbleBabble
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jruby.ext.digest.BubbleBabble this
         0: .line 38
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.jruby.ext.digest.BubbleBabble this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jruby/ext/digest/BubbleBabble;

  public void load(org.jruby.Ruby, boolean);
    descriptor: (Lorg/jruby/Ruby;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=3
        start local 0 // org.jruby.ext.digest.BubbleBabble this
        start local 1 // org.jruby.Ruby runtime
        start local 2 // boolean wrap
         0: .line 41
            aload 1 /* runtime */
            invokestatic org.jruby.ext.digest.RubyDigest.createDigestBubbleBabble:(Lorg/jruby/Ruby;)V
         1: .line 42
            return
        end local 2 // boolean wrap
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.ext.digest.BubbleBabble this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jruby/ext/digest/BubbleBabble;
            0    2     1  runtime  Lorg/jruby/Ruby;
            0    2     2     wrap  Z
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      runtime  final
      wrap     

  public static org.jruby.util.ByteList bubblebabble(byte[], int, int);
    descriptor: ([BII)Lorg/jruby/util/ByteList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=19, args_size=3
        start local 0 // byte[] message
        start local 1 // int begin
        start local 2 // int length
         0: .line 74
            bipush 6
            newarray 5
            dup
            iconst_0
            bipush 97
            castore
            dup
            iconst_1
            bipush 101
            castore
            dup
            iconst_2
            bipush 105
            castore
            dup
            iconst_3
            bipush 111
            castore
            dup
            iconst_4
            bipush 117
            castore
            dup
            iconst_5
            bipush 121
            castore
            astore 3 /* vowels */
        start local 3 // char[] vowels
         1: .line 75
            bipush 17
            newarray 5
            dup
            iconst_0
            bipush 98
            castore
            dup
            iconst_1
            bipush 99
            castore
            dup
            iconst_2
            bipush 100
            castore
            dup
            iconst_3
            bipush 102
            castore
            dup
            iconst_4
            bipush 103
            castore
            dup
            iconst_5
            bipush 104
            castore
            dup
            bipush 6
            bipush 107
            castore
            dup
            bipush 7
            bipush 108
            castore
            dup
            bipush 8
            bipush 109
            castore
            dup
            bipush 9
         2: .line 76
            bipush 110
            castore
            dup
            bipush 10
            bipush 112
            castore
            dup
            bipush 11
            bipush 114
            castore
            dup
            bipush 12
            bipush 115
            castore
            dup
            bipush 13
            bipush 116
            castore
            dup
            bipush 14
            bipush 118
            castore
            dup
            bipush 15
            bipush 122
            castore
            dup
            bipush 16
            bipush 120
            castore
         3: .line 75
            astore 4 /* consonants */
        start local 4 // char[] consonants
         4: .line 78
            lconst_1
            lstore 5 /* seed */
        start local 5 // long seed
         5: .line 80
            new org.jruby.util.ByteList
            dup
            invokespecial org.jruby.util.ByteList.<init>:()V
            astore 7 /* retval */
        start local 7 // org.jruby.util.ByteList retval
         6: .line 82
            iload 2 /* length */
            iconst_2
            idiv
            iconst_1
            iadd
            istore 8 /* rounds */
        start local 8 // int rounds
         7: .line 83
            aload 7 /* retval */
            bipush 120
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            pop
         8: .line 84
            iconst_0
            istore 9 /* i */
        start local 9 // int i
         9: goto 40
        10: .line 87
      StackMap locals: byte[] int int char[] char[] long org.jruby.util.ByteList int int
      StackMap stack:
            iload 9 /* i */
            iconst_1
            iadd
            iload 8 /* rounds */
            if_icmplt 11
            iload 2 /* length */
            iconst_2
            irem
            ifeq 33
        11: .line 88
      StackMap locals:
      StackMap stack:
            aload 0 /* message */
            iload 1 /* begin */
            iconst_2
            iload 9 /* i */
            imul
            iadd
            baload
            sipush 255
            iand
            i2l
            lstore 15 /* b */
        start local 15 // long b
        12: .line 89
            lload 15 /* b */
            bipush 6
            lshr
            ldc 3
            land
            lload 5 /* seed */
            ladd
            ldc 6
            lrem
            l2i
            iconst_m1
            iand
            istore 10 /* idx0 */
        start local 10 // int idx0
        13: .line 90
            lload 15 /* b */
            iconst_2
            lshr
            ldc 15
            land
            l2i
            iconst_m1
            iand
            istore 11 /* idx1 */
        start local 11 // int idx1
        14: .line 91
            lload 15 /* b */
            ldc 3
            land
            lload 5 /* seed */
            ldc 6
            ldiv
            ladd
            ldc 6
            lrem
            l2i
            iconst_m1
            iand
            istore 12 /* idx2 */
        start local 12 // int idx2
        15: .line 92
            aload 7 /* retval */
            aload 3 /* vowels */
            iload 10 /* idx0 */
            caload
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            pop
        16: .line 93
            aload 7 /* retval */
            aload 4 /* consonants */
            iload 11 /* idx1 */
            caload
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            pop
        17: .line 94
            aload 7 /* retval */
            aload 3 /* vowels */
            iload 12 /* idx2 */
            caload
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            pop
        18: .line 95
            iload 9 /* i */
            iconst_1
            iadd
            iload 8 /* rounds */
            if_icmpge 39
        19: .line 96
            aload 0 /* message */
            iload 1 /* begin */
            iconst_2
            iload 9 /* i */
            imul
            iadd
            iconst_1
            iadd
            baload
            sipush 255
            iand
            i2l
            lstore 17 /* b2 */
        start local 17 // long b2
        20: .line 97
            lload 17 /* b2 */
            iconst_4
            lshr
            ldc 15
            land
            l2i
            iconst_m1
            iand
            istore 13 /* idx3 */
        start local 13 // int idx3
        21: .line 98
            lload 17 /* b2 */
            ldc 15
            land
            l2i
            iconst_m1
            iand
            istore 14 /* idx4 */
        start local 14 // int idx4
        22: .line 99
            aload 7 /* retval */
            aload 4 /* consonants */
            iload 13 /* idx3 */
            caload
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            pop
        23: .line 100
            aload 7 /* retval */
            bipush 45
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            pop
        24: .line 101
            aload 7 /* retval */
            aload 4 /* consonants */
            iload 14 /* idx4 */
            caload
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            pop
        25: .line 102
            lload 5 /* seed */
            ldc 5
            lmul
        26: .line 103
            lload 15 /* b */
            ldc 7
            lmul
        27: .line 104
            lload 17 /* b2 */
        28: .line 103
            ladd
        29: .line 102
            ladd
        30: .line 104
            ldc 36
        31: .line 102
            lrem
            lstore 5 /* seed */
        end local 17 // long b2
        end local 15 // long b
        end local 14 // int idx4
        end local 13 // int idx3
        32: .line 106
            goto 39
        end local 12 // int idx2
        end local 11 // int idx1
        end local 10 // int idx0
        33: .line 107
      StackMap locals:
      StackMap stack:
            lload 5 /* seed */
            ldc 6
            lrem
            l2i
            iconst_m1
            iand
            istore 10 /* idx0 */
        start local 10 // int idx0
        34: .line 108
            bipush 16
            istore 11 /* idx1 */
        start local 11 // int idx1
        35: .line 109
            lload 5 /* seed */
            ldc 6
            ldiv
            l2i
            iconst_m1
            iand
            istore 12 /* idx2 */
        start local 12 // int idx2
        36: .line 110
            aload 7 /* retval */
            aload 3 /* vowels */
            iload 10 /* idx0 */
            caload
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            pop
        37: .line 111
            aload 7 /* retval */
            aload 4 /* consonants */
            iload 11 /* idx1 */
            caload
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            pop
        38: .line 112
            aload 7 /* retval */
            aload 3 /* vowels */
            iload 12 /* idx2 */
            caload
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            pop
        end local 12 // int idx2
        end local 11 // int idx1
        end local 10 // int idx0
        39: .line 84
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        40: iload 9 /* i */
            iload 8 /* rounds */
            if_icmplt 10
        end local 9 // int i
        41: .line 115
            aload 7 /* retval */
            bipush 120
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            pop
        42: .line 117
            aload 7 /* retval */
            areturn
        end local 8 // int rounds
        end local 7 // org.jruby.util.ByteList retval
        end local 5 // long seed
        end local 4 // char[] consonants
        end local 3 // char[] vowels
        end local 2 // int length
        end local 1 // int begin
        end local 0 // byte[] message
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   43     0     message  [B
            0   43     1       begin  I
            0   43     2      length  I
            1   43     3      vowels  [C
            4   43     4  consonants  [C
            5   43     5        seed  J
            6   43     7      retval  Lorg/jruby/util/ByteList;
            7   43     8      rounds  I
            9   41     9           i  I
           13   33    10        idx0  I
           34   39    10        idx0  I
           14   33    11        idx1  I
           35   39    11        idx1  I
           15   33    12        idx2  I
           36   39    12        idx2  I
           21   32    13        idx3  I
           22   32    14        idx4  I
           12   32    15           b  J
           20   32    17          b2  J
    MethodParameters:
         Name  Flags
      message  
      begin    
      length   
}
SourceFile: "BubbleBabble.java"