package com.l7tech.server.util;

import com.l7tech.common.io.XmlUtil;
import com.l7tech.common.mime.ContentTypeHeader;
import com.l7tech.gateway.common.audit.Audit;
import com.l7tech.gateway.common.audit.AuditDetailMessage;
import com.l7tech.gateway.common.audit.AuditFactory;
import com.l7tech.gateway.common.audit.MessagesUtil;
import com.l7tech.message.SecurityKnob;
import com.l7tech.policy.assertion.AssertionStatus;
import com.l7tech.policy.assertion.PrivateKeyable;
import com.l7tech.policy.variable.NoSuchVariableException;
import com.l7tech.policy.wsp.WspConstants;
import com.l7tech.server.cluster.ClusterPropertyManager;
import com.l7tech.server.message.AuthenticationContext;
import com.l7tech.server.message.PolicyEnforcementContext;
import com.l7tech.server.policy.variable.ExpandVariables;
import com.l7tech.util.Charsets;
import com.l7tech.util.Config;
import com.l7tech.util.DomUtils;
import com.l7tech.util.ExceptionUtils;
import com.l7tech.util.NameValuePair;
import com.l7tech.util.Option;
import com.l7tech.util.Pair;
import com.l7tech.xml.SoapFaultLevel;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Timer;
import java.util.concurrent.locks.ReentrantReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.apache.commons.lang3.StringUtils;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

public class SoapFaultManager implements ApplicationContextAware {
   public static final String SOAPFAULT_DETAIL_VAR;
   public static final String FAULT_NS;
   private static final String a;
   private static final String b;
   private final Config c;
   private final Logger d = Logger.getLogger(SoapFaultManager.class.getName());
   private long e;
   private SoapFaultLevel f;
   private Audit g;
   private ClusterPropertyManager h;
   private BeanFactory i;
   private final HashMap<Integer, String> j = new HashMap<>();
   private final ReentrantReadWriteLock k = new ReentrantReadWriteLock();
   private final Timer l;
   private static final String[] m;

   public SoapFaultManager(Config var1, Timer var2) {
      if (var2 == null) {
         var2 = new Timer(m[17], true);
      }

      this.c = var1;
      this.l = var2;
   }

   public SoapFaultLevel getDefaultBehaviorSettings() {
      // $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/util/SoapFaultManager.f Lcom/l7tech/xml/SoapFaultLevel;
      // 04: ifnull 1d
      // 07: invokestatic java/lang/System.currentTimeMillis ()J
      // 0a: aload 0
      // 0b: getfield com/l7tech/server/util/SoapFaultManager.e J
      // 0e: lsub
      // 0f: ldc2_w 60000
      // 12: lcmp
      // 13: ifle 26
      // 16: goto 1d
      // 19: invokestatic com/l7tech/server/util/SoapFaultManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1c: athrow
      // 1d: aload 0
      // 1e: invokevirtual com/l7tech/server/util/SoapFaultManager.a ()Lcom/l7tech/xml/SoapFaultLevel;
      // 21: areturn
      // 22: invokestatic com/l7tech/server/util/SoapFaultManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 25: athrow
      // 26: aload 0
      // 27: getfield com/l7tech/server/util/SoapFaultManager.f Lcom/l7tech/xml/SoapFaultLevel;
      // 2a: areturn
      // try (0 -> 10): 11 java/lang/NumberFormatException
      // try (3 -> 16): 16 java/lang/NumberFormatException
   }

   public SoapFaultManager.FaultResponse constructReturningFault(SoapFaultLevel var1, PolicyEnforcementContext var2) {
      boolean var10000;
      label16: {
         try {
            if (var1 == null) {
               var10000 = false;
               break label16;
            }
         } catch (NumberFormatException var4) {
            throw a(var4);
         }

         var10000 = var1.isUseClientFault();
      }

      boolean var3 = var10000;
      return this.a(var1, var2, var3, m[29], null);
   }

   public SoapFaultManager.FaultResponse constructExceptionFault(Throwable var1, SoapFaultLevel var2, PolicyEnforcementContext var3) {
      SoapFaultLevel var10000;
      label20: {
         try {
            if (var2 == null) {
               var10000 = this.getDefaultBehaviorSettings();
               break label20;
            }
         } catch (NumberFormatException var8) {
            throw a(var8);
         }

         var10000 = var2;
      }

      SoapFaultLevel var4 = var10000;
      boolean var5 = var3.isRequestClaimingWrongPolicyVersion();
      if (var5) {
         SoapFaultLevel var6 = new SoapFaultLevel(var4);
         var6.setLevel(2);
         String[] var7 = m;
         return this.a(var6, var3, true, var7[48], "");
      } else {
         return this.a(var2, var3, false, m[49], ExceptionUtils.getMessage(var1));
      }
   }

   public SoapFaultManager.FaultResponse constructFault(boolean var1, String var2, boolean var3, String var4) {
      Pair var5 = this.a(var1, var2, var3, var4, "", false);

      String var6;
      try {
         var6 = XmlUtil.nodeToFormattedString((Node)var5.right);
      } catch (IOException var8) {
         this.d.log(Level.WARNING, m[72], var8);
         var6 = "";
      }

      ContentTypeHeader var7 = (ContentTypeHeader)Option.optional((ContentTypeHeader)var5.left).orSome(ContentTypeHeader.TEXT_DEFAULT);
      return new SoapFaultManager.FaultResponse(500, var7, var6, Collections.emptyList());
   }

   public void sendExtraHeaders(@NotNull SoapFaultManager.FaultResponse var1, @NotNull HttpServletResponse var2) {
      try {
         if (var1 == null) {
            b(0);
         }
      } catch (NumberFormatException var6) {
         throw a(var6);
      }

      try {
         if (var2 == null) {
            b(1);
         }
      } catch (NumberFormatException var8) {
         throw a(var8);
      }

      List var3 = var1.getExtraHeaders();

      try {
         if (var3 == null) {
            return;
         }
      } catch (NumberFormatException var7) {
         throw a(var7);
      }

      for (Pair var5 : var3) {
         var2.addHeader((String)var5.getKey(), (String)var5.getValue());
      }
   }

   public void setApplicationContext(ApplicationContext var1) {
      this.a(var1);
      this.h = (ClusterPropertyManager)var1.getBean(m[14], ClusterPropertyManager.class);
      SoapFaultManager var2 = this;
      aa var3 = new aa(this, var2);
      this.l.schedule(var3, 10000L, 56893L);
   }

   SoapFaultManager(Config var1) {
      this.c = var1;
      this.l = null;
   }

   void a(BeanFactory var1) throws BeansException {
      this.g = ((AuditFactory)var1.getBean(m[69], AuditFactory.class)).newInstance(this, this.d);
      this.i = var1;
   }

   private SoapFaultManager.FaultResponse a(SoapFaultLevel var1, PolicyEnforcementContext var2, boolean var3, String var4, @Nullable String var5) {
      SoapFaultLevel var10000;
      label99: {
         try {
            if (var1 == null) {
               var10000 = this.getDefaultBehaviorSettings();
               break label99;
            }
         } catch (NumberFormatException var22) {
            throw a(var22);
         }

         var10000 = var1;
      }

      SoapFaultLevel var6 = var10000;
      int var7 = 500;
      String var8 = "";
      ArrayList var9 = new ArrayList();
      AssertionStatus var10 = var2.getPolicyResult();
      ContentTypeHeader var11 = ContentTypeHeader.XML_DEFAULT;
      if (var10 == null) {
         String[] var16 = m;
         this.d.fine(var16[21]);
         var10 = AssertionStatus.UNDEFINED;
      }

      int var12 = var6.getLevel();

      label89: {
         label88: {
            label87: {
               label102: {
                  try {
                     switch (var12) {
                        case 0:
                        default:
                           break label89;
                        case 1:
                           break;
                        case 2:
                           break label102;
                        case 3:
                           break label88;
                        case 4:
                           break label87;
                     }
                  } catch (NumberFormatException var21) {
                     throw a(var21);
                  }

                  Map var25 = var2.getVariableMap(var6.getVariablesUsed(), this.g);

                  String var10001;
                  String var10002;
                  label71: {
                     try {
                        var34 = var25;
                        var10001 = m[74];
                        if (StringUtils.isEmpty(var5)) {
                           var10002 = var10.getMessage();
                           break label71;
                        }
                     } catch (NumberFormatException var20) {
                        throw a(var20);
                     }

                     var10002 = var5;
                  }

                  var34.put(var10001, var10002);
                  if (var6.getFaultTemplateHttpStatus() != null) {
                     String var28 = ExpandVariables.process(var6.getFaultTemplateHttpStatus(), var25, this.g);

                     try {
                        var7 = Integer.parseInt(var28);
                     } catch (NumberFormatException var19) {
                        String[] var31 = m;
                        this.d.warning(var31[46] + var28 + var31[35]);
                     }
                  }

                  var8 = ExpandVariables.process(var6.getFaultTemplate(), var25, this.g);
                  this.a(var9, var6, var25, this.g);
                  if (var6.getFaultTemplateContentType() != null) {
                     String var29 = ExpandVariables.process(var6.getFaultTemplateContentType(), var25, this.g);

                     try {
                        var11 = ContentTypeHeader.parseValue(var29);
                     } catch (IOException var18) {
                        var11 = ContentTypeHeader.TEXT_DEFAULT;
                        Logger var35 = this.d;
                        var10002 = ExceptionUtils.getMessage(var18);
                        String[] var32 = m;
                        var35.warning(var32[33] + var29 + var32[71] + var10002 + ".");
                     }
                  } else {
                     String[] var33 = m;
                     if (var8.contains(var33[38])) {
                        var11 = ContentTypeHeader.SOAP_1_2_DEFAULT;
                     } else {
                        var11 = this.a(var11, var6);
                     }
                  }
                  break label89;
               }

               try {
                  Pair var27 = this.a(var2, var10, var3, var4, var5, false);
                  var8 = XmlUtil.nodeToFormattedString((Node)var27.right);
                  var11 = (ContentTypeHeader)var27.left;
                  Map var24 = var2.getVariableMap(var6.getVariablesUsed(), this.g);
                  this.a(var9, var6, var24, this.g);
               } catch (Exception var17) {
                  String[] var30 = m;
                  this.d.log(Level.WARNING, var30[58], var17);
               }
               break label89;
            }

            Pair var14 = this.b(var2, var10, var3, var4, var5, true);
            var8 = (String)var14.right;
            var11 = (ContentTypeHeader)var14.left;
            Map var13 = var2.getVariableMap(var6.getVariablesUsed(), this.g);
            this.a(var9, var6, var13, this.g);
            break label89;
         }

         Pair var26 = this.b(var2, var10, var3, var4, var5, false);
         var8 = (String)var26.right;
         var11 = (ContentTypeHeader)var26.left;
         Map var23 = var2.getVariableMap(var6.getVariablesUsed(), this.g);
         this.a(var9, var6, var23, this.g);
      }

      if (var8 == null) {
         var8 = m[42];
      } else if (var6.isSignSoapFault()) {
         var8 = this.a(var8, var2.getAuthenticationContext(var2.getRequest()), var2.getRequest().getSecurityKnob(), var6);
      }

      if (var11 == null) {
         var11 = ContentTypeHeader.TEXT_DEFAULT;
      }

      return new SoapFaultManager.FaultResponse(var7, var11, var8, var9);
   }

   private void a(List<Pair<String, String>> var1, SoapFaultLevel var2, Map<String, Object> var3, Audit var4) {
      NameValuePair[] var5 = var2.getExtraHeaders();

      try {
         if (var5 == null) {
            return;
         }
      } catch (NumberFormatException var12) {
         throw a(var12);
      }

      for (NameValuePair var9 : var5) {
         String var10 = ExpandVariables.process(var9.getKey(), var3, var4);
         String var11 = ExpandVariables.process(var9.getValue(), var3, var4);
         var1.add(new Pair(var10, var11));
      }
   }

