package com.l7tech.common.protocol;

import com.l7tech.util.ConfigFactory;

public class SecureSpanConstants {
   public static final String USER_AGENT;
   public static final String CERTIFICATE_MIME_TYPE;
   public static final String SSG_RESERVEDURI_PREFIX;
   public static final String[] RESOLUTION_BY_ID_REGEXES;
   public static final String[] RESOLUTION_BY_ID_REGEXES_PRE_8_1;
   public static boolean USE_RESOLUTION_BY_ID_PRE_8_1;
   public static final String SSG_FILE;
   public static final String SERVICE_FILE;
   public static final String POLICY_SERVICE_FILE;
   public static final String PRE32_POLICY_SERVICE_FILE;
   public static final String CERT_PATH;
   public static final String CERT_REQUEST_FILE;
   public static final String WSDL_PROXY_FILE;
   public static final String PASSWD_SERVICE_FILE;
   public static final String TOKEN_SERVICE_FILE;
   public static final String CERT_INVALID;
   public static final String CERT_VALID;
   public static final String CERT_STALE;
   public static final String FAULTCODE_BADCONTEXTTOKEN;
   public static final String FAULTCODE_INVALIDSECURITY;
   public static final String FAULTCODE_INVALIDSECURITYTOKEN;
   public static final String FAULTCODE_SECURITYTOKENUNAVAILABLE;
   public static final String FAULTCODE_UNSUPPORTEDSECURITYTOKEN;
   public static final String FAULTCODE_FAILEDCHECK;
   public static final String FAULTCODE_FAILEDAUTH;
   public static final String FAULTDETAIL_SAML_NS;
   public static final String FAULTDETAIL_SAML;
   public static final String FAULTDETAIL_SAML_ASSERTIONID;
   public static final String FAULTDETAIL_SAML_REASON;
   public static final String FAULTDETAIL_SAML_REASON_CONDITION;
   public static final String FAULTDETAIL_SAML_REASON_SIGNATURE;
   public static final String FAULTDETAIL_SAML_REASON_ISSUER;
   public static final String FAULTDETAIL_SAML_REASON_FORMAT;
   public static final String HEADER_ORIGINAL_HOST;
   public static final String HEADER_ORIGINAL_ADDR;
   public static final String NOPASS;
   public static final String PASSWORD_ENCODING;

   public static String[] getResolutionByIdRegexes() {
      return USE_RESOLUTION_BY_ID_PRE_8_1 ? RESOLUTION_BY_ID_REGEXES_PRE_8_1 : RESOLUTION_BY_ID_REGEXES;
   }

