package com.l7tech.server.policy.module;

import com.l7tech.gateway.common.module.ModuleLoadingException;
import com.l7tech.policy.assertion.Assertion;
import com.l7tech.util.Background;
import com.l7tech.util.ConfigFactory;
import com.l7tech.util.ExceptionUtils;
import com.l7tech.util.TextUtils;
import java.io.File;
import java.io.IOException;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.regex.Pattern;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

public class ModularAssertionsScanner extends ScheduledModuleScanner<ModularAssertionModule> {
   protected static final Logger logger;
   private static final String[] c;
   private static final boolean d;
   private final ModularAssertionModulesConfig e;
   private final Map<String, ModularAssertionModule> f;
   private final Map<String, Set<ModularAssertionModule>> g;
   private boolean h;
   private final ScannerCallbacks.ModularAssertion i;
   private static final String[] l;

   public ModularAssertionsScanner(@NotNull ModularAssertionModulesConfig var1, @NotNull ScannerCallbacks.ModularAssertion var2) {
      if (var1 == null) {
         c(0);
      }

      if (var2 == null) {
         c(1);
      }

      super();
      this.f = new ConcurrentHashMap<>();
      this.g = new ConcurrentHashMap<>();
      this.h = true;
      this.e = var1;
      this.i = var2;
   }

   private static boolean a(ClassLoader var0, String var1) {
      try {
         try {
            if (var0.loadClass(var1) != null) {
               return true;
            }
         } catch (Exception var3) {
            throw a(var3);
         }

         return false;
      } catch (Exception var4) {
         return false;
      }
   }

   @Nullable
   public ModularAssertionModule getModuleForPackage(@NotNull String var1) {
      try {
         if (var1 == null) {
            c(2);
         }
      } catch (NullPointerException var2) {
         throw a(var2);
      }

      return this.f.get(var1);
   }

   public boolean isFirstPartyAssertionPackage(@NotNull String 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 1
      // 01: ifnonnull 0f
      // 04: bipush 3
      // 05: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.c (I)V
      // 08: goto 0f
      // 0b: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0e: athrow
      // 0f: aload 0
      // 10: getfield com/l7tech/server/policy/module/ModularAssertionsScanner.g Ljava/util/Map;
      // 13: aload 1
      // 14: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 19: checkcast java/util/Set
      // 1c: astore 2
      // 1d: aload 2
      // 1e: ifnull 39
      // 21: aload 2
      // 22: invokeinterface java/util/Set.isEmpty ()Z 1
      // 27: ifne 39
      // 2a: goto 31
      // 2d: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 30: athrow
      // 31: bipush 1
      // 32: goto 3a
      // 35: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 38: athrow
      // 39: bipush 0
      // 3a: ireturn
      // try (0 -> 4): 5 java/lang/NullPointerException
      // try (13 -> 18): 19 java/lang/NullPointerException
      // try (15 -> 23): 23 java/lang/NullPointerException
   }

   protected void onModuleLoaded(Class<? extends Assertion> param1, String 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:
      // 000: aload 2
      // 001: ifnull 013
      // 004: aload 2
      // 005: invokevirtual java/lang/String.length ()I
      // 008: bipush 1
      // 009: if_icmpge 018
      // 00c: goto 013
      // 00f: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 012: athrow
      // 013: return
      // 014: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 017: athrow
      // 018: aload 1
      // 019: invokevirtual java/lang/Class.getClassLoader ()Ljava/lang/ClassLoader;
      // 01c: aload 2
      // 01d: invokevirtual java/lang/ClassLoader.loadClass (Ljava/lang/String;)Ljava/lang/Class;
      // 020: astore 3
      // 021: aload 3
      // 022: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.l [Ljava/lang/String;
      // 025: astore 6
      // 027: aload 6
      // 029: bipush 52
      // 02b: aaload
      // 02c: bipush 1
      // 02d: anewarray 159
      // 030: dup
      // 031: bipush 0
      // 032: ldc org/springframework/context/ApplicationContext
      // 034: aastore
      // 035: invokevirtual java/lang/Class.getMethod (Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
      // 038: astore 4
      // 03a: aload 4
      // 03c: invokevirtual java/lang/reflect/Method.getModifiers ()I
      // 03f: istore 5
      // 041: iload 5
      // 043: invokestatic java/lang/reflect/Modifier.isStatic (I)Z
      // 046: ifne 067
      // 049: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.logger Ljava/util/logging/Logger;
      // 04c: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 04f: aload 1
      // 050: invokevirtual java/lang/Class.getName ()Ljava/lang/String;
      // 053: aload 6
      // 055: bipush 56
      // 057: aaload
      // 058: swap
      // 059: aload 6
      // 05b: bipush 13
      // 05d: aaload
      // 05e: 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" ]
      // 063: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;)V
      // 066: return
      // 067: iload 5
      // 069: invokestatic java/lang/reflect/Modifier.isPublic (I)Z
      // 06c: ifne 093
      // 06f: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.logger Ljava/util/logging/Logger;
      // 072: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 075: aload 1
      // 076: invokevirtual java/lang/Class.getName ()Ljava/lang/String;
      // 079: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.l [Ljava/lang/String;
      // 07c: bipush 59
      // 07e: aaload
      // 07f: swap
      // 080: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.l [Ljava/lang/String;
      // 083: bipush 53
      // 085: aaload
      // 086: 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" ]
      // 08b: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;)V
      // 08e: return
      // 08f: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 092: athrow
      // 093: aload 4
      // 095: aconst_null
      // 096: bipush 1
      // 097: anewarray 635
      // 09a: dup
      // 09b: bipush 0
      // 09c: aload 0
      // 09d: getfield com/l7tech/server/policy/module/ModularAssertionsScanner.i Lcom/l7tech/server/policy/module/ScannerCallbacks$ModularAssertion;
      // 0a0: invokeinterface com/l7tech/server/policy/module/ScannerCallbacks$ModularAssertion.getApplicationContext ()Lorg/springframework/context/ApplicationContext; 1
      // 0a5: aastore
      // 0a6: invokevirtual java/lang/reflect/Method.invoke (Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
      // 0a9: pop
      // 0aa: goto 12f
      // 0ad: astore 3
      // 0ae: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.logger Ljava/util/logging/Logger;
      // 0b1: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 0b4: aload 1
      // 0b5: invokevirtual java/lang/Class.getName ()Ljava/lang/String;
      // 0b8: aload 3
      // 0b9: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 0bc: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.l [Ljava/lang/String;
      // 0bf: astore 6
      // 0c1: aload 6
      // 0c3: bipush 59
      // 0c5: aaload
      // 0c6: dup_x2
      // 0c7: pop
      // 0c8: aload 6
      // 0ca: bipush 14
      // 0cc: aaload
      // 0cd: swap
      // 0ce: invokedynamic makeConcatWithConstants (Ljava/lang/String;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\u0001" ]
      // 0d3: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;)V
      // 0d6: goto 12f
      // 0d9: astore 3
      // 0da: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.logger Ljava/util/logging/Logger;
      // 0dd: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 0e0: aload 1
      // 0e1: invokevirtual java/lang/Class.getName ()Ljava/lang/String;
      // 0e4: aload 3
      // 0e5: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 0e8: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.l [Ljava/lang/String;
      // 0eb: astore 6
      // 0ed: aload 6
      // 0ef: bipush 59
      // 0f1: aaload
      // 0f2: dup_x2
      // 0f3: pop
      // 0f4: aload 6
      // 0f6: bipush 43
      // 0f8: aaload
      // 0f9: swap
      // 0fa: invokedynamic makeConcatWithConstants (Ljava/lang/String;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\u0001" ]
      // 0ff: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;)V
      // 102: goto 12f
      // 105: astore 3
      // 106: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.logger Ljava/util/logging/Logger;
      // 109: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 10c: aload 1
      // 10d: invokevirtual java/lang/Class.getName ()Ljava/lang/String;
      // 110: aload 3
      // 111: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 114: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.l [Ljava/lang/String;
      // 117: astore 6
      // 119: aload 6
      // 11b: bipush 59
      // 11d: aaload
      // 11e: dup_x2
      // 11f: pop
      // 120: aload 6
      // 122: bipush 7
      // 124: aaload
      // 125: swap
      // 126: invokedynamic makeConcatWithConstants (Ljava/lang/String;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\u0001" ]
      // 12b: aload 3
      // 12c: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 12f: return
      // try (2 -> 10): 10 java/lang/ClassNotFoundException
      // try (0 -> 6): 7 java/lang/ClassNotFoundException
      // try (12 -> 50): 83 java/lang/ClassNotFoundException
      // try (51 -> 67): 83 java/lang/ClassNotFoundException
      // try (70 -> 82): 83 java/lang/ClassNotFoundException
      // try (12 -> 50): 104 java/lang/NoSuchMethodException
      // try (51 -> 67): 104 java/lang/NoSuchMethodException
      // try (70 -> 82): 104 java/lang/NoSuchMethodException
      // try (12 -> 50): 125 java/lang/reflect/InvocationTargetException
      // try (12 -> 50): 125 java/lang/IllegalAccessException
      // try (51 -> 67): 125 java/lang/reflect/InvocationTargetException
      // try (51 -> 67): 125 java/lang/IllegalAccessException
      // try (51 -> 68): 68 java/lang/NullPointerException
      // try (70 -> 82): 125 java/lang/reflect/InvocationTargetException
      // try (70 -> 82): 125 java/lang/IllegalAccessException
   }

