package com.l7tech.xml.soap;

import com.l7tech.util.DeserializeSafe;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;

@DeserializeSafe
public enum SoapVersion {
   SOAP_1_1,
   SOAP_1_2,
   UNKNOWN;

   private final String protocol;
   private final int rank;
   private final String namespaceUri;
   private final String label;
   private final String versionNumber;
   private final String contentType;
   static final Set<String> OTHER_THAN_SOAP_1_1;
   static final Set<String> OTHER_THAN_SOAP_1_2;
   static final Set<String> OTHER_THAN_UNKNOWN;
   private static final String[] a;

   SoapVersion(String var3, String var4, String var5, String var6, int var7, String var8) {
      this.protocol = var5;
      this.namespaceUri = var6;
      this.rank = var7;
      this.label = var3;
      this.versionNumber = var4;
      this.contentType = var8;
   }

   public String getLabel() {
      return this.label;
   }

   public String getProtocol() {
      return this.protocol;
   }

   public boolean isPriorVersion(SoapVersion var1) {
      return var1.rank < this.rank;
   }

   public String getNamespaceUri() {
      return this.namespaceUri;
   }

   public Set<String> getOtherNamespaceUris() {
      return getOtherNamespaceUris(this);
   }

   public String getContentType() {
      return this.contentType;
   }

   public String getVersionNumber() {
      return this.versionNumber;
   }

   public static SoapVersion namespaceToSoapVersion(String var0) {
      String[] var1 = a;
      if (var1[8].equals(var0)) {
         return SOAP_1_2;
      } else {
         return a[3].equals(var0) ? SOAP_1_1 : UNKNOWN;
      }
   }

   public static SoapVersion versionNumberToSoapVersion(String var0) {
      SoapVersion var1 = UNKNOWN;

      for (SoapVersion var5 : values()) {
         if (var5.getVersionNumber().equals(var0)) {
            var1 = var5;
            break;
         }
      }

      return var1;
   }

   public static SoapVersion contentTypeToSoapVersion(String var0) {
      String[] var1 = a;
      if (var1[7].equalsIgnoreCase(var0)) {
         return SOAP_1_1;
      } else {
         return a[15].equalsIgnoreCase(var0) ? SOAP_1_2 : UNKNOWN;
      }
   }

   public static SoapVersion getDefaultSoapVersion() {
      return SOAP_1_1;
   }

   static Set<String> getOtherNamespaceUris(SoapVersion var0) {
      switch (var0) {
         case SOAP_1_1:
            return OTHER_THAN_SOAP_1_1;
         case SOAP_1_2:
            return OTHER_THAN_SOAP_1_2;
         default:
            return OTHER_THAN_UNKNOWN;
      }
   }

