package com.l7tech.server.security.keystore.ncipher;

import com.l7tech.util.ClassFilter;
import com.l7tech.util.ClassFilterBuilder;
import com.l7tech.util.ClassFilterObjectInputStream;
import com.l7tech.util.ClassNotPermittedException;
import com.l7tech.util.ConfigFactory;
import com.l7tech.util.PoolByteArrayOutputStream;
import com.l7tech.util.ResourceUtils;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.security.KeyStoreException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.logging.Logger;
import java.util.regex.Pattern;
import org.jetbrains.annotations.NotNull;

class NcipherKeyStoreData implements Serializable {
   private static final Logger logger;
   private static final long serialVersionUID = -1890805696377529829L;
   private static final int MAX_DELETED_FILENAMES_TO_TRACK;
   private static final Pattern PAT_ALPHANUM;
   private static final Pattern PAT_ALPHANUM_WITH_DASH_AND_UNDERSCORE;
   private static final String APP_PREFIX_KEY_JCECSP;
   String keystoreMetadata;
   Map<String, byte[]> fileset = new HashMap<>();
   Set<String> deletedFilenames;
   @NotNull
   private static final ClassFilter CLASS_FILTER;
   private static final String[] a;

   private NcipherKeyStoreData(String var1, Set<String> var2) {
      this.keystoreMetadata = var1;
      this.deletedFilenames = new LinkedHashSet<>(var2);
   }

   byte[] toBytes() throws KeyStoreException {
      this.validate();
      PoolByteArrayOutputStream var1 = new PoolByteArrayOutputStream(8192);

      try {
         ObjectOutputStream var2 = new ObjectOutputStream(var1);
         var2.writeObject(this);
         var2.flush();
         return var1.toByteArray();
      } catch (IOException var7) {
         throw new RuntimeException(var7);
      } finally {
         ResourceUtils.closeQuietly(var1);
      }
   }

   static List<String> readKeystoreIdentifiersFromLocalDisk(File var0, Set<String> var1) {
      if (var1 == null) {
         var1 = Collections.emptySet();
      }

      String[] var13 = a;
      String var2 = var13[10];
      int var3 = var13[10].length();
      Pattern var4 = Pattern.compile(var13[3]);
      File[] var5 = var0.listFiles(new a());
      ArrayList var6 = new ArrayList();

      for (File var10 : var5) {
         String var11 = var10.getName();

         try {
            if (!var11.startsWith(a[10])) {
               continue;
            }
         } catch (RuntimeException var17) {
            throw a(var17);
         }

         try {
            if (var11.length() < var3 + 40) {
               continue;
            }
         } catch (RuntimeException var16) {
            throw a(var16);
         }

         String var12 = var11.substring(var3);

         try {
            if (!var4.matcher(var12).matches()) {
               continue;
            }
         } catch (RuntimeException var15) {
            throw a(var15);
         }

         try {
            if (var1.contains(var12)) {
               continue;
            }
         } catch (RuntimeException var14) {
            throw a(var14);
         }

         var6.add(var12);
      }

      return var6;
   }

   static NcipherKeyStoreData createFromLocalDisk(String var0, File var1) throws IOException, KeyStoreException {
      NcipherKeyStoreData var2 = new NcipherKeyStoreData(var0, Collections.emptySet());
      var2.loadFilesetFromLocalDisk(var1);
      return var2;
   }

   static NcipherKeyStoreData createFromBytes(byte[] var0) throws IOException {
      try {
         if (var0 == null) {
            throw new NullPointerException(a[34]);
         }
      } catch (Throwable var6) {
         throw a(var6);
      }

      try {
         if (var0.length < 1) {
            throw new IOException(a[42]);
         }
      } catch (Throwable var10) {
         throw a(var10);
      }

      try (ClassFilterObjectInputStream var1 = new ClassFilterObjectInputStream(new ByteArrayInputStream(var0), CLASS_FILTER)) {
         Object var2 = var1.readObject();

         try {
            if (var2 == null) {
               throw new IOException(a[23]);
            }
         } catch (Throwable var5) {
            throw a(var5);
         }

         try {
            if (!(var2 instanceof NcipherKeyStoreData)) {
               throw new IOException(a[28] + var2.getClass());
            }
         } catch (Throwable var7) {
            throw a(var7);
         }

         return (NcipherKeyStoreData)var2;
      } catch (ClassNotFoundException | ClassNotPermittedException var9) {
         throw new IOException(var9);
      }
   }

