package com.l7tech.gateway.common.transport.ftp;

import com.l7tech.util.EnumTranslator;
import java.io.ObjectStreamException;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;

public final class FtpSecurity implements Serializable {
   private static final long serialVersionUID = -5681189142372084452L;
   private static final Map<String, FtpSecurity> _wspNameMap;
   public static final FtpSecurity FTP_UNSECURED;
   public static final FtpSecurity FTPS_EXPLICIT;
   public static final FtpSecurity FTPS_IMPLICIT;
   private static final FtpSecurity[] _values;
   private final String _wspName;
   private final String _printName;
   private static final String[] a;

   private FtpSecurity(String var1, String var2) {
      this._wspName = var1;
      this._printName = var2;
      if (_wspNameMap.put(var1, this) != null) {
         throw new IllegalArgumentException(a[0] + var1);
      }
   }

   public String getWspName() {
      return this._wspName;
   }

   public String getPrintName() {
      return this._printName;
   }

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

   public static FtpSecurity[] values() {
      return (FtpSecurity[])_values.clone();
   }

   public static EnumTranslator getEnumTranslator() {
      return new c();
   }

   protected Object readResolve() throws ObjectStreamException {
      return _wspNameMap.get(this._wspName);
   }

   static {
      String[] var5 = new String[7];
      int var3 = 0;
      String var2 = "\nH){\u0007ow:Xy`\u001d|X/P<-N\u0016\bi\tDN{\u007f:Uy^\u0003|z'^0cN_E\u0002\r;S*r\ryd+YyQ:\\\u0016\bi\tDN{\u007f:UyR\u0016|z'^0cN_E\u0002\u0003(I)";
      int var4 = "\nH){\u0007ow:Xy`\u001d|X/P<-N\u0016\bi\tDN{\u007f:Uy^\u0003|z'^0cN_E\u0002\r;S*r\ryd+YyQ:\\\u0016\bi\tDN{\u007f:UyR\u0016|z'^0cN_E\u0002\u0003(I)"
         .length();
      char var1 = 19;
      int var7 = -1;

      label24:
      while (true) {
         byte var10000 = 87;
         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;
                     _wspNameMap = new HashMap<>();
                     String[] var8 = a;
                     FTP_UNSECURED = new FtpSecurity(var8[4], var8[2]);
                     FTPS_EXPLICIT = new FtpSecurity(var8[6], var8[3]);
                     FTPS_IMPLICIT = new FtpSecurity(var8[5], var8[1]);
                     _values = new FtpSecurity[]{FTP_UNSECURED, FTPS_EXPLICIT, FTPS_IMPLICIT};
                     return;
                  }

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

                  var2 = "\u0013r\u0012_\u001cZ]\u0019o\u0001E!\f\u0013r\u0012_\u0010O]\u0019o\u0001E!";
                  var4 = "\u0013r\u0012_\u001cZ]\u0019o\u0001E!\f\u0013r\u0012_\u0010O]\u0019o\u0001E!".length();
                  var1 = '\f';
                  var7 = -1;
            }

            var10000 = 108;
            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] ^ 65);
      }

      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 -> 25;
            case 1 -> 106;
            case 2 -> 14;
            case 3 -> 64;
            case 4 -> 57;
            case 5 -> 91;
            default -> 65;
         });
      }

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