public final class org.apache.logging.log4j.core.util.UuidUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.apache.logging.log4j.core.util.UuidUtil
  super_class: java.lang.Object
{
  public static final java.lang.String UUID_SEQUENCE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.apache.logging.log4j.uuidSequence"

  private static final org.apache.logging.log4j.Logger LOGGER;
    descriptor: Lorg/apache/logging/log4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String ASSIGNED_SEQUENCES;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.apache.logging.log4j.assignedSequences"

  private static final java.util.concurrent.atomic.AtomicInteger COUNT;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long TYPE1;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4096

  private static final byte VARIANT;
    descriptor: B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -128

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

  private static final long NUM_100NS_INTERVALS_SINCE_UUID_EPOCH;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 122192928000000000

  private static final long INITIAL_UUID_SEQNO;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long LEAST;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long LOW_MASK;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4294967295

  private static final long MID_MASK;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 281470681743360

  private static final long HIGH_MASK;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1152640029630136320

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

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

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

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=16, args_size=0
         0: .line 44
            invokestatic org.apache.logging.log4j.status.StatusLogger.getLogger:()Lorg/apache/logging/log4j/status/StatusLogger;
            putstatic org.apache.logging.log4j.core.util.UuidUtil.LOGGER:Lorg/apache/logging/log4j/Logger;
         1: .line 48
            new java.util.concurrent.atomic.AtomicInteger
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
            putstatic org.apache.logging.log4j.core.util.UuidUtil.COUNT:Ljava/util/concurrent/atomic/AtomicInteger;
         2: .line 53
            invokestatic org.apache.logging.log4j.util.PropertiesUtil.getProperties:()Lorg/apache/logging/log4j/util/PropertiesUtil;
            ldc "org.apache.logging.log4j.uuidSequence"
            lconst_0
            invokevirtual org.apache.logging.log4j.util.PropertiesUtil.getLongProperty:(Ljava/lang/String;J)J
            putstatic org.apache.logging.log4j.core.util.UuidUtil.INITIAL_UUID_SEQNO:J
         3: .line 67
            invokestatic org.apache.logging.log4j.core.util.NetUtils.getMacAddress:()[B
            astore 0 /* mac */
        start local 0 // byte[] mac
         4: .line 68
            new java.security.SecureRandom
            dup
            invokespecial java.security.SecureRandom.<init>:()V
            astore 1 /* randomGenerator */
        start local 1 // java.util.Random randomGenerator
         5: .line 69
            aload 0 /* mac */
            ifnull 6
            aload 0 /* mac */
            arraylength
            ifne 8
         6: .line 70
      StackMap locals: byte[] java.util.Random
      StackMap stack:
            bipush 6
            newarray 8
            astore 0 /* mac */
         7: .line 71
            aload 1 /* randomGenerator */
            aload 0 /* mac */
            invokevirtual java.util.Random.nextBytes:([B)V
         8: .line 73
      StackMap locals:
      StackMap stack:
            aload 0 /* mac */
            arraylength
            bipush 6
            if_icmplt 9
            bipush 6
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 0 /* mac */
            arraylength
      StackMap locals:
      StackMap stack: int
        10: istore 2 /* length */
        start local 2 // int length
        11: .line 74
            aload 0 /* mac */
            arraylength
            bipush 6
            if_icmplt 12
            aload 0 /* mac */
            arraylength
            bipush 6
            isub
            goto 13
      StackMap locals: int
      StackMap stack:
        12: iconst_0
      StackMap locals:
      StackMap stack: int
        13: istore 3 /* index */
        start local 3 // int index
        14: .line 75
            bipush 8
            newarray 8
            astore 4 /* node */
        start local 4 // byte[] node
        15: .line 76
            aload 4 /* node */
            iconst_0
            bipush -128
            bastore
        16: .line 77
            aload 4 /* node */
            iconst_1
            iconst_0
            bastore
        17: .line 78
            iconst_2
            istore 5 /* i */
        start local 5 // int i
        18: goto 21
        19: .line 79
      StackMap locals: int byte[] int
      StackMap stack:
            aload 4 /* node */
            iload 5 /* i */
            iconst_0
            bastore
        20: .line 78
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 5 /* i */
            bipush 8
            if_icmplt 19
        end local 5 // int i
        22: .line 81
            aload 0 /* mac */
            iload 3 /* index */
            aload 4 /* node */
            iload 3 /* index */
            iconst_2
            iadd
            iload 2 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        23: .line 82
            aload 4 /* node */
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            astore 5 /* buf */
        start local 5 // java.nio.ByteBuffer buf
        24: .line 83
            getstatic org.apache.logging.log4j.core.util.UuidUtil.INITIAL_UUID_SEQNO:J
            lstore 6 /* rand */
        start local 6 // long rand
        25: .line 84
            invokestatic org.apache.logging.log4j.util.PropertiesUtil.getProperties:()Lorg/apache/logging/log4j/util/PropertiesUtil;
            ldc "org.apache.logging.log4j.assignedSequences"
            invokevirtual org.apache.logging.log4j.util.PropertiesUtil.getStringProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* assigned */
        start local 8 // java.lang.String assigned
        26: .line 86
            aload 8 /* assigned */
            ifnonnull 29
        27: .line 87
            iconst_0
            newarray 11
            astore 9 /* sequences */
        start local 9 // long[] sequences
        28: .line 88
            goto 38
        end local 9 // long[] sequences
        29: .line 89
      StackMap locals: byte[] java.util.Random int int byte[] java.nio.ByteBuffer long java.lang.String
      StackMap stack:
            aload 8 /* assigned */
            getstatic org.apache.logging.log4j.core.util.Patterns.COMMA_SEPARATOR:Ljava/lang/String;
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 10 /* array */
        start local 10 // java.lang.String[] array
        30: .line 90
            aload 10 /* array */
            arraylength
            newarray 11
            astore 9 /* sequences */
        start local 9 // long[] sequences
        31: .line 91
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        32: .line 92
            aload 10 /* array */
            dup
            astore 15
            arraylength
            istore 14
            iconst_0
            istore 13
            goto 37
      StackMap locals: byte[] java.util.Random int int byte[] java.nio.ByteBuffer long java.lang.String long[] java.lang.String[] int top int int java.lang.String[]
      StackMap stack:
        33: aload 15
            iload 13
            aaload
            astore 12 /* value */
        start local 12 // java.lang.String value
        34: .line 93
            aload 9 /* sequences */
            iload 11 /* i */
            aload 12 /* value */
            invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
            lastore
        35: .line 94
            iinc 11 /* i */ 1
        end local 12 // java.lang.String value
        36: .line 92
            iinc 13 1
      StackMap locals:
      StackMap stack:
        37: iload 13
            iload 14
            if_icmplt 33
        end local 11 // int i
        end local 10 // java.lang.String[] array
        38: .line 97
      StackMap locals: byte[] java.util.Random int int byte[] java.nio.ByteBuffer long java.lang.String long[]
      StackMap stack:
            lload 6 /* rand */
            lconst_0
            lcmp
            ifne 40
        39: .line 98
            aload 1 /* randomGenerator */
            invokevirtual java.util.Random.nextLong:()J
            lstore 6 /* rand */
        40: .line 100
      StackMap locals:
      StackMap stack:
            lload 6 /* rand */
            ldc 16383
            land
            lstore 6 /* rand */
        41: .line 103
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 10 /* duplicate */
        start local 10 // boolean duplicate
        42: .line 104
            aload 9 /* sequences */
            dup
            astore 15
            arraylength
            istore 14
            iconst_0
            istore 13
            goto 48
      StackMap locals: byte[] java.util.Random int int byte[] java.nio.ByteBuffer long java.lang.String long[] int top top int int long[]
      StackMap stack:
        43: aload 15
            iload 13
            laload
            lstore 11 /* sequence */
        start local 11 // long sequence
        44: .line 105
            lload 11 /* sequence */
            lload 6 /* rand */
            lcmp
            ifne 47
        45: .line 106
            iconst_1
            istore 10 /* duplicate */
        46: .line 107
            goto 49
        end local 11 // long sequence
        47: .line 104
      StackMap locals:
      StackMap stack:
            iinc 13 1
      StackMap locals:
      StackMap stack:
        48: iload 13
            iload 14
            if_icmplt 43
        49: .line 110
      StackMap locals: byte[] java.util.Random int int byte[] java.nio.ByteBuffer long java.lang.String long[] int
      StackMap stack:
            iload 10 /* duplicate */
            ifeq 51
        50: .line 111
            lload 6 /* rand */
            lconst_1
            ladd
            ldc 16383
            land
            lstore 6 /* rand */
        51: .line 113
      StackMap locals:
      StackMap stack:
            iload 10 /* duplicate */
            ifne 41
        52: .line 114
            aload 8 /* assigned */
            ifnonnull 53
            lload 6 /* rand */
            invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
            goto 54
      StackMap locals:
      StackMap stack:
        53: new java.lang.StringBuilder
            dup
            aload 8 /* assigned */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 44
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            lload 6 /* rand */
            invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        54: astore 8 /* assigned */
        55: .line 115
            ldc "org.apache.logging.log4j.assignedSequences"
            aload 8 /* assigned */
            invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            pop
        56: .line 117
            aload 5 /* buf */
            invokevirtual java.nio.ByteBuffer.getLong:()J
            lload 6 /* rand */
            bipush 48
            lshl
            lor
            putstatic org.apache.logging.log4j.core.util.UuidUtil.LEAST:J
        end local 10 // boolean duplicate
        end local 9 // long[] sequences
        end local 8 // java.lang.String assigned
        end local 6 // long rand
        end local 5 // java.nio.ByteBuffer buf
        end local 4 // byte[] node
        end local 3 // int index
        end local 2 // int length
        end local 1 // java.util.Random randomGenerator
        end local 0 // byte[] mac
        57: .line 118
            return
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            4   57     0              mac  [B
            5   57     1  randomGenerator  Ljava/util/Random;
           11   57     2           length  I
           14   57     3            index  I
           15   57     4             node  [B
           18   22     5                i  I
           24   57     5              buf  Ljava/nio/ByteBuffer;
           25   57     6             rand  J
           26   57     8         assigned  Ljava/lang/String;
           28   29     9        sequences  [J
           31   57     9        sequences  [J
           30   38    10            array  [Ljava/lang/String;
           32   38    11                i  I
           34   36    12            value  Ljava/lang/String;
           42   57    10        duplicate  Z
           44   47    11         sequence  J

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.logging.log4j.core.util.UuidUtil this
         0: .line 122
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 123
            return
        end local 0 // org.apache.logging.log4j.core.util.UuidUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/logging/log4j/core/util/UuidUtil;

  public static java.util.UUID getTimeBasedUuid();
    descriptor: ()Ljava/util/UUID;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=10, args_size=0
         0: .line 143
            invokestatic java.lang.System.currentTimeMillis:()J
            ldc 10000
            lmul
         1: .line 144
            ldc 122192928000000000
         2: .line 143
            ladd
         3: .line 144
            getstatic org.apache.logging.log4j.core.util.UuidUtil.COUNT:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
            sipush 10000
            irem
            i2l
         4: .line 143
            ladd
            lstore 0 /* time */
        start local 0 // long time
         5: .line 145
            lload 0 /* time */
            ldc 4294967295
            land
            bipush 32
            lshl
            lstore 2 /* timeLow */
        start local 2 // long timeLow
         6: .line 146
            lload 0 /* time */
            ldc 281470681743360
            land
            bipush 16
            lshr
            lstore 4 /* timeMid */
        start local 4 // long timeMid
         7: .line 147
            lload 0 /* time */
            ldc 1152640029630136320
            land
            bipush 48
            lshr
            lstore 6 /* timeHi */
        start local 6 // long timeHi
         8: .line 148
            lload 2 /* timeLow */
            lload 4 /* timeMid */
            lor
            ldc 4096
            lor
            lload 6 /* timeHi */
            lor
            lstore 8 /* most */
        start local 8 // long most
         9: .line 149
            new java.util.UUID
            dup
            lload 8 /* most */
            getstatic org.apache.logging.log4j.core.util.UuidUtil.LEAST:J
            invokespecial java.util.UUID.<init>:(JJ)V
            areturn
        end local 8 // long most
        end local 6 // long timeHi
        end local 4 // long timeMid
        end local 2 // long timeLow
        end local 0 // long time
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            5   10     0     time  J
            6   10     2  timeLow  J
            7   10     4  timeMid  J
            8   10     6   timeHi  J
            9   10     8     most  J
}
SourceFile: "UuidUtil.java"