   static {
      String[] var0 = new String[39];
      int var4 = 0;
      String var3 = "^:qZs\t~'wXw\u0010V_+\u001b\u0002=uD`\r@Ha8m&I\u001aLcvw;\"~V}\"K?@\u0006d=cCs\u0016\u0018ay0td\rGJ++\u0016F\u0016LY!sYzDU\u001f` \tn!~R\u007f\u0010JB \u0006k!b[w\u0010\u0011\u0002=cQ9\u0014LA'sO9\u0000J^-\u007f\u0014\u0002=uD`\r@Ha8jr\u001f\u0012\u0001| K?@\u0015sacSd\u0012JN+?\u001eJ\u0000X\u001cb\"\u0006kM\u0007\u0014Z=cS,-M[/|_r7FN;b_b\u001d\u0004\u0002=cQ\u001dZ=cS,7FN;b_b\u001dwB%uXC\nB[/yZw\u0006OH\u001aL>`Z\u007f\u0007BY'\u007fX9\u001c\u000eU{ \u000f;\u0007B\u0000-uDb\u0007D fWz\rG\u0005[/|_r,N!}\u0018zSWH-x\u0018u\u000bN@!~\u0018e\u0001Q['sSD\u0001PB\"eB\u007f\u000bMo7YRF\u0016F\u0015\u007f\u0010Z=cS,\"BD\"uRU\fFN%\u0006\u007f+qEy\n\t\u0002=cQ9\u0013PI\"\u0013Z=s\fT\u0005Gn!~Bs\u001cWy!{Sx\t\u0002=cQ9\u0017LL>\u0019Z=cS,\"BD\"uRW\u0011WE+~B\u007f\u0007BY'\u007fX\n\u0002=cQ9\u0010LF+~\u0019Z=cS,-M[/|_r7FN;b_b\u001dwB%uX\u000bl=cSd\u0010JB Yr\b\u0002=cQ9\u0007P_\u0010ay=yd\rDD qZ;%GI<\u001dZ=cS,1M^;`Fy\u0016WH*CSu\u0011QD:iby\u000fFC\u0006c\u0001@wE7\u001csacSd\u0012JN+?\u001eMT\u000e\u0014/=PWIep5#\u0004kM\u0007\r~/}ZP\u0005VA:YXp\u000b\u0005x\u001aV\u001b.\u001b\u0002=cQ9\u0014LA'sO9\u0000J^-\u007f\u0018{\u000bGX\"qBy\u0016\t\u0002=uD`\r@Ha\u000b\u0002=cQ9\u0014B^=gR\u001b\u0002=cQ9\u0014LA'sO9\u0000J^-\u007f\u0018{\u000bGX\"qBy\u0016";
      int var5 = "^:qZs\t~'wXw\u0010V_+\u001b\u0002=uD`\r@Ha8m&I\u001aLcvw;\"~V}\"K?@\u0006d=cCs\u0016\u0018ay0td\rGJ++\u0016F\u0016LY!sYzDU\u001f` \tn!~R\u007f\u0010JB \u0006k!b[w\u0010\u0011\u0002=cQ9\u0014LA'sO9\u0000J^-\u007f\u0014\u0002=uD`\r@Ha8jr\u001f\u0012\u0001| K?@\u0015sacSd\u0012JN+?\u001eJ\u0000X\u001cb\"\u0006kM\u0007\u0014Z=cS,-M[/|_r7FN;b_b\u001d\u0004\u0002=cQ\u001dZ=cS,7FN;b_b\u001dwB%uXC\nB[/yZw\u0006OH\u001aL>`Z\u007f\u0007BY'\u007fX9\u001c\u000eU{ \u000f;\u0007B\u0000-uDb\u0007D fWz\rG\u0005[/|_r,N!}\u0018zSWH-x\u0018u\u000bN@!~\u0018e\u0001Q['sSD\u0001PB\"eB\u007f\u000bMo7YRF\u0016F\u0015\u007f\u0010Z=cS,\"BD\"uRU\fFN%\u0006\u007f+qEy\n\t\u0002=cQ9\u0013PI\"\u0013Z=s\fT\u0005Gn!~Bs\u001cWy!{Sx\t\u0002=cQ9\u0017LL>\u0019Z=cS,\"BD\"uRW\u0011WE+~B\u007f\u0007BY'\u007fX\n\u0002=cQ9\u0010LF+~\u0019Z=cS,-M[/|_r7FN;b_b\u001dwB%uX\u000bl=cSd\u0010JB Yr\b\u0002=cQ9\u0007P_\u0010ay=yd\rDD qZ;%GI<\u001dZ=cS,1M^;`Fy\u0016WH*CSu\u0011QD:iby\u000fFC\u0006c\u0001@wE7\u001csacSd\u0012JN+?\u001eMT\u000e\u0014/=PWIep5#\u0004kM\u0007\r~/}ZP\u0005VA:YXp\u000b\u0005x\u001aV\u001b.\u001b\u0002=cQ9\u0014LA'sO9\u0000J^-\u007f\u0018{\u000bGX\"qBy\u0016\t\u0002=uD`\r@Ha\u000b\u0002=cQ9\u0014B^=gR\u001b\u0002=cQ9\u0014LA'sO9\u0000J^-\u007f\u0018{\u000bGX\"qBy\u0016"
         .length();
      char var2 = 5;
      int var7 = -1;

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

         while (true) {
            String var8 = a(var10000, a(var10001));
            switch (var10002) {
               case 0:
                  var0[var4++] = var8;
                  if ((var7 += var2) >= var5) {
                     FAULTCODE_FAILEDCHECK = var0[17];
                     USER_AGENT = var0[4];
                     TOKEN_SERVICE_FILE = var0[23];
                     FAULTDETAIL_SAML_REASON_ISSUER = var0[3];
                     FAULTCODE_INVALIDSECURITY = var0[10];
                     FAULTDETAIL_SAML_NS = var0[38];
                     CERT_PATH = var0[36];
                     WSDL_PROXY_FILE = var0[19];
                     FAULTDETAIL_SAML_REASON_SIGNATURE = var0[1];
                     PRE32_POLICY_SERVICE_FILE = var0[33];
                     CERT_INVALID = var0[14];
                     FAULTDETAIL_SAML_REASON_CONDITION = var0[5];
                     CERT_REQUEST_FILE = var0[26];
                     FAULTCODE_FAILEDAUTH = var0[22];
                     PASSWD_SERVICE_FILE = var0[35];
                     POLICY_SERVICE_FILE = var0[7];
                     HEADER_ORIGINAL_HOST = var0[37];
                     PASSWORD_ENCODING = var0[32];
                     FAULTCODE_INVALIDSECURITYTOKEN = var0[24];
                     FAULTCODE_SECURITYTOKENUNAVAILABLE = var0[12];
                     FAULTDETAIL_SAML_REASON_FORMAT = var0[6];
                     SERVICE_FILE = var0[34];
                     FAULTDETAIL_SAML_ASSERTIONID = var0[25];
                     CERT_VALID = var0[15];
                     FAULTDETAIL_SAML_REASON = var0[18];
                     SSG_FILE = var0[21];
                     FAULTDETAIL_SAML = var0[31];
                     FAULTCODE_UNSUPPORTEDSECURITYTOKEN = var0[28];
                     CERTIFICATE_MIME_TYPE = var0[13];
                     HEADER_ORIGINAL_ADDR = var0[27];
                     SSG_RESERVEDURI_PREFIX = var0[11];
                     CERT_STALE = var0[0];
                     FAULTCODE_BADCONTEXTTOKEN = var0[20];
                     NOPASS = var0[29];
                     RESOLUTION_BY_ID_REGEXES = new String[]{var0[9], var0[30]};
                     RESOLUTION_BY_ID_REGEXES_PRE_8_1 = new String[]{var0[8], var0[2]};
                     USE_RESOLUTION_BY_ID_PRE_8_1 = ConfigFactory.getBooleanProperty(var0[16], false);
                     return;
                  }

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

                  var3 = "5-i-0Y\u0010\u0010t%\u000eox\u0018\nn\u001a\u0011n0\u0012x\u001fX\u0015{=\u00070\u0007\u0003\u001cy,L!_\u001aVi%\u000f.";
                  var5 = "5-i-0Y\u0010\u0010t%\u000eox\u0018\nn\u001a\u0011n0\u0012x\u001fX\u0015{=\u00070\u0007\u0003\u001cy,L!_\u001aVi%\u000f.".length();
                  var2 = 16;
                  var7 = -1;
            }

            var10000 = 126;
            var10001 = var3.substring(++var7, var7 + var2);
            var10002 = 0;
         }
      }
   }

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

      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 -> 7;
            case 1 -> 100;
            case 2 -> 58;
            case 3 -> 28;
            case 4 -> 60;
            case 5 -> 78;
            default -> 9;
         });
      }

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

   public static class HttpHeaders {
      public static final String POLICY_VERSION;
      public static final String CERT_STATUS;
      public static final String POLICYURL_HEADER;
      public static final String ORIGINAL_URL;
      public static final String LEGACY_CERT_CHECK_PREFIX;
      public static final String CERT_CHECK2_PREFIX;
      public static final String HEADER_NEWPASSWD;
      public static final String HEADER_DOMAINIDSTATUS;

      static {
         String[] var0 = new String[8];
         int var4 = 0;
         String var3 = "Yaq#LnTv/q&qN\u000eYaq0FpI8\u00154\u0016@i\u0010\u0011Yaq\u0003LnTv/q\u0005FpN|92\u000fYaq0FpI8\u00154\u0016@i\u000f8\u0013Yaq7Lo\\|8q:g/na7(\u0006P\rYaq\u001dFu\u0010e7/\u0000Tf";
         int var5 = "Yaq#LnTv/q&qN\u000eYaq0FpI8\u00154\u0016@i\u0010\u0011Yaq\u0003LnTv/q\u0005FpN|92\u000fYaq0FpI8\u00154\u0016@i\u000f8\u0013Yaq7Lo\\|8q:g/na7(\u0006P\rYaq\u001dFu\u0010e7/\u0000Tf"
            .length();
         char var2 = '\r';
         int var7 = -1;

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

            while (true) {
               String var8 = a(var10000, a(var10001));
               switch (var10002) {
                  case 0:
                     var0[var4++] = var8;
                     if ((var7 += var2) >= var5) {
                        POLICY_VERSION = var0[2];
                        ORIGINAL_URL = var0[6];
                        HEADER_DOMAINIDSTATUS = var0[4];
                        CERT_STATUS = var0[7];
                        LEGACY_CERT_CHECK_PREFIX = var0[1];
                        CERT_CHECK2_PREFIX = var0[3];
                        HEADER_NEWPASSWD = var0[5];
                        POLICYURL_HEADER = var0[0];
                        return;
                     }

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

                     var3 = "2\n\u001aW:\u00001\u0017SVte<\u00042\u000e2\n\u001a{-\u001b\"SNCy<\u001c%";
                     var5 = "2\n\u001aW:\u00001\u0017SVte<\u00042\u000e2\n\u001a{-\u001b\"SNCy<\u001c%".length();
                     var2 = 15;
                     var7 = -1;
               }

               var10000 = 5;
               var10001 = var3.substring(++var7, var7 + var2);
               var10002 = 0;
            }
         }
      }

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

         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 -> 123;
               case 1 -> 56;
               case 2 -> 50;
               case 3 -> 29;
               case 4 -> 77;
               case 5 -> 108;
               default -> 83;
            });
         }

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

   public static class HttpQueryParameters {
      public static final String PARAM_SERVICEOID;
      public static final String PARAM_WSDL_PREFIX;
      public static final String PARAM_SERVICEDOCOID;
      public static final String PARAM_URI;
      public static final String PARAM_SACTION;
      public static final String PARAM_NS;
      public static final String PARAM_MODE;
      public static final String PARAM_GETCERT;
      public static final String PARAM_USERNAME;
      public static final String PARAM_NONCE;
      public static final String PARAM_FULLDOC;
      public static final String PARAM_INLINE;
      public static final String PARAM_INCLUDE_COMMENTS;

      static {
         String[] var0 = new String[13];
         int var4 = 0;
         String var3 = "Cj\u0005)\u0002@v\u0007I`\u0015/U\b}\u0003[w\b\u0007Hp\r T\u0015j\n]`\u0013:T\u0015jAl\u0005\u0006Gk\r%^\u001f\u0005@j\u000f/U\b[v\u0004>^\u001bdK\n]`\u0013:Y\u0019lAl\u0005\n]j\u0000<Q\u0019}Gj\u000f";
         int var5 = "Cj\u0005)\u0002@v\u0007I`\u0015/U\b}\u0003[w\b\u0007Hp\r T\u0015j\n]`\u0013:T\u0015jAl\u0005\u0006Gk\r%^\u001f\u0005@j\u000f/U\b[v\u0004>^\u001bdK\n]`\u0013:Y\u0019lAl\u0005\n]j\u0000<Q\u0019}Gj\u000f"
            .length();
         char var2 = 4;
         int var7 = -1;

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

            while (true) {
               String var8 = a(var10000, a(var10001));
               switch (var10002) {
                  case 0:
                     var0[var4++] = var8;
                     if ((var7 += var2) >= var5) {
                        PARAM_NONCE = var0[7];
                        PARAM_FULLDOC = var0[4];
                        PARAM_USERNAME = var0[8];
                        PARAM_INCLUDE_COMMENTS = var0[12];
                        PARAM_SERVICEDOCOID = var0[5];
                        PARAM_GETCERT = var0[2];
                        PARAM_NS = var0[1];
                        PARAM_INLINE = var0[6];
                        PARAM_MODE = var0[0];
                        PARAM_SERVICEOID = var0[9];
                        PARAM_WSDL_PREFIX = var0[11];
                        PARAM_URI = var0[3];
                        PARAM_SACTION = var0[10];
                        return;
                     }

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

                     var3 = "Ns\u0000)G\u0006y\b^y\u001f2F\u0007nN";
                     var5 = "Ns\u0000)G\u0006y\b^y\u001f2F\u0007nN".length();
                     var2 = 7;
                     var7 = -1;
               }

               var10000 = 40;
               var10001 = var3.substring(++var7, var7 + var2);
               var10002 = 0;
            }
         }
      }

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

         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 -> 21;
               case 1 -> 62;
               case 2 -> 90;
               case 3 -> 119;
               case 4 -> 11;
               case 5 -> 65;
               default -> 50;
            });
         }

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