   protected void onModuleUnloaded(ModularAssertionModule var1) {
      Background.cancelAllTasksFromClassLoader(var1.getModuleClassLoader());
      this.i.publishEvent(new AssertionModuleUnregistrationEvent(this, var1));

      try {
         var1.close();
      } catch (IOException var4) {
         Logger var10000 = logger;
         Level var10001 = Level.WARNING;
         String var10002 = var1.getName();
         String var10003 = ExceptionUtils.getMessage(var4);
         String[] var3 = l;
         var10000.log(var10001, var3[26] + var10002 + var3[36] + var10003, var4);
      }
   }

   private static boolean a(Pattern[] var0, String var1) {
      for (Pattern var5 : var0) {
         try {
            if (var5.matcher(var1).matches()) {
               return true;
            }
         } catch (NullPointerException var6) {
            throw a(var6);
         }
      }

      return false;
   }

   private static Pattern[] a(String var0) {
      String[] var10000;
      label28: {
         try {
            if (var0 == null) {
               var10000 = c;
               break label28;
            }
         } catch (NullPointerException var6) {
            throw a(var6);
         }

         String[] var4 = l;
         var10000 = var0.split(var4[29]);
      }

      String[] var1 = var10000;
      Pattern[] var2 = new Pattern[var1.length];
      int var3 = 0;

      try {
         while (var3 < var1.length) {
            var2[var3] = Pattern.compile(l[61] + TextUtils.globToRegex(var1[var3]) + "$", 2);
            var3++;
         }

         return var2;
      } catch (NullPointerException var5) {
         throw a(var5);
      }
   }

