package com.l7tech.server;

import com.l7tech.gateway.common.security.keystore.KeystoreFileEntityHeader;
import com.l7tech.gateway.common.security.keystore.SsgKeyEntry;
import com.l7tech.objectmodel.Entity;
import com.l7tech.objectmodel.EntityHeader;
import com.l7tech.objectmodel.EntityHeaderSet;
import com.l7tech.objectmodel.EntityType;
import com.l7tech.objectmodel.FindException;
import com.l7tech.objectmodel.Goid;
import com.l7tech.objectmodel.NamedEntity;
import com.l7tech.objectmodel.SsgKeyHeader;
import com.l7tech.objectmodel.ZoneableEntity;
import com.l7tech.policy.DesignTimeEntityProvider;
import com.l7tech.policy.PolicyUtil;
import com.l7tech.policy.assertion.UsesEntitiesAtDesignTime;
import com.l7tech.server.audit.AuditRecordManager;
import com.l7tech.server.entity.GenericEntityManager;
import com.l7tech.server.identity.IdentityProviderFactory;
import com.l7tech.server.module.ServerModuleFileManager;
import com.l7tech.server.policy.CustomKeyValueStoreManager;
import com.l7tech.server.policy.EncapsulatedAssertionConfigManager;
import com.l7tech.server.policy.PolicyManager;
import com.l7tech.server.security.keystore.SsgKeyFinder;
import com.l7tech.server.security.keystore.SsgKeyStoreManager;
import com.l7tech.util.ExceptionUtils;
import com.l7tech.util.Functions.BinaryVoid;
import java.io.Serializable;
import java.security.KeyStoreException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.logging.Logger;
import org.hibernate.HibernateException;
import org.hibernate.metadata.ClassMetadata;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.springframework.orm.hibernate5.support.HibernateDaoSupport;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
public class EntityFinderImpl extends HibernateDaoSupport implements EntityFinder, DesignTimeEntityProvider {
   private static final Logger a;
   private IdentityProviderFactory b;
   private PolicyManager c;
   private SsgKeyStoreManager d;
   private GenericEntityManager e;
   private EncapsulatedAssertionConfigManager f;
   private AuditRecordManager g;
   private CustomKeyValueStoreManager h;
   private ServerModuleFileManager i;
   private static final int j = 100;
   private static final String[] k;

   public void setEncapsulatedAssertionConfigManager(EncapsulatedAssertionConfigManager var1) {
      this.f = var1;
   }

   public void setIdentityProviderFactory(IdentityProviderFactory var1) {
      this.b = var1;
   }

   public void setPolicyManager(PolicyManager var1) {
      this.c = var1;
   }

   public void setKeyStoreManager(SsgKeyStoreManager var1) {
      this.d = var1;
   }

   public void setGenericEntityManager(GenericEntityManager var1) {
      this.e = var1;
   }

   public void setAuditRecordManager(@NotNull AuditRecordManager var1) {
      try {
         if (var1 == null) {
            a(0);
         }
      } catch (IllegalArgumentException var2) {
         throw a(var2);
      }

      this.g = var1;
   }

   public void setCustomKeyValueStoreManager(@NotNull CustomKeyValueStoreManager var1) {
      try {
         if (var1 == null) {
            a(1);
         }
      } catch (IllegalArgumentException var2) {
         throw a(var2);
      }

      this.h = var1;
   }

   public void setServerModuleFileManager(@NotNull ServerModuleFileManager var1) {
      try {
         if (var1 == null) {
            a(2);
         }
      } catch (IllegalArgumentException var2) {
         throw a(var2);
      }

      this.i = var1;
   }

   @Transactional(readOnly = true)
   @Override
   public EntityHeaderSet<EntityHeader> findAll(Class<? extends Entity> param1) throws FindException {
      // $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 1
      // 01: ifnonnull 16
      // 04: new java/lang/IllegalArgumentException
      // 07: dup
      // 08: getstatic com/l7tech/server/EntityFinderImpl.k [Ljava/lang/String;
      // 0b: bipush 35
      // 0d: aaload
      // 0e: invokespecial java/lang/IllegalArgumentException.<init> (Ljava/lang/String;)V
      // 11: athrow
      // 12: invokestatic com/l7tech/server/EntityFinderImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 15: athrow
      // 16: aload 1
      // 17: invokestatic com/l7tech/objectmodel/EntityType.findTypeByEntity (Ljava/lang/Class;)Lcom/l7tech/objectmodel/EntityType;
      // 1a: astore 2
      // 1b: getstatic com/l7tech/objectmodel/EntityType.SSG_KEY_ENTRY Lcom/l7tech/objectmodel/EntityType;
      // 1e: aload 2
      // 1f: if_acmpne 2b
      // 22: aload 0
      // 23: invokevirtual com/l7tech/server/EntityFinderImpl.a ()Lcom/l7tech/objectmodel/EntityHeaderSet;
      // 26: areturn
      // 27: invokestatic com/l7tech/server/EntityFinderImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2a: athrow
      // 2b: getstatic com/l7tech/objectmodel/EntityType.SSG_KEYSTORE Lcom/l7tech/objectmodel/EntityType;
      // 2e: aload 2
      // 2f: if_acmpne 3b
      // 32: aload 0
      // 33: invokevirtual com/l7tech/server/EntityFinderImpl.b ()Lcom/l7tech/objectmodel/EntityHeaderSet;
      // 36: areturn
      // 37: invokestatic com/l7tech/server/EntityFinderImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 3a: athrow
      // 3b: ldc com/l7tech/objectmodel/Entity
      // 3d: aload 1
      // 3e: invokevirtual java/lang/Class.isAssignableFrom (Ljava/lang/Class;)Z
      // 41: ifne 87
      // 44: getstatic com/l7tech/objectmodel/EntityType.USER Lcom/l7tech/objectmodel/EntityType;
      // 47: aload 2
      // 48: invokevirtual com/l7tech/objectmodel/EntityType.equals (Ljava/lang/Object;)Z
      // 4b: ifne 87
      // 4e: goto 55
      // 51: invokestatic com/l7tech/server/EntityFinderImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 54: athrow
      // 55: getstatic com/l7tech/objectmodel/EntityType.GROUP Lcom/l7tech/objectmodel/EntityType;
      // 58: aload 2
      // 59: invokevirtual com/l7tech/objectmodel/EntityType.equals (Ljava/lang/Object;)Z
      // 5c: ifne 87
      // 5f: goto 66
      // 62: invokestatic com/l7tech/server/EntityFinderImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 65: athrow
      // 66: new com/l7tech/objectmodel/UnsupportedEntityTypeException
      // 69: dup
      // 6a: aload 2
      // 6b: invokevirtual com/l7tech/objectmodel/EntityType.getName ()Ljava/lang/String;
      // 6e: getstatic com/l7tech/server/EntityFinderImpl.k [Ljava/lang/String;
      // 71: bipush 10
      // 73: aaload
      // 74: swap
      // 75: getstatic com/l7tech/server/EntityFinderImpl.k [Ljava/lang/String;
      // 78: bipush 4
      // 79: aaload
      // 7a: invokedynamic makeConcatWithConstants (Ljava/lang/String;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\u0001" ]
      // 7f: invokespecial com/l7tech/objectmodel/UnsupportedEntityTypeException.<init> (Ljava/lang/String;)V
      // 82: athrow
      // 83: invokestatic com/l7tech/server/EntityFinderImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 86: athrow
      // 87: aload 0
      // 88: invokevirtual com/l7tech/server/EntityFinderImpl.getHibernateTemplate ()Lorg/springframework/orm/hibernate5/HibernateTemplate;
      // 8b: new com/l7tech/server/bg
      // 8e: dup
      // 8f: aload 0
      // 90: aload 1
      // 91: aload 2
      // 92: invokespecial com/l7tech/server/bg.<init> (Lcom/l7tech/server/EntityFinderImpl;Ljava/lang/Class;Lcom/l7tech/objectmodel/EntityType;)V
      // 95: invokevirtual org/springframework/orm/hibernate5/HibernateTemplate.execute (Lorg/springframework/orm/hibernate5/HibernateCallback;)Ljava/lang/Object;
      // 98: checkcast com/l7tech/objectmodel/EntityHeaderSet
      // 9b: areturn
      // 9c: astore 3
      // 9d: new com/l7tech/objectmodel/FindException
      // a0: dup
      // a1: getstatic com/l7tech/server/EntityFinderImpl.k [Ljava/lang/String;
      // a4: astore 4
      // a6: aload 4
      // a8: bipush 23
      // aa: aaload
      // ab: aload 3
      // ac: invokespecial com/l7tech/objectmodel/FindException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // af: athrow
      // b0: astore 3
      // b1: new com/l7tech/objectmodel/FindException
      // b4: dup
      // b5: getstatic com/l7tech/server/EntityFinderImpl.k [Ljava/lang/String;
      // b8: astore 4
      // ba: aload 4
      // bc: bipush 22
      // be: aaload
      // bf: aload 3
      // c0: invokespecial com/l7tech/objectmodel/FindException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // c3: athrow
      // c4: astore 3
      // c5: new com/l7tech/objectmodel/FindException
      // c8: dup
      // c9: getstatic com/l7tech/server/EntityFinderImpl.k [Ljava/lang/String;
      // cc: bipush 22
      // ce: aaload
      // cf: aload 3
      // d0: invokespecial com/l7tech/objectmodel/FindException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // d3: athrow
      // try (0 -> 9): 9 org/springframework/dao/DataAccessResourceFailureException
      // try (14 -> 19): 75 org/springframework/dao/DataAccessResourceFailureException
      // try (22 -> 27): 75 org/springframework/dao/DataAccessResourceFailureException
      // try (41 -> 62): 62 org/springframework/dao/DataAccessResourceFailureException
      // try (34 -> 45): 46 org/springframework/dao/DataAccessResourceFailureException
      // try (30 -> 38): 39 org/springframework/dao/DataAccessResourceFailureException
      // try (30 -> 74): 75 org/springframework/dao/DataAccessResourceFailureException
      // try (14 -> 19): 86 java/lang/IllegalStateException
      // try (22 -> 27): 86 java/lang/IllegalStateException
      // try (30 -> 74): 86 java/lang/IllegalStateException
      // try (14 -> 19): 97 org/hibernate/HibernateException
      // try (14 -> 20): 20 com/l7tech/objectmodel/FindException
      // try (22 -> 27): 97 org/hibernate/HibernateException
      // try (22 -> 28): 28 com/l7tech/objectmodel/FindException
      // try (30 -> 74): 97 org/hibernate/HibernateException
   }