   void validate() throws KeyStoreException {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 0
      // 01: getfield com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.keystoreMetadata Ljava/lang/String;
      // 04: ifnonnull 19
      // 07: new java/security/KeyStoreException
      // 0a: dup
      // 0b: getstatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a [Ljava/lang/String;
      // 0e: bipush 39
      // 10: aaload
      // 11: invokespecial java/security/KeyStoreException.<init> (Ljava/lang/String;)V
      // 14: athrow
      // 15: invokestatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 18: athrow
      // 19: aload 0
      // 1a: getfield com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.keystoreMetadata Ljava/lang/String;
      // 1d: invokevirtual java/lang/String.length ()I
      // 20: bipush 40
      // 22: if_icmpge 37
      // 25: new java/security/KeyStoreException
      // 28: dup
      // 29: getstatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a [Ljava/lang/String;
      // 2c: bipush 16
      // 2e: aaload
      // 2f: invokespecial java/security/KeyStoreException.<init> (Ljava/lang/String;)V
      // 32: athrow
      // 33: invokestatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 36: athrow
      // 37: getstatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.PAT_ALPHANUM Ljava/util/regex/Pattern;
      // 3a: aload 0
      // 3b: getfield com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.keystoreMetadata Ljava/lang/String;
      // 3e: invokevirtual java/util/regex/Pattern.matcher (Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
      // 41: invokevirtual java/util/regex/Matcher.matches ()Z
      // 44: ifne 59
      // 47: new java/security/KeyStoreException
      // 4a: dup
      // 4b: getstatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a [Ljava/lang/String;
      // 4e: bipush 33
      // 50: aaload
      // 51: invokespecial java/security/KeyStoreException.<init> (Ljava/lang/String;)V
      // 54: athrow
      // 55: invokestatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 58: athrow
      // 59: aload 0
      // 5a: getfield com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.fileset Ljava/util/Map;
      // 5d: ifnull 73
      // 60: aload 0
      // 61: getfield com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.fileset Ljava/util/Map;
      // 64: invokeinterface java/util/Map.isEmpty ()Z 1
      // 69: ifeq 78
      // 6c: goto 73
      // 6f: invokestatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 72: athrow
      // 73: return
      // 74: invokestatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 77: athrow
      // 78: aload 0
      // 79: getfield com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.fileset Ljava/util/Map;
      // 7c: invokeinterface java/util/Map.entrySet ()Ljava/util/Set; 1
      // 81: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 86: astore 1
      // 87: aload 1
      // 88: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 8d: ifeq d3
      // 90: aload 1
      // 91: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 96: checkcast java/util/Map$Entry
      // 99: astore 2
      // 9a: aload 2
      // 9b: invokeinterface java/util/Map$Entry.getKey ()Ljava/lang/Object; 1
      // a0: checkcast java/lang/String
      // a3: astore 3
      // a4: aload 2
      // a5: invokeinterface java/util/Map$Entry.getValue ()Ljava/lang/Object; 1
      // aa: checkcast [B
      // ad: astore 4
      // af: aload 4
      // b1: ifnonnull c6
      // b4: new java/security/KeyStoreException
      // b7: dup
      // b8: getstatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a [Ljava/lang/String;
      // bb: bipush 17
      // bd: aaload
      // be: invokespecial java/security/KeyStoreException.<init> (Ljava/lang/String;)V
      // c1: athrow
      // c2: invokestatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // c5: athrow
      // c6: aload 3
      // c7: getstatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a [Ljava/lang/String;
      // ca: bipush 13
      // cc: aaload
      // cd: invokestatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.validateName (Ljava/lang/String;Ljava/lang/String;)V
      // d0: goto 87
      // d3: return
      // try (0 -> 10): 10 java/security/KeyStoreException
      // try (12 -> 24): 24 java/security/KeyStoreException
      // try (26 -> 39): 39 java/security/KeyStoreException
      // try (41 -> 48): 49 java/security/KeyStoreException
      // try (44 -> 52): 52 java/security/KeyStoreException
      // try (74 -> 83): 83 java/security/KeyStoreException
   }

   private static void validateName(String var0, String var1) throws KeyStoreException {
      try {
         if (var0 == null) {
            throw new KeyStoreException(var1 + a[25]);
         }
      } catch (KeyStoreException var5) {
         throw a(var5);
      }

      try {
         if (var0.length() < 1) {
            throw new KeyStoreException(var1 + a[30]);
         }
      } catch (KeyStoreException var8) {
         throw a(var8);
      }

      try {
         if (!PAT_ALPHANUM_WITH_DASH_AND_UNDERSCORE.matcher(var0).matches()) {
            throw new KeyStoreException(var1 + a[7] + var0);
         }
      } catch (KeyStoreException var4) {
         throw a(var4);
      }

      try {
         if (a[11].equalsIgnoreCase(var0)) {
            throw new KeyStoreException(var1 + a[9] + var0);
         }
      } catch (KeyStoreException var7) {
         throw a(var7);
      }

      try {
         if (var0.toLowerCase().startsWith(a[5])) {
            throw new KeyStoreException(var1 + a[6] + var0);
         }
      } catch (KeyStoreException var3) {
         throw a(var3);
      }

      try {
         if (var0.toLowerCase().startsWith(a[21])) {
            throw new KeyStoreException(var1 + a[36] + var0);
         }
      } catch (KeyStoreException var6) {
         throw a(var6);
      }

      try {
         if (!var0.startsWith(a[15])) {
            throw new KeyStoreException(var1 + a[20] + var0);
         }
      } catch (KeyStoreException var2) {
         throw a(var2);
      }
   }