   @NotNull
   @Override
   protected ModulesScanner.ModuleLoadStatus<ModularAssertionModule> onModuleLoad(ModuleData param1) throws ModuleException {
      // $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 01d
      // 004: new com/l7tech/server/policy/module/ModuleException
      // 007: dup
      // 008: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.l [Ljava/lang/String;
      // 00b: bipush 37
      // 00d: aaload
      // 00e: new java/lang/NullPointerException
      // 011: dup
      // 012: invokespecial java/lang/NullPointerException.<init> ()V
      // 015: invokespecial com/l7tech/server/policy/module/ModuleException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 018: athrow
      // 019: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 01c: athrow
      // 01d: new com/l7tech/server/policy/module/ModulesScanner$ModuleLoadStatus
      // 020: dup
      // 021: invokespecial com/l7tech/server/policy/module/ModulesScanner$ModuleLoadStatus.<init> ()V
      // 024: astore 2
      // 025: aload 1
      // 026: invokeinterface com/l7tech/server/policy/module/ModuleData.getFile ()Ljava/io/File; 1
      // 02b: astore 3
      // 02c: aload 1
      // 02d: invokeinterface com/l7tech/server/policy/module/ModuleData.getDigest ()Ljava/lang/String; 1
      // 032: astore 4
      // 034: aload 1
      // 035: invokeinterface com/l7tech/server/policy/module/ModuleData.getLastModified ()J 1
      // 03a: lstore 5
      // 03c: aload 3
      // 03d: invokevirtual java/io/File.getName ()Ljava/lang/String;
      // 040: astore 7
      // 042: aload 0
      // 043: aload 7
      // 045: invokevirtual com/l7tech/server/policy/module/ModularAssertionsScanner.getModule (Ljava/lang/String;)Lcom/l7tech/server/policy/module/BaseAssertionModule;
      // 048: checkcast com/l7tech/server/policy/module/ModularAssertionModule
      // 04b: astore 8
      // 04d: new java/util/jar/JarFile
      // 050: dup
      // 051: aload 3
      // 052: bipush 0
      // 053: invokespecial java/util/jar/JarFile.<init> (Ljava/io/File;Z)V
      // 056: astore 9
      // 058: aload 9
      // 05a: invokevirtual java/util/jar/JarFile.getManifest ()Ljava/util/jar/Manifest;
      // 05d: astore 10
      // 05f: aload 10
      // 061: invokevirtual java/util/jar/Manifest.getMainAttributes ()Ljava/util/jar/Attributes;
      // 064: astore 11
      // 066: aload 11
      // 068: aload 0
      // 069: getfield com/l7tech/server/policy/module/ModularAssertionsScanner.e Lcom/l7tech/server/policy/module/ModularAssertionModulesConfig;
      // 06c: invokevirtual com/l7tech/server/policy/module/ModularAssertionModulesConfig.getManifestHdrAssertionList ()Ljava/lang/String;
      // 06f: invokevirtual java/util/jar/Attributes.getValue (Ljava/lang/String;)Ljava/lang/String;
      // 072: astore 12
      // 074: aload 11
      // 076: getstatic java/util/jar/Attributes$Name.IMPLEMENTATION_TITLE Ljava/util/jar/Attributes$Name;
      // 079: invokevirtual java/util/jar/Attributes.getValue (Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
      // 07c: astore 13
      // 07e: aload 12
      // 080: ifnonnull 08d
      // 083: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.c [Ljava/lang/String;
      // 086: goto 09c
      // 089: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 08c: athrow
      // 08d: aload 12
      // 08f: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.l [Ljava/lang/String;
      // 092: astore 34
      // 094: aload 34
      // 096: bipush 69
      // 098: aaload
      // 099: invokevirtual java/lang/String.split (Ljava/lang/String;)[Ljava/lang/String;
      // 09c: astore 14
      // 09e: aload 14
      // 0a0: arraylength
      // 0a1: bipush 1
      // 0a2: if_icmpge 0d1
      // 0a5: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.logger Ljava/util/logging/Logger;
      // 0a8: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 0ab: aload 3
      // 0ac: invokevirtual java/io/File.getAbsolutePath ()Ljava/lang/String;
      // 0af: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.l [Ljava/lang/String;
      // 0b2: astore 34
      // 0b4: aload 34
      // 0b6: bipush 57
      // 0b8: aaload
      // 0b9: swap
      // 0ba: 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" ]
      // 0bf: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;)V
      // 0c2: aload 2
      // 0c3: aconst_null
      // 0c4: invokevirtual com/l7tech/server/policy/module/ModulesScanner$ModuleLoadStatus.setLoadedModule (Lcom/l7tech/server/policy/module/BaseAssertionModule;)V
      // 0c7: aload 2
      // 0c8: dup
      // 0c9: ifnonnull 0d0
      // 0cc: bipush 4
      // 0cd: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.c (I)V
      // 0d0: areturn
      // 0d1: aload 11
      // 0d3: aload 0
      // 0d4: getfield com/l7tech/server/policy/module/ModularAssertionsScanner.e Lcom/l7tech/server/policy/module/ModularAssertionModulesConfig;
      // 0d7: invokevirtual com/l7tech/server/policy/module/ModularAssertionModulesConfig.getManifestHdrPrivateLibraries ()Ljava/lang/String;
      // 0da: invokevirtual java/util/jar/Attributes.getValue (Ljava/lang/String;)Ljava/lang/String;
      // 0dd: astore 15
      // 0df: aload 15
      // 0e1: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/String;)[Ljava/util/regex/Pattern;
      // 0e4: astore 16
      // 0e6: new java/util/HashSet
      // 0e9: dup
      // 0ea: invokespecial java/util/HashSet.<init> ()V
      // 0ed: astore 17
      // 0ef: new java/util/HashSet
      // 0f2: dup
      // 0f3: invokespecial java/util/HashSet.<init> ()V
      // 0f6: astore 18
      // 0f8: new java/util/HashSet
      // 0fb: dup
      // 0fc: invokespecial java/util/HashSet.<init> ()V
      // 0ff: astore 19
      // 101: aload 9
      // 103: invokevirtual java/util/jar/JarFile.entries ()Ljava/util/Enumeration;
      // 106: astore 20
      // 108: aload 20
      // 10a: invokeinterface java/util/Enumeration.hasMoreElements ()Z 1
      // 10f: ifeq 334
      // 112: aload 20
      // 114: invokeinterface java/util/Enumeration.nextElement ()Ljava/lang/Object; 1
      // 119: checkcast java/util/jar/JarEntry
      // 11c: astore 21
      // 11e: aload 21
      // 120: invokevirtual java/util/jar/JarEntry.getName ()Ljava/lang/String;
      // 123: astore 22
      // 125: aload 22
      // 127: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.l [Ljava/lang/String;
      // 12a: bipush 65
      // 12c: aaload
      // 12d: invokevirtual java/lang/String.startsWith (Ljava/lang/String;)Z
      // 130: ifeq 23b
      // 133: aload 22
      // 135: invokevirtual java/lang/String.toLowerCase ()Ljava/lang/String;
      // 138: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.l [Ljava/lang/String;
      // 13b: bipush 25
      // 13d: aaload
      // 13e: invokevirtual java/lang/String.endsWith (Ljava/lang/String;)Z
      // 141: ifeq 23b
      // 144: goto 14b
      // 147: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 14a: athrow
      // 14b: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.logger Ljava/util/logging/Logger;
      // 14e: aload 22
      // 150: aload 7
      // 152: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.l [Ljava/lang/String;
      // 155: astore 34
      // 157: aload 34
      // 159: bipush 64
      // 15b: aaload
      // 15c: dup_x2
      // 15d: pop
      // 15e: aload 34
      // 160: bipush 1
      // 161: aaload
      // 162: swap
      // 163: invokedynamic makeConcatWithConstants (Ljava/lang/String;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\u0001" ]
      // 168: invokevirtual java/util/logging/Logger.info (Ljava/lang/String;)V
      // 16b: aload 16
      // 16d: aload 22
      // 16f: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a ([Ljava/util/regex/Pattern;Ljava/lang/String;)Z
      // 172: istore 23
      // 174: iload 23
      // 176: ifeq 198
      // 179: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.logger Ljava/util/logging/Logger;
      // 17c: aload 22
      // 17e: aload 34
      // 180: bipush 39
      // 182: aaload
      // 183: swap
      // 184: aload 34
      // 186: bipush 55
      // 188: aaload
      // 189: 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" ]
      // 18e: invokevirtual java/util/logging/Logger.fine (Ljava/lang/String;)V
      // 191: goto 198
      // 194: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 197: athrow
      // 198: new com/l7tech/server/policy/module/g
      // 19b: dup
      // 19c: aload 9
      // 19e: aload 22
      // 1a0: iload 23
      // 1a2: invokespecial com/l7tech/server/policy/module/g.<init> (Ljava/util/zip/ZipFile;Ljava/lang/String;Z)V
      // 1a5: astore 24
      // 1a7: aload 19
      // 1a9: aload 24
      // 1ab: invokeinterface java/util/Set.add (Ljava/lang/Object;)Z 2
      // 1b0: pop
      // 1b1: aload 24
      // 1b3: invokevirtual com/l7tech/server/policy/module/g.getDirectories ()Ljava/util/Set;
      // 1b6: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 1bb: astore 25
      // 1bd: aload 25
      // 1bf: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 1c4: ifeq 238
      // 1c7: aload 25
      // 1c9: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 1ce: checkcast java/lang/String
      // 1d1: astore 26
      // 1d3: aload 26
      // 1d5: ifnull 1bd
      // 1d8: aload 26
      // 1da: ldc "/"
      // 1dc: invokevirtual java/lang/String.contains (Ljava/lang/CharSequence;)Z
      // 1df: ifne 1e9
      // 1e2: goto 1bd
      // 1e5: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1e8: athrow
      // 1e9: aload 26
      // 1eb: ldc "/"
      // 1ed: invokevirtual java/lang/String.split (Ljava/lang/String;)[Ljava/lang/String;
      // 1f0: astore 27
      // 1f2: aload 27
      // 1f4: arraylength
      // 1f5: bipush 2
      // 1f6: if_icmpge 200
      // 1f9: goto 1bd
      // 1fc: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1ff: athrow
      // 200: aload 27
      // 202: bipush 0
      // 203: aaload
      // 204: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.l [Ljava/lang/String;
      // 207: bipush 10
      // 209: aaload
      // 20a: invokevirtual java/lang/String.endsWith (Ljava/lang/String;)Z
      // 20d: ifeq 217
      // 210: goto 1bd
      // 213: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 216: athrow
      // 217: aload 22
      // 219: ldc "/"
      // 21b: ldc "."
      // 21d: invokevirtual java/lang/String.replaceAll (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
      // 220: astore 28
      // 222: aload 28
      // 224: ldc "."
      // 226: invokestatic com/l7tech/util/ClassUtils.stripSuffix (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
      // 229: astore 28
      // 22b: aload 17
      // 22d: aload 28
      // 22f: invokeinterface java/util/Set.add (Ljava/lang/Object;)Z 2
      // 234: pop
      // 235: goto 1bd
      // 238: goto 108
      // 23b: aload 21
      // 23d: invokevirtual java/util/jar/JarEntry.isDirectory ()Z
      // 240: ifeq 2b5
      // 243: aload 22
      // 245: ifnull 108
      // 248: goto 24f
      // 24b: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 24e: athrow
      // 24f: aload 22
      // 251: ldc "/"
      // 253: invokevirtual java/lang/String.contains (Ljava/lang/CharSequence;)Z
      // 256: ifne 260
      // 259: goto 108
      // 25c: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 25f: athrow
      // 260: aload 22
      // 262: ldc "/"
      // 264: invokevirtual java/lang/String.split (Ljava/lang/String;)[Ljava/lang/String;
      // 267: astore 23
      // 269: aload 23
      // 26b: arraylength
      // 26c: bipush 2
      // 26d: if_icmpge 277
      // 270: goto 108
      // 273: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 276: athrow
      // 277: aload 23
      // 279: bipush 0
      // 27a: aaload
      // 27b: getstatic java/util/Locale.ROOT Ljava/util/Locale;
      // 27e: invokevirtual java/lang/String.toUpperCase (Ljava/util/Locale;)Ljava/lang/String;
      // 281: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.l [Ljava/lang/String;
      // 284: bipush 31
      // 286: aaload
      // 287: invokevirtual java/lang/String.endsWith (Ljava/lang/String;)Z
      // 28a: ifeq 294
      // 28d: goto 108
      // 290: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 293: athrow
      // 294: aload 22
      // 296: ldc "/"
      // 298: ldc "."
      // 29a: invokevirtual java/lang/String.replaceAll (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
      // 29d: astore 24
      // 29f: aload 24
      // 2a1: ldc "."
      // 2a3: invokestatic com/l7tech/util/ClassUtils.stripSuffix (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
      // 2a6: astore 24
      // 2a8: aload 17
      // 2aa: aload 24
      // 2ac: invokeinterface java/util/Set.add (Ljava/lang/Object;)Z 2
      // 2b1: pop
      // 2b2: goto 331
      // 2b5: aload 22
      // 2b7: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.l [Ljava/lang/String;
      // 2ba: astore 34
      // 2bc: aload 34
      // 2be: bipush 30
      // 2c0: aaload
      // 2c1: invokevirtual java/lang/String.endsWith (Ljava/lang/String;)Z
      // 2c4: ifeq 331
      // 2c7: aload 22
      // 2c9: bipush 47
      // 2cb: invokevirtual java/lang/String.lastIndexOf (I)I
      // 2ce: istore 23
      // 2d0: iload 23
      // 2d2: ifgt 2dc
      // 2d5: goto 108
      // 2d8: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2db: athrow
      // 2dc: aload 22
      // 2de: bipush 0
      // 2df: iload 23
      // 2e1: invokevirtual java/lang/String.substring (II)Ljava/lang/String;
      // 2e4: astore 24
      // 2e6: aload 24
      // 2e8: bipush 47
      // 2ea: invokevirtual java/lang/String.indexOf (I)I
      // 2ed: istore 25
      // 2ef: iload 25
      // 2f1: ifge 2fb
      // 2f4: goto 108
      // 2f7: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2fa: athrow
      // 2fb: aload 24
      // 2fd: bipush 0
      // 2fe: iload 25
      // 300: invokevirtual java/lang/String.substring (II)Ljava/lang/String;
      // 303: astore 26
      // 305: aload 26
      // 307: getstatic java/util/Locale.ROOT Ljava/util/Locale;
      // 30a: invokevirtual java/lang/String.toUpperCase (Ljava/util/Locale;)Ljava/lang/String;
      // 30d: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.l [Ljava/lang/String;
      // 310: bipush 31
      // 312: aaload
      // 313: invokevirtual java/lang/String.endsWith (Ljava/lang/String;)Z
      // 316: ifeq 320
      // 319: goto 108
      // 31c: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 31f: athrow
      // 320: aload 18
      // 322: aload 24
      // 324: bipush 47
      // 326: bipush 46
      // 328: invokevirtual java/lang/String.replace (CC)Ljava/lang/String;
      // 32b: invokeinterface java/util/Set.add (Ljava/lang/Object;)Z 2
      // 330: pop
      // 331: goto 108
      // 334: new com/l7tech/server/policy/module/h
      // 337: dup
      // 338: aload 7
      // 33a: aload 3
      // 33b: invokevirtual java/io/File.toURI ()Ljava/net/URI;
      // 33e: invokevirtual java/net/URI.toURL ()Ljava/net/URL;
      // 341: aload 0
      // 342: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
      // 345: invokevirtual java/lang/Class.getClassLoader ()Ljava/lang/ClassLoader;
      // 348: aload 19
      // 34a: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.d Z
      // 34d: aload 13
      // 34f: invokespecial com/l7tech/server/policy/module/h.<init> (Ljava/lang/String;Ljava/net/URL;Ljava/lang/ClassLoader;Ljava/util/Set;ZLjava/lang/String;)V
      // 352: astore 21
      // 354: new java/util/HashSet
      // 357: dup
      // 358: invokespecial java/util/HashSet.<init> ()V
      // 35b: astore 22
      // 35d: aload 14
      // 35f: astore 23
      // 361: aload 23
      // 363: arraylength
      // 364: istore 24
      // 366: bipush 0
      // 367: istore 25
      // 369: iload 25
      // 36b: iload 24
      // 36d: if_icmpge 46a
      // 370: aload 23
      // 372: iload 25
      // 374: aaload
      // 375: astore 26
      // 377: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.d Z
      // 37a: ifne 3ad
      // 37d: aload 0
      // 37e: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
      // 381: invokevirtual java/lang/Class.getClassLoader ()Ljava/lang/ClassLoader;
      // 384: aload 26
      // 386: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/ClassLoader;Ljava/lang/String;)Z
      // 389: ifeq 3ad
      // 38c: goto 393
      // 38f: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 392: athrow
      // 393: new java/lang/InstantiationException
      // 396: dup
      // 397: aload 26
      // 399: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.l [Ljava/lang/String;
      // 39c: bipush 51
      // 39e: aaload
      // 39f: swap
      // 3a0: 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" ]
      // 3a5: invokespecial java/lang/InstantiationException.<init> (Ljava/lang/String;)V
      // 3a8: athrow
      // 3a9: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 3ac: athrow
      // 3ad: aload 21
      // 3af: aload 26
      // 3b1: invokevirtual com/l7tech/server/policy/module/h.loadClass (Ljava/lang/String;)Ljava/lang/Class;
      // 3b4: astore 27
      // 3b6: ldc com/l7tech/policy/assertion/Assertion
      // 3b8: aload 27
      // 3ba: invokevirtual java/lang/Class.isAssignableFrom (Ljava/lang/Class;)Z
      // 3bd: ifne 3dd
      // 3c0: new java/lang/ClassCastException
      // 3c3: dup
      // 3c4: aload 27
      // 3c6: invokevirtual java/lang/Class.getName ()Ljava/lang/String;
      // 3c9: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.l [Ljava/lang/String;
      // 3cc: bipush 32
      // 3ce: aaload
      // 3cf: swap
      // 3d0: 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" ]
      // 3d5: invokespecial java/lang/ClassCastException.<init> (Ljava/lang/String;)V
      // 3d8: athrow
      // 3d9: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 3dc: athrow
      // 3dd: aload 8
      // 3df: ifnull 425
      // 3e2: aload 8
      // 3e4: aload 26
      // 3e6: invokevirtual com/l7tech/server/policy/module/ModularAssertionModule.offersClass (Ljava/lang/String;)Z
      // 3e9: ifne 450
      // 3ec: goto 3f3
      // 3ef: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 3f2: athrow
      // 3f3: aload 0
      // 3f4: getfield com/l7tech/server/policy/module/ModularAssertionsScanner.i Lcom/l7tech/server/policy/module/ScannerCallbacks$ModularAssertion;
      // 3f7: aload 26
      // 3f9: invokeinterface com/l7tech/server/policy/module/ScannerCallbacks$ModularAssertion.isAssertionRegistered (Ljava/lang/String;)Z 2
      // 3fe: ifeq 450
      // 401: goto 408
      // 404: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 407: athrow
      // 408: new java/lang/InstantiationException
      // 40b: dup
      // 40c: aload 27
      // 40e: invokevirtual java/lang/Class.getName ()Ljava/lang/String;
      // 411: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.l [Ljava/lang/String;
      // 414: bipush 21
      // 416: aaload
      // 417: swap
      // 418: 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" ]
      // 41d: invokespecial java/lang/InstantiationException.<init> (Ljava/lang/String;)V
      // 420: athrow
      // 421: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 424: athrow
      // 425: aload 0
      // 426: getfield com/l7tech/server/policy/module/ModularAssertionsScanner.i Lcom/l7tech/server/policy/module/ScannerCallbacks$ModularAssertion;
      // 429: aload 26
      // 42b: invokeinterface com/l7tech/server/policy/module/ScannerCallbacks$ModularAssertion.isAssertionRegistered (Ljava/lang/String;)Z 2
      // 430: ifeq 450
      // 433: new java/lang/InstantiationException
      // 436: dup
      // 437: aload 27
      // 439: invokevirtual java/lang/Class.getName ()Ljava/lang/String;
      // 43c: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.l [Ljava/lang/String;
      // 43f: bipush 66
      // 441: aaload
      // 442: swap
      // 443: 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" ]
      // 448: invokespecial java/lang/InstantiationException.<init> (Ljava/lang/String;)V
      // 44b: athrow
      // 44c: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 44f: athrow
      // 450: aload 27
      // 452: invokevirtual java/lang/Class.newInstance ()Ljava/lang/Object;
      // 455: checkcast com/l7tech/policy/assertion/Assertion
      // 458: astore 28
      // 45a: aload 22
      // 45c: aload 28
      // 45e: invokeinterface java/util/Set.add (Ljava/lang/Object;)Z 2
      // 463: pop
      // 464: iinc 25 1
      // 467: goto 369
      // 46a: new com/l7tech/server/policy/module/ModularAssertionModule
      // 46d: dup
      // 46e: aload 7
      // 470: aload 9
      // 472: lload 5
      // 474: aload 4
      // 476: aload 21
      // 478: aload 22
      // 47a: aload 17
      // 47c: invokespecial com/l7tech/server/policy/module/ModularAssertionModule.<init> (Ljava/lang/String;Ljava/util/jar/JarFile;JLjava/lang/String;Lcom/l7tech/server/policy/module/h;Ljava/util/Set;Ljava/util/Set;)V
      // 47f: astore 23
      // 481: aload 23
      // 483: aload 1
      // 484: invokeinterface com/l7tech/server/policy/module/ModuleData.getName ()Ljava/lang/String; 1
      // 489: invokevirtual com/l7tech/server/policy/module/ModularAssertionModule.setEntityName (Ljava/lang/String;)V
      // 48c: aload 0
      // 48d: aload 23
      // 48f: invokevirtual com/l7tech/server/policy/module/ModularAssertionsScanner.insertModule (Lcom/l7tech/server/policy/module/BaseAssertionModule;)Lcom/l7tech/server/policy/module/BaseAssertionModule;
      // 492: checkcast com/l7tech/server/policy/module/ModularAssertionModule
      // 495: astore 8
      // 497: aload 8
      // 499: ifnull 4fd
      // 49c: aload 8
      // 49e: astore 24
      // 4a0: aload 0
      // 4a1: getfield com/l7tech/server/policy/module/ModularAssertionsScanner.f Ljava/util/Map;
      // 4a4: invokeinterface java/util/Map.values ()Ljava/util/Collection; 1
      // 4a9: aload 24
      // 4ab: invokedynamic test (Lcom/l7tech/server/policy/module/ModularAssertionModule;)Ljava/util/function/Predicate; bsm=java/lang/invoke/LambdaMetafactory.metafactory (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; args=[ (Ljava/lang/Object;)Z, com/l7tech/server/policy/module/ModularAssertionsScanner.lambda$onModuleLoad$0 (Lcom/l7tech/server/policy/module/ModularAssertionModule;Lcom/l7tech/server/policy/module/ModularAssertionModule;)Z, (Lcom/l7tech/server/policy/module/ModularAssertionModule;)Z ]
      // 4b0: invokeinterface java/util/Collection.removeIf (Ljava/util/function/Predicate;)Z 2
      // 4b5: pop
      // 4b6: aload 0
      // 4b7: getfield com/l7tech/server/policy/module/ModularAssertionsScanner.g Ljava/util/Map;
      // 4ba: invokeinterface java/util/Map.values ()Ljava/util/Collection; 1
      // 4bf: invokeinterface java/util/Collection.iterator ()Ljava/util/Iterator; 1
      // 4c4: astore 25
      // 4c6: aload 25
      // 4c8: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 4cd: ifeq 4e9
      // 4d0: aload 25
      // 4d2: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 4d7: checkcast java/util/Set
      // 4da: astore 26
      // 4dc: aload 26
      // 4de: aload 24
      // 4e0: invokeinterface java/util/Set.remove (Ljava/lang/Object;)Z 2
      // 4e5: pop
      // 4e6: goto 4c6
      // 4e9: aload 0
      // 4ea: getfield com/l7tech/server/policy/module/ModularAssertionsScanner.g Ljava/util/Map;
      // 4ed: invokeinterface java/util/Map.values ()Ljava/util/Collection; 1
      // 4f2: invokedynamic test ()Ljava/util/function/Predicate; bsm=java/lang/invoke/LambdaMetafactory.metafactory (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; args=[ (Ljava/lang/Object;)Z, java/util/Set.isEmpty ()Z, (Ljava/util/Set;)Z ]
      // 4f7: invokeinterface java/util/Collection.removeIf (Ljava/util/function/Predicate;)Z 2
      // 4fc: pop
      // 4fd: aload 17
      // 4ff: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 504: astore 24
      // 506: aload 24
      // 508: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 50d: ifeq 52d
      // 510: aload 24
      // 512: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 517: checkcast java/lang/String
      // 51a: astore 25
      // 51c: aload 0
      // 51d: getfield com/l7tech/server/policy/module/ModularAssertionsScanner.f Ljava/util/Map;
      // 520: aload 25
      // 522: aload 23
      // 524: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 529: pop
      // 52a: goto 506
      // 52d: aload 18
      // 52f: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 534: astore 24
      // 536: aload 24
      // 538: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 53d: ifeq 56a
      // 540: aload 24
      // 542: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 547: checkcast java/lang/String
      // 54a: astore 25
      // 54c: aload 0
      // 54d: getfield com/l7tech/server/policy/module/ModularAssertionsScanner.g Ljava/util/Map;
      // 550: aload 25
      // 552: invokedynamic apply ()Ljava/util/function/Function; bsm=java/lang/invoke/LambdaMetafactory.metafactory (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; args=[ (Ljava/lang/Object;)Ljava/lang/Object;, com/l7tech/server/policy/module/ModularAssertionsScanner.lambda$onModuleLoad$1 (Ljava/lang/String;)Ljava/util/Set;, (Ljava/lang/String;)Ljava/util/Set; ]
      // 557: invokeinterface java/util/Map.computeIfAbsent (Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object; 3
      // 55c: checkcast java/util/Set
      // 55f: aload 23
      // 561: invokeinterface java/util/Set.add (Ljava/lang/Object;)Z 2
      // 566: pop
      // 567: goto 536
      // 56a: aload 0
      // 56b: invokevirtual com/l7tech/server/policy/module/ModularAssertionsScanner.clearFailedModTimes ()V
      // 56e: aload 2
      // 56f: aload 23
      // 571: invokevirtual com/l7tech/server/policy/module/ModulesScanner$ModuleLoadStatus.setLoadedModule (Lcom/l7tech/server/policy/module/BaseAssertionModule;)V
      // 574: aload 2
      // 575: aload 8
      // 577: ifnull 582
      // 57a: bipush 1
      // 57b: goto 583
      // 57e: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 581: athrow
      // 582: bipush 0
      // 583: invokevirtual com/l7tech/server/policy/module/ModulesScanner$ModuleLoadStatus.setPrevModuleUnloaded (Z)V
      // 586: aload 0
      // 587: getfield com/l7tech/server/policy/module/ModularAssertionsScanner.i Lcom/l7tech/server/policy/module/ScannerCallbacks$ModularAssertion;
      // 58a: aload 22
      // 58c: invokeinterface com/l7tech/server/policy/module/ScannerCallbacks$ModularAssertion.registerClusterProps (Ljava/util/Set;)V 2
      // 591: aload 22
      // 593: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 598: astore 24
      // 59a: aload 24
      // 59c: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 5a1: ifeq 5df
      // 5a4: aload 24
      // 5a6: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 5ab: checkcast com/l7tech/policy/assertion/Assertion
      // 5ae: astore 25
      // 5b0: aload 25
      // 5b2: invokevirtual com/l7tech/policy/assertion/Assertion.meta ()Lcom/l7tech/policy/assertion/AssertionMetadata;
      // 5b5: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.l [Ljava/lang/String;
      // 5b8: astore 34
      // 5ba: aload 34
      // 5bc: bipush 35
      // 5be: aaload
      // 5bf: invokeinterface com/l7tech/policy/assertion/AssertionMetadata.get (Ljava/lang/String;)Ljava/lang/Object; 2
      // 5c4: checkcast java/lang/ClassLoader
      // 5c7: astore 26
      // 5c9: aload 26
      // 5cb: ifnull 5dc
      // 5ce: aload 21
      // 5d0: aload 26
      // 5d2: invokevirtual com/l7tech/server/policy/module/h.addDelegate (Ljava/lang/ClassLoader;)V
      // 5d5: goto 5dc
      // 5d8: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 5db: athrow
      // 5dc: goto 59a
      // 5df: aload 22
      // 5e1: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 5e6: astore 24
      // 5e8: aload 24
      // 5ea: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 5ef: ifeq 653
      // 5f2: aload 24
      // 5f4: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 5f9: checkcast com/l7tech/policy/assertion/Assertion
      // 5fc: astore 25
      // 5fe: aload 25
      // 600: invokevirtual com/l7tech/policy/assertion/Assertion.meta ()Lcom/l7tech/policy/assertion/AssertionMetadata;
      // 603: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.l [Ljava/lang/String;
      // 606: astore 34
      // 608: aload 34
      // 60a: bipush 8
      // 60c: aaload
      // 60d: invokeinterface com/l7tech/policy/assertion/AssertionMetadata.get (Ljava/lang/String;)Ljava/lang/Object; 2
      // 612: checkcast java/lang/String
      // 615: astore 26
      // 617: aload 26
      // 619: ifnull 650
      // 61c: aload 26
      // 61e: invokevirtual java/lang/String.length ()I
      // 621: ifle 650
      // 624: goto 62b
      // 627: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 62a: athrow
      // 62b: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.logger Ljava/util/logging/Logger;
      // 62e: aload 7
      // 630: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.l [Ljava/lang/String;
      // 633: bipush 2
      // 634: aaload
      // 635: swap
      // 636: 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" ]
      // 63b: invokevirtual java/util/logging/Logger.info (Ljava/lang/String;)V
      // 63e: aload 0
      // 63f: aload 25
      // 641: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
      // 644: aload 26
      // 646: invokevirtual com/l7tech/server/policy/module/ModularAssertionsScanner.onModuleLoaded (Ljava/lang/Class;Ljava/lang/String;)V
      // 649: goto 650
      // 64c: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 64f: athrow
      // 650: goto 5e8
      // 653: aload 22
      // 655: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 65a: astore 24
      // 65c: aload 24
      // 65e: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 663: ifeq 6e4
      // 666: aload 24
      // 668: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 66d: checkcast com/l7tech/policy/assertion/Assertion
      // 670: astore 25
      // 672: aload 8
      // 674: ifnonnull 684
      // 677: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.l [Ljava/lang/String;
      // 67a: bipush 6
      // 67c: aaload
      // 67d: goto 68e
      // 680: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 683: athrow
      // 684: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.l [Ljava/lang/String;
      // 687: astore 34
      // 689: aload 34
      // 68b: bipush 44
      // 68d: aaload
      // 68e: astore 26
      // 690: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.logger Ljava/util/logging/Logger;
      // 693: aload 25
      // 695: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
      // 698: invokevirtual java/lang/Class.getName ()Ljava/lang/String;
      // 69b: aload 26
      // 69d: aload 7
      // 69f: aload 4
      // 6a1: astore 30
      // 6a3: astore 31
      // 6a5: astore 32
      // 6a7: astore 33
      // 6a9: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.l [Ljava/lang/String;
      // 6ac: astore 34
      // 6ae: aload 34
      // 6b0: bipush 62
      // 6b2: aaload
      // 6b3: aload 33
      // 6b5: aload 34
      // 6b7: bipush 4
      // 6b8: aaload
      // 6b9: aload 32
      // 6bb: aload 34
      // 6bd: bipush 67
      // 6bf: aaload
      // 6c0: aload 31
      // 6c2: aload 34
      // 6c4: bipush 63
      // 6c6: aaload
      // 6c7: aload 30
      // 6c9: ldc ")"
      // 6cb: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;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\u0001\u0001\u0001\u0001\u0001\u0001" ]
      // 6d0: invokevirtual java/util/logging/Logger.info (Ljava/lang/String;)V
      // 6d3: aload 0
      // 6d4: getfield com/l7tech/server/policy/module/ModularAssertionsScanner.i Lcom/l7tech/server/policy/module/ScannerCallbacks$ModularAssertion;
      // 6d7: aload 25
      // 6d9: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
      // 6dc: invokeinterface com/l7tech/server/policy/module/ScannerCallbacks$ModularAssertion.registerAssertion (Ljava/lang/Class;)V 2
      // 6e1: goto 65c
      // 6e4: aload 8
      // 6e6: ifnull 70d
      // 6e9: aload 0
      // 6ea: aload 8
      // 6ec: invokevirtual com/l7tech/server/policy/module/ModularAssertionsScanner.onModuleUnloaded (Lcom/l7tech/server/policy/module/ModularAssertionModule;)V
      // 6ef: goto 70d
      // 6f2: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 6f5: athrow
      // 6f6: astore 29
      // 6f8: aload 8
      // 6fa: ifnull 70a
      // 6fd: aload 0
      // 6fe: aload 8
      // 700: invokevirtual com/l7tech/server/policy/module/ModularAssertionsScanner.onModuleUnloaded (Lcom/l7tech/server/policy/module/ModularAssertionModule;)V
      // 703: goto 70a
      // 706: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 709: athrow
      // 70a: aload 29
      // 70c: athrow
      // 70d: aload 0
      // 70e: getfield com/l7tech/server/policy/module/ModularAssertionsScanner.i Lcom/l7tech/server/policy/module/ScannerCallbacks$ModularAssertion;
      // 711: new com/l7tech/server/policy/module/AssertionModuleRegistrationEvent
      // 714: dup
      // 715: aload 0
      // 716: aload 23
      // 718: invokespecial com/l7tech/server/policy/module/AssertionModuleRegistrationEvent.<init> (Ljava/lang/Object;Lcom/l7tech/server/policy/module/BaseAssertionModule;)V
      // 71b: invokeinterface com/l7tech/server/policy/module/ScannerCallbacks$ModularAssertion.publishEvent (Lorg/springframework/context/ApplicationEvent;)V 2
      // 720: aload 2
      // 721: dup
      // 722: ifnonnull 729
      // 725: bipush 5
      // 726: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.c (I)V
      // 729: areturn
      // 72a: astore 9
      // 72c: new com/l7tech/server/policy/module/ModuleException
      // 72f: dup
      // 730: aload 9
      // 732: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 735: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.l [Ljava/lang/String;
      // 738: astore 34
      // 73a: aload 34
      // 73c: bipush 68
      // 73e: aaload
      // 73f: swap
      // 740: 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" ]
      // 745: aload 9
      // 747: invokespecial com/l7tech/server/policy/module/ModuleException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 74a: athrow
      // 74b: astore 9
      // 74d: new com/l7tech/server/policy/module/ModuleException
      // 750: dup
      // 751: aload 9
      // 753: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 756: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.l [Ljava/lang/String;
      // 759: astore 34
      // 75b: aload 34
      // 75d: bipush 45
      // 75f: aaload
      // 760: swap
      // 761: 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" ]
      // 766: aload 9
      // 768: invokespecial com/l7tech/server/policy/module/ModuleException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 76b: athrow
      // 76c: astore 9
      // 76e: new com/l7tech/server/policy/module/ModuleException
      // 771: dup
      // 772: aload 9
      // 774: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 777: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.l [Ljava/lang/String;
      // 77a: astore 34
      // 77c: aload 34
      // 77e: bipush 18
      // 780: aaload
      // 781: swap
      // 782: 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" ]
      // 787: aload 9
      // 789: invokespecial com/l7tech/server/policy/module/ModuleException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 78c: athrow
      // 78d: astore 9
      // 78f: new com/l7tech/server/policy/module/ModuleException
      // 792: dup
      // 793: aload 9
      // 795: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 798: getstatic com/l7tech/server/policy/module/ModularAssertionsScanner.l [Ljava/lang/String;
      // 79b: bipush 20
      // 79d: aaload
      // 79e: swap
      // 79f: 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" ]
      // 7a4: aload 9
      // 7a6: invokespecial com/l7tech/server/policy/module/ModuleException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 7a9: athrow
      // try (685 -> 691): 691 java/io/IOException
      // try (652 -> 671): 672 java/io/IOException
      // try (650 -> 655): 656 java/io/IOException
      // try (621 -> 626): 627 java/io/IOException
      // try (57 -> 61): 61 java/io/IOException
      // try (0 -> 12): 12 java/io/IOException
      // try (597 -> 737): 745 null
      // try (745 -> 746): 745 null
      // try (35 -> 91): 770 java/io/IOException
      // try (746 -> 751): 752 java/io/IOException
      // try (737 -> 743): 743 java/io/IOException
      // try (583 -> 593): 593 java/io/IOException
      // try (464 -> 480): 480 java/io/IOException
      // try (443 -> 462): 462 java/io/IOException
      // try (436 -> 448): 449 java/io/IOException
      // try (434 -> 440): 441 java/io/IOException
      // try (417 -> 432): 432 java/io/IOException
      // try (392 -> 411): 411 java/io/IOException
      // try (390 -> 398): 399 java/io/IOException
      // try (339 -> 348): 348 java/io/IOException
      // try (329 -> 332): 332 java/io/IOException
      // try (315 -> 318): 318 java/io/IOException
      // try (276 -> 287): 287 java/io/IOException
      // try (269 -> 274): 274 java/io/IOException
      // try (258 -> 263): 263 java/io/IOException
      // try (250 -> 255): 256 java/io/IOException
      // try (224 -> 233): 233 java/io/IOException
      // try (217 -> 222): 222 java/io/IOException
      // try (206 -> 211): 211 java/io/IOException
      // try (166 -> 179): 180 java/io/IOException
      // try (130 -> 143): 144 java/io/IOException
      // try (96 -> 765): 770 java/io/IOException
      // try (35 -> 91): 785 java/lang/ClassNotFoundException
      // try (96 -> 765): 785 java/lang/ClassNotFoundException
      // try (35 -> 91): 800 java/lang/ClassCastException
      // try (96 -> 765): 800 java/lang/ClassCastException
      // try (35 -> 91): 815 java/lang/IllegalAccessException
      // try (35 -> 91): 815 java/lang/InstantiationException
      // try (96 -> 765): 815 java/lang/IllegalAccessException
      // try (96 -> 765): 815 java/lang/InstantiationException
   }