   private EntityHeaderSet<EntityHeader> a() throws FindException {
      try {
         EntityHeaderSet var1 = new EntityHeaderSet();

         for (SsgKeyFinder var3 : this.d.findAll()) {
            for (String var5 : var3.getAliases()) {
               SsgKeyEntry var6 = var3.getCertificateChain(var5);
               var1.add(new SsgKeyHeader(var6.getId(), var6.getKeystoreId(), var6.getAlias(), var6.getName()));
            }
         }

         return var1;
      } catch (KeyStoreException var7) {
         throw new FindException(k[6] + ExceptionUtils.getMessage(var7), var7);
      }
   }

   private EntityHeaderSet<EntityHeader> b() throws FindException {
      try {
         EntityHeaderSet var1 = new EntityHeaderSet();

         for (SsgKeyFinder var3 : this.d.findAll()) {
            EntityHeaderSet var10000;
            KeystoreFileEntityHeader var10001;
            KeystoreFileEntityHeader var10002;
            Goid var10003;
            String var10004;
            String var10005;
            boolean var10006;
            label26: {
               try {
                  var10000 = var1;
                  var10001 = new KeystoreFileEntityHeader;
                  var10002 = var10001;
                  var10003 = var3.getGoid();
                  var10004 = var3.getName();
                  var10005 = var3.getType().toString();
                  if (!var3.isMutable()) {
                     var10006 = true;
                     break label26;
                  }
               } catch (KeyStoreException var4) {
                  throw a(var4);
               }

               var10006 = false;
            }

            var10002./* $VF: Unable to resugar constructor */<init>(var10003, var10004, var10005, var10006);
            var10000.add(var10001);
         }

         return var1;
      } catch (KeyStoreException var5) {
         throw new FindException(k[36] + ExceptionUtils.getMessage(var5), var5);
      }
   }

