public final class org.apache.http.conn.util.PublicSuffixMatcher
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.apache.http.conn.util.PublicSuffixMatcher
  super_class: java.lang.Object
{
  private final java.util.Map<java.lang.String, org.apache.http.conn.util.DomainType> rules;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;>;

  private final java.util.Map<java.lang.String, org.apache.http.conn.util.DomainType> exceptions;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;>;

  public void <init>(java.util.Collection<java.lang.String>, java.util.Collection<java.lang.String>);
    descriptor: (Ljava/util/Collection;Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.http.conn.util.PublicSuffixMatcher this
        start local 1 // java.util.Collection rules
        start local 2 // java.util.Collection exceptions
         0: .line 56
            aload 0 /* this */
            getstatic org.apache.http.conn.util.DomainType.UNKNOWN:Lorg/apache/http/conn/util/DomainType;
            aload 1 /* rules */
            aload 2 /* exceptions */
            invokespecial org.apache.http.conn.util.PublicSuffixMatcher.<init>:(Lorg/apache/http/conn/util/DomainType;Ljava/util/Collection;Ljava/util/Collection;)V
         1: .line 57
            return
        end local 2 // java.util.Collection exceptions
        end local 1 // java.util.Collection rules
        end local 0 // org.apache.http.conn.util.PublicSuffixMatcher this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/apache/http/conn/util/PublicSuffixMatcher;
            0    2     1       rules  Ljava/util/Collection<Ljava/lang/String;>;
            0    2     2  exceptions  Ljava/util/Collection<Ljava/lang/String;>;
    Signature: (Ljava/util/Collection<Ljava/lang/String;>;Ljava/util/Collection<Ljava/lang/String;>;)V
    MethodParameters:
            Name  Flags
      rules       final
      exceptions  final

  public void <init>(org.apache.http.conn.util.DomainType, java.util.Collection<java.lang.String>, java.util.Collection<java.lang.String>);
    descriptor: (Lorg/apache/http/conn/util/DomainType;Ljava/util/Collection;Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.apache.http.conn.util.PublicSuffixMatcher this
        start local 1 // org.apache.http.conn.util.DomainType domainType
        start local 2 // java.util.Collection rules
        start local 3 // java.util.Collection exceptions
         0: .line 62
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 64
            aload 1 /* domainType */
            ldc "Domain type"
            invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         2: .line 65
            aload 2 /* rules */
            ldc "Domain suffix rules"
            invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         3: .line 66
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            aload 2 /* rules */
            invokeinterface java.util.Collection.size:()I
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:(I)V
            putfield org.apache.http.conn.util.PublicSuffixMatcher.rules:Ljava/util/Map;
         4: .line 67
            aload 2 /* rules */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 7
      StackMap locals: org.apache.http.conn.util.PublicSuffixMatcher org.apache.http.conn.util.DomainType java.util.Collection java.util.Collection top java.util.Iterator
      StackMap stack:
         5: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* rule */
        start local 4 // java.lang.String rule
         6: .line 68
            aload 0 /* this */
            getfield org.apache.http.conn.util.PublicSuffixMatcher.rules:Ljava/util/Map;
            aload 4 /* rule */
            aload 1 /* domainType */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // java.lang.String rule
         7: .line 67
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 70
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield org.apache.http.conn.util.PublicSuffixMatcher.exceptions:Ljava/util/Map;
         9: .line 71
            aload 3 /* exceptions */
            ifnull 14
        10: .line 72
            aload 3 /* exceptions */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 13
      StackMap locals:
      StackMap stack:
        11: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* exception */
        start local 4 // java.lang.String exception
        12: .line 73
            aload 0 /* this */
            getfield org.apache.http.conn.util.PublicSuffixMatcher.exceptions:Ljava/util/Map;
            aload 4 /* exception */
            aload 1 /* domainType */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // java.lang.String exception
        13: .line 72
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        14: .line 76
      StackMap locals: org.apache.http.conn.util.PublicSuffixMatcher org.apache.http.conn.util.DomainType java.util.Collection java.util.Collection
      StackMap stack:
            return
        end local 3 // java.util.Collection exceptions
        end local 2 // java.util.Collection rules
        end local 1 // org.apache.http.conn.util.DomainType domainType
        end local 0 // org.apache.http.conn.util.PublicSuffixMatcher this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Lorg/apache/http/conn/util/PublicSuffixMatcher;
            0   15     1  domainType  Lorg/apache/http/conn/util/DomainType;
            0   15     2       rules  Ljava/util/Collection<Ljava/lang/String;>;
            0   15     3  exceptions  Ljava/util/Collection<Ljava/lang/String;>;
            6    7     4        rule  Ljava/lang/String;
           12   13     4   exception  Ljava/lang/String;
    Signature: (Lorg/apache/http/conn/util/DomainType;Ljava/util/Collection<Ljava/lang/String;>;Ljava/util/Collection<Ljava/lang/String;>;)V
    MethodParameters:
            Name  Flags
      domainType  final
      rules       final
      exceptions  final

  public void <init>(java.util.Collection<org.apache.http.conn.util.PublicSuffixList>);
    descriptor: (Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=9, args_size=2
        start local 0 // org.apache.http.conn.util.PublicSuffixMatcher this
        start local 1 // java.util.Collection lists
         0: .line 81
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 82
            aload 1 /* lists */
            ldc "Domain suffix lists"
            invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         2: .line 83
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield org.apache.http.conn.util.PublicSuffixMatcher.rules:Ljava/util/Map;
         3: .line 84
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield org.apache.http.conn.util.PublicSuffixMatcher.exceptions:Ljava/util/Map;
         4: .line 85
            aload 1 /* lists */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3
            goto 18
      StackMap locals: org.apache.http.conn.util.PublicSuffixMatcher java.util.Collection top java.util.Iterator
      StackMap stack:
         5: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.http.conn.util.PublicSuffixList
            astore 2 /* list */
        start local 2 // org.apache.http.conn.util.PublicSuffixList list
         6: .line 86
            aload 2 /* list */
            invokevirtual org.apache.http.conn.util.PublicSuffixList.getType:()Lorg/apache/http/conn/util/DomainType;
            astore 4 /* domainType */
        start local 4 // org.apache.http.conn.util.DomainType domainType
         7: .line 87
            aload 2 /* list */
            invokevirtual org.apache.http.conn.util.PublicSuffixList.getRules:()Ljava/util/List;
            astore 5 /* rules */
        start local 5 // java.util.List rules
         8: .line 88
            aload 5 /* rules */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 11
      StackMap locals: org.apache.http.conn.util.PublicSuffixMatcher java.util.Collection org.apache.http.conn.util.PublicSuffixList java.util.Iterator org.apache.http.conn.util.DomainType java.util.List top java.util.Iterator
      StackMap stack:
         9: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* rule */
        start local 6 // java.lang.String rule
        10: .line 89
            aload 0 /* this */
            getfield org.apache.http.conn.util.PublicSuffixMatcher.rules:Ljava/util/Map;
            aload 6 /* rule */
            aload 4 /* domainType */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // java.lang.String rule
        11: .line 88
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        12: .line 91
            aload 2 /* list */
            invokevirtual org.apache.http.conn.util.PublicSuffixList.getExceptions:()Ljava/util/List;
            astore 6 /* exceptions */
        start local 6 // java.util.List exceptions
        13: .line 92
            aload 6 /* exceptions */
            ifnull 18
        14: .line 93
            aload 6 /* exceptions */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 17
      StackMap locals: org.apache.http.conn.util.PublicSuffixMatcher java.util.Collection org.apache.http.conn.util.PublicSuffixList java.util.Iterator org.apache.http.conn.util.DomainType java.util.List java.util.List top java.util.Iterator
      StackMap stack:
        15: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* exception */
        start local 7 // java.lang.String exception
        16: .line 94
            aload 0 /* this */
            getfield org.apache.http.conn.util.PublicSuffixMatcher.exceptions:Ljava/util/Map;
            aload 7 /* exception */
            aload 4 /* domainType */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // java.lang.String exception
        17: .line 93
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        end local 6 // java.util.List exceptions
        end local 5 // java.util.List rules
        end local 4 // org.apache.http.conn.util.DomainType domainType
        end local 2 // org.apache.http.conn.util.PublicSuffixList list
        18: .line 85
      StackMap locals: org.apache.http.conn.util.PublicSuffixMatcher java.util.Collection top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        19: .line 98
            return
        end local 1 // java.util.Collection lists
        end local 0 // org.apache.http.conn.util.PublicSuffixMatcher this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   20     0        this  Lorg/apache/http/conn/util/PublicSuffixMatcher;
            0   20     1       lists  Ljava/util/Collection<Lorg/apache/http/conn/util/PublicSuffixList;>;
            6   18     2        list  Lorg/apache/http/conn/util/PublicSuffixList;
            7   18     4  domainType  Lorg/apache/http/conn/util/DomainType;
            8   18     5       rules  Ljava/util/List<Ljava/lang/String;>;
           10   11     6        rule  Ljava/lang/String;
           13   18     6  exceptions  Ljava/util/List<Ljava/lang/String;>;
           16   17     7   exception  Ljava/lang/String;
    Signature: (Ljava/util/Collection<Lorg/apache/http/conn/util/PublicSuffixList;>;)V
    MethodParameters:
       Name  Flags
      lists  final

  private static org.apache.http.conn.util.DomainType findEntry(java.util.Map<java.lang.String, org.apache.http.conn.util.DomainType>, java.lang.String);
    descriptor: (Ljava/util/Map;Ljava/lang/String;)Lorg/apache/http/conn/util/DomainType;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.Map map
        start local 1 // java.lang.String rule
         0: .line 101
            aload 0 /* map */
            ifnonnull 2
         1: .line 102
            aconst_null
            areturn
         2: .line 104
      StackMap locals:
      StackMap stack:
            aload 0 /* map */
            aload 1 /* rule */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.http.conn.util.DomainType
            areturn
        end local 1 // java.lang.String rule
        end local 0 // java.util.Map map
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   map  Ljava/util/Map<Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;>;
            0    3     1  rule  Ljava/lang/String;
    Signature: (Ljava/util/Map<Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;>;Ljava/lang/String;)Lorg/apache/http/conn/util/DomainType;
    MethodParameters:
      Name  Flags
      map   final
      rule  final

  private static boolean match(org.apache.http.conn.util.DomainType, org.apache.http.conn.util.DomainType);
    descriptor: (Lorg/apache/http/conn/util/DomainType;Lorg/apache/http/conn/util/DomainType;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.http.conn.util.DomainType domainType
        start local 1 // org.apache.http.conn.util.DomainType expectedType
         0: .line 108
            aload 0 /* domainType */
            ifnull 2
            aload 1 /* expectedType */
            ifnull 1
            aload 0 /* domainType */
            aload 1 /* expectedType */
            invokevirtual org.apache.http.conn.util.DomainType.equals:(Ljava/lang/Object;)Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
        end local 1 // org.apache.http.conn.util.DomainType expectedType
        end local 0 // org.apache.http.conn.util.DomainType domainType
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0    domainType  Lorg/apache/http/conn/util/DomainType;
            0    3     1  expectedType  Lorg/apache/http/conn/util/DomainType;
    MethodParameters:
              Name  Flags
      domainType    final
      expectedType  final

  public java.lang.String getDomainRoot(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.http.conn.util.PublicSuffixMatcher this
        start local 1 // java.lang.String domain
         0: .line 119
            aload 0 /* this */
            aload 1 /* domain */
            aconst_null
            invokevirtual org.apache.http.conn.util.PublicSuffixMatcher.getDomainRoot:(Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String domain
        end local 0 // org.apache.http.conn.util.PublicSuffixMatcher this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/apache/http/conn/util/PublicSuffixMatcher;
            0    1     1  domain  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      domain  final

  public java.lang.String getDomainRoot(java.lang.String, org.apache.http.conn.util.DomainType);
    descriptor: (Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=12, args_size=3
        start local 0 // org.apache.http.conn.util.PublicSuffixMatcher this
        start local 1 // java.lang.String domain
        start local 2 // org.apache.http.conn.util.DomainType expectedType
         0: .line 133
            aload 1 /* domain */
            ifnonnull 2
         1: .line 134
            aconst_null
            areturn
         2: .line 136
      StackMap locals:
      StackMap stack:
            aload 1 /* domain */
            ldc "."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 137
            aconst_null
            areturn
         4: .line 139
      StackMap locals:
      StackMap stack:
            aload 1 /* domain */
            invokestatic org.apache.http.conn.util.DnsUtils.normalize:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* normalized */
        start local 3 // java.lang.String normalized
         5: .line 140
            aload 3 /* normalized */
            astore 4 /* segment */
        start local 4 // java.lang.String segment
         6: .line 141
            aconst_null
            astore 5 /* result */
        start local 5 // java.lang.String result
         7: .line 142
            goto 29
         8: .line 144
      StackMap locals: java.lang.String java.lang.String java.lang.String
      StackMap stack:
            aload 4 /* segment */
            invokestatic java.net.IDN.toUnicode:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* key */
        start local 6 // java.lang.String key
         9: .line 145
            aload 0 /* this */
            getfield org.apache.http.conn.util.PublicSuffixMatcher.exceptions:Ljava/util/Map;
            aload 6 /* key */
            invokestatic org.apache.http.conn.util.PublicSuffixMatcher.findEntry:(Ljava/util/Map;Ljava/lang/String;)Lorg/apache/http/conn/util/DomainType;
            astore 7 /* exceptionRule */
        start local 7 // org.apache.http.conn.util.DomainType exceptionRule
        10: .line 146
            aload 7 /* exceptionRule */
            aload 2 /* expectedType */
            invokestatic org.apache.http.conn.util.PublicSuffixMatcher.match:(Lorg/apache/http/conn/util/DomainType;Lorg/apache/http/conn/util/DomainType;)Z
            ifeq 12
        11: .line 147
            aload 4 /* segment */
            areturn
        12: .line 149
      StackMap locals: java.lang.String org.apache.http.conn.util.DomainType
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.http.conn.util.PublicSuffixMatcher.rules:Ljava/util/Map;
            aload 6 /* key */
            invokestatic org.apache.http.conn.util.PublicSuffixMatcher.findEntry:(Ljava/util/Map;Ljava/lang/String;)Lorg/apache/http/conn/util/DomainType;
            astore 8 /* domainRule */
        start local 8 // org.apache.http.conn.util.DomainType domainRule
        13: .line 150
            aload 8 /* domainRule */
            aload 2 /* expectedType */
            invokestatic org.apache.http.conn.util.PublicSuffixMatcher.match:(Lorg/apache/http/conn/util/DomainType;Lorg/apache/http/conn/util/DomainType;)Z
            ifeq 17
        14: .line 151
            aload 8 /* domainRule */
            getstatic org.apache.http.conn.util.DomainType.PRIVATE:Lorg/apache/http/conn/util/DomainType;
            if_acmpne 16
        15: .line 152
            aload 4 /* segment */
            areturn
        16: .line 154
      StackMap locals: org.apache.http.conn.util.DomainType
      StackMap stack:
            aload 5 /* result */
            areturn
        17: .line 157
      StackMap locals:
      StackMap stack:
            aload 4 /* segment */
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            istore 9 /* nextdot */
        start local 9 // int nextdot
        18: .line 158
            iload 9 /* nextdot */
            iconst_m1
            if_icmpeq 19
            aload 4 /* segment */
            iload 9 /* nextdot */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            goto 20
      StackMap locals: int
      StackMap stack:
        19: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String
        20: astore 10 /* nextSegment */
        start local 10 // java.lang.String nextSegment
        21: .line 160
            aload 10 /* nextSegment */
            ifnull 27
        22: .line 161
            aload 0 /* this */
            getfield org.apache.http.conn.util.PublicSuffixMatcher.rules:Ljava/util/Map;
            new java.lang.StringBuilder
            dup
            ldc "*."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 10 /* nextSegment */
            invokestatic java.net.IDN.toUnicode:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.apache.http.conn.util.PublicSuffixMatcher.findEntry:(Ljava/util/Map;Ljava/lang/String;)Lorg/apache/http/conn/util/DomainType;
            astore 11 /* wildcardDomainRule */
        start local 11 // org.apache.http.conn.util.DomainType wildcardDomainRule
        23: .line 162
            aload 11 /* wildcardDomainRule */
            aload 2 /* expectedType */
            invokestatic org.apache.http.conn.util.PublicSuffixMatcher.match:(Lorg/apache/http/conn/util/DomainType;Lorg/apache/http/conn/util/DomainType;)Z
            ifeq 27
        24: .line 163
            aload 11 /* wildcardDomainRule */
            getstatic org.apache.http.conn.util.DomainType.PRIVATE:Lorg/apache/http/conn/util/DomainType;
            if_acmpne 26
        25: .line 164
            aload 4 /* segment */
            areturn
        26: .line 166
      StackMap locals: java.lang.String org.apache.http.conn.util.DomainType
      StackMap stack:
            aload 5 /* result */
            areturn
        end local 11 // org.apache.http.conn.util.DomainType wildcardDomainRule
        27: .line 169
      StackMap locals:
      StackMap stack:
            aload 4 /* segment */
            astore 5 /* result */
        28: .line 170
            aload 10 /* nextSegment */
            astore 4 /* segment */
        end local 10 // java.lang.String nextSegment
        end local 9 // int nextdot
        end local 8 // org.apache.http.conn.util.DomainType domainRule
        end local 7 // org.apache.http.conn.util.DomainType exceptionRule
        end local 6 // java.lang.String key
        29: .line 142
      StackMap locals: org.apache.http.conn.util.PublicSuffixMatcher java.lang.String org.apache.http.conn.util.DomainType java.lang.String java.lang.String java.lang.String
      StackMap stack:
            aload 4 /* segment */
            ifnonnull 8
        30: .line 174
            aload 2 /* expectedType */
            ifnull 31
            aload 2 /* expectedType */
            getstatic org.apache.http.conn.util.DomainType.UNKNOWN:Lorg/apache/http/conn/util/DomainType;
            if_acmpne 32
        31: .line 175
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            areturn
        32: .line 179
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 5 // java.lang.String result
        end local 4 // java.lang.String segment
        end local 3 // java.lang.String normalized
        end local 2 // org.apache.http.conn.util.DomainType expectedType
        end local 1 // java.lang.String domain
        end local 0 // org.apache.http.conn.util.PublicSuffixMatcher this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   33     0                this  Lorg/apache/http/conn/util/PublicSuffixMatcher;
            0   33     1              domain  Ljava/lang/String;
            0   33     2        expectedType  Lorg/apache/http/conn/util/DomainType;
            5   33     3          normalized  Ljava/lang/String;
            6   33     4             segment  Ljava/lang/String;
            7   33     5              result  Ljava/lang/String;
            9   29     6                 key  Ljava/lang/String;
           10   29     7       exceptionRule  Lorg/apache/http/conn/util/DomainType;
           13   29     8          domainRule  Lorg/apache/http/conn/util/DomainType;
           18   29     9             nextdot  I
           21   29    10         nextSegment  Ljava/lang/String;
           23   27    11  wildcardDomainRule  Lorg/apache/http/conn/util/DomainType;
    MethodParameters:
              Name  Flags
      domain        final
      expectedType  final

  public boolean matches(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.http.conn.util.PublicSuffixMatcher this
        start local 1 // java.lang.String domain
         0: .line 186
            aload 0 /* this */
            aload 1 /* domain */
            aconst_null
            invokevirtual org.apache.http.conn.util.PublicSuffixMatcher.matches:(Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;)Z
            ireturn
        end local 1 // java.lang.String domain
        end local 0 // org.apache.http.conn.util.PublicSuffixMatcher this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/apache/http/conn/util/PublicSuffixMatcher;
            0    1     1  domain  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      domain  final

  public boolean matches(java.lang.String, org.apache.http.conn.util.DomainType);
    descriptor: (Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.apache.http.conn.util.PublicSuffixMatcher this
        start local 1 // java.lang.String domain
        start local 2 // org.apache.http.conn.util.DomainType expectedType
         0: .line 199
            aload 1 /* domain */
            ifnonnull 2
         1: .line 200
            iconst_0
            ireturn
         2: .line 202
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         3: .line 203
            aload 1 /* domain */
            ldc "."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 4
            aload 1 /* domain */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            goto 5
      StackMap locals:
      StackMap stack: org.apache.http.conn.util.PublicSuffixMatcher
         4: aload 1 /* domain */
      StackMap locals: org.apache.http.conn.util.PublicSuffixMatcher java.lang.String org.apache.http.conn.util.DomainType
      StackMap stack: org.apache.http.conn.util.PublicSuffixMatcher java.lang.String
         5: aload 2 /* expectedType */
         6: .line 202
            invokevirtual org.apache.http.conn.util.PublicSuffixMatcher.getDomainRoot:(Ljava/lang/String;Lorg/apache/http/conn/util/DomainType;)Ljava/lang/String;
            astore 3 /* domainRoot */
        start local 3 // java.lang.String domainRoot
         7: .line 204
            aload 3 /* domainRoot */
            ifnonnull 8
            iconst_1
            ireturn
      StackMap locals: java.lang.String
      StackMap stack:
         8: iconst_0
            ireturn
        end local 3 // java.lang.String domainRoot
        end local 2 // org.apache.http.conn.util.DomainType expectedType
        end local 1 // java.lang.String domain
        end local 0 // org.apache.http.conn.util.PublicSuffixMatcher this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lorg/apache/http/conn/util/PublicSuffixMatcher;
            0    9     1        domain  Ljava/lang/String;
            0    9     2  expectedType  Lorg/apache/http/conn/util/DomainType;
            7    9     3    domainRoot  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      domain        final
      expectedType  final
}
SourceFile: "PublicSuffixMatcher.java"
    RuntimeInvisibleAnnotations: 
      org.apache.http.annotation.Contract(threading = org.apache.http.annotation.ThreadingBehavior.SAFE:Lorg/apache/http/annotation/ThreadingBehavior;)