   void loadFilesetFromLocalDisk(File param1) throws IOException, KeyStoreException {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 0
      // 01: getfield com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.keystoreMetadata Ljava/lang/String;
      // 04: getstatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a [Ljava/lang/String;
      // 07: astore 10
      // 09: aload 10
      // 0b: bipush 10
      // 0d: aaload
      // 0e: swap
      // 0f: 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" ]
      // 14: astore 2
      // 15: aload 1
      // 16: new com/l7tech/server/security/keystore/ncipher/b
      // 19: dup
      // 1a: aload 0
      // 1b: aload 2
      // 1c: invokespecial com/l7tech/server/security/keystore/ncipher/b.<init> (Lcom/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData;Ljava/lang/String;)V
      // 1f: invokevirtual java/io/File.listFiles (Ljava/io/FileFilter;)[Ljava/io/File;
      // 22: astore 3
      // 23: aload 0
      // 24: new java/util/HashMap
      // 27: dup
      // 28: invokespecial java/util/HashMap.<init> ()V
      // 2b: putfield com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.fileset Ljava/util/Map;
      // 2e: aload 3
      // 2f: astore 4
      // 31: aload 4
      // 33: arraylength
      // 34: istore 5
      // 36: bipush 0
      // 37: istore 6
      // 39: iload 6
      // 3b: iload 5
      // 3d: if_icmpge be
      // 40: aload 4
      // 42: iload 6
      // 44: aaload
      // 45: astore 7
      // 47: aload 7
      // 49: invokevirtual java/io/File.getName ()Ljava/lang/String;
      // 4c: astore 8
      // 4e: aload 8
      // 50: getstatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a [Ljava/lang/String;
      // 53: bipush 0
      // 54: aaload
      // 55: invokestatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.validateName (Ljava/lang/String;Ljava/lang/String;)V
      // 58: aload 0
      // 59: getfield com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.deletedFilenames Ljava/util/Set;
      // 5c: ifnull 7b
      // 5f: aload 0
      // 60: getfield com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.deletedFilenames Ljava/util/Set;
      // 63: aload 8
      // 65: invokeinterface java/util/Set.contains (Ljava/lang/Object;)Z 2
      // 6a: ifeq 7b
      // 6d: goto 74
      // 70: invokestatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 73: athrow
      // 74: goto b8
      // 77: invokestatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 7a: athrow
      // 7b: aload 7
      // 7d: invokestatic com/l7tech/util/IOUtils.slurpFile (Ljava/io/File;)[B
      // 80: astore 9
      // 82: aload 0
      // 83: getfield com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.fileset Ljava/util/Map;
      // 86: aload 8
      // 88: invokeinterface java/util/Map.containsKey (Ljava/lang/Object;)Z 2
      // 8d: ifeq aa
      // 90: new java/security/KeyStoreException
      // 93: dup
      // 94: aload 8
      // 96: getstatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a [Ljava/lang/String;
      // 99: bipush 40
      // 9b: aaload
      // 9c: swap
      // 9d: 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" ]
      // a2: invokespecial java/security/KeyStoreException.<init> (Ljava/lang/String;)V
      // a5: athrow
      // a6: invokestatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // a9: athrow
      // aa: aload 0
      // ab: getfield com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.fileset Ljava/util/Map;
      // ae: aload 8
      // b0: aload 9
      // b2: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // b7: pop
      // b8: iinc 6 1
      // bb: goto 39
      // be: return
      // try (40 -> 53): 54 java/io/IOException
      // try (48 -> 57): 57 java/io/IOException
      // try (62 -> 77): 77 java/io/IOException
   }

   void addDeletedFiles(Set<String> var1) {
      try {
         if (var1 == null) {
            throw new NullPointerException(a[38]);
         }
      } catch (RuntimeException var2) {
         throw a(var2);
      }

      try {
         if (this.deletedFilenames == null) {
            this.deletedFilenames = new LinkedHashSet<>();
         }
      } catch (RuntimeException var3) {
         throw a(var3);
      }

      this.deletedFilenames.addAll(var1);
   }