   @Transactional(readOnly = true)
   @Override
   public Entity find(@NotNull EntityHeader param1) throws FindException {
      // $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:
      // 000: aload 1
      // 001: ifnonnull 00f
      // 004: bipush 3
      // 005: invokestatic com/l7tech/server/EntityFinderImpl.a (I)V
      // 008: goto 00f
      // 00b: invokestatic com/l7tech/server/EntityFinderImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 00e: athrow
      // 00f: aload 1
      // 010: instanceof com/l7tech/objectmodel/IdentityHeader
      // 013: ifeq 07f
      // 016: aload 1
      // 017: checkcast com/l7tech/objectmodel/IdentityHeader
      // 01a: astore 2
      // 01b: aload 0
      // 01c: getfield com/l7tech/server/EntityFinderImpl.b Lcom/l7tech/server/identity/IdentityProviderFactory;
      // 01f: aload 2
      // 020: invokevirtual com/l7tech/objectmodel/IdentityHeader.getProviderGoid ()Lcom/l7tech/objectmodel/Goid;
      // 023: invokevirtual com/l7tech/server/identity/IdentityProviderFactory.getProvider (Lcom/l7tech/objectmodel/Goid;)Lcom/l7tech/identity/IdentityProvider;
      // 026: astore 3
      // 027: aload 3
      // 028: ifnonnull 031
      // 02b: aconst_null
      // 02c: areturn
      // 02d: invokestatic com/l7tech/server/EntityFinderImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 030: athrow
      // 031: aload 1
      // 032: invokevirtual com/l7tech/objectmodel/EntityHeader.getType ()Lcom/l7tech/objectmodel/EntityType;
      // 035: getstatic com/l7tech/objectmodel/EntityType.USER Lcom/l7tech/objectmodel/EntityType;
      // 038: if_acmpne 04f
      // 03b: aload 3
      // 03c: invokeinterface com/l7tech/identity/IdentityProvider.getUserManager ()Lcom/l7tech/identity/UserManager; 1
      // 041: aload 1
      // 042: invokevirtual com/l7tech/objectmodel/EntityHeader.getStrId ()Ljava/lang/String;
      // 045: invokeinterface com/l7tech/identity/UserManager.findByPrimaryKey (Ljava/lang/String;)Lcom/l7tech/identity/User; 2
      // 04a: areturn
      // 04b: invokestatic com/l7tech/server/EntityFinderImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 04e: athrow
      // 04f: aload 1
      // 050: invokevirtual com/l7tech/objectmodel/EntityHeader.getType ()Lcom/l7tech/objectmodel/EntityType;
      // 053: getstatic com/l7tech/objectmodel/EntityType.GROUP Lcom/l7tech/objectmodel/EntityType;
      // 056: if_acmpne 06d
      // 059: aload 3
      // 05a: invokeinterface com/l7tech/identity/IdentityProvider.getGroupManager ()Lcom/l7tech/identity/GroupManager; 1
      // 05f: aload 1
      // 060: invokevirtual com/l7tech/objectmodel/EntityHeader.getStrId ()Ljava/lang/String;
      // 063: invokeinterface com/l7tech/identity/GroupManager.findByPrimaryKey (Ljava/lang/String;)Lcom/l7tech/identity/Group; 2
      // 068: areturn
      // 069: invokestatic com/l7tech/server/EntityFinderImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 06c: athrow
      // 06d: new java/lang/IllegalArgumentException
      // 070: dup
      // 071: getstatic com/l7tech/server/EntityFinderImpl.k [Ljava/lang/String;
      // 074: astore 5
      // 076: aload 5
      // 078: bipush 38
      // 07a: aaload
      // 07b: invokespecial java/lang/IllegalArgumentException.<init> (Ljava/lang/String;)V
      // 07e: athrow
      // 07f: aload 1
      // 080: instanceof com/l7tech/objectmodel/SsgKeyHeader
      // 083: ifeq 0bb
      // 086: aload 1
      // 087: checkcast com/l7tech/objectmodel/SsgKeyHeader
      // 08a: astore 2
      // 08b: aload 0
      // 08c: getfield com/l7tech/server/EntityFinderImpl.d Lcom/l7tech/server/security/keystore/SsgKeyStoreManager;
      // 08f: aload 2
      // 090: invokevirtual com/l7tech/objectmodel/SsgKeyHeader.getAlias ()Ljava/lang/String;
      // 093: aload 2
      // 094: invokevirtual com/l7tech/objectmodel/SsgKeyHeader.getKeystoreId ()Lcom/l7tech/objectmodel/Goid;
      // 097: invokeinterface com/l7tech/server/security/keystore/SsgKeyStoreManager.lookupKeyByKeyAlias (Ljava/lang/String;Lcom/l7tech/objectmodel/Goid;)Lcom/l7tech/gateway/common/security/keystore/SsgKeyEntry; 3
      // 09c: areturn
      // 09d: astore 3
      // 09e: new com/l7tech/objectmodel/FindException
      // 0a1: dup
      // 0a2: aload 2
      // 0a3: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 0a6: getstatic com/l7tech/server/EntityFinderImpl.k [Ljava/lang/String;
      // 0a9: astore 5
      // 0ab: aload 5
      // 0ad: bipush 13
      // 0af: aaload
      // 0b0: swap
      // 0b1: 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" ]
      // 0b6: aload 3
      // 0b7: invokespecial com/l7tech/objectmodel/FindException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 0ba: athrow
      // 0bb: getstatic com/l7tech/objectmodel/EntityType.POLICY Lcom/l7tech/objectmodel/EntityType;
      // 0be: aload 1
      // 0bf: invokevirtual com/l7tech/objectmodel/EntityHeader.getType ()Lcom/l7tech/objectmodel/EntityType;
      // 0c2: if_acmpne 0e4
      // 0c5: aload 1
      // 0c6: invokevirtual com/l7tech/objectmodel/EntityHeader.getStrId ()Ljava/lang/String;
      // 0c9: astore 2
      // 0ca: aload 0
      // 0cb: getfield com/l7tech/server/EntityFinderImpl.c Lcom/l7tech/server/policy/PolicyManager;
      // 0ce: aload 2
      // 0cf: invokestatic com/l7tech/objectmodel/Goid.parseGoid (Ljava/lang/String;)Lcom/l7tech/objectmodel/Goid;
      // 0d2: invokeinterface com/l7tech/server/policy/PolicyManager.findByPrimaryKey (Lcom/l7tech/objectmodel/Goid;)Lcom/l7tech/objectmodel/PersistentEntity; 2
      // 0d7: areturn
      // 0d8: astore 3
      // 0d9: aload 0
      // 0da: getfield com/l7tech/server/EntityFinderImpl.c Lcom/l7tech/server/policy/PolicyManager;
      // 0dd: aload 2
      // 0de: invokeinterface com/l7tech/server/policy/PolicyManager.findByGuid (Ljava/lang/String;)Lcom/l7tech/policy/Policy; 2
      // 0e3: areturn
      // 0e4: getstatic com/l7tech/objectmodel/EntityType.ENCAPSULATED_ASSERTION Lcom/l7tech/objectmodel/EntityType;
      // 0e7: aload 1
      // 0e8: invokevirtual com/l7tech/objectmodel/EntityHeader.getType ()Lcom/l7tech/objectmodel/EntityType;
      // 0eb: if_acmpne 138
      // 0ee: aload 1
      // 0ef: instanceof com/l7tech/objectmodel/GuidEntityHeader
      // 0f2: ifeq 12a
      // 0f5: goto 0fc
      // 0f8: invokestatic com/l7tech/server/EntityFinderImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0fb: athrow
      // 0fc: aload 0
      // 0fd: getfield com/l7tech/server/EntityFinderImpl.f Lcom/l7tech/server/policy/EncapsulatedAssertionConfigManager;
      // 100: ifnull 12a
      // 103: goto 10a
      // 106: invokestatic com/l7tech/server/EntityFinderImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 109: athrow
      // 10a: aload 1
      // 10b: checkcast com/l7tech/objectmodel/GuidEntityHeader
      // 10e: astore 2
      // 10f: aload 2
      // 110: invokevirtual com/l7tech/objectmodel/GuidEntityHeader.getGuid ()Ljava/lang/String;
      // 113: astore 3
      // 114: aload 3
      // 115: ifnull 12a
      // 118: aload 0
      // 119: getfield com/l7tech/server/EntityFinderImpl.f Lcom/l7tech/server/policy/EncapsulatedAssertionConfigManager;
      // 11c: aload 3
      // 11d: invokeinterface com/l7tech/server/policy/EncapsulatedAssertionConfigManager.findByGuid (Ljava/lang/String;)Lcom/l7tech/objectmodel/GuidEntity; 2
      // 122: checkcast com/l7tech/objectmodel/Entity
      // 125: areturn
      // 126: invokestatic com/l7tech/server/EntityFinderImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 129: athrow
      // 12a: aload 0
      // 12b: getfield com/l7tech/server/EntityFinderImpl.f Lcom/l7tech/server/policy/EncapsulatedAssertionConfigManager;
      // 12e: aload 1
      // 12f: invokevirtual com/l7tech/objectmodel/EntityHeader.getGoid ()Lcom/l7tech/objectmodel/Goid;
      // 132: invokeinterface com/l7tech/server/policy/EncapsulatedAssertionConfigManager.findByPrimaryKey (Lcom/l7tech/objectmodel/Goid;)Lcom/l7tech/objectmodel/PersistentEntity; 2
      // 137: areturn
      // 138: aload 1
      // 139: instanceof com/l7tech/gateway/common/audit/ExternalAuditRecordHeader
      // 13c: ifeq 23a
      // 13f: aload 1
      // 140: checkcast com/l7tech/gateway/common/audit/ExternalAuditRecordHeader
      // 143: astore 2
      // 144: aload 2
      // 145: invokevirtual com/l7tech/gateway/common/audit/ExternalAuditRecordHeader.getRecordType ()Ljava/lang/String;
      // 148: getstatic com/l7tech/gateway/common/audit/AuditRecordUtils.TYPE_ADMIN Ljava/lang/String;
      // 14b: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 14e: ifeq 18f
      // 151: new com/l7tech/gateway/common/audit/AdminAuditRecord
      // 154: dup
      // 155: aload 2
      // 156: invokevirtual com/l7tech/gateway/common/audit/ExternalAuditRecordHeader.getLevel ()Ljava/util/logging/Level;
      // 159: aload 2
      // 15a: invokevirtual com/l7tech/gateway/common/audit/ExternalAuditRecordHeader.getNodeId ()Ljava/lang/String;
      // 15d: new com/l7tech/objectmodel/Goid
      // 160: dup
      // 161: ldc2_w 987
      // 164: ldc2_w 123
      // 167: invokespecial com/l7tech/objectmodel/Goid.<init> (JJ)V
      // 16a: aconst_null
      // 16b: aload 2
      // 16c: invokevirtual com/l7tech/gateway/common/audit/ExternalAuditRecordHeader.getName ()Ljava/lang/String;
      // 16f: bipush 79
      // 171: aconst_null
      // 172: new com/l7tech/objectmodel/Goid
      // 175: dup
      // 176: ldc2_w 123
      // 179: ldc2_w 456
      // 17c: invokespecial com/l7tech/objectmodel/Goid.<init> (JJ)V
      // 17f: getstatic com/l7tech/server/EntityFinderImpl.k [Ljava/lang/String;
      // 182: bipush 40
      // 184: aaload
      // 185: aconst_null
      // 186: aconst_null
      // 187: invokespecial com/l7tech/gateway/common/audit/AdminAuditRecord.<init> (Ljava/util/logging/Level;Ljava/lang/String;Lcom/l7tech/objectmodel/Goid;Ljava/lang/String;Ljava/lang/String;CLjava/lang/String;Lcom/l7tech/objectmodel/Goid;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
      // 18a: areturn
      // 18b: invokestatic com/l7tech/server/EntityFinderImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 18e: athrow
      // 18f: aload 2
      // 190: invokevirtual com/l7tech/gateway/common/audit/ExternalAuditRecordHeader.getRecordType ()Ljava/lang/String;
      // 193: getstatic com/l7tech/gateway/common/audit/AuditRecordUtils.TYPE_MESSAGE Ljava/lang/String;
      // 196: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 199: ifeq 1dc
      // 19c: new com/l7tech/gateway/common/audit/MessageSummaryAuditRecord
      // 19f: dup
      // 1a0: aload 2
      // 1a1: invokevirtual com/l7tech/gateway/common/audit/ExternalAuditRecordHeader.getLevel ()Ljava/util/logging/Level;
      // 1a4: aload 2
      // 1a5: invokevirtual com/l7tech/gateway/common/audit/ExternalAuditRecordHeader.getNodeId ()Ljava/lang/String;
      // 1a8: aconst_null
      // 1a9: getstatic com/l7tech/policy/assertion/AssertionStatus.NONE Lcom/l7tech/policy/assertion/AssertionStatus;
      // 1ac: aconst_null
      // 1ad: aconst_null
      // 1ae: bipush 3
      // 1af: aconst_null
      // 1b0: bipush 3
      // 1b1: bipush 4
      // 1b2: bipush 3
      // 1b3: new com/l7tech/objectmodel/Goid
      // 1b6: dup
      // 1b7: lconst_0
      // 1b8: ldc2_w 45
      // 1bb: invokespecial com/l7tech/objectmodel/Goid.<init> (JJ)V
      // 1be: aconst_null
      // 1bf: aconst_null
      // 1c0: bipush 0
      // 1c1: getstatic com/l7tech/security/token/SecurityTokenType.HTTP_BASIC Lcom/l7tech/security/token/SecurityTokenType;
      // 1c4: new com/l7tech/objectmodel/Goid
      // 1c7: dup
      // 1c8: ldc2_w 123
      // 1cb: ldc2_w 456
      // 1ce: invokespecial com/l7tech/objectmodel/Goid.<init> (JJ)V
      // 1d1: aconst_null
      // 1d2: aconst_null
      // 1d3: aconst_null
      // 1d4: invokespecial com/l7tech/gateway/common/audit/MessageSummaryAuditRecord.<init> (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Lcom/l7tech/policy/assertion/AssertionStatus;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;IIILcom/l7tech/objectmodel/Goid;Ljava/lang/String;Ljava/lang/Object;ZLcom/l7tech/security/token/SecurityTokenType;Lcom/l7tech/objectmodel/Goid;Ljava/lang/String;Ljava/lang/String;Lcom/l7tech/util/Functions$Nullary;)V
      // 1d7: areturn
      // 1d8: invokestatic com/l7tech/server/EntityFinderImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1db: athrow
      // 1dc: aload 2
      // 1dd: invokevirtual com/l7tech/gateway/common/audit/ExternalAuditRecordHeader.getRecordType ()Ljava/lang/String;
      // 1e0: getstatic com/l7tech/gateway/common/audit/AuditRecordUtils.TYPE_SYSTEM Ljava/lang/String;
      // 1e3: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 1e6: ifeq 21e
      // 1e9: new com/l7tech/gateway/common/audit/SystemAuditRecord
      // 1ec: dup
      // 1ed: aload 2
      // 1ee: invokevirtual com/l7tech/gateway/common/audit/ExternalAuditRecordHeader.getLevel ()Ljava/util/logging/Level;
      // 1f1: aload 2
      // 1f2: invokevirtual com/l7tech/gateway/common/audit/ExternalAuditRecordHeader.getNodeId ()Ljava/lang/String;
      // 1f5: getstatic com/l7tech/gateway/common/Component.GW_AUDIT_SYSTEM Lcom/l7tech/gateway/common/Component;
      // 1f8: getstatic com/l7tech/server/EntityFinderImpl.k [Ljava/lang/String;
      // 1fb: bipush 18
      // 1fd: aaload
      // 1fe: bipush 0
      // 1ff: new com/l7tech/objectmodel/Goid
      // 202: dup
      // 203: lconst_0
      // 204: lconst_0
      // 205: invokespecial com/l7tech/objectmodel/Goid.<init> (JJ)V
      // 208: aconst_null
      // 209: aconst_null
      // 20a: getstatic com/l7tech/server/EntityFinderImpl.k [Ljava/lang/String;
      // 20d: bipush 18
      // 20f: aaload
      // 210: getstatic com/l7tech/server/EntityFinderImpl.k [Ljava/lang/String;
      // 213: bipush 21
      // 215: aaload
      // 216: invokespecial com/l7tech/gateway/common/audit/SystemAuditRecord.<init> (Ljava/util/logging/Level;Ljava/lang/String;Lcom/l7tech/gateway/common/Component;Ljava/lang/String;ZLcom/l7tech/objectmodel/Goid;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
      // 219: areturn
      // 21a: invokestatic com/l7tech/server/EntityFinderImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 21d: athrow
      // 21e: new com/l7tech/objectmodel/FindException
      // 221: dup
      // 222: aload 2
      // 223: invokevirtual com/l7tech/gateway/common/audit/ExternalAuditRecordHeader.getRecordType ()Ljava/lang/String;
      // 226: getstatic com/l7tech/server/EntityFinderImpl.k [Ljava/lang/String;
      // 229: astore 5
      // 22b: aload 5
      // 22d: bipush 19
      // 22f: aaload
      // 230: swap
      // 231: 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" ]
      // 236: invokespecial com/l7tech/objectmodel/FindException.<init> (Ljava/lang/String;)V
      // 239: athrow
      // 23a: aload 1
      // 23b: instanceof com/l7tech/gateway/common/audit/AuditRecordHeader
      // 23e: ifeq 250
      // 241: aload 0
      // 242: getfield com/l7tech/server/EntityFinderImpl.g Lcom/l7tech/server/audit/AuditRecordManager;
      // 245: aload 1
      // 246: invokeinterface com/l7tech/server/audit/AuditRecordManager.findByHeader (Lcom/l7tech/objectmodel/EntityHeader;)Lcom/l7tech/objectmodel/PersistentEntity; 2
      // 24b: areturn
      // 24c: invokestatic com/l7tech/server/EntityFinderImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 24f: athrow
      // 250: aload 1
      // 251: instanceof com/l7tech/objectmodel/CustomKeyStoreEntityHeader
      // 254: ifeq 299
      // 257: aload 1
      // 258: invokevirtual com/l7tech/objectmodel/EntityHeader.getGoid ()Lcom/l7tech/objectmodel/Goid;
      // 25b: ifnull 279
      // 25e: goto 265
      // 261: invokestatic com/l7tech/server/EntityFinderImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 264: athrow
      // 265: getstatic com/l7tech/objectmodel/Goid.DEFAULT_GOID Lcom/l7tech/objectmodel/Goid;
      // 268: aload 1
      // 269: invokevirtual com/l7tech/objectmodel/EntityHeader.getGoid ()Lcom/l7tech/objectmodel/Goid;
      // 26c: invokevirtual com/l7tech/objectmodel/Goid.equals (Ljava/lang/Object;)Z
      // 26f: ifeq 28b
      // 272: goto 279
      // 275: invokestatic com/l7tech/server/EntityFinderImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 278: athrow
      // 279: aload 0
      // 27a: getfield com/l7tech/server/EntityFinderImpl.h Lcom/l7tech/server/policy/CustomKeyValueStoreManager;
      // 27d: aload 1
      // 27e: invokevirtual com/l7tech/objectmodel/EntityHeader.getName ()Ljava/lang/String;
      // 281: invokeinterface com/l7tech/server/policy/CustomKeyValueStoreManager.findByUniqueName (Ljava/lang/String;)Lcom/l7tech/objectmodel/PersistentEntity; 2
      // 286: areturn
      // 287: invokestatic com/l7tech/server/EntityFinderImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 28a: athrow
      // 28b: aload 0
      // 28c: getfield com/l7tech/server/EntityFinderImpl.h Lcom/l7tech/server/policy/CustomKeyValueStoreManager;
      // 28f: aload 1
      // 290: invokevirtual com/l7tech/objectmodel/EntityHeader.getGoid ()Lcom/l7tech/objectmodel/Goid;
      // 293: invokeinterface com/l7tech/server/policy/CustomKeyValueStoreManager.findByPrimaryKey (Lcom/l7tech/objectmodel/Goid;)Lcom/l7tech/objectmodel/PersistentEntity; 2
      // 298: areturn
      // 299: getstatic com/l7tech/objectmodel/EntityType.INTERFACE_TAG Lcom/l7tech/objectmodel/EntityType;
      // 29c: aload 1
      // 29d: invokevirtual com/l7tech/objectmodel/EntityHeader.getType ()Lcom/l7tech/objectmodel/EntityType;
      // 2a0: invokevirtual com/l7tech/objectmodel/EntityType.equals (Ljava/lang/Object;)Z
      // 2a3: ifeq 301
      // 2a6: invokestatic com/l7tech/util/ConfigFactory.getUncachedConfig ()Lcom/l7tech/util/Config;
      // 2a9: getstatic com/l7tech/gateway/common/transport/InterfaceTag.PROPERTY_NAME Ljava/lang/String;
      // 2ac: invokeinterface com/l7tech/util/Config.getProperty (Ljava/lang/String;)Ljava/lang/String; 2
      // 2b1: astore 2
      // 2b2: aload 2
      // 2b3: ifnonnull 2c0
      // 2b6: invokestatic java/util/Collections.emptySet ()Ljava/util/Set;
      // 2b9: goto 2c4
      // 2bc: invokestatic com/l7tech/server/EntityFinderImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2bf: athrow
      // 2c0: aload 2
      // 2c1: invokestatic com/l7tech/gateway/common/transport/InterfaceTag.parseMultiple (Ljava/lang/String;)Ljava/util/Set;
      // 2c4: astore 3
      // 2c5: goto 2e5
      // 2c8: astore 4
      // 2ca: new com/l7tech/objectmodel/FindException
      // 2cd: dup
      // 2ce: aload 4
      // 2d0: invokestatic com/l7tech/util/ExceptionUtils.getMessageWithCause (Ljava/lang/Throwable;)Ljava/lang/String;
      // 2d3: getstatic com/l7tech/server/EntityFinderImpl.k [Ljava/lang/String;
      // 2d6: bipush 34
      // 2d8: aaload
      // 2d9: swap
      // 2da: 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" ]
      // 2df: aload 4
      // 2e1: invokespecial com/l7tech/objectmodel/FindException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 2e4: athrow
      // 2e5: aconst_null
      // 2e6: astore 4
      // 2e8: aload 3
      // 2e9: ifnull 2fe
      // 2ec: aload 3
      // 2ed: new com/l7tech/server/p
      // 2f0: dup
      // 2f1: aload 0
      // 2f2: aload 1
      // 2f3: invokespecial com/l7tech/server/p.<init> (Lcom/l7tech/server/EntityFinderImpl;Lcom/l7tech/objectmodel/EntityHeader;)V
      // 2f6: invokestatic com/l7tech/util/Functions.grepFirst (Ljava/lang/Iterable;Lcom/l7tech/util/Functions$Unary;)Ljava/lang/Object;
      // 2f9: checkcast com/l7tech/gateway/common/transport/InterfaceTag
      // 2fc: astore 4
      // 2fe: aload 4
      // 300: areturn
      // 301: aload 0
      // 302: aload 1
      // 303: invokevirtual com/l7tech/objectmodel/EntityHeader.getType ()Lcom/l7tech/objectmodel/EntityType;
      // 306: invokestatic com/l7tech/objectmodel/EntityTypeRegistry.getEntityClass (Lcom/l7tech/objectmodel/EntityType;)Ljava/lang/Class;
      // 309: aload 1
      // 30a: invokevirtual com/l7tech/objectmodel/EntityHeader.getStrId ()Ljava/lang/String;
      // 30d: invokevirtual com/l7tech/server/EntityFinderImpl.find (Ljava/lang/Class;Ljava/io/Serializable;)Lcom/l7tech/objectmodel/Entity;
      // 310: areturn
      // try (37 -> 47): 47 java/lang/Exception
      // try (25 -> 35): 35 java/lang/Exception
      // try (19 -> 23): 23 java/lang/Exception
      // try (0 -> 4): 5 java/lang/Exception
      // try (64 -> 71): 72 java/lang/Exception
      // try (94 -> 99): 100 java/lang/IllegalArgumentException
      // try (322 -> 326): 326 java/lang/Exception
      // try (291 -> 305): 305 java/lang/Exception
      // try (285 -> 296): 297 java/lang/Exception
      // try (282 -> 288): 289 java/lang/Exception
      // try (272 -> 280): 280 java/lang/Exception
      // try (226 -> 257): 257 java/lang/Exception
      // try (185 -> 224): 224 java/lang/Exception
      // try (150 -> 183): 183 java/lang/Exception
      // try (128 -> 136): 136 java/lang/Exception
      // try (110 -> 119): 120 java/lang/Exception
      // try (106 -> 113): 114 java/lang/Exception
      // try (322 -> 331): 332 java/text/ParseException
   }

