package com.l7tech.identity.ldap;

import com.l7tech.identity.IdentityProviderConfig;
import com.l7tech.objectmodel.Goid;
import java.io.Serializable;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.naming.InvalidNameException;
import javax.naming.directory.Attributes;
import javax.naming.ldap.LdapName;

abstract class LdapIdentityBase implements LdapIdentity, Serializable {
   private static final Logger logger;
   private transient LdapName ldapName;
   protected Goid providerId;
   protected String cn;
   protected String dn;
   protected transient Attributes attributes;
   static final long serialVersionUID = 9120641669541760269L;
   private static final String[] a;

   @Deprecated
   protected LdapIdentityBase() {
      this(IdentityProviderConfig.DEFAULT_GOID, null, null);
   }

   protected LdapIdentityBase(Goid var1, String var2, String var3) {
      this.providerId = var1;
      this.dn = var2;
      this.cn = var3;
   }

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

   @Override
   public String getDn() {
      return this.dn;
   }

   @Override
   public String getCn() {
      return this.cn;
   }

   @Override
   public Goid getProviderId() {
      return this.providerId;
   }

   public void setProviderId(Goid var1) {
      this.providerId = var1;
   }

   @Override
   public String getName() {
      return this.getCn();
   }

   public void setName(String var1) {
      this.setCn(var1);
   }

   public synchronized void setDn(String var1) {
      this.dn = var1;
      this.getLdapName();
   }

   public void setCn(String var1) {
      this.cn = var1;
   }

   protected synchronized LdapName getLdapName() {
      // $VF: Couldn't be decompiled
      // 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!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 0
      // 01: getfield com/l7tech/identity/ldap/LdapIdentityBase.ldapName Ljavax/naming/ldap/LdapName;
      // 04: ifnonnull 3f
      // 07: aload 0
      // 08: getfield com/l7tech/identity/ldap/LdapIdentityBase.dn Ljava/lang/String;
      // 0b: ifnonnull 15
      // 0e: goto 12
      // 11: athrow
      // 12: aconst_null
      // 13: areturn
      // 14: athrow
      // 15: aload 0
      // 16: new javax/naming/ldap/LdapName
      // 19: dup
      // 1a: aload 0
      // 1b: getfield com/l7tech/identity/ldap/LdapIdentityBase.dn Ljava/lang/String;
      // 1e: invokespecial javax/naming/ldap/LdapName.<init> (Ljava/lang/String;)V
      // 21: putfield com/l7tech/identity/ldap/LdapIdentityBase.ldapName Ljavax/naming/ldap/LdapName;
      // 24: goto 3f
      // 27: astore 1
      // 28: new java/lang/IllegalArgumentException
      // 2b: dup
      // 2c: aload 0
      // 2d: getfield com/l7tech/identity/ldap/LdapIdentityBase.dn Ljava/lang/String;
      // 30: getstatic com/l7tech/identity/ldap/LdapIdentityBase.a [Ljava/lang/String;
      // 33: bipush 0
      // 34: aaload
      // 35: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001" ]
      // 3a: aload 1
      // 3b: invokespecial java/lang/IllegalArgumentException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 3e: athrow
      // 3f: aload 0
      // 40: getfield com/l7tech/identity/ldap/LdapIdentityBase.ldapName Ljavax/naming/ldap/LdapName;
      // 43: areturn
      // try (3 -> 10): 10 javax/naming/InvalidNameException
      // try (0 -> 6): 7 javax/naming/InvalidNameException
      // try (11 -> 18): 19 javax/naming/InvalidNameException
   }

   @Override
   public boolean isEquivalentId(Object var1) {
      LdapName var2 = this.getLdapName();
      if (var1 instanceof LdapName var7) {
         return var7.equals(var2);
      } else {
         try {
            if (var1 == null) {
               return false;
            }
         } catch (InvalidNameException var6) {
            throw var6;
         }

         String var3 = var1.toString();

         try {
            LdapName var4 = new LdapName(var3);
            return var4.equals(var2);
         } catch (InvalidNameException var5) {
            logger.log(Level.INFO, a[1], var1);
            return false;
         }
      }
   }

   @Override
   public Attributes getAttributes() {
      return this.attributes;
   }

   public void setAttributes(Attributes var1) {
      this.attributes = var1;
   }

