final class java.time.ZoneRegion extends java.time.ZoneId implements java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: java.time.ZoneRegion
  super_class: java.time.ZoneId
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8386373296231747096

  private final java.lang.String id;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final transient java.time.zone.ZoneRules rules;
    descriptor: Ljava/time/zone/ZoneRules;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

  static java.time.ZoneRegion ofId(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Ljava/time/ZoneRegion;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // java.lang.String zoneId
        start local 1 // boolean checkAvailable
         0: .line 115
            aload 0 /* zoneId */
            ldc "zoneId"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 116
            aload 0 /* zoneId */
            invokestatic java.time.ZoneRegion.checkName:(Ljava/lang/String;)V
         2: .line 117
            aconst_null
            astore 2 /* rules */
        start local 2 // java.time.zone.ZoneRules rules
         3: .line 120
            aload 0 /* zoneId */
            iconst_1
            invokestatic java.time.zone.ZoneRulesProvider.getRules:(Ljava/lang/String;Z)Ljava/time/zone/ZoneRules;
            astore 2 /* rules */
         4: .line 121
            goto 8
      StackMap locals: java.lang.String int java.time.zone.ZoneRules
      StackMap stack: java.time.zone.ZoneRulesException
         5: astore 3 /* ex */
        start local 3 // java.time.zone.ZoneRulesException ex
         6: .line 122
            iload 1 /* checkAvailable */
            ifeq 8
         7: .line 123
            aload 3 /* ex */
            athrow
        end local 3 // java.time.zone.ZoneRulesException ex
         8: .line 126
      StackMap locals:
      StackMap stack:
            new java.time.ZoneRegion
            dup
            aload 0 /* zoneId */
            aload 2 /* rules */
            invokespecial java.time.ZoneRegion.<init>:(Ljava/lang/String;Ljava/time/zone/ZoneRules;)V
            areturn
        end local 2 // java.time.zone.ZoneRules rules
        end local 1 // boolean checkAvailable
        end local 0 // java.lang.String zoneId
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0          zoneId  Ljava/lang/String;
            0    9     1  checkAvailable  Z
            3    9     2           rules  Ljava/time/zone/ZoneRules;
            6    8     3              ex  Ljava/time/zone/ZoneRulesException;
      Exception table:
        from    to  target  type
           3     4       5  Class java.time.zone.ZoneRulesException
    MethodParameters:
                Name  Flags
      zoneId          
      checkAvailable  

  private static void checkName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // java.lang.String zoneId
         0: .line 136
            aload 0 /* zoneId */
            invokevirtual java.lang.String.length:()I
            istore 1 /* n */
        start local 1 // int n
         1: .line 137
            iload 1 /* n */
            iconst_2
            if_icmpge 3
         2: .line 138
            new java.time.DateTimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid ID for region-based ZoneId, invalid format: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* zoneId */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.time.DateTimeException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 140
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 17
         5: .line 141
      StackMap locals: int
      StackMap stack:
            aload 0 /* zoneId */
            iload 2 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* c */
        start local 3 // char c
         6: .line 142
            iload 3 /* c */
            bipush 97
            if_icmplt 7
            iload 3 /* c */
            bipush 122
            if_icmpgt 7
            goto 16
         7: .line 143
      StackMap locals: int
      StackMap stack:
            iload 3 /* c */
            bipush 65
            if_icmplt 8
            iload 3 /* c */
            bipush 90
            if_icmpgt 8
            goto 16
         8: .line 144
      StackMap locals:
      StackMap stack:
            iload 3 /* c */
            bipush 47
            if_icmpne 9
            iload 2 /* i */
            ifeq 9
            goto 16
         9: .line 145
      StackMap locals:
      StackMap stack:
            iload 3 /* c */
            bipush 48
            if_icmplt 10
            iload 3 /* c */
            bipush 57
            if_icmpgt 10
            iload 2 /* i */
            ifeq 10
            goto 16
        10: .line 146
      StackMap locals:
      StackMap stack:
            iload 3 /* c */
            bipush 126
            if_icmpne 11
            iload 2 /* i */
            ifeq 11
            goto 16
        11: .line 147
      StackMap locals:
      StackMap stack:
            iload 3 /* c */
            bipush 46
            if_icmpne 12
            iload 2 /* i */
            ifeq 12
            goto 16
        12: .line 148
      StackMap locals:
      StackMap stack:
            iload 3 /* c */
            bipush 95
            if_icmpne 13
            iload 2 /* i */
            ifeq 13
            goto 16
        13: .line 149
      StackMap locals:
      StackMap stack:
            iload 3 /* c */
            bipush 43
            if_icmpne 14
            iload 2 /* i */
            ifeq 14
            goto 16
        14: .line 150
      StackMap locals:
      StackMap stack:
            iload 3 /* c */
            bipush 45
            if_icmpne 15
            iload 2 /* i */
            ifeq 15
            goto 16
        15: .line 151
      StackMap locals:
      StackMap stack:
            new java.time.DateTimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid ID for region-based ZoneId, invalid format: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* zoneId */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.time.DateTimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // char c
        16: .line 140
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 2 /* i */
            iload 1 /* n */
            if_icmplt 5
        end local 2 // int i
        18: .line 153
            return
        end local 1 // int n
        end local 0 // java.lang.String zoneId
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   19     0  zoneId  Ljava/lang/String;
            1   19     1       n  I
            4   18     2       i  I
            6   16     3       c  C
    MethodParameters:
        Name  Flags
      zoneId  

  void <init>(java.lang.String, java.time.zone.ZoneRules);
    descriptor: (Ljava/lang/String;Ljava/time/zone/ZoneRules;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.time.ZoneRegion this
        start local 1 // java.lang.String id
        start local 2 // java.time.zone.ZoneRules rules
         0: .line 162
            aload 0 /* this */
            invokespecial java.time.ZoneId.<init>:()V
         1: .line 163
            aload 0 /* this */
            aload 1 /* id */
            putfield java.time.ZoneRegion.id:Ljava/lang/String;
         2: .line 164
            aload 0 /* this */
            aload 2 /* rules */
            putfield java.time.ZoneRegion.rules:Ljava/time/zone/ZoneRules;
         3: .line 165
            return
        end local 2 // java.time.zone.ZoneRules rules
        end local 1 // java.lang.String id
        end local 0 // java.time.ZoneRegion this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Ljava/time/ZoneRegion;
            0    4     1     id  Ljava/lang/String;
            0    4     2  rules  Ljava/time/zone/ZoneRules;
    MethodParameters:
       Name  Flags
      id     
      rules  

  public java.lang.String getId();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.time.ZoneRegion this
         0: .line 170
            aload 0 /* this */
            getfield java.time.ZoneRegion.id:Ljava/lang/String;
            areturn
        end local 0 // java.time.ZoneRegion this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/ZoneRegion;

  public java.time.zone.ZoneRules getRules();
    descriptor: ()Ljava/time/zone/ZoneRules;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.time.ZoneRegion this
         0: .line 177
            aload 0 /* this */
            getfield java.time.ZoneRegion.rules:Ljava/time/zone/ZoneRules;
            ifnull 1
            aload 0 /* this */
            getfield java.time.ZoneRegion.rules:Ljava/time/zone/ZoneRules;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield java.time.ZoneRegion.id:Ljava/lang/String;
            iconst_0
            invokestatic java.time.zone.ZoneRulesProvider.getRules:(Ljava/lang/String;Z)Ljava/time/zone/ZoneRules;
      StackMap locals:
      StackMap stack: java.time.zone.ZoneRules
         2: areturn
        end local 0 // java.time.ZoneRegion this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/time/ZoneRegion;

  private java.lang.Object writeReplace();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.time.ZoneRegion this
         0: .line 193
            new java.time.Ser
            dup
            bipush 7
            aload 0 /* this */
            invokespecial java.time.Ser.<init>:(BLjava/lang/Object;)V
            areturn
        end local 0 // java.time.ZoneRegion this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/ZoneRegion;

  private void readObject(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.time.ZoneRegion this
        start local 1 // java.io.ObjectInputStream s
         0: .line 203
            new java.io.InvalidObjectException
            dup
            ldc "Deserialization via serialization delegate"
            invokespecial java.io.InvalidObjectException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.io.ObjectInputStream s
        end local 0 // java.time.ZoneRegion this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/time/ZoneRegion;
            0    1     1     s  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.InvalidObjectException
    MethodParameters:
      Name  Flags
      s     

  void write(java.io.DataOutput);
    descriptor: (Ljava/io/DataOutput;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.time.ZoneRegion this
        start local 1 // java.io.DataOutput out
         0: .line 208
            aload 1 /* out */
            bipush 7
            invokeinterface java.io.DataOutput.writeByte:(I)V
         1: .line 209
            aload 0 /* this */
            aload 1 /* out */
            invokevirtual java.time.ZoneRegion.writeExternal:(Ljava/io/DataOutput;)V
         2: .line 210
            return
        end local 1 // java.io.DataOutput out
        end local 0 // java.time.ZoneRegion this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/time/ZoneRegion;
            0    3     1   out  Ljava/io/DataOutput;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      out   

  void writeExternal(java.io.DataOutput);
    descriptor: (Ljava/io/DataOutput;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.time.ZoneRegion this
        start local 1 // java.io.DataOutput out
         0: .line 213
            aload 1 /* out */
            aload 0 /* this */
            getfield java.time.ZoneRegion.id:Ljava/lang/String;
            invokeinterface java.io.DataOutput.writeUTF:(Ljava/lang/String;)V
         1: .line 214
            return
        end local 1 // java.io.DataOutput out
        end local 0 // java.time.ZoneRegion this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/time/ZoneRegion;
            0    2     1   out  Ljava/io/DataOutput;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      out   

  static java.time.ZoneId readExternal(java.io.DataInput);
    descriptor: (Ljava/io/DataInput;)Ljava/time/ZoneId;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.io.DataInput in
         0: .line 217
            aload 0 /* in */
            invokeinterface java.io.DataInput.readUTF:()Ljava/lang/String;
            astore 1 /* id */
        start local 1 // java.lang.String id
         1: .line 218
            aload 1 /* id */
            iconst_0
            invokestatic java.time.ZoneId.of:(Ljava/lang/String;Z)Ljava/time/ZoneId;
            areturn
        end local 1 // java.lang.String id
        end local 0 // java.io.DataInput in
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    in  Ljava/io/DataInput;
            1    2     1    id  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      in    
}
SourceFile: "ZoneRegion.java"