   @Transactional(readOnly = true)
   @Override
   public <ET extends Entity> ET find(Class<ET> param1, Serializable param2) throws FindException {
      // $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:
      // 000: aload 1
      // 001: invokestatic com/l7tech/objectmodel/EntityTypeRegistry.getEntityType (Ljava/lang/Class;)Lcom/l7tech/objectmodel/EntityType;
      // 004: astore 3
      // 005: getstatic com/l7tech/objectmodel/EntityType.SSG_KEY_ENTRY Lcom/l7tech/objectmodel/EntityType;
      // 008: aload 3
      // 009: if_acmpne 062
      // 00c: aload 2
      // 00d: checkcast java/lang/String
      // 010: astore 5
      // 012: aload 5
      // 014: ldc ":"
      // 016: invokevirtual java/lang/String.indexOf (Ljava/lang/String;)I
      // 019: istore 6
      // 01b: iload 6
      // 01d: ifge 041
      // 020: getstatic com/l7tech/server/EntityFinderImpl.a Ljava/util/logging/Logger;
      // 023: aload 2
      // 024: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 027: getstatic com/l7tech/server/EntityFinderImpl.k [Ljava/lang/String;
      // 02a: astore 8
      // 02c: aload 8
      // 02e: bipush 12
      // 030: aaload
      // 031: swap
      // 032: aload 8
      // 034: bipush 37
      // 036: aaload
      // 037: invokedynamic makeConcatWithConstants (Ljava/lang/String;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\u0001" ]
      // 03c: invokevirtual java/util/logging/Logger.fine (Ljava/lang/String;)V
      // 03f: aconst_null
      // 040: areturn
      // 041: aload 0
      // 042: getfield com/l7tech/server/EntityFinderImpl.d Lcom/l7tech/server/security/keystore/SsgKeyStoreManager;
      // 045: aload 5
      // 047: iload 6
      // 049: bipush 1
      // 04a: iadd
      // 04b: invokevirtual java/lang/String.substring (I)Ljava/lang/String;
      // 04e: getstatic com/l7tech/objectmodel/EntityType.SSG_KEYSTORE Lcom/l7tech/objectmodel/EntityType;
      // 051: aload 5
      // 053: bipush 0
      // 054: iload 6
      // 056: invokevirtual java/lang/String.substring (II)Ljava/lang/String;
      // 059: invokestatic com/l7tech/util/GoidUpgradeMapper.mapId (Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;)Lcom/l7tech/objectmodel/Goid;
      // 05c: invokeinterface com/l7tech/server/security/keystore/SsgKeyStoreManager.lookupKeyByKeyAlias (Ljava/lang/String;Lcom/l7tech/objectmodel/Goid;)Lcom/l7tech/gateway/common/security/keystore/SsgKeyEntry; 3
      // 061: areturn
      // 062: getstatic com/l7tech/objectmodel/EntityType.SSG_KEYSTORE Lcom/l7tech/objectmodel/EntityType;
      // 065: aload 3
      // 066: if_acmpne 07d
      // 069: aload 0
      // 06a: getfield com/l7tech/server/EntityFinderImpl.d Lcom/l7tech/server/security/keystore/SsgKeyStoreManager;
      // 06d: getstatic com/l7tech/objectmodel/EntityType.SSG_KEYSTORE Lcom/l7tech/objectmodel/EntityType;
      // 070: aload 2
      // 071: checkcast java/lang/String
      // 074: invokestatic com/l7tech/util/GoidUpgradeMapper.mapId (Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;)Lcom/l7tech/objectmodel/Goid;
      // 077: invokeinterface com/l7tech/server/security/keystore/SsgKeyStoreManager.findByPrimaryKey (Lcom/l7tech/objectmodel/Goid;)Lcom/l7tech/server/security/keystore/SsgKeyFinder; 2
      // 07c: areturn
      // 07d: getstatic com/l7tech/objectmodel/EntityType.GENERIC Lcom/l7tech/objectmodel/EntityType;
      // 080: aload 3
      // 081: if_acmpne 0b3
      // 084: aload 0
      // 085: getfield com/l7tech/server/EntityFinderImpl.e Lcom/l7tech/server/entity/GenericEntityManager;
      // 088: aload 2
      // 089: instanceof com/l7tech/objectmodel/Goid
      // 08c: ifeq 0a1
      // 08f: goto 096
      // 092: invokestatic com/l7tech/server/EntityFinderImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 095: athrow
      // 096: aload 2
      // 097: checkcast com/l7tech/objectmodel/Goid
      // 09a: goto 0ad
      // 09d: invokestatic com/l7tech/server/EntityFinderImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0a0: athrow
      // 0a1: getstatic com/l7tech/objectmodel/EntityType.GENERIC Lcom/l7tech/objectmodel/EntityType;
      // 0a4: aload 2
      // 0a5: invokeinterface java/io/Serializable.toString ()Ljava/lang/String; 1
      // 0aa: invokestatic com/l7tech/util/GoidUpgradeMapper.mapId (Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;)Lcom/l7tech/objectmodel/Goid;
      // 0ad: invokeinterface com/l7tech/server/entity/GenericEntityManager.findByPrimaryKey (Lcom/l7tech/objectmodel/Goid;)Lcom/l7tech/objectmodel/PersistentEntity; 2
      // 0b2: areturn
      // 0b3: getstatic com/l7tech/objectmodel/EntityType.SERVER_MODULE_FILE Lcom/l7tech/objectmodel/EntityType;
      // 0b6: aload 3
      // 0b7: if_acmpne 10a
      // 0ba: aload 0
      // 0bb: getfield com/l7tech/server/EntityFinderImpl.i Lcom/l7tech/server/module/ServerModuleFileManager;
      // 0be: aload 2
      // 0bf: instanceof com/l7tech/objectmodel/Goid
      // 0c2: ifeq 0d7
      // 0c5: goto 0cc
      // 0c8: invokestatic com/l7tech/server/EntityFinderImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0cb: athrow
      // 0cc: aload 2
      // 0cd: checkcast com/l7tech/objectmodel/Goid
      // 0d0: goto 0e3
      // 0d3: invokestatic com/l7tech/server/EntityFinderImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0d6: athrow
      // 0d7: getstatic com/l7tech/objectmodel/EntityType.SERVER_MODULE_FILE Lcom/l7tech/objectmodel/EntityType;
      // 0da: aload 2
      // 0db: invokeinterface java/io/Serializable.toString ()Ljava/lang/String; 1
      // 0e0: invokestatic com/l7tech/util/GoidUpgradeMapper.mapId (Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;)Lcom/l7tech/objectmodel/Goid;
      // 0e3: invokeinterface com/l7tech/server/module/ServerModuleFileManager.findByPrimaryKey (Lcom/l7tech/objectmodel/Goid;)Lcom/l7tech/objectmodel/PersistentEntity; 2
      // 0e8: checkcast com/l7tech/gateway/common/module/ServerModuleFile
      // 0eb: astore 5
      // 0ed: aload 5
      // 0ef: ifnull 108
      // 0f2: new com/l7tech/gateway/common/module/ServerModuleFile
      // 0f5: dup
      // 0f6: invokespecial com/l7tech/gateway/common/module/ServerModuleFile.<init> ()V
      // 0f9: astore 6
      // 0fb: aload 6
      // 0fd: aload 5
      // 0ff: bipush 0
      // 100: bipush 1
      // 101: bipush 1
      // 102: invokevirtual com/l7tech/gateway/common/module/ServerModuleFile.copyFrom (Lcom/l7tech/gateway/common/module/ServerModuleFile;ZZZ)V
      // 105: aload 6
      // 107: areturn
      // 108: aconst_null
      // 109: areturn
      // 10a: ldc com/l7tech/objectmodel/PersistentEntity
      // 10c: aload 1
      // 10d: invokevirtual java/lang/Class.isAssignableFrom (Ljava/lang/Class;)Z
      // 110: ifeq 15a
      // 113: aload 2
      // 114: instanceof com/l7tech/objectmodel/Goid
      // 117: ifeq 125
      // 11a: aload 2
      // 11b: checkcast com/l7tech/objectmodel/Goid
      // 11e: goto 12e
      // 121: invokestatic com/l7tech/server/EntityFinderImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 124: athrow
      // 125: aload 2
      // 126: invokeinterface java/io/Serializable.toString ()Ljava/lang/String; 1
      // 12b: invokestatic com/l7tech/objectmodel/Goid.parseGoid (Ljava/lang/String;)Lcom/l7tech/objectmodel/Goid;
      // 12e: astore 4
      // 130: goto 1d7
      // 133: astore 5
      // 135: getstatic com/l7tech/server/EntityFinderImpl.a Ljava/util/logging/Logger;
      // 138: aload 2
      // 139: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 13c: getstatic com/l7tech/server/EntityFinderImpl.k [Ljava/lang/String;
      // 13f: astore 8
      // 141: aload 8
      // 143: bipush 28
      // 145: aaload
      // 146: swap
      // 147: aload 8
      // 149: bipush 32
      // 14b: aaload
      // 14c: invokedynamic makeConcatWithConstants (Ljava/lang/String;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\u0001" ]
      // 151: invokevirtual java/util/logging/Logger.fine (Ljava/lang/String;)V
      // 154: aload 2
      // 155: astore 4
      // 157: goto 1d7
      // 15a: getstatic com/l7tech/objectmodel/EntityType.INTERFACE_TAG Lcom/l7tech/objectmodel/EntityType;
      // 15d: aload 3
      // 15e: invokevirtual com/l7tech/objectmodel/EntityType.equals (Ljava/lang/Object;)Z
      // 161: ifeq 1d4
      // 164: invokestatic com/l7tech/util/ConfigFactory.getUncachedConfig ()Lcom/l7tech/util/Config;
      // 167: getstatic com/l7tech/gateway/common/transport/InterfaceTag.PROPERTY_NAME Ljava/lang/String;
      // 16a: invokeinterface com/l7tech/util/Config.getProperty (Ljava/lang/String;)Ljava/lang/String; 2
      // 16f: astore 5
      // 171: aload 5
      // 173: ifnonnull 180
      // 176: invokestatic java/util/Collections.emptySet ()Ljava/util/Set;
      // 179: goto 185
      // 17c: invokestatic com/l7tech/server/EntityFinderImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 17f: athrow
      // 180: aload 5
      // 182: invokestatic com/l7tech/gateway/common/transport/InterfaceTag.parseMultiple (Ljava/lang/String;)Ljava/util/Set;
      // 185: astore 6
      // 187: goto 1a9
      // 18a: astore 7
      // 18c: getstatic com/l7tech/server/EntityFinderImpl.a Ljava/util/logging/Logger;
      // 18f: aload 7
      // 191: invokestatic com/l7tech/util/ExceptionUtils.getMessageWithCause (Ljava/lang/Throwable;)Ljava/lang/String;
      // 194: getstatic com/l7tech/server/EntityFinderImpl.k [Ljava/lang/String;
      // 197: astore 8
      // 199: aload 8
      // 19b: bipush 41
      // 19d: aaload
      // 19e: swap
      // 19f: 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" ]
      // 1a4: invokevirtual java/util/logging/Logger.fine (Ljava/lang/String;)V
      // 1a7: aconst_null
      // 1a8: areturn
      // 1a9: aconst_null
      // 1aa: astore 7
      // 1ac: aload 6
      // 1ae: ifnull 1c4
      // 1b1: aload 6
      // 1b3: new com/l7tech/server/q
      // 1b6: dup
      // 1b7: aload 0
      // 1b8: aload 2
      // 1b9: invokespecial com/l7tech/server/q.<init> (Lcom/l7tech/server/EntityFinderImpl;Ljava/io/Serializable;)V
      // 1bc: invokestatic com/l7tech/util/Functions.grepFirst (Ljava/lang/Iterable;Lcom/l7tech/util/Functions$Unary;)Ljava/lang/Object;
      // 1bf: checkcast com/l7tech/gateway/common/transport/InterfaceTag
      // 1c2: astore 7
      // 1c4: aload 7
      // 1c6: ifnonnull 1d1
      // 1c9: aconst_null
      // 1ca: goto 1d3
      // 1cd: invokestatic com/l7tech/server/EntityFinderImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1d0: athrow
      // 1d1: aload 7
      // 1d3: areturn
      // 1d4: aload 2
      // 1d5: astore 4
      // 1d7: aload 4
      // 1d9: astore 5
      // 1db: aload 0
      // 1dc: invokevirtual com/l7tech/server/EntityFinderImpl.getHibernateTemplate ()Lorg/springframework/orm/hibernate5/HibernateTemplate;
      // 1df: new com/l7tech/server/bh
      // 1e2: dup
      // 1e3: aload 0
      // 1e4: aload 1
      // 1e5: aload 5
      // 1e7: invokespecial com/l7tech/server/bh.<init> (Lcom/l7tech/server/EntityFinderImpl;Ljava/lang/Class;Ljava/io/Serializable;)V
      // 1ea: invokevirtual org/springframework/orm/hibernate5/HibernateTemplate.execute (Lorg/springframework/orm/hibernate5/HibernateCallback;)Ljava/lang/Object;
      // 1ed: checkcast com/l7tech/objectmodel/Entity
      // 1f0: areturn
      // 1f1: astore 3
      // 1f2: aload 3
      // 1f3: ldc org/hibernate/ObjectNotFoundException
      // 1f5: invokestatic com/l7tech/util/ExceptionUtils.causedBy (Ljava/lang/Throwable;Ljava/lang/Class;)Z
      // 1f8: ifne 20b
      // 1fb: aload 3
      // 1fc: ldc com/l7tech/objectmodel/ObjectNotFoundException
      // 1fe: invokestatic com/l7tech/util/ExceptionUtils.causedBy (Ljava/lang/Throwable;Ljava/lang/Class;)Z
      // 201: ifeq 211
      // 204: goto 20b
      // 207: invokestatic com/l7tech/server/EntityFinderImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 20a: athrow
      // 20b: aconst_null
      // 20c: areturn
      // 20d: invokestatic com/l7tech/server/EntityFinderImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 210: athrow
      // 211: new com/l7tech/objectmodel/FindException
      // 214: dup
      // 215: getstatic com/l7tech/server/EntityFinderImpl.k [Ljava/lang/String;
      // 218: bipush 9
      // 21a: aaload
      // 21b: aload 3
      // 21c: invokespecial com/l7tech/objectmodel/FindException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 21f: athrow
      // try (122 -> 128): 128 java/lang/IllegalArgumentException
      // try (122 -> 134): 135 java/lang/IllegalArgumentException
      // try (161 -> 165): 165 java/lang/IllegalArgumentException
      // try (161 -> 170): 171 java/text/ParseException
      // try (0 -> 30): 221 java/lang/Exception
      // try (31 -> 45): 221 java/lang/Exception
      // try (46 -> 56): 221 java/lang/Exception
      // try (60 -> 71): 71 java/lang/IllegalArgumentException
      // try (57 -> 65): 66 java/lang/IllegalArgumentException
      // try (57 -> 78): 221 java/lang/Exception
      // try (82 -> 93): 93 java/lang/IllegalArgumentException
      // try (79 -> 87): 88 java/lang/IllegalArgumentException
      // try (79 -> 115): 221 java/lang/Exception
      // try (116 -> 117): 221 java/lang/Exception
      // try (118 -> 184): 221 java/lang/Exception
      // try (198 -> 202): 202 java/lang/IllegalArgumentException
      // try (185 -> 205): 221 java/lang/Exception
      // try (206 -> 220): 221 java/lang/Exception
      // try (222 -> 230): 231 java/lang/IllegalArgumentException
      // try (226 -> 235): 235 java/lang/IllegalArgumentException
   }