   @Override
   public boolean equals(Object param1) {
      // $VF: Couldn't be decompiled
      // 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!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 0
      // 01: aload 1
      // 02: if_acmpne 08
      // 05: bipush 1
      // 06: ireturn
      // 07: athrow
      // 08: aload 1
      // 09: ifnull 1b
      // 0c: aload 0
      // 0d: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
      // 10: aload 1
      // 11: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
      // 14: if_acmpeq 1e
      // 17: goto 1b
      // 1a: athrow
      // 1b: bipush 0
      // 1c: ireturn
      // 1d: athrow
      // 1e: aload 1
      // 1f: checkcast com/l7tech/identity/ldap/LdapIdentityBase
      // 22: astore 2
      // 23: aload 0
      // 24: invokevirtual com/l7tech/identity/ldap/LdapIdentityBase.getLdapName ()Ljavax/naming/ldap/LdapName;
      // 27: astore 3
      // 28: aload 2
      // 29: invokevirtual com/l7tech/identity/ldap/LdapIdentityBase.getLdapName ()Ljavax/naming/ldap/LdapName;
      // 2c: astore 4
      // 2e: aload 0
      // 2f: getfield com/l7tech/identity/ldap/LdapIdentityBase.providerId Lcom/l7tech/objectmodel/Goid;
      // 32: ifnull 4b
      // 35: aload 0
      // 36: getfield com/l7tech/identity/ldap/LdapIdentityBase.providerId Lcom/l7tech/objectmodel/Goid;
      // 39: aload 2
      // 3a: getfield com/l7tech/identity/ldap/LdapIdentityBase.providerId Lcom/l7tech/objectmodel/Goid;
      // 3d: invokevirtual com/l7tech/objectmodel/Goid.equals (Ljava/lang/Object;)Z
      // 40: ifne 55
      // 43: goto 47
      // 46: athrow
      // 47: goto 52
      // 4a: athrow
      // 4b: aload 2
      // 4c: getfield com/l7tech/identity/ldap/LdapIdentityBase.providerId Lcom/l7tech/objectmodel/Goid;
      // 4f: ifnull 55
      // 52: bipush 0
      // 53: ireturn
      // 54: athrow
      // 55: aload 0
      // 56: getfield com/l7tech/identity/ldap/LdapIdentityBase.attributes Ljavax/naming/directory/Attributes;
      // 59: ifnull 74
      // 5c: aload 0
      // 5d: getfield com/l7tech/identity/ldap/LdapIdentityBase.attributes Ljavax/naming/directory/Attributes;
      // 60: aload 2
      // 61: getfield com/l7tech/identity/ldap/LdapIdentityBase.attributes Ljavax/naming/directory/Attributes;
      // 64: invokeinterface javax/naming/directory/Attributes.equals (Ljava/lang/Object;)Z 2
      // 69: ifne 7e
      // 6c: goto 70
      // 6f: athrow
      // 70: goto 7b
      // 73: athrow
      // 74: aload 2
      // 75: getfield com/l7tech/identity/ldap/LdapIdentityBase.attributes Ljavax/naming/directory/Attributes;
      // 78: ifnull 7e
      // 7b: bipush 0
      // 7c: ireturn
      // 7d: athrow
      // 7e: aload 0
      // 7f: getfield com/l7tech/identity/ldap/LdapIdentityBase.cn Ljava/lang/String;
      // 82: ifnull 9b
      // 85: aload 0
      // 86: getfield com/l7tech/identity/ldap/LdapIdentityBase.cn Ljava/lang/String;
      // 89: aload 2
      // 8a: getfield com/l7tech/identity/ldap/LdapIdentityBase.cn Ljava/lang/String;
      // 8d: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 90: ifne a5
      // 93: goto 97
      // 96: athrow
      // 97: goto a2
      // 9a: athrow
      // 9b: aload 2
      // 9c: getfield com/l7tech/identity/ldap/LdapIdentityBase.cn Ljava/lang/String;
      // 9f: ifnull a5
      // a2: bipush 0
      // a3: ireturn
      // a4: athrow
      // a5: aload 3
      // a6: ifnull ba
      // a9: aload 3
      // aa: aload 4
      // ac: invokevirtual javax/naming/ldap/LdapName.equals (Ljava/lang/Object;)Z
      // af: ifne c2
      // b2: goto b6
      // b5: athrow
      // b6: goto bf
      // b9: athrow
      // ba: aload 4
      // bc: ifnull c2
      // bf: bipush 0
      // c0: ireturn
      // c1: athrow
      // c2: bipush 1
      // c3: ireturn
      // try (0 -> 5): 5 java/lang/IllegalArgumentException
      // try (6 -> 13): 14 java/lang/IllegalArgumentException
      // try (8 -> 17): 17 java/lang/IllegalArgumentException
      // try (27 -> 36): 37 java/lang/IllegalArgumentException
      // try (30 -> 39): 39 java/lang/IllegalArgumentException
      // try (40 -> 45): 45 java/lang/IllegalArgumentException
      // try (46 -> 55): 56 java/lang/IllegalArgumentException
      // try (49 -> 58): 58 java/lang/IllegalArgumentException
      // try (59 -> 64): 64 java/lang/IllegalArgumentException
      // try (65 -> 74): 75 java/lang/IllegalArgumentException
      // try (68 -> 77): 77 java/lang/IllegalArgumentException
      // try (78 -> 83): 83 java/lang/IllegalArgumentException
      // try (84 -> 90): 91 java/lang/IllegalArgumentException
      // try (86 -> 93): 93 java/lang/IllegalArgumentException
      // try (94 -> 98): 98 java/lang/IllegalArgumentException
   }