   protected boolean onModuleUnload(ModularAssertionModule var1) throws ModuleException {
      try {
         if (var1 == null) {
            throw new ModuleException(l[42], new NullPointerException());
         }
      } catch (ModuleException var6) {
         throw a(var6);
      }

      try {
         if (this.removeModule(var1) == null) {
            return false;
         }
      } catch (ModuleException var7) {
         throw a(var7);
      }

      this.f.values().removeIf(var1x -> {
         try {
            if (var1x == var1) {
               return true;
            }
         } catch (NullPointerException var2) {
            throw a(var2);
         }

         return false;
      });

      for (Set var3 : this.g.values()) {
         var3.remove(var1);
      }

      this.g.values().removeIf(Set::isEmpty);
      this.clearFailedModTimes();

      for (Assertion var4 : var1.getAssertionPrototypes()) {
         Logger var10000 = logger;
         String var10001 = var4.getClass().getName();
         String var10002 = var1.getName();
         String[] var5 = l;
         var10000.info(var5[49] + var10001 + var5[34] + var10002);
         this.i.unregisterAssertion(var4);
      }

      this.onModuleUnloaded(var1);
      return true;
   }

   @Override
   public void loadServerModuleFile(@NotNull File var1, @NotNull String var2, @NotNull String var3) throws ModuleLoadingException {
      try {
         if (var1 == null) {
            c(6);
         }
      } catch (ModuleLoadingException var8) {
         throw a(var8);
      }

      try {
         if (var2 == null) {
            c(7);
         }
      } catch (ModuleLoadingException var5) {
         throw a(var5);
      }

      try {
         if (var3 == null) {
            c(8);
         }
      } catch (ModuleLoadingException var7) {
         throw a(var7);
      }

      try {
         if (!this.e.isFeatureEnabled()) {
            throw new ModuleLoadingException(l[27] + var3 + l[17]);
         }
      } catch (ModuleLoadingException var4) {
         throw a(var4);
      }

      try {
         if (!this.e.isScanningEnabled()) {
            throw new ModuleLoadingException(l[24] + var3 + l[48]);
         }
      } catch (ModuleLoadingException var6) {
         throw a(var6);
      }

      super.loadServerModuleFile(var1, var2, var3);
   }

