package com.l7tech.security.keys;

import java.security.KeyException;
import java.security.NoSuchAlgorithmException;
import java.util.Map;

public class DesXmlEncKey extends AbstractXmlSecretKey {
   public static final Map<String, AbstractXmlSecretKey.Alg> SUPPORTED_ALGORITHM_MAP;
   static final long serialVersionUID = -5510197306411278067L;

   public DesXmlEncKey(byte[] var1, String var2) throws KeyException, NoSuchAlgorithmException {
      super(var1, var2, SUPPORTED_ALGORITHM_MAP);
   }

   static {
      String[] var0 = new String[3];
      int var4 = 0;
      String var3 = ".&\u00146G\u000e/1%\u0017h\n\u0012.) \u0007iO\u00110w}PrRYm*7\u000e%^Ur/\"\f#\u0019Dsk1\u0002%..&\u00146G\u000e/1%\u0017h\n\u0012.) \u0007iO\u00110w}PrRYm*7\u000e%^Ur/\"\f#\u0019Dsk1\u0002%\u0006\u0002\u00173#\u0019D";
      int var5 = ".&\u00146G\u000e/1%\u0017h\n\u0012.) \u0007iO\u00110w}PrRYm*7\u000e%^Ur/\"\f#\u0019Dsk1\u0002%..&\u00146G\u000e/1%\u0017h\n\u0012.) \u0007iO\u00110w}PrRYm*7\u000e%^Ur/\"\f#\u0019Dsk1\u0002%\u0006\u0002\u00173#\u0019D"
         .length();
      char var2 = '.';
      int var1 = -1;

      while (true) {
         String var10002 = b(24, b(var3.substring(++var1, var1 + var2)));
         byte var10001 = -1;
         var0[var4++] = var10002;
         if ((var1 += var2) >= var5) {
            SUPPORTED_ALGORITHM_MAP = Map.of(var0[1], new AbstractXmlSecretKey.Alg(var0[2], 192, var0[0]));
            return;
         }

         var2 = var3.charAt(var1);
      }
   }

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

      return var10000;
   }

   private static String b(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 -> 94;
            case 1 -> 74;
            case 2 -> 120;
            case 3 -> 94;
            case 4 -> 101;
            case 5 -> 57;
            default -> 24;
         });
      }

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