   private synchronized SoapFaultLevel a() {
      // $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: new com/l7tech/xml/SoapFaultLevel
      // 004: dup
      // 005: invokespecial com/l7tech/xml/SoapFaultLevel.<init> ()V
      // 008: putfield com/l7tech/server/util/SoapFaultManager.f Lcom/l7tech/xml/SoapFaultLevel;
      // 00b: aload 0
      // 00c: getfield com/l7tech/server/util/SoapFaultManager.c Lcom/l7tech/util/Config;
      // 00f: getstatic com/l7tech/server/util/SoapFaultManager.m [Ljava/lang/String;
      // 012: astore 5
      // 014: aload 5
      // 016: bipush 50
      // 018: aaload
      // 019: invokeinterface com/l7tech/util/Config.getProperty (Ljava/lang/String;)Ljava/lang/String; 2
      // 01e: astore 1
      // 01f: aload 1
      // 020: ifnonnull 03e
      // 023: aload 0
      // 024: getfield com/l7tech/server/util/SoapFaultManager.d Ljava/util/logging/Logger;
      // 027: aload 5
      // 029: bipush 60
      // 02b: aaload
      // 02c: invokevirtual java/util/logging/Logger.warning (Ljava/lang/String;)V
      // 02f: aload 0
      // 030: aload 0
      // 031: getfield com/l7tech/server/util/SoapFaultManager.f Lcom/l7tech/xml/SoapFaultLevel;
      // 034: invokevirtual com/l7tech/server/util/SoapFaultManager.a (Lcom/l7tech/xml/SoapFaultLevel;)V
      // 037: goto 17f
      // 03a: invokestatic com/l7tech/server/util/SoapFaultManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 03d: athrow
      // 03e: aload 0
      // 03f: getfield com/l7tech/server/util/SoapFaultManager.f Lcom/l7tech/xml/SoapFaultLevel;
      // 042: aload 0
      // 043: getfield com/l7tech/server/util/SoapFaultManager.c Lcom/l7tech/util/Config;
      // 046: getstatic com/l7tech/server/util/SoapFaultManager.m [Ljava/lang/String;
      // 049: astore 5
      // 04b: aload 5
      // 04d: bipush 66
      // 04f: aaload
      // 050: bipush 0
      // 051: invokeinterface com/l7tech/util/Config.getBooleanProperty (Ljava/lang/String;Z)Z 3
      // 056: invokevirtual com/l7tech/xml/SoapFaultLevel.setSignSoapFault (Z)V
      // 059: aload 0
      // 05a: getfield com/l7tech/server/util/SoapFaultManager.c Lcom/l7tech/util/Config;
      // 05d: aload 5
      // 05f: bipush 5
      // 060: aaload
      // 061: invokeinterface com/l7tech/util/Config.getProperty (Ljava/lang/String;)Ljava/lang/String; 2
      // 066: astore 2
      // 067: aload 0
      // 068: getfield com/l7tech/server/util/SoapFaultManager.f Lcom/l7tech/xml/SoapFaultLevel;
      // 06b: invokevirtual com/l7tech/xml/SoapFaultLevel.isSignSoapFault ()Z
      // 06e: ifeq 103
      // 071: aload 2
      // 072: ifnull 103
      // 075: goto 07c
      // 078: invokestatic com/l7tech/server/util/SoapFaultManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 07b: athrow
      // 07c: aload 2
      // 07d: invokevirtual java/lang/String.trim ()Ljava/lang/String;
      // 080: invokevirtual java/lang/String.isEmpty ()Z
      // 083: ifne 103
      // 086: goto 08d
      // 089: invokestatic com/l7tech/server/util/SoapFaultManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 08c: athrow
      // 08d: aload 2
      // 08e: invokevirtual java/lang/String.trim ()Ljava/lang/String;
      // 091: astore 2
      // 092: aload 0
      // 093: getfield com/l7tech/server/util/SoapFaultManager.f Lcom/l7tech/xml/SoapFaultLevel;
      // 096: bipush 0
      // 097: invokevirtual com/l7tech/xml/SoapFaultLevel.setUsesDefaultKeyStore (Z)V
      // 09a: aload 0
      // 09b: getfield com/l7tech/server/util/SoapFaultManager.f Lcom/l7tech/xml/SoapFaultLevel;
      // 09e: getstatic com/l7tech/objectmodel/PersistentEntity.DEFAULT_GOID Lcom/l7tech/objectmodel/Goid;
      // 0a1: invokevirtual com/l7tech/xml/SoapFaultLevel.setNonDefaultKeystoreId (Lcom/l7tech/objectmodel/Goid;)V
      // 0a4: aload 0
      // 0a5: getfield com/l7tech/server/util/SoapFaultManager.f Lcom/l7tech/xml/SoapFaultLevel;
      // 0a8: aload 2
      // 0a9: invokevirtual com/l7tech/xml/SoapFaultLevel.setKeyAlias (Ljava/lang/String;)V
      // 0ac: aload 2
      // 0ad: bipush 58
      // 0af: invokevirtual java/lang/String.indexOf (I)I
      // 0b2: istore 3
      // 0b3: iload 3
      // 0b4: ifle 103
      // 0b7: iload 3
      // 0b8: aload 2
      // 0b9: invokevirtual java/lang/String.length ()I
      // 0bc: bipush 1
      // 0bd: isub
      // 0be: if_icmpge 103
      // 0c1: goto 0c8
      // 0c4: invokestatic com/l7tech/server/util/SoapFaultManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0c7: athrow
      // 0c8: aload 0
      // 0c9: getfield com/l7tech/server/util/SoapFaultManager.f Lcom/l7tech/xml/SoapFaultLevel;
      // 0cc: getstatic com/l7tech/objectmodel/EntityType.SSG_KEYSTORE Lcom/l7tech/objectmodel/EntityType;
      // 0cf: aload 2
      // 0d0: bipush 0
      // 0d1: iload 3
      // 0d2: invokevirtual java/lang/String.substring (II)Ljava/lang/String;
      // 0d5: invokestatic com/l7tech/util/GoidUpgradeMapper.mapId (Lcom/l7tech/objectmodel/EntityType;Ljava/lang/String;)Lcom/l7tech/objectmodel/Goid;
      // 0d8: invokevirtual com/l7tech/xml/SoapFaultLevel.setNonDefaultKeystoreId (Lcom/l7tech/objectmodel/Goid;)V
      // 0db: aload 0
      // 0dc: getfield com/l7tech/server/util/SoapFaultManager.f Lcom/l7tech/xml/SoapFaultLevel;
      // 0df: aload 2
      // 0e0: iload 3
      // 0e1: bipush 1
      // 0e2: iadd
      // 0e3: invokevirtual java/lang/String.substring (I)Ljava/lang/String;
      // 0e6: invokevirtual com/l7tech/xml/SoapFaultLevel.setKeyAlias (Ljava/lang/String;)V
      // 0e9: goto 103
      // 0ec: invokestatic com/l7tech/server/util/SoapFaultManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0ef: athrow
      // 0f0: astore 4
      // 0f2: aload 0
      // 0f3: getfield com/l7tech/server/util/SoapFaultManager.d Ljava/util/logging/Logger;
      // 0f6: getstatic com/l7tech/server/util/SoapFaultManager.m [Ljava/lang/String;
      // 0f9: astore 5
      // 0fb: aload 5
      // 0fd: bipush 15
      // 0ff: aaload
      // 100: invokevirtual java/util/logging/Logger.fine (Ljava/lang/String;)V
      // 103: aload 0
      // 104: getfield com/l7tech/server/util/SoapFaultManager.f Lcom/l7tech/xml/SoapFaultLevel;
      // 107: aload 1
      // 108: invokestatic java/lang/Integer.parseInt (Ljava/lang/String;)I
      // 10b: invokevirtual com/l7tech/xml/SoapFaultLevel.setLevel (I)V
      // 10e: aload 0
      // 10f: getfield com/l7tech/server/util/SoapFaultManager.f Lcom/l7tech/xml/SoapFaultLevel;
      // 112: aload 0
      // 113: getfield com/l7tech/server/util/SoapFaultManager.c Lcom/l7tech/util/Config;
      // 116: getstatic com/l7tech/server/util/SoapFaultManager.m [Ljava/lang/String;
      // 119: astore 5
      // 11b: aload 5
      // 11d: bipush 4
      // 11e: aaload
      // 11f: bipush 1
      // 120: invokeinterface com/l7tech/util/Config.getBooleanProperty (Ljava/lang/String;Z)Z 3
      // 125: invokevirtual com/l7tech/xml/SoapFaultLevel.setIncludePolicyDownloadURL (Z)V
      // 128: aload 0
      // 129: getfield com/l7tech/server/util/SoapFaultManager.f Lcom/l7tech/xml/SoapFaultLevel;
      // 12c: aload 0
      // 12d: getfield com/l7tech/server/util/SoapFaultManager.c Lcom/l7tech/util/Config;
      // 130: aload 5
      // 132: bipush 23
      // 134: aaload
      // 135: invokeinterface com/l7tech/util/Config.getProperty (Ljava/lang/String;)Ljava/lang/String; 2
      // 13a: invokevirtual com/l7tech/xml/SoapFaultLevel.setFaultTemplate (Ljava/lang/String;)V
      // 13d: aload 0
      // 13e: getfield com/l7tech/server/util/SoapFaultManager.f Lcom/l7tech/xml/SoapFaultLevel;
      // 141: aload 0
      // 142: getfield com/l7tech/server/util/SoapFaultManager.c Lcom/l7tech/util/Config;
      // 145: aload 5
      // 147: bipush 11
      // 149: aaload
      // 14a: invokeinterface com/l7tech/util/Config.getProperty (Ljava/lang/String;)Ljava/lang/String; 2
      // 14f: invokevirtual com/l7tech/xml/SoapFaultLevel.setFaultTemplateCustomContentType (Ljava/lang/String;)V
      // 152: goto 17f
      // 155: astore 2
      // 156: aload 0
      // 157: getfield com/l7tech/server/util/SoapFaultManager.d Ljava/util/logging/Logger;
      // 15a: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 15d: aload 1
      // 15e: getstatic com/l7tech/server/util/SoapFaultManager.m [Ljava/lang/String;
      // 161: astore 5
      // 163: aload 5
      // 165: bipush 27
      // 167: aaload
      // 168: swap
      // 169: aload 5
      // 16b: bipush 61
      // 16d: aaload
      // 16e: 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" ]
      // 173: aload 2
      // 174: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 177: aload 0
      // 178: aload 0
      // 179: getfield com/l7tech/server/util/SoapFaultManager.f Lcom/l7tech/xml/SoapFaultLevel;
      // 17c: invokevirtual com/l7tech/server/util/SoapFaultManager.a (Lcom/l7tech/xml/SoapFaultLevel;)V
      // 17f: aload 0
      // 180: invokestatic java/lang/System.currentTimeMillis ()J
      // 183: putfield com/l7tech/server/util/SoapFaultManager.e J
      // 186: aload 0
      // 187: getfield com/l7tech/server/util/SoapFaultManager.f Lcom/l7tech/xml/SoapFaultLevel;
      // 18a: areturn
      // try (83 -> 91): 92 java/lang/NumberFormatException
      // try (52 -> 61): 62 java/lang/NumberFormatException
      // try (48 -> 54): 55 java/lang/NumberFormatException
      // try (14 -> 27): 27 java/lang/NumberFormatException
      // try (94 -> 111): 114 java/lang/NumberFormatException
      // try (85 -> 112): 112 org/springframework/beans/BeansException
      // try (29 -> 158): 159 java/lang/NumberFormatException
   }

   private void a(SoapFaultLevel var1) {
      var1.setLevel(2);
      var1.setIncludePolicyDownloadURL(true);
   }

   private String a(String var1, AuthenticationContext var2, SecurityKnob var3, PrivateKeyable var4) {
      String var5 = var1;

      try {
         if (var1 == null || var1.isEmpty()) {
            return var5;
         }
      } catch (SAXException var10) {
         throw a(var10);
      }

      try {
         Document var6 = XmlUtil.parse(var1);
         this.a(var6, var2, var3, var4);
         var5 = XmlUtil.nodeToString(var6);
      } catch (SAXException var8) {
         Logger var10000 = this.d;
         Level var10001 = Level.WARNING;
         String var10002 = ExceptionUtils.getMessage(var8);
         String[] var7 = m;
         var10000.log(var10001, var7[31] + var10002 + var7[39], ExceptionUtils.getDebugException(var8));
      } catch (IOException var9) {
         this.d.log(Level.WARNING, m[68], var9);
      }

      return var5;
   }