   @Override
   public void updateServerModuleFile(@NotNull File var1, @NotNull String var2, @NotNull String var3) {
      try {
         if (var1 == null) {
            c(9);
         }
      } catch (NullPointerException var6) {
         throw a(var6);
      }

      try {
         if (var2 == null) {
            c(10);
         }
      } catch (NullPointerException var4) {
         throw a(var4);
      }

      try {
         if (var3 == null) {
            c(11);
         }
      } catch (NullPointerException var5) {
         throw a(var5);
      }

      super.updateServerModuleFile(var1, var2, var3);
   }

   @Override
   public void unloadServerModuleFile(@NotNull File var1, @NotNull String var2, @NotNull String var3) throws ModuleLoadingException {
      try {
         if (var1 == null) {
            c(12);
         }
      } catch (ModuleLoadingException var8) {
         throw a(var8);
      }

      try {
         if (var2 == null) {
            c(13);
         }
      } catch (ModuleLoadingException var5) {
         throw a(var5);
      }

      try {
         if (var3 == null) {
            c(14);
         }
      } catch (ModuleLoadingException var7) {
         throw a(var7);
      }

      try {
         if (!this.e.isFeatureEnabled()) {
            throw new ModuleLoadingException(l[60] + var3 + l[12]);
         }
      } catch (ModuleLoadingException var4) {
         throw a(var4);
      }

      try {
         if (!this.e.isScanningEnabled()) {
            throw new ModuleLoadingException(l[16] + var3 + l[11]);
         }
      } catch (ModuleLoadingException var6) {
         throw a(var6);
      }

      super.unloadServerModuleFile(var1, var2, var3);
   }

