public class io.reactiverse.pgclient.impl.PgConnectionUriParser
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.reactiverse.pgclient.impl.PgConnectionUriParser
  super_class: java.lang.Object
{
  private static final java.lang.String FULL_URI_REGEX;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "^postgre(?:s|sql)://(?:(\\w+(?::\\S+)?)@)?([0-9.]+|\\[[A-Za-z0-9:]+]|[A-Za-z0-9.%\\-_]+)?(?::(\\d+))?(?:/([A-Za-z0-9_\\-]+))?(?:\\?(.*))?$"

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

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

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

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

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

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.reactiverse.pgclient.impl.PgConnectionUriParser this
         0: .line 36
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.reactiverse.pgclient.impl.PgConnectionUriParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/reactiverse/pgclient/impl/PgConnectionUriParser;

  public static io.vertx.core.json.JsonObject parse(java.lang.String);
    descriptor: (Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.String connectionUri
         0: .line 48
            new io.vertx.core.json.JsonObject
            dup
            invokespecial io.vertx.core.json.JsonObject.<init>:()V
            astore 1 /* configuration */
        start local 1 // io.vertx.core.json.JsonObject configuration
         1: .line 49
            aload 0 /* connectionUri */
            aload 1 /* configuration */
            invokestatic io.reactiverse.pgclient.impl.PgConnectionUriParser.doParse:(Ljava/lang/String;Lio/vertx/core/json/JsonObject;)V
         2: .line 50
            aload 1 /* configuration */
         3: areturn
        end local 1 // io.vertx.core.json.JsonObject configuration
         4: .line 51
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
         5: .line 52
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot parse invalid connection URI: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* connectionUri */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* e */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.Exception e
        end local 0 // java.lang.String connectionUri
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0  connectionUri  Ljava/lang/String;
            1    4     1  configuration  Lio/vertx/core/json/JsonObject;
            5    6     1              e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.Exception
    MethodParameters:
               Name  Flags
      connectionUri  

  private static void doParse(java.lang.String, io.vertx.core.json.JsonObject);
    descriptor: (Ljava/lang/String;Lio/vertx/core/json/JsonObject;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.String connectionUri
        start local 1 // io.vertx.core.json.JsonObject configuration
         0: .line 58
            ldc "^postgre(?:s|sql)://(?:(\\w+(?::\\S+)?)@)?([0-9.]+|\\[[A-Za-z0-9:]+]|[A-Za-z0-9.%\\-_]+)?(?::(\\d+))?(?:/([A-Za-z0-9_\\-]+))?(?:\\?(.*))?$"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
            astore 2 /* pattern */
        start local 2 // java.util.regex.Pattern pattern
         1: .line 59
            aload 2 /* pattern */
            aload 0 /* connectionUri */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            astore 3 /* matcher */
        start local 3 // java.util.regex.Matcher matcher
         2: .line 61
            aload 3 /* matcher */
            invokevirtual java.util.regex.Matcher.matches:()Z
            ifeq 9
         3: .line 63
            aload 3 /* matcher */
            iconst_1
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            aload 1 /* configuration */
            invokestatic io.reactiverse.pgclient.impl.PgConnectionUriParser.parseUserandPassword:(Ljava/lang/String;Lio/vertx/core/json/JsonObject;)V
         4: .line 66
            aload 3 /* matcher */
            iconst_2
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            aload 1 /* configuration */
            invokestatic io.reactiverse.pgclient.impl.PgConnectionUriParser.parseNetLocation:(Ljava/lang/String;Lio/vertx/core/json/JsonObject;)V
         5: .line 69
            aload 3 /* matcher */
            iconst_3
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            aload 1 /* configuration */
            invokestatic io.reactiverse.pgclient.impl.PgConnectionUriParser.parsePort:(Ljava/lang/String;Lio/vertx/core/json/JsonObject;)V
         6: .line 72
            aload 3 /* matcher */
            iconst_4
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            aload 1 /* configuration */
            invokestatic io.reactiverse.pgclient.impl.PgConnectionUriParser.parseDatabaseName:(Ljava/lang/String;Lio/vertx/core/json/JsonObject;)V
         7: .line 75
            aload 3 /* matcher */
            iconst_5
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            aload 1 /* configuration */
            invokestatic io.reactiverse.pgclient.impl.PgConnectionUriParser.parseParameters:(Ljava/lang/String;Lio/vertx/core/json/JsonObject;)V
         8: .line 77
            goto 10
         9: .line 78
      StackMap locals: java.util.regex.Pattern java.util.regex.Matcher
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Wrong syntax of connection URI"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 80
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.regex.Matcher matcher
        end local 2 // java.util.regex.Pattern pattern
        end local 1 // io.vertx.core.json.JsonObject configuration
        end local 0 // java.lang.String connectionUri
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0  connectionUri  Ljava/lang/String;
            0   11     1  configuration  Lio/vertx/core/json/JsonObject;
            1   11     2        pattern  Ljava/util/regex/Pattern;
            2   11     3        matcher  Ljava/util/regex/Matcher;
    MethodParameters:
               Name  Flags
      connectionUri  
      configuration  

  private static void parseUserandPassword(java.lang.String, io.vertx.core.json.JsonObject);
    descriptor: (Ljava/lang/String;Lio/vertx/core/json/JsonObject;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.lang.String userInfo
        start local 1 // io.vertx.core.json.JsonObject configuration
         0: .line 83
            aload 0 /* userInfo */
            ifnull 1
            aload 0 /* userInfo */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 2
         1: .line 84
      StackMap locals:
      StackMap stack:
            return
         2: .line 86
      StackMap locals:
      StackMap stack:
            aload 0 /* userInfo */
            ldc ":"
            invokestatic io.reactiverse.pgclient.impl.PgConnectionUriParser.occurExactlyOnce:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 11
         3: .line 87
            aload 0 /* userInfo */
            ldc ":"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 2 /* index */
        start local 2 // int index
         4: .line 88
            aload 0 /* userInfo */
            iconst_0
            iload 2 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 3 /* user */
        start local 3 // java.lang.String user
         5: .line 89
            aload 3 /* user */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 7
         6: .line 90
            new java.lang.IllegalArgumentException
            dup
            ldc "Can not only specify the password without a concrete user"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 92
      StackMap locals: int java.lang.String
      StackMap stack:
            aload 0 /* userInfo */
            iload 2 /* index */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 4 /* password */
        start local 4 // java.lang.String password
         8: .line 93
            aload 1 /* configuration */
            ldc "user"
            aload 3 /* user */
            invokestatic io.reactiverse.pgclient.impl.PgConnectionUriParser.decodeUrl:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            pop
         9: .line 94
            aload 1 /* configuration */
            ldc "password"
            aload 4 /* password */
            invokestatic io.reactiverse.pgclient.impl.PgConnectionUriParser.decodeUrl:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            pop
        end local 4 // java.lang.String password
        end local 3 // java.lang.String user
        end local 2 // int index
        10: .line 95
            goto 15
      StackMap locals:
      StackMap stack:
        11: aload 0 /* userInfo */
            ldc ":"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifne 14
        12: .line 96
            aload 1 /* configuration */
            ldc "user"
            aload 0 /* userInfo */
            invokestatic io.reactiverse.pgclient.impl.PgConnectionUriParser.decodeUrl:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            pop
        13: .line 97
            goto 15
        14: .line 98
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Can not use multiple delimiters to delimit user and password"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 100
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.json.JsonObject configuration
        end local 0 // java.lang.String userInfo
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   16     0       userInfo  Ljava/lang/String;
            0   16     1  configuration  Lio/vertx/core/json/JsonObject;
            4   10     2          index  I
            5   10     3           user  Ljava/lang/String;
            8   10     4       password  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      userInfo       
      configuration  

  private static void parseNetLocation(java.lang.String, io.vertx.core.json.JsonObject);
    descriptor: (Ljava/lang/String;Lio/vertx/core/json/JsonObject;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.String hostInfo
        start local 1 // io.vertx.core.json.JsonObject configuration
         0: .line 103
            aload 0 /* hostInfo */
            ifnull 1
            aload 0 /* hostInfo */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 2
         1: .line 104
      StackMap locals:
      StackMap stack:
            return
         2: .line 106
      StackMap locals:
      StackMap stack:
            aload 0 /* hostInfo */
            invokestatic io.reactiverse.pgclient.impl.PgConnectionUriParser.decodeUrl:(Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* configuration */
            invokestatic io.reactiverse.pgclient.impl.PgConnectionUriParser.parseNetLocationValue:(Ljava/lang/String;Lio/vertx/core/json/JsonObject;)V
         3: .line 107
            return
        end local 1 // io.vertx.core.json.JsonObject configuration
        end local 0 // java.lang.String hostInfo
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0       hostInfo  Ljava/lang/String;
            0    4     1  configuration  Lio/vertx/core/json/JsonObject;
    MethodParameters:
               Name  Flags
      hostInfo       
      configuration  

  private static void parsePort(java.lang.String, io.vertx.core.json.JsonObject);
    descriptor: (Ljava/lang/String;Lio/vertx/core/json/JsonObject;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.String portInfo
        start local 1 // io.vertx.core.json.JsonObject configuration
         0: .line 110
            aload 0 /* portInfo */
            ifnull 1
            aload 0 /* portInfo */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 2
         1: .line 111
      StackMap locals:
      StackMap stack:
            return
         2: .line 115
      StackMap locals:
      StackMap stack:
            aload 0 /* portInfo */
            invokestatic io.reactiverse.pgclient.impl.PgConnectionUriParser.decodeUrl:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 2 /* port */
        start local 2 // int port
         3: .line 116
            goto 6
        end local 2 // int port
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
         4: pop
         5: .line 117
            new java.lang.IllegalArgumentException
            dup
            ldc "The post must be a valid integer"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        start local 2 // int port
         6: .line 119
      StackMap locals: int
      StackMap stack:
            iload 2 /* port */
            ldc 65535
            if_icmpgt 7
            iload 2 /* port */
            ifgt 8
         7: .line 120
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "The post can only range in 1-65535"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 122
      StackMap locals:
      StackMap stack:
            aload 1 /* configuration */
            ldc "port"
            iload 2 /* port */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Integer;)Lio/vertx/core/json/JsonObject;
            pop
         9: .line 123
            return
        end local 2 // int port
        end local 1 // io.vertx.core.json.JsonObject configuration
        end local 0 // java.lang.String portInfo
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0       portInfo  Ljava/lang/String;
            0   10     1  configuration  Lio/vertx/core/json/JsonObject;
            3    4     2           port  I
            6   10     2           port  I
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NumberFormatException
    MethodParameters:
               Name  Flags
      portInfo       
      configuration  

  private static void parseDatabaseName(java.lang.String, io.vertx.core.json.JsonObject);
    descriptor: (Ljava/lang/String;Lio/vertx/core/json/JsonObject;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String databaseInfo
        start local 1 // io.vertx.core.json.JsonObject configuration
         0: .line 126
            aload 0 /* databaseInfo */
            ifnull 1
            aload 0 /* databaseInfo */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 2
         1: .line 127
      StackMap locals:
      StackMap stack:
            return
         2: .line 129
      StackMap locals:
      StackMap stack:
            aload 1 /* configuration */
            ldc "database"
            aload 0 /* databaseInfo */
            invokestatic io.reactiverse.pgclient.impl.PgConnectionUriParser.decodeUrl:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            pop
         3: .line 131
            return
        end local 1 // io.vertx.core.json.JsonObject configuration
        end local 0 // java.lang.String databaseInfo
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0   databaseInfo  Ljava/lang/String;
            0    4     1  configuration  Lio/vertx/core/json/JsonObject;
    MethodParameters:
               Name  Flags
      databaseInfo   
      configuration  

  private static void parseParameters(java.lang.String, io.vertx.core.json.JsonObject);
    descriptor: (Ljava/lang/String;Lio/vertx/core/json/JsonObject;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=10, args_size=2
        start local 0 // java.lang.String parametersInfo
        start local 1 // io.vertx.core.json.JsonObject configuration
         0: .line 134
            aload 0 /* parametersInfo */
            ifnull 1
            aload 0 /* parametersInfo */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 2
         1: .line 135
      StackMap locals:
      StackMap stack:
            return
         2: .line 137
      StackMap locals:
      StackMap stack:
            aload 0 /* parametersInfo */
            ldc "&"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 35
      StackMap locals: java.lang.String io.vertx.core.json.JsonObject top int int java.lang.String[]
      StackMap stack:
         3: aload 5
            iload 3
            aaload
            astore 2 /* parameterPair */
        start local 2 // java.lang.String parameterPair
         4: .line 138
            aload 2 /* parameterPair */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 6
         5: .line 139
            goto 34
         6: .line 141
      StackMap locals: java.lang.String io.vertx.core.json.JsonObject java.lang.String int int java.lang.String[]
      StackMap stack:
            aload 2 /* parameterPair */
            ldc "="
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 6 /* indexOfDelimiter */
        start local 6 // int indexOfDelimiter
         7: .line 142
            iload 6 /* indexOfDelimiter */
            ifge 9
         8: .line 143
            new java.lang.IllegalArgumentException
            dup
            ldc "Missing delimiter '=' of parameters \"%s\" in the part \"%s\""
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* parametersInfo */
            aastore
            dup
            iconst_1
            aload 2 /* parameterPair */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 145
      StackMap locals: int
      StackMap stack:
            aload 2 /* parameterPair */
            iconst_0
            iload 6 /* indexOfDelimiter */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            astore 7 /* key */
        start local 7 // java.lang.String key
        10: .line 146
            aload 2 /* parameterPair */
            iload 6 /* indexOfDelimiter */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokestatic io.reactiverse.pgclient.impl.PgConnectionUriParser.decodeUrl:(Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* value */
        start local 8 // java.lang.String value
        11: .line 147
            aload 7 /* key */
            dup
            astore 9
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 7
          -1915809361: 12
          -1338173431: 13
           -300188263: 14
              3208616: 15
              3446913: 16
              3599307: 17
           1216985755: 18
              default: 33
          }
      StackMap locals: java.lang.String java.lang.String java.lang.String
      StackMap stack:
        12: aload 9
            ldc "sslmode"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 31
            goto 33
      StackMap locals:
      StackMap stack:
        13: aload 9
            ldc "dbname"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 29
            goto 33
      StackMap locals:
      StackMap stack:
        14: aload 9
            ldc "hostaddr"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
            goto 33
      StackMap locals:
      StackMap stack:
        15: aload 9
            ldc "host"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 21
            goto 33
      StackMap locals:
      StackMap stack:
        16: aload 9
            ldc "port"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 19
            goto 33
      StackMap locals:
      StackMap stack:
        17: aload 9
            ldc "user"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 25
            goto 33
      StackMap locals:
      StackMap stack:
        18: aload 9
            ldc "password"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 27
            goto 33
        19: .line 149
      StackMap locals:
      StackMap stack:
            aload 8 /* value */
            aload 1 /* configuration */
            invokestatic io.reactiverse.pgclient.impl.PgConnectionUriParser.parsePort:(Ljava/lang/String;Lio/vertx/core/json/JsonObject;)V
        20: .line 150
            goto 34
        21: .line 152
      StackMap locals:
      StackMap stack:
            aload 8 /* value */
            aload 1 /* configuration */
            invokestatic io.reactiverse.pgclient.impl.PgConnectionUriParser.parseNetLocationValue:(Ljava/lang/String;Lio/vertx/core/json/JsonObject;)V
        22: .line 153
            goto 34
        23: .line 155
      StackMap locals:
      StackMap stack:
            aload 1 /* configuration */
            ldc "host"
            aload 8 /* value */
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            pop
        24: .line 156
            goto 34
        25: .line 158
      StackMap locals:
      StackMap stack:
            aload 1 /* configuration */
            ldc "user"
            aload 8 /* value */
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            pop
        26: .line 159
            goto 34
        27: .line 161
      StackMap locals:
      StackMap stack:
            aload 1 /* configuration */
            ldc "password"
            aload 8 /* value */
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            pop
        28: .line 162
            goto 34
        29: .line 164
      StackMap locals:
      StackMap stack:
            aload 1 /* configuration */
            ldc "database"
            aload 8 /* value */
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            pop
        30: .line 165
            goto 34
        31: .line 167
      StackMap locals:
      StackMap stack:
            aload 1 /* configuration */
            ldc "sslMode"
            aload 8 /* value */
            invokestatic io.reactiverse.pgclient.SslMode.of:(Ljava/lang/String;)Lio/reactiverse/pgclient/SslMode;
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Enum;)Lio/vertx/core/json/JsonObject;
            pop
        32: .line 168
            goto 34
        33: .line 170
      StackMap locals:
      StackMap stack:
            aload 1 /* configuration */
            aload 7 /* key */
            aload 8 /* value */
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            pop
        end local 8 // java.lang.String value
        end local 7 // java.lang.String key
        end local 6 // int indexOfDelimiter
        end local 2 // java.lang.String parameterPair
        34: .line 137
      StackMap locals: java.lang.String io.vertx.core.json.JsonObject top int int java.lang.String[]
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
        35: iload 3
            iload 4
            if_icmplt 3
        36: .line 175
            return
        end local 1 // io.vertx.core.json.JsonObject configuration
        end local 0 // java.lang.String parametersInfo
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   37     0    parametersInfo  Ljava/lang/String;
            0   37     1     configuration  Lio/vertx/core/json/JsonObject;
            4   34     2     parameterPair  Ljava/lang/String;
            7   34     6  indexOfDelimiter  I
           10   34     7               key  Ljava/lang/String;
           11   34     8             value  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      parametersInfo  
      configuration   

  private static void parseNetLocationValue(java.lang.String, io.vertx.core.json.JsonObject);
    descriptor: (Ljava/lang/String;Lio/vertx/core/json/JsonObject;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // java.lang.String hostValue
        start local 1 // io.vertx.core.json.JsonObject configuration
         0: .line 178
            aload 0 /* hostValue */
            invokestatic io.reactiverse.pgclient.impl.PgConnectionUriParser.isRegardedAsIpv6Address:(Ljava/lang/String;)Z
            ifeq 3
         1: .line 179
            aload 1 /* configuration */
            ldc "host"
            aload 0 /* hostValue */
            iconst_1
            aload 0 /* hostValue */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            pop
         2: .line 180
            goto 4
         3: .line 181
      StackMap locals:
      StackMap stack:
            aload 1 /* configuration */
            ldc "host"
            aload 0 /* hostValue */
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            pop
         4: .line 183
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.json.JsonObject configuration
        end local 0 // java.lang.String hostValue
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0      hostValue  Ljava/lang/String;
            0    5     1  configuration  Lio/vertx/core/json/JsonObject;
    MethodParameters:
               Name  Flags
      hostValue      
      configuration  

  private static boolean isRegardedAsIpv6Address(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String hostAddress
         0: .line 186
            aload 0 /* hostAddress */
            ldc "["
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 1
            aload 0 /* hostAddress */
            ldc "]"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.String hostAddress
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0  hostAddress  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      hostAddress  

  private static java.lang.String decodeUrl(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String url
         0: .line 191
            aload 0 /* url */
            ldc "UTF-8"
            invokestatic java.net.URLDecoder.decode:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
         1: areturn
         2: .line 192
      StackMap locals:
      StackMap stack: java.io.UnsupportedEncodingException
            pop
         3: .line 193
            new java.lang.IllegalArgumentException
            dup
            ldc "The connection uri contains unknown characters that can not be resolved."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // java.lang.String url
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0   url  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.UnsupportedEncodingException
    MethodParameters:
      Name  Flags
      url   

  private static boolean occurExactlyOnce(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String uri
        start local 1 // java.lang.String character
         0: .line 198
            aload 0 /* uri */
            aload 1 /* character */
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifeq 1
            aload 0 /* uri */
            aload 1 /* character */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            aload 0 /* uri */
            aload 1 /* character */
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.String character
        end local 0 // java.lang.String uri
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0        uri  Ljava/lang/String;
            0    2     1  character  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      uri        
      character  
}
SourceFile: "PgConnectionUriParser.java"