   private void a(Document param1, AuthenticationContext param2, SecurityKnob param3, PrivateKeyable param4) {
      // $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: new com/l7tech/security/xml/decorator/WssDecoratorImpl
      // 003: dup
      // 004: invokespecial com/l7tech/security/xml/decorator/WssDecoratorImpl.<init> ()V
      // 007: astore 5
      // 009: new com/l7tech/security/xml/decorator/DecorationRequirements
      // 00c: dup
      // 00d: invokespecial com/l7tech/security/xml/decorator/DecorationRequirements.<init> ()V
      // 010: astore 6
      // 012: aload 0
      // 013: getfield com/l7tech/server/util/SoapFaultManager.i Lorg/springframework/beans/factory/BeanFactory;
      // 016: aload 4
      // 018: invokestatic com/l7tech/server/policy/assertion/ServerAssertionUtils.getSignerInfo (Lorg/springframework/beans/factory/BeanFactory;Ljava/lang/Object;)Lcom/l7tech/security/xml/SignerInfo;
      // 01b: astore 7
      // 01d: aload 4
      // 01f: invokestatic com/l7tech/server/policy/assertion/ServerAssertionUtils.isPreferredSigner (Ljava/lang/Object;)Z
      // 022: istore 8
      // 024: aconst_null
      // 025: astore 9
      // 027: iload 8
      // 029: ifne 0a2
      // 02c: aload 2
      // 02d: invokevirtual com/l7tech/server/message/AuthenticationContext.getCredentials ()Ljava/util/List;
      // 030: invokestatic com/l7tech/server/util/WSSecurityProcessorUtils.getSigningSecurityTokens (Ljava/util/Collection;)[Lcom/l7tech/security/token/SigningSecurityToken;
      // 033: astore 10
      // 035: aload 10
      // 037: astore 11
      // 039: aload 11
      // 03b: arraylength
      // 03c: istore 12
      // 03e: bipush 0
      // 03f: istore 13
      // 041: iload 13
      // 043: iload 12
      // 045: if_icmpge 0a2
      // 048: aload 11
      // 04a: iload 13
      // 04c: aaload
      // 04d: astore 14
      // 04f: aload 14
      // 051: instanceof com/l7tech/security/token/KerberosSigningSecurityToken
      // 054: ifne 075
      // 057: aload 14
      // 059: instanceof com/l7tech/security/token/SecurityContextToken
      // 05c: ifne 075
      // 05f: goto 066
      // 062: invokestatic com/l7tech/server/util/SoapFaultManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 065: athrow
      // 066: aload 14
      // 068: instanceof com/l7tech/security/token/EncryptedKey
      // 06b: ifeq 09c
      // 06e: goto 075
      // 071: invokestatic com/l7tech/server/util/SoapFaultManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 074: athrow
      // 075: aload 9
      // 077: ifnull 098
      // 07a: goto 081
      // 07d: invokestatic com/l7tech/server/util/SoapFaultManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 080: athrow
      // 081: aload 0
      // 082: getfield com/l7tech/server/util/SoapFaultManager.d Ljava/util/logging/Logger;
      // 085: getstatic com/l7tech/server/util/SoapFaultManager.m [Ljava/lang/String;
      // 088: astore 15
      // 08a: aload 15
      // 08c: bipush 9
      // 08e: aaload
      // 08f: invokevirtual java/util/logging/Logger.warning (Ljava/lang/String;)V
      // 092: aconst_null
      // 093: astore 9
      // 095: goto 0a2
      // 098: aload 14
      // 09a: astore 9
      // 09c: iinc 13 1
      // 09f: goto 041
      // 0a2: aload 9
      // 0a4: ifnonnull 0c2
      // 0a7: aload 6
      // 0a9: aload 7
      // 0ab: invokevirtual com/l7tech/security/xml/SignerInfo.getCertificate ()Ljava/security/cert/X509Certificate;
      // 0ae: invokevirtual com/l7tech/security/xml/decorator/DecorationRequirements.setSenderMessageSigningCertificate (Ljava/security/cert/X509Certificate;)V
      // 0b1: aload 6
      // 0b3: aload 7
      // 0b5: invokevirtual com/l7tech/security/xml/SignerInfo.getPrivate ()Ljava/security/PrivateKey;
      // 0b8: invokevirtual com/l7tech/security/xml/decorator/DecorationRequirements.setSenderMessageSigningPrivateKey (Ljava/security/PrivateKey;)V
      // 0bb: goto 0ca
      // 0be: invokestatic com/l7tech/server/util/SoapFaultManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0c1: athrow
      // 0c2: aload 6
      // 0c4: aload 9
      // 0c6: invokestatic com/l7tech/server/util/WSSecurityProcessorUtils.setToken (Lcom/l7tech/security/xml/decorator/DecorationRequirements;Lcom/l7tech/security/token/SigningSecurityToken;)Z
      // 0c9: pop
      // 0ca: aload 3
      // 0cb: invokeinterface com/l7tech/message/SecurityKnob.getProcessorResult ()Lcom/l7tech/security/xml/processor/ProcessorResult; 1
      // 0d0: ifnull 11c
      // 0d3: aload 3
      // 0d4: invokeinterface com/l7tech/message/SecurityKnob.getProcessorResult ()Lcom/l7tech/security/xml/processor/ProcessorResult; 1
      // 0d9: invokeinterface com/l7tech/security/xml/processor/ProcessorResult.getProcessedActor ()Lcom/l7tech/security/xml/SecurityActor; 1
      // 0de: ifnull 11c
      // 0e1: goto 0e8
      // 0e4: invokestatic com/l7tech/server/util/SoapFaultManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0e7: athrow
      // 0e8: aload 3
      // 0e9: invokeinterface com/l7tech/message/SecurityKnob.getProcessorResult ()Lcom/l7tech/security/xml/processor/ProcessorResult; 1
      // 0ee: invokeinterface com/l7tech/security/xml/processor/ProcessorResult.getProcessedActor ()Lcom/l7tech/security/xml/SecurityActor; 1
      // 0f3: getstatic com/l7tech/security/xml/SecurityActor.NOACTOR Lcom/l7tech/security/xml/SecurityActor;
      // 0f6: if_acmpne 108
      // 0f9: goto 100
      // 0fc: invokestatic com/l7tech/server/util/SoapFaultManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0ff: athrow
      // 100: aconst_null
      // 101: goto 113
      // 104: invokestatic com/l7tech/server/util/SoapFaultManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 107: athrow
      // 108: aload 3
      // 109: invokeinterface com/l7tech/message/SecurityKnob.getProcessorResult ()Lcom/l7tech/security/xml/processor/ProcessorResult; 1
      // 10e: invokeinterface com/l7tech/security/xml/processor/ProcessorResult.getProcessedActorUri ()Ljava/lang/String; 1
      // 113: astore 10
      // 115: aload 6
      // 117: aload 10
      // 119: invokevirtual com/l7tech/security/xml/decorator/DecorationRequirements.setSecurityHeaderActor (Ljava/lang/String;)V
      // 11c: aload 6
      // 11e: bipush 1
      // 11f: invokevirtual com/l7tech/security/xml/decorator/DecorationRequirements.setSignTimestamp (Z)V
      // 122: aload 6
      // 124: invokevirtual com/l7tech/security/xml/decorator/DecorationRequirements.getElementsToSign ()Ljava/util/Set;
      // 127: aload 1
      // 128: invokestatic com/l7tech/xml/soap/SoapUtil.getBodyElement (Lorg/w3c/dom/Document;)Lorg/w3c/dom/Element;
      // 12b: invokeinterface java/util/Set.add (Ljava/lang/Object;)Z 2
      // 130: pop
      // 131: aload 5
      // 133: new com/l7tech/message/Message
      // 136: dup
      // 137: aload 1
      // 138: invokespecial com/l7tech/message/Message.<init> (Lorg/w3c/dom/Document;)V
      // 13b: aload 6
      // 13d: invokevirtual com/l7tech/security/xml/decorator/WssDecoratorImpl.decorateMessage (Lcom/l7tech/message/Message;Lcom/l7tech/security/xml/decorator/DecorationRequirements;)Lcom/l7tech/security/xml/decorator/WssDecorator$DecorationResult;
      // 140: pop
      // 141: goto 246
      // 144: astore 5
      // 146: aload 0
      // 147: getfield com/l7tech/server/util/SoapFaultManager.d Ljava/util/logging/Logger;
      // 14a: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 14d: getstatic com/l7tech/server/util/SoapFaultManager.m [Ljava/lang/String;
      // 150: astore 15
      // 152: aload 15
      // 154: bipush 37
      // 156: aaload
      // 157: aload 5
      // 159: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 15c: goto 246
      // 15f: astore 5
      // 161: aload 0
      // 162: getfield com/l7tech/server/util/SoapFaultManager.d Ljava/util/logging/Logger;
      // 165: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 168: getstatic com/l7tech/server/util/SoapFaultManager.m [Ljava/lang/String;
      // 16b: astore 15
      // 16d: aload 15
      // 16f: bipush 68
      // 171: aaload
      // 172: aload 5
      // 174: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 177: goto 246
      // 17a: astore 5
      // 17c: aload 0
      // 17d: getfield com/l7tech/server/util/SoapFaultManager.d Ljava/util/logging/Logger;
      // 180: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 183: getstatic com/l7tech/server/util/SoapFaultManager.m [Ljava/lang/String;
      // 186: astore 15
      // 188: aload 15
      // 18a: bipush 68
      // 18c: aaload
      // 18d: aload 5
      // 18f: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 192: goto 246
      // 195: astore 5
      // 197: aload 0
      // 198: getfield com/l7tech/server/util/SoapFaultManager.d Ljava/util/logging/Logger;
      // 19b: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 19e: getstatic com/l7tech/server/util/SoapFaultManager.m [Ljava/lang/String;
      // 1a1: astore 15
      // 1a3: aload 15
      // 1a5: bipush 68
      // 1a7: aaload
      // 1a8: aload 5
      // 1aa: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 1ad: goto 246
      // 1b0: astore 5
      // 1b2: aload 5
      // 1b4: ldc com/l7tech/objectmodel/ObjectNotFoundException
      // 1b6: invokestatic com/l7tech/util/ExceptionUtils.getCauseIfCausedBy (Ljava/lang/Throwable;Ljava/lang/Class;)Ljava/lang/Throwable;
      // 1b9: checkcast com/l7tech/objectmodel/ObjectNotFoundException
      // 1bc: astore 6
      // 1be: aload 6
      // 1c0: ifnull 1f0
      // 1c3: aload 0
      // 1c4: getfield com/l7tech/server/util/SoapFaultManager.d Ljava/util/logging/Logger;
      // 1c7: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 1ca: aload 6
      // 1cc: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 1cf: getstatic com/l7tech/server/util/SoapFaultManager.m [Ljava/lang/String;
      // 1d2: bipush 22
      // 1d4: aaload
      // 1d5: swap
      // 1d6: getstatic com/l7tech/server/util/SoapFaultManager.m [Ljava/lang/String;
      // 1d9: bipush 39
      // 1db: aaload
      // 1dc: 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" ]
      // 1e1: aload 5
      // 1e3: invokestatic com/l7tech/util/ExceptionUtils.getDebugException (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 1e6: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 1e9: goto 206
      // 1ec: invokestatic com/l7tech/server/util/SoapFaultManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1ef: athrow
      // 1f0: aload 0
      // 1f1: getfield com/l7tech/server/util/SoapFaultManager.d Ljava/util/logging/Logger;
      // 1f4: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 1f7: getstatic com/l7tech/server/util/SoapFaultManager.m [Ljava/lang/String;
      // 1fa: astore 15
      // 1fc: aload 15
      // 1fe: bipush 68
      // 200: aaload
      // 201: aload 5
      // 203: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 206: goto 246
      // 209: astore 5
      // 20b: aload 0
      // 20c: getfield com/l7tech/server/util/SoapFaultManager.d Ljava/util/logging/Logger;
      // 20f: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 212: aload 5
      // 214: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 217: getstatic com/l7tech/server/util/SoapFaultManager.m [Ljava/lang/String;
      // 21a: astore 15
      // 21c: aload 15
      // 21e: bipush 45
      // 220: aaload
      // 221: swap
      // 222: 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" ]
      // 227: aload 5
      // 229: invokestatic com/l7tech/util/ExceptionUtils.getDebugException (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 22c: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 22f: goto 246
      // 232: astore 5
      // 234: aload 0
      // 235: getfield com/l7tech/server/util/SoapFaultManager.d Ljava/util/logging/Logger;
      // 238: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 23b: getstatic com/l7tech/server/util/SoapFaultManager.m [Ljava/lang/String;
      // 23e: bipush 68
      // 240: aaload
      // 241: aload 5
      // 243: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 246: return
      // try (100 -> 110): 110 com/l7tech/util/InvalidDocumentFormatException
      // try (93 -> 105): 106 com/l7tech/util/InvalidDocumentFormatException
      // try (90 -> 97): 98 com/l7tech/util/InvalidDocumentFormatException
      // try (73 -> 84): 84 com/l7tech/util/InvalidDocumentFormatException
      // try (47 -> 55): 56 com/l7tech/util/InvalidDocumentFormatException
      // try (41 -> 50): 51 com/l7tech/util/InvalidDocumentFormatException
      // try (38 -> 44): 45 com/l7tech/util/InvalidDocumentFormatException
      // try (0 -> 136): 137 com/l7tech/util/InvalidDocumentFormatException
      // try (0 -> 136): 149 org/xml/sax/SAXException
      // try (0 -> 136): 161 java/io/IOException
      // try (0 -> 136): 173 com/l7tech/security/xml/decorator/DecoratorException
      // try (0 -> 136): 185 java/security/KeyStoreException
      // try (0 -> 136): 223 java/security/UnrecoverableKeyException
      // try (0 -> 136): 240 java/security/GeneralSecurityException
      // try (191 -> 210): 210 com/l7tech/util/InvalidDocumentFormatException
   }