   @Override
   protected boolean isScanNeeded(File param1, long 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: aload 0
      // 01: invokevirtual com/l7tech/server/policy/module/ModularAssertionsScanner.isScanNeeded ()Z
      // 04: ifne 17
      // 07: aload 0
      // 08: aload 1
      // 09: lload 2
      // 0a: invokespecial com/l7tech/server/policy/module/ScheduledModuleScanner.isScanNeeded (Ljava/io/File;J)Z
      // 0d: ifeq 1f
      // 10: goto 17
      // 13: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 16: athrow
      // 17: bipush 1
      // 18: goto 20
      // 1b: invokestatic com/l7tech/server/policy/module/ModularAssertionsScanner.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1e: athrow
      // 1f: bipush 0
      // 20: ireturn
      // try (0 -> 8): 9 java/lang/NullPointerException
      // try (3 -> 13): 13 java/lang/NullPointerException
   }

   @Override
   public synchronized void destroy() {
      this.setScanNeeded(false);
      super.destroy();
   }

   @Override
   protected void onScanComplete(boolean var1) {
      this.setScanNeeded(false);
   }

   public boolean scanModules() {
      return super.scanModules(this.e);
   }

   public synchronized void onLicenseChange() {
      this.reset();
      this.clearFailedModTimes();
      this.setScanNeeded(true);
   }

   public boolean isScanNeeded() {
      return this.h;
   }

   public void setScanNeeded(boolean var1) {
      this.h = var1;
   }

