package com.l7tech.server.search.processors;

import com.l7tech.gateway.common.task.ScheduledTask;
import com.l7tech.identity.IdentityProvider;
import com.l7tech.identity.User;
import com.l7tech.objectmodel.EntityHeader;
import com.l7tech.objectmodel.EntityType;
import com.l7tech.objectmodel.FindException;
import com.l7tech.server.identity.IdentityProviderFactory;
import com.l7tech.server.search.exceptions.CannotReplaceDependenciesException;
import com.l7tech.server.search.exceptions.CannotRetrieveDependenciesException;
import com.l7tech.server.search.objects.Dependency;
import com.l7tech.server.task.ScheduledTaskManager;
import jakarta.inject.Inject;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.jetbrains.annotations.NotNull;

public class ScheduledTaskDependencyProcessor extends DefaultDependencyProcessor<ScheduledTask> implements DependencyProcessor<ScheduledTask> {
   @Inject
   private ScheduledTaskManager scheduledTaskManager;
   @Inject
   private IdentityProviderFactory identityProviderFactory;
   private static final String[] a;

   @NotNull
   public List<Dependency> findDependencies(@NotNull ScheduledTask var1, @NotNull DependencyFinder var2) throws FindException, CannotRetrieveDependenciesException {
      try {
         if (var1 == null) {
            b(0);
         }
      } catch (FindException var10) {
         throw a(var10);
      }

      try {
         if (var2 == null) {
            b(1);
         }
      } catch (FindException var12) {
         throw a(var12);
      }

      ArrayList var3 = new ArrayList();

      label58: {
         try {
            var3.addAll(super.findDependencies(var1, var2));
            if (var1.getIdProviderGoid() == null || var1.getUserId() == null) {
               break label58;
            }
         } catch (FindException var11) {
            throw a(var11);
         }

         IdentityProvider var4 = this.identityProviderFactory.getProvider(var1.getIdProviderGoid());
         if (var4 != null) {
            User var5 = var4.getUserManager().findByPrimaryKey(var1.getUserId());
            Dependency var6 = var2.a(DependencyFinder.FindResults.create(var5, null));

            try {
               if (var6 != null) {
                  var3.add(var6);
               }
            } catch (FindException var9) {
               throw a(var9);
            }
         } else {
            Dependency var13 = var2.a(
               DependencyFinder.FindResults.create(null, new EntityHeader(var1.getIdProviderGoid(), EntityType.ID_PROVIDER_CONFIG, null, null))
            );

            try {
               if (var13 != null) {
                  var3.add(var13);
               }
            } catch (FindException var8) {
               throw a(var8);
            }
         }
      }

      try {
         if (var3 == null) {
            b(2);
         }

         return var3;
      } catch (FindException var7) {
         throw a(var7);
      }
   }