   Set<String> saveFilesetToLocalDisk(File param1) throws IOException, KeyStoreException {
      // $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 0
      // 001: invokevirtual com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.validate ()V
      // 004: aload 1
      // 005: invokevirtual java/io/File.isDirectory ()Z
      // 008: ifne 027
      // 00b: new java/io/IOException
      // 00e: dup
      // 00f: aload 1
      // 010: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 013: getstatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a [Ljava/lang/String;
      // 016: bipush 41
      // 018: aaload
      // 019: swap
      // 01a: 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" ]
      // 01f: invokespecial java/io/IOException.<init> (Ljava/lang/String;)V
      // 022: athrow
      // 023: invokestatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 026: athrow
      // 027: aload 1
      // 028: invokevirtual java/io/File.canWrite ()Z
      // 02b: ifne 04a
      // 02e: new java/io/IOException
      // 031: dup
      // 032: aload 1
      // 033: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 036: getstatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a [Ljava/lang/String;
      // 039: bipush 14
      // 03b: aaload
      // 03c: swap
      // 03d: 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" ]
      // 042: invokespecial java/io/IOException.<init> (Ljava/lang/String;)V
      // 045: athrow
      // 046: invokestatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 049: athrow
      // 04a: new java/util/HashSet
      // 04d: dup
      // 04e: invokespecial java/util/HashSet.<init> ()V
      // 051: astore 2
      // 052: bipush 1
      // 053: istore 3
      // 054: aload 0
      // 055: getfield com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.fileset Ljava/util/Map;
      // 058: invokeinterface java/util/Map.entrySet ()Ljava/util/Set; 1
      // 05d: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 062: astore 4
      // 064: aload 4
      // 066: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 06b: ifeq 14f
      // 06e: aload 4
      // 070: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 075: checkcast java/util/Map$Entry
      // 078: astore 5
      // 07a: aload 5
      // 07c: invokeinterface java/util/Map$Entry.getKey ()Ljava/lang/Object; 1
      // 081: checkcast java/lang/String
      // 084: astore 6
      // 086: aload 0
      // 087: getfield com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.deletedFilenames Ljava/util/Set;
      // 08a: ifnull 0a9
      // 08d: aload 0
      // 08e: getfield com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.deletedFilenames Ljava/util/Set;
      // 091: aload 6
      // 093: invokeinterface java/util/Set.contains (Ljava/lang/Object;)Z 2
      // 098: ifeq 0a9
      // 09b: goto 0a2
      // 09e: invokestatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 0a1: athrow
      // 0a2: goto 064
      // 0a5: invokestatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 0a8: athrow
      // 0a9: aload 5
      // 0ab: invokeinterface java/util/Map$Entry.getValue ()Ljava/lang/Object; 1
      // 0b0: checkcast [B
      // 0b3: astore 7
      // 0b5: new java/io/File
      // 0b8: dup
      // 0b9: aload 1
      // 0ba: aload 6
      // 0bc: getstatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a [Ljava/lang/String;
      // 0bf: astore 11
      // 0c1: aload 11
      // 0c3: bipush 4
      // 0c4: aaload
      // 0c5: swap
      // 0c6: 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" ]
      // 0cb: invokespecial java/io/File.<init> (Ljava/io/File;Ljava/lang/String;)V
      // 0ce: astore 8
      // 0d0: new java/io/File
      // 0d3: dup
      // 0d4: aload 1
      // 0d5: aload 6
      // 0d7: invokespecial java/io/File.<init> (Ljava/io/File;Ljava/lang/String;)V
      // 0da: astore 9
      // 0dc: aload 9
      // 0de: invokevirtual java/io/File.isDirectory ()Z
      // 0e1: ifeq 100
      // 0e4: new java/io/IOException
      // 0e7: dup
      // 0e8: aload 9
      // 0ea: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 0ed: aload 11
      // 0ef: bipush 29
      // 0f1: aaload
      // 0f2: swap
      // 0f3: 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" ]
      // 0f8: invokespecial java/io/IOException.<init> (Ljava/lang/String;)V
      // 0fb: athrow
      // 0fc: invokestatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 0ff: athrow
      // 100: aload 9
      // 102: invokevirtual java/io/File.exists ()Z
      // 105: ifeq 134
      // 108: aload 9
      // 10a: invokevirtual java/io/File.canWrite ()Z
      // 10d: ifne 134
      // 110: goto 117
      // 113: invokestatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 116: athrow
      // 117: new java/io/IOException
      // 11a: dup
      // 11b: aload 9
      // 11d: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 120: getstatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a [Ljava/lang/String;
      // 123: bipush 43
      // 125: aaload
      // 126: swap
      // 127: 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" ]
      // 12c: invokespecial java/io/IOException.<init> (Ljava/lang/String;)V
      // 12f: athrow
      // 130: invokestatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 133: athrow
      // 134: aload 2
      // 135: aload 6
      // 137: invokeinterface java/util/Set.add (Ljava/lang/Object;)Z 2
      // 13c: pop
      // 13d: aload 8
      // 13f: bipush 1
      // 140: new com/l7tech/util/FileUtils$ByteSaver
      // 143: dup
      // 144: aload 7
      // 146: invokespecial com/l7tech/util/FileUtils$ByteSaver.<init> ([B)V
      // 149: invokestatic com/l7tech/util/FileUtils.save (Ljava/io/File;ZLcom/l7tech/util/FileUtils$Saver;)V
      // 14c: goto 064
      // 14f: bipush 0
      // 150: istore 3
      // 151: aload 2
      // 152: astore 4
      // 154: iload 3
      // 155: ifeq 164
      // 158: aload 1
      // 159: aload 2
      // 15a: invokestatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.rollbackWrittenFiles (Ljava/io/File;Ljava/util/Set;)V
      // 15d: goto 164
      // 160: invokestatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 163: athrow
      // 164: aload 4
      // 166: areturn
      // 167: astore 10
      // 169: iload 3
      // 16a: ifeq 179
      // 16d: aload 1
      // 16e: aload 2
      // 16f: invokestatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.rollbackWrittenFiles (Ljava/io/File;Ljava/util/Set;)V
      // 172: goto 179
      // 175: invokestatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 178: athrow
      // 179: aload 10
      // 17b: athrow
      // try (112 -> 129): 129 java/io/IOException
      // try (109 -> 115): 116 java/io/IOException
      // try (93 -> 107): 107 java/io/IOException
      // try (59 -> 68): 68 java/io/IOException
      // try (56 -> 64): 65 java/io/IOException
      // try (18 -> 32): 32 java/io/IOException
      // try (0 -> 16): 16 java/io/IOException
      // try (40 -> 147): 157 null
      // try (147 -> 152): 153 java/io/IOException
      // try (157 -> 158): 157 null
      // try (158 -> 163): 164 java/io/IOException
   }