   private boolean a(PolicyEnforcementContext 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 com/l7tech/server/message/PolicyEnforcementContext.getRequest ()Lcom/l7tech/message/Message; 1
      // 06: astore 2
      // 07: aload 2
      // 08: invokevirtual com/l7tech/message/Message.isSoap ()Z
      // 0b: ifeq 1e
      // 0e: getstatic com/l7tech/xml/soap/SoapVersion.SOAP_1_2 Lcom/l7tech/xml/soap/SoapVersion;
      // 11: aload 2
      // 12: invokevirtual com/l7tech/message/Message.getSoapKnob ()Lcom/l7tech/message/SoapKnob;
      // 15: invokeinterface com/l7tech/message/SoapKnob.getSoapVersion ()Lcom/l7tech/xml/soap/SoapVersion; 1
      // 1a: invokevirtual com/l7tech/xml/soap/SoapVersion.equals (Ljava/lang/Object;)Z
      // 1d: ireturn
      // 1e: goto 2a
      // 21: astore 2
      // 22: goto 2a
      // 25: astore 2
      // 26: goto 2a
      // 29: astore 2
      // 2a: aload 1
      // 2b: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getService ()Lcom/l7tech/gateway/common/service/PublishedService; 1
      // 30: ifnull 54
      // 33: getstatic com/l7tech/xml/soap/SoapVersion.SOAP_1_2 Lcom/l7tech/xml/soap/SoapVersion;
      // 36: aload 1
      // 37: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getService ()Lcom/l7tech/gateway/common/service/PublishedService; 1
      // 3c: invokevirtual com/l7tech/gateway/common/service/PublishedService.getSoapVersion ()Lcom/l7tech/xml/soap/SoapVersion;
      // 3f: invokevirtual com/l7tech/xml/soap/SoapVersion.equals (Ljava/lang/Object;)Z
      // 42: ifeq 54
      // 45: goto 4c
      // 48: invokestatic com/l7tech/server/util/SoapFaultManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 4b: athrow
      // 4c: bipush 1
      // 4d: goto 55
      // 50: invokestatic com/l7tech/server/util/SoapFaultManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 53: athrow
      // 54: bipush 0
      // 55: ireturn
      // try (0 -> 11): 13 java/io/IOException
      // try (0 -> 11): 15 org/xml/sax/SAXException
      // try (0 -> 11): 17 com/l7tech/xml/MessageNotSoapException
      // try (18 -> 27): 28 java/io/IOException
      // try (21 -> 32): 32 java/io/IOException
   }

   private Pair<ContentTypeHeader, Document> a(PolicyEnforcementContext var1, AssertionStatus var2, boolean var3, String var4, String var5, boolean var6) {
      boolean var7 = this.a(var1);
      String var8 = this.b(var1);

      String var10000;
      label17: {
         try {
            if (var5 != null) {
               var10000 = var5;
               break label17;
            }
         } catch (NumberFormatException var10) {
            throw a(var10);
         }

         var10000 = var2.getMessage();
      }

      String var9 = var10000;
      return this.a(var7, var8, var3, var4, var9, var6);
   }

   private Pair<ContentTypeHeader, Document> a(boolean var1, String var2, boolean var3, String var4, String var5, boolean var6) {
      String var10000;
      label79: {
         try {
            if (var1) {
               var10000 = m[16];
               break label79;
            }
         } catch (NumberFormatException var17) {
            throw a(var17);
         }

         String[] var12 = m;
         var10000 = var12[57];
      }

      Document var7 = XmlUtil.stringAsDocument(var10000);
      String[] var23 = m;
      NodeList var8 = var7.getElementsByTagNameNS(var23[30], var23[8]);
      Element var9 = (Element)var8.item(0);

      label71: {
         try {
            if ("".equals(var5)) {
               var9.getParentNode().getParentNode().removeChild(var9.getParentNode());
               break label71;
            }
         } catch (NumberFormatException var16) {
            throw a(var16);
         }

         try {
            var9.setAttributeNS(null, m[43], var5);
            if (var6) {
               var9.setAttributeNS(DomUtils.XMLNS_NS, m[40], WspConstants.L7_POLICY_NS);
            }
         } catch (NumberFormatException var13) {
            throw a(var13);
         }
      }

      label64: {
         String var10;
         label63: {
            label62: {
               try {
                  if (!var3) {
                     break label64;
                  }

                  if (var1) {
                     break label62;
                  }
               } catch (NumberFormatException var15) {
                  throw a(var15);
               }

               var23 = m;
               var10 = var23[24];
               var8 = var7.getElementsByTagName(var23[13]);
               break label63;
            }

            var23 = m;
            var10 = var23[32];
            var8 = var7.getElementsByTagNameNS(var23[0], var23[7]);
         }

         Element var11 = (Element)var8.item(0);
         var11.setTextContent(var10);
      }

      if (var1) {
         var23 = m;
         var8 = var7.getElementsByTagNameNS(var23[38], var23[44]);
      } else {
         var23 = m;
         var8 = var7.getElementsByTagName(var23[54]);
      }

      Element var21 = (Element)var8.item(0);
      var21.setTextContent(var4);
      if (var1) {
         var23 = m;
         var8 = var7.getElementsByTagNameNS(var23[38], var23[34]);
      } else {
         var8 = var7.getElementsByTagName(m[28]);
      }

      Element var22 = (Element)var8.item(0);

      Pair var10001;
      ContentTypeHeader var10002;
      label52: {
         try {
            var22.setTextContent(var2);
            var29 = new Pair;
            var10001 = var29;
            if (var1) {
               var10002 = ContentTypeHeader.SOAP_1_2_DEFAULT;
               break label52;
            }
         } catch (NumberFormatException var14) {
            throw a(var14);
         }

         var10002 = ContentTypeHeader.XML_DEFAULT;
      }

      var10001./* $VF: Unable to resugar constructor */<init>(var10002, var7);
      return var29;
   }