   public void replaceDependencies(
      @NotNull ScheduledTask param1, @NotNull Map<EntityHeader, EntityHeader> param2, @NotNull DependencyFinder param3, boolean param4
   ) throws CannotReplaceDependenciesException {
      // $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 0f
      // 04: bipush 3
      // 05: invokestatic com/l7tech/server/search/processors/ScheduledTaskDependencyProcessor.b (I)V
      // 08: goto 0f
      // 0b: invokestatic com/l7tech/server/search/processors/ScheduledTaskDependencyProcessor.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0e: athrow
      // 0f: aload 2
      // 10: ifnonnull 1e
      // 13: bipush 4
      // 14: invokestatic com/l7tech/server/search/processors/ScheduledTaskDependencyProcessor.b (I)V
      // 17: goto 1e
      // 1a: invokestatic com/l7tech/server/search/processors/ScheduledTaskDependencyProcessor.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1d: athrow
      // 1e: aload 3
      // 1f: ifnonnull 2d
      // 22: bipush 5
      // 23: invokestatic com/l7tech/server/search/processors/ScheduledTaskDependencyProcessor.b (I)V
      // 26: goto 2d
      // 29: invokestatic com/l7tech/server/search/processors/ScheduledTaskDependencyProcessor.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2c: athrow
      // 2d: aload 0
      // 2e: aload 1
      // 2f: aload 2
      // 30: aload 3
      // 31: iload 4
      // 33: invokespecial com/l7tech/server/search/processors/DefaultDependencyProcessor.replaceDependencies (Ljava/lang/Object;Ljava/util/Map;Lcom/l7tech/server/search/processors/DependencyFinder;Z)V
      // 36: aload 1
      // 37: invokevirtual com/l7tech/gateway/common/task/ScheduledTask.getIdProviderGoid ()Lcom/l7tech/objectmodel/Goid;
      // 3a: ifnull a6
      // 3d: aload 1
      // 3e: invokevirtual com/l7tech/gateway/common/task/ScheduledTask.getUserId ()Ljava/lang/String;
      // 41: ifnull a6
      // 44: goto 4b
      // 47: invokestatic com/l7tech/server/search/processors/ScheduledTaskDependencyProcessor.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 4a: athrow
      // 4b: new com/l7tech/objectmodel/IdentityHeader
      // 4e: dup
      // 4f: aload 1
      // 50: invokevirtual com/l7tech/gateway/common/task/ScheduledTask.getIdProviderGoid ()Lcom/l7tech/objectmodel/Goid;
      // 53: aload 1
      // 54: invokevirtual com/l7tech/gateway/common/task/ScheduledTask.getUserId ()Ljava/lang/String;
      // 57: getstatic com/l7tech/objectmodel/EntityType.USER Lcom/l7tech/objectmodel/EntityType;
      // 5a: ldc ""
      // 5c: ldc ""
      // 5e: ldc ""
      // 60: bipush 0
      // 61: invokestatic java/lang/Integer.valueOf (I)Ljava/lang/Integer;
      // 64: invokespecial com/l7tech/objectmodel/IdentityHeader.<init> (Lcom/l7tech/objectmodel/Goid;Ljava/lang/String;Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;)V
      // 67: astore 5
      // 69: aload 2
      // 6a: aload 5
      // 6c: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 71: checkcast com/l7tech/objectmodel/EntityHeader
      // 74: astore 6
      // 76: aload 6
      // 78: ifnull a6
      // 7b: aload 6
      // 7d: instanceof com/l7tech/objectmodel/IdentityHeader
      // 80: ifeq a6
      // 83: goto 8a
      // 86: invokestatic com/l7tech/server/search/processors/ScheduledTaskDependencyProcessor.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 89: athrow
      // 8a: aload 1
      // 8b: aload 6
      // 8d: checkcast com/l7tech/objectmodel/IdentityHeader
      // 90: invokevirtual com/l7tech/objectmodel/IdentityHeader.getProviderGoid ()Lcom/l7tech/objectmodel/Goid;
      // 93: invokevirtual com/l7tech/gateway/common/task/ScheduledTask.setIdProviderGoid (Lcom/l7tech/objectmodel/Goid;)V
      // 96: aload 1
      // 97: aload 6
      // 99: invokevirtual com/l7tech/objectmodel/EntityHeader.getStrId ()Ljava/lang/String;
      // 9c: invokevirtual com/l7tech/gateway/common/task/ScheduledTask.setUserId (Ljava/lang/String;)V
      // 9f: goto a6
      // a2: invokestatic com/l7tech/server/search/processors/ScheduledTaskDependencyProcessor.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // a5: athrow
      // a6: return
      // try (0 -> 4): 5 com/l7tech/server/search/exceptions/CannotReplaceDependenciesException
      // try (7 -> 11): 12 com/l7tech/server/search/exceptions/CannotReplaceDependenciesException
      // try (14 -> 18): 19 com/l7tech/server/search/exceptions/CannotReplaceDependenciesException
      // try (21 -> 33): 34 com/l7tech/server/search/exceptions/CannotReplaceDependenciesException
      // try (55 -> 60): 61 com/l7tech/server/search/exceptions/CannotReplaceDependenciesException
      // try (57 -> 72): 73 com/l7tech/server/search/exceptions/CannotReplaceDependenciesException
   }

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

