package com.l7tech.policy.bundle;

import com.l7tech.util.ValidationUtils;
import java.io.Serializable;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

public class BundleInfo implements Serializable {
   private final String id;
   private final String version;
   private final String name;
   private final String description;
   private final Set<String> jdbcConnectionReferences = new HashSet<>();
   private final String[] prerequisiteFolders;
   private Boolean hasActiveVersionMigrationBundleFile = false;
   private Boolean hasWsmanFile = false;
   static final long serialVersionUID = 689403370680666862L;
   private static final String[] a;

   public BundleInfo(@NotNull String var1, @NotNull String var2, @NotNull String var3, @NotNull String var4) {
      this.id = var1;
      this.version = var2;
      this.name = var3;
      this.description = var4;
      this.prerequisiteFolders = new String[0];
   }

   public BundleInfo(@NotNull String var1, @NotNull String var2, @NotNull String var3, @NotNull String var4, @NotNull String var5) {
      this.id = var1;
      this.version = var2;
      this.name = var3;
      this.description = var4;
      if ("".equals(var5)) {
         this.prerequisiteFolders = new String[0];
      } else {
         this.prerequisiteFolders = var5.split(",");
      }
   }

   public BundleInfo(@NotNull BundleInfo var1) {
      this.id = var1.id;
      this.version = var1.version;
      this.name = var1.name;
      this.description = var1.description;
      this.jdbcConnectionReferences.addAll(var1.getJdbcConnectionReferences());
      this.prerequisiteFolders = Arrays.copyOf(var1.prerequisiteFolders, var1.prerequisiteFolders.length);
   }

   public String getId() {
      return this.id;
   }

   public String getVersion() {
      return this.version;
   }

   public String getName() {
      return this.name;
   }

   public String getDescription() {
      return this.description;
   }

   public void addJdbcReference(String var1) {
      this.jdbcConnectionReferences.add(var1);
   }

   public Set<String> getJdbcConnectionReferences() {
      return Collections.unmodifiableSet(this.jdbcConnectionReferences);
   }

   public String[] getPrerequisiteFolders() {
      return this.prerequisiteFolders;
   }

   public Boolean hasActiveVersionMigrationBundleFile() {
      return this.hasActiveVersionMigrationBundleFile;
   }

   public void setHasActiveVersionMigrationBundleFile(Boolean var1) {
      this.hasActiveVersionMigrationBundleFile = var1;
   }

   public Boolean hasWsmanFile() {
      return this.hasWsmanFile;
   }

   public void setHasWsmanFile(Boolean var1) {
      this.hasWsmanFile = var1;
   }

   @Override
   public boolean equals(Object var1) {
      try {
         if (this == var1) {
            return true;
         }
      } catch (IllegalArgumentException var7) {
         throw a(var7);
      }

      try {
         if (!(var1 instanceof BundleInfo)) {
            return false;
         }
      } catch (IllegalArgumentException var12) {
         throw a(var12);
      }

      BundleInfo var2 = (BundleInfo)var1;

      try {
         if (!this.description.equals(var2.description)) {
            return false;
         }
      } catch (IllegalArgumentException var11) {
         throw a(var11);
      }

      try {
         if (!this.id.equals(var2.id)) {
            return false;
         }
      } catch (IllegalArgumentException var6) {
         throw a(var6);
      }

      try {
         if (!this.jdbcConnectionReferences.equals(var2.jdbcConnectionReferences)) {
            return false;
         }
      } catch (IllegalArgumentException var10) {
         throw a(var10);
      }

      try {
         if (!Arrays.equals(this.prerequisiteFolders, var2.prerequisiteFolders)) {
            return false;
         }
      } catch (IllegalArgumentException var5) {
         throw a(var5);
      }

      try {
         if (!this.name.equals(var2.name)) {
            return false;
         }
      } catch (IllegalArgumentException var9) {
         throw a(var9);
      }

      try {
         if (!this.version.equals(var2.version)) {
            return false;
         }
      } catch (IllegalArgumentException var4) {
         throw a(var4);
      }

      try {
         if (this.hasActiveVersionMigrationBundleFile != var2.hasActiveVersionMigrationBundleFile) {
            return false;
         }
      } catch (IllegalArgumentException var8) {
         throw a(var8);
      }

      try {
         return this.hasWsmanFile == var2.hasWsmanFile;
      } catch (IllegalArgumentException var3) {
         throw a(var3);
      }
   }

   @Override
   public int hashCode() {
      int var1 = this.id.hashCode();
      var1 = 31 * var1 + this.version.hashCode();
      var1 = 31 * var1 + this.name.hashCode();
      var1 = 31 * var1 + this.description.hashCode();
      var1 = 31 * var1 + this.jdbcConnectionReferences.hashCode();
      var1 = 31 * var1 + Arrays.hashCode(this.prerequisiteFolders);
      var1 = 31 * var1 + this.hasActiveVersionMigrationBundleFile.hashCode();
      return 31 * var1 + this.hasWsmanFile.hashCode();
   }

   @Override
   public String toString() {
      String var10000 = this.id;
      String var10001 = this.version;
      String var10002 = this.name;
      String var10003 = this.description;
      String var10004 = String.valueOf(this.jdbcConnectionReferences);
      String var10005 = Arrays.toString(this.prerequisiteFolders);
      Boolean var1 = this.hasWsmanFile;
      Boolean var2 = this.hasActiveVersionMigrationBundleFile;
      String var3 = var10005;
      String var4 = var10004;
      String var5 = var10003;
      String var6 = var10002;
      String var7 = var10001;
      String var8 = var10000;
      String[] var9 = a;
      return var9[5] + var8 + var9[12] + var7 + var9[16] + var6 + var9[19] + var5 + var9[6] + var4 + var9[7] + var3 + var9[21] + var2 + var9[14] + var1 + "}";
   }