   private Pair<ContentTypeHeader, String> b(
      PolicyEnforcementContext param1, AssertionStatus param2, boolean param3, String param4, String param5, boolean param6
   ) {
      // $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: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getAuditContext ()Lcom/l7tech/server/audit/AuditContext; 1
      // 006: invokestatic com/l7tech/util/Option.optional (Ljava/lang/Object;)Lcom/l7tech/util/Option;
      // 009: invokestatic com/l7tech/server/audit/AuditContextFactory.getCurrent ()Lcom/l7tech/server/audit/AuditContext;
      // 00c: invokevirtual com/l7tech/util/Option.orSome (Ljava/lang/Object;)Ljava/lang/Object;
      // 00f: checkcast com/l7tech/server/audit/AuditContext
      // 012: astore 7
      // 014: aconst_null
      // 015: astore 8
      // 017: aload 0
      // 018: aload 1
      // 019: invokevirtual com/l7tech/server/util/SoapFaultManager.a (Lcom/l7tech/server/message/PolicyEnforcementContext;)Z
      // 01c: istore 9
      // 01e: aload 0
      // 01f: aload 1
      // 020: aload 2
      // 021: iload 3
      // 022: aload 4
      // 024: aload 5
      // 026: bipush 1
      // 027: invokevirtual com/l7tech/server/util/SoapFaultManager.a (Lcom/l7tech/server/message/PolicyEnforcementContext;Lcom/l7tech/policy/assertion/AssertionStatus;ZLjava/lang/String;Ljava/lang/String;Z)Lcom/l7tech/util/Pair;
      // 02a: getfield com/l7tech/util/Pair.right Ljava/lang/Object;
      // 02d: checkcast org/w3c/dom/Document
      // 030: astore 10
      // 032: new java/util/TreeSet
      // 035: dup
      // 036: invokespecial java/util/TreeSet.<init> ()V
      // 039: astore 11
      // 03b: aload 1
      // 03c: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getAssertionResults ()Ljava/util/List; 1
      // 041: astore 12
      // 043: aload 12
      // 045: invokeinterface java/util/List.iterator ()Ljava/util/Iterator; 1
      // 04a: astore 13
      // 04c: aload 13
      // 04e: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 053: ifeq 1f4
      // 056: aload 13
      // 058: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 05d: checkcast com/l7tech/server/message/PolicyEnforcementContext$AssertionResult
      // 060: astore 14
      // 062: aload 14
      // 064: invokevirtual com/l7tech/server/message/PolicyEnforcementContext$AssertionResult.getStatus ()Lcom/l7tech/policy/assertion/AssertionStatus;
      // 067: getstatic com/l7tech/policy/assertion/AssertionStatus.NONE Lcom/l7tech/policy/assertion/AssertionStatus;
      // 06a: if_acmpne 080
      // 06d: iload 6
      // 06f: ifne 080
      // 072: goto 079
      // 075: invokestatic com/l7tech/server/util/SoapFaultManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 078: athrow
      // 079: goto 04c
      // 07c: invokestatic com/l7tech/server/util/SoapFaultManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 07f: athrow
      // 080: aload 10
      // 082: getstatic com/l7tech/server/util/SoapFaultManager.m [Ljava/lang/String;
      // 085: astore 24
      // 087: aload 24
      // 089: bipush 67
      // 08b: aaload
      // 08c: aload 24
      // 08e: bipush 10
      // 090: aaload
      // 091: invokeinterface org/w3c/dom/Document.createElementNS (Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element; 3
      // 096: astore 15
      // 098: aload 15
      // 09a: aconst_null
      // 09b: aload 24
      // 09d: bipush 1
      // 09e: aaload
      // 09f: aload 14
      // 0a1: invokevirtual com/l7tech/server/message/PolicyEnforcementContext$AssertionResult.getStatus ()Lcom/l7tech/policy/assertion/AssertionStatus;
      // 0a4: invokevirtual com/l7tech/policy/assertion/AssertionStatus.getMessage ()Ljava/lang/String;
      // 0a7: invokeinterface org/w3c/dom/Element.setAttributeNS (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V 4
      // 0ac: aload 14
      // 0ae: invokevirtual com/l7tech/server/message/PolicyEnforcementContext$AssertionResult.getAssertion ()Lcom/l7tech/policy/assertion/Assertion;
      // 0b1: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
      // 0b4: aconst_null
      // 0b5: invokestatic com/l7tech/policy/wsp/TypeMappingUtils.findTypeMappingByClass (Ljava/lang/reflect/Type;Lcom/l7tech/policy/wsp/WspWriter;)Lcom/l7tech/policy/wsp/TypeMapping;
      // 0b8: invokeinterface com/l7tech/policy/wsp/TypeMapping.getExternalName ()Ljava/lang/String; 1
      // 0bd: aload 24
      // 0bf: bipush 19
      // 0c1: aaload
      // 0c2: swap
      // 0c3: 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" ]
      // 0c8: astore 16
      // 0ca: aload 15
      // 0cc: aconst_null
      // 0cd: aload 24
      // 0cf: bipush 18
      // 0d1: aaload
      // 0d2: aload 16
      // 0d4: invokeinterface org/w3c/dom/Element.setAttributeNS (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V 4
      // 0d9: aload 7
      // 0db: invokeinterface com/l7tech/server/audit/AuditContext.getDetails ()Ljava/util/Map; 1
      // 0e0: aload 14
      // 0e2: invokevirtual com/l7tech/server/message/PolicyEnforcementContext$AssertionResult.getDetailsKey ()Ljava/lang/Object;
      // 0e5: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 0ea: checkcast java/util/List
      // 0ed: astore 17
      // 0ef: aload 17
      // 0f1: ifnull 1c2
      // 0f4: aload 17
      // 0f6: invokeinterface java/util/List.iterator ()Ljava/util/Iterator; 1
      // 0fb: astore 18
      // 0fd: aload 18
      // 0ff: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 104: ifeq 1c2
      // 107: aload 18
      // 109: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 10e: checkcast com/l7tech/gateway/common/audit/AuditDetail
      // 111: astore 19
      // 113: aload 19
      // 115: invokevirtual com/l7tech/gateway/common/audit/AuditDetail.getMessageId ()I
      // 118: istore 20
      // 11a: aload 11
      // 11c: iload 20
      // 11e: invokestatic java/lang/Integer.valueOf (I)Ljava/lang/Integer;
      // 121: invokeinterface java/util/Set.add (Ljava/lang/Object;)Z 2
      // 126: pop
      // 127: iload 6
      // 129: ifne 147
      // 12c: iload 20
      // 12e: invokestatic com/l7tech/gateway/common/audit/MessagesUtil.getAuditDetailMessageById (I)Lcom/l7tech/gateway/common/audit/AuditDetailMessage;
      // 131: invokevirtual com/l7tech/gateway/common/audit/AuditDetailMessage.getLevel ()Ljava/util/logging/Level;
      // 134: invokevirtual java/util/logging/Level.intValue ()I
      // 137: getstatic java/util/logging/Level.INFO Ljava/util/logging/Level;
      // 13a: invokevirtual java/util/logging/Level.intValue ()I
      // 13d: if_icmplt 1bf
      // 140: goto 147
      // 143: invokestatic com/l7tech/server/util/SoapFaultManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 146: athrow
      // 147: aload 10
      // 149: getstatic com/l7tech/server/util/SoapFaultManager.m [Ljava/lang/String;
      // 14c: astore 24
      // 14e: aload 24
      // 150: bipush 67
      // 152: aaload
      // 153: aload 24
      // 155: bipush 63
      // 157: aaload
      // 158: invokeinterface org/w3c/dom/Document.createElementNS (Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element; 3
      // 15d: astore 21
      // 15f: aload 21
      // 161: aconst_null
      // 162: aload 24
      // 164: bipush 25
      // 166: aaload
      // 167: aload 19
      // 169: invokevirtual com/l7tech/gateway/common/audit/AuditDetail.getMessageId ()I
      // 16c: invokestatic java/lang/Integer.toString (I)Ljava/lang/String;
      // 16f: invokeinterface org/w3c/dom/Element.setAttributeNS (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V 4
      // 174: new java/lang/StringBuffer
      // 177: dup
      // 178: invokespecial java/lang/StringBuffer.<init> ()V
      // 17b: astore 22
      // 17d: new java/text/MessageFormat
      // 180: dup
      // 181: aload 0
      // 182: iload 20
      // 184: invokevirtual com/l7tech/server/util/SoapFaultManager.a (I)Ljava/lang/String;
      // 187: invokespecial java/text/MessageFormat.<init> (Ljava/lang/String;)V
      // 18a: astore 23
      // 18c: aload 23
      // 18e: aload 19
      // 190: invokevirtual com/l7tech/gateway/common/audit/AuditDetail.getParams ()[Ljava/lang/String;
      // 193: aload 22
      // 195: new java/text/FieldPosition
      // 198: dup
      // 199: bipush 0
      // 19a: invokespecial java/text/FieldPosition.<init> (I)V
      // 19d: invokevirtual java/text/MessageFormat.format ([Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
      // 1a0: pop
      // 1a1: aload 21
      // 1a3: aload 22
      // 1a5: invokevirtual java/lang/StringBuffer.toString ()Ljava/lang/String;
      // 1a8: invokeinterface org/w3c/dom/Element.setTextContent (Ljava/lang/String;)V 2
      // 1ad: aload 15
      // 1af: aload 10
      // 1b1: aload 21
      // 1b3: bipush 1
      // 1b4: invokeinterface org/w3c/dom/Document.importNode (Lorg/w3c/dom/Node;Z)Lorg/w3c/dom/Node; 3
      // 1b9: invokeinterface org/w3c/dom/Element.appendChild (Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node; 2
      // 1be: pop
      // 1bf: goto 0fd
      // 1c2: aload 10
      // 1c4: getstatic com/l7tech/server/util/SoapFaultManager.m [Ljava/lang/String;
      // 1c7: astore 24
      // 1c9: aload 24
      // 1cb: bipush 67
      // 1cd: aaload
      // 1ce: aload 24
      // 1d0: bipush 62
      // 1d2: aaload
      // 1d3: invokeinterface org/w3c/dom/Document.getElementsByTagNameNS (Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/NodeList; 3
      // 1d8: astore 18
      // 1da: aload 18
      // 1dc: bipush 0
      // 1dd: invokeinterface org/w3c/dom/NodeList.item (I)Lorg/w3c/dom/Node; 2
      // 1e2: checkcast org/w3c/dom/Element
      // 1e5: astore 19
      // 1e7: aload 19
      // 1e9: aload 15
      // 1eb: invokeinterface org/w3c/dom/Element.appendChild (Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node; 2
      // 1f0: pop
      // 1f1: goto 04c
      // 1f4: aload 1
      // 1f5: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getFaultlevel ()Lcom/l7tech/xml/SoapFaultLevel; 1
      // 1fa: ifnull 3aa
      // 1fd: aload 1
      // 1fe: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getFaultlevel ()Lcom/l7tech/xml/SoapFaultLevel; 1
      // 203: invokevirtual com/l7tech/xml/SoapFaultLevel.isAlwaysReturnSoapFault ()Z
      // 206: ifeq 3aa
      // 209: goto 210
      // 20c: invokestatic com/l7tech/server/util/SoapFaultManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 20f: athrow
      // 210: aload 7
      // 212: invokeinterface com/l7tech/server/audit/AuditContext.getDetails ()Ljava/util/Map; 1
      // 217: invokeinterface java/util/Map.isEmpty ()Z 1
      // 21c: ifne 3aa
      // 21f: goto 226
      // 222: invokestatic com/l7tech/server/util/SoapFaultManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 225: athrow
      // 226: new java/util/ArrayList
      // 229: dup
      // 22a: invokespecial java/util/ArrayList.<init> ()V
      // 22d: astore 13
      // 22f: aload 7
      // 231: invokeinterface com/l7tech/server/audit/AuditContext.getDetails ()Ljava/util/Map; 1
      // 236: invokeinterface java/util/Map.values ()Ljava/util/Collection; 1
      // 23b: invokeinterface java/util/Collection.iterator ()Ljava/util/Iterator; 1
      // 240: astore 14
      // 242: aload 14
      // 244: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 249: ifeq 276
      // 24c: aload 14
      // 24e: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 253: checkcast java/util/List
      // 256: astore 15
      // 258: aload 15
      // 25a: invokeinterface java/util/List.isEmpty ()Z 1
      // 25f: ifne 273
      // 262: aload 13
      // 264: aload 15
      // 266: invokeinterface java/util/List.addAll (Ljava/util/Collection;)Z 2
      // 26b: pop
      // 26c: goto 273
      // 26f: invokestatic com/l7tech/server/util/SoapFaultManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 272: athrow
      // 273: goto 242
      // 276: aload 13
      // 278: new com/l7tech/server/util/q
      // 27b: dup
      // 27c: aload 0
      // 27d: invokespecial com/l7tech/server/util/q.<init> (Lcom/l7tech/server/util/SoapFaultManager;)V
      // 280: invokestatic java/util/Collections.sort (Ljava/util/List;Ljava/util/Comparator;)V
      // 283: aload 10
      // 285: getstatic com/l7tech/server/util/SoapFaultManager.m [Ljava/lang/String;
      // 288: astore 24
      // 28a: aload 24
      // 28c: bipush 67
      // 28e: aaload
      // 28f: aload 24
      // 291: bipush 75
      // 293: aaload
      // 294: invokeinterface org/w3c/dom/Document.createElementNS (Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element; 3
      // 299: astore 14
      // 29b: aload 13
      // 29d: invokeinterface java/util/List.iterator ()Ljava/util/Iterator; 1
      // 2a2: astore 15
      // 2a4: aload 15
      // 2a6: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 2ab: ifeq 37b
      // 2ae: aload 15
      // 2b0: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 2b5: checkcast com/l7tech/gateway/common/audit/AuditDetail
      // 2b8: astore 16
      // 2ba: aload 16
      // 2bc: invokevirtual com/l7tech/gateway/common/audit/AuditDetail.getMessageId ()I
      // 2bf: istore 17
      // 2c1: iload 17
      // 2c3: invokestatic com/l7tech/gateway/common/audit/MessagesUtil.getAuditDetailMessageById (I)Lcom/l7tech/gateway/common/audit/AuditDetailMessage;
      // 2c6: invokevirtual com/l7tech/gateway/common/audit/AuditDetailMessage.getLevel ()Ljava/util/logging/Level;
      // 2c9: invokevirtual java/util/logging/Level.intValue ()I
      // 2cc: getstatic java/util/logging/Level.INFO Ljava/util/logging/Level;
      // 2cf: invokevirtual java/util/logging/Level.intValue ()I
      // 2d2: if_icmplt 378
      // 2d5: aload 11
      // 2d7: iload 17
      // 2d9: invokestatic java/lang/Integer.valueOf (I)Ljava/lang/Integer;
      // 2dc: invokeinterface java/util/Set.contains (Ljava/lang/Object;)Z 2
      // 2e1: ifne 378
      // 2e4: goto 2eb
      // 2e7: invokestatic com/l7tech/server/util/SoapFaultManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2ea: athrow
      // 2eb: aload 10
      // 2ed: getstatic com/l7tech/server/util/SoapFaultManager.m [Ljava/lang/String;
      // 2f0: astore 24
      // 2f2: aload 24
      // 2f4: bipush 67
      // 2f6: aaload
      // 2f7: aload 24
      // 2f9: bipush 51
      // 2fb: aaload
      // 2fc: invokeinterface org/w3c/dom/Document.createElementNS (Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element; 3
      // 301: astore 18
      // 303: aload 18
      // 305: aconst_null
      // 306: aload 24
      // 308: bipush 36
      // 30a: aaload
      // 30b: aload 16
      // 30d: invokevirtual com/l7tech/gateway/common/audit/AuditDetail.getMessageId ()I
      // 310: invokestatic java/lang/Integer.toString (I)Ljava/lang/String;
      // 313: invokeinterface org/w3c/dom/Element.setAttributeNS (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V 4
      // 318: aload 18
      // 31a: aconst_null
      // 31b: aload 24
      // 31d: bipush 65
      // 31f: aaload
      // 320: aload 16
      // 322: invokevirtual com/l7tech/gateway/common/audit/AuditDetail.getOrdinal ()I
      // 325: invokestatic java/lang/Integer.toString (I)Ljava/lang/String;
      // 328: invokeinterface org/w3c/dom/Element.setAttributeNS (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V 4
      // 32d: new java/lang/StringBuffer
      // 330: dup
      // 331: invokespecial java/lang/StringBuffer.<init> ()V
      // 334: astore 19
      // 336: new java/text/MessageFormat
      // 339: dup
      // 33a: aload 0
      // 33b: iload 17
      // 33d: invokevirtual com/l7tech/server/util/SoapFaultManager.a (I)Ljava/lang/String;
      // 340: invokespecial java/text/MessageFormat.<init> (Ljava/lang/String;)V
      // 343: astore 20
      // 345: aload 20
      // 347: aload 16
      // 349: invokevirtual com/l7tech/gateway/common/audit/AuditDetail.getParams ()[Ljava/lang/String;
      // 34c: aload 19
      // 34e: new java/text/FieldPosition
      // 351: dup
      // 352: bipush 0
      // 353: invokespecial java/text/FieldPosition.<init> (I)V
      // 356: invokevirtual java/text/MessageFormat.format ([Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
      // 359: pop
      // 35a: aload 18
      // 35c: aload 19
      // 35e: invokevirtual java/lang/StringBuffer.toString ()Ljava/lang/String;
      // 361: invokeinterface org/w3c/dom/Element.setTextContent (Ljava/lang/String;)V 2
      // 366: aload 14
      // 368: aload 10
      // 36a: aload 18
      // 36c: bipush 1
      // 36d: invokeinterface org/w3c/dom/Document.importNode (Lorg/w3c/dom/Node;Z)Lorg/w3c/dom/Node; 3
      // 372: invokeinterface org/w3c/dom/Element.appendChild (Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node; 2
      // 377: pop
      // 378: goto 2a4
      // 37b: aload 10
      // 37d: getstatic com/l7tech/server/util/SoapFaultManager.m [Ljava/lang/String;
      // 380: astore 24
      // 382: aload 24
      // 384: bipush 67
      // 386: aaload
      // 387: aload 24
      // 389: bipush 62
      // 38b: aaload
      // 38c: invokeinterface org/w3c/dom/Document.getElementsByTagNameNS (Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/NodeList; 3
      // 391: astore 15
      // 393: aload 15
      // 395: bipush 0
      // 396: invokeinterface org/w3c/dom/NodeList.item (I)Lorg/w3c/dom/Node; 2
      // 39b: checkcast org/w3c/dom/Element
      // 39e: astore 16
      // 3a0: aload 16
      // 3a2: aload 14
      // 3a4: invokeinterface org/w3c/dom/Element.appendChild (Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node; 2
      // 3a9: pop
      // 3aa: aload 10
      // 3ac: invokestatic com/l7tech/common/io/XmlUtil.nodeToFormattedString (Lorg/w3c/dom/Node;)Ljava/lang/String;
      // 3af: astore 8
      // 3b1: goto 416
      // 3b4: astore 10
      // 3b6: aload 0
      // 3b7: getfield com/l7tech/server/util/SoapFaultManager.d Ljava/util/logging/Logger;
      // 3ba: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 3bd: aload 10
      // 3bf: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 3c2: getstatic com/l7tech/server/util/SoapFaultManager.m [Ljava/lang/String;
      // 3c5: astore 24
      // 3c7: aload 24
      // 3c9: bipush 2
      // 3ca: aaload
      // 3cb: swap
      // 3cc: 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" ]
      // 3d1: aload 10
      // 3d3: invokestatic com/l7tech/util/ExceptionUtils.getDebugException (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 3d6: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 3d9: aload 0
      // 3da: aload 1
      // 3db: aload 2
      // 3dc: iload 3
      // 3dd: aload 4
      // 3df: aload 5
      // 3e1: bipush 0
      // 3e2: invokevirtual com/l7tech/server/util/SoapFaultManager.a (Lcom/l7tech/server/message/PolicyEnforcementContext;Lcom/l7tech/policy/assertion/AssertionStatus;ZLjava/lang/String;Ljava/lang/String;Z)Lcom/l7tech/util/Pair;
      // 3e5: astore 11
      // 3e7: new com/l7tech/util/Pair
      // 3ea: dup
      // 3eb: aload 11
      // 3ed: getfield com/l7tech/util/Pair.left Ljava/lang/Object;
      // 3f0: checkcast com/l7tech/common/mime/ContentTypeHeader
      // 3f3: aload 11
      // 3f5: getfield com/l7tech/util/Pair.right Ljava/lang/Object;
      // 3f8: checkcast org/w3c/dom/Node
      // 3fb: invokestatic com/l7tech/common/io/XmlUtil.nodeToFormattedString (Lorg/w3c/dom/Node;)Ljava/lang/String;
      // 3fe: invokespecial com/l7tech/util/Pair.<init> (Ljava/lang/Object;Ljava/lang/Object;)V
      // 401: areturn
      // 402: astore 11
      // 404: aload 0
      // 405: getfield com/l7tech/server/util/SoapFaultManager.d Ljava/util/logging/Logger;
      // 408: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 40b: getstatic com/l7tech/server/util/SoapFaultManager.m [Ljava/lang/String;
      // 40e: bipush 47
      // 410: aaload
      // 411: aload 11
      // 413: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 416: new com/l7tech/util/Pair
      // 419: dup
      // 41a: iload 9
      // 41c: ifeq 429
      // 41f: getstatic com/l7tech/common/mime/ContentTypeHeader.SOAP_1_2_DEFAULT Lcom/l7tech/common/mime/ContentTypeHeader;
      // 422: goto 42c
      // 425: invokestatic com/l7tech/server/util/SoapFaultManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 428: athrow
      // 429: getstatic com/l7tech/common/mime/ContentTypeHeader.XML_DEFAULT Lcom/l7tech/common/mime/ContentTypeHeader;
      // 42c: aload 8
      // 42e: invokespecial com/l7tech/util/Pair.<init> (Ljava/lang/Object;Ljava/lang/Object;)V
      // 431: areturn
      // try (279 -> 291): 292 java/lang/Exception
      // try (238 -> 245): 246 java/lang/Exception
      // try (208 -> 219): 220 java/lang/Exception
      // try (205 -> 212): 213 java/lang/Exception
      // try (114 -> 128): 129 java/lang/Exception
      // try (45 -> 51): 51 java/lang/Exception
      // try (41 -> 47): 48 java/lang/Exception
      // try (13 -> 379): 380 java/lang/Exception
      // try (396 -> 415): 416 java/io/IOException
      // try (425 -> 431): 431 java/lang/Exception
   }