   static {
      String[] var5 = new String[10];
      int var3 = 0;
      String var2 = "?\u0001@Nd\u0007\r<\u0006JON\u0001\u0014<\u001bD:\u0007C\u0005LU\t<\u000bF\u0005S\u0007\u000f/\r\\\u0005S\u0007\u001c+\u000bF\u0005P\u0010\u0012:\r]YO\u0010\u000ev;MBE\u0006\b5\rJ~A\u0011\u0016\u001d\r^ON\u0006\u00187\u000bWzR\r\u001e<\u001b]ER\r*\u000bFOD\u0017\u0011<\fzKS\tD:\u0007C\u0005LU\t<\u000bF\u0005S\u0007\u000f/\r\\\u0005S\u0007\u001c+\u000bF\u0005P\u0010\u0012:\r]YO\u0010\u000ev;MBE\u0006\b5\rJ~A\u0011\u0016\u001d\r^ON\u0006\u00187\u000bWzR\r\u001e<\u001b]ER*\u0019&A^n\u0017\u00115HCOT\n\u0012=H\u000bY\u000eG\u000ey\u0005[YTB\u00136\u001c\u000eXE\u0016\b+\u0006\u000eDU\u000e\u0011\u0006?\u0001@NE\u0010>\u0018\u001aI_M\u0007\u0013-HHERB=\u0017\u0007ZdU\u000e\u0011y\u0018OXA\u000f\u0018-\r\\\n\u0007G\u000e~HAL\u0000G\u000ewM]\nM\u0017\u000e-H@ETB\u001f<H@_L\u000e\u0013+\r^FA\u0001\u0018\u001d\r^ON\u0006\u00187\u000bGOS";
      int var4 = "?\u0001@Nd\u0007\r<\u0006JON\u0001\u0014<\u001bD:\u0007C\u0005LU\t<\u000bF\u0005S\u0007\u000f/\r\\\u0005S\u0007\u001c+\u000bF\u0005P\u0010\u0012:\r]YO\u0010\u000ev;MBE\u0006\b5\rJ~A\u0011\u0016\u001d\r^ON\u0006\u00187\u000bWzR\r\u001e<\u001b]ER\r*\u000bFOD\u0017\u0011<\fzKS\tD:\u0007C\u0005LU\t<\u000bF\u0005S\u0007\u000f/\r\\\u0005S\u0007\u001c+\u000bF\u0005P\u0010\u0012:\r]YO\u0010\u000ev;MBE\u0006\b5\rJ~A\u0011\u0016\u001d\r^ON\u0006\u00187\u000bWzR\r\u001e<\u001b]ER*\u0019&A^n\u0017\u00115HCOT\n\u0012=H\u000bY\u000eG\u000ey\u0005[YTB\u00136\u001c\u000eXE\u0016\b+\u0006\u000eDU\u000e\u0011\u0006?\u0001@NE\u0010>\u0018\u001aI_M\u0007\u0013-HHERB=\u0017\u0007ZdU\u000e\u0011y\u0018OXA\u000f\u0018-\r\\\n\u0007G\u000e~HAL\u0000G\u000ewM]\nM\u0017\u000e-H@ETB\u001f<H@_L\u000e\u0013+\r^FA\u0001\u0018\u001d\r^ON\u0006\u00187\u000bGOS"
         .length();
      char var1 = 16;
      int var7 = -1;

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

         while (true) {
            String var8 = b(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 = "Ms2<\u0016u\u007fNt8=<sfNi\u000eY\u007f,43sjF\u007f2,\u001fq\u007f";
                  var4 = "Ms2<\u0016u\u007fNt8=<sfNi\u000eY\u007f,43sjF\u007f2,\u001fq\u007f".length();
                  var1 = 16;
                  var7 = -1;
            }

            var10000 = 2;
            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] ^ 13);
      }

      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 -> 41;
            case 1 -> 24;
            case 2 -> 94;
            case 3 -> 90;
            case 4 -> 80;
            case 5 -> 18;
            default -> 13;
         });
      }

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