   void commitWrittenFiles(File param1, Set<String> param2) throws IOException {
      // $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: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 006: astore 3
      // 007: aload 3
      // 008: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 00d: ifeq 0b7
      // 010: aload 3
      // 011: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 016: checkcast java/lang/String
      // 019: astore 4
      // 01b: new java/io/File
      // 01e: dup
      // 01f: aload 1
      // 020: aload 4
      // 022: getstatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a [Ljava/lang/String;
      // 025: astore 8
      // 027: aload 8
      // 029: bipush 4
      // 02a: aaload
      // 02b: swap
      // 02c: 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" ]
      // 031: invokespecial java/io/File.<init> (Ljava/io/File;Ljava/lang/String;)V
      // 034: astore 5
      // 036: new java/io/File
      // 039: dup
      // 03a: aload 1
      // 03b: aload 4
      // 03d: invokespecial java/io/File.<init> (Ljava/io/File;Ljava/lang/String;)V
      // 040: astore 6
      // 042: aload 6
      // 044: invokevirtual java/io/File.exists ()Z
      // 047: ifeq 077
      // 04a: aload 6
      // 04c: invokevirtual java/io/File.delete ()Z
      // 04f: ifne 077
      // 052: goto 059
      // 055: invokestatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 058: athrow
      // 059: getstatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.logger Ljava/util/logging/Logger;
      // 05c: aload 6
      // 05e: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 061: getstatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a [Ljava/lang/String;
      // 064: bipush 27
      // 066: aaload
      // 067: swap
      // 068: 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" ]
      // 06d: invokevirtual java/util/logging/Logger.warning (Ljava/lang/String;)V
      // 070: goto 077
      // 073: invokestatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 076: athrow
      // 077: aload 5
      // 079: aload 6
      // 07b: invokevirtual java/io/File.renameTo (Ljava/io/File;)Z
      // 07e: ifeq 08e
      // 081: aload 3
      // 082: invokeinterface java/util/Iterator.remove ()V 1
      // 087: goto 0b4
      // 08a: invokestatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 08d: athrow
      // 08e: getstatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.logger Ljava/util/logging/Logger;
      // 091: aload 5
      // 093: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 096: aload 6
      // 098: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 09b: getstatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a [Ljava/lang/String;
      // 09e: astore 8
      // 0a0: aload 8
      // 0a2: bipush 1
      // 0a3: aaload
      // 0a4: dup_x2
      // 0a5: pop
      // 0a6: aload 8
      // 0a8: bipush 26
      // 0aa: aaload
      // 0ab: swap
      // 0ac: 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" ]
      // 0b1: invokevirtual java/util/logging/Logger.warning (Ljava/lang/String;)V
      // 0b4: goto 007
      // 0b7: aload 0
      // 0b8: getfield com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.deletedFilenames Ljava/util/Set;
      // 0bb: ifnull 11f
      // 0be: aload 0
      // 0bf: getfield com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.deletedFilenames Ljava/util/Set;
      // 0c2: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 0c7: astore 4
      // 0c9: aload 4
      // 0cb: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 0d0: ifeq 11f
      // 0d3: aload 4
      // 0d5: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 0da: checkcast java/lang/String
      // 0dd: astore 5
      // 0df: new java/io/File
      // 0e2: dup
      // 0e3: aload 1
      // 0e4: aload 5
      // 0e6: invokespecial java/io/File.<init> (Ljava/io/File;Ljava/lang/String;)V
      // 0e9: astore 6
      // 0eb: aload 6
      // 0ed: invokevirtual java/io/File.exists ()Z
      // 0f0: ifeq 11c
      // 0f3: aload 6
      // 0f5: invokevirtual java/io/File.delete ()Z
      // 0f8: istore 7
      // 0fa: iload 7
      // 0fc: ifne 11c
      // 0ff: getstatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.logger Ljava/util/logging/Logger;
      // 102: aload 6
      // 104: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 107: getstatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a [Ljava/lang/String;
      // 10a: bipush 2
      // 10b: aaload
      // 10c: swap
      // 10d: 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" ]
      // 112: invokevirtual java/util/logging/Logger.warning (Ljava/lang/String;)V
      // 115: goto 11c
      // 118: invokestatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 11b: athrow
      // 11c: goto 0c9
      // 11f: aload 2
      // 120: invokeinterface java/util/Set.isEmpty ()Z 1
      // 125: ifne 13a
      // 128: new java/io/IOException
      // 12b: dup
      // 12c: getstatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a [Ljava/lang/String;
      // 12f: bipush 18
      // 131: aaload
      // 132: invokespecial java/io/IOException.<init> (Ljava/lang/String;)V
      // 135: athrow
      // 136: invokestatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 139: athrow
      // 13a: aload 0
      // 13b: getfield com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.deletedFilenames Ljava/util/Set;
      // 13e: ifnull 182
      // 141: aload 0
      // 142: getfield com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.deletedFilenames Ljava/util/Set;
      // 145: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 14a: astore 4
      // 14c: aload 4
      // 14e: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 153: ifeq 182
      // 156: aload 0
      // 157: getfield com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.deletedFilenames Ljava/util/Set;
      // 15a: invokeinterface java/util/Set.size ()I 1
      // 15f: getstatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.MAX_DELETED_FILENAMES_TO_TRACK I
      // 162: if_icmple 182
      // 165: goto 16c
      // 168: invokestatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 16b: athrow
      // 16c: aload 4
      // 16e: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 173: pop
      // 174: aload 4
      // 176: invokeinterface java/util/Iterator.remove ()V 1
      // 17b: goto 14c
      // 17e: invokestatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 181: athrow
      // 182: return
      // try (29 -> 35): 36 java/io/IOException
      // try (32 -> 47): 48 java/io/IOException
      // try (50 -> 57): 57 java/io/IOException
      // try (104 -> 115): 116 java/io/IOException
      // try (119 -> 129): 129 java/io/IOException
      // try (138 -> 146): 147 java/io/IOException
      // try (141 -> 155): 155 java/io/IOException
   }