   static {
      String[] var5 = new String[71];
      int var3 = 0;
      String var2 = "'3b\u0003\u001e8\u001e!?g\u0003\u0001j\u001829}\u0003\u0002`\u0006-?v\u0003\u001f`\u000e10j\u0003?`\u000e10n^3|\u0019!.{E\u001da\u0019\u0017?nB\u001cj\u0018\rd:}C\u001f/\u0007+8z@\u0017/\u001c\r2fX\u001bn\u0006-&fB\u0015/\u000e=2nA\u001blJ)3kY\u001ejJ-7/h\u0002\u001f`\u000e10n^3|\u0019!.{E\u001da\u0019j)|I3\u007f\u001a(5lM\u0006f\u0005*\u001fcM\u0001|\u001a%(g\u0006d:}C\u001f/\u000b4=lG\u0013h\u000f\n=bI\u0010*9x@\u000b\"\u0018!;f_\u0006j\u0018!8>d8jO\u001en\u0018!//MRb\u0005 )cIRc\u0005%8/@\u001b|\u001e!2j^Rm\u001f0|fXRl\u000510k\f\u001c`\u001ed>j\f\u001ba\u001c+7jHH/\u001b)3kY\u001ej&+=k`\u001b|\u001e!2j^1c\u000b7/aM\u001fj\u00161,kM\u0006j9!.yI\u0000B\u0005 )cI4f\u0006!\u0004i\u0015Aj*fg/a\u001dk\u001f(=}\f3|\u0019!.{E\u001da\u0019d/lM\u001ca\u000f6|f_Rk\u00037=m@\u0017kD7fg/k\u0013{\u000f3=v\f\u0016`\u000f72(XRg\u000b29/@\u001bl\u000f*/j\f\u0014`\u0018d\u0011`H\u0007c\u000b6|N_\u0001j\u001805`B\u0001!Sd8jO\u001en\u0018!//MRb\u0005 )cIRc\u0005%8/@\u001b|\u001e!2j^Rm\u001f0|fX\u0001/\u0005*\u0011`H\u0007c\u000f\b3nH\u0017kJ(5|X\u0017a\u000f6\u0011jX\u001a`\u000ed5|BU{J7(nX\u001bl<d8jO\u001en\u0018!//MRb\u0005 )cIRc\u0005%8/@\u001b|\u001e!2j^Rm\u001f0|{D\u0017/\t(=|_Rf\u0019*{{\f\u0014`\u001f*85\f\u001c-/IE\u0000|\u001e\u0014=}X\u000bN\u001979}X\u001b`\u0004\u0014=lG\u0013h\u000f\u0016\u0007=aB\u001d{J12cC\u0013kJ)3kY\u001ejJf7fg/k\u0013{\u000f3=v\f\u0016`\u000f72(XRg\u000b29/@\u001bl\u000f*/j\f\u0014`\u0018d\u0011`H\u0007c\u000b6|N_\u0001j\u001805`B\u0001!%\u00009l@\u0013}\u000f |l@\u0013|\u0019d+n_Ra\u00050|nBRN\u001979}X\u001b`\u0004~|\t'=c@\u0010n\t//)\u00112nN\u001ejJ03/E\u001c|\u001e%2{E\u0013{\u000fd1`H\u0007c\u000b6|n_\u0001j\u001805`BH/H\u00009l@\u0013}\u000f |n_\u0001j\u001805`BRl\u0006%/|\f\u001b|J )\u007f@\u001bl\u000b09/C\u0014/\u000b7/j^\u0006f\u0005*|i^\u001dbJ%2`X\u001aj\u0018d1`H\u0007c\u000f~|\u0014(3nH!j\u001829}a\u001dk\u001f(9IE\u001ej\u0013#9{a\u001dk\u001f(9IC\u0000_\u000b'7nK\u0017\u0014\u0007=aB\u001d{J(3nHRb\u0005 )cIR-\u0004j6n^\u001b\u0001.}C\u0000/\u001d,5cIRl\u0006+/fB\u0015/\u0007+8z@\u0017/\u0014\u0007=aB\u001d{J(3nHRb\u0005 )cIR-8'3b\u0003\u001e8\u001e!?g\u0003\u0001j\u001829}\u0003\u0002`\u0006-?v\u0003\u001f`\u000e10j\u0003?`\u000e10n^3|\u0019!.{E\u001da\u0019\u0017?nB\u001cj\u0018\u0003\u0018/$\u0006j?cM\u0001|\u0004i\u0015Aj6\u00009l@\u0013}\u000f |n_\u0001j\u001805`BRl\u0006%/|\f\u001c`\u001ed=|_\u001bh\u0004%>cIR{\u0005d\u001d|_\u0017}\u001e-3a\u0016R\n7(nK\u0017k,-0j\u001fd:}C\u001f/\u00001/{\u0001\u0007a\u0018!;f_\u0006j\u0018!8/A\u001dk\u001f(9/!)3kY\u001ej)(=|_>`\u000b 9}h\u0017c\u000f#={I;a\u00190=aO\u0017\u0002~|\u0019)3kY\u001ej.%(n\f\u0011n\u0004*3{\f\u0010jJ*)c@>\u0005.hY\u001fj\u00040|iC\u0000/*\n3{b\u0007c\u0006d,n^\u0013b\u000f09}\fU*\u0019c|`JR*\u0019jy|\f\u001fz\u00190|aC\u0006/\b!|aY\u001ec\u0017\t=}G\u001ba\rd2j_\u0006j\u000ed6n^\u0014f\u0006!|\u00111,kM\u0006j\u000e\u00012{E\u0006v$%1j\u0006x5aE\u00061\u0015)3kY\u001ejJ'=aB\u001d{J&9/B\u0007c\u0006wd8jO\u001en\u0018!//MRb\u0005 )cIRc\u0005%8/@\u001b|\u001e!2j^Rm\u001f0|{D\u0017/\t(=|_Rk\u0005!/a\u000b\u0006/\u0002%*j\f\u0013/\u001a1>cE\u0011/\u00190={E\u0011/\u0007!(gC\u0016/\u0005*\u0011`H\u0007c\u000f\b3nH\u0017kB\u0005,\u007f@\u001bl\u000b05`B1`\u000409wX[5J\r.)|X_z\u001a#.nH\u0017k#\u00112nN\u001ejJ03/J\u001ba\u000ed8jO\u001en\u0018!8/M\u0001|\u000f6(fC\u001c5J*\u0004\u0012`X<z\u0006(|bI\u0006g\u0005 |*_\\*\u0019d1z_\u0006/\u0004+(/^\u0017{\u001f62/B\u0007c\u0006\u001612cC\u0013k9!.yI\u0000B\u0005 )cI4f\u0006!*fg/a\u001dk\u001f(=}\f3|\u0019!.{E\u001da\u0019d/lM\u001ca\u000f6|f_Rk\u00037=m@\u0017kD \u00112}I\u0015f\u001909}E\u001chJ %aM\u001ff\td=|_\u0017}\u001e-3a\f\f)3kY\u001ej.-;j_\u00065\u00009l@\u0013}\u000f |l@\u0013|\u0019d=c^\u0017n\u000e=|jT\u001b|\u001e7|fBR\u007f\u000b69aXRl\u0006%/|@\u001dn\u000e!.5\f\u000e+2BC\u0016z\u0006!\u0010`M\u0016j\u000eSd8jO\u001en\u0018!//MRb\u0005 )cIRc\u0005%8/@\u001b|\u001e!2j^Rm\u001f0|fX\u0001/\u0005*\u0011`H\u0007c\u000f\b3nH\u0017kJ(5|X\u0017a\u000f6\u0011jX\u001a`\u000ed5|BU{J4)m@\u001bl\n!2{E\u0006v$%1j\u000bd=|\f\u0002}\u00032={I\u0012\t3kY\u001en\u0018d=|_\u0017}\u001e-3a\fL\t3kY\u001en\u0018d=|_\u0017}\u001e-3ab\u0013b\u000f7|eM\u0000i\u0003(9/O\u001da\u001e%5a_Ra\u0005d1`H\u0007c\u000b6|n_\u0001j\u001805`B\u0001/B-;aC\u0000f\u0004#|fX[/\f+2BC\u0016z\u0006!\u0010`M\u0016\u0012\t3kY\u001en\u0018d=|_\u0017}\u001e-3a\f\u0016\u0007=aB\u001d{J12cC\u0013kJ)3kY\u001ejJf\t\u001at0\u0016\\%Emc\u001e\u00169hE\u0001{\u000f65aKRk\u0013*=bE\u0011/\u000b7/j^\u0006f\u0005*|\u0011dtbC\u0016z\u0006!|\\d3\"Xqj/\u001b\u0014.j@\u001dn\u000e-2h\f\u001cj\u001909k\f8N8d:f@\u0017/\f\u0005\u001d]\u0001;A,k0fN]H\u00009l@\u0013}\u000f |n_\u0001j\u001805`BRl\u0006%/|\f\u001b|J )\u007f@\u001bl\u000b09/C\u0014/\u000b7/j^\u0006f\u0005*|i^\u001dbJ%2`X\u001aj\u0018d1`H\u0007c\u000f~|\bd1`H\u0007c\u000fd\u0017\u00112nN\u001ejJ03/^\u0017n\u000ed1`H\u0007c\u000f~|";
      int var4 = "'3b\u0003\u001e8\u001e!?g\u0003\u0001j\u001829}\u0003\u0002`\u0006-?v\u0003\u001f`\u000e10j\u0003?`\u000e10n^3|\u0019!.{E\u001da\u0019\u0017?nB\u001cj\u0018\rd:}C\u001f/\u0007+8z@\u0017/\u001c\r2fX\u001bn\u0006-&fB\u0015/\u000e=2nA\u001blJ)3kY\u001ejJ-7/h\u0002\u001f`\u000e10n^3|\u0019!.{E\u001da\u0019j)|I3\u007f\u001a(5lM\u0006f\u0005*\u001fcM\u0001|\u001a%(g\u0006d:}C\u001f/\u000b4=lG\u0013h\u000f\n=bI\u0010*9x@\u000b\"\u0018!;f_\u0006j\u0018!8>d8jO\u001en\u0018!//MRb\u0005 )cIRc\u0005%8/@\u001b|\u001e!2j^Rm\u001f0|fXRl\u000510k\f\u001c`\u001ed>j\f\u001ba\u001c+7jHH/\u001b)3kY\u001ej&+=k`\u001b|\u001e!2j^1c\u000b7/aM\u001fj\u00161,kM\u0006j9!.yI\u0000B\u0005 )cI4f\u0006!\u0004i\u0015Aj*fg/a\u001dk\u001f(=}\f3|\u0019!.{E\u001da\u0019d/lM\u001ca\u000f6|f_Rk\u00037=m@\u0017kD7fg/k\u0013{\u000f3=v\f\u0016`\u000f72(XRg\u000b29/@\u001bl\u000f*/j\f\u0014`\u0018d\u0011`H\u0007c\u000b6|N_\u0001j\u001805`B\u0001!Sd8jO\u001en\u0018!//MRb\u0005 )cIRc\u0005%8/@\u001b|\u001e!2j^Rm\u001f0|fX\u0001/\u0005*\u0011`H\u0007c\u000f\b3nH\u0017kJ(5|X\u0017a\u000f6\u0011jX\u001a`\u000ed5|BU{J7(nX\u001bl<d8jO\u001en\u0018!//MRb\u0005 )cIRc\u0005%8/@\u001b|\u001e!2j^Rm\u001f0|{D\u0017/\t(=|_Rf\u0019*{{\f\u0014`\u001f*85\f\u001c-/IE\u0000|\u001e\u0014=}X\u000bN\u001979}X\u001b`\u0004\u0014=lG\u0013h\u000f\u0016\u0007=aB\u001d{J12cC\u0013kJ)3kY\u001ejJf7fg/k\u0013{\u000f3=v\f\u0016`\u000f72(XRg\u000b29/@\u001bl\u000f*/j\f\u0014`\u0018d\u0011`H\u0007c\u000b6|N_\u0001j\u001805`B\u0001!%\u00009l@\u0013}\u000f |l@\u0013|\u0019d+n_Ra\u00050|nBRN\u001979}X\u001b`\u0004~|\t'=c@\u0010n\t//)\u00112nN\u001ejJ03/E\u001c|\u001e%2{E\u0013{\u000fd1`H\u0007c\u000b6|n_\u0001j\u001805`BH/H\u00009l@\u0013}\u000f |n_\u0001j\u001805`BRl\u0006%/|\f\u001b|J )\u007f@\u001bl\u000b09/C\u0014/\u000b7/j^\u0006f\u0005*|i^\u001dbJ%2`X\u001aj\u0018d1`H\u0007c\u000f~|\u0014(3nH!j\u001829}a\u001dk\u001f(9IE\u001ej\u0013#9{a\u001dk\u001f(9IC\u0000_\u000b'7nK\u0017\u0014\u0007=aB\u001d{J(3nHRb\u0005 )cIR-\u0004j6n^\u001b\u0001.}C\u0000/\u001d,5cIRl\u0006+/fB\u0015/\u0007+8z@\u0017/\u0014\u0007=aB\u001d{J(3nHRb\u0005 )cIR-8'3b\u0003\u001e8\u001e!?g\u0003\u0001j\u001829}\u0003\u0002`\u0006-?v\u0003\u001f`\u000e10j\u0003?`\u000e10n^3|\u0019!.{E\u001da\u0019\u0017?nB\u001cj\u0018\u0003\u0018/$\u0006j?cM\u0001|\u0004i\u0015Aj6\u00009l@\u0013}\u000f |n_\u0001j\u001805`BRl\u0006%/|\f\u001c`\u001ed=|_\u001bh\u0004%>cIR{\u0005d\u001d|_\u0017}\u001e-3a\u0016R\n7(nK\u0017k,-0j\u001fd:}C\u001f/\u00001/{\u0001\u0007a\u0018!;f_\u0006j\u0018!8/A\u001dk\u001f(9/!)3kY\u001ej)(=|_>`\u000b 9}h\u0017c\u000f#={I;a\u00190=aO\u0017\u0002~|\u0019)3kY\u001ej.%(n\f\u0011n\u0004*3{\f\u0010jJ*)c@>\u0005.hY\u001fj\u00040|iC\u0000/*\n3{b\u0007c\u0006d,n^\u0013b\u000f09}\fU*\u0019c|`JR*\u0019jy|\f\u001fz\u00190|aC\u0006/\b!|aY\u001ec\u0017\t=}G\u001ba\rd2j_\u0006j\u000ed6n^\u0014f\u0006!|\u00111,kM\u0006j\u000e\u00012{E\u0006v$%1j\u0006x5aE\u00061\u0015)3kY\u001ejJ'=aB\u001d{J&9/B\u0007c\u0006wd8jO\u001en\u0018!//MRb\u0005 )cIRc\u0005%8/@\u001b|\u001e!2j^Rm\u001f0|{D\u0017/\t(=|_Rk\u0005!/a\u000b\u0006/\u0002%*j\f\u0013/\u001a1>cE\u0011/\u00190={E\u0011/\u0007!(gC\u0016/\u0005*\u0011`H\u0007c\u000f\b3nH\u0017kB\u0005,\u007f@\u001bl\u000b05`B1`\u000409wX[5J\r.)|X_z\u001a#.nH\u0017k#\u00112nN\u001ejJ03/J\u001ba\u000ed8jO\u001en\u0018!8/M\u0001|\u000f6(fC\u001c5J*\u0004\u0012`X<z\u0006(|bI\u0006g\u0005 |*_\\*\u0019d1z_\u0006/\u0004+(/^\u0017{\u001f62/B\u0007c\u0006\u001612cC\u0013k9!.yI\u0000B\u0005 )cI4f\u0006!*fg/a\u001dk\u001f(=}\f3|\u0019!.{E\u001da\u0019d/lM\u001ca\u000f6|f_Rk\u00037=m@\u0017kD \u00112}I\u0015f\u001909}E\u001chJ %aM\u001ff\td=|_\u0017}\u001e-3a\f\f)3kY\u001ej.-;j_\u00065\u00009l@\u0013}\u000f |l@\u0013|\u0019d=c^\u0017n\u000e=|jT\u001b|\u001e7|fBR\u007f\u000b69aXRl\u0006%/|@\u001dn\u000e!.5\f\u000e+2BC\u0016z\u0006!\u0010`M\u0016j\u000eSd8jO\u001en\u0018!//MRb\u0005 )cIRc\u0005%8/@\u001b|\u001e!2j^Rm\u001f0|fX\u0001/\u0005*\u0011`H\u0007c\u000f\b3nH\u0017kJ(5|X\u0017a\u000f6\u0011jX\u001a`\u000ed5|BU{J4)m@\u001bl\n!2{E\u0006v$%1j\u000bd=|\f\u0002}\u00032={I\u0012\t3kY\u001en\u0018d=|_\u0017}\u001e-3a\fL\t3kY\u001en\u0018d=|_\u0017}\u001e-3ab\u0013b\u000f7|eM\u0000i\u0003(9/O\u001da\u001e%5a_Ra\u0005d1`H\u0007c\u000b6|n_\u0001j\u001805`B\u0001/B-;aC\u0000f\u0004#|fX[/\f+2BC\u0016z\u0006!\u0010`M\u0016\u0012\t3kY\u001en\u0018d=|_\u0017}\u001e-3a\f\u0016\u0007=aB\u001d{J12cC\u0013kJ)3kY\u001ejJf\t\u001at0\u0016\\%Emc\u001e\u00169hE\u0001{\u000f65aKRk\u0013*=bE\u0011/\u000b7/j^\u0006f\u0005*|\u0011dtbC\u0016z\u0006!|\\d3\"Xqj/\u001b\u0014.j@\u001dn\u000e-2h\f\u001cj\u001909k\f8N8d:f@\u0017/\f\u0005\u001d]\u0001;A,k0fN]H\u00009l@\u0013}\u000f |n_\u0001j\u001805`BRl\u0006%/|\f\u001b|J )\u007f@\u001bl\u000b09/C\u0014/\u000b7/j^\u0006f\u0005*|i^\u001dbJ%2`X\u001aj\u0018d1`H\u0007c\u000f~|\bd1`H\u0007c\u000fd\u0017\u00112nN\u001ejJ03/^\u0017n\u000ed1`H\u0007c\u000f~|"
         .length();
      char var1 = '8';
      int var7 = -1;

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

         while (true) {
            String var8 = c(var10000, d(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     l = var5;
                     logger = Logger.getLogger(ModularAssertionsScanner.class.getName());
                     c = new String[0];
                     d = ConfigFactory.getBooleanProperty(l[3], false);
                     return;
                  }

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

                  var2 = "tCH\rE_\u00075r\u0006uk_\r&w\u0004";
                  var4 = "tCH\rE_\u00075r\u0006uk_\r&w\u0004".length();
                  var1 = 3;
                  var7 = -1;
            }

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

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

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

      return var10000;
   }

   private static String c(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 -> 49;
            case 1 -> 41;
            case 2 -> 122;
            case 3 -> 89;
            case 4 -> 7;
            case 5 -> 122;
            default -> 31;
         });
      }

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