   @Transactional(readOnly = true)
   @Override
   public EntityHeader findHeader(EntityType var1, Serializable var2) throws FindException {
      Entity var3 = this.find(var1.getEntityClass(), var2);

      try {
         if (var3 == null) {
            return null;
         }
      } catch (FindException var6) {
         throw a(var6);
      }

      String var4 = null;
      if (var3 instanceof NamedEntity var5) {
         var4 = var5.getName();
      }

      return new EntityHeader(var3.getId(), var1, var4, null);
   }

   public Collection<EntityHeader> findByEntityTypeAndSecurityZoneGoid(@NotNull EntityType var1, Goid var2) throws FindException {
      try {
         if (var1 == null) {
            a(4);
         }
      } catch (FindException var7) {
         throw a(var7);
      }

      try {
         if (!var1.isSecurityZoneable()) {
            throw new IllegalArgumentException(k[26]);
         }
      } catch (FindException var8) {
         throw a(var8);
      }

      Collection var3 = this.a(var1.getEntityClass(), var2);
      ArrayList var4 = new ArrayList();

      for (Entity var6 : var3) {
         var4.add(EntityHeaderUtils.fromEntity(var6));
      }

      return var4;
   }

   private <ET extends Entity> Collection<ET> a(@NotNull Class<ET> var1, Goid var2) throws FindException {
      try {
         if (var1 == null) {
            a(5);
         }
      } catch (HibernateException var6) {
         throw a(var6);
      }

      try {
         if (!ZoneableEntity.class.isAssignableFrom(var1)) {
            throw new IllegalArgumentException(k[2]);
         }
      } catch (HibernateException var7) {
         throw a(var7);
      }

      try {
         return (Collection<ET>)this.getHibernateTemplate().execute(new bi(this, var1, var2));
      } catch (HibernateException var5) {
         String var10002 = var1.getName();
         String var10003 = String.valueOf(var2);
         String[] var4 = k;
         throw new FindException(var4[29] + var10002 + var4[17] + var10003, var5);
      }
   }