   private String a(int var1) {
      ReadLock var2 = this.k.readLock();
      var2.lock();

      try {
         String var3 = this.j.get(var1);
         if (var3 != null) {
            return var3;
         }
      } finally {
         var2.unlock();
      }

      AuditDetailMessage var10 = MessagesUtil.getAuditDetailMessageById(var1);

      try {
         if (var10 == null) {
            return null;
         }
      } catch (NumberFormatException var8) {
         throw a(var8);
      }

      return var10.getMessage();
   }

   private void b() {
      // $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: getfield com/l7tech/server/util/SoapFaultManager.h Lcom/l7tech/server/cluster/ClusterPropertyManager;
      // 004: ifnonnull 03f
      // 007: aload 0
      // 008: aload 0
      // 009: getfield com/l7tech/server/util/SoapFaultManager.i Lorg/springframework/beans/factory/BeanFactory;
      // 00c: getstatic com/l7tech/server/util/SoapFaultManager.m [Ljava/lang/String;
      // 00f: bipush 6
      // 011: aaload
      // 012: ldc com/l7tech/server/cluster/ClusterPropertyManager
      // 014: invokeinterface org/springframework/beans/factory/BeanFactory.getBean (Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; 3
      // 019: checkcast com/l7tech/server/cluster/ClusterPropertyManager
      // 01c: putfield com/l7tech/server/util/SoapFaultManager.h Lcom/l7tech/server/cluster/ClusterPropertyManager;
      // 01f: aload 0
      // 020: getfield com/l7tech/server/util/SoapFaultManager.h Lcom/l7tech/server/cluster/ClusterPropertyManager;
      // 023: ifnonnull 03f
      // 026: goto 02d
      // 029: invokestatic com/l7tech/server/util/SoapFaultManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 02c: athrow
      // 02d: aload 0
      // 02e: getfield com/l7tech/server/util/SoapFaultManager.d Ljava/util/logging/Logger;
      // 031: getstatic com/l7tech/server/util/SoapFaultManager.m [Ljava/lang/String;
      // 034: bipush 26
      // 036: aaload
      // 037: invokevirtual java/util/logging/Logger.info (Ljava/lang/String;)V
      // 03a: return
      // 03b: invokestatic com/l7tech/server/util/SoapFaultManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 03e: athrow
      // 03f: aload 0
      // 040: getfield com/l7tech/server/util/SoapFaultManager.h Lcom/l7tech/server/cluster/ClusterPropertyManager;
      // 043: invokeinterface com/l7tech/server/cluster/ClusterPropertyManager.findAll ()Ljava/util/Collection; 1
      // 048: astore 1
      // 049: aload 0
      // 04a: getfield com/l7tech/server/util/SoapFaultManager.k Ljava/util/concurrent/locks/ReentrantReadWriteLock;
      // 04d: invokevirtual java/util/concurrent/locks/ReentrantReadWriteLock.writeLock ()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
      // 050: astore 2
      // 051: aload 2
      // 052: invokevirtual java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock.lock ()V
      // 055: aload 0
      // 056: getfield com/l7tech/server/util/SoapFaultManager.j Ljava/util/HashMap;
      // 059: invokevirtual java/util/HashMap.clear ()V
      // 05c: aload 1
      // 05d: invokeinterface java/util/Collection.iterator ()Ljava/util/Iterator; 1
      // 062: astore 3
      // 063: aload 3
      // 064: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 069: ifeq 0ef
      // 06c: aload 3
      // 06d: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 072: astore 4
      // 074: aload 4
      // 076: checkcast com/l7tech/gateway/common/cluster/ClusterProperty
      // 079: astore 5
      // 07b: aload 5
      // 07d: invokevirtual com/l7tech/gateway/common/cluster/ClusterProperty.getName ()Ljava/lang/String;
      // 080: ifnull 0ec
      // 083: aload 5
      // 085: invokevirtual com/l7tech/gateway/common/cluster/ClusterProperty.getName ()Ljava/lang/String;
      // 088: getstatic com/l7tech/gateway/common/audit/Messages.OVERRIDE_PREFIX Ljava/lang/String;
      // 08b: invokevirtual java/lang/String.startsWith (Ljava/lang/String;)Z
      // 08e: ifeq 0ec
      // 091: goto 098
      // 094: invokestatic com/l7tech/server/util/SoapFaultManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 097: athrow
      // 098: aload 5
      // 09a: invokevirtual com/l7tech/gateway/common/cluster/ClusterProperty.getName ()Ljava/lang/String;
      // 09d: getstatic com/l7tech/gateway/common/audit/Messages.OVERRIDE_PREFIX Ljava/lang/String;
      // 0a0: invokevirtual java/lang/String.length ()I
      // 0a3: invokevirtual java/lang/String.substring (I)Ljava/lang/String;
      // 0a6: invokestatic java/lang/Integer.valueOf (Ljava/lang/String;)Ljava/lang/Integer;
      // 0a9: astore 6
      // 0ab: aload 5
      // 0ad: invokevirtual com/l7tech/gateway/common/cluster/ClusterProperty.getValue ()Ljava/lang/String;
      // 0b0: ifnull 0c9
      // 0b3: aload 0
      // 0b4: getfield com/l7tech/server/util/SoapFaultManager.j Ljava/util/HashMap;
      // 0b7: aload 6
      // 0b9: aload 5
      // 0bb: invokevirtual com/l7tech/gateway/common/cluster/ClusterProperty.getValue ()Ljava/lang/String;
      // 0be: invokevirtual java/util/HashMap.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
      // 0c1: pop
      // 0c2: goto 0c9
      // 0c5: invokestatic com/l7tech/server/util/SoapFaultManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0c8: athrow
      // 0c9: goto 0ec
      // 0cc: astore 6
      // 0ce: aload 0
      // 0cf: getfield com/l7tech/server/util/SoapFaultManager.d Ljava/util/logging/Logger;
      // 0d2: aload 5
      // 0d4: invokevirtual com/l7tech/gateway/common/cluster/ClusterProperty.getName ()Ljava/lang/String;
      // 0d7: getstatic com/l7tech/server/util/SoapFaultManager.m [Ljava/lang/String;
      // 0da: astore 8
      // 0dc: aload 8
      // 0de: bipush 70
      // 0e0: aaload
      // 0e1: swap
      // 0e2: ldc ")"
      // 0e4: 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" ]
      // 0e9: invokevirtual java/util/logging/Logger.fine (Ljava/lang/String;)V
      // 0ec: goto 063
      // 0ef: aload 2
      // 0f0: invokevirtual java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock.unlock ()V
      // 0f3: goto 0ff
      // 0f6: astore 7
      // 0f8: aload 2
      // 0f9: invokevirtual java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock.unlock ()V
      // 0fc: aload 7
      // 0fe: athrow
      // 0ff: goto 114
      // 102: astore 1
      // 103: aload 0
      // 104: getfield com/l7tech/server/util/SoapFaultManager.d Ljava/util/logging/Logger;
      // 107: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 10a: getstatic com/l7tech/server/util/SoapFaultManager.m [Ljava/lang/String;
      // 10d: bipush 76
      // 10f: aaload
      // 110: aload 1
      // 111: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 114: return
      // try (71 -> 81): 82 java/lang/NumberFormatException
      // try (53 -> 61): 62 java/lang/NumberFormatException
      // try (3 -> 26): 26 java/lang/NumberFormatException
      // try (0 -> 16): 17 java/lang/NumberFormatException
      // try (64 -> 84): 85 java/lang/NumberFormatException
      // try (38 -> 100): 103 null
      // try (103 -> 104): 103 null
      // try (28 -> 108): 109 com/l7tech/objectmodel/FindException
   }

   private String b(PolicyEnforcementContext var1) {
      String var2;
      try {
         String[] var4 = m;
         var2 = var1.getVariable(var4[53]).toString();
      } catch (NoSuchVariableException var6) {
         NoSuchVariableException var3 = var6;

         try {
            if (var1.getRequest().isHttpRequest()) {
               this.d.log(Level.WARNING, m[73], ExceptionUtils.getMessage(var3));
            }
         } catch (NoSuchVariableException var5) {
            throw a(var5);
         }

         var2 = m[12];
      }

      return var2;
   }

   private ContentTypeHeader a(ContentTypeHeader var1, SoapFaultLevel var2) {
      ContentTypeHeader var3 = var1;

      try {
         String var4 = var2.getFaultTemplateCustomContentType();
         if (!StringUtils.isBlank(var4)) {
            var3 = ContentTypeHeader.parseValue(var4);
         }
      } catch (Throwable var5) {
         var3 = var1;
      }

      return var3;
   }

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