   // $VF: Failed to inline enum fields
   // 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!)
   static {
      String[] var5 = new String[18];
      int var3 = 0;
      String var2 = ":<0&Q2\n[S!\u0004\u001ewK\n\u001c\u001d)\u0001\u0007\u0005\u0006K,\u000b\u001a\u0010\u0019\u0013\u001cbWG\u000b\u001c\u001a\u0002lE\u0019]\u001e\u0004\u0016,W\u0006\u0012\u0001Y\u0014mR\f\u001f\u001e\u0006\u0014,\u0003X]@)\u0001\u0007\u0005\u0006K,\u000b\u001a\u0010\u0019\u0013\u001cbWG\u000b\u001c\u001a\u0002lE\u0019]\u001e\u0004\u0016,W\u0006\u0012\u0001Y\u0014mR\f\u001f\u001e\u0006\u0014,'\u0001\u0007\u0005\u0006K,\u000b\u001e\u0004\u0006X\u00060\n\u0006\u0001\u0016YC3\u0014Z\\AC^pK\b\u0003\\\u0013\u001fuA\u0005\u001c\u0001\u0013\b:<0&Q2\nX\b:<0&.2{X\b\u001d\u0016\t\u0002^{I\u0005'\u0001\u0007\u0005\u0006K,\u000b\u001e\u0004\u0006X\u00060\n\u0006\u0001\u0016YC3\u0014Z\\AC^pK\b\u0003\\\u0013\u001fuA\u0005\u001c\u0001\u0013\u000b\u001c\u001d\u0002\u0006\u0014`M\u000f\u001a\u0014\u0012\b\u001d\u0016\t\u0002^{I\u0005\u0007<=:8>Tj\u0014\b\u0003\u0001\u001a\u0018`E\u001d\u001a\u001e\u0018^pK\b\u0003Z\u000e\u001co\b:<0&.2{[\u0003X]C\u0014\b\u0003\u0001\u001a\u0018`E\u001d\u001a\u001e\u0018^pK\b\u0003Z\u000e\u001co";
      int var4 = ":<0&Q2\n[S!\u0004\u001ewK\n\u001c\u001d)\u0001\u0007\u0005\u0006K,\u000b\u001a\u0010\u0019\u0013\u001cbWG\u000b\u001c\u001a\u0002lE\u0019]\u001e\u0004\u0016,W\u0006\u0012\u0001Y\u0014mR\f\u001f\u001e\u0006\u0014,\u0003X]@)\u0001\u0007\u0005\u0006K,\u000b\u001a\u0010\u0019\u0013\u001cbWG\u000b\u001c\u001a\u0002lE\u0019]\u001e\u0004\u0016,W\u0006\u0012\u0001Y\u0014mR\f\u001f\u001e\u0006\u0014,'\u0001\u0007\u0005\u0006K,\u000b\u001e\u0004\u0006X\u00060\n\u0006\u0001\u0016YC3\u0014Z\\AC^pK\b\u0003\\\u0013\u001fuA\u0005\u001c\u0001\u0013\b:<0&Q2\nX\b:<0&.2{X\b\u001d\u0016\t\u0002^{I\u0005'\u0001\u0007\u0005\u0006K,\u000b\u001e\u0004\u0006X\u00060\n\u0006\u0001\u0016YC3\u0014Z\\AC^pK\b\u0003\\\u0013\u001fuA\u0005\u001c\u0001\u0013\u000b\u001c\u001d\u0002\u0006\u0014`M\u000f\u001a\u0014\u0012\b\u001d\u0016\t\u0002^{I\u0005\u0007<=:8>Tj\u0014\b\u0003\u0001\u001a\u0018`E\u001d\u001a\u001e\u0018^pK\b\u0003Z\u000e\u001co\b:<0&.2{[\u0003X]C\u0014\b\u0003\u0001\u001a\u0018`E\u001d\u001a\u001e\u0018^pK\b\u0003Z\u000e\u001co"
         .length();
      char var1 = 17;
      int var7 = -1;

      label24:
      while (true) {
         byte var10000 = 14;
         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) {
                     a = var5;
                     String[] var8 = a;
                     SOAP_1_1 = new SoapVersion(var8[5], var8[2], var8[17], var8[1], 1001, var8[10]);
                     SOAP_1_2 = new SoapVersion(var8[16], var8[14], var8[0], var8[4], 1002, var8[12]);
                     UNKNOWN = new SoapVersion(var8[9], "", null, null, 0, null);
                     OTHER_THAN_SOAP_1_1 = Collections.unmodifiableSet(new HashSet<>(Arrays.asList(SOAP_1_2.getNamespaceUri())));
                     OTHER_THAN_SOAP_1_2 = Collections.unmodifiableSet(new HashSet<>(Arrays.asList(SOAP_1_1.getNamespaceUri())));
                     OTHER_THAN_UNKNOWN = Collections.unmodifiableSet(Collections.emptySet());
                     return;
                  }

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

                  var2 = "\u0017\u0011\u001d\u000b|\u001f'v\u0011\u0017\u0011\u001d\u000b|\u001f'u~\f)3Zf'10";
                  var4 = "\u0017\u0011\u001d\u000b|\u001f'v\u0011\u0017\u0011\u001d\u000b|\u001f'u~\f)3Zf'10".length();
                  var1 = '\b';
                  var7 = -1;
            }

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

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

      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 -> 103;
            case 1 -> 125;
            case 2 -> 127;
            case 3 -> 120;
            case 4 -> 127;
            case 5 -> 13;
            default -> 42;
         });
      }

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