   private boolean a(Class param1, ClassMetadata param2) {
      // $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: ldc com/l7tech/identity/Group
      // 02: aload 1
      // 03: invokevirtual java/lang/Class.isAssignableFrom (Ljava/lang/Class;)Z
      // 06: ifne 19
      // 09: ldc com/l7tech/identity/User
      // 0b: aload 1
      // 0c: invokevirtual java/lang/Class.isAssignableFrom (Ljava/lang/Class;)Z
      // 0f: ifeq 1f
      // 12: goto 19
      // 15: invokestatic com/l7tech/server/EntityFinderImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 18: athrow
      // 19: bipush 1
      // 1a: ireturn
      // 1b: invokestatic com/l7tech/server/EntityFinderImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1e: athrow
      // 1f: aload 2
      // 20: ifnull 75
      // 23: aload 2
      // 24: invokeinterface org/hibernate/metadata/ClassMetadata.getPropertyNames ()[Ljava/lang/String; 1
      // 29: astore 3
      // 2a: aload 3
      // 2b: arraylength
      // 2c: istore 4
      // 2e: bipush 0
      // 2f: istore 5
      // 31: iload 5
      // 33: iload 4
      // 35: if_icmpge 58
      // 38: aload 3
      // 39: iload 5
      // 3b: aaload
      // 3c: astore 6
      // 3e: getstatic com/l7tech/server/EntityFinderImpl.k [Ljava/lang/String;
      // 41: astore 7
      // 43: aload 7
      // 45: bipush 30
      // 47: aaload
      // 48: aload 6
      // 4a: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 4d: ifeq 52
      // 50: bipush 1
      // 51: ireturn
      // 52: iinc 5 1
      // 55: goto 31
      // 58: goto 75
      // 5b: astore 3
      // 5c: getstatic com/l7tech/server/EntityFinderImpl.a Ljava/util/logging/Logger;
      // 5f: aload 1
      // 60: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
      // 63: invokevirtual java/lang/Class.getName ()Ljava/lang/String;
      // 66: getstatic com/l7tech/server/EntityFinderImpl.k [Ljava/lang/String;
      // 69: bipush 14
      // 6b: aaload
      // 6c: swap
      // 6d: 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" ]
      // 72: invokevirtual java/util/logging/Logger.warning (Ljava/lang/String;)V
      // 75: bipush 0
      // 76: ireturn
      // try (4 -> 13): 13 org/hibernate/MappingException
      // try (0 -> 8): 9 org/hibernate/MappingException
      // try (17 -> 41): 45 org/hibernate/MappingException
      // try (42 -> 44): 45 org/hibernate/MappingException
   }