   static {
      String[] var5 = new String[77];
      int var3 = 0;
      String var2 = "#e~0w_,<f}n:C-$cmo\u007f@3x>:ub\u0003l*a'%#\u0006f'~z%\u00068ek48\u0003$(~\u007f,)Pm$e*#\"\u001ep?c\u007f#9Pg.ek)!\u0015gkwk5!\u00049k'(~go!Gw.rbo>\u0015q=txo8\u0004j'>Y/,\u0000E*df4\u0000\u0011m*vo2\u0015/tl!8\u001cw-p\u007f,9\u0000l'xi98\u0002o\u0014/tl!8\u001cw-p\u007f,9\u001bf2pf),\u0003\u0016(}\u007f39\u0015q\u001bce0(\u0002w2\\k.,\u0017f9\u0005\u001dpf5(\f;~f).\tQ.b\u007f,9K\r~\u007f.)Pn>}~)=\u001cfkee+(\u001epkxd`?\u0015r>ty4aPv8xd'm\u0014f-p\u007f,9Ph.h*&\"\u0002#8xm.$\u001edkBE\u0001\u001dPe*df4c\u0012'&0!>\u0003f9ec/#\"f8df4\u001f/tl!8\u001cw-p\u007f,9\u0004f&af!9\u0015@$\u007f~%#\u0004W2ao\u00038bm\t-p\u007f,9\u0013l/t\u0016(}\u007f39\u0015q\u001bce0(\u0002w2\\k.,\u0017f92\u000ecx/?Ps9~i%>\u0003j%v*+(\t#*}c!>Pe$c*\u0013\u00021Skwk5!\u0004#8xm.$\u001edeɯw.r-!Pu.cy)\"\u001e>i $poPf%re$$\u001edv3_\u0014\u000b];i.4Jq\u0003l*ao.;JF%go,\"\u0000fkig,#\u000398~k0(\u001euv3b49\u00009d>}7:^tx?e2*_1{!9o}E,8~k0`\u0015m=tf/=\u0015!u\u001b*`mP?8~k0(\u001euqSe$4N\tk1*`mP#k-y/,\u0000f%g0\u0006,\u0005o?/\u0000`mP#k1*`mP#k-y/,\u0000f%g0\u0003\"\u0014fu\u001b*`mP#k1*`mP#k1*`q\u0003l*ao.;JU*}\u007f%s\u0003l*ao.;JQ.ro);\u0015qw>y/,\u0000f%g0\u0016,\u001cv./\u0000`mP#k1*`mP#k-%3\"\u0011s.\u007f|z\u000e\u001fg./\u0000`mP#k1*`mP#k-y/,\u0000f%g0\u0012(\u0011p$\u007f4JmP#k1*`mP#k1*`mP?8~k0(\u001euqEo89P{&}0,,\u001edv3o.`%Pi>4JmP#k1*`mP#k16o>\u001fb;td6w\"f*be.sz#k1*`mP#k1*`q\u0003l*ao.;JQ$}oosz#k1*`mP#k1*`q\u0003l*ao.;JG.ek)!N\tk1*`mP#k1*`mP#k16,zJs$}c#4\"f8df4m\bn'\u007fyz!G>iy~4=J,df}7c\u001cb2txw9\u0015`#?i/ _t8>z/!\u0019`2>l!8\u001cwi>4JmP#k1*`mP#k16o>\u001fb;td6w4f?pc,sz#k1*`mP#w>y/,\u0000f%g0\u0006,\u0005o?/\u0000`mP#w>y/,\u0000f%g0\u0002\"\u0014zu\u001b6o>\u001fb;td6w5m=tf/=\u0015=\u001a\u0018~k0m\u0016b>}~` \u0011m*vo2m\u0002f-co3%\t*by%?\u0004j$\u007f\u0004'&zz\u00108td$\b\bw9pB%,\u0014f9bD\u001b~f).\tF%we2.\u0015n.\u007f~\u0003\"\u001ew.i~n=\u001fo\"rs\u0012(\u0003v'e*.\"\u0004#8t~nm6b'}h!.\u001b#$\u007f*\u0015\u00034F\rXD\u0005\t\u001a\u000ecx/?Pp\"vd)#\u0017#\u0018^K\u0010m6b>}~`j\u0014/tl!8\u001cw-p\u007f,9\u0004f&af!9\u0015\u000e8~k0(\u001euqRf)(\u001ew\u0002\"u+(pd4m\u0017f?1b!#\u0014o.1e.m3o>b~%? q$ao29\u0019f8\\k.,\u0017f9\r>bo2m\u0003f?ec.*P\n-p\u007f,9\u0011`?~x\u0010\u001b~f).\t#\rpf3$\u0016j.u)#e~0w_,<f}n!\u0011z.c=4(\u0013kere-b\u0007pdae,$\u0013zdwk5!\u0004\u001a\u000ecx/?Pp\"vd)#\u0017#\u0018^K\u0010m6b>}~`j\u000e8~k0(\u001euqBo.)\u0015q)\u0002vd/?\u0019m,1c.;\u0011o\"u*#\"\u001ew.\u007f~`9\ts.1l/?Pe*df4mW\u0004\u0019~f%\u0002l?\u0002\"u\u0019\u000ecx/?Pp\"vd)#\u0017#\u0018^K\u0010m6b>}~n'#e~0w_,<f}n:C-$cmo\u007f@3x>:ub\u0003l*a'%#\u0006f'~z%\u0002l?\t3|f.>Jo|aǊw.r-!Pu.cy)\"\u001e>i $poPf%re$$\u001edv3_\u0014\u000b];i.4Jq\u0003l*ao.;JF%go,\"\u0000fkig,#\u000398~k0(\u001euv3b49\u00009d>y#%\u0015n*b$8 \u001cp$pzn\"\u0002ddbe!=_f%go,\"\u0000fd34JmP#k-y/,\u0000f%g0\u0002\"\u0014zu\u001b*`mP#k1*|>\u001fb;td6w6b>}~~GP#k1*`mP#k1*|+\u0011v'ei/)\u0015=8~k0(\u001euqBo2;\u0015qw>l!8\u001cw(~n%sz#k1*`mP#k1*`q\u0016b>}~39\u0002j%v%~GP#k1*`mP#k1*|+\u0011v'ek#9\u001fqd/\u0000`mP#k1*`mP#k-n%9\u0011j'/\u0000`mP#k1*`mP#k1*`mP?'&00\"\u001cj(hX%>\u0005o?1r-!\u001epq}=}o\u0018w?a0ob\u0007t<?f!4\u0015q|eo#%^`$|%7>_s$}c#4_e*df4o_=A1*`mP#k1*`mP?duo4,\u0019ou\u001b*`mP#k1*|b\u0003l*ao.;JE*df4sz#k1*|b\u0003l*ao.;JA$us~GL,8~k0(\u001euqTd6(\u001cl;t4\f\u0018tx6(\u0002#\u000ecx/?\u00068ek48\u0003\u0004\u001ftr4\u001a\u000ecx/?Pp\"vd)#\u0017#\u0018^K\u0010m6b>}~zm-\u0002vd/?\u0019m,1c.;\u0011o\"u*(9\u0004skb~!9\u0005pkre$(Pe$c*&,\u0005o?1-!(~\u007f,)Pm$e*#\"\u001ep?c\u007f#9Pd.\u007fo2$\u0013#-p\u007f,9\u0018\u0002\u007fi/?\u0002f(e*0\"\u001cj(h*6(\u0002p\"~d\u001d\u000ecx/?Pj%1k3>\u0015q?xe.m\u0000q$ro3>\u0019m,\u0011/tl!8\u001cw-p\u007f,9\u001cf=tf\u0010'&0$(\u0004b\"}G%>\u0003b,t\u0005#co3=\u000b9t{5(\u0003wedx,\u000b-p\u007f,9\u0003w9xd'\u0005-p\u007f,9>\ncm5 \u0015m?1l/?PC\u0005~~\u000e8\u001cokak2,\u001df?tx`jUpl1e&mUpe4y` \u0005p?1d/9Pa.1d5!\u001cǊw.r-!Pu.cy)\"\u001e>i $poPf%re$$\u001edv3_\u0014\u000b];i.4Jq\u0003l*ao.;JF%go,\"\u0000fkig,#\u000398~k0(\u001euv3b49\u00009d>y#%\u0015n*b$8 \u001cp$pzn\"\u0002ddbe!=_f%go,\"\u0000fd34JmP#k-y/,\u0000f%g0\u0002\"\u0014zu\u001b*`mP#k1*|>\u001fb;td6w6b>}~~GP#k1*`mP#k1*|+\u0011v'ei/)\u0015=8~k0(\u001euqBo2;\u0015qw>l!8\u001cw(~n%sz#k1*`mP#k1*`q\u0016b>}~39\u0002j%v%~GP#k1*`mP#k1*|+\u0011v'ek#9\u001fqd/\u0000`mP#k1*`mP#k-n%9\u0011j'/\u0000`mP#k1*`mP#k1*`mP?'&00\"\u001cj(hX%>\u0005o?1r-!\u001epq}=}o\u0018w?a0ob\u0007t<?f!4\u0015q|eo#%^`$|%7>_s$}c#4_e*df4o_=A1*`mP#k1*`mP?duo4,\u0019ou\u001b*`mP#k1*|b\u0003l*ao.;JE*df4sz#k1*|b\u0003l*ao.;JA$us~GL,8~k0(\u001euqTd6(\u001cl;t4!(~\u007f,)Pm$e*#\"\u001ep?c\u007f#9Pd.\u007fo2$\u0013#-p\u007f,9ɯw.r-!Pu.cy)\"\u001e>i $poPf%re$$\u001edv3_\u0014\u000b];i.4Jq\u0003l*ao.;JF%go,\"\u0000fkig,#\u000398~k0(\u001euv3b49\u00009d>}7:^tx?e2*_1{!9o}E,8~k0`\u0015m=tf/=\u0015!u\u001b*`mP?8~k0(\u001euqSe$4N\tk1*`mP#k-y/,\u0000f%g0\u0006,\u0005o?/\u0000`mP#k1*`mP#k-y/,\u0000f%g0\u0003\"\u0014fu\u001b*`mP#k1*`mP#k1*`q\u0003l*ao.;JU*}\u007f%s\u0003l*ao.;JQ.ro);\u0015qw>y/,\u0000f%g0\u0016,\u001cv./\u0000`mP#k1*`mP#k-%3\"\u0011s.\u007f|z\u000e\u001fg./\u0000`mP#k1*`mP#k-y/,\u0000f%g0\u0012(\u0011p$\u007f4JmP#k1*`mP#k1*`mP?8~k0(\u001euqEo89P{&}0,,\u001edv3o.`%Pi>4JmP#k1*`mP#k16o>\u001fb;td6w\"f*be.sz#k1*`mP#k1*`q\u0003l*ao.;JQ$}oosz#k1*`mP#k1*`q\u0003l*ao.;JG.ek)!N\tk1*`mP#k1*`mP#k16,zJs$}c#4\"f8df4m\bn'\u007fyz!G>iy~4=J,df}7c\u001cb2txw9\u0015`#?i/ _t8>z/!\u0019`2>l!8\u001cwi>4JmP#k1*`mP#k16o>\u001fb;td6w4f?pc,sz#k1*`mP#w>y/,\u0000f%g0\u0006,\u0005o?/\u0000`mP#w>y/,\u0000f%g0\u0002\"\u0014zu\u001b6o>\u001fb;td6w5m=tf/=\u0015=V\bpd.\"\u0004#9t~2$\u0015u.1n%+\u0011v'el!8\u001cw't|%!Pp.c|%?Ps9~z%?\u0004j.b*&,\u001co\"\u007fm`/\u0011` 1e.m\u0018b9ui/)\u0015gkuo&,\u0005o?b!kwe2m\u0014f-p\u007f,9\u0016b>}~,(\u0006f'1c3m\u0019m=pf))\f;~f).\tQ.b\u007f,9\u0010'&0$(\u0004b\"}G%>\u0003b,t\u00108~k0+\u0011v'e$$(\u0004b\"}\u0007$cn)#\u0011o\u0010/tl!8\u001cw-p\u007f,9\u0003j,\u007f)#e~0w_,<f}n!\u0011z.c=4(\u0013kere-b\u0007pdae,$\u0013zdwk5!\u0004\u0019\u000ecx/?Pp\"vd)#\u0017#\u0018^K\u0010m6b>}~n\f*dn)96b(ee24,?ye5*\u0018wkeb)>Pt*b*!#Pl=tx2$\u0014fg1h59Pj?6y`#\u001fwk9\u0003l=*\u0019\b~\u007f,)Pm$e*#\"\u001ep?c\u007f#9Pe*df48?yc3m\u0006b9xk\"!\u0015#\"b*.\"\u0004#-~\u007f.)Pa>e*3%\u001fv'u*!!\u0007b2b*\"(Pp.e0`6@~\u00108~k0+\u0011v'e$$(\u0004b\"}";
      int var4 = "#e~0w_,<f}n:C-$cmo\u007f@3x>:ub\u0003l*a'%#\u0006f'~z%\u00068ek48\u0003$(~\u007f,)Pm$e*#\"\u001ep?c\u007f#9Pg.ek)!\u0015gkwk5!\u00049k'(~go!Gw.rbo>\u0015q=txo8\u0004j'>Y/,\u0000E*df4\u0000\u0011m*vo2\u0015/tl!8\u001cw-p\u007f,9\u0000l'xi98\u0002o\u0014/tl!8\u001cw-p\u007f,9\u001bf2pf),\u0003\u0016(}\u007f39\u0015q\u001bce0(\u0002w2\\k.,\u0017f9\u0005\u001dpf5(\f;~f).\tQ.b\u007f,9K\r~\u007f.)Pn>}~)=\u001cfkee+(\u001epkxd`?\u0015r>ty4aPv8xd'm\u0014f-p\u007f,9Ph.h*&\"\u0002#8xm.$\u001edkBE\u0001\u001dPe*df4c\u0012'&0!>\u0003f9ec/#\"f8df4\u001f/tl!8\u001cw-p\u007f,9\u0004f&af!9\u0015@$\u007f~%#\u0004W2ao\u00038bm\t-p\u007f,9\u0013l/t\u0016(}\u007f39\u0015q\u001bce0(\u0002w2\\k.,\u0017f92\u000ecx/?Ps9~i%>\u0003j%v*+(\t#*}c!>Pe$c*\u0013\u00021Skwk5!\u0004#8xm.$\u001edeɯw.r-!Pu.cy)\"\u001e>i $poPf%re$$\u001edv3_\u0014\u000b];i.4Jq\u0003l*ao.;JF%go,\"\u0000fkig,#\u000398~k0(\u001euv3b49\u00009d>}7:^tx?e2*_1{!9o}E,8~k0`\u0015m=tf/=\u0015!u\u001b*`mP?8~k0(\u001euqSe$4N\tk1*`mP#k-y/,\u0000f%g0\u0006,\u0005o?/\u0000`mP#k1*`mP#k-y/,\u0000f%g0\u0003\"\u0014fu\u001b*`mP#k1*`mP#k1*`q\u0003l*ao.;JU*}\u007f%s\u0003l*ao.;JQ.ro);\u0015qw>y/,\u0000f%g0\u0016,\u001cv./\u0000`mP#k1*`mP#k-%3\"\u0011s.\u007f|z\u000e\u001fg./\u0000`mP#k1*`mP#k-y/,\u0000f%g0\u0012(\u0011p$\u007f4JmP#k1*`mP#k1*`mP?8~k0(\u001euqEo89P{&}0,,\u001edv3o.`%Pi>4JmP#k1*`mP#k16o>\u001fb;td6w\"f*be.sz#k1*`mP#k1*`q\u0003l*ao.;JQ$}oosz#k1*`mP#k1*`q\u0003l*ao.;JG.ek)!N\tk1*`mP#k1*`mP#k16,zJs$}c#4\"f8df4m\bn'\u007fyz!G>iy~4=J,df}7c\u001cb2txw9\u0015`#?i/ _t8>z/!\u0019`2>l!8\u001cwi>4JmP#k1*`mP#k16o>\u001fb;td6w4f?pc,sz#k1*`mP#w>y/,\u0000f%g0\u0006,\u0005o?/\u0000`mP#w>y/,\u0000f%g0\u0002\"\u0014zu\u001b6o>\u001fb;td6w5m=tf/=\u0015=\u001a\u0018~k0m\u0016b>}~` \u0011m*vo2m\u0002f-co3%\t*by%?\u0004j$\u007f\u0004'&zz\u00108td$\b\bw9pB%,\u0014f9bD\u001b~f).\tF%we2.\u0015n.\u007f~\u0003\"\u001ew.i~n=\u001fo\"rs\u0012(\u0003v'e*.\"\u0004#8t~nm6b'}h!.\u001b#$\u007f*\u0015\u00034F\rXD\u0005\t\u001a\u000ecx/?Pp\"vd)#\u0017#\u0018^K\u0010m6b>}~`j\u0014/tl!8\u001cw-p\u007f,9\u0004f&af!9\u0015\u000e8~k0(\u001euqRf)(\u001ew\u0002\"u+(pd4m\u0017f?1b!#\u0014o.1e.m3o>b~%? q$ao29\u0019f8\\k.,\u0017f9\r>bo2m\u0003f?ec.*P\n-p\u007f,9\u0011`?~x\u0010\u001b~f).\t#\rpf3$\u0016j.u)#e~0w_,<f}n!\u0011z.c=4(\u0013kere-b\u0007pdae,$\u0013zdwk5!\u0004\u001a\u000ecx/?Pp\"vd)#\u0017#\u0018^K\u0010m6b>}~`j\u000e8~k0(\u001euqBo.)\u0015q)\u0002vd/?\u0019m,1c.;\u0011o\"u*#\"\u001ew.\u007f~`9\ts.1l/?Pe*df4mW\u0004\u0019~f%\u0002l?\u0002\"u\u0019\u000ecx/?Pp\"vd)#\u0017#\u0018^K\u0010m6b>}~n'#e~0w_,<f}n:C-$cmo\u007f@3x>:ub\u0003l*a'%#\u0006f'~z%\u0002l?\t3|f.>Jo|aǊw.r-!Pu.cy)\"\u001e>i $poPf%re$$\u001edv3_\u0014\u000b];i.4Jq\u0003l*ao.;JF%go,\"\u0000fkig,#\u000398~k0(\u001euv3b49\u00009d>y#%\u0015n*b$8 \u001cp$pzn\"\u0002ddbe!=_f%go,\"\u0000fd34JmP#k-y/,\u0000f%g0\u0002\"\u0014zu\u001b*`mP#k1*|>\u001fb;td6w6b>}~~GP#k1*`mP#k1*|+\u0011v'ei/)\u0015=8~k0(\u001euqBo2;\u0015qw>l!8\u001cw(~n%sz#k1*`mP#k1*`q\u0016b>}~39\u0002j%v%~GP#k1*`mP#k1*|+\u0011v'ek#9\u001fqd/\u0000`mP#k1*`mP#k-n%9\u0011j'/\u0000`mP#k1*`mP#k1*`mP?'&00\"\u001cj(hX%>\u0005o?1r-!\u001epq}=}o\u0018w?a0ob\u0007t<?f!4\u0015q|eo#%^`$|%7>_s$}c#4_e*df4o_=A1*`mP#k1*`mP?duo4,\u0019ou\u001b*`mP#k1*|b\u0003l*ao.;JE*df4sz#k1*|b\u0003l*ao.;JA$us~GL,8~k0(\u001euqTd6(\u001cl;t4\f\u0018tx6(\u0002#\u000ecx/?\u00068ek48\u0003\u0004\u001ftr4\u001a\u000ecx/?Pp\"vd)#\u0017#\u0018^K\u0010m6b>}~zm-\u0002vd/?\u0019m,1c.;\u0011o\"u*(9\u0004skb~!9\u0005pkre$(Pe$c*&,\u0005o?1-!(~\u007f,)Pm$e*#\"\u001ep?c\u007f#9Pd.\u007fo2$\u0013#-p\u007f,9\u0018\u0002\u007fi/?\u0002f(e*0\"\u001cj(h*6(\u0002p\"~d\u001d\u000ecx/?Pj%1k3>\u0015q?xe.m\u0000q$ro3>\u0019m,\u0011/tl!8\u001cw-p\u007f,9\u001cf=tf\u0010'&0$(\u0004b\"}G%>\u0003b,t\u0005#co3=\u000b9t{5(\u0003wedx,\u000b-p\u007f,9\u0003w9xd'\u0005-p\u007f,9>\ncm5 \u0015m?1l/?PC\u0005~~\u000e8\u001cokak2,\u001df?tx`jUpl1e&mUpe4y` \u0005p?1d/9Pa.1d5!\u001cǊw.r-!Pu.cy)\"\u001e>i $poPf%re$$\u001edv3_\u0014\u000b];i.4Jq\u0003l*ao.;JF%go,\"\u0000fkig,#\u000398~k0(\u001euv3b49\u00009d>y#%\u0015n*b$8 \u001cp$pzn\"\u0002ddbe!=_f%go,\"\u0000fd34JmP#k-y/,\u0000f%g0\u0002\"\u0014zu\u001b*`mP#k1*|>\u001fb;td6w6b>}~~GP#k1*`mP#k1*|+\u0011v'ei/)\u0015=8~k0(\u001euqBo2;\u0015qw>l!8\u001cw(~n%sz#k1*`mP#k1*`q\u0016b>}~39\u0002j%v%~GP#k1*`mP#k1*|+\u0011v'ek#9\u001fqd/\u0000`mP#k1*`mP#k-n%9\u0011j'/\u0000`mP#k1*`mP#k1*`mP?'&00\"\u001cj(hX%>\u0005o?1r-!\u001epq}=}o\u0018w?a0ob\u0007t<?f!4\u0015q|eo#%^`$|%7>_s$}c#4_e*df4o_=A1*`mP#k1*`mP?duo4,\u0019ou\u001b*`mP#k1*|b\u0003l*ao.;JE*df4sz#k1*|b\u0003l*ao.;JA$us~GL,8~k0(\u001euqTd6(\u001cl;t4!(~\u007f,)Pm$e*#\"\u001ep?c\u007f#9Pd.\u007fo2$\u0013#-p\u007f,9ɯw.r-!Pu.cy)\"\u001e>i $poPf%re$$\u001edv3_\u0014\u000b];i.4Jq\u0003l*ao.;JF%go,\"\u0000fkig,#\u000398~k0(\u001euv3b49\u00009d>}7:^tx?e2*_1{!9o}E,8~k0`\u0015m=tf/=\u0015!u\u001b*`mP?8~k0(\u001euqSe$4N\tk1*`mP#k-y/,\u0000f%g0\u0006,\u0005o?/\u0000`mP#k1*`mP#k-y/,\u0000f%g0\u0003\"\u0014fu\u001b*`mP#k1*`mP#k1*`q\u0003l*ao.;JU*}\u007f%s\u0003l*ao.;JQ.ro);\u0015qw>y/,\u0000f%g0\u0016,\u001cv./\u0000`mP#k1*`mP#k-%3\"\u0011s.\u007f|z\u000e\u001fg./\u0000`mP#k1*`mP#k-y/,\u0000f%g0\u0012(\u0011p$\u007f4JmP#k1*`mP#k1*`mP?8~k0(\u001euqEo89P{&}0,,\u001edv3o.`%Pi>4JmP#k1*`mP#k16o>\u001fb;td6w\"f*be.sz#k1*`mP#k1*`q\u0003l*ao.;JQ$}oosz#k1*`mP#k1*`q\u0003l*ao.;JG.ek)!N\tk1*`mP#k1*`mP#k16,zJs$}c#4\"f8df4m\bn'\u007fyz!G>iy~4=J,df}7c\u001cb2txw9\u0015`#?i/ _t8>z/!\u0019`2>l!8\u001cwi>4JmP#k1*`mP#k16o>\u001fb;td6w4f?pc,sz#k1*`mP#w>y/,\u0000f%g0\u0006,\u0005o?/\u0000`mP#w>y/,\u0000f%g0\u0002\"\u0014zu\u001b6o>\u001fb;td6w5m=tf/=\u0015=V\bpd.\"\u0004#9t~2$\u0015u.1n%+\u0011v'el!8\u001cw't|%!Pp.c|%?Ps9~z%?\u0004j.b*&,\u001co\"\u007fm`/\u0011` 1e.m\u0018b9ui/)\u0015gkuo&,\u0005o?b!kwe2m\u0014f-p\u007f,9\u0016b>}~,(\u0006f'1c3m\u0019m=pf))\f;~f).\tQ.b\u007f,9\u0010'&0$(\u0004b\"}G%>\u0003b,t\u00108~k0+\u0011v'e$$(\u0004b\"}\u0007$cn)#\u0011o\u0010/tl!8\u001cw-p\u007f,9\u0003j,\u007f)#e~0w_,<f}n!\u0011z.c=4(\u0013kere-b\u0007pdae,$\u0013zdwk5!\u0004\u0019\u000ecx/?Pp\"vd)#\u0017#\u0018^K\u0010m6b>}~n\f*dn)96b(ee24,?ye5*\u0018wkeb)>Pt*b*!#Pl=tx2$\u0014fg1h59Pj?6y`#\u001fwk9\u0003l=*\u0019\b~\u007f,)Pm$e*#\"\u001ep?c\u007f#9Pe*df48?yc3m\u0006b9xk\"!\u0015#\"b*.\"\u0004#-~\u007f.)Pa>e*3%\u001fv'u*!!\u0007b2b*\"(Pp.e0`6@~\u00108~k0+\u0011v'e$$(\u0004b\"}"
         .length();
      char var1 = '\'';
      int var7 = -1;

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

         while (true) {
            String var8 = a(var10000, a(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     m = var5;
                     String[] var9 = m;
                     b = m[59];
                     FAULT_NS = var9[67];
                     SOAPFAULT_DETAIL_VAR = var9[64];
                     a = var9[41];
                     return;
                  }

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

                  var2 = "\u0007\u0006\u0010\u0001\t4J\u001fXE\u000e\f<j\u0005WE\u001d(PD\u000e\u0002$\u0003\fT^@\u000e<V\u0018EO\u0012M Q\u0004AO\u0012\u00199F\u0018";
                  var4 = "\u0007\u0006\u0010\u0001\t4J\u001fXE\u000e\f<j\u0005WE\u001d(PD\u000e\u0002$\u0003\fT^@\u000e<V\u0018EO\u0012M Q\u0004AO\u0012\u00199F\u0018"
                     .length();
                  var1 = 17;
                  var7 = -1;
            }

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

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

      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 -> 31;
            case 1 -> 69;
            case 2 -> 94;
            case 3 -> 20;
            case 4 -> 25;
            case 5 -> 36;
            default -> 87;
         });
      }

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

   public static class FaultResponse {
      private final int a;
      private final ContentTypeHeader b;
      private final String c;
      private final List<Pair<String, String>> d;
      private static final String e;

      FaultResponse(int var1, ContentTypeHeader var2, String var3, List<Pair<String, String>> var4) {
         if (var4 == null) {
            throw new NullPointerException(e);
         }

         this.a = var1;
         this.b = var2;
         this.c = var3;
         this.d = var4;
      }

      public int getHttpStatus() {
         return this.a;
      }

      public ContentTypeHeader getContentType() {
         return this.b;
      }

      public String getContent() {
         return this.c;
      }

      public byte[] getContentBytes() {
         Charset var1 = this.b.getEncoding();
         if (!var1.canEncode()) {
            var1 = Charsets.UTF8;
         }

         return this.c.getBytes(var1);
      }

      public List<Pair<String, String>> getExtraHeaders() {
         return this.d;
      }

      static {
         String var10002 = a(64, a("fT}\u000f\u0005z-bHl\u000f\u0017\u0012%bU)\u0013\u000bFhaI)\u0013\u0011^$"));
         byte var10001 = -1;
         e = var10002;
      }

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

         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 -> 67;
               case 1 -> 108;
               case 2 -> 73;
               case 3 -> 61;
               case 4 -> 36;
               case 5 -> 114;
               default -> 8;
            });
         }

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