package com.l7tech.common.http;

import com.l7tech.util.ConfigFactory;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
import java.util.StringTokenizer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class ParameterizedString {
   private static final int a;
   private static final boolean b;
   private static Pattern c;
   private Map<String, String[]> d = new LinkedHashMap<>();
   private static final String[] e;

   public ParameterizedString(String var1) {
      this(var1, false);
   }

   public ParameterizedString(String var1, boolean var2) {
      parseParameterString(this.d, var1, var2);
   }

   public Set getParameterNames() {
      return Collections.unmodifiableSet(this.d.keySet());
   }

   public boolean parameterExists(String var1) {
      return this.d.containsKey(var1);
   }

   public boolean parameterHasSingleValue(String var1) {
      try {
         if (this.getParameterValues(var1).length == 1) {
            return true;
         }
      } catch (IllegalArgumentException var2) {
         throw a(var2);
      }

      return false;
   }

   public String[] getParameterValues(String var1) {
      String[] var2 = this.d.get(var1);
      if (var2 == null) {
         var2 = new String[0];
      }

      return var2;
   }

   public String getParameterValue(String var1) {
      Object var2 = null;
      String[] var3 = this.d.get(var1);

      try {
         if (var3 == null || var3.length <= 0) {
            return (String)var2;
         }
      } catch (IllegalArgumentException var4) {
         throw a(var4);
      }

      return var3[0];
   }

   public Map getParameters() {
      return Collections.unmodifiableMap(this.d);
   }

   public static Map<String, String[]> parseQueryString(String var0) {
      return parseQueryString(var0, false);
   }

   public static Map<String, String[]> parseQueryString(String var0, boolean var1) {
      LinkedHashMap var2 = new LinkedHashMap();
      parseParameterString(var2, var0, var1);
      return var2;
   }

   public static void parseParameterString(Map<String, String[]> param0, String param1, boolean param2) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 0
      // 01: ifnonnull 16
      // 04: new java/lang/IllegalArgumentException
      // 07: dup
      // 08: getstatic com/l7tech/common/http/ParameterizedString.e [Ljava/lang/String;
      // 0b: bipush 15
      // 0d: aaload
      // 0e: invokespecial java/lang/IllegalArgumentException.<init> (Ljava/lang/String;)V
      // 11: athrow
      // 12: invokestatic com/l7tech/common/http/ParameterizedString.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 15: athrow
      // 16: aload 1
      // 17: ifnull 3b
      // 1a: aload 0
      // 1b: aload 1
      // 1c: getstatic com/l7tech/common/http/ParameterizedString.b Z
      // 1f: ifeq 35
      // 22: goto 29
      // 25: invokestatic com/l7tech/common/http/ParameterizedString.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 28: athrow
      // 29: getstatic com/l7tech/common/http/ParameterizedString.e [Ljava/lang/String;
      // 2c: bipush 0
      // 2d: aaload
      // 2e: goto 37
      // 31: invokestatic com/l7tech/common/http/ParameterizedString.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 34: athrow
      // 35: ldc "&"
      // 37: iload 2
      // 38: invokestatic com/l7tech/common/http/ParameterizedString.a (Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Z)V
      // 3b: return
      // try (0 -> 9): 9 java/lang/IllegalArgumentException
      // try (11 -> 17): 18 java/lang/IllegalArgumentException
      // try (13 -> 24): 24 java/lang/IllegalArgumentException
   }

   @Override
   public String toString() {
      return a(this.d);
   }

   private static void a(String var0, String var1) {
      try {
         if (var0.length() > a) {
            throw new IllegalArgumentException(e[14] + a + e[12]);
         }
      } catch (IllegalArgumentException var4) {
         throw a(var4);
      }

      Matcher var2 = c.matcher(var0);

      try {
         if (!var2.matches()) {
            throw new IllegalArgumentException(e[2] + var0 + e[13] + var1 + "'");
         }
      } catch (IllegalArgumentException var3) {
         throw a(var3);
      }
   }

   private static String a(String var0, boolean var1) {
      String var2 = var0;

      try {
         String[] var4 = e;
         var2 = URLDecoder.decode(var0, var4[10]);
      } catch (IllegalArgumentException var6) {
         IllegalArgumentException var3 = var6;

         try {
            if (var1) {
               throw new IllegalArgumentException(e[7] + var0 + e[4] + var3.getMessage());
            }
         } catch (IllegalArgumentException var5) {
            throw a(var5);
         }
      } catch (UnsupportedEncodingException var7) {
         throw new IllegalStateException(e[9]);
      }

      return var2;
   }

   private static void a(Map<String, String[]> var0, String var1, String var2, boolean var3) {
      StringTokenizer var4 = new StringTokenizer(var1, var2);

      while (var4.hasMoreTokens()) {
         String var5 = var4.nextToken();
         int var6 = var5.indexOf(61);

         try {
            if (var6 < 0) {
               continue;
            }
         } catch (IllegalArgumentException var11) {
            throw a(var11);
         }

         String var7 = var5.substring(0, var6);
         String var8 = var5.substring(var6 + 1);

         try {
            if (var3) {
               a(var7, var1);
               a(var8, var1);
            }
         } catch (IllegalArgumentException var12) {
            throw a(var12);
         }

         var7 = a(var7, var3);
         var8 = a(var8, var3);
         String[] var9 = (String[])var0.get(var7);
         if (var9 == null) {
            var9 = new String[]{var8};
         } else {
            String[] var10 = new String[var9.length + 1];
            System.arraycopy(var9, 0, var10, 0, var9.length);
            var10[var9.length] = var8;
            var9 = var10;
         }

         var0.put(var7, var9);
      }
   }

   private static String a(Map<String, String[]> param0) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: new java/lang/StringBuffer
      // 03: dup
      // 04: sipush 128
      // 07: invokespecial java/lang/StringBuffer.<init> (I)V
      // 0a: astore 1
      // 0b: aload 1
      // 0c: getstatic com/l7tech/common/http/ParameterizedString.e [Ljava/lang/String;
      // 0f: astore 6
      // 11: aload 6
      // 13: bipush 11
      // 15: aaload
      // 16: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // 19: pop
      // 1a: aload 0
      // 1b: invokeinterface java/util/Map.entrySet ()Ljava/util/Set; 1
      // 20: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 25: astore 2
      // 26: aload 2
      // 27: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 2c: ifeq c8
      // 2f: aload 2
      // 30: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 35: checkcast java/util/Map$Entry
      // 38: astore 3
      // 39: aload 1
      // 3a: ldc "'"
      // 3c: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // 3f: pop
      // 40: aload 1
      // 41: aload 3
      // 42: invokeinterface java/util/Map$Entry.getKey ()Ljava/lang/Object; 1
      // 47: checkcast java/lang/String
      // 4a: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // 4d: pop
      // 4e: aload 1
      // 4f: getstatic com/l7tech/common/http/ParameterizedString.e [Ljava/lang/String;
      // 52: astore 6
      // 54: aload 6
      // 56: bipush 5
      // 57: aaload
      // 58: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // 5b: pop
      // 5c: aload 3
      // 5d: invokeinterface java/util/Map$Entry.getValue ()Ljava/lang/Object; 1
      // 62: checkcast [Ljava/lang/String;
      // 65: astore 4
      // 67: bipush 0
      // 68: istore 5
      // 6a: iload 5
      // 6c: aload 4
      // 6e: arraylength
      // 6f: if_icmpge aa
      // 72: iload 5
      // 74: ifeq 8c
      // 77: goto 7e
      // 7a: invokestatic com/l7tech/common/http/ParameterizedString.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 7d: athrow
      // 7e: aload 1
      // 7f: ldc ","
      // 81: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // 84: pop
      // 85: goto 8c
      // 88: invokestatic com/l7tech/common/http/ParameterizedString.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // 8b: athrow
      // 8c: aload 1
      // 8d: ldc "'"
      // 8f: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // 92: pop
      // 93: aload 1
      // 94: aload 4
      // 96: iload 5
      // 98: aaload
      // 99: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // 9c: pop
      // 9d: aload 1
      // 9e: ldc "'"
      // a0: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // a3: pop
      // a4: iinc 5 1
      // a7: goto 6a
      // aa: aload 2
      // ab: invokeinterface java/util/Iterator.hasNext ()Z 1
      // b0: ifeq c5
      // b3: aload 1
      // b4: getstatic com/l7tech/common/http/ParameterizedString.e [Ljava/lang/String;
      // b7: bipush 6
      // b9: aaload
      // ba: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // bd: pop
      // be: goto c5
      // c1: invokestatic com/l7tech/common/http/ParameterizedString.a (Ljava/lang/IllegalArgumentException;)Ljava/lang/IllegalArgumentException;
      // c4: athrow
      // c5: goto 26
      // c8: aload 1
      // c9: ldc "]"
      // cb: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // ce: pop
      // cf: aload 1
      // d0: invokevirtual java/lang/StringBuffer.toString ()Ljava/lang/String;
      // d3: areturn
      // try (48 -> 54): 55 java/lang/IllegalArgumentException
      // try (52 -> 61): 62 java/lang/IllegalArgumentException
      // try (80 -> 89): 90 java/lang/IllegalArgumentException
   }

   static {
      String[] var5 = new String[16];
      int var3 = 0;
      String var2 = "D\u0013'\u0001Gg\u0017q!x\u0007Kb\u0017ubx\u0012\u0006\u007fJxEi\u000fAiVqyb#[Y\\mw~\u0003\\eK\u0016+F|Xq\u007fhBKbXowo\u0016Mx\u0019tx,E\"\u0001Gg\u0017q!x\u0007Kb\u0017ubx\u0012\u0006gXeFm\u0010Ig\\is~.Md^i~\u0003E\u0012*\u0002E\u0015\u0002Y\b\u001e'ZxVo6h\u0017ZcWz6Y0d*]xuc\u0006Ad^=yjB\u000f/9I'C\\;VR\u00053\u001dA;SL\u0003+\u0013:>%N\r%eA,L\u001eSweFJQ_\u00135\u001a?vR^\u0016td7\u001d'FiVy\u007fb\u0005\bdVi6m\u0014IcU|t`\u0007\u0012*lIP!Z\u00057|L\u0014%\u00162IxXpsx\u0007ZcCxr_\u0016ZcWz>%9\u000bBKbXowo\u0016MxJ\u0004E\u0013*\u001e";
      int var4 = "D\u0013'\u0001Gg\u0017q!x\u0007Kb\u0017ubx\u0012\u0006\u007fJxEi\u000fAiVqyb#[Y\\mw~\u0003\\eK\u0016+F|Xq\u007fhBKbXowo\u0016Mx\u0019tx,E\"\u0001Gg\u0017q!x\u0007Kb\u0017ubx\u0012\u0006gXeFm\u0010Ig\\is~.Md^i~\u0003E\u0012*\u0002E\u0015\u0002Y\b\u001e'ZxVo6h\u0017ZcWz6Y0d*]xuc\u0006Ad^=yjB\u000f/9I'C\\;VR\u00053\u001dA;SL\u0003+\u0013:>%N\r%eA,L\u001eSweFJQ_\u00135\u001a?vR^\u0016td7\u001d'FiVy\u007fb\u0005\bdVi6m\u0014IcU|t`\u0007\u0012*lIP!Z\u00057|L\u0014%\u00162IxXpsx\u0007ZcCxr_\u0016ZcWz>%9\u000bBKbXowo\u0016MxJ\u0004E\u0013*\u001e"
         .length();
      char var1 = 2;
      int var7 = -1;

      label24:
      while (true) {
         byte var10000 = 54;
         String var10001 = var2.substring(++var7, var7 + var1);
         byte var10002 = -1;

         while (true) {
            String var9 = a(var10000, a(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var9;
                  if ((var7 += var1) >= var4) {
                     e = var5;
                     String[] var8 = e;
                     a = ConfigFactory.getIntProperty(var8[3], 1000000);
                     b = ConfigFactory.getBooleanProperty(var8[1], false);
                     c = Pattern.compile(var8[8]);
                     return;
                  }

                  var1 = var2.charAt(var7);
                  break;
               default:
                  var5[var3++] = var9;
                  if ((var7 += var1) < var4) {
                     var1 = var2.charAt(var7);
                     continue label24;
                  }

                  var2 = "\u007f\u001a4\u000e\"m2A\u00104\u0007\">wZ\u001c?\u0004/*\"K\u00165B+,/P\u001e$\u000ff+>\\\u001f5B*(9^\u00079B)+w\u0018Q\u001c=\u0006#?wT\u0006\"\u0016f#8MS3\u0007f#\"U\u001f\u007f";
                  var4 = "\u007f\u001a4\u000e\"m2A\u00104\u0007\">wZ\u001c?\u0004/*\"K\u00165B+,/P\u001e$\u000ff+>\\\u001f5B*(9^\u00079B)+w\u0018Q\u001c=\u0006#?wT\u0006\"\u0016f#8MS3\u0007f#\"U\u001f\u007f"
                     .length();
                  var1 = '1';
                  var7 = -1;
            }

            var10000 = 109;
            var10001 = var2.substring(++var7, var7 + var1);
            var10002 = 0;
         }
      }
   }

   private static IllegalArgumentException a(IllegalArgumentException var0) {
      return var0;
   }

   private static char[] a(String var0) {
      char[] var10000 = var0.toCharArray();
      if (var10000.length < 2) {
         var10000[0] = (char)(var10000[0] ^ 58);
      }

      return var10000;
   }

   private static String a(int var0, char[] var1) {
      int var10003 = var1.length;
      int var10002 = var0;
      char[] var10001 = var1;
      int var10000 = var10003;

      for (int var2 = 0; var10000 > var2; var2++) {
         var10001[var2] = (char)(var10001[var2] ^ var10002 ^ switch (var2 % 7) {
            case 0 -> 84;
            case 1 -> 30;
            case 2 -> 60;
            case 3 -> 15;
            case 4 -> 43;
            case 5 -> 32;
            default -> 58;
         });
      }

      return new String(var10001).intern();
   }
}