   public void provideNeededEntities(@NotNull UsesEntitiesAtDesignTime var1, @Nullable BinaryVoid<EntityHeader, FindException> var2) throws FindException {
      try {
         if (var1 == null) {
            a(6);
         }
      } catch (FindException var3) {
         throw a(var3);
      }

      PolicyUtil.provideNeededEntities(var1, this, var2);
   }

   static {
      String[] var5 = new String[42];
      int var3 = 0;
      String var2 = "`l`61\u001bqbvv;\b(z`~a-\u0015qkk),-qO|a; -Qomm+,,g\u001fBue,6iytjp\u007f',4`9^0+,ucua\u001a+=}u`*\u001dr|p\u001c0:`ntO:<\u001fumla\f1&fdTe1$.qs\u0013&9m,e'{u9w*59{sma;k\u0017r|v) ;Yn}q3 \u000f}m|I>+(sdk&Dkv07ixnvo6+.4ti$/7 b`ma\u007f.,m!qa>!,fr#$\u0004gpj;\u0005bue%?\u0015Bvq3!'3u9b6+-4dwp6104\u0014Uqa\u007f '`hm}\u007f10dd9k9en\"bvip)~`dzlp6,fw|vp\u0000'`hm}\u0019,'pdkM25%\fQkm2$;m!ra&e\u001aDkv07ixnvo6+.4ti$4 04gvvee\"qkk/ ;`x9#1$$q&9`0 :4ovp\u007f 1}rm$6+i\u0015r|p\u001e0-}uKa<*;pLxj>\",f\ndwp610Ar|v\u0018!xj;e:qblv6104{vj:e.{h}$\u0004gxo:!Dkv07ixnvo6+.4`l`61ifdzk-!i`xiaee\u001egpj;\u00070Wmxw,\u0004'pR|g*7 `xCk1 \u000e{h}\u0007174qug$\u0016Bvq3!'3u9b6+-4dwp61 qr\u0016Bvq3!'3u9b6+-4dwp61 qr\u0004u`t:\u001ablw+*$_d`R>)<qRmk- \u0004uoxc:7*Dwp610@xia\u007f(<gu9f:e:aqik-1igdzq-,=m!ck1 ::\u001ar|p\f ;bdkI0!<xd_m3 \u0004uoxc:7\fQkm2$;m!ra&e'Twe=),4uv$- =fh|r:e,zupp6 :4vpp7e*x`jw\u007f\u0004oxi:#gpj;\u00070Qomm+<\u001dmq|E1!\u001aqblv610Nnwa\u0018* p/!pw\u007f+&`!x$)$%}e9o:<r4tjm1\"iGukm1\"ib`uq:e zrma>!\u0006i|e; ;\u001eBvq3!iznm$3*(p!Pj+ ;r`za\u000b$.g;9\u001cdwp6104bue,6iw`w$1*=4c|$10%x$Dkv07ixnvo6+.4ti$4 04rmk- i|dx`:7:.!R!pw\u007f+&`!x$)$%}e9W\f\u0002\u0016_D@[\u001a\u000b\u001dFX9o:<g4O|a;6i`n9f:e z!ml:e/{ste+\u007fi(j|},1&fdP`a\u007fuumpe,{EDwp610\\dx`:7i}r9e1e\u0000pdwp610\\dx`:7e4clp\u007f10dd9m,e'qhml:7iAR\\V\u007f+&f!^V\u0010\u0010\u0019>@kc*(,zu9b07iTOvp\u00110%x!ie-$$qu|v\u007fblg&9k9elg/<w\u007f(<gu9j01ivd9j*)%";
      int var4 = "`l`61\u001bqbvv;\b(z`~a-\u0015qkk),-qO|a; -Qomm+,,g\u001fBue,6iytjp\u007f',4`9^0+,ucua\u001a+=}u`*\u001dr|p\u001c0:`ntO:<\u001fumla\f1&fdTe1$.qs\u0013&9m,e'{u9w*59{sma;k\u0017r|v) ;Yn}q3 \u000f}m|I>+(sdk&Dkv07ixnvo6+.4ti$/7 b`ma\u007f.,m!qa>!,fr#$\u0004gpj;\u0005bue%?\u0015Bvq3!'3u9b6+-4dwp6104\u0014Uqa\u007f '`hm}\u007f10dd9k9en\"bvip)~`dzlp6,fw|vp\u0000'`hm}\u0019,'pdkM25%\fQkm2$;m!ra&e\u001aDkv07ixnvo6+.4ti$4 04gvvee\"qkk/ ;`x9#1$$q&9`0 :4ovp\u007f 1}rm$6+i\u0015r|p\u001e0-}uKa<*;pLxj>\",f\ndwp610Ar|v\u0018!xj;e:qblv6104{vj:e.{h}$\u0004gxo:!Dkv07ixnvo6+.4`l`61ifdzk-!i`xiaee\u001egpj;\u00070Wmxw,\u0004'pR|g*7 `xCk1 \u000e{h}\u0007174qug$\u0016Bvq3!'3u9b6+-4dwp61 qr\u0016Bvq3!'3u9b6+-4dwp61 qr\u0004u`t:\u001ablw+*$_d`R>)<qRmk- \u0004uoxc:7*Dwp610@xia\u007f(<gu9f:e:aqik-1igdzq-,=m!ck1 ::\u001ar|p\f ;bdkI0!<xd_m3 \u0004uoxc:7\fQkm2$;m!ra&e'Twe=),4uv$- =fh|r:e,zupp6 :4vpp7e*x`jw\u007f\u0004oxi:#gpj;\u00070Qomm+<\u001dmq|E1!\u001aqblv610Nnwa\u0018* p/!pw\u007f+&`!x$)$%}e9o:<r4tjm1\"iGukm1\"ib`uq:e zrma>!\u0006i|e; ;\u001eBvq3!iznm$3*(p!Pj+ ;r`za\u000b$.g;9\u001cdwp6104bue,6iw`w$1*=4c|$10%x$Dkv07ixnvo6+.4ti$4 04rmk- i|dx`:7:.!R!pw\u007f+&`!x$)$%}e9W\f\u0002\u0016_D@[\u001a\u000b\u001dFX9o:<g4O|a;6i`n9f:e z!ml:e/{ste+\u007fi(j|},1&fdP`a\u007fuumpe,{EDwp610\\dx`:7i}r9e1e\u0000pdwp610\\dx`:7e4clp\u007f10dd9m,e'qhml:7iAR\\V\u007f+&f!^V\u0010\u0010\u0019>@kc*(,zu9b07iTOvp\u00110%x!ie-$$qu|v\u007fblg&9k9elg/<w\u007f(<gu9j01ivd9j*)%"
         .length();
      char var1 = 18;
      int var7 = -1;

      label24:
      while (true) {
         byte var10000 = 93;
         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) {
                     k = var5;
                     a = Logger.getLogger(EntityFinderImpl.class.getName());
                     return;
                  }

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

                  var2 = "\u0012\r\u001aO\u001e7\u0003\u0004FT\u001c\u000f\u001b\u0018QF_]\u0005T%\u001f^UN\u0007\u0015\u000f\u0014~Q[\u0012NL";
                  var4 = "\u0012\r\u001aO\u001e7\u0003\u0004FT\u001c\u000f\u001b\u0018QF_]\u0005T%\u001f^UN\u0007\u0015\u000f\u0014~Q[\u0012NL".length();
                  var1 = 4;
                  var7 = -1;
            }

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

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

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

      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 -> 92;
            case 1 -> 68;
            case 2 -> 89;
            case 3 -> 2;
            case 4 -> 24;
            case 5 -> 20;
            default -> 73;
         });
      }

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