   @Nullable
   public static String getPrefixedUrlErrorMsg(String var0) {
      String[] var1 = new String[]{"\"", "&", "'", "<", ">"};

      for (String var5 : var1) {
         try {
            if (var0.contains(var5)) {
               return a[3] + var5 + a[9];
            }
         } catch (IllegalArgumentException var8) {
            throw a(var8);
         }
      }

      String[] var6 = a;
      String var9 = var6[17] + var0 + var6[0];

      try {
         return !ValidationUtils.isValidUrl(var9) ? var6[1] + var0 + var6[8] : null;
      } catch (IllegalArgumentException var7) {
         throw a(var7);
      }
   }

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

   static {
      String[] var5 = new String[23];
      int var3 = 0;
      String var2 = "{\u0015?'G'\u0010\u001d\n<#Y7Dt\u00148'S7XtC\u0002=\u0000\u0013\u001d\n<#Y7Dt\u0007\"#G?C \u00018b\u0012\u000b0\u00019!G7P \r%,\u000f\u0016\u0011$&Y;i:\u0002%9\\:\u001ds\u001csHj(Q<C\u0017\u000b$,P=T=\u000b$\u0010P8E&\u0001$!P-\u001d\u0016xD:0P,E%\u0011#1\\*E\u0012\u000b&&P,SiIsJj\u000bA~M!\u0017>bW;\u0000$\u000b91\\<L1D>-\u0015=O:\u0017>0@=Tt\u0005j4T2I0D8-@*I:\u0003j\u0017g\u0017\u0000!\u0017#,R~T<\u0001j2G;F=\u001cd,sD#1\u00150O D+.Y1W1\u0000j+[~T<\u0001j+[-T5\b&#A7O:D:0P8I,J\u0007\"\u000181\\1N\u0013$\u0016/0P/U=\u0017#6P\u0018O8\u0000/0F\fsHj4P,S=\u000b$\u007f\u0012\u0004:\u0005''\u000fxD\"#F\tS9\u0005$\u0004\\2Ei#7\u000b'mYiT1\u0007\"mE1L=\u00073mW+N0\b/mw+N0\b/\u000b[8O\tsHj,T3EiC\u0014<\u0010>2\u000fq\u000f'\u0017-lV1Mn\\zz\u0005q>\u0015\u0016-7X;N D,-G~`\u001a\u000b>\f@2Lt\u0014+0T3E \u00018b\u0012{SsD%$\u0015{SzA9bX+S D$-A~B1D$7Y2\u0010sHj&P-C&\r:6\\1NiC\u0006h\r$+A`";
      int var4 = "{\u0015?'G'\u0010\u001d\n<#Y7Dt\u00148'S7XtC\u0002=\u0000\u0013\u001d\n<#Y7Dt\u0007\"#G?C \u00018b\u0012\u000b0\u00019!G7P \r%,\u000f\u0016\u0011$&Y;i:\u0002%9\\:\u001ds\u001csHj(Q<C\u0017\u000b$,P=T=\u000b$\u0010P8E&\u0001$!P-\u001d\u0016xD:0P,E%\u0011#1\\*E\u0012\u000b&&P,SiIsJj\u000bA~M!\u0017>bW;\u0000$\u000b91\\<L1D>-\u0015=O:\u0017>0@=Tt\u0005j4T2I0D8-@*I:\u0003j\u0017g\u0017\u0000!\u0017#,R~T<\u0001j2G;F=\u001cd,sD#1\u00150O D+.Y1W1\u0000j+[~T<\u0001j+[-T5\b&#A7O:D:0P8I,J\u0007\"\u000181\\1N\u0013$\u0016/0P/U=\u0017#6P\u0018O8\u0000/0F\fsHj4P,S=\u000b$\u007f\u0012\u0004:\u0005''\u000fxD\"#F\tS9\u0005$\u0004\\2Ei#7\u000b'mYiT1\u0007\"mE1L=\u00073mW+N0\b/mw+N0\b/\u000b[8O\tsHj,T3EiC\u0014<\u0010>2\u000fq\u000f'\u0017-lV1Mn\\zz\u0005q>\u0015\u0016-7X;N D,-G~`\u001a\u000b>\f@2Lt\u0014+0T3E \u00018b\u0012{SsD%$\u0015{SzA9bX+S D$-A~B1D$7Y2\u0010sHj&P-C&\r:6\\1NiC\u0006h\r$+A`"
         .length();
      char var1 = 6;
      int var7 = -1;

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

         while (true) {
            String var8 = a(var10000, a(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     a = var5;
                     return;
                  }

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

                  var2 = "A}\u001b\u001a\u007f&z\u00194\u0005\u001eZ\u0002k\u001e4\u001c\u0015A\u000e~\u001f<\u0007\u0012c\t[\u00183\u0017\u0017i!p\u00018N\n\u000f(\u001d\u001f`\u0002P\u0003;\u001c";
                  var4 = "A}\u001b\u001a\u007f&z\u00194\u0005\u001eZ\u0002k\u001e4\u001c\u0015A\u000e~\u001f<\u0007\u0012c\t[\u00183\u0017\u0017i!p\u00018N\n\u000f(\u001d\u001f`\u0002P\u0003;\u001c"
                     .length();
                  var1 = '&';
                  var7 = -1;
            }

            var10000 = 104;
            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] ^ 113);
      }

      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 -> 5;
            case 1 -> 53;
            case 2 -> 27;
            case 3 -> 19;
            case 4 -> 100;
            case 5 -> 15;
            default -> 113;
         });
      }

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