public final class sun.util.locale.LocaleMatcher
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: sun.util.locale.LocaleMatcher
  super_class: java.lang.Object
{
  public static java.util.List<java.util.Locale> filter(java.util.List<java.util.Locale$LanguageRange>, java.util.Collection<java.util.Locale>, java.util.Locale$FilteringMode);
    descriptor: (Ljava/util/List;Ljava/util/Collection;Ljava/util/Locale$FilteringMode;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // java.util.List priorityList
        start local 1 // java.util.Collection locales
        start local 2 // java.util.Locale$FilteringMode mode
         0: .line 51
            aload 0 /* priorityList */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 1
            aload 1 /* locales */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 2
         1: .line 52
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            areturn
         2: .line 56
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* tags */
        start local 3 // java.util.List tags
         3: .line 57
            aload 1 /* locales */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 6
      StackMap locals: java.util.List java.util.Collection java.util.Locale$FilteringMode java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Locale
            astore 4 /* locale */
        start local 4 // java.util.Locale locale
         5: .line 58
            aload 3 /* tags */
            aload 4 /* locale */
            invokevirtual java.util.Locale.toLanguageTag:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.util.Locale locale
         6: .line 57
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 62
            aload 0 /* priorityList */
            aload 3 /* tags */
            aload 2 /* mode */
            invokestatic sun.util.locale.LocaleMatcher.filterTags:(Ljava/util/List;Ljava/util/Collection;Ljava/util/Locale$FilteringMode;)Ljava/util/List;
            astore 4 /* filteredTags */
        start local 4 // java.util.List filteredTags
         8: .line 65
            new java.util.ArrayList
            dup
            aload 4 /* filteredTags */
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 5 /* filteredLocales */
        start local 5 // java.util.List filteredLocales
         9: .line 66
            aload 4 /* filteredTags */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 12
      StackMap locals: java.util.List java.util.Collection java.util.Locale$FilteringMode java.util.List java.util.List java.util.List top java.util.Iterator
      StackMap stack:
        10: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* tag */
        start local 6 // java.lang.String tag
        11: .line 67
            aload 5 /* filteredLocales */
            aload 6 /* tag */
            invokestatic java.util.Locale.forLanguageTag:(Ljava/lang/String;)Ljava/util/Locale;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.lang.String tag
        12: .line 66
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        13: .line 70
            aload 5 /* filteredLocales */
            areturn
        end local 5 // java.util.List filteredLocales
        end local 4 // java.util.List filteredTags
        end local 3 // java.util.List tags
        end local 2 // java.util.Locale$FilteringMode mode
        end local 1 // java.util.Collection locales
        end local 0 // java.util.List priorityList
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   14     0     priorityList  Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
            0   14     1          locales  Ljava/util/Collection<Ljava/util/Locale;>;
            0   14     2             mode  Ljava/util/Locale$FilteringMode;
            3   14     3             tags  Ljava/util/List<Ljava/lang/String;>;
            5    6     4           locale  Ljava/util/Locale;
            8   14     4     filteredTags  Ljava/util/List<Ljava/lang/String;>;
            9   14     5  filteredLocales  Ljava/util/List<Ljava/util/Locale;>;
           11   12     6              tag  Ljava/lang/String;
    Signature: (Ljava/util/List<Ljava/util/Locale$LanguageRange;>;Ljava/util/Collection<Ljava/util/Locale;>;Ljava/util/Locale$FilteringMode;)Ljava/util/List<Ljava/util/Locale;>;
    MethodParameters:
              Name  Flags
      priorityList  
      locales       
      mode          

  public static java.util.List<java.lang.String> filterTags(java.util.List<java.util.Locale$LanguageRange>, java.util.Collection<java.lang.String>, java.util.Locale$FilteringMode);
    descriptor: (Ljava/util/List;Ljava/util/Collection;Ljava/util/Locale$FilteringMode;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=3
        start local 0 // java.util.List priorityList
        start local 1 // java.util.Collection tags
        start local 2 // java.util.Locale$FilteringMode mode
         0: .line 76
            aload 0 /* priorityList */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 1
            aload 1 /* tags */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 2
         1: .line 77
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            areturn
         2: .line 81
      StackMap locals:
      StackMap stack:
            aload 2 /* mode */
            getstatic java.util.Locale$FilteringMode.EXTENDED_FILTERING:Ljava/util/Locale$FilteringMode;
            if_acmpne 4
         3: .line 82
            aload 0 /* priorityList */
            aload 1 /* tags */
            invokestatic sun.util.locale.LocaleMatcher.filterExtended:(Ljava/util/List;Ljava/util/Collection;)Ljava/util/List;
            areturn
         4: .line 84
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* list */
        start local 3 // java.util.ArrayList list
         5: .line 85
            aload 0 /* priorityList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 25
      StackMap locals: java.util.List java.util.Collection java.util.Locale$FilteringMode java.util.ArrayList top java.util.Iterator
      StackMap stack:
         6: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Locale$LanguageRange
            astore 4 /* lr */
        start local 4 // java.util.Locale$LanguageRange lr
         7: .line 86
            aload 4 /* lr */
            invokevirtual java.util.Locale$LanguageRange.getRange:()Ljava/lang/String;
            astore 6 /* range */
        start local 6 // java.lang.String range
         8: .line 87
            aload 6 /* range */
            ldc "*-"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 10
         9: .line 88
            aload 6 /* range */
            ldc "-*"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_m1
            if_icmpeq 24
        10: .line 89
      StackMap locals: java.util.List java.util.Collection java.util.Locale$FilteringMode java.util.ArrayList java.util.Locale$LanguageRange java.util.Iterator java.lang.String
      StackMap stack:
            aload 2 /* mode */
            getstatic java.util.Locale$FilteringMode.AUTOSELECT_FILTERING:Ljava/util/Locale$FilteringMode;
            if_acmpne 12
        11: .line 90
            aload 0 /* priorityList */
            aload 1 /* tags */
            invokestatic sun.util.locale.LocaleMatcher.filterExtended:(Ljava/util/List;Ljava/util/Collection;)Ljava/util/List;
            areturn
        12: .line 91
      StackMap locals:
      StackMap stack:
            aload 2 /* mode */
            getstatic java.util.Locale$FilteringMode.MAP_EXTENDED_RANGES:Ljava/util/Locale$FilteringMode;
            if_acmpne 19
        13: .line 92
            aload 6 /* range */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 42
            if_icmpne 16
        14: .line 93
            ldc "*"
            astore 6 /* range */
        15: .line 94
            goto 17
        16: .line 95
      StackMap locals:
      StackMap stack:
            aload 6 /* range */
            ldc "-[*]"
            ldc ""
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* range */
        17: .line 97
      StackMap locals:
      StackMap stack:
            aload 3 /* list */
            new java.util.Locale$LanguageRange
            dup
            aload 6 /* range */
            aload 4 /* lr */
            invokevirtual java.util.Locale$LanguageRange.getWeight:()D
            invokespecial java.util.Locale$LanguageRange.<init>:(Ljava/lang/String;D)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        18: .line 98
            goto 25
      StackMap locals:
      StackMap stack:
        19: aload 2 /* mode */
            getstatic java.util.Locale$FilteringMode.REJECT_EXTENDED_RANGES:Ljava/util/Locale$FilteringMode;
            if_acmpne 25
        20: .line 99
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "An extended range \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        21: .line 100
            aload 6 /* range */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        22: .line 101
            ldc "\" found in REJECT_EXTENDED_RANGES mode."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        23: .line 99
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        24: .line 104
      StackMap locals:
      StackMap stack:
            aload 3 /* list */
            aload 4 /* lr */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.lang.String range
        end local 4 // java.util.Locale$LanguageRange lr
        25: .line 85
      StackMap locals: java.util.List java.util.Collection java.util.Locale$FilteringMode java.util.ArrayList top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        26: .line 108
            aload 3 /* list */
            aload 1 /* tags */
            invokestatic sun.util.locale.LocaleMatcher.filterBasic:(Ljava/util/List;Ljava/util/Collection;)Ljava/util/List;
            areturn
        end local 3 // java.util.ArrayList list
        end local 2 // java.util.Locale$FilteringMode mode
        end local 1 // java.util.Collection tags
        end local 0 // java.util.List priorityList
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   27     0  priorityList  Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
            0   27     1          tags  Ljava/util/Collection<Ljava/lang/String;>;
            0   27     2          mode  Ljava/util/Locale$FilteringMode;
            5   27     3          list  Ljava/util/ArrayList<Ljava/util/Locale$LanguageRange;>;
            7   25     4            lr  Ljava/util/Locale$LanguageRange;
            8   25     6         range  Ljava/lang/String;
    Signature: (Ljava/util/List<Ljava/util/Locale$LanguageRange;>;Ljava/util/Collection<Ljava/lang/String;>;Ljava/util/Locale$FilteringMode;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
              Name  Flags
      priorityList  
      tags          
      mode          

  private static java.util.List<java.lang.String> filterBasic(java.util.List<java.util.Locale$LanguageRange>, java.util.Collection<java.lang.String>);
    descriptor: (Ljava/util/List;Ljava/util/Collection;)Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=9, args_size=2
        start local 0 // java.util.List priorityList
        start local 1 // java.util.Collection tags
         0: .line 114
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* list */
        start local 2 // java.util.List list
         1: .line 115
            aload 0 /* priorityList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 15
      StackMap locals: java.util.List java.util.Collection java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Locale$LanguageRange
            astore 3 /* lr */
        start local 3 // java.util.Locale$LanguageRange lr
         3: .line 116
            aload 3 /* lr */
            invokevirtual java.util.Locale$LanguageRange.getRange:()Ljava/lang/String;
            astore 5 /* range */
        start local 5 // java.lang.String range
         4: .line 117
            aload 5 /* range */
            ldc "*"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 118
            new java.util.ArrayList
            dup
            aload 1 /* tags */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            areturn
         6: .line 120
      StackMap locals: java.util.List java.util.Collection java.util.List java.util.Locale$LanguageRange java.util.Iterator java.lang.String
      StackMap stack:
            aload 1 /* tags */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7
            goto 14
      StackMap locals: java.util.List java.util.Collection java.util.List java.util.Locale$LanguageRange java.util.Iterator java.lang.String top java.util.Iterator
      StackMap stack:
         7: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* tag */
        start local 6 // java.lang.String tag
         8: .line 121
            aload 6 /* tag */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            astore 6 /* tag */
         9: .line 122
            aload 6 /* tag */
            aload 5 /* range */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 14
        10: .line 123
            aload 5 /* range */
            invokevirtual java.lang.String.length:()I
            istore 8 /* len */
        start local 8 // int len
        11: .line 124
            aload 6 /* tag */
            invokevirtual java.lang.String.length:()I
            iload 8 /* len */
            if_icmpeq 12
            aload 6 /* tag */
            iload 8 /* len */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 45
            if_icmpne 14
        12: .line 125
      StackMap locals: java.util.List java.util.Collection java.util.List java.util.Locale$LanguageRange java.util.Iterator java.lang.String java.lang.String java.util.Iterator int
      StackMap stack:
            aload 2 /* list */
            aload 6 /* tag */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 14
        13: .line 126
            aload 2 /* list */
            aload 6 /* tag */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // int len
        end local 6 // java.lang.String tag
        14: .line 120
      StackMap locals: java.util.List java.util.Collection java.util.List java.util.Locale$LanguageRange java.util.Iterator java.lang.String top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        end local 5 // java.lang.String range
        end local 3 // java.util.Locale$LanguageRange lr
        15: .line 115
      StackMap locals: java.util.List java.util.Collection java.util.List top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        16: .line 133
            aload 2 /* list */
            areturn
        end local 2 // java.util.List list
        end local 1 // java.util.Collection tags
        end local 0 // java.util.List priorityList
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0  priorityList  Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
            0   17     1          tags  Ljava/util/Collection<Ljava/lang/String;>;
            1   17     2          list  Ljava/util/List<Ljava/lang/String;>;
            3   15     3            lr  Ljava/util/Locale$LanguageRange;
            4   15     5         range  Ljava/lang/String;
            8   14     6           tag  Ljava/lang/String;
           11   14     8           len  I
    Signature: (Ljava/util/List<Ljava/util/Locale$LanguageRange;>;Ljava/util/Collection<Ljava/lang/String;>;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
              Name  Flags
      priorityList  
      tags          

  private static java.util.List<java.lang.String> filterExtended(java.util.List<java.util.Locale$LanguageRange>, java.util.Collection<java.lang.String>);
    descriptor: (Ljava/util/List;Ljava/util/Collection;)Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=12, args_size=2
        start local 0 // java.util.List priorityList
        start local 1 // java.util.Collection tags
         0: .line 138
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* list */
        start local 2 // java.util.List list
         1: .line 139
            aload 0 /* priorityList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 34
      StackMap locals: java.util.List java.util.Collection java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Locale$LanguageRange
            astore 3 /* lr */
        start local 3 // java.util.Locale$LanguageRange lr
         3: .line 140
            aload 3 /* lr */
            invokevirtual java.util.Locale$LanguageRange.getRange:()Ljava/lang/String;
            astore 5 /* range */
        start local 5 // java.lang.String range
         4: .line 141
            aload 5 /* range */
            ldc "*"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 142
            new java.util.ArrayList
            dup
            aload 1 /* tags */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            areturn
         6: .line 144
      StackMap locals: java.util.List java.util.Collection java.util.List java.util.Locale$LanguageRange java.util.Iterator java.lang.String
      StackMap stack:
            aload 5 /* range */
            ldc "-"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 6 /* rangeSubtags */
        start local 6 // java.lang.String[] rangeSubtags
         7: .line 145
            aload 1 /* tags */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 8
            goto 33
      StackMap locals: java.util.List java.util.Collection java.util.List java.util.Locale$LanguageRange java.util.Iterator java.lang.String java.lang.String[] top java.util.Iterator
      StackMap stack:
         8: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* tag */
        start local 7 // java.lang.String tag
         9: .line 146
            aload 7 /* tag */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            astore 7 /* tag */
        10: .line 147
            aload 7 /* tag */
            ldc "-"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 9 /* tagSubtags */
        start local 9 // java.lang.String[] tagSubtags
        11: .line 148
            aload 6 /* rangeSubtags */
            iconst_0
            aaload
            aload 9 /* tagSubtags */
            iconst_0
            aaload
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 14
        12: .line 149
            aload 6 /* rangeSubtags */
            iconst_0
            aaload
            ldc "*"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 14
        13: .line 150
            goto 33
        14: .line 153
      StackMap locals: java.util.List java.util.Collection java.util.List java.util.Locale$LanguageRange java.util.Iterator java.lang.String java.lang.String[] java.lang.String java.util.Iterator java.lang.String[]
      StackMap stack:
            iconst_1
            istore 10 /* rangeIndex */
        start local 10 // int rangeIndex
        15: .line 154
            iconst_1
            istore 11 /* tagIndex */
        start local 11 // int tagIndex
        16: .line 156
            goto 28
        17: .line 158
      StackMap locals: int int
      StackMap stack:
            aload 6 /* rangeSubtags */
            iload 10 /* rangeIndex */
            aaload
            ldc "*"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 20
        18: .line 159
            iinc 10 /* rangeIndex */ 1
        19: .line 160
            goto 28
      StackMap locals:
      StackMap stack:
        20: aload 6 /* rangeSubtags */
            iload 10 /* rangeIndex */
            aaload
            aload 9 /* tagSubtags */
            iload 11 /* tagIndex */
            aaload
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 24
        21: .line 161
            iinc 10 /* rangeIndex */ 1
        22: .line 162
            iinc 11 /* tagIndex */ 1
        23: .line 163
            goto 28
      StackMap locals:
      StackMap stack:
        24: aload 9 /* tagSubtags */
            iload 11 /* tagIndex */
            aaload
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 27
        25: .line 164
            aload 9 /* tagSubtags */
            iload 11 /* tagIndex */
            aaload
            ldc "*"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 27
        26: .line 165
            goto 31
        27: .line 167
      StackMap locals:
      StackMap stack:
            iinc 11 /* tagIndex */ 1
        28: .line 156
      StackMap locals:
      StackMap stack:
            iload 10 /* rangeIndex */
            aload 6 /* rangeSubtags */
            arraylength
            if_icmpge 31
        29: .line 157
            iload 11 /* tagIndex */
            aload 9 /* tagSubtags */
            arraylength
        30: .line 156
            if_icmplt 17
        31: .line 171
      StackMap locals:
      StackMap stack:
            aload 6 /* rangeSubtags */
            arraylength
            iload 10 /* rangeIndex */
            if_icmpne 33
            aload 2 /* list */
            aload 7 /* tag */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 33
        32: .line 172
            aload 2 /* list */
            aload 7 /* tag */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // int tagIndex
        end local 10 // int rangeIndex
        end local 9 // java.lang.String[] tagSubtags
        end local 7 // java.lang.String tag
        33: .line 145
      StackMap locals: java.util.List java.util.Collection java.util.List java.util.Locale$LanguageRange java.util.Iterator java.lang.String java.lang.String[] top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        end local 6 // java.lang.String[] rangeSubtags
        end local 5 // java.lang.String range
        end local 3 // java.util.Locale$LanguageRange lr
        34: .line 139
      StackMap locals: java.util.List java.util.Collection java.util.List top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        35: .line 177
            aload 2 /* list */
            areturn
        end local 2 // java.util.List list
        end local 1 // java.util.Collection tags
        end local 0 // java.util.List priorityList
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   36     0  priorityList  Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
            0   36     1          tags  Ljava/util/Collection<Ljava/lang/String;>;
            1   36     2          list  Ljava/util/List<Ljava/lang/String;>;
            3   34     3            lr  Ljava/util/Locale$LanguageRange;
            4   34     5         range  Ljava/lang/String;
            7   34     6  rangeSubtags  [Ljava/lang/String;
            9   33     7           tag  Ljava/lang/String;
           11   33     9    tagSubtags  [Ljava/lang/String;
           15   33    10    rangeIndex  I
           16   33    11      tagIndex  I
    Signature: (Ljava/util/List<Ljava/util/Locale$LanguageRange;>;Ljava/util/Collection<Ljava/lang/String;>;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
              Name  Flags
      priorityList  
      tags          

  public static java.util.Locale lookup(java.util.List<java.util.Locale$LanguageRange>, java.util.Collection<java.util.Locale>);
    descriptor: (Ljava/util/List;Ljava/util/Collection;)Ljava/util/Locale;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // java.util.List priorityList
        start local 1 // java.util.Collection locales
         0: .line 182
            aload 0 /* priorityList */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 1
            aload 1 /* locales */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 2
         1: .line 183
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 187
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* tags */
        start local 2 // java.util.List tags
         3: .line 188
            aload 1 /* locales */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: java.util.List java.util.Collection java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Locale
            astore 3 /* locale */
        start local 3 // java.util.Locale locale
         5: .line 189
            aload 2 /* tags */
            aload 3 /* locale */
            invokevirtual java.util.Locale.toLanguageTag:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.util.Locale locale
         6: .line 188
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 193
            aload 0 /* priorityList */
            aload 2 /* tags */
            invokestatic sun.util.locale.LocaleMatcher.lookupTag:(Ljava/util/List;Ljava/util/Collection;)Ljava/lang/String;
            astore 3 /* lookedUpTag */
        start local 3 // java.lang.String lookedUpTag
         8: .line 195
            aload 3 /* lookedUpTag */
            ifnonnull 10
         9: .line 196
            aconst_null
            areturn
        10: .line 198
      StackMap locals: java.util.List java.util.Collection java.util.List java.lang.String
      StackMap stack:
            aload 3 /* lookedUpTag */
            invokestatic java.util.Locale.forLanguageTag:(Ljava/lang/String;)Ljava/util/Locale;
            areturn
        end local 3 // java.lang.String lookedUpTag
        end local 2 // java.util.List tags
        end local 1 // java.util.Collection locales
        end local 0 // java.util.List priorityList
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0  priorityList  Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
            0   11     1       locales  Ljava/util/Collection<Ljava/util/Locale;>;
            3   11     2          tags  Ljava/util/List<Ljava/lang/String;>;
            5    6     3        locale  Ljava/util/Locale;
            8   11     3   lookedUpTag  Ljava/lang/String;
    Signature: (Ljava/util/List<Ljava/util/Locale$LanguageRange;>;Ljava/util/Collection<Ljava/util/Locale;>;)Ljava/util/Locale;
    MethodParameters:
              Name  Flags
      priorityList  
      locales       

  public static java.lang.String lookupTag(java.util.List<java.util.Locale$LanguageRange>, java.util.Collection<java.lang.String>);
    descriptor: (Ljava/util/List;Ljava/util/Collection;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // java.util.List priorityList
        start local 1 // java.util.Collection tags
         0: .line 204
            aload 0 /* priorityList */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 1
            aload 1 /* tags */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 2
         1: .line 205
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 208
      StackMap locals:
      StackMap stack:
            aload 0 /* priorityList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 24
      StackMap locals: java.util.List java.util.Collection top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Locale$LanguageRange
            astore 2 /* lr */
        start local 2 // java.util.Locale$LanguageRange lr
         4: .line 209
            aload 2 /* lr */
            invokevirtual java.util.Locale$LanguageRange.getRange:()Ljava/lang/String;
            astore 4 /* range */
        start local 4 // java.lang.String range
         5: .line 212
            aload 4 /* range */
            ldc "*"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 213
            goto 24
         7: .line 216
      StackMap locals: java.util.List java.util.Collection java.util.Locale$LanguageRange java.util.Iterator java.lang.String
      StackMap stack:
            aload 4 /* range */
            ldc "\\x2A"
            ldc "\\\\p{Alnum}*"
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* rangeForRegex */
        start local 5 // java.lang.String rangeForRegex
         8: .line 217
            goto 23
         9: .line 218
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* tags */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7
            goto 14
      StackMap locals: java.util.List java.util.Collection java.util.Locale$LanguageRange java.util.Iterator java.lang.String java.lang.String top java.util.Iterator
      StackMap stack:
        10: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* tag */
        start local 6 // java.lang.String tag
        11: .line 219
            aload 6 /* tag */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            astore 6 /* tag */
        12: .line 220
            aload 6 /* tag */
            aload 5 /* rangeForRegex */
            invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
            ifeq 14
        13: .line 221
            aload 6 /* tag */
            areturn
        end local 6 // java.lang.String tag
        14: .line 218
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        15: .line 226
            aload 5 /* rangeForRegex */
            bipush 45
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 6 /* index */
        start local 6 // int index
        16: .line 227
            iload 6 /* index */
            iflt 22
        17: .line 228
            aload 5 /* rangeForRegex */
            iconst_0
            iload 6 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 5 /* rangeForRegex */
        18: .line 231
            aload 5 /* rangeForRegex */
            bipush 45
            invokevirtual java.lang.String.lastIndexOf:(I)I
            aload 5 /* rangeForRegex */
            invokevirtual java.lang.String.length:()I
            iconst_2
            isub
            if_icmpne 23
        19: .line 233
            aload 5 /* rangeForRegex */
            iconst_0
            aload 5 /* rangeForRegex */
            invokevirtual java.lang.String.length:()I
            iconst_2
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
        20: .line 232
            astore 5 /* rangeForRegex */
        21: .line 235
            goto 23
        22: .line 236
      StackMap locals: java.util.List java.util.Collection java.util.Locale$LanguageRange java.util.Iterator java.lang.String java.lang.String int
      StackMap stack:
            ldc ""
            astore 5 /* rangeForRegex */
        end local 6 // int index
        23: .line 217
      StackMap locals:
      StackMap stack:
            aload 5 /* rangeForRegex */
            invokevirtual java.lang.String.length:()I
            ifgt 9
        end local 5 // java.lang.String rangeForRegex
        end local 4 // java.lang.String range
        end local 2 // java.util.Locale$LanguageRange lr
        24: .line 208
      StackMap locals: java.util.List java.util.Collection top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        25: .line 241
            aconst_null
            areturn
        end local 1 // java.util.Collection tags
        end local 0 // java.util.List priorityList
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   26     0   priorityList  Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
            0   26     1           tags  Ljava/util/Collection<Ljava/lang/String;>;
            4   24     2             lr  Ljava/util/Locale$LanguageRange;
            5   24     4          range  Ljava/lang/String;
            8   24     5  rangeForRegex  Ljava/lang/String;
           11   14     6            tag  Ljava/lang/String;
           16   23     6          index  I
    Signature: (Ljava/util/List<Ljava/util/Locale$LanguageRange;>;Ljava/util/Collection<Ljava/lang/String;>;)Ljava/lang/String;
    MethodParameters:
              Name  Flags
      priorityList  
      tags          

  public static java.util.List<java.util.Locale$LanguageRange> parse(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=20, args_size=1
        start local 0 // java.lang.String ranges
         0: .line 245
            aload 0 /* ranges */
            ldc " "
            ldc ""
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            astore 0 /* ranges */
         1: .line 246
            aload 0 /* ranges */
            ldc "accept-language:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 247
            aload 0 /* ranges */
            bipush 16
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 0 /* ranges */
         3: .line 250
      StackMap locals:
      StackMap stack:
            aload 0 /* ranges */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 1 /* langRanges */
        start local 1 // java.lang.String[] langRanges
         4: .line 251
            new java.util.ArrayList
            dup
            aload 1 /* langRanges */
            arraylength
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* list */
        start local 2 // java.util.List list
         5: .line 252
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* tempList */
        start local 3 // java.util.List tempList
         6: .line 253
            iconst_0
            istore 4 /* numOfRanges */
        start local 4 // int numOfRanges
         7: .line 255
            aload 1 /* langRanges */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 65
      StackMap locals: java.lang.String java.lang.String[] java.util.List java.util.List int top int int java.lang.String[]
      StackMap stack:
         8: aload 8
            iload 6
            aaload
            astore 5 /* range */
        start local 5 // java.lang.String range
         9: .line 260
            aload 5 /* range */
            ldc ";q="
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            dup
            istore 9 /* index */
        start local 9 // int index
        10: iconst_m1
            if_icmpne 14
        11: .line 261
            aload 5 /* range */
            astore 10 /* r */
        start local 10 // java.lang.String r
        12: .line 262
            dconst_1
            dstore 11 /* w */
        start local 11 // double w
        13: .line 263
            goto 29
        end local 11 // double w
        end local 10 // java.lang.String r
        14: .line 264
      StackMap locals: java.lang.String java.lang.String[] java.util.List java.util.List int java.lang.String int int java.lang.String[] int
      StackMap stack:
            aload 5 /* range */
            iconst_0
            iload 9 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 10 /* r */
        start local 10 // java.lang.String r
        15: .line 265
            iinc 9 /* index */ 3
        16: .line 267
            aload 5 /* range */
            iload 9 /* index */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
            dstore 11 /* w */
        start local 11 // double w
        17: .line 268
            goto 23
        end local 11 // double w
        18: .line 269
      StackMap locals: java.lang.String java.lang.String[] java.util.List java.util.List int java.lang.String int int java.lang.String[] int java.lang.String
      StackMap stack: java.lang.Exception
            pop
        19: .line 270
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "weight=\""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        20: .line 271
            aload 5 /* range */
            iload 9 /* index */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        21: .line 272
            ldc "\" for language range \""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 10 /* r */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 270
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        start local 11 // double w
        23: .line 275
      StackMap locals: double
      StackMap stack:
            dload 11 /* w */
            dconst_0
            dcmpg
            iflt 24
            dload 11 /* w */
            dconst_1
            dcmpl
            ifle 29
        24: .line 276
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "weight="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            dload 11 /* w */
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
        25: .line 277
            ldc " for language range \""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 10 /* r */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        26: .line 278
            ldc "\". It must be between "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            dconst_0
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
        27: .line 279
            ldc " and "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            dconst_1
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        28: .line 276
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        29: .line 283
      StackMap locals:
      StackMap stack:
            aload 3 /* tempList */
            aload 10 /* r */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 64
        30: .line 284
            new java.util.Locale$LanguageRange
            dup
            aload 10 /* r */
            dload 11 /* w */
            invokespecial java.util.Locale$LanguageRange.<init>:(Ljava/lang/String;D)V
            astore 13 /* lr */
        start local 13 // java.util.Locale$LanguageRange lr
        31: .line 285
            iload 4 /* numOfRanges */
            istore 9 /* index */
        32: .line 286
            iconst_0
            istore 14 /* j */
        start local 14 // int j
        33: goto 38
        34: .line 287
      StackMap locals: java.util.Locale$LanguageRange int
      StackMap stack:
            aload 2 /* list */
            iload 14 /* j */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.util.Locale$LanguageRange
            invokevirtual java.util.Locale$LanguageRange.getWeight:()D
            dload 11 /* w */
            dcmpg
            ifge 37
        35: .line 288
            iload 14 /* j */
            istore 9 /* index */
        36: .line 289
            goto 39
        37: .line 286
      StackMap locals:
      StackMap stack:
            iinc 14 /* j */ 1
      StackMap locals:
      StackMap stack:
        38: iload 14 /* j */
            iload 4 /* numOfRanges */
            if_icmplt 34
        end local 14 // int j
        39: .line 292
      StackMap locals:
      StackMap stack:
            aload 2 /* list */
            iload 9 /* index */
            aload 13 /* lr */
            invokeinterface java.util.List.add:(ILjava/lang/Object;)V
        40: .line 293
            iinc 4 /* numOfRanges */ 1
        41: .line 294
            aload 3 /* tempList */
            aload 10 /* r */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        42: .line 301
            aload 10 /* r */
            invokestatic sun.util.locale.LocaleMatcher.getEquivalentForRegionAndVariant:(Ljava/lang/String;)Ljava/lang/String;
            dup
            astore 14 /* equivalent */
        start local 14 // java.lang.String equivalent
        43: ifnull 48
        44: .line 302
            aload 3 /* tempList */
            aload 14 /* equivalent */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 48
        45: .line 303
            aload 2 /* list */
            iload 9 /* index */
            iconst_1
            iadd
            new java.util.Locale$LanguageRange
            dup
            aload 14 /* equivalent */
            dload 11 /* w */
            invokespecial java.util.Locale$LanguageRange.<init>:(Ljava/lang/String;D)V
            invokeinterface java.util.List.add:(ILjava/lang/Object;)V
        46: .line 304
            iinc 4 /* numOfRanges */ 1
        47: .line 305
            aload 3 /* tempList */
            aload 14 /* equivalent */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        48: .line 309
      StackMap locals: java.lang.String
      StackMap stack:
            aload 10 /* r */
            invokestatic sun.util.locale.LocaleMatcher.getEquivalentsForLanguage:(Ljava/lang/String;)[Ljava/lang/String;
            dup
            astore 15 /* equivalents */
        start local 15 // java.lang.String[] equivalents
        49: ifnull 64
        50: .line 310
            aload 15 /* equivalents */
            dup
            astore 19
            arraylength
            istore 18
            iconst_0
            istore 17
            goto 63
      StackMap locals: java.lang.String java.lang.String[] java.util.List java.util.List int java.lang.String int int java.lang.String[] int java.lang.String double java.util.Locale$LanguageRange java.lang.String java.lang.String[] top int int java.lang.String[]
      StackMap stack:
        51: aload 19
            iload 17
            aaload
            astore 16 /* equiv */
        start local 16 // java.lang.String equiv
        52: .line 312
            aload 3 /* tempList */
            aload 16 /* equiv */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 56
        53: .line 313
            aload 2 /* list */
            iload 9 /* index */
            iconst_1
            iadd
            new java.util.Locale$LanguageRange
            dup
            aload 16 /* equiv */
            dload 11 /* w */
            invokespecial java.util.Locale$LanguageRange.<init>:(Ljava/lang/String;D)V
            invokeinterface java.util.List.add:(ILjava/lang/Object;)V
        54: .line 314
            iinc 4 /* numOfRanges */ 1
        55: .line 315
            aload 3 /* tempList */
            aload 16 /* equiv */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        56: .line 319
      StackMap locals: java.lang.String java.lang.String[] java.util.List java.util.List int java.lang.String int int java.lang.String[] int java.lang.String double java.util.Locale$LanguageRange java.lang.String java.lang.String[] java.lang.String int int java.lang.String[]
      StackMap stack:
            aload 16 /* equiv */
            invokestatic sun.util.locale.LocaleMatcher.getEquivalentForRegionAndVariant:(Ljava/lang/String;)Ljava/lang/String;
            astore 14 /* equivalent */
        57: .line 320
            aload 14 /* equivalent */
            ifnull 62
        58: .line 321
            aload 3 /* tempList */
            aload 14 /* equivalent */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 62
        59: .line 322
            aload 2 /* list */
            iload 9 /* index */
            iconst_1
            iadd
            new java.util.Locale$LanguageRange
            dup
            aload 14 /* equivalent */
            dload 11 /* w */
            invokespecial java.util.Locale$LanguageRange.<init>:(Ljava/lang/String;D)V
            invokeinterface java.util.List.add:(ILjava/lang/Object;)V
        60: .line 323
            iinc 4 /* numOfRanges */ 1
        61: .line 324
            aload 3 /* tempList */
            aload 14 /* equivalent */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 16 // java.lang.String equiv
        62: .line 310
      StackMap locals: java.lang.String java.lang.String[] java.util.List java.util.List int java.lang.String int int java.lang.String[] int java.lang.String double java.util.Locale$LanguageRange java.lang.String java.lang.String[] top int int java.lang.String[]
      StackMap stack:
            iinc 17 1
      StackMap locals:
      StackMap stack:
        63: iload 17
            iload 18
            if_icmplt 51
        end local 15 // java.lang.String[] equivalents
        end local 14 // java.lang.String equivalent
        end local 13 // java.util.Locale$LanguageRange lr
        end local 11 // double w
        end local 10 // java.lang.String r
        end local 9 // int index
        end local 5 // java.lang.String range
        64: .line 255
      StackMap locals: java.lang.String java.lang.String[] java.util.List java.util.List int top int int java.lang.String[]
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        65: iload 6
            iload 7
            if_icmplt 8
        66: .line 331
            aload 2 /* list */
            areturn
        end local 4 // int numOfRanges
        end local 3 // java.util.List tempList
        end local 2 // java.util.List list
        end local 1 // java.lang.String[] langRanges
        end local 0 // java.lang.String ranges
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   67     0       ranges  Ljava/lang/String;
            4   67     1   langRanges  [Ljava/lang/String;
            5   67     2         list  Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
            6   67     3     tempList  Ljava/util/List<Ljava/lang/String;>;
            7   67     4  numOfRanges  I
            9   64     5        range  Ljava/lang/String;
           10   64     9        index  I
           12   14    10            r  Ljava/lang/String;
           15   64    10            r  Ljava/lang/String;
           13   14    11            w  D
           17   18    11            w  D
           23   64    11            w  D
           31   64    13           lr  Ljava/util/Locale$LanguageRange;
           33   39    14            j  I
           43   64    14   equivalent  Ljava/lang/String;
           49   64    15  equivalents  [Ljava/lang/String;
           52   62    16        equiv  Ljava/lang/String;
      Exception table:
        from    to  target  type
          16    17      18  Class java.lang.Exception
    Signature: (Ljava/lang/String;)Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
    MethodParameters:
        Name  Flags
      ranges  

  private static java.lang.String[] getEquivalentsForLanguage(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // java.lang.String range
         0: .line 335
            aload 0 /* range */
            astore 1 /* r */
        start local 1 // java.lang.String r
         1: .line 337
            goto 17
         2: .line 338
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic sun.util.locale.LocaleEquivalentMaps.singleEquivMap:Ljava/util/Map;
            aload 1 /* r */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 5
         3: .line 339
            getstatic sun.util.locale.LocaleEquivalentMaps.singleEquivMap:Ljava/util/Map;
            aload 1 /* r */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* equiv */
        start local 2 // java.lang.String equiv
         4: .line 342
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* range */
            aload 1 /* r */
            aload 2 /* equiv */
            invokevirtual java.lang.String.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            aastore
            areturn
        end local 2 // java.lang.String equiv
         5: .line 343
      StackMap locals:
      StackMap stack:
            getstatic sun.util.locale.LocaleEquivalentMaps.multiEquivsMap:Ljava/util/Map;
            aload 1 /* r */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 13
         6: .line 344
            getstatic sun.util.locale.LocaleEquivalentMaps.multiEquivsMap:Ljava/util/Map;
            aload 1 /* r */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 2 /* equivs */
        start local 2 // java.lang.String[] equivs
         7: .line 345
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: goto 11
         9: .line 346
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 2 /* equivs */
            iload 3 /* i */
            aload 0 /* range */
            aload 1 /* r */
            aload 2 /* equivs */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.String.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            aastore
        10: .line 345
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 3 /* i */
            aload 2 /* equivs */
            arraylength
            if_icmplt 9
        end local 3 // int i
        12: .line 348
            aload 2 /* equivs */
            areturn
        end local 2 // java.lang.String[] equivs
        13: .line 352
      StackMap locals:
      StackMap stack:
            aload 1 /* r */
            bipush 45
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 2 /* index */
        start local 2 // int index
        14: .line 353
            iload 2 /* index */
            iconst_m1
            if_icmpne 16
        15: .line 354
            goto 18
        16: .line 356
      StackMap locals: int
      StackMap stack:
            aload 1 /* r */
            iconst_0
            iload 2 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* r */
        end local 2 // int index
        17: .line 337
      StackMap locals:
      StackMap stack:
            aload 1 /* r */
            invokevirtual java.lang.String.length:()I
            ifgt 2
        18: .line 359
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.String r
        end local 0 // java.lang.String range
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   19     0   range  Ljava/lang/String;
            1   19     1       r  Ljava/lang/String;
            4    5     2   equiv  Ljava/lang/String;
            7   13     2  equivs  [Ljava/lang/String;
            8   12     3       i  I
           14   17     2   index  I
    MethodParameters:
       Name  Flags
      range  

  private static java.lang.String getEquivalentForRegionAndVariant(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // java.lang.String range
         0: .line 363
            aload 0 /* range */
            invokestatic sun.util.locale.LocaleMatcher.getExtentionKeyIndex:(Ljava/lang/String;)I
            istore 1 /* extensionKeyIndex */
        start local 1 // int extensionKeyIndex
         1: .line 365
            getstatic sun.util.locale.LocaleEquivalentMaps.regionVariantEquivMap:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 11
      StackMap locals: java.lang.String int top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* subtag */
        start local 2 // java.lang.String subtag
         3: .line 367
            aload 0 /* range */
            aload 2 /* subtag */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            dup
            istore 4 /* index */
        start local 4 // int index
         4: iconst_m1
            if_icmpeq 11
         5: .line 369
            iload 1 /* extensionKeyIndex */
            ldc -2147483648
            if_icmpeq 8
         6: .line 370
            iload 4 /* index */
            iload 1 /* extensionKeyIndex */
            if_icmple 8
         7: .line 371
            goto 11
         8: .line 374
      StackMap locals: java.lang.String int java.lang.String java.util.Iterator int
      StackMap stack:
            iload 4 /* index */
            aload 2 /* subtag */
            invokevirtual java.lang.String.length:()I
            iadd
            istore 5 /* len */
        start local 5 // int len
         9: .line 375
            aload 0 /* range */
            invokevirtual java.lang.String.length:()I
            iload 5 /* len */
            if_icmpeq 10
            aload 0 /* range */
            iload 5 /* len */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 45
            if_icmpne 11
        10: .line 376
      StackMap locals: int
      StackMap stack:
            aload 0 /* range */
            aload 2 /* subtag */
            getstatic sun.util.locale.LocaleEquivalentMaps.regionVariantEquivMap:Ljava/util/Map;
            aload 2 /* subtag */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.String.replaceFirst:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 5 // int len
        end local 4 // int index
        end local 2 // java.lang.String subtag
        11: .line 365
      StackMap locals: java.lang.String int top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        12: .line 381
            aconst_null
            areturn
        end local 1 // int extensionKeyIndex
        end local 0 // java.lang.String range
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   13     0              range  Ljava/lang/String;
            1   13     1  extensionKeyIndex  I
            3   11     2             subtag  Ljava/lang/String;
            4   11     4              index  I
            9   11     5                len  I
    MethodParameters:
       Name  Flags
      range  

  private static int getExtentionKeyIndex(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // java.lang.String s
         0: .line 385
            aload 0 /* s */
            invokevirtual java.lang.String.toCharArray:()[C
            astore 1 /* c */
        start local 1 // char[] c
         1: .line 386
            ldc -2147483648
            istore 2 /* index */
        start local 2 // int index
         2: .line 387
            iconst_1
            istore 3 /* i */
        start local 3 // int i
         3: goto 9
         4: .line 388
      StackMap locals: char[] int int
      StackMap stack:
            aload 1 /* c */
            iload 3 /* i */
            caload
            bipush 45
            if_icmpne 8
         5: .line 389
            iload 3 /* i */
            iload 2 /* index */
            isub
            iconst_2
            if_icmpne 7
         6: .line 390
            iload 2 /* index */
            ireturn
         7: .line 392
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            istore 2 /* index */
         8: .line 387
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            aload 1 /* c */
            arraylength
            if_icmplt 4
        end local 3 // int i
        10: .line 396
            ldc -2147483648
            ireturn
        end local 2 // int index
        end local 1 // char[] c
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0      s  Ljava/lang/String;
            1   11     1      c  [C
            2   11     2  index  I
            3   10     3      i  I
    MethodParameters:
      Name  Flags
      s     

  public static java.util.List<java.util.Locale$LanguageRange> mapEquivalents(java.util.List<java.util.Locale$LanguageRange>, java.util.Map<java.lang.String, java.util.List<java.lang.String>>);
    descriptor: (Ljava/util/List;Ljava/util/Map;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=13, args_size=2
        start local 0 // java.util.List priorityList
        start local 1 // java.util.Map map
         0: .line 402
            aload 0 /* priorityList */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 2
         1: .line 403
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            areturn
         2: .line 405
      StackMap locals:
      StackMap stack:
            aload 1 /* map */
            ifnull 3
            aload 1 /* map */
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 4
         3: .line 406
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            aload 0 /* priorityList */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            areturn
         4: .line 410
      StackMap locals:
      StackMap stack:
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* keyMap */
        start local 2 // java.util.Map keyMap
         5: .line 411
            aload 1 /* map */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals: java.util.List java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
         6: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* key */
        start local 3 // java.lang.String key
         7: .line 412
            aload 2 /* keyMap */
            aload 3 /* key */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            aload 3 /* key */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // java.lang.String key
         8: .line 411
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
         9: .line 415
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* list */
        start local 3 // java.util.List list
        10: .line 416
            aload 0 /* priorityList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 36
      StackMap locals: java.util.List java.util.Map java.util.Map java.util.List top java.util.Iterator
      StackMap stack:
        11: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Locale$LanguageRange
            astore 4 /* lr */
        start local 4 // java.util.Locale$LanguageRange lr
        12: .line 417
            aload 4 /* lr */
            invokevirtual java.util.Locale$LanguageRange.getRange:()Ljava/lang/String;
            astore 6 /* range */
        start local 6 // java.lang.String range
        13: .line 418
            aload 6 /* range */
            astore 7 /* r */
        start local 7 // java.lang.String r
        14: .line 419
            iconst_0
            istore 8 /* hasEquivalent */
        start local 8 // boolean hasEquivalent
        15: .line 421
            goto 33
        16: .line 422
      StackMap locals: java.util.List java.util.Map java.util.Map java.util.List java.util.Locale$LanguageRange java.util.Iterator java.lang.String java.lang.String int
      StackMap stack:
            aload 2 /* keyMap */
            aload 7 /* r */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 29
        17: .line 423
            iconst_1
            istore 8 /* hasEquivalent */
        18: .line 424
            aload 1 /* map */
            aload 2 /* keyMap */
            aload 7 /* r */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 9 /* equivalents */
        start local 9 // java.util.List equivalents
        19: .line 425
            aload 9 /* equivalents */
            ifnull 34
        20: .line 426
            aload 7 /* r */
            invokevirtual java.lang.String.length:()I
            istore 10 /* len */
        start local 10 // int len
        21: .line 427
            aload 9 /* equivalents */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 12
            goto 27
      StackMap locals: java.util.List java.util.Map java.util.Map java.util.List java.util.Locale$LanguageRange java.util.Iterator java.lang.String java.lang.String int java.util.List int top java.util.Iterator
      StackMap stack:
        22: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 11 /* equivalent */
        start local 11 // java.lang.String equivalent
        23: .line 428
            aload 3 /* list */
            new java.util.Locale$LanguageRange
            dup
            new java.lang.StringBuilder
            dup
            aload 11 /* equivalent */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        24: .line 429
            aload 6 /* range */
            iload 10 /* len */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        25: .line 430
            aload 4 /* lr */
            invokevirtual java.util.Locale$LanguageRange.getWeight:()D
            invokespecial java.util.Locale$LanguageRange.<init>:(Ljava/lang/String;D)V
        26: .line 428
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // java.lang.String equivalent
        27: .line 427
      StackMap locals:
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 22
        end local 10 // int len
        28: .line 434
            goto 34
        end local 9 // java.util.List equivalents
        29: .line 438
      StackMap locals: java.util.List java.util.Map java.util.Map java.util.List java.util.Locale$LanguageRange java.util.Iterator java.lang.String java.lang.String int
      StackMap stack:
            aload 7 /* r */
            bipush 45
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 9 /* index */
        start local 9 // int index
        30: .line 439
            iload 9 /* index */
            iconst_m1
            if_icmpne 32
        31: .line 440
            goto 34
        32: .line 442
      StackMap locals: int
      StackMap stack:
            aload 7 /* r */
            iconst_0
            iload 9 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 7 /* r */
        end local 9 // int index
        33: .line 421
      StackMap locals:
      StackMap stack:
            aload 7 /* r */
            invokevirtual java.lang.String.length:()I
            ifgt 16
        34: .line 445
      StackMap locals:
      StackMap stack:
            iload 8 /* hasEquivalent */
            ifne 36
        35: .line 446
            aload 3 /* list */
            aload 4 /* lr */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // boolean hasEquivalent
        end local 7 // java.lang.String r
        end local 6 // java.lang.String range
        end local 4 // java.util.Locale$LanguageRange lr
        36: .line 416
      StackMap locals: java.util.List java.util.Map java.util.Map java.util.List top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        37: .line 450
            aload 3 /* list */
            areturn
        end local 3 // java.util.List list
        end local 2 // java.util.Map keyMap
        end local 1 // java.util.Map map
        end local 0 // java.util.List priorityList
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   38     0   priorityList  Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
            0   38     1            map  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
            5   38     2         keyMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            7    8     3            key  Ljava/lang/String;
           10   38     3           list  Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
           12   36     4             lr  Ljava/util/Locale$LanguageRange;
           13   36     6          range  Ljava/lang/String;
           14   36     7              r  Ljava/lang/String;
           15   36     8  hasEquivalent  Z
           19   29     9    equivalents  Ljava/util/List<Ljava/lang/String;>;
           21   28    10            len  I
           23   27    11     equivalent  Ljava/lang/String;
           30   33     9          index  I
    Signature: (Ljava/util/List<Ljava/util/Locale$LanguageRange;>;Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;)Ljava/util/List<Ljava/util/Locale$LanguageRange;>;
    MethodParameters:
              Name  Flags
      priorityList  
      map           

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.util.locale.LocaleMatcher this
         0: .line 453
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.util.locale.LocaleMatcher this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/util/locale/LocaleMatcher;
}
SourceFile: "LocaleMatcher.java"
InnerClasses:
  public final FilteringMode = java.util.Locale$FilteringMode of java.util.Locale
  public final LanguageRange = java.util.Locale$LanguageRange of java.util.Locale