   static void rollbackWrittenFiles(File param0, Set<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: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 06: astore 2
      // 07: aload 2
      // 08: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 0d: ifeq 6d
      // 10: aload 2
      // 11: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 16: checkcast java/lang/String
      // 19: astore 3
      // 1a: new java/io/File
      // 1d: dup
      // 1e: aload 0
      // 1f: aload 3
      // 20: getstatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a [Ljava/lang/String;
      // 23: astore 5
      // 25: aload 5
      // 27: bipush 35
      // 29: aaload
      // 2a: swap
      // 2b: 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" ]
      // 30: invokespecial java/io/File.<init> (Ljava/io/File;Ljava/lang/String;)V
      // 33: astore 4
      // 35: aload 4
      // 37: invokevirtual java/io/File.exists ()Z
      // 3a: ifeq 6a
      // 3d: aload 4
      // 3f: invokevirtual java/io/File.delete ()Z
      // 42: ifne 6a
      // 45: goto 4c
      // 48: invokestatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 4b: athrow
      // 4c: getstatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.logger Ljava/util/logging/Logger;
      // 4f: aload 4
      // 51: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 54: getstatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a [Ljava/lang/String;
      // 57: bipush 24
      // 59: aaload
      // 5a: swap
      // 5b: 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" ]
      // 60: invokevirtual java/util/logging/Logger.warning (Ljava/lang/String;)V
      // 63: goto 6a
      // 66: invokestatic com/l7tech/server/security/keystore/ncipher/NcipherKeyStoreData.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 69: athrow
      // 6a: goto 07
      // 6d: return
      // try (23 -> 29): 30 java/lang/RuntimeException
      // try (26 -> 41): 42 java/lang/RuntimeException
   }

   @NotNull
   private static ClassFilter createClassFilter() {
      try {
         return new ClassFilterBuilder()
            .addClasses(
               false,
               new String[]{
                  NcipherKeyStoreData.class.getName(),
                  String.class.getName(),
                  LinkedHashSet.class.getName(),
                  HashSet.class.getName(),
                  HashMap.class.getName(),
                  a[22]
               }
            )
            .build();
      } catch (RuntimeException var0) {
         throw a(var0);
      }
   }

