public final class sun.text.bidi.BidiLine
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: sun.text.bidi.BidiLine
  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 // sun.text.bidi.BidiLine this
         0: .line 45
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.text.bidi.BidiLine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/text/bidi/BidiLine;

  static void setTrailingWSStart(sun.text.bidi.BidiBase);
    descriptor: (Lsun/text/bidi/BidiBase;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // sun.text.bidi.BidiBase bidiBase
         0: .line 114
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.dirProps:[B
            astore 1 /* dirProps */
        start local 1 // byte[] dirProps
         1: .line 115
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.levels:[B
            astore 2 /* levels */
        start local 2 // byte[] levels
         2: .line 116
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.length:I
            istore 3 /* start */
        start local 3 // int start
         3: .line 117
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.paraLevel:B
            istore 4 /* paraLevel */
        start local 4 // byte paraLevel
         4: .line 125
            aload 1 /* dirProps */
            iload 3 /* start */
            iconst_1
            isub
            baload
            invokestatic sun.text.bidi.BidiBase.NoContextRTL:(B)B
            bipush 7
            if_icmpne 8
         5: .line 126
            aload 0 /* bidiBase */
            iload 3 /* start */
            putfield sun.text.bidi.BidiBase.trailingWSStart:I
         6: .line 127
            return
         7: .line 132
      StackMap locals: sun.text.bidi.BidiBase byte[] byte[] int int
      StackMap stack:
            iinc 3 /* start */ -1
         8: .line 130
      StackMap locals:
      StackMap stack:
            iload 3 /* start */
            ifle 12
         9: .line 131
            aload 1 /* dirProps */
            iload 3 /* start */
            iconst_1
            isub
            baload
            invokestatic sun.text.bidi.BidiBase.DirPropFlagNC:(B)I
            getstatic sun.text.bidi.BidiBase.MASK_WS:I
            iand
            ifne 7
        10: .line 136
            goto 12
        11: .line 137
      StackMap locals:
      StackMap stack:
            iinc 3 /* start */ -1
        12: .line 136
      StackMap locals:
      StackMap stack:
            iload 3 /* start */
            ifle 13
            aload 2 /* levels */
            iload 3 /* start */
            iconst_1
            isub
            baload
            iload 4 /* paraLevel */
            if_icmpeq 11
        13: .line 140
      StackMap locals:
      StackMap stack:
            aload 0 /* bidiBase */
            iload 3 /* start */
            putfield sun.text.bidi.BidiBase.trailingWSStart:I
        14: .line 141
            return
        end local 4 // byte paraLevel
        end local 3 // int start
        end local 2 // byte[] levels
        end local 1 // byte[] dirProps
        end local 0 // sun.text.bidi.BidiBase bidiBase
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0   bidiBase  Lsun/text/bidi/BidiBase;
            1   15     1   dirProps  [B
            2   15     2     levels  [B
            3   15     3      start  I
            4   15     4  paraLevel  B
    MethodParameters:
          Name  Flags
      bidiBase  

  public static java.text.Bidi setLine(java.text.Bidi, sun.text.bidi.BidiBase, java.text.Bidi, sun.text.bidi.BidiBase, int, int);
    descriptor: (Ljava/text/Bidi;Lsun/text/bidi/BidiBase;Ljava/text/Bidi;Lsun/text/bidi/BidiBase;II)Ljava/text/Bidi;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=12, args_size=6
        start local 0 // java.text.Bidi bidi
        start local 1 // sun.text.bidi.BidiBase paraBidi
        start local 2 // java.text.Bidi newBidi
        start local 3 // sun.text.bidi.BidiBase newBidiBase
        start local 4 // int start
        start local 5 // int limit
         0: .line 148
            aload 3 /* newBidiBase */
            astore 7 /* lineBidi */
        start local 7 // sun.text.bidi.BidiBase lineBidi
         1: .line 156
            aload 7 /* lineBidi */
            aload 7 /* lineBidi */
         2: .line 157
            aload 7 /* lineBidi */
            iload 5 /* limit */
            iload 4 /* start */
            isub
            dup_x1
            putfield sun.text.bidi.BidiBase.resultLength:I
         3: .line 156
            dup_x1
            putfield sun.text.bidi.BidiBase.originalLength:I
            dup_x1
            putfield sun.text.bidi.BidiBase.length:I
            istore 6 /* length */
        start local 6 // int length
         4: .line 159
            aload 7 /* lineBidi */
            iload 6 /* length */
            newarray 5
            putfield sun.text.bidi.BidiBase.text:[C
         5: .line 160
            aload 1 /* paraBidi */
            getfield sun.text.bidi.BidiBase.text:[C
            iload 4 /* start */
            aload 7 /* lineBidi */
            getfield sun.text.bidi.BidiBase.text:[C
            iconst_0
            iload 6 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 161
            aload 7 /* lineBidi */
            aload 1 /* paraBidi */
            iload 4 /* start */
            invokevirtual sun.text.bidi.BidiBase.GetParaLevelAt:(I)B
            putfield sun.text.bidi.BidiBase.paraLevel:B
         7: .line 162
            aload 7 /* lineBidi */
            aload 1 /* paraBidi */
            getfield sun.text.bidi.BidiBase.paraCount:I
            putfield sun.text.bidi.BidiBase.paraCount:I
         8: .line 163
            aload 7 /* lineBidi */
            iconst_0
            anewarray sun.text.bidi.BidiRun
            putfield sun.text.bidi.BidiBase.runs:[Lsun/text/bidi/BidiRun;
         9: .line 164
            aload 1 /* paraBidi */
            getfield sun.text.bidi.BidiBase.controlCount:I
            ifle 17
        10: .line 166
            iload 4 /* start */
            istore 8 /* j */
        start local 8 // int j
        11: goto 15
        12: .line 167
      StackMap locals: int sun.text.bidi.BidiBase int
      StackMap stack:
            aload 1 /* paraBidi */
            getfield sun.text.bidi.BidiBase.text:[C
            iload 8 /* j */
            caload
            invokestatic sun.text.bidi.BidiBase.IsBidiControlChar:(I)Z
            ifeq 14
        13: .line 168
            aload 7 /* lineBidi */
            dup
            getfield sun.text.bidi.BidiBase.controlCount:I
            iconst_1
            iadd
            putfield sun.text.bidi.BidiBase.controlCount:I
        14: .line 166
      StackMap locals:
      StackMap stack:
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        15: iload 8 /* j */
            iload 5 /* limit */
            if_icmplt 12
        16: .line 171
            aload 7 /* lineBidi */
            dup
            getfield sun.text.bidi.BidiBase.resultLength:I
            aload 7 /* lineBidi */
            getfield sun.text.bidi.BidiBase.controlCount:I
            isub
            putfield sun.text.bidi.BidiBase.resultLength:I
        end local 8 // int j
        17: .line 174
      StackMap locals:
      StackMap stack:
            aload 7 /* lineBidi */
            iload 6 /* length */
            invokevirtual sun.text.bidi.BidiBase.getDirPropsMemory:(I)V
        18: .line 175
            aload 7 /* lineBidi */
            aload 7 /* lineBidi */
            getfield sun.text.bidi.BidiBase.dirPropsMemory:[B
            putfield sun.text.bidi.BidiBase.dirProps:[B
        19: .line 176
            aload 1 /* paraBidi */
            getfield sun.text.bidi.BidiBase.dirProps:[B
            iload 4 /* start */
            aload 7 /* lineBidi */
            getfield sun.text.bidi.BidiBase.dirProps:[B
            iconst_0
        20: .line 177
            iload 6 /* length */
        21: .line 176
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        22: .line 179
            aload 7 /* lineBidi */
            iload 6 /* length */
            invokevirtual sun.text.bidi.BidiBase.getLevelsMemory:(I)V
        23: .line 180
            aload 7 /* lineBidi */
            aload 7 /* lineBidi */
            getfield sun.text.bidi.BidiBase.levelsMemory:[B
            putfield sun.text.bidi.BidiBase.levels:[B
        24: .line 181
            aload 1 /* paraBidi */
            getfield sun.text.bidi.BidiBase.levels:[B
            iload 4 /* start */
            aload 7 /* lineBidi */
            getfield sun.text.bidi.BidiBase.levels:[B
            iconst_0
        25: .line 182
            iload 6 /* length */
        26: .line 181
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        27: .line 183
            aload 7 /* lineBidi */
            iconst_m1
            putfield sun.text.bidi.BidiBase.runCount:I
        28: .line 185
            aload 1 /* paraBidi */
            getfield sun.text.bidi.BidiBase.direction:B
            iconst_2
            if_icmpeq 38
        29: .line 187
            aload 7 /* lineBidi */
            aload 1 /* paraBidi */
            getfield sun.text.bidi.BidiBase.direction:B
            putfield sun.text.bidi.BidiBase.direction:B
        30: .line 194
            aload 1 /* paraBidi */
            getfield sun.text.bidi.BidiBase.trailingWSStart:I
            iload 4 /* start */
            if_icmpgt 33
        31: .line 195
            aload 7 /* lineBidi */
            iconst_0
            putfield sun.text.bidi.BidiBase.trailingWSStart:I
        32: .line 196
            goto 66
      StackMap locals:
      StackMap stack:
        33: aload 1 /* paraBidi */
            getfield sun.text.bidi.BidiBase.trailingWSStart:I
            iload 5 /* limit */
            if_icmpge 36
        34: .line 197
            aload 7 /* lineBidi */
            aload 1 /* paraBidi */
            getfield sun.text.bidi.BidiBase.trailingWSStart:I
            iload 4 /* start */
            isub
            putfield sun.text.bidi.BidiBase.trailingWSStart:I
        35: .line 198
            goto 66
        36: .line 199
      StackMap locals:
      StackMap stack:
            aload 7 /* lineBidi */
            iload 6 /* length */
            putfield sun.text.bidi.BidiBase.trailingWSStart:I
        37: .line 201
            goto 66
        38: .line 202
      StackMap locals:
      StackMap stack:
            aload 7 /* lineBidi */
            getfield sun.text.bidi.BidiBase.levels:[B
            astore 8 /* levels */
        start local 8 // byte[] levels
        39: .line 206
            aload 7 /* lineBidi */
            invokestatic sun.text.bidi.BidiLine.setTrailingWSStart:(Lsun/text/bidi/BidiBase;)V
        40: .line 207
            aload 7 /* lineBidi */
            getfield sun.text.bidi.BidiBase.trailingWSStart:I
            istore 10 /* trailingWSStart */
        start local 10 // int trailingWSStart
        41: .line 210
            iload 10 /* trailingWSStart */
            ifne 44
        42: .line 212
            aload 7 /* lineBidi */
            aload 7 /* lineBidi */
            getfield sun.text.bidi.BidiBase.paraLevel:B
            iconst_1
            iand
            i2b
            putfield sun.text.bidi.BidiBase.direction:B
        43: .line 213
            goto 57
        44: .line 215
      StackMap locals: java.text.Bidi sun.text.bidi.BidiBase java.text.Bidi sun.text.bidi.BidiBase int int int sun.text.bidi.BidiBase byte[] top int
      StackMap stack:
            aload 8 /* levels */
            iconst_0
            baload
            iconst_1
            iand
            i2b
            istore 11 /* level */
        start local 11 // byte level
        45: .line 219
            iload 10 /* trailingWSStart */
            iload 6 /* length */
            if_icmpge 49
        46: .line 220
            aload 7 /* lineBidi */
            getfield sun.text.bidi.BidiBase.paraLevel:B
            iconst_1
            iand
            iload 11 /* level */
            if_icmpeq 49
        47: .line 223
            aload 7 /* lineBidi */
            iconst_2
            putfield sun.text.bidi.BidiBase.direction:B
        48: .line 224
            goto 57
        49: .line 227
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 9 /* i */
        start local 9 // int i
        50: .line 228
      StackMap locals: java.text.Bidi sun.text.bidi.BidiBase java.text.Bidi sun.text.bidi.BidiBase int int int sun.text.bidi.BidiBase byte[] int int int
      StackMap stack:
            iload 9 /* i */
            iload 10 /* trailingWSStart */
            if_icmpne 53
        51: .line 230
            aload 7 /* lineBidi */
            iload 11 /* level */
            putfield sun.text.bidi.BidiBase.direction:B
        52: .line 231
            goto 57
        53: .line 232
      StackMap locals:
      StackMap stack:
            aload 8 /* levels */
            iload 9 /* i */
            baload
            iconst_1
            iand
            iload 11 /* level */
            if_icmpeq 56
        54: .line 233
            aload 7 /* lineBidi */
            iconst_2
            putfield sun.text.bidi.BidiBase.direction:B
        55: .line 234
            goto 57
        56: .line 227
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
            goto 50
        end local 11 // byte level
        end local 9 // int i
        57: .line 240
      StackMap locals: java.text.Bidi sun.text.bidi.BidiBase java.text.Bidi sun.text.bidi.BidiBase int int int sun.text.bidi.BidiBase byte[] top int
      StackMap stack:
            aload 7 /* lineBidi */
            getfield sun.text.bidi.BidiBase.direction:B
            tableswitch { // 0 - 1
                    0: 58
                    1: 63
              default: 66
          }
        58: .line 243
      StackMap locals:
      StackMap stack:
            aload 7 /* lineBidi */
        59: .line 244
            aload 7 /* lineBidi */
            getfield sun.text.bidi.BidiBase.paraLevel:B
            iconst_1
            iadd
            bipush -2
            iand
            i2b
        60: .line 243
            putfield sun.text.bidi.BidiBase.paraLevel:B
        61: .line 248
            aload 7 /* lineBidi */
            iconst_0
            putfield sun.text.bidi.BidiBase.trailingWSStart:I
        62: .line 249
            goto 66
        63: .line 252
      StackMap locals:
      StackMap stack:
            aload 7 /* lineBidi */
            dup
            getfield sun.text.bidi.BidiBase.paraLevel:B
            iconst_1
            ior
            i2b
            putfield sun.text.bidi.BidiBase.paraLevel:B
        64: .line 256
            aload 7 /* lineBidi */
            iconst_0
            putfield sun.text.bidi.BidiBase.trailingWSStart:I
        65: .line 257
            goto 66
        end local 10 // int trailingWSStart
        end local 8 // byte[] levels
        66: .line 263
      StackMap locals: java.text.Bidi sun.text.bidi.BidiBase java.text.Bidi sun.text.bidi.BidiBase int int int sun.text.bidi.BidiBase
      StackMap stack:
            aload 3 /* newBidiBase */
            aload 1 /* paraBidi */
            putfield sun.text.bidi.BidiBase.paraBidi:Lsun/text/bidi/BidiBase;
        67: .line 264
            aload 2 /* newBidi */
            areturn
        end local 7 // sun.text.bidi.BidiBase lineBidi
        end local 6 // int length
        end local 5 // int limit
        end local 4 // int start
        end local 3 // sun.text.bidi.BidiBase newBidiBase
        end local 2 // java.text.Bidi newBidi
        end local 1 // sun.text.bidi.BidiBase paraBidi
        end local 0 // java.text.Bidi bidi
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   68     0             bidi  Ljava/text/Bidi;
            0   68     1         paraBidi  Lsun/text/bidi/BidiBase;
            0   68     2          newBidi  Ljava/text/Bidi;
            0   68     3      newBidiBase  Lsun/text/bidi/BidiBase;
            0   68     4            start  I
            0   68     5            limit  I
            4   68     6           length  I
            1   68     7         lineBidi  Lsun/text/bidi/BidiBase;
           11   17     8                j  I
           39   66     8           levels  [B
           50   57     9                i  I
           41   66    10  trailingWSStart  I
           45   57    11            level  B
    MethodParameters:
             Name  Flags
      bidi         
      paraBidi     
      newBidi      
      newBidiBase  
      start        
      limit        

  static byte getLevelAt(sun.text.bidi.BidiBase, int);
    descriptor: (Lsun/text/bidi/BidiBase;I)B
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.text.bidi.BidiBase bidiBase
        start local 1 // int charIndex
         0: .line 270
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.direction:B
            iconst_2
            if_icmpne 1
            iload 1 /* charIndex */
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.trailingWSStart:I
            if_icmplt 2
         1: .line 271
      StackMap locals:
      StackMap stack:
            aload 0 /* bidiBase */
            iload 1 /* charIndex */
            invokevirtual sun.text.bidi.BidiBase.GetParaLevelAt:(I)B
            ireturn
         2: .line 273
      StackMap locals:
      StackMap stack:
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.levels:[B
            iload 1 /* charIndex */
            baload
            ireturn
        end local 1 // int charIndex
        end local 0 // sun.text.bidi.BidiBase bidiBase
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0   bidiBase  Lsun/text/bidi/BidiBase;
            0    3     1  charIndex  I
    MethodParameters:
           Name  Flags
      bidiBase   
      charIndex  

  static byte[] getLevels(sun.text.bidi.BidiBase);
    descriptor: (Lsun/text/bidi/BidiBase;)[B
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // sun.text.bidi.BidiBase bidiBase
         0: .line 279
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.trailingWSStart:I
            istore 1 /* start */
        start local 1 // int start
         1: .line 280
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.length:I
            istore 2 /* length */
        start local 2 // int length
         2: .line 282
            iload 1 /* start */
            iload 2 /* length */
            if_icmpeq 5
         3: .line 293
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.levels:[B
            iload 1 /* start */
            iload 2 /* length */
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.paraLevel:B
            invokestatic java.util.Arrays.fill:([BIIB)V
         4: .line 296
            aload 0 /* bidiBase */
            iload 2 /* length */
            putfield sun.text.bidi.BidiBase.trailingWSStart:I
         5: .line 298
      StackMap locals: int int
      StackMap stack:
            iload 2 /* length */
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.levels:[B
            arraylength
            if_icmpge 9
         6: .line 299
            iload 2 /* length */
            newarray 8
            astore 3 /* levels */
        start local 3 // byte[] levels
         7: .line 300
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.levels:[B
            iconst_0
            aload 3 /* levels */
            iconst_0
            iload 2 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         8: .line 301
            aload 3 /* levels */
            areturn
        end local 3 // byte[] levels
         9: .line 303
      StackMap locals:
      StackMap stack:
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.levels:[B
            areturn
        end local 2 // int length
        end local 1 // int start
        end local 0 // sun.text.bidi.BidiBase bidiBase
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0  bidiBase  Lsun/text/bidi/BidiBase;
            1   10     1     start  I
            2   10     2    length  I
            7    9     3    levels  [B
    MethodParameters:
          Name  Flags
      bidiBase  

  static sun.text.bidi.BidiRun getLogicalRun(sun.text.bidi.BidiBase, int);
    descriptor: (Lsun/text/bidi/BidiBase;I)Lsun/text/bidi/BidiRun;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=8, args_size=2
        start local 0 // sun.text.bidi.BidiBase bidiBase
        start local 1 // int logicalPosition
         0: .line 311
            new sun.text.bidi.BidiRun
            dup
            invokespecial sun.text.bidi.BidiRun.<init>:()V
            astore 2 /* newRun */
        start local 2 // sun.text.bidi.BidiRun newRun
         1: .line 312
            aload 0 /* bidiBase */
            invokestatic sun.text.bidi.BidiLine.getRuns:(Lsun/text/bidi/BidiBase;)V
         2: .line 313
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.runCount:I
            istore 4 /* runCount */
        start local 4 // int runCount
         3: .line 314
            iconst_0
            istore 5 /* visualStart */
        start local 5 // int visualStart
         4: iconst_0
            istore 6 /* logicalLimit */
        start local 6 // int logicalLimit
         5: .line 315
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.runs:[Lsun/text/bidi/BidiRun;
            iconst_0
            aaload
            astore 3 /* iRun */
        start local 3 // sun.text.bidi.BidiRun iRun
         6: .line 317
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         7: goto 15
         8: .line 318
      StackMap locals: sun.text.bidi.BidiBase int sun.text.bidi.BidiRun sun.text.bidi.BidiRun int int int int
      StackMap stack:
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.runs:[Lsun/text/bidi/BidiRun;
            iload 7 /* i */
            aaload
            astore 3 /* iRun */
         9: .line 319
            aload 3 /* iRun */
            getfield sun.text.bidi.BidiRun.start:I
            aload 3 /* iRun */
            getfield sun.text.bidi.BidiRun.limit:I
            iadd
            iload 5 /* visualStart */
            isub
            istore 6 /* logicalLimit */
        10: .line 320
            iload 1 /* logicalPosition */
            aload 3 /* iRun */
            getfield sun.text.bidi.BidiRun.start:I
            if_icmplt 13
        11: .line 321
            iload 1 /* logicalPosition */
            iload 6 /* logicalLimit */
            if_icmpge 13
        12: .line 322
            goto 16
        13: .line 324
      StackMap locals:
      StackMap stack:
            aload 3 /* iRun */
            getfield sun.text.bidi.BidiRun.limit:I
            istore 5 /* visualStart */
        14: .line 317
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 7 /* i */
            iload 4 /* runCount */
            if_icmplt 8
        end local 7 // int i
        16: .line 326
      StackMap locals:
      StackMap stack:
            aload 2 /* newRun */
            aload 3 /* iRun */
            getfield sun.text.bidi.BidiRun.start:I
            putfield sun.text.bidi.BidiRun.start:I
        17: .line 327
            aload 2 /* newRun */
            iload 6 /* logicalLimit */
            putfield sun.text.bidi.BidiRun.limit:I
        18: .line 328
            aload 2 /* newRun */
            aload 3 /* iRun */
            getfield sun.text.bidi.BidiRun.level:B
            putfield sun.text.bidi.BidiRun.level:B
        19: .line 329
            aload 2 /* newRun */
            areturn
        end local 6 // int logicalLimit
        end local 5 // int visualStart
        end local 4 // int runCount
        end local 3 // sun.text.bidi.BidiRun iRun
        end local 2 // sun.text.bidi.BidiRun newRun
        end local 1 // int logicalPosition
        end local 0 // sun.text.bidi.BidiBase bidiBase
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   20     0         bidiBase  Lsun/text/bidi/BidiBase;
            0   20     1  logicalPosition  I
            1   20     2           newRun  Lsun/text/bidi/BidiRun;
            6   20     3             iRun  Lsun/text/bidi/BidiRun;
            3   20     4         runCount  I
            4   20     5      visualStart  I
            5   20     6     logicalLimit  I
            7   16     7                i  I
    MethodParameters:
                 Name  Flags
      bidiBase         
      logicalPosition  

  private static void getSingleRun(sun.text.bidi.BidiBase, byte);
    descriptor: (Lsun/text/bidi/BidiBase;B)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // sun.text.bidi.BidiBase bidiBase
        start local 1 // byte level
         0: .line 335
            aload 0 /* bidiBase */
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.simpleRuns:[Lsun/text/bidi/BidiRun;
            putfield sun.text.bidi.BidiBase.runs:[Lsun/text/bidi/BidiRun;
         1: .line 336
            aload 0 /* bidiBase */
            iconst_1
            putfield sun.text.bidi.BidiBase.runCount:I
         2: .line 339
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.runs:[Lsun/text/bidi/BidiRun;
            iconst_0
            new sun.text.bidi.BidiRun
            dup
            iconst_0
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.length:I
            iload 1 /* level */
            invokespecial sun.text.bidi.BidiRun.<init>:(IIB)V
            aastore
         3: .line 340
            return
        end local 1 // byte level
        end local 0 // sun.text.bidi.BidiBase bidiBase
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0  bidiBase  Lsun/text/bidi/BidiBase;
            0    4     1     level  B
    MethodParameters:
          Name  Flags
      bidiBase  
      level     

  private static void reorderLine(sun.text.bidi.BidiBase, byte, byte);
    descriptor: (Lsun/text/bidi/BidiBase;BB)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=3
        start local 0 // sun.text.bidi.BidiBase bidiBase
        start local 1 // byte minLevel
        start local 2 // byte maxLevel
         0: .line 378
            iload 2 /* maxLevel */
            iload 1 /* minLevel */
            iconst_1
            ior
            if_icmpgt 2
         1: .line 379
            return
         2: .line 392
      StackMap locals:
      StackMap stack:
            iload 1 /* minLevel */
            iconst_1
            iadd
            i2b
            istore 1 /* minLevel */
         3: .line 394
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.runs:[Lsun/text/bidi/BidiRun;
            astore 3 /* runs */
        start local 3 // sun.text.bidi.BidiRun[] runs
         4: .line 395
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.levels:[B
            astore 5 /* levels */
        start local 5 // byte[] levels
         5: .line 396
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.runCount:I
            istore 9 /* runCount */
        start local 9 // int runCount
         6: .line 399
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.trailingWSStart:I
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.length:I
            if_icmpge 31
         7: .line 400
            iinc 9 /* runCount */ -1
         8: .line 403
            goto 31
         9: .line 404
      StackMap locals: sun.text.bidi.BidiBase int int sun.text.bidi.BidiRun[] top byte[] top top top int
      StackMap stack:
            iconst_0
            istore 6 /* firstRun */
        start local 6 // int firstRun
        10: .line 410
            goto 12
        11: .line 411
      StackMap locals: sun.text.bidi.BidiBase int int sun.text.bidi.BidiRun[] top byte[] int top top int
      StackMap stack:
            iinc 6 /* firstRun */ 1
        12: .line 410
      StackMap locals:
      StackMap stack:
            iload 6 /* firstRun */
            iload 9 /* runCount */
            if_icmpge 13
            aload 5 /* levels */
            aload 3 /* runs */
            iload 6 /* firstRun */
            aaload
            getfield sun.text.bidi.BidiRun.start:I
            baload
            iload 2 /* maxLevel */
            if_icmplt 11
        13: .line 413
      StackMap locals:
      StackMap stack:
            iload 6 /* firstRun */
            iload 9 /* runCount */
            if_icmplt 15
        14: .line 414
            goto 31
        15: .line 418
      StackMap locals:
      StackMap stack:
            iload 6 /* firstRun */
            istore 8 /* limitRun */
        start local 8 // int limitRun
      StackMap locals: sun.text.bidi.BidiBase int int sun.text.bidi.BidiRun[] top byte[] int top int int
      StackMap stack:
        16: iinc 8 /* limitRun */ 1
            iload 8 /* limitRun */
            iload 9 /* runCount */
            if_icmpge 19
        17: .line 419
            aload 5 /* levels */
            aload 3 /* runs */
            iload 8 /* limitRun */
            aaload
            getfield sun.text.bidi.BidiRun.start:I
            baload
            iload 2 /* maxLevel */
        18: .line 418
            if_icmpge 16
        19: .line 422
      StackMap locals:
      StackMap stack:
            iload 8 /* limitRun */
            iconst_1
            isub
            istore 7 /* endRun */
        start local 7 // int endRun
        20: .line 423
            goto 26
        21: .line 424
      StackMap locals: sun.text.bidi.BidiBase int int sun.text.bidi.BidiRun[] top byte[] int int int int
      StackMap stack:
            aload 3 /* runs */
            iload 6 /* firstRun */
            aaload
            astore 4 /* tempRun */
        start local 4 // sun.text.bidi.BidiRun tempRun
        22: .line 425
            aload 3 /* runs */
            iload 6 /* firstRun */
            aload 3 /* runs */
            iload 7 /* endRun */
            aaload
            aastore
        23: .line 426
            aload 3 /* runs */
            iload 7 /* endRun */
            aload 4 /* tempRun */
            aastore
        24: .line 427
            iinc 6 /* firstRun */ 1
        25: .line 428
            iinc 7 /* endRun */ -1
        end local 4 // sun.text.bidi.BidiRun tempRun
        26: .line 423
      StackMap locals:
      StackMap stack:
            iload 6 /* firstRun */
            iload 7 /* endRun */
            if_icmplt 21
        27: .line 431
            iload 8 /* limitRun */
            iload 9 /* runCount */
            if_icmpne 29
        28: .line 432
            goto 31
        29: .line 434
      StackMap locals:
      StackMap stack:
            iload 8 /* limitRun */
            iconst_1
            iadd
            istore 6 /* firstRun */
        end local 8 // int limitRun
        end local 7 // int endRun
        30: .line 407
            goto 12
        end local 6 // int firstRun
        31: .line 403
      StackMap locals: sun.text.bidi.BidiBase int int sun.text.bidi.BidiRun[] top byte[] top top top int
      StackMap stack:
            iload 2 /* maxLevel */
            iconst_1
            isub
            i2b
            dup
            istore 2 /* maxLevel */
            iload 1 /* minLevel */
            if_icmpge 9
        32: .line 440
            iload 1 /* minLevel */
            iconst_1
            iand
            ifne 43
        33: .line 441
            iconst_0
            istore 6 /* firstRun */
        start local 6 // int firstRun
        34: .line 444
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.trailingWSStart:I
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.length:I
            if_icmpne 42
        35: .line 445
            iinc 9 /* runCount */ -1
        36: .line 449
            goto 42
        37: .line 450
      StackMap locals: sun.text.bidi.BidiBase int int sun.text.bidi.BidiRun[] top byte[] int top top int
      StackMap stack:
            aload 3 /* runs */
            iload 6 /* firstRun */
            aaload
            astore 4 /* tempRun */
        start local 4 // sun.text.bidi.BidiRun tempRun
        38: .line 451
            aload 3 /* runs */
            iload 6 /* firstRun */
            aload 3 /* runs */
            iload 9 /* runCount */
            aaload
            aastore
        39: .line 452
            aload 3 /* runs */
            iload 9 /* runCount */
            aload 4 /* tempRun */
            aastore
        40: .line 453
            iinc 6 /* firstRun */ 1
        41: .line 454
            iinc 9 /* runCount */ -1
        end local 4 // sun.text.bidi.BidiRun tempRun
        42: .line 449
      StackMap locals:
      StackMap stack:
            iload 6 /* firstRun */
            iload 9 /* runCount */
            if_icmplt 37
        end local 6 // int firstRun
        43: .line 457
      StackMap locals: sun.text.bidi.BidiBase int int sun.text.bidi.BidiRun[] top byte[] top top top int
      StackMap stack:
            return
        end local 9 // int runCount
        end local 5 // byte[] levels
        end local 3 // sun.text.bidi.BidiRun[] runs
        end local 2 // byte maxLevel
        end local 1 // byte minLevel
        end local 0 // sun.text.bidi.BidiBase bidiBase
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   44     0  bidiBase  Lsun/text/bidi/BidiBase;
            0   44     1  minLevel  B
            0   44     2  maxLevel  B
            4   44     3      runs  [Lsun/text/bidi/BidiRun;
           22   26     4   tempRun  Lsun/text/bidi/BidiRun;
           38   42     4   tempRun  Lsun/text/bidi/BidiRun;
            5   44     5    levels  [B
           10   31     6  firstRun  I
           34   43     6  firstRun  I
           20   30     7    endRun  I
           16   30     8  limitRun  I
            6   44     9  runCount  I
    MethodParameters:
          Name  Flags
      bidiBase  
      minLevel  
      maxLevel  

  static int getRunFromLogicalIndex(sun.text.bidi.BidiBase, int);
    descriptor: (Lsun/text/bidi/BidiBase;I)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // sun.text.bidi.BidiBase bidiBase
        start local 1 // int logicalIndex
         0: .line 462
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.runs:[Lsun/text/bidi/BidiRun;
            astore 2 /* runs */
        start local 2 // sun.text.bidi.BidiRun[] runs
         1: .line 463
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.runCount:I
            istore 3 /* runCount */
        start local 3 // int runCount
         2: iconst_0
            istore 4 /* visualStart */
        start local 4 // int visualStart
         3: .line 465
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 11
         5: .line 466
      StackMap locals: sun.text.bidi.BidiBase int sun.text.bidi.BidiRun[] int int int
      StackMap stack:
            aload 2 /* runs */
            iload 5 /* i */
            aaload
            getfield sun.text.bidi.BidiRun.limit:I
            iload 4 /* visualStart */
            isub
            istore 6 /* length */
        start local 6 // int length
         6: .line 467
            aload 2 /* runs */
            iload 5 /* i */
            aaload
            getfield sun.text.bidi.BidiRun.start:I
            istore 7 /* logicalStart */
        start local 7 // int logicalStart
         7: .line 468
            iload 1 /* logicalIndex */
            iload 7 /* logicalStart */
            if_icmplt 9
            iload 1 /* logicalIndex */
            iload 7 /* logicalStart */
            iload 6 /* length */
            iadd
            if_icmpge 9
         8: .line 469
            iload 5 /* i */
            ireturn
         9: .line 471
      StackMap locals: int int
      StackMap stack:
            iload 4 /* visualStart */
            iload 6 /* length */
            iadd
            istore 4 /* visualStart */
        10: .line 465
            iinc 5 /* i */ 1
        end local 7 // int logicalStart
        end local 6 // int length
      StackMap locals:
      StackMap stack:
        11: iload 5 /* i */
            iload 3 /* runCount */
            if_icmplt 5
        12: .line 474
            new java.lang.IllegalStateException
            dup
            ldc "Internal ICU error in getRunFromLogicalIndex"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // int i
        end local 4 // int visualStart
        end local 3 // int runCount
        end local 2 // sun.text.bidi.BidiRun[] runs
        end local 1 // int logicalIndex
        end local 0 // sun.text.bidi.BidiBase bidiBase
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0      bidiBase  Lsun/text/bidi/BidiBase;
            0   13     1  logicalIndex  I
            1   13     2          runs  [Lsun/text/bidi/BidiRun;
            2   13     3      runCount  I
            3   13     4   visualStart  I
            4   13     5             i  I
            6   11     6        length  I
            7   11     7  logicalStart  I
    MethodParameters:
              Name  Flags
      bidiBase      
      logicalIndex  

  static void getRuns(sun.text.bidi.BidiBase);
    descriptor: (Lsun/text/bidi/BidiBase;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=13, args_size=1
        start local 0 // sun.text.bidi.BidiBase bidiBase
         0: .line 493
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.runCount:I
            iflt 2
         1: .line 494
            return
         2: .line 496
      StackMap locals:
      StackMap stack:
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.direction:B
            iconst_2
            if_icmpeq 5
         3: .line 499
            aload 0 /* bidiBase */
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.paraLevel:B
            invokestatic sun.text.bidi.BidiLine.getSingleRun:(Lsun/text/bidi/BidiBase;B)V
         4: .line 500
            goto 57
         5: .line 502
      StackMap locals:
      StackMap stack:
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.length:I
            istore 1 /* length */
        start local 1 // int length
         6: .line 503
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.levels:[B
            astore 3 /* levels */
        start local 3 // byte[] levels
         7: .line 505
            bipush 126
            istore 6 /* level */
        start local 6 // byte level
         8: .line 517
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.trailingWSStart:I
            istore 2 /* limit */
        start local 2 // int limit
         9: .line 519
            iconst_0
            istore 5 /* runCount */
        start local 5 // int runCount
        10: .line 520
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        11: goto 16
        12: .line 522
      StackMap locals: sun.text.bidi.BidiBase int int byte[] int int int
      StackMap stack:
            aload 3 /* levels */
            iload 4 /* i */
            baload
            iload 6 /* level */
            if_icmpeq 15
        13: .line 523
            iinc 5 /* runCount */ 1
        14: .line 524
            aload 3 /* levels */
            iload 4 /* i */
            baload
            istore 6 /* level */
        15: .line 520
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 4 /* i */
            iload 2 /* limit */
            if_icmplt 12
        17: .line 532
            iload 5 /* runCount */
            iconst_1
            if_icmpne 20
            iload 2 /* limit */
            iload 1 /* length */
            if_icmpne 20
        18: .line 534
            aload 0 /* bidiBase */
            aload 3 /* levels */
            iconst_0
            baload
            invokestatic sun.text.bidi.BidiLine.getSingleRun:(Lsun/text/bidi/BidiBase;B)V
        19: .line 535
            goto 57
        20: .line 539
      StackMap locals:
      StackMap stack:
            bipush 62
            istore 10 /* minLevel */
        start local 10 // byte minLevel
        21: .line 540
            iconst_0
            istore 11 /* maxLevel */
        start local 11 // byte maxLevel
        22: .line 543
            iload 2 /* limit */
            iload 1 /* length */
            if_icmpge 24
        23: .line 544
            iinc 5 /* runCount */ 1
        24: .line 548
      StackMap locals: sun.text.bidi.BidiBase int int byte[] int int int top top top int int
      StackMap stack:
            aload 0 /* bidiBase */
            iload 5 /* runCount */
            invokevirtual sun.text.bidi.BidiBase.getRunsMemory:(I)V
        25: .line 549
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.runsMemory:[Lsun/text/bidi/BidiRun;
            astore 7 /* runs */
        start local 7 // sun.text.bidi.BidiRun[] runs
        26: .line 557
            iconst_0
            istore 8 /* runIndex */
        start local 8 // int runIndex
        27: .line 560
            iconst_0
            istore 4 /* i */
        28: .line 563
      StackMap locals: sun.text.bidi.BidiBase int int byte[] int int int sun.text.bidi.BidiRun[] int top int int
      StackMap stack:
            iload 4 /* i */
            istore 9 /* start */
        start local 9 // int start
        29: .line 564
            aload 3 /* levels */
            iload 4 /* i */
            baload
            istore 6 /* level */
        30: .line 565
            iload 6 /* level */
            iload 10 /* minLevel */
            if_icmpge 32
        31: .line 566
            iload 6 /* level */
            istore 10 /* minLevel */
        32: .line 568
      StackMap locals: sun.text.bidi.BidiBase int int byte[] int int int sun.text.bidi.BidiRun[] int int int int
      StackMap stack:
            iload 6 /* level */
            iload 11 /* maxLevel */
            if_icmple 34
        33: .line 569
            iload 6 /* level */
            istore 11 /* maxLevel */
        34: .line 573
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
            iload 4 /* i */
            iload 2 /* limit */
            if_icmpge 35
            aload 3 /* levels */
            iload 4 /* i */
            baload
            iload 6 /* level */
            if_icmpeq 34
        35: .line 576
      StackMap locals:
      StackMap stack:
            aload 7 /* runs */
            iload 8 /* runIndex */
            new sun.text.bidi.BidiRun
            dup
            iload 9 /* start */
            iload 4 /* i */
            iload 9 /* start */
            isub
            iload 6 /* level */
            invokespecial sun.text.bidi.BidiRun.<init>:(IIB)V
            aastore
        36: .line 577
            iinc 8 /* runIndex */ 1
        37: .line 578
            iload 4 /* i */
            iload 2 /* limit */
        38: .line 561
            if_icmplt 28
        39: .line 580
            iload 2 /* limit */
            iload 1 /* length */
            if_icmpge 43
        40: .line 582
            aload 7 /* runs */
            iload 8 /* runIndex */
            new sun.text.bidi.BidiRun
            dup
            iload 2 /* limit */
            iload 1 /* length */
            iload 2 /* limit */
            isub
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.paraLevel:B
            invokespecial sun.text.bidi.BidiRun.<init>:(IIB)V
            aastore
        41: .line 585
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.paraLevel:B
            iload 10 /* minLevel */
            if_icmpge 43
        42: .line 586
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.paraLevel:B
            istore 10 /* minLevel */
        43: .line 591
      StackMap locals:
      StackMap stack:
            aload 0 /* bidiBase */
            aload 7 /* runs */
            putfield sun.text.bidi.BidiBase.runs:[Lsun/text/bidi/BidiRun;
        44: .line 592
            aload 0 /* bidiBase */
            iload 5 /* runCount */
            putfield sun.text.bidi.BidiBase.runCount:I
        45: .line 594
            aload 0 /* bidiBase */
            iload 10 /* minLevel */
            iload 11 /* maxLevel */
            invokestatic sun.text.bidi.BidiLine.reorderLine:(Lsun/text/bidi/BidiBase;BB)V
        46: .line 598
            iconst_0
            istore 2 /* limit */
        47: .line 599
            iconst_0
            istore 4 /* i */
            goto 51
        48: .line 600
      StackMap locals:
      StackMap stack:
            aload 7 /* runs */
            iload 4 /* i */
            aaload
            aload 3 /* levels */
            aload 7 /* runs */
            iload 4 /* i */
            aaload
            getfield sun.text.bidi.BidiRun.start:I
            baload
            putfield sun.text.bidi.BidiRun.level:B
        49: .line 601
            aload 7 /* runs */
            iload 4 /* i */
            aaload
            dup
            getfield sun.text.bidi.BidiRun.limit:I
            iload 2 /* limit */
            iadd
            dup_x1
            putfield sun.text.bidi.BidiRun.limit:I
            istore 2 /* limit */
        50: .line 599
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        51: iload 4 /* i */
            iload 5 /* runCount */
            if_icmplt 48
        52: .line 608
            iload 8 /* runIndex */
            iload 5 /* runCount */
            if_icmpge 57
        53: .line 609
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.paraLevel:B
            iconst_1
            iand
            ifeq 54
            iconst_0
            goto 55
      StackMap locals:
      StackMap stack:
        54: iload 8 /* runIndex */
      StackMap locals:
      StackMap stack: int
        55: istore 12 /* trailingRun */
        start local 12 // int trailingRun
        56: .line 610
            aload 7 /* runs */
            iload 12 /* trailingRun */
            aaload
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.paraLevel:B
            putfield sun.text.bidi.BidiRun.level:B
        end local 12 // int trailingRun
        end local 11 // byte maxLevel
        end local 10 // byte minLevel
        end local 9 // int start
        end local 8 // int runIndex
        end local 7 // sun.text.bidi.BidiRun[] runs
        end local 6 // byte level
        end local 5 // int runCount
        end local 4 // int i
        end local 3 // byte[] levels
        end local 2 // int limit
        end local 1 // int length
        57: .line 616
      StackMap locals: sun.text.bidi.BidiBase
      StackMap stack:
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.insertPoints:Lsun/text/bidi/BidiBase$InsertPoints;
            getfield sun.text.bidi.BidiBase$InsertPoints.size:I
            ifle 65
        58: .line 619
            iconst_0
            istore 3 /* ip */
        start local 3 // int ip
        59: goto 64
        60: .line 620
      StackMap locals: sun.text.bidi.BidiBase top top int
      StackMap stack:
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.insertPoints:Lsun/text/bidi/BidiBase$InsertPoints;
            getfield sun.text.bidi.BidiBase$InsertPoints.points:[Lsun/text/bidi/BidiBase$Point;
            iload 3 /* ip */
            aaload
            astore 1 /* point */
        start local 1 // sun.text.bidi.BidiBase$Point point
        61: .line 621
            aload 0 /* bidiBase */
            aload 1 /* point */
            getfield sun.text.bidi.BidiBase$Point.pos:I
            invokestatic sun.text.bidi.BidiLine.getRunFromLogicalIndex:(Lsun/text/bidi/BidiBase;I)I
            istore 2 /* runIndex */
        start local 2 // int runIndex
        62: .line 622
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.runs:[Lsun/text/bidi/BidiRun;
            iload 2 /* runIndex */
            aaload
            dup
            getfield sun.text.bidi.BidiRun.insertRemove:I
            aload 1 /* point */
            getfield sun.text.bidi.BidiBase$Point.flag:I
            ior
            putfield sun.text.bidi.BidiRun.insertRemove:I
        63: .line 619
            iinc 3 /* ip */ 1
        end local 2 // int runIndex
        end local 1 // sun.text.bidi.BidiBase$Point point
      StackMap locals:
      StackMap stack:
        64: iload 3 /* ip */
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.insertPoints:Lsun/text/bidi/BidiBase$InsertPoints;
            getfield sun.text.bidi.BidiBase$InsertPoints.size:I
            if_icmplt 60
        end local 3 // int ip
        65: .line 627
      StackMap locals: sun.text.bidi.BidiBase
      StackMap stack:
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.controlCount:I
            ifle 74
        66: .line 630
            iconst_0
            istore 2 /* ic */
        start local 2 // int ic
        67: goto 73
        68: .line 631
      StackMap locals: sun.text.bidi.BidiBase top int
      StackMap stack:
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.text:[C
            iload 2 /* ic */
            caload
            istore 3 /* c */
        start local 3 // char c
        69: .line 632
            iload 3 /* c */
            invokestatic sun.text.bidi.BidiBase.IsBidiControlChar:(I)Z
            ifeq 72
        70: .line 633
            aload 0 /* bidiBase */
            iload 2 /* ic */
            invokestatic sun.text.bidi.BidiLine.getRunFromLogicalIndex:(Lsun/text/bidi/BidiBase;I)I
            istore 1 /* runIndex */
        start local 1 // int runIndex
        71: .line 634
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.runs:[Lsun/text/bidi/BidiRun;
            iload 1 /* runIndex */
            aaload
            dup
            getfield sun.text.bidi.BidiRun.insertRemove:I
            iconst_1
            isub
            putfield sun.text.bidi.BidiRun.insertRemove:I
        end local 1 // int runIndex
        72: .line 630
      StackMap locals: int
      StackMap stack:
            iinc 2 /* ic */ 1
        end local 3 // char c
      StackMap locals:
      StackMap stack:
        73: iload 2 /* ic */
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.length:I
            if_icmplt 68
        end local 2 // int ic
        74: .line 638
      StackMap locals: sun.text.bidi.BidiBase
      StackMap stack:
            return
        end local 0 // sun.text.bidi.BidiBase bidiBase
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   75     0     bidiBase  Lsun/text/bidi/BidiBase;
            6   57     1       length  I
            9   57     2        limit  I
            7   57     3       levels  [B
           11   57     4            i  I
           10   57     5     runCount  I
            8   57     6        level  B
           26   57     7         runs  [Lsun/text/bidi/BidiRun;
           27   57     8     runIndex  I
           29   57     9        start  I
           21   57    10     minLevel  B
           22   57    11     maxLevel  B
           56   57    12  trailingRun  I
           61   64     1        point  Lsun/text/bidi/BidiBase$Point;
           62   64     2     runIndex  I
           59   65     3           ip  I
           71   72     1     runIndex  I
           67   74     2           ic  I
           69   73     3            c  C
    MethodParameters:
          Name  Flags
      bidiBase  

  static int[] prepareReorder(byte[], byte[], byte[]);
    descriptor: ([B[B[B)[I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // byte[] levels
        start local 1 // byte[] pMinLevel
        start local 2 // byte[] pMaxLevel
         0: .line 645
            aload 0 /* levels */
            ifnull 1
            aload 0 /* levels */
            arraylength
            ifgt 2
         1: .line 646
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 650
      StackMap locals:
      StackMap stack:
            bipush 62
            istore 5 /* minLevel */
        start local 5 // byte minLevel
         3: .line 651
            iconst_0
            istore 6 /* maxLevel */
        start local 6 // byte maxLevel
         4: .line 652
            aload 0 /* levels */
            arraylength
            istore 3 /* start */
        start local 3 // int start
         5: goto 13
         6: .line 653
      StackMap locals: byte[] byte[] byte[] int top int int
      StackMap stack:
            aload 0 /* levels */
            iinc 3 /* start */ -1
            iload 3 /* start */
            baload
            istore 4 /* level */
        start local 4 // byte level
         7: .line 654
            iload 4 /* level */
            bipush 62
            if_icmple 9
         8: .line 655
            aconst_null
            areturn
         9: .line 657
      StackMap locals: byte[] byte[] byte[] int int int int
      StackMap stack:
            iload 4 /* level */
            iload 5 /* minLevel */
            if_icmpge 11
        10: .line 658
            iload 4 /* level */
            istore 5 /* minLevel */
        11: .line 660
      StackMap locals:
      StackMap stack:
            iload 4 /* level */
            iload 6 /* maxLevel */
            if_icmple 13
        12: .line 661
            iload 4 /* level */
            istore 6 /* maxLevel */
        end local 4 // byte level
        13: .line 652
      StackMap locals: byte[] byte[] byte[] int top int int
      StackMap stack:
            iload 3 /* start */
            ifgt 6
        14: .line 664
            aload 1 /* pMinLevel */
            iconst_0
            iload 5 /* minLevel */
            bastore
        15: .line 665
            aload 2 /* pMaxLevel */
            iconst_0
            iload 6 /* maxLevel */
            bastore
        16: .line 668
            aload 0 /* levels */
            arraylength
            newarray 10
            astore 7 /* indexMap */
        start local 7 // int[] indexMap
        17: .line 669
            aload 0 /* levels */
            arraylength
            istore 3 /* start */
            goto 20
        18: .line 670
      StackMap locals: int[]
      StackMap stack:
            iinc 3 /* start */ -1
        19: .line 671
            aload 7 /* indexMap */
            iload 3 /* start */
            iload 3 /* start */
            iastore
        20: .line 669
      StackMap locals:
      StackMap stack:
            iload 3 /* start */
            ifgt 18
        21: .line 674
            aload 7 /* indexMap */
            areturn
        end local 7 // int[] indexMap
        end local 6 // byte maxLevel
        end local 5 // byte minLevel
        end local 3 // int start
        end local 2 // byte[] pMaxLevel
        end local 1 // byte[] pMinLevel
        end local 0 // byte[] levels
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   22     0     levels  [B
            0   22     1  pMinLevel  [B
            0   22     2  pMaxLevel  [B
            5   22     3      start  I
            7   13     4      level  B
            3   22     5   minLevel  B
            4   22     6   maxLevel  B
           17   22     7   indexMap  [I
    MethodParameters:
           Name  Flags
      levels     
      pMinLevel  
      pMaxLevel  

  static int[] reorderVisual(byte[]);
    descriptor: ([B)[I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=10, args_size=1
        start local 0 // byte[] levels
         0: .line 679
            iconst_1
            newarray 8
            astore 1 /* aMinLevel */
        start local 1 // byte[] aMinLevel
         1: .line 680
            iconst_1
            newarray 8
            astore 2 /* aMaxLevel */
        start local 2 // byte[] aMaxLevel
         2: .line 684
            aload 0 /* levels */
            aload 1 /* aMinLevel */
            aload 2 /* aMaxLevel */
            invokestatic sun.text.bidi.BidiLine.prepareReorder:([B[B[B)[I
            astore 9 /* indexMap */
        start local 9 // int[] indexMap
         3: .line 685
            aload 9 /* indexMap */
            ifnonnull 5
         4: .line 686
            aconst_null
            areturn
         5: .line 689
      StackMap locals: byte[] byte[] byte[] top top top top top top int[]
      StackMap stack:
            aload 1 /* aMinLevel */
            iconst_0
            baload
            istore 7 /* minLevel */
        start local 7 // byte minLevel
         6: .line 690
            aload 2 /* aMaxLevel */
            iconst_0
            baload
            istore 8 /* maxLevel */
        start local 8 // byte maxLevel
         7: .line 693
            iload 7 /* minLevel */
            iload 8 /* maxLevel */
            if_icmpne 9
            iload 7 /* minLevel */
            iconst_1
            iand
            ifne 9
         8: .line 694
            aload 9 /* indexMap */
            areturn
         9: .line 698
      StackMap locals: byte[] byte[] byte[] top top top top int int int[]
      StackMap stack:
            iload 7 /* minLevel */
            iconst_1
            ior
            i2b
            istore 7 /* minLevel */
        10: .line 702
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* start */
        start local 3 // int start
        11: .line 708
            goto 13
        12: .line 709
      StackMap locals: byte[] byte[] byte[] int top top top int int int[]
      StackMap stack:
            iinc 3 /* start */ 1
        13: .line 708
      StackMap locals:
      StackMap stack:
            iload 3 /* start */
            aload 0 /* levels */
            arraylength
            if_icmpge 14
            aload 0 /* levels */
            iload 3 /* start */
            baload
            iload 8 /* maxLevel */
            if_icmplt 12
        14: .line 711
      StackMap locals:
      StackMap stack:
            iload 3 /* start */
            aload 0 /* levels */
            arraylength
            if_icmplt 16
        15: .line 712
            goto 30
        16: .line 716
      StackMap locals:
      StackMap stack:
            iload 3 /* start */
            istore 5 /* limit */
        start local 5 // int limit
      StackMap locals: byte[] byte[] byte[] int top int top int int int[]
      StackMap stack:
        17: iinc 5 /* limit */ 1
            iload 5 /* limit */
            aload 0 /* levels */
            arraylength
            if_icmpge 18
            aload 0 /* levels */
            iload 5 /* limit */
            baload
            iload 8 /* maxLevel */
            if_icmpge 17
        18: .line 724
      StackMap locals:
      StackMap stack:
            iload 5 /* limit */
            iconst_1
            isub
            istore 4 /* end */
        start local 4 // int end
        19: .line 725
            goto 25
        20: .line 726
      StackMap locals: byte[] byte[] byte[] int int int top int int int[]
      StackMap stack:
            aload 9 /* indexMap */
            iload 3 /* start */
            iaload
            istore 6 /* temp */
        start local 6 // int temp
        21: .line 727
            aload 9 /* indexMap */
            iload 3 /* start */
            aload 9 /* indexMap */
            iload 4 /* end */
            iaload
            iastore
        22: .line 728
            aload 9 /* indexMap */
            iload 4 /* end */
            iload 6 /* temp */
            iastore
        23: .line 730
            iinc 3 /* start */ 1
        24: .line 731
            iinc 4 /* end */ -1
        end local 6 // int temp
        25: .line 725
      StackMap locals:
      StackMap stack:
            iload 3 /* start */
            iload 4 /* end */
            if_icmplt 20
        26: .line 734
            iload 5 /* limit */
            aload 0 /* levels */
            arraylength
            if_icmpne 28
        27: .line 735
            goto 30
        28: .line 737
      StackMap locals:
      StackMap stack:
            iload 5 /* limit */
            iconst_1
            iadd
            istore 3 /* start */
        end local 5 // int limit
        end local 4 // int end
        29: .line 705
            goto 13
        30: .line 740
      StackMap locals: byte[] byte[] byte[] int top top top int int int[]
      StackMap stack:
            iload 8 /* maxLevel */
            iconst_1
            isub
            i2b
            dup
            istore 8 /* maxLevel */
            iload 7 /* minLevel */
        31: .line 701
            if_icmpge 10
        32: .line 742
            aload 9 /* indexMap */
            areturn
        end local 9 // int[] indexMap
        end local 8 // byte maxLevel
        end local 7 // byte minLevel
        end local 3 // int start
        end local 2 // byte[] aMaxLevel
        end local 1 // byte[] aMinLevel
        end local 0 // byte[] levels
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   33     0     levels  [B
            1   33     1  aMinLevel  [B
            2   33     2  aMaxLevel  [B
           11   33     3      start  I
           19   29     4        end  I
           17   29     5      limit  I
           21   25     6       temp  I
            6   33     7   minLevel  B
            7   33     8   maxLevel  B
            3   33     9   indexMap  [I
    MethodParameters:
        Name  Flags
      levels  

  static int[] getVisualMap(sun.text.bidi.BidiBase);
    descriptor: (Lsun/text/bidi/BidiBase;)[I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=18, args_size=1
        start local 0 // sun.text.bidi.BidiBase bidiBase
         0: .line 748
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.runs:[Lsun/text/bidi/BidiRun;
            astore 1 /* runs */
        start local 1 // sun.text.bidi.BidiRun[] runs
         1: .line 750
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.length:I
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.resultLength:I
            if_icmple 2
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.length:I
            goto 3
         2: .line 751
      StackMap locals: sun.text.bidi.BidiRun[]
      StackMap stack:
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.resultLength:I
         3: .line 750
      StackMap locals:
      StackMap stack: int
            istore 5 /* allocLength */
        start local 5 // int allocLength
         4: .line 752
            iload 5 /* allocLength */
            newarray 10
            astore 6 /* indexMap */
        start local 6 // int[] indexMap
         5: .line 754
            iconst_0
            istore 3 /* visualStart */
        start local 3 // int visualStart
         6: .line 755
            iconst_0
            istore 7 /* idx */
        start local 7 // int idx
         7: .line 756
            iconst_0
            istore 8 /* j */
        start local 8 // int j
         8: goto 21
         9: .line 757
      StackMap locals: sun.text.bidi.BidiBase sun.text.bidi.BidiRun[] top int top int int[] int int
      StackMap stack:
            aload 1 /* runs */
            iload 8 /* j */
            aaload
            getfield sun.text.bidi.BidiRun.start:I
            istore 2 /* logicalStart */
        start local 2 // int logicalStart
        10: .line 758
            aload 1 /* runs */
            iload 8 /* j */
            aaload
            getfield sun.text.bidi.BidiRun.limit:I
            istore 4 /* visualLimit */
        start local 4 // int visualLimit
        11: .line 759
            aload 1 /* runs */
            iload 8 /* j */
            aaload
            invokevirtual sun.text.bidi.BidiRun.isEvenRun:()Z
            ifeq 16
        12: .line 761
      StackMap locals: sun.text.bidi.BidiBase sun.text.bidi.BidiRun[] int int int int int[] int int
      StackMap stack:
            aload 6 /* indexMap */
            iload 7 /* idx */
            iinc 7 /* idx */ 1
            iload 2 /* logicalStart */
            iinc 2 /* logicalStart */ 1
            iastore
        13: .line 762
            iinc 3 /* visualStart */ 1
            iload 3 /* visualStart */
            iload 4 /* visualLimit */
        14: .line 760
            if_icmplt 12
        15: .line 763
            goto 20
        16: .line 764
      StackMap locals:
      StackMap stack:
            iload 2 /* logicalStart */
            iload 4 /* visualLimit */
            iload 3 /* visualStart */
            isub
            iadd
            istore 2 /* logicalStart */
        17: .line 766
      StackMap locals:
      StackMap stack:
            aload 6 /* indexMap */
            iload 7 /* idx */
            iinc 7 /* idx */ 1
            iinc 2 /* logicalStart */ -1
            iload 2 /* logicalStart */
            iastore
        18: .line 767
            iinc 3 /* visualStart */ 1
            iload 3 /* visualStart */
            iload 4 /* visualLimit */
        19: .line 765
            if_icmplt 17
        20: .line 756
      StackMap locals:
      StackMap stack:
            iinc 8 /* j */ 1
        end local 4 // int visualLimit
        end local 2 // int logicalStart
      StackMap locals: sun.text.bidi.BidiBase sun.text.bidi.BidiRun[] top int top int int[] int int
      StackMap stack:
        21: iload 8 /* j */
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.runCount:I
            if_icmplt 9
        end local 8 // int j
        22: .line 772
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.insertPoints:Lsun/text/bidi/BidiBase$InsertPoints;
            getfield sun.text.bidi.BidiBase$InsertPoints.size:I
            ifle 55
        23: .line 773
            iconst_0
            istore 8 /* markFound */
        start local 8 // int markFound
        24: aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.runCount:I
            istore 9 /* runCount */
        start local 9 // int runCount
        25: .line 775
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.runs:[Lsun/text/bidi/BidiRun;
            astore 1 /* runs */
        26: .line 777
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        27: goto 34
        28: .line 778
      StackMap locals: sun.text.bidi.BidiBase sun.text.bidi.BidiRun[] top int top int int[] int int int top int
      StackMap stack:
            aload 1 /* runs */
            iload 11 /* i */
            aaload
            getfield sun.text.bidi.BidiRun.insertRemove:I
            istore 10 /* insertRemove */
        start local 10 // int insertRemove
        29: .line 779
            iload 10 /* insertRemove */
            iconst_5
            iand
            ifle 31
        30: .line 780
            iinc 8 /* markFound */ 1
        31: .line 782
      StackMap locals: sun.text.bidi.BidiBase sun.text.bidi.BidiRun[] top int top int int[] int int int int int
      StackMap stack:
            iload 10 /* insertRemove */
            bipush 10
            iand
            ifle 33
        32: .line 783
            iinc 8 /* markFound */ 1
        33: .line 777
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ 1
        end local 10 // int insertRemove
      StackMap locals: sun.text.bidi.BidiBase sun.text.bidi.BidiRun[] top int top int int[] int int int top int
      StackMap stack:
        34: iload 11 /* i */
            iload 9 /* runCount */
            if_icmplt 28
        35: .line 787
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.resultLength:I
            istore 13 /* k */
        start local 13 // int k
        36: .line 788
            iload 9 /* runCount */
            iconst_1
            isub
            istore 11 /* i */
            goto 53
        37: .line 789
      StackMap locals: sun.text.bidi.BidiBase sun.text.bidi.BidiRun[] top int top int int[] int int int top int top int
      StackMap stack:
            aload 1 /* runs */
            iload 11 /* i */
            aaload
            getfield sun.text.bidi.BidiRun.insertRemove:I
            istore 10 /* insertRemove */
        start local 10 // int insertRemove
        38: .line 790
            iload 10 /* insertRemove */
            bipush 10
            iand
            ifle 41
        39: .line 791
            aload 6 /* indexMap */
            iinc 13 /* k */ -1
            iload 13 /* k */
            iconst_m1
            iastore
        40: .line 792
            iinc 8 /* markFound */ -1
        41: .line 794
      StackMap locals: sun.text.bidi.BidiBase sun.text.bidi.BidiRun[] top int top int int[] int int int int int top int
      StackMap stack:
            iload 11 /* i */
            ifle 42
            aload 1 /* runs */
            iload 11 /* i */
            iconst_1
            isub
            aaload
            getfield sun.text.bidi.BidiRun.limit:I
            goto 43
      StackMap locals:
      StackMap stack:
        42: iconst_0
      StackMap locals:
      StackMap stack: int
        43: istore 3 /* visualStart */
        44: .line 795
            aload 1 /* runs */
            iload 11 /* i */
            aaload
            getfield sun.text.bidi.BidiRun.limit:I
            iconst_1
            isub
            istore 12 /* j */
        start local 12 // int j
        45: goto 48
        46: .line 796
      StackMap locals: sun.text.bidi.BidiBase sun.text.bidi.BidiRun[] top int top int int[] int int int int int int int
      StackMap stack:
            aload 6 /* indexMap */
            iinc 13 /* k */ -1
            iload 13 /* k */
            aload 6 /* indexMap */
            iload 12 /* j */
            iaload
            iastore
        47: .line 795
            iinc 12 /* j */ -1
      StackMap locals:
      StackMap stack:
        48: iload 12 /* j */
            iload 3 /* visualStart */
            if_icmplt 49
            iload 8 /* markFound */
            ifgt 46
        49: .line 798
      StackMap locals:
      StackMap stack:
            iload 10 /* insertRemove */
            iconst_5
            iand
            ifle 52
        50: .line 799
            aload 6 /* indexMap */
            iinc 13 /* k */ -1
            iload 13 /* k */
            iconst_m1
            iastore
        51: .line 800
            iinc 8 /* markFound */ -1
        52: .line 788
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ -1
        end local 12 // int j
        end local 10 // int insertRemove
      StackMap locals: sun.text.bidi.BidiBase sun.text.bidi.BidiRun[] top int top int int[] int int int top int top int
      StackMap stack:
        53: iload 11 /* i */
            iflt 90
            iload 8 /* markFound */
            ifgt 37
        end local 13 // int k
        end local 11 // int i
        end local 9 // int runCount
        end local 8 // int markFound
        54: .line 803
            goto 90
        55: .line 804
      StackMap locals: sun.text.bidi.BidiBase sun.text.bidi.BidiRun[] top int top int int[] int
      StackMap stack:
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.controlCount:I
            ifle 90
        56: .line 805
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.runCount:I
            istore 8 /* runCount */
        start local 8 // int runCount
        57: .line 809
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.runs:[Lsun/text/bidi/BidiRun;
            astore 1 /* runs */
        58: .line 810
            iconst_0
            istore 3 /* visualStart */
        59: .line 812
            iconst_0
            istore 14 /* k */
        start local 14 // int k
        60: .line 813
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        61: goto 89
        62: .line 814
      StackMap locals: sun.text.bidi.BidiBase sun.text.bidi.BidiRun[] top int top int int[] int int top top top int top int
      StackMap stack:
            aload 1 /* runs */
            iload 12 /* i */
            aaload
            getfield sun.text.bidi.BidiRun.limit:I
            iload 3 /* visualStart */
            isub
            istore 11 /* length */
        start local 11 // int length
        63: .line 815
            aload 1 /* runs */
            iload 12 /* i */
            aaload
            getfield sun.text.bidi.BidiRun.insertRemove:I
            istore 10 /* insertRemove */
        start local 10 // int insertRemove
        64: .line 817
            iload 10 /* insertRemove */
            ifne 67
            iload 14 /* k */
            iload 3 /* visualStart */
            if_icmpne 67
        65: .line 818
            iload 14 /* k */
            iload 11 /* length */
            iadd
            istore 14 /* k */
        66: .line 819
            goto 88
        67: .line 822
      StackMap locals: sun.text.bidi.BidiBase sun.text.bidi.BidiRun[] top int top int int[] int int top int int int top int
      StackMap stack:
            iload 10 /* insertRemove */
            ifne 75
        68: .line 823
            aload 1 /* runs */
            iload 12 /* i */
            aaload
            getfield sun.text.bidi.BidiRun.limit:I
            istore 4 /* visualLimit */
        start local 4 // int visualLimit
        69: .line 824
            iload 3 /* visualStart */
            istore 13 /* j */
        start local 13 // int j
        70: goto 73
        71: .line 825
      StackMap locals: sun.text.bidi.BidiBase sun.text.bidi.BidiRun[] top int int int int[] int int top int int int int int
      StackMap stack:
            aload 6 /* indexMap */
            iload 14 /* k */
            iinc 14 /* k */ 1
            aload 6 /* indexMap */
            iload 13 /* j */
            iaload
            iastore
        72: .line 824
            iinc 13 /* j */ 1
      StackMap locals:
      StackMap stack:
        73: iload 13 /* j */
            iload 4 /* visualLimit */
            if_icmplt 71
        74: .line 827
            goto 88
        end local 13 // int j
        end local 4 // int visualLimit
        75: .line 829
      StackMap locals: sun.text.bidi.BidiBase sun.text.bidi.BidiRun[] top int top int int[] int int top int int int top int
      StackMap stack:
            aload 1 /* runs */
            iload 12 /* i */
            aaload
            getfield sun.text.bidi.BidiRun.start:I
            istore 2 /* logicalStart */
        start local 2 // int logicalStart
        76: .line 830
            aload 1 /* runs */
            iload 12 /* i */
            aaload
            invokevirtual sun.text.bidi.BidiRun.isEvenRun:()Z
            istore 17 /* evenRun */
        start local 17 // boolean evenRun
        77: .line 831
            iload 2 /* logicalStart */
            iload 11 /* length */
            iadd
            iconst_1
            isub
            istore 9 /* logicalEnd */
        start local 9 // int logicalEnd
        78: .line 832
            iconst_0
            istore 13 /* j */
        start local 13 // int j
        79: goto 87
        80: .line 833
      StackMap locals: sun.text.bidi.BidiBase sun.text.bidi.BidiRun[] int int top int int[] int int int int int int int int top top int
      StackMap stack:
            iload 17 /* evenRun */
            ifeq 81
            iload 2 /* logicalStart */
            iload 13 /* j */
            iadd
            goto 82
      StackMap locals:
      StackMap stack:
        81: iload 9 /* logicalEnd */
            iload 13 /* j */
            isub
      StackMap locals:
      StackMap stack: int
        82: istore 15 /* m */
        start local 15 // int m
        83: .line 834
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.text:[C
            iload 15 /* m */
            caload
            istore 16 /* uchar */
        start local 16 // char uchar
        84: .line 835
            iload 16 /* uchar */
            invokestatic sun.text.bidi.BidiBase.IsBidiControlChar:(I)Z
            ifne 86
        85: .line 836
            aload 6 /* indexMap */
            iload 14 /* k */
            iinc 14 /* k */ 1
            iload 15 /* m */
            iastore
        86: .line 832
      StackMap locals: sun.text.bidi.BidiBase sun.text.bidi.BidiRun[] int int top int int[] int int int int int int int int int int int
      StackMap stack:
            iinc 13 /* j */ 1
        end local 16 // char uchar
        end local 15 // int m
      StackMap locals: sun.text.bidi.BidiBase sun.text.bidi.BidiRun[] int int top int int[] int int int int int int int int top top int
      StackMap stack:
        87: iload 13 /* j */
            iload 11 /* length */
            if_icmplt 80
        end local 17 // boolean evenRun
        end local 13 // int j
        end local 9 // int logicalEnd
        end local 2 // int logicalStart
        88: .line 813
      StackMap locals: sun.text.bidi.BidiBase sun.text.bidi.BidiRun[] top int top int int[] int int top int int int top int
      StackMap stack:
            iinc 12 /* i */ 1
            iload 3 /* visualStart */
            iload 11 /* length */
            iadd
            istore 3 /* visualStart */
        end local 11 // int length
        end local 10 // int insertRemove
      StackMap locals: sun.text.bidi.BidiBase sun.text.bidi.BidiRun[] top int top int int[] int int top top top int top int
      StackMap stack:
        89: iload 12 /* i */
            iload 8 /* runCount */
            if_icmplt 62
        end local 14 // int k
        end local 12 // int i
        end local 8 // int runCount
        90: .line 841
      StackMap locals: sun.text.bidi.BidiBase sun.text.bidi.BidiRun[] top int top int int[] int
      StackMap stack:
            iload 5 /* allocLength */
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.resultLength:I
            if_icmpne 92
        91: .line 842
            aload 6 /* indexMap */
            areturn
        92: .line 844
      StackMap locals:
      StackMap stack:
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.resultLength:I
            newarray 10
            astore 8 /* newMap */
        start local 8 // int[] newMap
        93: .line 845
            aload 6 /* indexMap */
            iconst_0
            aload 8 /* newMap */
            iconst_0
            aload 0 /* bidiBase */
            getfield sun.text.bidi.BidiBase.resultLength:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        94: .line 846
            aload 8 /* newMap */
            areturn
        end local 8 // int[] newMap
        end local 7 // int idx
        end local 6 // int[] indexMap
        end local 5 // int allocLength
        end local 3 // int visualStart
        end local 1 // sun.text.bidi.BidiRun[] runs
        end local 0 // sun.text.bidi.BidiBase bidiBase
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   95     0      bidiBase  Lsun/text/bidi/BidiBase;
            1   95     1          runs  [Lsun/text/bidi/BidiRun;
           10   21     2  logicalStart  I
           76   88     2  logicalStart  I
            6   95     3   visualStart  I
           11   21     4   visualLimit  I
           69   75     4   visualLimit  I
            4   95     5   allocLength  I
            5   95     6      indexMap  [I
            7   95     7           idx  I
            8   22     8             j  I
           24   54     8     markFound  I
           25   54     9      runCount  I
           29   34    10  insertRemove  I
           38   53    10  insertRemove  I
           27   54    11             i  I
           45   53    12             j  I
           36   54    13             k  I
           57   90     8      runCount  I
           78   88     9    logicalEnd  I
           64   89    10  insertRemove  I
           63   89    11        length  I
           61   90    12             i  I
           70   75    13             j  I
           79   88    13             j  I
           60   90    14             k  I
           83   87    15             m  I
           84   87    16         uchar  C
           77   88    17       evenRun  Z
           93   95     8        newMap  [I
    MethodParameters:
          Name  Flags
      bidiBase  
}
SourceFile: "BidiLine.java"
InnerClasses:
  InsertPoints = sun.text.bidi.BidiBase$InsertPoints of sun.text.bidi.BidiBase
  Point = sun.text.bidi.BidiBase$Point of sun.text.bidi.BidiBase