   @Override
   public int hashCode() {
      LdapName var2 = this.getLdapName();

      int var10000;
      label59: {
         try {
            if (var2 != null) {
               var10000 = var2.hashCode();
               break label59;
            }
         } catch (IllegalArgumentException var6) {
            throw var6;
         }

         var10000 = 0;
      }

      int var1 = var10000;

      int var10001;
      label51: {
         try {
            var10000 = 31 * var1;
            if (this.providerId != null) {
               var10001 = this.providerId.hashCode();
               break label51;
            }
         } catch (IllegalArgumentException var5) {
            throw var5;
         }

         var10001 = 0;
      }

      var1 = var10000 + var10001;

      label43: {
         try {
            var10000 = 31 * var1;
            if (this.cn != null) {
               var10001 = this.cn.hashCode();
               break label43;
            }
         } catch (IllegalArgumentException var4) {
            throw var4;
         }

         var10001 = 0;
      }

      var1 = var10000 + var10001;

      try {
         var10000 = 31 * var1;
         if (this.attributes != null) {
            return var10000 + this.attributes.hashCode();
         }
      } catch (IllegalArgumentException var3) {
         throw var3;
      }

      return var10000 + 0;
   }

   static {
      String[] var5 = new String[2];
      int var3 = 0;
      String var2 = "}\u001eP\u0015\fW\u007f}\u0016\u0003C\u0003Tb9WG\\\u0011Lb3\u0010V\\\u0011Pn9WMT\u000f]\u001a&G^\u0015\u000bK+3\u0018W\u0015\u0003\u0018}<\u001bJQBtO\u001c'\u0003q,";
      int var4 = "}\u001eP\u0015\fW\u007f}\u0016\u0003C\u0003Tb9WG\\\u0011Lb3\u0010V\\\u0011Pn9WMT\u000f]\u001a&G^\u0015\u000bK+3\u0018W\u0015\u0003\u0018}<\u001bJQBtO\u001c'\u0003q,"
         .length();
      char var1 = '"';
      int var0 = -1;

      while (true) {
         String var10002 = a(a(var2.substring(++var0, var0 + var1)));
         byte var10001 = -1;
         var5[var3++] = var10002;
         if ((var0 += var1) >= var4) {
            a = var5;
            logger = Logger.getLogger(LdapIdentityBase.class.getName());
            return;
         }

         var1 = var2.charAt(var0);
      }
   }

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

      return var10000;
   }

   private static String a(char[] var0) {
      int var10002 = var0.length;
      char[] var10001 = var0;
      int var10000 = var10002;

      for (int var1 = 0; var10000 > var1; var1++) {
         var10001[var1] = (char)(var10001[var1] ^ switch (var1 % 7) {
            case 0 -> 93;
            case 1 -> 119;
            case 2 -> 35;
            case 3 -> 53;
            case 4 -> 98;
            case 5 -> 56;
            default -> 11;
         });
      }

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