   static {
      String[] var5 = new String[44];
      int var3 = 0;
      String var2 = "K,H`6D\u0019j-\tn5@]>,jk*I\\lbBg#RMq0L\"<HU{1LvzGKq/\tn5BXrbMk)J\u0003>$@n?R\\jbJm4UXw,Z\"3OO\u007f.@fzGPr'Gc7D\u0003>\u0016X#@n?E\u0019j-\tp?OXs'\td(NT>\u0016X#@n?E\u0019j-\tf?M\\j'\td3M\\>\u000e@\u0019\u0019/c@\u0014x\u001fR6j\\\u001d\u0005A,Lu\u0005\u0007s-Mw6Df x+Eg)DM>!Fl.@Pp1\t 7N]k.L zGPr'\u0013\"&x+Eg4@T{bJm4UXw,Z\"3MU{%HnzBQ\u007f0Ha.DKmx\t\u0011}0Lc.Dzr#Zq\u001cHUj'[\u001fx+Eg)DM>!Fl.@Pp1\t -NKr&\u000b\"<HU{x\t\u000bu'P]0B\\}1Y]\u0005i-[n>?}-D-6\u0016M{!A-)DKh'[-)DZk0@v#\u000eR{;Zv5S\\1,Jk*I\\lmga3QQ{0bg#rMq0LF;UXJP!@r2DKU'PQ.NK{\u0006Hv;\u0001O\u007f.@f;UPq,\td;HU{&\u0013\"<HU{1LvzBVp6Hk4R\u0019w,_c6H]>$@n?OXs'\u0013\"\u001eK,H`6D\u0019j-\tu(HM{b]mzEPl'Jv5S@$b\u000bu'P]0B\\}1Y]EP!@r2DKU'PQ.NK{\u0006Hv;\u0001O\u007f.@f;UPq,\td;HU{&\u0013\"1D@m6Fp?l\\j#Mc.@\u0019w1\tv5N\u0019m*Fp.\u000fOP!@r2DKU'PQ.NK{\u0006Hv;\u0001O\u007f.@f;UPq,\td;HU{&\u0013\"<HU{1LvzBVp6Hk4R\u0019x+EgzVPj*\tl/MU>!Fl.DWj1NP-]\";MU>$@n?R\u0019w,\tv2D\u0019x+Eg)DM>!Fw6E\u0019|'\tp?OXs'M\"3OMqbYn;B\\>jYg(LPm1@m4\u0001Il-Kn?L\u00067\u000e@\u0019H/ `\u0014Dr\u0004;\u0007\n\u001d,x+Eg4@T{bMm?R\u0019p-]\"8D^w,\tu3UQ>`Bg#~S}'Jq*~\u001b$b\u0005}#[f\u0005\u0002E\u0000*P!@r2DK>)L{)UVl'\tf;UX>&Lq?SP\u007f.@x?E\u0019j-\tl/MU#X#@n?E\u0019j-\tf?M\\j'\td3M\\>-G\"(NUr Ha1\u001b\u0019\fp#DgzHJ>,\\n6\u0004>6F\"BX#@n?E\u0019j-\tf?M\\j'\tg\"HJj+GezGPr'\t*-HUrbHv.DTn6\tv5\u0001K{,Ho?\u0001Vh'[\".NI7x\t7P!@r2DK>)L{)UVl'\tf;UX>&Lq?SP\u007f.@x?E\u0019j-\tw4DAn'Jv?E\u0019j;Yg`\u0001JK,H`6D\u0019j-\tq;W\\>$@n?\u0001[{!Hw)D\u0019\u007fbMk(DZj-[{zVPj*\tv2D\u0019m#DgzOXs'\tk)\u0001Ppb]j?\u0001N\u007f;\u0013\"\rp#DgzHJ>'Dr.X\u0011@\u0019H/ `\u0014Dr\u0004;\u0005}\u0014Ci\r*^\fFv\u0014TUrbDg.IVzb\fqt\u0004J>/\\q.\u0001Wq6\tp?ULl,\tl/MUSP!@r2DKU'PQ.NK{\u0006Hv;\u0001O\u007f.@f;UPq,\td;HU{&\u0013\"1D@m6Fp?l\\j#Mc.@\u0019}-Gv;HWmb@n6D^\u007f.\ta2@K\u007f!]g(R\u001ep\u0001@r2DK>)L{)UVl'\t`#U\\mb@qzOLr.\u0005A,Lu\u0005\u001ex+Eg)DM>!Fl.@Pp1\t 9@Kz`\td3M\\$b/}-D,6\u0016M{!A,1D@m6Fp?\u000fW}+Yj?S\u0017s#QF?M\\j'MD3M\\p#Dg)\u001cs-[g\u001eDU{6LfzLLm6\t`?\u0001Il-_k>D]CP!@r2DKU'PQ.NK{\u0006Hv;\u0001O\u007f.@f;UPq,\td;HU{&\u0013\"\u0014N\u0019u'Pq.NK{\u000fLv;EXj#\tr(DJ{,],^K,H`6D\u0019j-\tn5@]>,jk*I\\lbBg#RMq0L\"<HU{1LvzGKq/\tn5BXrbMk)J\u0003>$@n?R\\jbJm4UXw,Z\">TIr+Jc.D\u0019x+Eg4@T{x\t\u0011P-]\";\u0001]w0La.NKgx\t";
      int var4 = "K,H`6D\u0019j-\tn5@]>,jk*I\\lbBg#RMq0L\"<HU{1LvzGKq/\tn5BXrbMk)J\u0003>$@n?R\\jbJm4UXw,Z\"3OO\u007f.@fzGPr'Gc7D\u0003>\u0016X#@n?E\u0019j-\tp?OXs'\td(NT>\u0016X#@n?E\u0019j-\tf?M\\j'\td3M\\>\u000e@\u0019\u0019/c@\u0014x\u001fR6j\\\u001d\u0005A,Lu\u0005\u0007s-Mw6Df x+Eg)DM>!Fl.@Pp1\t 7N]k.L zGPr'\u0013\"&x+Eg4@T{bJm4UXw,Z\"3MU{%HnzBQ\u007f0Ha.DKmx\t\u0011}0Lc.Dzr#Zq\u001cHUj'[\u001fx+Eg)DM>!Fl.@Pp1\t -NKr&\u000b\"<HU{x\t\u000bu'P]0B\\}1Y]\u0005i-[n>?}-D-6\u0016M{!A-)DKh'[-)DZk0@v#\u000eR{;Zv5S\\1,Jk*I\\lmga3QQ{0bg#rMq0LF;UXJP!@r2DKU'PQ.NK{\u0006Hv;\u0001O\u007f.@f;UPq,\td;HU{&\u0013\"<HU{1LvzBVp6Hk4R\u0019w,_c6H]>$@n?OXs'\u0013\"\u001eK,H`6D\u0019j-\tu(HM{b]mzEPl'Jv5S@$b\u000bu'P]0B\\}1Y]EP!@r2DKU'PQ.NK{\u0006Hv;\u0001O\u007f.@f;UPq,\td;HU{&\u0013\"1D@m6Fp?l\\j#Mc.@\u0019w1\tv5N\u0019m*Fp.\u000fOP!@r2DKU'PQ.NK{\u0006Hv;\u0001O\u007f.@f;UPq,\td;HU{&\u0013\"<HU{1LvzBVp6Hk4R\u0019x+EgzVPj*\tl/MU>!Fl.DWj1NP-]\";MU>$@n?R\u0019w,\tv2D\u0019x+Eg)DM>!Fw6E\u0019|'\tp?OXs'M\"3OMqbYn;B\\>jYg(LPm1@m4\u0001Il-Kn?L\u00067\u000e@\u0019H/ `\u0014Dr\u0004;\u0007\n\u001d,x+Eg4@T{bMm?R\u0019p-]\"8D^w,\tu3UQ>`Bg#~S}'Jq*~\u001b$b\u0005}#[f\u0005\u0002E\u0000*P!@r2DK>)L{)UVl'\tf;UX>&Lq?SP\u007f.@x?E\u0019j-\tl/MU#X#@n?E\u0019j-\tf?M\\j'\td3M\\>-G\"(NUr Ha1\u001b\u0019\fp#DgzHJ>,\\n6\u0004>6F\"BX#@n?E\u0019j-\tf?M\\j'\tg\"HJj+GezGPr'\t*-HUrbHv.DTn6\tv5\u0001K{,Ho?\u0001Vh'[\".NI7x\t7P!@r2DK>)L{)UVl'\tf;UX>&Lq?SP\u007f.@x?E\u0019j-\tw4DAn'Jv?E\u0019j;Yg`\u0001JK,H`6D\u0019j-\tq;W\\>$@n?\u0001[{!Hw)D\u0019\u007fbMk(DZj-[{zVPj*\tv2D\u0019m#DgzOXs'\tk)\u0001Ppb]j?\u0001N\u007f;\u0013\"\rp#DgzHJ>'Dr.X\u0011@\u0019H/ `\u0014Dr\u0004;\u0005}\u0014Ci\r*^\fFv\u0014TUrbDg.IVzb\fqt\u0004J>/\\q.\u0001Wq6\tp?ULl,\tl/MUSP!@r2DKU'PQ.NK{\u0006Hv;\u0001O\u007f.@f;UPq,\td;HU{&\u0013\"1D@m6Fp?l\\j#Mc.@\u0019}-Gv;HWmb@n6D^\u007f.\ta2@K\u007f!]g(R\u001ep\u0001@r2DK>)L{)UVl'\t`#U\\mb@qzOLr.\u0005A,Lu\u0005\u001ex+Eg)DM>!Fl.@Pp1\t 9@Kz`\td3M\\$b/}-D,6\u0016M{!A,1D@m6Fp?\u000fW}+Yj?S\u0017s#QF?M\\j'MD3M\\p#Dg)\u001cs-[g\u001eDU{6LfzLLm6\t`?\u0001Il-_k>D]CP!@r2DKU'PQ.NK{\u0006Hv;\u0001O\u007f.@f;UPq,\td;HU{&\u0013\"\u0014N\u0019u'Pq.NK{\u000fLv;EXj#\tr(DJ{,],^K,H`6D\u0019j-\tn5@]>,jk*I\\lbBg#RMq0L\"<HU{1LvzGKq/\tn5BXrbMk)J\u0003>$@n?R\\jbJm4UXw,Z\">TIr+Jc.D\u0019x+Eg4@T{x\t\u0011P-]\";\u0001]w0La.NKgx\t"
         .length();
      char var1 = '\\';
      int var7 = -1;

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

         while (true) {
            String var9 = a(var10000, a(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var9;
                  if ((var7 += var1) >= var4) {
                     a = var5;
                     APP_PREFIX_KEY_JCECSP = a[10];
                     logger = Logger.getLogger(NcipherKeyStoreData.class.getName());
                     String[] var8 = a;
                     MAX_DELETED_FILENAMES_TO_TRACK = ConfigFactory.getIntProperty(var8[37], 5000);
                     PAT_ALPHANUM = Pattern.compile(var8[19]);
                     PAT_ALPHANUM_WITH_DASH_AND_UNDERSCORE = Pattern.compile(var8[31]);
                     CLASS_FILTER = createClassFilter();
                     return;
                  }

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

                  var2 = "\"S\u0012 `\u0016\u0019l{\u001e){\u0007\u0004>u[2q\u0007\u000e?0\u0012#(\u0016\u0006<d\u0002\u001a\u0019~\u001a2d\u0016K8\u007f[?~\u0016\u0019;b\u0012$mS\r%|\u001ej(";
                  var4 = "\"S\u0012 `\u0016\u0019l{\u001e){\u0007\u0004>u[2q\u0007\u000e?0\u0012#(\u0016\u0006<d\u0002\u001a\u0019~\u001a2d\u0016K8\u007f[?~\u0016\u0019;b\u0012$mS\r%|\u001ej("
                     .length();
                  var1 = 31;
                  var7 = -1;
            }

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

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

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

      return var10000;
   }

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

      for (int var2 = 0; var10000 > var2; var2++) {
         var10001[var2] = (char)(var10001[var2] ^ var10002 ^ switch (var2 % 7) {
            case 0 -> 14;
            case 1 -> 82;
            case 2 -> 57;
            case 3 -> 18;
            case 4 -> 74;
            case 5 -> 49;
            default -> 41;
         });
      }

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