public class org.h2.util.LocalDateTimeUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.h2.util.LocalDateTimeUtils
  super_class: java.lang.Object
{
  public static final java.lang.Class<?> LOCAL_DATE;
    descriptor: Ljava/lang/Class;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  public static final java.lang.Class<?> LOCAL_TIME;
    descriptor: Ljava/lang/Class;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  public static final java.lang.Class<?> LOCAL_DATE_TIME;
    descriptor: Ljava/lang/Class;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  public static final java.lang.Class<?> INSTANT;
    descriptor: Ljava/lang/Class;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  public static final java.lang.Class<?> OFFSET_DATE_TIME;
    descriptor: Ljava/lang/Class;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  private static final java.lang.Class<?> ZONE_OFFSET;
    descriptor: Ljava/lang/Class;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  public static final java.lang.Class<?> PERIOD;
    descriptor: Ljava/lang/Class;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  public static final java.lang.Class<?> DURATION;
    descriptor: Ljava/lang/Class;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  private static final java.lang.reflect.Method LOCAL_TIME_OF_NANO;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.reflect.Method LOCAL_TIME_TO_NANO;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.reflect.Method LOCAL_DATE_OF_YEAR_MONTH_DAY;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.reflect.Method LOCAL_DATE_GET_YEAR;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.reflect.Method LOCAL_DATE_GET_MONTH_VALUE;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.reflect.Method LOCAL_DATE_GET_DAY_OF_MONTH;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.reflect.Method LOCAL_DATE_AT_START_OF_DAY;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.reflect.Method INSTANT_GET_EPOCH_SECOND;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.reflect.Method INSTANT_GET_NANO;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.reflect.Method TIMESTAMP_TO_INSTANT;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.reflect.Method LOCAL_DATE_TIME_PLUS_NANOS;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.reflect.Method LOCAL_DATE_TIME_TO_LOCAL_DATE;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.reflect.Method LOCAL_DATE_TIME_TO_LOCAL_TIME;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.reflect.Method ZONE_OFFSET_OF_TOTAL_SECONDS;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.reflect.Method OFFSET_DATE_TIME_OF_LOCAL_DATE_TIME_ZONE_OFFSET;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.reflect.Method OFFSET_DATE_TIME_TO_LOCAL_DATE_TIME;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.reflect.Method OFFSET_DATE_TIME_GET_OFFSET;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.reflect.Method ZONE_OFFSET_GET_TOTAL_SECONDS;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.reflect.Method PERIOD_OF;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.reflect.Method PERIOD_GET_YEARS;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.reflect.Method PERIOD_GET_MONTHS;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.reflect.Method PERIOD_GET_DAYS;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.reflect.Method DURATION_OF_SECONDS;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.reflect.Method DURATION_GET_SECONDS;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.reflect.Method DURATION_GET_NANO;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final boolean IS_JAVA8_DATE_API_PRESENT;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 202
            ldc "java.time.LocalDate"
            invokestatic org.h2.util.LocalDateTimeUtils.tryGetClass:(Ljava/lang/String;)Ljava/lang/Class;
            putstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE:Ljava/lang/Class;
         1: .line 203
            ldc "java.time.LocalTime"
            invokestatic org.h2.util.LocalDateTimeUtils.tryGetClass:(Ljava/lang/String;)Ljava/lang/Class;
            putstatic org.h2.util.LocalDateTimeUtils.LOCAL_TIME:Ljava/lang/Class;
         2: .line 204
            ldc "java.time.LocalDateTime"
            invokestatic org.h2.util.LocalDateTimeUtils.tryGetClass:(Ljava/lang/String;)Ljava/lang/Class;
            putstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE_TIME:Ljava/lang/Class;
         3: .line 205
            ldc "java.time.Instant"
            invokestatic org.h2.util.LocalDateTimeUtils.tryGetClass:(Ljava/lang/String;)Ljava/lang/Class;
            putstatic org.h2.util.LocalDateTimeUtils.INSTANT:Ljava/lang/Class;
         4: .line 206
            ldc "java.time.OffsetDateTime"
            invokestatic org.h2.util.LocalDateTimeUtils.tryGetClass:(Ljava/lang/String;)Ljava/lang/Class;
            putstatic org.h2.util.LocalDateTimeUtils.OFFSET_DATE_TIME:Ljava/lang/Class;
         5: .line 207
            ldc "java.time.ZoneOffset"
            invokestatic org.h2.util.LocalDateTimeUtils.tryGetClass:(Ljava/lang/String;)Ljava/lang/Class;
            putstatic org.h2.util.LocalDateTimeUtils.ZONE_OFFSET:Ljava/lang/Class;
         6: .line 208
            ldc "java.time.Period"
            invokestatic org.h2.util.LocalDateTimeUtils.tryGetClass:(Ljava/lang/String;)Ljava/lang/Class;
            putstatic org.h2.util.LocalDateTimeUtils.PERIOD:Ljava/lang/Class;
         7: .line 209
            ldc "java.time.Duration"
            invokestatic org.h2.util.LocalDateTimeUtils.tryGetClass:(Ljava/lang/String;)Ljava/lang/Class;
            putstatic org.h2.util.LocalDateTimeUtils.DURATION:Ljava/lang/Class;
         8: .line 210
            getstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE:Ljava/lang/Class;
            ifnull 11
            getstatic org.h2.util.LocalDateTimeUtils.LOCAL_TIME:Ljava/lang/Class;
            ifnull 11
         9: .line 211
            getstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE_TIME:Ljava/lang/Class;
            ifnull 11
            getstatic org.h2.util.LocalDateTimeUtils.INSTANT:Ljava/lang/Class;
            ifnull 11
        10: .line 212
            getstatic org.h2.util.LocalDateTimeUtils.OFFSET_DATE_TIME:Ljava/lang/Class;
            ifnull 11
            getstatic org.h2.util.LocalDateTimeUtils.ZONE_OFFSET:Ljava/lang/Class;
            ifnull 11
            getstatic org.h2.util.LocalDateTimeUtils.PERIOD:Ljava/lang/Class;
            ifnull 11
            getstatic org.h2.util.LocalDateTimeUtils.DURATION:Ljava/lang/Class;
            ifnull 11
            iconst_1
            goto 12
      StackMap locals:
      StackMap stack:
        11: iconst_0
        12: .line 210
      StackMap locals:
      StackMap stack: int
            putstatic org.h2.util.LocalDateTimeUtils.IS_JAVA8_DATE_API_PRESENT:Z
        13: .line 214
            getstatic org.h2.util.LocalDateTimeUtils.IS_JAVA8_DATE_API_PRESENT:Z
            ifeq 43
        14: .line 215
            getstatic org.h2.util.LocalDateTimeUtils.LOCAL_TIME:Ljava/lang/Class;
            ldc "ofNanoOfDay"
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            aastore
            invokestatic org.h2.util.LocalDateTimeUtils.getMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            putstatic org.h2.util.LocalDateTimeUtils.LOCAL_TIME_OF_NANO:Ljava/lang/reflect/Method;
        15: .line 217
            getstatic org.h2.util.LocalDateTimeUtils.LOCAL_TIME:Ljava/lang/Class;
            ldc "toNanoOfDay"
            iconst_0
            anewarray java.lang.Class
            invokestatic org.h2.util.LocalDateTimeUtils.getMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            putstatic org.h2.util.LocalDateTimeUtils.LOCAL_TIME_TO_NANO:Ljava/lang/reflect/Method;
        16: .line 219
            getstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE:Ljava/lang/Class;
            ldc "of"
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
        17: .line 220
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_1
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_2
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
        18: .line 219
            invokestatic org.h2.util.LocalDateTimeUtils.getMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            putstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE_OF_YEAR_MONTH_DAY:Ljava/lang/reflect/Method;
        19: .line 221
            getstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE:Ljava/lang/Class;
            ldc "getYear"
            iconst_0
            anewarray java.lang.Class
            invokestatic org.h2.util.LocalDateTimeUtils.getMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            putstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE_GET_YEAR:Ljava/lang/reflect/Method;
        20: .line 222
            getstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE:Ljava/lang/Class;
            ldc "getMonthValue"
            iconst_0
            anewarray java.lang.Class
            invokestatic org.h2.util.LocalDateTimeUtils.getMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            putstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE_GET_MONTH_VALUE:Ljava/lang/reflect/Method;
        21: .line 223
            getstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE:Ljava/lang/Class;
            ldc "getDayOfMonth"
            iconst_0
            anewarray java.lang.Class
            invokestatic org.h2.util.LocalDateTimeUtils.getMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            putstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE_GET_DAY_OF_MONTH:Ljava/lang/reflect/Method;
        22: .line 224
            getstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE:Ljava/lang/Class;
            ldc "atStartOfDay"
            iconst_0
            anewarray java.lang.Class
            invokestatic org.h2.util.LocalDateTimeUtils.getMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            putstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE_AT_START_OF_DAY:Ljava/lang/reflect/Method;
        23: .line 226
            getstatic org.h2.util.LocalDateTimeUtils.INSTANT:Ljava/lang/Class;
            ldc "getEpochSecond"
            iconst_0
            anewarray java.lang.Class
            invokestatic org.h2.util.LocalDateTimeUtils.getMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            putstatic org.h2.util.LocalDateTimeUtils.INSTANT_GET_EPOCH_SECOND:Ljava/lang/reflect/Method;
        24: .line 227
            getstatic org.h2.util.LocalDateTimeUtils.INSTANT:Ljava/lang/Class;
            ldc "getNano"
            iconst_0
            anewarray java.lang.Class
            invokestatic org.h2.util.LocalDateTimeUtils.getMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            putstatic org.h2.util.LocalDateTimeUtils.INSTANT_GET_NANO:Ljava/lang/reflect/Method;
        25: .line 228
            ldc Ljava/sql/Timestamp;
            ldc "toInstant"
            iconst_0
            anewarray java.lang.Class
            invokestatic org.h2.util.LocalDateTimeUtils.getMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            putstatic org.h2.util.LocalDateTimeUtils.TIMESTAMP_TO_INSTANT:Ljava/lang/reflect/Method;
        26: .line 230
            getstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE_TIME:Ljava/lang/Class;
            ldc "plusNanos"
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            aastore
            invokestatic org.h2.util.LocalDateTimeUtils.getMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            putstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE_TIME_PLUS_NANOS:Ljava/lang/reflect/Method;
        27: .line 231
            getstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE_TIME:Ljava/lang/Class;
            ldc "toLocalDate"
            iconst_0
            anewarray java.lang.Class
            invokestatic org.h2.util.LocalDateTimeUtils.getMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            putstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE_TIME_TO_LOCAL_DATE:Ljava/lang/reflect/Method;
        28: .line 232
            getstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE_TIME:Ljava/lang/Class;
            ldc "toLocalTime"
            iconst_0
            anewarray java.lang.Class
            invokestatic org.h2.util.LocalDateTimeUtils.getMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            putstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE_TIME_TO_LOCAL_TIME:Ljava/lang/reflect/Method;
        29: .line 234
            getstatic org.h2.util.LocalDateTimeUtils.ZONE_OFFSET:Ljava/lang/Class;
            ldc "ofTotalSeconds"
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            invokestatic org.h2.util.LocalDateTimeUtils.getMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            putstatic org.h2.util.LocalDateTimeUtils.ZONE_OFFSET_OF_TOTAL_SECONDS:Ljava/lang/reflect/Method;
        30: .line 236
            getstatic org.h2.util.LocalDateTimeUtils.OFFSET_DATE_TIME:Ljava/lang/Class;
            ldc "toLocalDateTime"
            iconst_0
            anewarray java.lang.Class
            invokestatic org.h2.util.LocalDateTimeUtils.getMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            putstatic org.h2.util.LocalDateTimeUtils.OFFSET_DATE_TIME_TO_LOCAL_DATE_TIME:Ljava/lang/reflect/Method;
        31: .line 237
            getstatic org.h2.util.LocalDateTimeUtils.OFFSET_DATE_TIME:Ljava/lang/Class;
            ldc "getOffset"
            iconst_0
            anewarray java.lang.Class
            invokestatic org.h2.util.LocalDateTimeUtils.getMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            putstatic org.h2.util.LocalDateTimeUtils.OFFSET_DATE_TIME_GET_OFFSET:Ljava/lang/reflect/Method;
        32: .line 239
            getstatic org.h2.util.LocalDateTimeUtils.OFFSET_DATE_TIME:Ljava/lang/Class;
            ldc "of"
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE_TIME:Ljava/lang/Class;
            aastore
            dup
            iconst_1
            getstatic org.h2.util.LocalDateTimeUtils.ZONE_OFFSET:Ljava/lang/Class;
            aastore
        33: .line 238
            invokestatic org.h2.util.LocalDateTimeUtils.getMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            putstatic org.h2.util.LocalDateTimeUtils.OFFSET_DATE_TIME_OF_LOCAL_DATE_TIME_ZONE_OFFSET:Ljava/lang/reflect/Method;
        34: .line 241
            getstatic org.h2.util.LocalDateTimeUtils.ZONE_OFFSET:Ljava/lang/Class;
            ldc "getTotalSeconds"
            iconst_0
            anewarray java.lang.Class
            invokestatic org.h2.util.LocalDateTimeUtils.getMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            putstatic org.h2.util.LocalDateTimeUtils.ZONE_OFFSET_GET_TOTAL_SECONDS:Ljava/lang/reflect/Method;
        35: .line 243
            getstatic org.h2.util.LocalDateTimeUtils.PERIOD:Ljava/lang/Class;
            ldc "of"
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_1
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_2
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            invokestatic org.h2.util.LocalDateTimeUtils.getMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            putstatic org.h2.util.LocalDateTimeUtils.PERIOD_OF:Ljava/lang/reflect/Method;
        36: .line 244
            getstatic org.h2.util.LocalDateTimeUtils.PERIOD:Ljava/lang/Class;
            ldc "getYears"
            iconst_0
            anewarray java.lang.Class
            invokestatic org.h2.util.LocalDateTimeUtils.getMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            putstatic org.h2.util.LocalDateTimeUtils.PERIOD_GET_YEARS:Ljava/lang/reflect/Method;
        37: .line 245
            getstatic org.h2.util.LocalDateTimeUtils.PERIOD:Ljava/lang/Class;
            ldc "getMonths"
            iconst_0
            anewarray java.lang.Class
            invokestatic org.h2.util.LocalDateTimeUtils.getMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            putstatic org.h2.util.LocalDateTimeUtils.PERIOD_GET_MONTHS:Ljava/lang/reflect/Method;
        38: .line 246
            getstatic org.h2.util.LocalDateTimeUtils.PERIOD:Ljava/lang/Class;
            ldc "getDays"
            iconst_0
            anewarray java.lang.Class
            invokestatic org.h2.util.LocalDateTimeUtils.getMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            putstatic org.h2.util.LocalDateTimeUtils.PERIOD_GET_DAYS:Ljava/lang/reflect/Method;
        39: .line 248
            getstatic org.h2.util.LocalDateTimeUtils.DURATION:Ljava/lang/Class;
            ldc "ofSeconds"
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_1
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            aastore
            invokestatic org.h2.util.LocalDateTimeUtils.getMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            putstatic org.h2.util.LocalDateTimeUtils.DURATION_OF_SECONDS:Ljava/lang/reflect/Method;
        40: .line 249
            getstatic org.h2.util.LocalDateTimeUtils.DURATION:Ljava/lang/Class;
            ldc "getSeconds"
            iconst_0
            anewarray java.lang.Class
            invokestatic org.h2.util.LocalDateTimeUtils.getMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            putstatic org.h2.util.LocalDateTimeUtils.DURATION_GET_SECONDS:Ljava/lang/reflect/Method;
        41: .line 250
            getstatic org.h2.util.LocalDateTimeUtils.DURATION:Ljava/lang/Class;
            ldc "getNano"
            iconst_0
            anewarray java.lang.Class
            invokestatic org.h2.util.LocalDateTimeUtils.getMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            putstatic org.h2.util.LocalDateTimeUtils.DURATION_GET_NANO:Ljava/lang/reflect/Method;
        42: .line 251
            goto 68
        43: .line 252
      StackMap locals:
      StackMap stack:
            aconst_null
            putstatic org.h2.util.LocalDateTimeUtils.LOCAL_TIME_OF_NANO:Ljava/lang/reflect/Method;
        44: .line 253
            aconst_null
            putstatic org.h2.util.LocalDateTimeUtils.LOCAL_TIME_TO_NANO:Ljava/lang/reflect/Method;
        45: .line 254
            aconst_null
            putstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE_OF_YEAR_MONTH_DAY:Ljava/lang/reflect/Method;
        46: .line 255
            aconst_null
            putstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE_GET_YEAR:Ljava/lang/reflect/Method;
        47: .line 256
            aconst_null
            putstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE_GET_MONTH_VALUE:Ljava/lang/reflect/Method;
        48: .line 257
            aconst_null
            putstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE_GET_DAY_OF_MONTH:Ljava/lang/reflect/Method;
        49: .line 258
            aconst_null
            putstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE_AT_START_OF_DAY:Ljava/lang/reflect/Method;
        50: .line 259
            aconst_null
            putstatic org.h2.util.LocalDateTimeUtils.INSTANT_GET_EPOCH_SECOND:Ljava/lang/reflect/Method;
        51: .line 260
            aconst_null
            putstatic org.h2.util.LocalDateTimeUtils.INSTANT_GET_NANO:Ljava/lang/reflect/Method;
        52: .line 261
            aconst_null
            putstatic org.h2.util.LocalDateTimeUtils.TIMESTAMP_TO_INSTANT:Ljava/lang/reflect/Method;
        53: .line 262
            aconst_null
            putstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE_TIME_PLUS_NANOS:Ljava/lang/reflect/Method;
        54: .line 263
            aconst_null
            putstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE_TIME_TO_LOCAL_DATE:Ljava/lang/reflect/Method;
        55: .line 264
            aconst_null
            putstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE_TIME_TO_LOCAL_TIME:Ljava/lang/reflect/Method;
        56: .line 265
            aconst_null
            putstatic org.h2.util.LocalDateTimeUtils.ZONE_OFFSET_OF_TOTAL_SECONDS:Ljava/lang/reflect/Method;
        57: .line 266
            aconst_null
            putstatic org.h2.util.LocalDateTimeUtils.OFFSET_DATE_TIME_TO_LOCAL_DATE_TIME:Ljava/lang/reflect/Method;
        58: .line 267
            aconst_null
            putstatic org.h2.util.LocalDateTimeUtils.OFFSET_DATE_TIME_GET_OFFSET:Ljava/lang/reflect/Method;
        59: .line 268
            aconst_null
            putstatic org.h2.util.LocalDateTimeUtils.OFFSET_DATE_TIME_OF_LOCAL_DATE_TIME_ZONE_OFFSET:Ljava/lang/reflect/Method;
        60: .line 269
            aconst_null
            putstatic org.h2.util.LocalDateTimeUtils.ZONE_OFFSET_GET_TOTAL_SECONDS:Ljava/lang/reflect/Method;
        61: .line 270
            aconst_null
            putstatic org.h2.util.LocalDateTimeUtils.PERIOD_OF:Ljava/lang/reflect/Method;
        62: .line 271
            aconst_null
            putstatic org.h2.util.LocalDateTimeUtils.PERIOD_GET_YEARS:Ljava/lang/reflect/Method;
        63: .line 272
            aconst_null
            putstatic org.h2.util.LocalDateTimeUtils.PERIOD_GET_MONTHS:Ljava/lang/reflect/Method;
        64: .line 273
            aconst_null
            putstatic org.h2.util.LocalDateTimeUtils.PERIOD_GET_DAYS:Ljava/lang/reflect/Method;
        65: .line 274
            aconst_null
            putstatic org.h2.util.LocalDateTimeUtils.DURATION_OF_SECONDS:Ljava/lang/reflect/Method;
        66: .line 275
            aconst_null
            putstatic org.h2.util.LocalDateTimeUtils.DURATION_GET_SECONDS:Ljava/lang/reflect/Method;
        67: .line 276
            aconst_null
            putstatic org.h2.util.LocalDateTimeUtils.DURATION_GET_NANO:Ljava/lang/reflect/Method;
        68: .line 278
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

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

  public static boolean isJava8DateApiPresent();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 293
            getstatic org.h2.util.LocalDateTimeUtils.IS_JAVA8_DATE_API_PRESENT:Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Class<?> tryGetClass(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String className
         0: .line 298
            aload 0 /* className */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
         1: areturn
         2: .line 299
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            pop
         3: .line 300
            aconst_null
            areturn
        end local 0 // java.lang.String className
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0  className  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.ClassNotFoundException
    Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
    MethodParameters:
           Name  Flags
      className  

  private static java.lang.reflect.Method getMethod(java.lang.Class<?>, java.lang.String, java.lang.Class<?>[]);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
    flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.lang.Class clazz
        start local 1 // java.lang.String methodName
        start local 2 // java.lang.Class[] parameterTypes
         0: .line 307
            aload 0 /* clazz */
            aload 1 /* methodName */
            aload 2 /* parameterTypes */
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
         1: areturn
         2: .line 308
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            astore 3 /* e */
        start local 3 // java.lang.NoSuchMethodException e
         3: .line 309
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Java 8 or later but method "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 310
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "#"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* methodName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 311
            aload 2 /* parameterTypes */
            invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ") is missing"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* e */
         6: .line 309
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.NoSuchMethodException e
        end local 2 // java.lang.Class[] parameterTypes
        end local 1 // java.lang.String methodName
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0           clazz  Ljava/lang/Class<*>;
            0    7     1      methodName  Ljava/lang/String;
            0    7     2  parameterTypes  [Ljava/lang/Class;
            3    7     3               e  Ljava/lang/NoSuchMethodException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.NoSuchMethodException
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/Class<*>;)Ljava/lang/reflect/Method;
    MethodParameters:
                Name  Flags
      clazz           
      methodName      
      parameterTypes  

  public static java.lang.Object valueToLocalDate(org.h2.value.Value);
    descriptor: (Lorg/h2/value/Value;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.h2.value.Value value
         0: .line 325
            aload 0 /* value */
            bipush 10
            invokevirtual org.h2.value.Value.convertTo:(I)Lorg/h2/value/Value;
            checkcast org.h2.value.ValueDate
            invokevirtual org.h2.value.ValueDate.getDateValue:()J
            invokestatic org.h2.util.LocalDateTimeUtils.localDateFromDateValue:(J)Ljava/lang/Object;
         1: areturn
         2: .line 326
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 1 /* e */
        start local 1 // java.lang.IllegalAccessException e
         3: .line 327
            aload 1 /* e */
            invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
            athrow
        end local 1 // java.lang.IllegalAccessException e
         4: .line 328
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 1 /* e */
        start local 1 // java.lang.reflect.InvocationTargetException e
         5: .line 329
            aload 1 /* e */
            ldc "date conversion failed"
            invokestatic org.h2.message.DbException.convertInvocation:(Ljava/lang/reflect/InvocationTargetException;Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 1 // java.lang.reflect.InvocationTargetException e
        end local 0 // org.h2.value.Value value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0  value  Lorg/h2/value/Value;
            3    4     1      e  Ljava/lang/IllegalAccessException;
            5    6     1      e  Ljava/lang/reflect/InvocationTargetException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalAccessException
           0     1       4  Class java.lang.reflect.InvocationTargetException
    MethodParameters:
       Name  Flags
      value  

  public static java.lang.Object valueToLocalTime(org.h2.value.Value);
    descriptor: (Lorg/h2/value/Value;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // org.h2.value.Value value
         0: .line 343
            getstatic org.h2.util.LocalDateTimeUtils.LOCAL_TIME_OF_NANO:Ljava/lang/reflect/Method;
            aconst_null
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         1: .line 344
            aload 0 /* value */
            bipush 9
            invokevirtual org.h2.value.Value.convertTo:(I)Lorg/h2/value/Value;
            checkcast org.h2.value.ValueTime
            invokevirtual org.h2.value.ValueTime.getNanos:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
         2: .line 343
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
         3: areturn
         4: .line 345
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 1 /* e */
        start local 1 // java.lang.IllegalAccessException e
         5: .line 346
            aload 1 /* e */
            invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
            athrow
        end local 1 // java.lang.IllegalAccessException e
         6: .line 347
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 1 /* e */
        start local 1 // java.lang.reflect.InvocationTargetException e
         7: .line 348
            aload 1 /* e */
            ldc "time conversion failed"
            invokestatic org.h2.message.DbException.convertInvocation:(Ljava/lang/reflect/InvocationTargetException;Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 1 // java.lang.reflect.InvocationTargetException e
        end local 0 // org.h2.value.Value value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0  value  Lorg/h2/value/Value;
            5    6     1      e  Ljava/lang/IllegalAccessException;
            7    8     1      e  Ljava/lang/reflect/InvocationTargetException;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.IllegalAccessException
           0     3       6  Class java.lang.reflect.InvocationTargetException
    MethodParameters:
       Name  Flags
      value  

  public static java.lang.Object valueToLocalDateTime(org.h2.value.Value);
    descriptor: (Lorg/h2/value/Value;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // org.h2.value.Value value
         0: .line 361
            aload 0 /* value */
            bipush 11
            invokevirtual org.h2.value.Value.convertTo:(I)Lorg/h2/value/Value;
            checkcast org.h2.value.ValueTimestamp
            astore 1 /* valueTimestamp */
        start local 1 // org.h2.value.ValueTimestamp valueTimestamp
         1: .line 362
            aload 1 /* valueTimestamp */
            invokevirtual org.h2.value.ValueTimestamp.getDateValue:()J
            lstore 2 /* dateValue */
        start local 2 // long dateValue
         2: .line 363
            aload 1 /* valueTimestamp */
            invokevirtual org.h2.value.ValueTimestamp.getTimeNanos:()J
            lstore 4 /* timeNanos */
        start local 4 // long timeNanos
         3: .line 365
            lload 2 /* dateValue */
            lload 4 /* timeNanos */
            invokestatic org.h2.util.LocalDateTimeUtils.localDateTimeFromDateNanos:(JJ)Ljava/lang/Object;
         4: areturn
         5: .line 366
      StackMap locals: org.h2.value.Value org.h2.value.ValueTimestamp long long
      StackMap stack: java.lang.IllegalAccessException
            astore 6 /* e */
        start local 6 // java.lang.IllegalAccessException e
         6: .line 367
            aload 6 /* e */
            invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
            athrow
        end local 6 // java.lang.IllegalAccessException e
         7: .line 368
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 6 /* e */
        start local 6 // java.lang.reflect.InvocationTargetException e
         8: .line 369
            aload 6 /* e */
            ldc "timestamp conversion failed"
            invokestatic org.h2.message.DbException.convertInvocation:(Ljava/lang/reflect/InvocationTargetException;Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 6 // java.lang.reflect.InvocationTargetException e
        end local 4 // long timeNanos
        end local 2 // long dateValue
        end local 1 // org.h2.value.ValueTimestamp valueTimestamp
        end local 0 // org.h2.value.Value value
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0           value  Lorg/h2/value/Value;
            1    9     1  valueTimestamp  Lorg/h2/value/ValueTimestamp;
            2    9     2       dateValue  J
            3    9     4       timeNanos  J
            6    7     6               e  Ljava/lang/IllegalAccessException;
            8    9     6               e  Ljava/lang/reflect/InvocationTargetException;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.IllegalAccessException
           3     4       7  Class java.lang.reflect.InvocationTargetException
    MethodParameters:
       Name  Flags
      value  

  public static java.lang.Object valueToInstant(org.h2.value.Value);
    descriptor: (Lorg/h2/value/Value;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.h2.value.Value value
         0: .line 383
            getstatic org.h2.util.LocalDateTimeUtils.TIMESTAMP_TO_INSTANT:Ljava/lang/reflect/Method;
            aload 0 /* value */
            invokevirtual org.h2.value.Value.getTimestamp:()Ljava/sql/Timestamp;
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
         1: areturn
         2: .line 384
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 1 /* e */
        start local 1 // java.lang.IllegalAccessException e
         3: .line 385
            aload 1 /* e */
            invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
            athrow
        end local 1 // java.lang.IllegalAccessException e
         4: .line 386
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 1 /* e */
        start local 1 // java.lang.reflect.InvocationTargetException e
         5: .line 387
            aload 1 /* e */
            ldc "timestamp conversion failed"
            invokestatic org.h2.message.DbException.convertInvocation:(Ljava/lang/reflect/InvocationTargetException;Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 1 // java.lang.reflect.InvocationTargetException e
        end local 0 // org.h2.value.Value value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0  value  Lorg/h2/value/Value;
            3    4     1      e  Ljava/lang/IllegalAccessException;
            5    6     1      e  Ljava/lang/reflect/InvocationTargetException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalAccessException
           0     1       4  Class java.lang.reflect.InvocationTargetException
    MethodParameters:
       Name  Flags
      value  

  public static java.lang.Object valueToOffsetDateTime(org.h2.value.Value);
    descriptor: (Lorg/h2/value/Value;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=10, args_size=1
        start local 0 // org.h2.value.Value value
         0: .line 400
            aload 0 /* value */
            bipush 24
            invokevirtual org.h2.value.Value.convertTo:(I)Lorg/h2/value/Value;
            checkcast org.h2.value.ValueTimestampTimeZone
            astore 1 /* valueTimestampTimeZone */
        start local 1 // org.h2.value.ValueTimestampTimeZone valueTimestampTimeZone
         1: .line 401
            aload 1 /* valueTimestampTimeZone */
            invokevirtual org.h2.value.ValueTimestampTimeZone.getDateValue:()J
            lstore 2 /* dateValue */
        start local 2 // long dateValue
         2: .line 402
            aload 1 /* valueTimestampTimeZone */
            invokevirtual org.h2.value.ValueTimestampTimeZone.getTimeNanos:()J
            lstore 4 /* timeNanos */
        start local 4 // long timeNanos
         3: .line 404
            lload 2 /* dateValue */
            lload 4 /* timeNanos */
            invokestatic org.h2.util.LocalDateTimeUtils.localDateTimeFromDateNanos:(JJ)Ljava/lang/Object;
            astore 6 /* localDateTime */
        start local 6 // java.lang.Object localDateTime
         4: .line 406
            aload 1 /* valueTimestampTimeZone */
            invokevirtual org.h2.value.ValueTimestampTimeZone.getTimeZoneOffsetMins:()S
            istore 7 /* timeZoneOffsetMins */
        start local 7 // short timeZoneOffsetMins
         5: .line 407
            getstatic java.util.concurrent.TimeUnit.MINUTES:Ljava/util/concurrent/TimeUnit;
            iload 7 /* timeZoneOffsetMins */
            i2l
            invokevirtual java.util.concurrent.TimeUnit.toSeconds:(J)J
            l2i
            istore 8 /* offsetSeconds */
        start local 8 // int offsetSeconds
         6: .line 409
            getstatic org.h2.util.LocalDateTimeUtils.ZONE_OFFSET_OF_TOTAL_SECONDS:Ljava/lang/reflect/Method;
            aconst_null
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 8 /* offsetSeconds */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 9 /* offset */
        start local 9 // java.lang.Object offset
         7: .line 411
            getstatic org.h2.util.LocalDateTimeUtils.OFFSET_DATE_TIME_OF_LOCAL_DATE_TIME_ZONE_OFFSET:Ljava/lang/reflect/Method;
            aconst_null
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         8: .line 412
            aload 6 /* localDateTime */
            aastore
            dup
            iconst_1
            aload 9 /* offset */
            aastore
         9: .line 411
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
        10: areturn
        end local 9 // java.lang.Object offset
        end local 8 // int offsetSeconds
        end local 7 // short timeZoneOffsetMins
        end local 6 // java.lang.Object localDateTime
        11: .line 413
      StackMap locals: org.h2.value.Value org.h2.value.ValueTimestampTimeZone long long
      StackMap stack: java.lang.IllegalAccessException
            astore 6 /* e */
        start local 6 // java.lang.IllegalAccessException e
        12: .line 414
            aload 6 /* e */
            invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
            athrow
        end local 6 // java.lang.IllegalAccessException e
        13: .line 415
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 6 /* e */
        start local 6 // java.lang.reflect.InvocationTargetException e
        14: .line 416
            aload 6 /* e */
            ldc "timestamp with time zone conversion failed"
            invokestatic org.h2.message.DbException.convertInvocation:(Ljava/lang/reflect/InvocationTargetException;Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 6 // java.lang.reflect.InvocationTargetException e
        end local 4 // long timeNanos
        end local 2 // long dateValue
        end local 1 // org.h2.value.ValueTimestampTimeZone valueTimestampTimeZone
        end local 0 // org.h2.value.Value value
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   15     0                   value  Lorg/h2/value/Value;
            1   15     1  valueTimestampTimeZone  Lorg/h2/value/ValueTimestampTimeZone;
            2   15     2               dateValue  J
            3   15     4               timeNanos  J
            4   11     6           localDateTime  Ljava/lang/Object;
            5   11     7      timeZoneOffsetMins  S
            6   11     8           offsetSeconds  I
            7   11     9                  offset  Ljava/lang/Object;
           12   13     6                       e  Ljava/lang/IllegalAccessException;
           14   15     6                       e  Ljava/lang/reflect/InvocationTargetException;
      Exception table:
        from    to  target  type
           3    10      11  Class java.lang.IllegalAccessException
           3    10      13  Class java.lang.reflect.InvocationTargetException
    MethodParameters:
       Name  Flags
      value  

  public static java.lang.Object valueToPeriod(org.h2.value.Value);
    descriptor: (Lorg/h2/value/Value;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=11, args_size=1
        start local 0 // org.h2.value.Value value
         0: .line 429
            aload 0 /* value */
            instanceof org.h2.value.ValueInterval
            ifne 2
         1: .line 430
            aload 0 /* value */
            bipush 32
            invokevirtual org.h2.value.Value.convertTo:(I)Lorg/h2/value/Value;
            astore 0 /* value */
         2: .line 432
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokevirtual org.h2.value.Value.getValueType:()I
            invokestatic org.h2.value.DataType.isYearMonthIntervalType:(I)Z
            ifne 4
         3: .line 433
            sipush 22018
            aconst_null
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* value */
            invokevirtual org.h2.value.Value.getString:()Ljava/lang/String;
            aastore
            invokestatic org.h2.message.DbException.get:(ILjava/lang/Throwable;[Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
         4: .line 435
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            checkcast org.h2.value.ValueInterval
            astore 1 /* v */
        start local 1 // org.h2.value.ValueInterval v
         5: .line 436
            aload 1 /* v */
            invokevirtual org.h2.value.ValueInterval.getQualifier:()Lorg/h2/api/IntervalQualifier;
            astore 2 /* qualifier */
        start local 2 // org.h2.api.IntervalQualifier qualifier
         6: .line 437
            aload 1 /* v */
            invokevirtual org.h2.value.ValueInterval.isNegative:()Z
            istore 3 /* negative */
        start local 3 // boolean negative
         7: .line 438
            aload 1 /* v */
            invokevirtual org.h2.value.ValueInterval.getLeading:()J
            lstore 4 /* leading */
        start local 4 // long leading
         8: .line 439
            aload 1 /* v */
            invokevirtual org.h2.value.ValueInterval.getRemaining:()J
            lstore 6 /* remaining */
        start local 6 // long remaining
         9: .line 440
            aload 2 /* qualifier */
            iload 3 /* negative */
            lload 4 /* leading */
            lload 6 /* remaining */
            invokestatic org.h2.util.IntervalUtils.yearsFromInterval:(Lorg/h2/api/IntervalQualifier;ZJJ)J
            aconst_null
            invokestatic org.h2.value.Value.convertToInt:(JLjava/lang/Object;)I
            istore 8 /* y */
        start local 8 // int y
        10: .line 441
            aload 2 /* qualifier */
            iload 3 /* negative */
            lload 4 /* leading */
            lload 6 /* remaining */
            invokestatic org.h2.util.IntervalUtils.monthsFromInterval:(Lorg/h2/api/IntervalQualifier;ZJJ)J
            aconst_null
            invokestatic org.h2.value.Value.convertToInt:(JLjava/lang/Object;)I
            istore 9 /* m */
        start local 9 // int m
        11: .line 443
            getstatic org.h2.util.LocalDateTimeUtils.PERIOD_OF:Ljava/lang/reflect/Method;
            aconst_null
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            iload 8 /* y */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            iload 9 /* m */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
        12: areturn
        13: .line 444
      StackMap locals: org.h2.value.Value org.h2.value.ValueInterval org.h2.api.IntervalQualifier int long long int int
      StackMap stack: java.lang.IllegalAccessException
            astore 10 /* e */
        start local 10 // java.lang.IllegalAccessException e
        14: .line 445
            aload 10 /* e */
            invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
            athrow
        end local 10 // java.lang.IllegalAccessException e
        15: .line 446
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 10 /* e */
        start local 10 // java.lang.reflect.InvocationTargetException e
        16: .line 447
            aload 10 /* e */
            ldc "timestamp with time zone conversion failed"
            invokestatic org.h2.message.DbException.convertInvocation:(Ljava/lang/reflect/InvocationTargetException;Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 10 // java.lang.reflect.InvocationTargetException e
        end local 9 // int m
        end local 8 // int y
        end local 6 // long remaining
        end local 4 // long leading
        end local 3 // boolean negative
        end local 2 // org.h2.api.IntervalQualifier qualifier
        end local 1 // org.h2.value.ValueInterval v
        end local 0 // org.h2.value.Value value
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0      value  Lorg/h2/value/Value;
            5   17     1          v  Lorg/h2/value/ValueInterval;
            6   17     2  qualifier  Lorg/h2/api/IntervalQualifier;
            7   17     3   negative  Z
            8   17     4    leading  J
            9   17     6  remaining  J
           10   17     8          y  I
           11   17     9          m  I
           14   15    10          e  Ljava/lang/IllegalAccessException;
           16   17    10          e  Ljava/lang/reflect/InvocationTargetException;
      Exception table:
        from    to  target  type
          11    12      13  Class java.lang.IllegalAccessException
          11    12      15  Class java.lang.reflect.InvocationTargetException
    MethodParameters:
       Name  Flags
      value  

  public static java.lang.Object valueToDuration(org.h2.value.Value);
    descriptor: (Lorg/h2/value/Value;)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // org.h2.value.Value value
         0: .line 460
            aload 0 /* value */
            instanceof org.h2.value.ValueInterval
            ifne 2
         1: .line 461
            aload 0 /* value */
            bipush 35
            invokevirtual org.h2.value.Value.convertTo:(I)Lorg/h2/value/Value;
            astore 0 /* value */
         2: .line 463
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            invokevirtual org.h2.value.Value.getValueType:()I
            invokestatic org.h2.value.DataType.isYearMonthIntervalType:(I)Z
            ifeq 4
         3: .line 464
            sipush 22018
            aconst_null
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* value */
            invokevirtual org.h2.value.Value.getString:()Ljava/lang/String;
            aastore
            invokestatic org.h2.message.DbException.get:(ILjava/lang/Throwable;[Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
         4: .line 466
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            checkcast org.h2.value.ValueInterval
            invokestatic org.h2.util.IntervalUtils.intervalToAbsolute:(Lorg/h2/value/ValueInterval;)Ljava/math/BigInteger;
         5: .line 467
            ldc 1000000000
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.divideAndRemainder:(Ljava/math/BigInteger;)[Ljava/math/BigInteger;
         6: .line 466
            astore 1 /* dr */
        start local 1 // java.math.BigInteger[] dr
         7: .line 469
            getstatic org.h2.util.LocalDateTimeUtils.DURATION_OF_SECONDS:Ljava/lang/reflect/Method;
            aconst_null
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* dr */
            iconst_0
            aaload
            invokevirtual java.math.BigInteger.longValue:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
            aload 1 /* dr */
            iconst_1
            aaload
            invokevirtual java.math.BigInteger.longValue:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
         8: areturn
         9: .line 470
      StackMap locals: org.h2.value.Value java.math.BigInteger[]
      StackMap stack: java.lang.IllegalAccessException
            astore 2 /* e */
        start local 2 // java.lang.IllegalAccessException e
        10: .line 471
            aload 2 /* e */
            invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
            athrow
        end local 2 // java.lang.IllegalAccessException e
        11: .line 472
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 2 /* e */
        start local 2 // java.lang.reflect.InvocationTargetException e
        12: .line 473
            aload 2 /* e */
            ldc "timestamp with time zone conversion failed"
            invokestatic org.h2.message.DbException.convertInvocation:(Ljava/lang/reflect/InvocationTargetException;Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 2 // java.lang.reflect.InvocationTargetException e
        end local 1 // java.math.BigInteger[] dr
        end local 0 // org.h2.value.Value value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0  value  Lorg/h2/value/Value;
            7   13     1     dr  [Ljava/math/BigInteger;
           10   11     2      e  Ljava/lang/IllegalAccessException;
           12   13     2      e  Ljava/lang/reflect/InvocationTargetException;
      Exception table:
        from    to  target  type
           7     8       9  Class java.lang.IllegalAccessException
           7     8      11  Class java.lang.reflect.InvocationTargetException
    MethodParameters:
       Name  Flags
      value  

  public static org.h2.value.Value localDateToDateValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/h2/value/Value;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.Object localDate
         0: .line 485
            aload 0 /* localDate */
            invokestatic org.h2.util.LocalDateTimeUtils.dateValueFromLocalDate:(Ljava/lang/Object;)J
            invokestatic org.h2.value.ValueDate.fromDateValue:(J)Lorg/h2/value/ValueDate;
         1: areturn
         2: .line 486
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 1 /* e */
        start local 1 // java.lang.IllegalAccessException e
         3: .line 487
            aload 1 /* e */
            invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
            athrow
        end local 1 // java.lang.IllegalAccessException e
         4: .line 488
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 1 /* e */
        start local 1 // java.lang.reflect.InvocationTargetException e
         5: .line 489
            aload 1 /* e */
            ldc "date conversion failed"
            invokestatic org.h2.message.DbException.convertInvocation:(Ljava/lang/reflect/InvocationTargetException;Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 1 // java.lang.reflect.InvocationTargetException e
        end local 0 // java.lang.Object localDate
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0  localDate  Ljava/lang/Object;
            3    4     1          e  Ljava/lang/IllegalAccessException;
            5    6     1          e  Ljava/lang/reflect/InvocationTargetException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalAccessException
           0     1       4  Class java.lang.reflect.InvocationTargetException
    MethodParameters:
           Name  Flags
      localDate  

  public static org.h2.value.Value localTimeToTimeValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/h2/value/Value;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.Object localTime
         0: .line 501
            getstatic org.h2.util.LocalDateTimeUtils.LOCAL_TIME_TO_NANO:Ljava/lang/reflect/Method;
            aload 0 /* localTime */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            invokestatic org.h2.value.ValueTime.fromNanos:(J)Lorg/h2/value/ValueTime;
         1: areturn
         2: .line 502
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 1 /* e */
        start local 1 // java.lang.IllegalAccessException e
         3: .line 503
            aload 1 /* e */
            invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
            athrow
        end local 1 // java.lang.IllegalAccessException e
         4: .line 504
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 1 /* e */
        start local 1 // java.lang.reflect.InvocationTargetException e
         5: .line 505
            aload 1 /* e */
            ldc "time conversion failed"
            invokestatic org.h2.message.DbException.convertInvocation:(Ljava/lang/reflect/InvocationTargetException;Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 1 // java.lang.reflect.InvocationTargetException e
        end local 0 // java.lang.Object localTime
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0  localTime  Ljava/lang/Object;
            3    4     1          e  Ljava/lang/IllegalAccessException;
            5    6     1          e  Ljava/lang/reflect/InvocationTargetException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalAccessException
           0     1       4  Class java.lang.reflect.InvocationTargetException
    MethodParameters:
           Name  Flags
      localTime  

  public static org.h2.value.Value localDateTimeToValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/h2/value/Value;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // java.lang.Object localDateTime
         0: .line 517
            getstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE_TIME_TO_LOCAL_DATE:Ljava/lang/reflect/Method;
            aload 0 /* localDateTime */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 1 /* localDate */
        start local 1 // java.lang.Object localDate
         1: .line 518
            aload 1 /* localDate */
            invokestatic org.h2.util.LocalDateTimeUtils.dateValueFromLocalDate:(Ljava/lang/Object;)J
            lstore 2 /* dateValue */
        start local 2 // long dateValue
         2: .line 519
            aload 0 /* localDateTime */
            invokestatic org.h2.util.LocalDateTimeUtils.timeNanosFromLocalDateTime:(Ljava/lang/Object;)J
            lstore 4 /* timeNanos */
        start local 4 // long timeNanos
         3: .line 520
            lload 2 /* dateValue */
            lload 4 /* timeNanos */
            invokestatic org.h2.value.ValueTimestamp.fromDateValueAndNanos:(JJ)Lorg/h2/value/ValueTimestamp;
         4: areturn
        end local 4 // long timeNanos
        end local 2 // long dateValue
        end local 1 // java.lang.Object localDate
         5: .line 521
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 1 /* e */
        start local 1 // java.lang.IllegalAccessException e
         6: .line 522
            aload 1 /* e */
            invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
            athrow
        end local 1 // java.lang.IllegalAccessException e
         7: .line 523
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 1 /* e */
        start local 1 // java.lang.reflect.InvocationTargetException e
         8: .line 524
            aload 1 /* e */
            ldc "local date time conversion failed"
            invokestatic org.h2.message.DbException.convertInvocation:(Ljava/lang/reflect/InvocationTargetException;Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 1 // java.lang.reflect.InvocationTargetException e
        end local 0 // java.lang.Object localDateTime
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0  localDateTime  Ljava/lang/Object;
            1    5     1      localDate  Ljava/lang/Object;
            2    5     2      dateValue  J
            3    5     4      timeNanos  J
            6    7     1              e  Ljava/lang/IllegalAccessException;
            8    9     1              e  Ljava/lang/reflect/InvocationTargetException;
      Exception table:
        from    to  target  type
           0     4       5  Class java.lang.IllegalAccessException
           0     4       7  Class java.lang.reflect.InvocationTargetException
    MethodParameters:
               Name  Flags
      localDateTime  

  public static org.h2.value.Value instantToValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/h2/value/Value;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=1
        start local 0 // java.lang.Object instant
         0: .line 536
            getstatic org.h2.util.LocalDateTimeUtils.INSTANT_GET_EPOCH_SECOND:Ljava/lang/reflect/Method;
            aload 0 /* instant */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            lstore 1 /* epochSecond */
        start local 1 // long epochSecond
         1: .line 537
            getstatic org.h2.util.LocalDateTimeUtils.INSTANT_GET_NANO:Ljava/lang/reflect/Method;
            aload 0 /* instant */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 3 /* nano */
        start local 3 // int nano
         2: .line 538
            lload 1 /* epochSecond */
            ldc 86400
            ldiv
            lstore 4 /* absoluteDay */
        start local 4 // long absoluteDay
         3: .line 540
            lload 1 /* epochSecond */
            lconst_0
            lcmp
            ifge 5
            lload 4 /* absoluteDay */
            ldc 86400
            lmul
            lload 1 /* epochSecond */
            lcmp
            ifeq 5
         4: .line 541
            lload 4 /* absoluteDay */
            lconst_1
            lsub
            lstore 4 /* absoluteDay */
         5: .line 543
      StackMap locals: long int long
      StackMap stack:
            lload 1 /* epochSecond */
            lload 4 /* absoluteDay */
            ldc 86400
            lmul
            lsub
            ldc 1000000000
            lmul
            iload 3 /* nano */
            i2l
            ladd
            lstore 6 /* timeNanos */
        start local 6 // long timeNanos
         6: .line 545
            lload 4 /* absoluteDay */
            invokestatic org.h2.util.DateTimeUtils.dateValueFromAbsoluteDay:(J)J
            lload 6 /* timeNanos */
            iconst_0
         7: .line 544
            invokestatic org.h2.value.ValueTimestampTimeZone.fromDateValueAndNanos:(JJS)Lorg/h2/value/ValueTimestampTimeZone;
         8: areturn
        end local 6 // long timeNanos
        end local 4 // long absoluteDay
        end local 3 // int nano
        end local 1 // long epochSecond
         9: .line 546
      StackMap locals: java.lang.Object
      StackMap stack: java.lang.IllegalAccessException
            astore 1 /* e */
        start local 1 // java.lang.IllegalAccessException e
        10: .line 547
            aload 1 /* e */
            invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
            athrow
        end local 1 // java.lang.IllegalAccessException e
        11: .line 548
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 1 /* e */
        start local 1 // java.lang.reflect.InvocationTargetException e
        12: .line 549
            aload 1 /* e */
            ldc "instant conversion failed"
            invokestatic org.h2.message.DbException.convertInvocation:(Ljava/lang/reflect/InvocationTargetException;Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 1 // java.lang.reflect.InvocationTargetException e
        end local 0 // java.lang.Object instant
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0      instant  Ljava/lang/Object;
            1    9     1  epochSecond  J
            2    9     3         nano  I
            3    9     4  absoluteDay  J
            6    9     6    timeNanos  J
           10   11     1            e  Ljava/lang/IllegalAccessException;
           12   13     1            e  Ljava/lang/reflect/InvocationTargetException;
      Exception table:
        from    to  target  type
           0     8       9  Class java.lang.IllegalAccessException
           0     8      11  Class java.lang.reflect.InvocationTargetException
    MethodParameters:
         Name  Flags
      instant  

  public static org.h2.value.ValueTimestampTimeZone offsetDateTimeToValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/h2/value/ValueTimestampTimeZone;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=1
        start local 0 // java.lang.Object offsetDateTime
         0: .line 561
            getstatic org.h2.util.LocalDateTimeUtils.OFFSET_DATE_TIME_TO_LOCAL_DATE_TIME:Ljava/lang/reflect/Method;
            aload 0 /* offsetDateTime */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 1 /* localDateTime */
        start local 1 // java.lang.Object localDateTime
         1: .line 562
            getstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE_TIME_TO_LOCAL_DATE:Ljava/lang/reflect/Method;
            aload 1 /* localDateTime */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* localDate */
        start local 2 // java.lang.Object localDate
         2: .line 563
            getstatic org.h2.util.LocalDateTimeUtils.OFFSET_DATE_TIME_GET_OFFSET:Ljava/lang/reflect/Method;
            aload 0 /* offsetDateTime */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* zoneOffset */
        start local 3 // java.lang.Object zoneOffset
         3: .line 565
            aload 2 /* localDate */
            invokestatic org.h2.util.LocalDateTimeUtils.dateValueFromLocalDate:(Ljava/lang/Object;)J
            lstore 4 /* dateValue */
        start local 4 // long dateValue
         4: .line 566
            aload 1 /* localDateTime */
            invokestatic org.h2.util.LocalDateTimeUtils.timeNanosFromLocalDateTime:(Ljava/lang/Object;)J
            lstore 6 /* timeNanos */
        start local 6 // long timeNanos
         5: .line 567
            aload 3 /* zoneOffset */
            invokestatic org.h2.util.LocalDateTimeUtils.zoneOffsetToOffsetMinute:(Ljava/lang/Object;)S
            istore 8 /* timeZoneOffsetMins */
        start local 8 // short timeZoneOffsetMins
         6: .line 568
            lload 4 /* dateValue */
         7: .line 569
            lload 6 /* timeNanos */
            iload 8 /* timeZoneOffsetMins */
         8: .line 568
            invokestatic org.h2.value.ValueTimestampTimeZone.fromDateValueAndNanos:(JJS)Lorg/h2/value/ValueTimestampTimeZone;
         9: areturn
        end local 8 // short timeZoneOffsetMins
        end local 6 // long timeNanos
        end local 4 // long dateValue
        end local 3 // java.lang.Object zoneOffset
        end local 2 // java.lang.Object localDate
        end local 1 // java.lang.Object localDateTime
        10: .line 570
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 1 /* e */
        start local 1 // java.lang.IllegalAccessException e
        11: .line 571
            aload 1 /* e */
            invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
            athrow
        end local 1 // java.lang.IllegalAccessException e
        12: .line 572
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 1 /* e */
        start local 1 // java.lang.reflect.InvocationTargetException e
        13: .line 573
            aload 1 /* e */
            ldc "time conversion failed"
            invokestatic org.h2.message.DbException.convertInvocation:(Ljava/lang/reflect/InvocationTargetException;Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 1 // java.lang.reflect.InvocationTargetException e
        end local 0 // java.lang.Object offsetDateTime
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   14     0      offsetDateTime  Ljava/lang/Object;
            1   10     1       localDateTime  Ljava/lang/Object;
            2   10     2           localDate  Ljava/lang/Object;
            3   10     3          zoneOffset  Ljava/lang/Object;
            4   10     4           dateValue  J
            5   10     6           timeNanos  J
            6   10     8  timeZoneOffsetMins  S
           11   12     1                   e  Ljava/lang/IllegalAccessException;
           13   14     1                   e  Ljava/lang/reflect/InvocationTargetException;
      Exception table:
        from    to  target  type
           0     9      10  Class java.lang.IllegalAccessException
           0     9      12  Class java.lang.reflect.InvocationTargetException
    MethodParameters:
                Name  Flags
      offsetDateTime  

  private static long dateValueFromLocalDate(java.lang.Object);
    descriptor: (Ljava/lang/Object;)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.lang.Object localDate
         0: .line 579
            getstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE_GET_YEAR:Ljava/lang/reflect/Method;
            aload 0 /* localDate */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 1 /* year */
        start local 1 // int year
         1: .line 580
            getstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE_GET_MONTH_VALUE:Ljava/lang/reflect/Method;
            aload 0 /* localDate */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 2 /* month */
        start local 2 // int month
         2: .line 581
            getstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE_GET_DAY_OF_MONTH:Ljava/lang/reflect/Method;
            aload 0 /* localDate */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 3 /* day */
        start local 3 // int day
         3: .line 582
            iload 1 /* year */
            i2l
            iload 2 /* month */
            iload 3 /* day */
            invokestatic org.h2.util.DateTimeUtils.dateValue:(JII)J
            lreturn
        end local 3 // int day
        end local 2 // int month
        end local 1 // int year
        end local 0 // java.lang.Object localDate
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0  localDate  Ljava/lang/Object;
            1    4     1       year  I
            2    4     2      month  I
            3    4     3        day  I
    Exceptions:
      throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
    MethodParameters:
           Name  Flags
      localDate  

  private static long timeNanosFromLocalDateTime(java.lang.Object);
    descriptor: (Ljava/lang/Object;)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.Object localDateTime
         0: .line 587
            getstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE_TIME_TO_LOCAL_TIME:Ljava/lang/reflect/Method;
            aload 0 /* localDateTime */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 1 /* localTime */
        start local 1 // java.lang.Object localTime
         1: .line 588
            getstatic org.h2.util.LocalDateTimeUtils.LOCAL_TIME_TO_NANO:Ljava/lang/reflect/Method;
            aload 1 /* localTime */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            lreturn
        end local 1 // java.lang.Object localTime
        end local 0 // java.lang.Object localDateTime
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0  localDateTime  Ljava/lang/Object;
            1    2     1      localTime  Ljava/lang/Object;
    Exceptions:
      throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
    MethodParameters:
               Name  Flags
      localDateTime  

  private static short zoneOffsetToOffsetMinute(java.lang.Object);
    descriptor: (Ljava/lang/Object;)S
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.Object zoneOffset
         0: .line 593
            getstatic org.h2.util.LocalDateTimeUtils.ZONE_OFFSET_GET_TOTAL_SECONDS:Ljava/lang/reflect/Method;
            aload 0 /* zoneOffset */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 1 /* totalSeconds */
        start local 1 // int totalSeconds
         1: .line 594
            getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
            iload 1 /* totalSeconds */
            i2l
            invokevirtual java.util.concurrent.TimeUnit.toMinutes:(J)J
            l2i
            i2s
            ireturn
        end local 1 // int totalSeconds
        end local 0 // java.lang.Object zoneOffset
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0    zoneOffset  Ljava/lang/Object;
            1    2     1  totalSeconds  I
    Exceptions:
      throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
    MethodParameters:
            Name  Flags
      zoneOffset  

  private static java.lang.Object localDateFromDateValue(long);
    descriptor: (J)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=1
        start local 0 // long dateValue
         0: .line 600
            lload 0 /* dateValue */
            invokestatic org.h2.util.DateTimeUtils.yearFromDateValue:(J)I
            istore 2 /* year */
        start local 2 // int year
         1: .line 601
            lload 0 /* dateValue */
            invokestatic org.h2.util.DateTimeUtils.monthFromDateValue:(J)I
            istore 3 /* month */
        start local 3 // int month
         2: .line 602
            lload 0 /* dateValue */
            invokestatic org.h2.util.DateTimeUtils.dayFromDateValue:(J)I
            istore 4 /* day */
        start local 4 // int day
         3: .line 604
            getstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE_OF_YEAR_MONTH_DAY:Ljava/lang/reflect/Method;
            aconst_null
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* year */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            iload 3 /* month */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            iload 4 /* day */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
         4: areturn
         5: .line 605
      StackMap locals: long int int int
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 5 /* e */
        start local 5 // java.lang.reflect.InvocationTargetException e
         6: .line 606
            iload 2 /* year */
            sipush 1500
            if_icmpgt 8
            iload 2 /* year */
            iconst_3
            iand
            ifne 8
            iload 3 /* month */
            iconst_2
            if_icmpne 8
            iload 4 /* day */
            bipush 29
            if_icmpne 8
         7: .line 608
            getstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE_OF_YEAR_MONTH_DAY:Ljava/lang/reflect/Method;
            aconst_null
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* year */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            iconst_3
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         8: .line 610
      StackMap locals: java.lang.reflect.InvocationTargetException
      StackMap stack:
            aload 5 /* e */
            athrow
        end local 5 // java.lang.reflect.InvocationTargetException e
        end local 4 // int day
        end local 3 // int month
        end local 2 // int year
        end local 0 // long dateValue
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0  dateValue  J
            1    9     2       year  I
            2    9     3      month  I
            3    9     4        day  I
            6    9     5          e  Ljava/lang/reflect/InvocationTargetException;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.reflect.InvocationTargetException
    Exceptions:
      throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
    MethodParameters:
           Name  Flags
      dateValue  

  private static java.lang.Object localDateTimeFromDateNanos(long, long);
    descriptor: (JJ)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=2
        start local 0 // long dateValue
        start local 2 // long timeNanos
         0: .line 616
            lload 0 /* dateValue */
            invokestatic org.h2.util.LocalDateTimeUtils.localDateFromDateValue:(J)Ljava/lang/Object;
            astore 4 /* localDate */
        start local 4 // java.lang.Object localDate
         1: .line 617
            getstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE_AT_START_OF_DAY:Ljava/lang/reflect/Method;
            aload 4 /* localDate */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* localDateTime */
        start local 5 // java.lang.Object localDateTime
         2: .line 618
            getstatic org.h2.util.LocalDateTimeUtils.LOCAL_DATE_TIME_PLUS_NANOS:Ljava/lang/reflect/Method;
            aload 5 /* localDateTime */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            lload 2 /* timeNanos */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 5 // java.lang.Object localDateTime
        end local 4 // java.lang.Object localDate
        end local 2 // long timeNanos
        end local 0 // long dateValue
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0      dateValue  J
            0    3     2      timeNanos  J
            1    3     4      localDate  Ljava/lang/Object;
            2    3     5  localDateTime  Ljava/lang/Object;
    Exceptions:
      throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
    MethodParameters:
           Name  Flags
      dateValue  
      timeNanos  

  public static org.h2.value.ValueInterval periodToValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/h2/value/ValueInterval;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=10, args_size=1
        start local 0 // java.lang.Object period
         0: .line 629
            getstatic org.h2.util.LocalDateTimeUtils.PERIOD_GET_DAYS:Ljava/lang/reflect/Method;
            aload 0 /* period */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 1 /* days */
        start local 1 // int days
         1: .line 630
            iload 1 /* days */
            ifeq 3
         2: .line 631
            ldc "Period.days"
            iload 1 /* days */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic org.h2.message.DbException.getInvalidValueException:(Ljava/lang/String;Ljava/lang/Object;)Lorg/h2/message/DbException;
            athrow
         3: .line 633
      StackMap locals: int
      StackMap stack:
            getstatic org.h2.util.LocalDateTimeUtils.PERIOD_GET_YEARS:Ljava/lang/reflect/Method;
            aload 0 /* period */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 2 /* years */
        start local 2 // int years
         4: .line 634
            getstatic org.h2.util.LocalDateTimeUtils.PERIOD_GET_MONTHS:Ljava/lang/reflect/Method;
            aload 0 /* period */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 3 /* months */
        start local 3 // int months
         5: .line 636
            iconst_0
            istore 5 /* negative */
        start local 5 // boolean negative
         6: .line 637
            lconst_0
            lstore 6 /* leading */
        start local 6 // long leading
         7: lconst_0
            lstore 8 /* remaining */
        start local 8 // long remaining
         8: .line 638
            iload 2 /* years */
            ifne 18
         9: .line 639
            iload 3 /* months */
            i2l
            lconst_0
            lcmp
            ifne 12
        10: .line 641
            getstatic org.h2.api.IntervalQualifier.YEAR_TO_MONTH:Lorg/h2/api/IntervalQualifier;
            astore 4 /* qualifier */
        start local 4 // org.h2.api.IntervalQualifier qualifier
        11: .line 642
            goto 32
        end local 4 // org.h2.api.IntervalQualifier qualifier
        12: .line 643
      StackMap locals: java.lang.Object int int int top int long long
      StackMap stack:
            getstatic org.h2.api.IntervalQualifier.MONTH:Lorg/h2/api/IntervalQualifier;
            astore 4 /* qualifier */
        start local 4 // org.h2.api.IntervalQualifier qualifier
        13: .line 644
            iload 3 /* months */
            i2l
            lstore 6 /* leading */
        14: .line 645
            lload 6 /* leading */
            lconst_0
            lcmp
            ifge 32
        15: .line 646
            lload 6 /* leading */
            lneg
            lstore 6 /* leading */
        16: .line 647
            iconst_1
            istore 5 /* negative */
        17: .line 650
            goto 32
        end local 4 // org.h2.api.IntervalQualifier qualifier
        18: .line 651
      StackMap locals:
      StackMap stack:
            iload 3 /* months */
            i2l
            lconst_0
            lcmp
            ifne 25
        19: .line 652
            getstatic org.h2.api.IntervalQualifier.YEAR:Lorg/h2/api/IntervalQualifier;
            astore 4 /* qualifier */
        start local 4 // org.h2.api.IntervalQualifier qualifier
        20: .line 653
            iload 2 /* years */
            i2l
            lstore 6 /* leading */
        21: .line 654
            lload 6 /* leading */
            lconst_0
            lcmp
            ifge 32
        22: .line 655
            lload 6 /* leading */
            lneg
            lstore 6 /* leading */
        23: .line 656
            iconst_1
            istore 5 /* negative */
        24: .line 658
            goto 32
        end local 4 // org.h2.api.IntervalQualifier qualifier
        25: .line 659
      StackMap locals:
      StackMap stack:
            getstatic org.h2.api.IntervalQualifier.YEAR_TO_MONTH:Lorg/h2/api/IntervalQualifier;
            astore 4 /* qualifier */
        start local 4 // org.h2.api.IntervalQualifier qualifier
        26: .line 660
            iload 2 /* years */
            bipush 12
            imul
            iload 3 /* months */
            iadd
            i2l
            lstore 6 /* leading */
        27: .line 661
            lload 6 /* leading */
            lconst_0
            lcmp
            ifge 30
        28: .line 662
            lload 6 /* leading */
            lneg
            lstore 6 /* leading */
        29: .line 663
            iconst_1
            istore 5 /* negative */
        30: .line 665
      StackMap locals: java.lang.Object int int int org.h2.api.IntervalQualifier int long long
      StackMap stack:
            lload 6 /* leading */
            ldc 12
            lrem
            lstore 8 /* remaining */
        31: .line 666
            lload 6 /* leading */
            ldc 12
            ldiv
            lstore 6 /* leading */
        32: .line 669
      StackMap locals:
      StackMap stack:
            aload 4 /* qualifier */
            iload 5 /* negative */
            lload 6 /* leading */
            lload 8 /* remaining */
            invokestatic org.h2.value.ValueInterval.from:(Lorg/h2/api/IntervalQualifier;ZJJ)Lorg/h2/value/ValueInterval;
        33: areturn
        end local 8 // long remaining
        end local 6 // long leading
        end local 5 // boolean negative
        end local 4 // org.h2.api.IntervalQualifier qualifier
        end local 3 // int months
        end local 2 // int years
        end local 1 // int days
        34: .line 670
      StackMap locals: java.lang.Object
      StackMap stack: java.lang.IllegalAccessException
            astore 1 /* e */
        start local 1 // java.lang.IllegalAccessException e
        35: .line 671
            aload 1 /* e */
            invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
            athrow
        end local 1 // java.lang.IllegalAccessException e
        36: .line 672
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 1 /* e */
        start local 1 // java.lang.reflect.InvocationTargetException e
        37: .line 673
            aload 1 /* e */
            ldc "interval conversion failed"
            invokestatic org.h2.message.DbException.convertInvocation:(Ljava/lang/reflect/InvocationTargetException;Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 1 // java.lang.reflect.InvocationTargetException e
        end local 0 // java.lang.Object period
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   38     0     period  Ljava/lang/Object;
            1   34     1       days  I
            4   34     2      years  I
            5   34     3     months  I
           11   12     4  qualifier  Lorg/h2/api/IntervalQualifier;
           13   18     4  qualifier  Lorg/h2/api/IntervalQualifier;
           20   25     4  qualifier  Lorg/h2/api/IntervalQualifier;
           26   34     4  qualifier  Lorg/h2/api/IntervalQualifier;
            6   34     5   negative  Z
            7   34     6    leading  J
            8   34     8  remaining  J
           35   36     1          e  Ljava/lang/IllegalAccessException;
           37   38     1          e  Ljava/lang/reflect/InvocationTargetException;
      Exception table:
        from    to  target  type
           0    33      34  Class java.lang.IllegalAccessException
           0    33      36  Class java.lang.reflect.InvocationTargetException
    MethodParameters:
        Name  Flags
      period  

  public static org.h2.value.ValueInterval durationToValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/h2/value/ValueInterval;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // java.lang.Object duration
         0: .line 685
            getstatic org.h2.util.LocalDateTimeUtils.DURATION_GET_SECONDS:Ljava/lang/reflect/Method;
            aload 0 /* duration */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            lstore 1 /* seconds */
        start local 1 // long seconds
         1: .line 686
            getstatic org.h2.util.LocalDateTimeUtils.DURATION_GET_NANO:Ljava/lang/reflect/Method;
            aload 0 /* duration */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 3 /* nano */
        start local 3 // int nano
         2: .line 687
            lload 1 /* seconds */
            lconst_0
            lcmp
            ifge 3
            iconst_1
            goto 4
      StackMap locals: long int
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 4 /* negative */
        start local 4 // boolean negative
         5: .line 688
            lload 1 /* seconds */
            invokestatic java.lang.Math.abs:(J)J
            lstore 1 /* seconds */
         6: .line 689
            iload 4 /* negative */
            ifeq 9
            iload 3 /* nano */
            ifeq 9
         7: .line 690
            ldc 1000000000
            iload 3 /* nano */
            isub
            istore 3 /* nano */
         8: .line 691
            lload 1 /* seconds */
            lconst_1
            lsub
            lstore 1 /* seconds */
         9: .line 693
      StackMap locals: int
      StackMap stack:
            getstatic org.h2.api.IntervalQualifier.SECOND:Lorg/h2/api/IntervalQualifier;
            iload 4 /* negative */
            lload 1 /* seconds */
            iload 3 /* nano */
            i2l
            invokestatic org.h2.value.ValueInterval.from:(Lorg/h2/api/IntervalQualifier;ZJJ)Lorg/h2/value/ValueInterval;
        10: areturn
        end local 4 // boolean negative
        end local 3 // int nano
        end local 1 // long seconds
        11: .line 694
      StackMap locals: java.lang.Object
      StackMap stack: java.lang.IllegalAccessException
            astore 1 /* e */
        start local 1 // java.lang.IllegalAccessException e
        12: .line 695
            aload 1 /* e */
            invokestatic org.h2.message.DbException.convert:(Ljava/lang/Throwable;)Lorg/h2/message/DbException;
            athrow
        end local 1 // java.lang.IllegalAccessException e
        13: .line 696
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 1 /* e */
        start local 1 // java.lang.reflect.InvocationTargetException e
        14: .line 697
            aload 1 /* e */
            ldc "interval conversion failed"
            invokestatic org.h2.message.DbException.convertInvocation:(Ljava/lang/reflect/InvocationTargetException;Ljava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 1 // java.lang.reflect.InvocationTargetException e
        end local 0 // java.lang.Object duration
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0  duration  Ljava/lang/Object;
            1   11     1   seconds  J
            2   11     3      nano  I
            5   11     4  negative  Z
           12   13     1         e  Ljava/lang/IllegalAccessException;
           14   15     1         e  Ljava/lang/reflect/InvocationTargetException;
      Exception table:
        from    to  target  type
           0    10      11  Class java.lang.IllegalAccessException
           0    10      13  Class java.lang.reflect.InvocationTargetException
    MethodParameters:
          Name  Flags
      duration  
}
SourceFile: "LocalDateTimeUtils.java"