package com.l7tech.server.policy.assertion;

import com.l7tech.common.mime.ContentTypeHeader;
import com.l7tech.common.mime.NoSuchPartException;
import com.l7tech.common.mime.PartInfo;
import com.l7tech.gateway.common.audit.AssertionMessages;
import com.l7tech.gateway.common.audit.Messages.M;
import com.l7tech.policy.assertion.AssertionStatus;
import com.l7tech.policy.assertion.PolicyAssertionException;
import com.l7tech.policy.assertion.RequestSwAAssertion;
import com.l7tech.security.token.SignedPart;
import com.l7tech.security.xml.processor.ProcessorResult;
import com.l7tech.server.message.PolicyEnforcementContext;
import com.l7tech.util.ExceptionUtils;
import com.l7tech.util.InvalidDocumentFormatException;
import com.l7tech.wsdl.BindingOperationInfo;
import com.l7tech.wsdl.MimePartInfo;
import com.l7tech.xml.soap.SoapUtil;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.jaxen.JaxenException;
import org.jaxen.dom.DOMXPath;
import org.w3c.dom.Attr;
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 ServerRequestSwAAssertion extends AbstractServerAssertion<RequestSwAAssertion> {
   private static final long d = 1024L;
   private static final String[] e;

   public ServerRequestSwAAssertion(RequestSwAAssertion var1) {
      super(var1);
   }

   @Override
   public AssertionStatus checkRequest(PolicyEnforcementContext var1) throws IOException, PolicyAssertionException {
      label44: {
         SAXException var2;
         try {
            try {
               if (!var1.getRequest().isSoap()) {
                  this.logAndAudit(AssertionMessages.SWA_NOT_SOAP);
                  return AssertionStatus.NOT_APPLICABLE;
               }
               break label44;
            } catch (SAXException var10) {
               var2 = var10;
            }
         } catch (IOException var11) {
            throw a(var11);
         }

         this.logAndAudit(AssertionMessages.SWA_INVALID_XML, ExceptionUtils.getMessage(var2));
         return AssertionStatus.BAD_REQUEST;
      }

      try {
         if (!var1.getRequest().getMimeKnob().isMultipart()) {
            this.logAndAudit(AssertionMessages.SWA_NOT_MULTIPART);
            return AssertionStatus.FALSIFIED;
         }
      } catch (SAXException var9) {
         throw a(var9);
      }

      try {
         Document var12 = var1.getRequest().getXmlKnob().getDocumentReadOnly();
         this.a(var1, var12);
      } catch (SAXException var4) {
         M var18 = AssertionMessages.EXCEPTION_WARNING_WITH_MORE_INFO;
         String[] var21 = new String[1];
         String[] var15 = e;
         var21[0] = var15[33];
         this.logAndAudit(var18, var21, var4);
         return AssertionStatus.SERVER_ERROR;
      } catch (IOException var5) {
         M var17 = AssertionMessages.EXCEPTION_WARNING_WITH_MORE_INFO;
         String[] var20 = new String[1];
         String[] var14 = e;
         var20[0] = var14[26];
         this.logAndAudit(var17, var20, var5);
         return AssertionStatus.SERVER_ERROR;
      } catch (JaxenException var6) {
         M var16 = AssertionMessages.EXCEPTION_WARNING_WITH_MORE_INFO;
         String[] var19 = new String[1];
         String[] var13 = e;
         var19[0] = var13[26];
         this.logAndAudit(var16, var19, var6);
         return AssertionStatus.SERVER_ERROR;
      } catch (NoSuchPartException var7) {
         M var10001 = AssertionMessages.EXCEPTION_INFO_WITH_MORE_INFO;
         String[] var10002 = new String[1];
         String var10005 = var7.getWhatWasMissing();
         String[] var3 = e;
         var10002[0] = var3[1] + var10005 + var3[29];
         this.logAndAudit(var10001, var10002, var7);
         return AssertionStatus.FALSIFIED;
      } catch (ServerRequestSwAAssertion.AttachmentProcessingException var8) {
         this.logger.log(Level.INFO, e[23], var8.getMessage());
         return var8.getAssertionStatus();
      }

      return AssertionStatus.NONE;
   }

   private DOMXPath a(String var1) throws JaxenException {
      DOMXPath var2 = null;
      Map var3 = this.assertion.getNamespaceMap();
      if (var1 != null) {
         var2 = new DOMXPath(var1);
         if (var3 != null) {
            for (Entry var5 : var3.entrySet()) {
               String var6 = (String)var5.getKey();
               String var7 = (String)var5.getValue();
               var2.addNamespace(var6, var7);
            }
         }
      }

      return var2;
   }

   private void a(PolicyEnforcementContext param1, Document param2) throws JaxenException, IOException, NoSuchPartException, SAXException, ServerRequestSwAAssertion.AttachmentProcessingException {
      // $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/policy/assertion/ServerRequestSwAAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 004: checkcast com/l7tech/policy/assertion/RequestSwAAssertion
      // 007: invokevirtual com/l7tech/policy/assertion/RequestSwAAssertion.getBindings ()Ljava/util/Map;
      // 00a: astore 3
      // 00b: aload 3
      // 00c: invokeinterface java/util/Map.keySet ()Ljava/util/Set; 1
      // 011: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 016: astore 4
      // 018: aload 4
      // 01a: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 01f: ifeq 160
      // 022: aload 4
      // 024: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 029: checkcast java/lang/String
      // 02c: astore 5
      // 02e: aload 3
      // 02f: aload 5
      // 031: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 036: checkcast com/l7tech/wsdl/BindingInfo
      // 039: astore 6
      // 03b: aload 6
      // 03d: invokevirtual com/l7tech/wsdl/BindingInfo.getBindingOperations ()Ljava/util/Map;
      // 040: invokeinterface java/util/Map.keySet ()Ljava/util/Set; 1
      // 045: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 04a: astore 7
      // 04c: aload 7
      // 04e: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 053: ifeq 15d
      // 056: aload 7
      // 058: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 05d: checkcast java/lang/String
      // 060: astore 8
      // 062: aload 6
      // 064: invokevirtual com/l7tech/wsdl/BindingInfo.getBindingOperations ()Ljava/util/Map;
      // 067: aload 8
      // 069: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 06e: checkcast com/l7tech/wsdl/BindingOperationInfo
      // 071: astore 9
      // 073: aload 0
      // 074: aload 9
      // 076: invokevirtual com/l7tech/wsdl/BindingOperationInfo.getXpath ()Ljava/lang/String;
      // 079: invokevirtual com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Ljava/lang/String;)Lorg/jaxen/dom/DOMXPath;
      // 07c: astore 10
      // 07e: aload 10
      // 080: aload 2
      // 081: invokevirtual org/jaxen/dom/DOMXPath.selectNodes (Ljava/lang/Object;)Ljava/util/List;
      // 084: astore 11
      // 086: aload 11
      // 088: ifnull 09c
      // 08b: aload 11
      // 08d: invokeinterface java/util/List.size ()I 1
      // 092: ifne 0b6
      // 095: goto 09c
      // 098: invokestatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 09b: athrow
      // 09c: aload 0
      // 09d: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SWA_OPERATION_NOT_FOUND Lcom/l7tech/gateway/common/audit/Messages$M;
      // 0a0: bipush 1
      // 0a1: anewarray 231
      // 0a4: dup
      // 0a5: bipush 0
      // 0a6: aload 9
      // 0a8: invokevirtual com/l7tech/wsdl/BindingOperationInfo.getXpath ()Ljava/lang/String;
      // 0ab: aastore
      // 0ac: invokevirtual com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 0af: goto 04c
      // 0b2: invokestatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0b5: athrow
      // 0b6: aload 11
      // 0b8: invokeinterface java/util/List.size ()I 1
      // 0bd: bipush 1
      // 0be: if_icmple 0e8
      // 0c1: aload 0
      // 0c2: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SWA_REPEATED_OPERATION Lcom/l7tech/gateway/common/audit/Messages$M;
      // 0c5: bipush 1
      // 0c6: anewarray 231
      // 0c9: dup
      // 0ca: bipush 0
      // 0cb: aload 9
      // 0cd: invokevirtual com/l7tech/wsdl/BindingOperationInfo.getXpath ()Ljava/lang/String;
      // 0d0: aastore
      // 0d1: invokevirtual com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 0d4: new com/l7tech/server/policy/assertion/ServerRequestSwAAssertion$AttachmentProcessingException
      // 0d7: dup
      // 0d8: getstatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.e [Ljava/lang/String;
      // 0db: bipush 2
      // 0dc: aaload
      // 0dd: getstatic com/l7tech/policy/assertion/AssertionStatus.FALSIFIED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 0e0: invokespecial com/l7tech/server/policy/assertion/ServerRequestSwAAssertion$AttachmentProcessingException.<init> (Ljava/lang/String;Lcom/l7tech/policy/assertion/AssertionStatus;)V
      // 0e3: athrow
      // 0e4: invokestatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0e7: athrow
      // 0e8: aload 11
      // 0ea: bipush 0
      // 0eb: invokeinterface java/util/List.get (I)Ljava/lang/Object; 2
      // 0f0: astore 12
      // 0f2: aload 12
      // 0f4: instanceof org/w3c/dom/Node
      // 0f7: ifne 10c
      // 0fa: new java/lang/RuntimeException
      // 0fd: dup
      // 0fe: getstatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.e [Ljava/lang/String;
      // 101: bipush 17
      // 103: aaload
      // 104: invokespecial java/lang/RuntimeException.<init> (Ljava/lang/String;)V
      // 107: athrow
      // 108: invokestatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 10b: athrow
      // 10c: aload 12
      // 10e: checkcast org/w3c/dom/Node
      // 111: astore 13
      // 113: aload 13
      // 115: invokeinterface org/w3c/dom/Node.getNodeType ()S 1
      // 11a: istore 14
      // 11c: iload 14
      // 11e: bipush 1
      // 11f: if_icmpeq 154
      // 122: aload 0
      // 123: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SWA_OPERATION_NOT_ELEMENT_NODE Lcom/l7tech/gateway/common/audit/Messages$M;
      // 126: bipush 2
      // 127: anewarray 231
      // 12a: dup
      // 12b: bipush 0
      // 12c: aload 9
      // 12e: invokevirtual com/l7tech/wsdl/BindingOperationInfo.getXpath ()Ljava/lang/String;
      // 131: aastore
      // 132: dup
      // 133: bipush 1
      // 134: aload 13
      // 136: invokeinterface org/w3c/dom/Node.toString ()Ljava/lang/String; 1
      // 13b: aastore
      // 13c: invokevirtual com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 13f: new com/l7tech/server/policy/assertion/ServerRequestSwAAssertion$AttachmentProcessingException
      // 142: dup
      // 143: getstatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.e [Ljava/lang/String;
      // 146: bipush 21
      // 148: aaload
      // 149: getstatic com/l7tech/policy/assertion/AssertionStatus.FAILED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 14c: invokespecial com/l7tech/server/policy/assertion/ServerRequestSwAAssertion$AttachmentProcessingException.<init> (Ljava/lang/String;Lcom/l7tech/policy/assertion/AssertionStatus;)V
      // 14f: athrow
      // 150: invokestatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 153: athrow
      // 154: aload 0
      // 155: aload 1
      // 156: aload 2
      // 157: aload 9
      // 159: invokevirtual com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Lcom/l7tech/server/message/PolicyEnforcementContext;Lorg/w3c/dom/Document;Lcom/l7tech/wsdl/BindingOperationInfo;)V
      // 15c: return
      // 15d: goto 018
      // 160: aload 0
      // 161: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SWA_INVALID_OPERATION Lcom/l7tech/gateway/common/audit/Messages$M;
      // 164: invokevirtual com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;)V
      // 167: new com/l7tech/server/policy/assertion/ServerRequestSwAAssertion$AttachmentProcessingException
      // 16a: dup
      // 16b: getstatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.e [Ljava/lang/String;
      // 16e: bipush 22
      // 170: aaload
      // 171: getstatic com/l7tech/policy/assertion/AssertionStatus.FALSIFIED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 174: invokespecial com/l7tech/server/policy/assertion/ServerRequestSwAAssertion$AttachmentProcessingException.<init> (Ljava/lang/String;Lcom/l7tech/policy/assertion/AssertionStatus;)V
      // 177: athrow
      // try (48 -> 53): 54 org/jaxen/JaxenException
      // try (50 -> 67): 67 org/jaxen/JaxenException
      // try (69 -> 91): 91 org/jaxen/JaxenException
      // try (97 -> 107): 107 org/jaxen/JaxenException
      // try (115 -> 141): 141 org/jaxen/JaxenException
   }

   private void a(PolicyEnforcementContext param1, Document param2, BindingOperationInfo param3) throws JaxenException, IOException, NoSuchPartException, SAXException, ServerRequestSwAAssertion.AttachmentProcessingException {
      // $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: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SWA_OPERATION_FOUND Lcom/l7tech/gateway/common/audit/Messages$M;
      // 004: bipush 1
      // 005: anewarray 231
      // 008: dup
      // 009: bipush 0
      // 00a: aload 3
      // 00b: invokevirtual com/l7tech/wsdl/BindingOperationInfo.getName ()Ljava/lang/String;
      // 00e: aastore
      // 00f: invokevirtual com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 012: aconst_null
      // 013: astore 4
      // 015: aload 3
      // 016: invokevirtual com/l7tech/wsdl/BindingOperationInfo.getMultipart ()Ljava/util/Map;
      // 019: invokeinterface java/util/Map.keySet ()Ljava/util/Set; 1
      // 01e: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 023: astore 5
      // 025: aload 5
      // 027: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 02c: ifeq 069
      // 02f: aload 5
      // 031: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 036: checkcast java/lang/String
      // 039: astore 6
      // 03b: aload 3
      // 03c: invokevirtual com/l7tech/wsdl/BindingOperationInfo.getMultipart ()Ljava/util/Map;
      // 03f: aload 6
      // 041: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 046: checkcast com/l7tech/wsdl/MimePartInfo
      // 049: astore 7
      // 04b: aload 7
      // 04d: invokevirtual com/l7tech/wsdl/MimePartInfo.isRequireSignature ()Z
      // 050: ifeq 066
      // 053: aload 1
      // 054: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getRequest ()Lcom/l7tech/message/Message; 1
      // 059: invokevirtual com/l7tech/message/Message.getSecurityKnob ()Lcom/l7tech/message/SecurityKnob;
      // 05c: invokeinterface com/l7tech/message/SecurityKnob.getProcessorResult ()Lcom/l7tech/security/xml/processor/ProcessorResult; 1
      // 061: astore 4
      // 063: goto 069
      // 066: goto 025
      // 069: aload 3
      // 06a: invokevirtual com/l7tech/wsdl/BindingOperationInfo.getMultipart ()Ljava/util/Map;
      // 06d: invokeinterface java/util/Map.keySet ()Ljava/util/Set; 1
      // 072: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 077: astore 5
      // 079: aload 5
      // 07b: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 080: ifeq 25e
      // 083: aload 5
      // 085: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 08a: checkcast java/lang/String
      // 08d: astore 6
      // 08f: aload 3
      // 090: invokevirtual com/l7tech/wsdl/BindingOperationInfo.getMultipart ()Ljava/util/Map;
      // 093: aload 6
      // 095: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 09a: checkcast com/l7tech/wsdl/MimePartInfo
      // 09d: astore 7
      // 09f: invokestatic com/l7tech/util/Option.none ()Lcom/l7tech/util/Option;
      // 0a2: astore 8
      // 0a4: aload 0
      // 0a5: aload 3
      // 0a6: invokevirtual com/l7tech/wsdl/BindingOperationInfo.getXpath ()Ljava/lang/String;
      // 0a9: aload 7
      // 0ab: invokevirtual com/l7tech/wsdl/MimePartInfo.getName ()Ljava/lang/String;
      // 0ae: 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" ]
      // 0b3: invokevirtual com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Ljava/lang/String;)Lorg/jaxen/dom/DOMXPath;
      // 0b6: invokestatic com/l7tech/util/Option.optional (Ljava/lang/Object;)Lcom/l7tech/util/Option;
      // 0b9: astore 8
      // 0bb: goto 0c0
      // 0be: astore 9
      // 0c0: aload 8
      // 0c2: invokevirtual com/l7tech/util/Option.isSome ()Z
      // 0c5: ifeq 0db
      // 0c8: aload 8
      // 0ca: invokevirtual com/l7tech/util/Option.some ()Ljava/lang/Object;
      // 0cd: checkcast org/jaxen/dom/DOMXPath
      // 0d0: aload 2
      // 0d1: invokevirtual org/jaxen/dom/DOMXPath.selectNodes (Ljava/lang/Object;)Ljava/util/List;
      // 0d4: goto 0dc
      // 0d7: invokestatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0da: athrow
      // 0db: aconst_null
      // 0dc: astore 9
      // 0de: aload 9
      // 0e0: ifnull 0f4
      // 0e3: aload 9
      // 0e5: invokeinterface java/util/List.size ()I 1
      // 0ea: ifne 12e
      // 0ed: goto 0f4
      // 0f0: invokestatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0f3: athrow
      // 0f4: aload 0
      // 0f5: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SWA_PART_NOT_FOUND Lcom/l7tech/gateway/common/audit/Messages$M;
      // 0f8: bipush 2
      // 0f9: anewarray 231
      // 0fc: dup
      // 0fd: bipush 0
      // 0fe: aload 3
      // 0ff: invokevirtual com/l7tech/wsdl/BindingOperationInfo.getXpath ()Ljava/lang/String;
      // 102: aastore
      // 103: dup
      // 104: bipush 1
      // 105: aload 7
      // 107: invokevirtual com/l7tech/wsdl/MimePartInfo.getName ()Ljava/lang/String;
      // 10a: aastore
      // 10b: invokevirtual com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 10e: new com/l7tech/server/policy/assertion/ServerRequestSwAAssertion$AttachmentProcessingException
      // 111: dup
      // 112: aload 7
      // 114: invokevirtual com/l7tech/wsdl/MimePartInfo.getName ()Ljava/lang/String;
      // 117: getstatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.e [Ljava/lang/String;
      // 11a: bipush 24
      // 11c: aaload
      // 11d: swap
      // 11e: 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" ]
      // 123: getstatic com/l7tech/policy/assertion/AssertionStatus.FALSIFIED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 126: invokespecial com/l7tech/server/policy/assertion/ServerRequestSwAAssertion$AttachmentProcessingException.<init> (Ljava/lang/String;Lcom/l7tech/policy/assertion/AssertionStatus;)V
      // 129: athrow
      // 12a: invokestatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 12d: athrow
      // 12e: aload 9
      // 130: invokeinterface java/util/List.size ()I 1
      // 135: bipush 1
      // 136: if_icmple 172
      // 139: aload 0
      // 13a: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SWA_REPEATED_MIME_PART Lcom/l7tech/gateway/common/audit/Messages$M;
      // 13d: bipush 2
      // 13e: anewarray 231
      // 141: dup
      // 142: bipush 0
      // 143: aload 3
      // 144: invokevirtual com/l7tech/wsdl/BindingOperationInfo.getXpath ()Ljava/lang/String;
      // 147: aastore
      // 148: dup
      // 149: bipush 1
      // 14a: aload 7
      // 14c: invokevirtual com/l7tech/wsdl/MimePartInfo.getName ()Ljava/lang/String;
      // 14f: aastore
      // 150: invokevirtual com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 153: new com/l7tech/server/policy/assertion/ServerRequestSwAAssertion$AttachmentProcessingException
      // 156: dup
      // 157: aload 7
      // 159: invokevirtual com/l7tech/wsdl/MimePartInfo.getName ()Ljava/lang/String;
      // 15c: getstatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.e [Ljava/lang/String;
      // 15f: bipush 5
      // 160: aaload
      // 161: swap
      // 162: 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" ]
      // 167: getstatic com/l7tech/policy/assertion/AssertionStatus.FALSIFIED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 16a: invokespecial com/l7tech/server/policy/assertion/ServerRequestSwAAssertion$AttachmentProcessingException.<init> (Ljava/lang/String;Lcom/l7tech/policy/assertion/AssertionStatus;)V
      // 16d: athrow
      // 16e: invokestatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 171: athrow
      // 172: aload 9
      // 174: bipush 0
      // 175: invokeinterface java/util/List.get (I)Ljava/lang/Object; 2
      // 17a: astore 10
      // 17c: aload 10
      // 17e: instanceof org/w3c/dom/Node
      // 181: ifne 196
      // 184: new java/lang/RuntimeException
      // 187: dup
      // 188: getstatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.e [Ljava/lang/String;
      // 18b: bipush 18
      // 18d: aaload
      // 18e: invokespecial java/lang/RuntimeException.<init> (Ljava/lang/String;)V
      // 191: athrow
      // 192: invokestatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 195: athrow
      // 196: aload 10
      // 198: checkcast org/w3c/dom/Node
      // 19b: astore 11
      // 19d: aload 11
      // 19f: invokeinterface org/w3c/dom/Node.getNodeType ()S 1
      // 1a4: istore 12
      // 1a6: iload 12
      // 1a8: bipush 1
      // 1a9: if_icmpeq 1f0
      // 1ac: aload 0
      // 1ad: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SWA_PARAMETER_NOT_ELEMENT_NODE Lcom/l7tech/gateway/common/audit/Messages$M;
      // 1b0: bipush 3
      // 1b1: anewarray 231
      // 1b4: dup
      // 1b5: bipush 0
      // 1b6: aload 3
      // 1b7: invokevirtual com/l7tech/wsdl/BindingOperationInfo.getXpath ()Ljava/lang/String;
      // 1ba: aastore
      // 1bb: dup
      // 1bc: bipush 1
      // 1bd: aload 7
      // 1bf: invokevirtual com/l7tech/wsdl/MimePartInfo.getName ()Ljava/lang/String;
      // 1c2: aastore
      // 1c3: dup
      // 1c4: bipush 2
      // 1c5: aload 11
      // 1c7: invokeinterface org/w3c/dom/Node.toString ()Ljava/lang/String; 1
      // 1cc: aastore
      // 1cd: invokevirtual com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 1d0: new com/l7tech/server/policy/assertion/ServerRequestSwAAssertion$AttachmentProcessingException
      // 1d3: dup
      // 1d4: aload 7
      // 1d6: invokevirtual com/l7tech/wsdl/MimePartInfo.getName ()Ljava/lang/String;
      // 1d9: getstatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.e [Ljava/lang/String;
      // 1dc: bipush 7
      // 1de: aaload
      // 1df: swap
      // 1e0: 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" ]
      // 1e5: getstatic com/l7tech/policy/assertion/AssertionStatus.FAILED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 1e8: invokespecial com/l7tech/server/policy/assertion/ServerRequestSwAAssertion$AttachmentProcessingException.<init> (Ljava/lang/String;Lcom/l7tech/policy/assertion/AssertionStatus;)V
      // 1eb: athrow
      // 1ec: invokestatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1ef: athrow
      // 1f0: aload 0
      // 1f1: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SWA_PARAMETER_FOUND Lcom/l7tech/gateway/common/audit/Messages$M;
      // 1f4: bipush 1
      // 1f5: anewarray 231
      // 1f8: dup
      // 1f9: bipush 0
      // 1fa: aload 7
      // 1fc: invokevirtual com/l7tech/wsdl/MimePartInfo.getName ()Ljava/lang/String;
      // 1ff: aastore
      // 200: invokevirtual com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 203: aload 11
      // 205: checkcast org/w3c/dom/Element
      // 208: astore 13
      // 20a: aload 0
      // 20b: aload 13
      // 20d: invokevirtual com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Lorg/w3c/dom/Element;)Ljava/util/List;
      // 210: astore 14
      // 212: aload 14
      // 214: invokeinterface java/util/List.isEmpty ()Z 1
      // 219: ifeq 24f
      // 21c: aload 0
      // 21d: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SWA_REFERENCE_NOT_FOUND Lcom/l7tech/gateway/common/audit/Messages$M;
      // 220: bipush 1
      // 221: anewarray 231
      // 224: dup
      // 225: bipush 0
      // 226: aload 7
      // 228: invokevirtual com/l7tech/wsdl/MimePartInfo.getName ()Ljava/lang/String;
      // 22b: aastore
      // 22c: invokevirtual com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 22f: new com/l7tech/server/policy/assertion/ServerRequestSwAAssertion$AttachmentProcessingException
      // 232: dup
      // 233: aload 7
      // 235: invokevirtual com/l7tech/wsdl/MimePartInfo.getName ()Ljava/lang/String;
      // 238: getstatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.e [Ljava/lang/String;
      // 23b: bipush 16
      // 23d: aaload
      // 23e: swap
      // 23f: 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" ]
      // 244: getstatic com/l7tech/policy/assertion/AssertionStatus.FALSIFIED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 247: invokespecial com/l7tech/server/policy/assertion/ServerRequestSwAAssertion$AttachmentProcessingException.<init> (Ljava/lang/String;Lcom/l7tech/policy/assertion/AssertionStatus;)V
      // 24a: athrow
      // 24b: invokestatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 24e: athrow
      // 24f: aload 0
      // 250: aload 1
      // 251: aload 7
      // 253: aload 14
      // 255: aload 4
      // 257: invokevirtual com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Lcom/l7tech/server/message/PolicyEnforcementContext;Lcom/l7tech/wsdl/MimePartInfo;Ljava/util/List;Lcom/l7tech/security/xml/processor/ProcessorResult;)I
      // 25a: pop
      // 25b: goto 079
      // 25e: aload 0
      // 25f: aload 1
      // 260: aload 3
      // 261: invokevirtual com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Lcom/l7tech/server/message/PolicyEnforcementContext;Lcom/l7tech/wsdl/BindingOperationInfo;)V
      // 264: return
      // try (60 -> 69): 70 org/jaxen/JaxenException
      // try (71 -> 80): 80 org/jaxen/JaxenException
      // try (84 -> 89): 90 org/jaxen/JaxenException
      // try (86 -> 119): 119 org/jaxen/JaxenException
      // try (121 -> 152): 152 org/jaxen/JaxenException
      // try (158 -> 168): 168 org/jaxen/JaxenException
      // try (176 -> 211): 211 org/jaxen/JaxenException
      // try (230 -> 255): 255 org/jaxen/JaxenException
   }

   private int a(PolicyEnforcementContext param1, MimePartInfo param2, List<Attr> param3, ProcessorResult param4) throws JaxenException, IOException, NoSuchPartException, SAXException, ServerRequestSwAAssertion.AttachmentProcessingException {
      // $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: bipush 0
      // 001: istore 5
      // 003: aload 3
      // 004: invokeinterface java/util/List.iterator ()Ljava/util/Iterator; 1
      // 009: astore 6
      // 00b: aload 6
      // 00d: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 012: ifeq 28a
      // 015: aload 6
      // 017: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 01c: checkcast org/w3c/dom/Attr
      // 01f: astore 7
      // 021: aload 7
      // 023: invokeinterface org/w3c/dom/Attr.getValue ()Ljava/lang/String; 1
      // 028: astore 8
      // 02a: aload 0
      // 02b: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SWA_REFERENCE_FOUND Lcom/l7tech/gateway/common/audit/Messages$M;
      // 02e: bipush 2
      // 02f: anewarray 231
      // 032: dup
      // 033: bipush 0
      // 034: aload 2
      // 035: invokevirtual com/l7tech/wsdl/MimePartInfo.getName ()Ljava/lang/String;
      // 038: aastore
      // 039: dup
      // 03a: bipush 1
      // 03b: aload 8
      // 03d: aastore
      // 03e: invokevirtual com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 041: aload 8
      // 043: ldc ":"
      // 045: invokevirtual java/lang/String.indexOf (Ljava/lang/String;)I
      // 048: istore 9
      // 04a: iload 9
      // 04c: ifge 07c
      // 04f: aload 0
      // 050: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SWA_INVALID_CONTENT_ID_URL Lcom/l7tech/gateway/common/audit/Messages$M;
      // 053: bipush 1
      // 054: anewarray 231
      // 057: dup
      // 058: bipush 0
      // 059: aload 8
      // 05b: aastore
      // 05c: invokevirtual com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 05f: new com/l7tech/server/policy/assertion/ServerRequestSwAAssertion$AttachmentProcessingException
      // 062: dup
      // 063: aload 8
      // 065: getstatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.e [Ljava/lang/String;
      // 068: bipush 32
      // 06a: aaload
      // 06b: swap
      // 06c: 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" ]
      // 071: getstatic com/l7tech/policy/assertion/AssertionStatus.FALSIFIED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 074: invokespecial com/l7tech/server/policy/assertion/ServerRequestSwAAssertion$AttachmentProcessingException.<init> (Ljava/lang/String;Lcom/l7tech/policy/assertion/AssertionStatus;)V
      // 077: athrow
      // 078: invokestatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 07b: athrow
      // 07c: aload 8
      // 07e: bipush 0
      // 07f: iload 9
      // 081: invokevirtual java/lang/String.substring (II)Ljava/lang/String;
      // 084: astore 10
      // 086: aload 8
      // 088: iload 9
      // 08a: bipush 1
      // 08b: iadd
      // 08c: invokevirtual java/lang/String.substring (I)Ljava/lang/String;
      // 08f: astore 11
      // 091: getstatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.e [Ljava/lang/String;
      // 094: bipush 25
      // 096: aaload
      // 097: aload 10
      // 099: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 09c: ifne 0cc
      // 09f: aload 0
      // 0a0: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SWA_INVALID_CONTENT_ID_URL Lcom/l7tech/gateway/common/audit/Messages$M;
      // 0a3: bipush 1
      // 0a4: anewarray 231
      // 0a7: dup
      // 0a8: bipush 0
      // 0a9: aload 8
      // 0ab: aastore
      // 0ac: invokevirtual com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 0af: new com/l7tech/server/policy/assertion/ServerRequestSwAAssertion$AttachmentProcessingException
      // 0b2: dup
      // 0b3: aload 8
      // 0b5: getstatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.e [Ljava/lang/String;
      // 0b8: bipush 27
      // 0ba: aaload
      // 0bb: swap
      // 0bc: 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" ]
      // 0c1: getstatic com/l7tech/policy/assertion/AssertionStatus.FALSIFIED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 0c4: invokespecial com/l7tech/server/policy/assertion/ServerRequestSwAAssertion$AttachmentProcessingException.<init> (Ljava/lang/String;Lcom/l7tech/policy/assertion/AssertionStatus;)V
      // 0c7: athrow
      // 0c8: invokestatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0cb: athrow
      // 0cc: aload 1
      // 0cd: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getRequest ()Lcom/l7tech/message/Message; 1
      // 0d2: invokevirtual com/l7tech/message/Message.getMimeKnob ()Lcom/l7tech/message/MimeKnob;
      // 0d5: aload 11
      // 0d7: invokeinterface com/l7tech/message/MimeKnob.getPartByContentId (Ljava/lang/String;)Lcom/l7tech/common/mime/PartInfo; 2
      // 0dc: astore 12
      // 0de: aload 12
      // 0e0: ifnull 25d
      // 0e3: aload 2
      // 0e4: invokevirtual com/l7tech/wsdl/MimePartInfo.isRequireSignature ()Z
      // 0e7: ifeq 14a
      // 0ea: goto 0f1
      // 0ed: invokestatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0f0: athrow
      // 0f1: aload 4
      // 0f3: ifnull 114
      // 0f6: goto 0fd
      // 0f9: invokestatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0fc: athrow
      // 0fd: aload 0
      // 0fe: aload 12
      // 100: aload 4
      // 102: invokeinterface com/l7tech/security/xml/processor/ProcessorResult.getPartsThatWereSigned ()[Lcom/l7tech/security/token/SignedPart; 1
      // 107: invokevirtual com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Lcom/l7tech/common/mime/PartInfo;[Lcom/l7tech/security/token/SignedPart;)Z
      // 10a: ifne 14a
      // 10d: goto 114
      // 110: invokestatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 113: athrow
      // 114: aload 0
      // 115: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SWA_NOT_SIGNED Lcom/l7tech/gateway/common/audit/Messages$M;
      // 118: bipush 2
      // 119: anewarray 231
      // 11c: dup
      // 11d: bipush 0
      // 11e: aload 2
      // 11f: invokevirtual com/l7tech/wsdl/MimePartInfo.getName ()Ljava/lang/String;
      // 122: aastore
      // 123: dup
      // 124: bipush 1
      // 125: aload 8
      // 127: aastore
      // 128: invokevirtual com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 12b: new com/l7tech/server/policy/assertion/ServerRequestSwAAssertion$AttachmentProcessingException
      // 12e: dup
      // 12f: aload 2
      // 130: invokevirtual com/l7tech/wsdl/MimePartInfo.getName ()Ljava/lang/String;
      // 133: getstatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.e [Ljava/lang/String;
      // 136: bipush 9
      // 138: aaload
      // 139: swap
      // 13a: 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" ]
      // 13f: getstatic com/l7tech/policy/assertion/AssertionStatus.FALSIFIED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 142: invokespecial com/l7tech/server/policy/assertion/ServerRequestSwAAssertion$AttachmentProcessingException.<init> (Ljava/lang/String;Lcom/l7tech/policy/assertion/AssertionStatus;)V
      // 145: athrow
      // 146: invokestatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 149: athrow
      // 14a: aload 2
      // 14b: aload 12
      // 14d: invokeinterface com/l7tech/common/mime/PartInfo.getContentType ()Lcom/l7tech/common/mime/ContentTypeHeader; 1
      // 152: invokevirtual com/l7tech/wsdl/MimePartInfo.validateContentType (Lcom/l7tech/common/mime/ContentTypeHeader;)Z
      // 155: ifne 1bc
      // 158: aload 2
      // 159: invokevirtual com/l7tech/wsdl/MimePartInfo.getContentTypes ()[Ljava/lang/String;
      // 15c: arraylength
      // 15d: bipush 1
      // 15e: if_icmple 186
      // 161: goto 168
      // 164: invokestatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 167: athrow
      // 168: aload 0
      // 169: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SWA_NOT_IN_CONTENT_TYPES Lcom/l7tech/gateway/common/audit/Messages$M;
      // 16c: bipush 2
      // 16d: anewarray 231
      // 170: dup
      // 171: bipush 0
      // 172: aload 8
      // 174: aastore
      // 175: dup
      // 176: bipush 1
      // 177: aload 2
      // 178: invokevirtual com/l7tech/wsdl/MimePartInfo.retrieveAllContentTypes ()Ljava/lang/String;
      // 17b: aastore
      // 17c: invokevirtual com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 17f: goto 19d
      // 182: invokestatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 185: athrow
      // 186: aload 0
      // 187: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SWA_BAD_CONTENT_TYPE Lcom/l7tech/gateway/common/audit/Messages$M;
      // 18a: bipush 2
      // 18b: anewarray 231
      // 18e: dup
      // 18f: bipush 0
      // 190: aload 8
      // 192: aastore
      // 193: dup
      // 194: bipush 1
      // 195: aload 2
      // 196: invokevirtual com/l7tech/wsdl/MimePartInfo.retrieveAllContentTypes ()Ljava/lang/String;
      // 199: aastore
      // 19a: invokevirtual com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 19d: new com/l7tech/server/policy/assertion/ServerRequestSwAAssertion$AttachmentProcessingException
      // 1a0: dup
      // 1a1: aload 2
      // 1a2: invokevirtual com/l7tech/wsdl/MimePartInfo.getName ()Ljava/lang/String;
      // 1a5: getstatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.e [Ljava/lang/String;
      // 1a8: astore 13
      // 1aa: aload 13
      // 1ac: bipush 8
      // 1ae: aaload
      // 1af: swap
      // 1b0: 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" ]
      // 1b5: getstatic com/l7tech/policy/assertion/AssertionStatus.FALSIFIED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 1b8: invokespecial com/l7tech/server/policy/assertion/ServerRequestSwAAssertion$AttachmentProcessingException.<init> (Ljava/lang/String;Lcom/l7tech/policy/assertion/AssertionStatus;)V
      // 1bb: athrow
      // 1bc: iload 5
      // 1be: aload 12
      // 1c0: invokeinterface com/l7tech/common/mime/PartInfo.getActualContentLength ()J 1
      // 1c5: l2i
      // 1c6: iadd
      // 1c7: istore 5
      // 1c9: iload 5
      // 1cb: i2l
      // 1cc: aload 2
      // 1cd: invokevirtual com/l7tech/wsdl/MimePartInfo.getMaxLength ()I
      // 1d0: i2l
      // 1d1: ldc2_w 1024
      // 1d4: lmul
      // 1d5: lcmp
      // 1d6: ifle 252
      // 1d9: aload 3
      // 1da: invokeinterface java/util/List.size ()I 1
      // 1df: bipush 1
      // 1e0: if_icmple 219
      // 1e3: goto 1ea
      // 1e6: invokestatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1e9: athrow
      // 1ea: aload 0
      // 1eb: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SWA_TOTAL_LENGTH_LIMIT_EXCEEDED Lcom/l7tech/gateway/common/audit/Messages$M;
      // 1ee: bipush 3
      // 1ef: anewarray 231
      // 1f2: dup
      // 1f3: bipush 0
      // 1f4: aload 2
      // 1f5: invokevirtual com/l7tech/wsdl/MimePartInfo.getName ()Ljava/lang/String;
      // 1f8: aastore
      // 1f9: dup
      // 1fa: bipush 1
      // 1fb: aload 3
      // 1fc: invokeinterface java/util/List.size ()I 1
      // 201: invokestatic java/lang/String.valueOf (I)Ljava/lang/String;
      // 204: aastore
      // 205: dup
      // 206: bipush 2
      // 207: aload 2
      // 208: invokevirtual com/l7tech/wsdl/MimePartInfo.getMaxLength ()I
      // 20b: invokestatic java/lang/String.valueOf (I)Ljava/lang/String;
      // 20e: aastore
      // 20f: invokevirtual com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 212: goto 233
      // 215: invokestatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 218: athrow
      // 219: aload 0
      // 21a: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SWA_PART_LENGTH_LIMIT_EXCEEDED Lcom/l7tech/gateway/common/audit/Messages$M;
      // 21d: bipush 2
      // 21e: anewarray 231
      // 221: dup
      // 222: bipush 0
      // 223: aload 8
      // 225: aastore
      // 226: dup
      // 227: bipush 1
      // 228: aload 2
      // 229: invokevirtual com/l7tech/wsdl/MimePartInfo.getMaxLength ()I
      // 22c: invokestatic java/lang/String.valueOf (I)Ljava/lang/String;
      // 22f: aastore
      // 230: invokevirtual com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 233: new com/l7tech/server/policy/assertion/ServerRequestSwAAssertion$AttachmentProcessingException
      // 236: dup
      // 237: aload 2
      // 238: invokevirtual com/l7tech/wsdl/MimePartInfo.getName ()Ljava/lang/String;
      // 23b: getstatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.e [Ljava/lang/String;
      // 23e: astore 13
      // 240: aload 13
      // 242: bipush 20
      // 244: aaload
      // 245: swap
      // 246: 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" ]
      // 24b: getstatic com/l7tech/policy/assertion/AssertionStatus.FALSIFIED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 24e: invokespecial com/l7tech/server/policy/assertion/ServerRequestSwAAssertion$AttachmentProcessingException.<init> (Ljava/lang/String;Lcom/l7tech/policy/assertion/AssertionStatus;)V
      // 251: athrow
      // 252: aload 12
      // 254: bipush 1
      // 255: invokeinterface com/l7tech/common/mime/PartInfo.setValidated (Z)V 2
      // 25a: goto 287
      // 25d: aload 0
      // 25e: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SWA_NO_ATTACHMENT Lcom/l7tech/gateway/common/audit/Messages$M;
      // 261: bipush 1
      // 262: anewarray 231
      // 265: dup
      // 266: bipush 0
      // 267: aload 8
      // 269: aastore
      // 26a: invokevirtual com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 26d: new com/l7tech/server/policy/assertion/ServerRequestSwAAssertion$AttachmentProcessingException
      // 270: dup
      // 271: aload 2
      // 272: invokevirtual com/l7tech/wsdl/MimePartInfo.getName ()Ljava/lang/String;
      // 275: getstatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.e [Ljava/lang/String;
      // 278: bipush 0
      // 279: aaload
      // 27a: swap
      // 27b: 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" ]
      // 280: getstatic com/l7tech/policy/assertion/AssertionStatus.FALSIFIED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 283: invokespecial com/l7tech/server/policy/assertion/ServerRequestSwAAssertion$AttachmentProcessingException.<init> (Ljava/lang/String;Lcom/l7tech/policy/assertion/AssertionStatus;)V
      // 286: athrow
      // 287: goto 00b
      // 28a: iload 5
      // 28c: ireturn
      // try (33 -> 55): 55 org/jaxen/JaxenException
      // try (68 -> 94): 94 org/jaxen/JaxenException
      // try (102 -> 107): 108 org/jaxen/JaxenException
      // try (104 -> 112): 113 org/jaxen/JaxenException
      // try (110 -> 121): 122 org/jaxen/JaxenException
      // try (115 -> 150): 150 org/jaxen/JaxenException
      // try (152 -> 162): 163 org/jaxen/JaxenException
      // try (157 -> 180): 180 org/jaxen/JaxenException
      // try (216 -> 229): 230 org/jaxen/JaxenException
      // try (225 -> 255): 255 org/jaxen/JaxenException
   }

   private boolean a(PartInfo var1, SignedPart[] var2) {
      boolean var3 = false;
      String var4 = var1.getContentId(true);

      for (SignedPart var8 : var2) {
         PartInfo var9 = var8.getPartInfo();
         String var10 = var9.getContentId(true);

         try {
            if (var10 == null || !var10.equals(var4)) {
               continue;
            }
         } catch (RuntimeException var11) {
            throw a(var11);
         }

         var3 = true;
      }

      return var3;
   }

   private void a(PolicyEnforcementContext param1, BindingOperationInfo param2) throws JaxenException, IOException, NoSuchPartException, SAXException, ServerRequestSwAAssertion.AttachmentProcessingException {
      // $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/policy/assertion/ServerRequestSwAAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 004: checkcast com/l7tech/policy/assertion/RequestSwAAssertion
      // 007: invokevirtual com/l7tech/policy/assertion/RequestSwAAssertion.getUnboundAttachmentPolicy ()I
      // 00a: istore 3
      // 00b: aload 0
      // 00c: aload 2
      // 00d: invokevirtual com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Lcom/l7tech/wsdl/BindingOperationInfo;)Ljava/util/Map;
      // 010: astore 4
      // 012: new java/util/HashSet
      // 015: dup
      // 016: invokespecial java/util/HashSet.<init> ()V
      // 019: astore 5
      // 01b: aload 1
      // 01c: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getRequest ()Lcom/l7tech/message/Message; 1
      // 021: invokevirtual com/l7tech/message/Message.getMimeKnob ()Lcom/l7tech/message/MimeKnob;
      // 024: invokeinterface com/l7tech/message/MimeKnob.getParts ()Lcom/l7tech/common/mime/PartIterator; 1
      // 029: astore 6
      // 02b: aload 6
      // 02d: invokeinterface com/l7tech/common/mime/PartIterator.hasNext ()Z 1
      // 032: ifeq 163
      // 035: aload 6
      // 037: invokeinterface com/l7tech/common/mime/PartIterator.next ()Lcom/l7tech/common/mime/PartInfo; 1
      // 03c: astore 7
      // 03e: aload 7
      // 040: invokeinterface com/l7tech/common/mime/PartInfo.getPosition ()I 1
      // 045: ifne 04f
      // 048: goto 02b
      // 04b: invokestatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 04e: athrow
      // 04f: aload 7
      // 051: bipush 1
      // 052: invokeinterface com/l7tech/common/mime/PartInfo.getContentId (Z)Ljava/lang/String; 2
      // 057: astore 8
      // 059: aload 8
      // 05b: ifnull 06e
      // 05e: aload 8
      // 060: invokevirtual java/lang/String.length ()I
      // 063: bipush 1
      // 064: if_icmpge 087
      // 067: goto 06e
      // 06a: invokestatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 06d: athrow
      // 06e: aload 7
      // 070: invokeinterface com/l7tech/common/mime/PartInfo.getPosition ()I 1
      // 075: getstatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.e [Ljava/lang/String;
      // 078: astore 10
      // 07a: aload 10
      // 07c: bipush 28
      // 07e: aaload
      // 07f: swap
      // 080: invokedynamic makeConcatWithConstants (Ljava/lang/String;I)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" ]
      // 085: astore 8
      // 087: aload 7
      // 089: invokeinterface com/l7tech/common/mime/PartInfo.isValidated ()Z 1
      // 08e: ifne 160
      // 091: aload 0
      // 092: aload 7
      // 094: aload 4
      // 096: invokevirtual com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Lcom/l7tech/common/mime/PartInfo;Ljava/util/Map;)[J
      // 099: astore 9
      // 09b: aload 9
      // 09d: ifnull 0ee
      // 0a0: aload 0
      // 0a1: aload 7
      // 0a3: aload 9
      // 0a5: invokevirtual com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Lcom/l7tech/common/mime/PartInfo;[J)Z
      // 0a8: ifeq 0d1
      // 0ab: goto 0b2
      // 0ae: invokestatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0b1: athrow
      // 0b2: aload 0
      // 0b3: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SWA_EXTRA_ATTACHMENT Lcom/l7tech/gateway/common/audit/Messages$M;
      // 0b6: bipush 1
      // 0b7: anewarray 231
      // 0ba: dup
      // 0bb: bipush 0
      // 0bc: aload 8
      // 0be: aastore
      // 0bf: invokevirtual com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 0c2: aload 7
      // 0c4: bipush 1
      // 0c5: invokeinterface com/l7tech/common/mime/PartInfo.setValidated (Z)V 2
      // 0ca: goto 160
      // 0cd: invokestatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0d0: athrow
      // 0d1: new com/l7tech/server/policy/assertion/ServerRequestSwAAssertion$AttachmentProcessingException
      // 0d4: dup
      // 0d5: aload 8
      // 0d7: getstatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.e [Ljava/lang/String;
      // 0da: astore 10
      // 0dc: aload 10
      // 0de: bipush 10
      // 0e0: aaload
      // 0e1: swap
      // 0e2: 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" ]
      // 0e7: getstatic com/l7tech/policy/assertion/AssertionStatus.FALSIFIED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 0ea: invokespecial com/l7tech/server/policy/assertion/ServerRequestSwAAssertion$AttachmentProcessingException.<init> (Ljava/lang/String;Lcom/l7tech/policy/assertion/AssertionStatus;)V
      // 0ed: athrow
      // 0ee: iload 3
      // 0ef: bipush 2
      // 0f0: if_icmpne 112
      // 0f3: aload 0
      // 0f4: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SWA_EXTRA_ATTACHMENT Lcom/l7tech/gateway/common/audit/Messages$M;
      // 0f7: bipush 1
      // 0f8: anewarray 231
      // 0fb: dup
      // 0fc: bipush 0
      // 0fd: aload 8
      // 0ff: aastore
      // 100: invokevirtual com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 103: aload 7
      // 105: bipush 1
      // 106: invokeinterface com/l7tech/common/mime/PartInfo.setValidated (Z)V 2
      // 10b: goto 160
      // 10e: invokestatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 111: athrow
      // 112: iload 3
      // 113: bipush 1
      // 114: if_icmpne 138
      // 117: aload 0
      // 118: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SWA_EXTRA_ATTACHMENT_DROPPED Lcom/l7tech/gateway/common/audit/Messages$M;
      // 11b: bipush 1
      // 11c: anewarray 231
      // 11f: dup
      // 120: bipush 0
      // 121: aload 8
      // 123: aastore
      // 124: invokevirtual com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 127: aload 5
      // 129: aload 7
      // 12b: invokeinterface java/util/Set.add (Ljava/lang/Object;)Z 2
      // 130: pop
      // 131: goto 160
      // 134: invokestatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 137: athrow
      // 138: aload 0
      // 139: getstatic com/l7tech/gateway/common/audit/AssertionMessages.SWA_UNEXPECTED_ATTACHMENT Lcom/l7tech/gateway/common/audit/Messages$M;
      // 13c: bipush 1
      // 13d: anewarray 231
      // 140: dup
      // 141: bipush 0
      // 142: aload 8
      // 144: aastore
      // 145: invokevirtual com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 148: new com/l7tech/server/policy/assertion/ServerRequestSwAAssertion$AttachmentProcessingException
      // 14b: dup
      // 14c: aload 8
      // 14e: getstatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.e [Ljava/lang/String;
      // 151: bipush 4
      // 152: aaload
      // 153: swap
      // 154: 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" ]
      // 159: getstatic com/l7tech/policy/assertion/AssertionStatus.FALSIFIED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 15c: invokespecial com/l7tech/server/policy/assertion/ServerRequestSwAAssertion$AttachmentProcessingException.<init> (Ljava/lang/String;Lcom/l7tech/policy/assertion/AssertionStatus;)V
      // 15f: athrow
      // 160: goto 02b
      // 163: aload 5
      // 165: invokeinterface java/util/Set.isEmpty ()Z 1
      // 16a: ifne 17b
      // 16d: aload 0
      // 16e: aload 1
      // 16f: aload 5
      // 171: invokevirtual com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Lcom/l7tech/server/message/PolicyEnforcementContext;Ljava/util/Set;)V
      // 174: goto 17b
      // 177: invokestatic com/l7tech/server/policy/assertion/ServerRequestSwAAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 17a: athrow
      // 17b: return
      // try (24 -> 28): 28 org/jaxen/JaxenException
      // try (34 -> 40): 41 org/jaxen/JaxenException
      // try (61 -> 68): 69 org/jaxen/JaxenException
      // try (63 -> 84): 84 org/jaxen/JaxenException
      // try (99 -> 115): 115 org/jaxen/JaxenException
      // try (117 -> 134): 134 org/jaxen/JaxenException
      // try (157 -> 164): 165 org/jaxen/JaxenException
   }

   private void a(PolicyEnforcementContext var1, Set<PartInfo> var2) throws IOException, SAXException {
      var1.getRequest().getMimeKnob().setStreamValidatedPartsOnly();
      Document var3 = var1.getRequest().getXmlKnob().getDocumentWritable();

      try {
         Element var4 = SoapUtil.getBodyElement(var3);

         try {
            if (var4 == null) {
               throw new SAXException(e[3]);
            }
         } catch (InvalidDocumentFormatException var9) {
            throw a(var9);
         }

         for (PartInfo var6 : var2) {
            String var7 = var6.getContentId(true);

            try {
               if (var7 != null) {
                  this.a(var4, e[14] + var7);
               }
            } catch (InvalidDocumentFormatException var8) {
               throw a(var8);
            }
         }
      } catch (InvalidDocumentFormatException var10) {
         throw (SAXException)new SAXException(e[11]).initCause(var10);
      }
   }

   private Map<String, long[]> a(BindingOperationInfo var1) {
      HashMap var2 = new HashMap();
      Map var3 = var1.getExtraMultipart();

      for (Entry var5 : var3.entrySet()) {
         String var6 = (String)var5.getKey();
         MimePartInfo var7 = (MimePartInfo)var5.getValue();
         long var8 = var7.getMaxLength() * 1024L;
         var2.put(var6, new long[]{var8, var8});
      }

      return var2;
   }

   private void a(Element var1, String var2) {
      NodeList var3 = var1.getChildNodes();
      ArrayList var4 = new ArrayList();

      for (int var5 = 0; var5 < var3.getLength(); var5++) {
         Node var6 = var3.item(var5);
         if (var6.getNodeType() == 1) {
            Element var7 = (Element)var6;

            try {
               if (var2.equals(var7.getAttribute(e[19]))) {
                  var4.add(var7);
               }
            } catch (RuntimeException var8) {
               throw a(var8);
            }
         }
      }

      if (!var4.isEmpty()) {
         for (Element var13 : var4) {
            Element var15 = (Element)var13.getParentNode();
            var15.removeChild(var13);
         }
      }

      var3 = var1.getChildNodes();

      for (int var12 = 0; var12 < var3.getLength(); var12++) {
         Node var14 = var3.item(var12);

         try {
            if (var14.getNodeType() == 1) {
               this.a((Element)var14, var2);
            }
         } catch (RuntimeException var9) {
            throw a(var9);
         }
      }
   }

   private List<Attr> a(Element var1) {
      ArrayList var2 = new ArrayList();
      String[] var5 = e;
      Attr var3 = var1.getAttributeNode(var5[15]);
      if (var3 == null) {
         Node var4 = var1.getFirstChild();

         do {
            if (var4 instanceof Element) {
               var3 = ((Element)var4).getAttributeNode(e[15]);

               try {
                  if (var3 != null) {
                     var2.add(var3);
                  }
               } catch (RuntimeException var6) {
                  throw a(var6);
               }
            }
         } while ((var4 = var4.getNextSibling()) != null);
      } else {
         var2.add(var3);
      }

      return var2;
   }

   private long[] a(PartInfo var1, Map<String, long[]> var2) {
      long[] var3 = null;
      ContentTypeHeader var4 = var1.getContentType();
      Logger var10000 = this.logger;
      String var10001 = var4.getType();
      String var10002 = var4.getSubtype();
      String var9 = String.valueOf(var2);
      String var10 = var10002;
      String var11 = var10001;
      String[] var12 = e;
      var10000.info(var12[12] + var11 + "/" + var10 + " " + var9);

      for (Entry var6 : var2.entrySet()) {
         String var7 = (String)var6.getKey();

         try {
            ContentTypeHeader var8 = ContentTypeHeader.parseValue(var7);
            if (var8.matches(var4)) {
               var3 = (long[])var6.getValue();
            }
         } catch (IOException var14) {
            var12 = e;
            this.logger.warning(var12[13] + var7 + var12[31]);
         }
      }

      if (var3 == null) {
         for (Entry var16 : var2.entrySet()) {
            String var17 = (String)var16.getKey();

            try {
               ContentTypeHeader var18 = ContentTypeHeader.parseValue(var17);
               if (var4.matches(var18)) {
                  var3 = (long[])var16.getValue();
               }
            } catch (IOException var13) {
               var12 = e;
               this.logger.warning(var12[30] + var17 + var12[6]);
            }
         }
      }

      return var3;
   }

   private boolean a(PartInfo var1, long[] var2) throws NoSuchPartException, IOException {
      boolean var3 = false;
      long var4 = var2[1];
      var2[0] -= var1.getActualContentLength();
      if (var2[0] >= 0L) {
         var3 = true;
      } else {
         this.logAndAudit(AssertionMessages.SWA_EXTRA_LENGTH_EXCEEDED, Long.toString(var4));
      }

      return var3;
   }

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

   static {
      String[] var5 = new String[34];
      int var3 = 0;
      String var2 = "Q@5?\u0000N8uZ5~\rI!0R.+\rBuv[3~\u0013G'd\u0014\u0018D\\$~\u0011C$e]3;\u0007\u00064d@ =\u000bK0~@a&EZ$&\u0013C6dQ%~\u0011C&eX5~\u0005T:}\u0014..\u0006T4d].0C~\u0005q@)\f^[a\r,g\u00050V.:\u001a\u0016EZ$&\u0013C6dQ%~\u0002R!qW)3\u0006H!0\u000eBQ1;\u0002R0t\u00141?\u0011Ru\u00027\u001a&EZ$&\u0013C6dQ%~\u0011C&eX5~\u0005T:}\u0014\u0019.\u0002R=0R.,CV4b@a\u001bFU-7\u0007G!y[/~\u0005G<|Q%~\u0005I'0D ,\u0017\u0006,C]&0\u0002R bQa,\u0006W yF$:CD d\u0014/1\u0017\u0006%bQ2;\rRuv[3~\u0013G'd\u0014\u0019YZ7?\u000fO10Q9*\u0011Guq@5?\u0000N8uZ5~\u000fYZ7?\u000fO10F$/\u0016C&d(S\\$=\bO;w\u0014'1\u0011\u0006%uF,7\u0017R0t\u0014$&\u0017T4c\u001467\u0017NudM1;C8YS/1\u0011O;w\u0014(0\u0015G9yPa=\fH!uZ5~\u0017_%u\u0014);\u0002B0b\u0014i;\u001bR'q\u001dm~\u0015G9eQa7\u0010\u0006r\u0004s]%d\u0004xF$8\u001c^[a,\u0006@0bQ/=\u0006\u00063\u007fA/:C@:b\u00141?\u0011Ru-D\\$~\u0015G9eQ2~\f@ud\\$~\u000eG%0]2~\rI!0[39MQfs\u001a%1\u000e\b\u001b\u007fP$-D\\$~\u0015G9eQ2~\f@ud\\$~\u000eG%0]2~\rI!0[39MQfs\u001a%1\u000e\b\u001b\u007fP$\u0004xF$8\u001f\\Q/9\u0017Nu|],7\u0017\u00060hW$;\u0007C10R.,CV4b@a&EZ$&\u0013C6dQ%~\u0011C&eX5~\u0005T:}\u0014..\u0006T4d].0C~\u0005q@)\u0013_D$,\u0002R<\u007fZa0\fRuv[40\u0007/Q@5?\u0000N8uZ5~\u0013T:sQ2-\nH20@$,\u000eO;q@$:CB u\u001451C\u0001rk\u0004<yD\u000f@U3*CH:d\u0014'1\u0016H10\u0003s]%*UF31\u0011\u0006'u@37\u0006P<~Sa&\u000eJut[\"+\u000eC;d\u0014',\fKubQ0+\u0006U!\u0017YZ7?\u000fO10U5*\u0002E=}Q/*Cs\u0007\\\u0014\ryZa.\fU<d].0C\u0005\u001cgU2~\rI!0R.+\rBuyZa*\u000bCubQ0+\u0006U!8YS/1\u0011O;w\u0014(0\u0015G9yPa=\fH!uZ5~\u0017_%u\u0014);\u0002B0b\u0014i;\u001bR'q\u001dm~\u0015G9eQa7\u0010\u0006r\u00027\u001a";
      int var4 = "Q@5?\u0000N8uZ5~\rI!0R.+\rBuv[3~\u0013G'd\u0014\u0018D\\$~\u0011C$e]3;\u0007\u00064d@ =\u000bK0~@a&EZ$&\u0013C6dQ%~\u0011C&eX5~\u0005T:}\u0014..\u0006T4d].0C~\u0005q@)\f^[a\r,g\u00050V.:\u001a\u0016EZ$&\u0013C6dQ%~\u0002R!qW)3\u0006H!0\u000eBQ1;\u0002R0t\u00141?\u0011Ru\u00027\u001a&EZ$&\u0013C6dQ%~\u0011C&eX5~\u0005T:}\u0014\u0019.\u0002R=0R.,CV4b@a\u001bFU-7\u0007G!y[/~\u0005G<|Q%~\u0005I'0D ,\u0017\u0006,C]&0\u0002R bQa,\u0006W yF$:CD d\u0014/1\u0017\u0006%bQ2;\rRuv[3~\u0013G'd\u0014\u0019YZ7?\u000fO10Q9*\u0011Guq@5?\u0000N8uZ5~\u000fYZ7?\u000fO10F$/\u0016C&d(S\\$=\bO;w\u0014'1\u0011\u0006%uF,7\u0017R0t\u0014$&\u0017T4c\u001467\u0017NudM1;C8YS/1\u0011O;w\u0014(0\u0015G9yPa=\fH!uZ5~\u0017_%u\u0014);\u0002B0b\u0014i;\u001bR'q\u001dm~\u0015G9eQa7\u0010\u0006r\u0004s]%d\u0004xF$8\u001c^[a,\u0006@0bQ/=\u0006\u00063\u007fA/:C@:b\u00141?\u0011Ru-D\\$~\u0015G9eQ2~\f@ud\\$~\u000eG%0]2~\rI!0[39MQfs\u001a%1\u000e\b\u001b\u007fP$-D\\$~\u0015G9eQ2~\f@ud\\$~\u000eG%0]2~\rI!0[39MQfs\u001a%1\u000e\b\u001b\u007fP$\u0004xF$8\u001f\\Q/9\u0017Nu|],7\u0017\u00060hW$;\u0007C10R.,CV4b@a&EZ$&\u0013C6dQ%~\u0011C&eX5~\u0005T:}\u0014..\u0006T4d].0C~\u0005q@)\u0013_D$,\u0002R<\u007fZa0\fRuv[40\u0007/Q@5?\u0000N8uZ5~\u0013T:sQ2-\nH20@$,\u000eO;q@$:CB u\u001451C\u0001rk\u0004<yD\u000f@U3*CH:d\u0014'1\u0016H10\u0003s]%*UF31\u0011\u0006'u@37\u0006P<~Sa&\u000eJut[\"+\u000eC;d\u0014',\fKubQ0+\u0006U!\u0017YZ7?\u000fO10U5*\u0002E=}Q/*Cs\u0007\\\u0014\ryZa.\fU<d].0C\u0005\u001cgU2~\rI!0R.+\rBuyZa*\u000bCubQ0+\u0006U!8YS/1\u0011O;w\u0014(0\u0015G9yPa=\fH!uZ5~\u0017_%u\u0014);\u0002B0b\u0014i;\u001bR'q\u001dm~\u0015G9eQa7\u0010\u0006r\u00027\u001a"
         .length();
      char var1 = 30;
      int var7 = -1;

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

         while (true) {
            String var8 = b(var10000, b(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     e = var5;
                     return;
                  }

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

                  var2 = "\u000f\faiY\u0019gf\u0003c|T\u0013k+\u0007y|\u0015%Q\nB*\u0003\u0010egGPq#\u0016eaP\u0006j(\u00057pX\u001c#\"\rt}X\u0015m2BqzZ\u001d#4\u0007f}P\u0003w";
                  var4 = "\u000f\faiY\u0019gf\u0003c|T\u0013k+\u0007y|\u0015%Q\nB*\u0003\u0010egGPq#\u0016eaP\u0006j(\u00057pX\u001c#\"\rt}X\u0015m2BqzZ\u001d#4\u0007f}P\u0003w"
                     .length();
                  var1 = 23;
                  var7 = -1;
            }

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

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

      return var10000;
   }

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

      for (int var2 = 0; var10000 > var2; var2++) {
         var10001[var2] = (char)(var10001[var2] ^ var10002 ^ switch (var2 % 7) {
            case 0 -> 104;
            case 1 -> 76;
            case 2 -> 57;
            case 3 -> 38;
            case 4 -> 27;
            case 5 -> 94;
            default -> 45;
         });
      }

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

   private static final class AttachmentProcessingException extends Exception {
      private AssertionStatus assertionStatus;
      static final long serialVersionUID = -8661700323887625662L;

      public AttachmentProcessingException(String var1, AssertionStatus var2) {
         super(var1);
         this.assertionStatus = var2;
      }

      public AssertionStatus getAssertionStatus() {
         return this.assertionStatus;
      }
   }
}
