package com.l7tech.server.policy.assertion;

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.SimpleXpathAssertion;
import com.l7tech.policy.variable.PolicyVariableUtils;
import com.l7tech.server.message.PolicyEnforcementContext;
import com.l7tech.xml.xpath.XpathResult;
import com.l7tech.xml.xpath.XpathResult.MultiValuedXpathResultAdapter;
import java.io.IOException;
import java.util.Set;
import java.util.function.Function;

public abstract class ServerXpathAssertion<AT extends SimpleXpathAssertion> extends ServerXpathBasedAssertion<AT> {
   private final boolean g;
   private final String h;
   private final String i;
   private final String j;
   private final String k;
   private final String l;
   private final String m;
   private final boolean n;
   private final boolean o;
   private final Set<String> p;
   private String q;
   private String r;
   private String s;
   private String t;
   private String u;
   private String v;
   private static final String[] w;

   public ServerXpathAssertion(AT var1, boolean var2) {
      super((AT)var1);
      this.g = var2;
      this.p = PolicyVariableUtils.getVariablesUsedBySuccessors(var1);
      ServerXpathAssertion var10000 = this;
      String var10001 = this.p.contains(var1.foundVariable()) ? var1.foundVariable() : null;

      label68: {
         try {
            var10000.h = var10001;
            var10000 = this;
            if (this.p.contains(var1.resultVariable())) {
               var10001 = var1.resultVariable();
               break label68;
            }
         } catch (RuntimeException var7) {
            throw a(var7);
         }

         var10001 = null;
      }

      label61: {
         try {
            var10000.j = var10001;
            var10000 = this;
            if (this.p.contains(var1.multipleResultsVariable())) {
               var10001 = var1.multipleResultsVariable();
               break label61;
            }
         } catch (RuntimeException var6) {
            throw a(var6);
         }

         var10001 = null;
      }

      label54: {
         try {
            var10000.k = var10001;
            var10000 = this;
            if (this.p.contains(var1.countVariable())) {
               var10001 = var1.countVariable();
               break label54;
            }
         } catch (RuntimeException var5) {
            throw a(var5);
         }

         var10001 = null;
      }

      label47: {
         try {
            var10000.i = var10001;
            var10000 = this;
            if (this.p.contains(var1.elementVariable())) {
               var10001 = var1.elementVariable();
               break label47;
            }
         } catch (RuntimeException var4) {
            throw a(var4);
         }

         var10001 = null;
      }

      label40: {
         try {
            var10000.l = var10001;
            var10000 = this;
            if (this.p.contains(var1.multipleElementsVariable())) {
               var10001 = var1.multipleElementsVariable();
               break label40;
            }
         } catch (RuntimeException var3) {
            throw a(var3);
         }

         var10001 = null;
      }

      var10000.m = var10001;
      this.n = this.compiledXpathUsesVariables();
      this.o = this.compiledXpathReferencesTargetDocument();
   }

   @Override
   public AssertionStatus checkRequest(PolicyEnforcementContext param1) throws IOException, PolicyAssertionException {
      // $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/ServerXpathAssertion.g Z
      // 004: ifeq 011
      // 007: aload 1
      // 008: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getRequest ()Lcom/l7tech/message/Message; 1
      // 00d: astore 2
      // 00e: goto 0de
      // 011: aload 0
      // 012: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 015: instanceof com/l7tech/policy/assertion/ResponseXpathAssertion
      // 018: ifne 050
      // 01b: new java/lang/RuntimeException
      // 01e: dup
      // 01f: ldc com/l7tech/policy/assertion/ResponseXpathAssertion
      // 021: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 024: aload 0
      // 025: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 028: checkcast com/l7tech/policy/assertion/SimpleXpathAssertion
      // 02b: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
      // 02e: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 031: getstatic com/l7tech/server/policy/assertion/ServerXpathAssertion.w [Ljava/lang/String;
      // 034: bipush 2
      // 035: aaload
      // 036: dup_x2
      // 037: pop
      // 038: getstatic com/l7tech/server/policy/assertion/ServerXpathAssertion.w [Ljava/lang/String;
      // 03b: bipush 4
      // 03c: aaload
      // 03d: swap
      // 03e: getstatic com/l7tech/server/policy/assertion/ServerXpathAssertion.w [Ljava/lang/String;
      // 041: bipush 5
      // 042: aaload
      // 043: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001\u0001\u0001\u0001" ]
      // 048: invokespecial java/lang/RuntimeException.<init> (Ljava/lang/String;)V
      // 04b: athrow
      // 04c: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 04f: athrow
      // 050: aload 0
      // 051: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 054: checkcast com/l7tech/policy/assertion/ResponseXpathAssertion
      // 057: astore 3
      // 058: aload 3
      // 059: invokevirtual com/l7tech/policy/assertion/ResponseXpathAssertion.getXmlMsgSrc ()Ljava/lang/String;
      // 05c: astore 4
      // 05e: aload 4
      // 060: ifnonnull 06d
      // 063: aload 1
      // 064: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getResponse ()Lcom/l7tech/message/Message; 1
      // 069: astore 2
      // 06a: goto 0de
      // 06d: aload 1
      // 06e: aload 4
      // 070: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getVariable (Ljava/lang/String;)Ljava/lang/Object; 2
      // 075: astore 5
      // 077: aload 5
      // 079: instanceof com/l7tech/message/Message
      // 07c: ifne 0bf
      // 07f: ldc com/l7tech/message/Message
      // 081: invokevirtual java/lang/Class.getSimpleName ()Ljava/lang/String;
      // 084: aload 5
      // 086: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
      // 089: invokevirtual java/lang/Class.getSimpleName ()Ljava/lang/String;
      // 08c: getstatic com/l7tech/server/policy/assertion/ServerXpathAssertion.w [Ljava/lang/String;
      // 08f: astore 13
      // 091: aload 13
      // 093: bipush 7
      // 095: aaload
      // 096: dup_x2
      // 097: pop
      // 098: aload 13
      // 09a: bipush 1
      // 09b: aaload
      // 09c: swap
      // 09d: ldc ")"
      // 09f: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001\u0001\u0001\u0001" ]
      // 0a4: astore 6
      // 0a6: aload 0
      // 0a7: getstatic com/l7tech/gateway/common/audit/AssertionMessages.MESSAGE_TARGET_ERROR Lcom/l7tech/gateway/common/audit/Messages$M;
      // 0aa: bipush 2
      // 0ab: anewarray 242
      // 0ae: dup
      // 0af: bipush 0
      // 0b0: aload 4
      // 0b2: aastore
      // 0b3: dup
      // 0b4: bipush 1
      // 0b5: aload 6
      // 0b7: aastore
      // 0b8: invokevirtual com/l7tech/server/policy/assertion/ServerXpathAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 0bb: getstatic com/l7tech/policy/assertion/AssertionStatus.SERVER_ERROR Lcom/l7tech/policy/assertion/AssertionStatus;
      // 0be: areturn
      // 0bf: aload 5
      // 0c1: checkcast com/l7tech/message/Message
      // 0c4: astore 2
      // 0c5: goto 0de
      // 0c8: astore 5
      // 0ca: aload 0
      // 0cb: getstatic com/l7tech/gateway/common/audit/AssertionMessages.NO_SUCH_VARIABLE_WARNING Lcom/l7tech/gateway/common/audit/Messages$M;
      // 0ce: bipush 1
      // 0cf: anewarray 242
      // 0d2: dup
      // 0d3: bipush 0
      // 0d4: aload 4
      // 0d6: aastore
      // 0d7: invokevirtual com/l7tech/server/policy/assertion/ServerXpathAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 0da: getstatic com/l7tech/policy/assertion/AssertionStatus.SERVER_ERROR Lcom/l7tech/policy/assertion/AssertionStatus;
      // 0dd: areturn
      // 0de: aload 1
      // 0df: instanceof com/l7tech/server/message/HasOutputVariables
      // 0e2: ifeq 25d
      // 0e5: aload 1
      // 0e6: checkcast com/l7tech/server/message/HasOutputVariables
      // 0e9: astore 3
      // 0ea: aload 3
      // 0eb: invokeinterface com/l7tech/server/message/HasOutputVariables.getOutputVariableNames ()Ljava/util/Set; 1
      // 0f0: astore 4
      // 0f2: aload 0
      // 0f3: aload 0
      // 0f4: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.h Ljava/lang/String;
      // 0f7: ifnull 105
      // 0fa: aload 0
      // 0fb: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.h Ljava/lang/String;
      // 0fe: goto 12b
      // 101: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 104: athrow
      // 105: aload 4
      // 107: aload 0
      // 108: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 10b: checkcast com/l7tech/policy/assertion/SimpleXpathAssertion
      // 10e: invokevirtual com/l7tech/policy/assertion/SimpleXpathAssertion.foundVariable ()Ljava/lang/String;
      // 111: invokeinterface java/util/Set.contains (Ljava/lang/Object;)Z 2
      // 116: ifeq 12a
      // 119: aload 0
      // 11a: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 11d: checkcast com/l7tech/policy/assertion/SimpleXpathAssertion
      // 120: invokevirtual com/l7tech/policy/assertion/SimpleXpathAssertion.foundVariable ()Ljava/lang/String;
      // 123: goto 12b
      // 126: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 129: athrow
      // 12a: aconst_null
      // 12b: putfield com/l7tech/server/policy/assertion/ServerXpathAssertion.q Ljava/lang/String;
      // 12e: aload 0
      // 12f: aload 0
      // 130: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.j Ljava/lang/String;
      // 133: ifnull 141
      // 136: aload 0
      // 137: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.j Ljava/lang/String;
      // 13a: goto 167
      // 13d: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 140: athrow
      // 141: aload 4
      // 143: aload 0
      // 144: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 147: checkcast com/l7tech/policy/assertion/SimpleXpathAssertion
      // 14a: invokevirtual com/l7tech/policy/assertion/SimpleXpathAssertion.resultVariable ()Ljava/lang/String;
      // 14d: invokeinterface java/util/Set.contains (Ljava/lang/Object;)Z 2
      // 152: ifeq 166
      // 155: aload 0
      // 156: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 159: checkcast com/l7tech/policy/assertion/SimpleXpathAssertion
      // 15c: invokevirtual com/l7tech/policy/assertion/SimpleXpathAssertion.resultVariable ()Ljava/lang/String;
      // 15f: goto 167
      // 162: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 165: athrow
      // 166: aconst_null
      // 167: putfield com/l7tech/server/policy/assertion/ServerXpathAssertion.r Ljava/lang/String;
      // 16a: aload 0
      // 16b: aload 0
      // 16c: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.k Ljava/lang/String;
      // 16f: ifnull 17d
      // 172: aload 0
      // 173: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.k Ljava/lang/String;
      // 176: goto 1a3
      // 179: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 17c: athrow
      // 17d: aload 4
      // 17f: aload 0
      // 180: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 183: checkcast com/l7tech/policy/assertion/SimpleXpathAssertion
      // 186: invokevirtual com/l7tech/policy/assertion/SimpleXpathAssertion.multipleResultsVariable ()Ljava/lang/String;
      // 189: invokeinterface java/util/Set.contains (Ljava/lang/Object;)Z 2
      // 18e: ifeq 1a2
      // 191: aload 0
      // 192: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 195: checkcast com/l7tech/policy/assertion/SimpleXpathAssertion
      // 198: invokevirtual com/l7tech/policy/assertion/SimpleXpathAssertion.multipleResultsVariable ()Ljava/lang/String;
      // 19b: goto 1a3
      // 19e: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1a1: athrow
      // 1a2: aconst_null
      // 1a3: putfield com/l7tech/server/policy/assertion/ServerXpathAssertion.s Ljava/lang/String;
      // 1a6: aload 0
      // 1a7: aload 0
      // 1a8: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.i Ljava/lang/String;
      // 1ab: ifnull 1b9
      // 1ae: aload 0
      // 1af: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.i Ljava/lang/String;
      // 1b2: goto 1df
      // 1b5: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1b8: athrow
      // 1b9: aload 4
      // 1bb: aload 0
      // 1bc: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 1bf: checkcast com/l7tech/policy/assertion/SimpleXpathAssertion
      // 1c2: invokevirtual com/l7tech/policy/assertion/SimpleXpathAssertion.countVariable ()Ljava/lang/String;
      // 1c5: invokeinterface java/util/Set.contains (Ljava/lang/Object;)Z 2
      // 1ca: ifeq 1de
      // 1cd: aload 0
      // 1ce: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 1d1: checkcast com/l7tech/policy/assertion/SimpleXpathAssertion
      // 1d4: invokevirtual com/l7tech/policy/assertion/SimpleXpathAssertion.countVariable ()Ljava/lang/String;
      // 1d7: goto 1df
      // 1da: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1dd: athrow
      // 1de: aconst_null
      // 1df: putfield com/l7tech/server/policy/assertion/ServerXpathAssertion.t Ljava/lang/String;
      // 1e2: aload 0
      // 1e3: aload 0
      // 1e4: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.l Ljava/lang/String;
      // 1e7: ifnull 1f5
      // 1ea: aload 0
      // 1eb: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.l Ljava/lang/String;
      // 1ee: goto 21b
      // 1f1: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1f4: athrow
      // 1f5: aload 4
      // 1f7: aload 0
      // 1f8: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 1fb: checkcast com/l7tech/policy/assertion/SimpleXpathAssertion
      // 1fe: invokevirtual com/l7tech/policy/assertion/SimpleXpathAssertion.elementVariable ()Ljava/lang/String;
      // 201: invokeinterface java/util/Set.contains (Ljava/lang/Object;)Z 2
      // 206: ifeq 21a
      // 209: aload 0
      // 20a: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 20d: checkcast com/l7tech/policy/assertion/SimpleXpathAssertion
      // 210: invokevirtual com/l7tech/policy/assertion/SimpleXpathAssertion.elementVariable ()Ljava/lang/String;
      // 213: goto 21b
      // 216: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 219: athrow
      // 21a: aconst_null
      // 21b: putfield com/l7tech/server/policy/assertion/ServerXpathAssertion.u Ljava/lang/String;
      // 21e: aload 0
      // 21f: aload 0
      // 220: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.m Ljava/lang/String;
      // 223: ifnull 231
      // 226: aload 0
      // 227: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.m Ljava/lang/String;
      // 22a: goto 257
      // 22d: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 230: athrow
      // 231: aload 4
      // 233: aload 0
      // 234: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 237: checkcast com/l7tech/policy/assertion/SimpleXpathAssertion
      // 23a: invokevirtual com/l7tech/policy/assertion/SimpleXpathAssertion.multipleElementsVariable ()Ljava/lang/String;
      // 23d: invokeinterface java/util/Set.contains (Ljava/lang/Object;)Z 2
      // 242: ifeq 256
      // 245: aload 0
      // 246: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 249: checkcast com/l7tech/policy/assertion/SimpleXpathAssertion
      // 24c: invokevirtual com/l7tech/policy/assertion/SimpleXpathAssertion.multipleElementsVariable ()Ljava/lang/String;
      // 24f: goto 257
      // 252: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 255: athrow
      // 256: aconst_null
      // 257: putfield com/l7tech/server/policy/assertion/ServerXpathAssertion.v Ljava/lang/String;
      // 25a: goto 28d
      // 25d: aload 0
      // 25e: aload 0
      // 25f: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.h Ljava/lang/String;
      // 262: putfield com/l7tech/server/policy/assertion/ServerXpathAssertion.q Ljava/lang/String;
      // 265: aload 0
      // 266: aload 0
      // 267: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.j Ljava/lang/String;
      // 26a: putfield com/l7tech/server/policy/assertion/ServerXpathAssertion.r Ljava/lang/String;
      // 26d: aload 0
      // 26e: aload 0
      // 26f: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.k Ljava/lang/String;
      // 272: putfield com/l7tech/server/policy/assertion/ServerXpathAssertion.s Ljava/lang/String;
      // 275: aload 0
      // 276: aload 0
      // 277: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.i Ljava/lang/String;
      // 27a: putfield com/l7tech/server/policy/assertion/ServerXpathAssertion.t Ljava/lang/String;
      // 27d: aload 0
      // 27e: aload 0
      // 27f: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.l Ljava/lang/String;
      // 282: putfield com/l7tech/server/policy/assertion/ServerXpathAssertion.u Ljava/lang/String;
      // 285: aload 0
      // 286: aload 0
      // 287: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.m Ljava/lang/String;
      // 28a: putfield com/l7tech/server/policy/assertion/ServerXpathAssertion.v Ljava/lang/String;
      // 28d: aload 1
      // 28e: aload 0
      // 28f: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.q Ljava/lang/String;
      // 292: getstatic com/l7tech/policy/assertion/SimpleXpathAssertion.FALSE Ljava/lang/String;
      // 295: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 29a: aload 1
      // 29b: aload 0
      // 29c: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.t Ljava/lang/String;
      // 29f: ldc "0"
      // 2a1: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 2a6: aload 1
      // 2a7: aload 0
      // 2a8: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.r Ljava/lang/String;
      // 2ab: aconst_null
      // 2ac: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 2b1: aload 1
      // 2b2: aload 0
      // 2b3: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.s Ljava/lang/String;
      // 2b6: aconst_null
      // 2b7: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 2bc: aload 1
      // 2bd: aload 0
      // 2be: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.u Ljava/lang/String;
      // 2c1: aconst_null
      // 2c2: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 2c7: aload 1
      // 2c8: aload 0
      // 2c9: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.v Ljava/lang/String;
      // 2cc: aconst_null
      // 2cd: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 2d2: aload 0
      // 2d3: aload 1
      // 2d4: invokevirtual com/l7tech/server/policy/assertion/ServerXpathAssertion.getCompiledXpath (Lcom/l7tech/server/message/PolicyEnforcementContext;)Lcom/l7tech/xml/xpath/CompiledXpath;
      // 2d7: astore 3
      // 2d8: aload 3
      // 2d9: ifnonnull 2f6
      // 2dc: aload 0
      // 2dd: getstatic com/l7tech/gateway/common/audit/AssertionMessages.XPATH_PATTERN_INVALID_MORE_INFO Lcom/l7tech/gateway/common/audit/Messages$M;
      // 2e0: bipush 1
      // 2e1: anewarray 242
      // 2e4: dup
      // 2e5: bipush 0
      // 2e6: aload 0
      // 2e7: invokevirtual com/l7tech/server/policy/assertion/ServerXpathAssertion.getXpath ()Ljava/lang/String;
      // 2ea: aastore
      // 2eb: invokevirtual com/l7tech/server/policy/assertion/ServerXpathAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 2ee: getstatic com/l7tech/policy/assertion/AssertionStatus.FAILED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 2f1: areturn
      // 2f2: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2f5: athrow
      // 2f6: bipush 0
      // 2f7: istore 5
      // 2f9: aload 2
      // 2fa: invokevirtual com/l7tech/message/Message.isXml ()Z
      // 2fd: ifne 319
      // 300: aload 0
      // 301: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.o Z
      // 304: ifeq 316
      // 307: goto 30e
      // 30a: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 30d: athrow
      // 30e: aload 0
      // 30f: invokevirtual com/l7tech/server/policy/assertion/ServerXpathAssertion.a ()V
      // 312: getstatic com/l7tech/policy/assertion/AssertionStatus.NOT_APPLICABLE Lcom/l7tech/policy/assertion/AssertionStatus;
      // 315: areturn
      // 316: bipush 1
      // 317: istore 5
      // 319: iload 5
      // 31b: ifeq 32d
      // 31e: new com/l7tech/xml/DomElementCursor
      // 321: dup
      // 322: invokestatic com/l7tech/common/io/XmlUtil.createEmptyDocument ()Lorg/w3c/dom/Document;
      // 325: invokespecial com/l7tech/xml/DomElementCursor.<init> (Lorg/w3c/dom/Node;)V
      // 328: astore 4
      // 32a: goto 395
      // 32d: aload 0
      // 32e: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.v Ljava/lang/String;
      // 331: ifnonnull 36a
      // 334: aload 0
      // 335: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.n Z
      // 338: ifne 36a
      // 33b: goto 342
      // 33e: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 341: athrow
      // 342: aload 3
      // 343: invokevirtual com/l7tech/xml/xpath/CompiledXpath.getXpathVersion ()Lcom/l7tech/xml/xpath/XpathVersion;
      // 346: getstatic com/l7tech/xml/xpath/XpathVersion.XPATH_1_0 Lcom/l7tech/xml/xpath/XpathVersion;
      // 349: invokevirtual com/l7tech/xml/xpath/XpathVersion.equals (Ljava/lang/Object;)Z
      // 34c: ifne 386
      // 34f: goto 356
      // 352: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 355: athrow
      // 356: aload 3
      // 357: invokevirtual com/l7tech/xml/xpath/CompiledXpath.getXpathVersion ()Lcom/l7tech/xml/xpath/XpathVersion;
      // 35a: getstatic com/l7tech/xml/xpath/XpathVersion.UNSPECIFIED Lcom/l7tech/xml/xpath/XpathVersion;
      // 35d: invokevirtual com/l7tech/xml/xpath/XpathVersion.equals (Ljava/lang/Object;)Z
      // 360: ifne 386
      // 363: goto 36a
      // 366: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 369: athrow
      // 36a: aload 0
      // 36b: getstatic com/l7tech/gateway/common/audit/AssertionMessages.XPATH_NOT_ACCELERATED Lcom/l7tech/gateway/common/audit/Messages$M;
      // 36e: invokevirtual com/l7tech/server/policy/assertion/ServerXpathAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;)V
      // 371: new com/l7tech/xml/DomElementCursor
      // 374: dup
      // 375: aload 2
      // 376: invokevirtual com/l7tech/message/Message.getXmlKnob ()Lcom/l7tech/message/XmlKnob;
      // 379: invokeinterface com/l7tech/message/XmlKnob.getDocumentReadOnly ()Lorg/w3c/dom/Document; 1
      // 37e: invokespecial com/l7tech/xml/DomElementCursor.<init> (Lorg/w3c/dom/Node;)V
      // 381: astore 4
      // 383: goto 395
      // 386: aload 2
      // 387: invokevirtual com/l7tech/message/Message.getXmlKnob ()Lcom/l7tech/message/XmlKnob;
      // 38a: astore 6
      // 38c: aload 6
      // 38e: invokeinterface com/l7tech/message/XmlKnob.getElementCursor ()Lcom/l7tech/xml/ElementCursor; 1
      // 393: astore 4
      // 395: goto 3e4
      // 398: astore 5
      // 39a: aload 0
      // 39b: invokevirtual com/l7tech/server/policy/assertion/ServerXpathAssertion.a ()V
      // 39e: aload 0
      // 39f: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.logger Ljava/util/logging/Logger;
      // 3a2: getstatic java/util/logging/Level.FINE Ljava/util/logging/Level;
      // 3a5: invokevirtual java/util/logging/Logger.isLoggable (Ljava/util/logging/Level;)Z
      // 3a8: ifeq 3ce
      // 3ab: aload 0
      // 3ac: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.logger Ljava/util/logging/Logger;
      // 3af: getstatic java/util/logging/Level.FINE Ljava/util/logging/Level;
      // 3b2: aload 5
      // 3b4: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 3b7: getstatic com/l7tech/server/policy/assertion/ServerXpathAssertion.w [Ljava/lang/String;
      // 3ba: bipush 0
      // 3bb: aaload
      // 3bc: swap
      // 3bd: 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" ]
      // 3c2: aload 5
      // 3c4: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 3c7: goto 3ce
      // 3ca: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 3cd: athrow
      // 3ce: aload 0
      // 3cf: getstatic com/l7tech/gateway/common/audit/AssertionMessages.XPATH_PATTERN_IS Lcom/l7tech/gateway/common/audit/Messages$M;
      // 3d2: bipush 1
      // 3d3: anewarray 242
      // 3d6: dup
      // 3d7: bipush 0
      // 3d8: aload 0
      // 3d9: invokevirtual com/l7tech/server/policy/assertion/ServerXpathAssertion.getXpath ()Ljava/lang/String;
      // 3dc: aastore
      // 3dd: invokevirtual com/l7tech/server/policy/assertion/ServerXpathAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 3e0: getstatic com/l7tech/policy/assertion/AssertionStatus.FAILED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 3e3: areturn
      // 3e4: aload 4
      // 3e6: invokevirtual com/l7tech/xml/ElementCursor.moveToRoot ()V
      // 3e9: aconst_null
      // 3ea: astore 5
      // 3ec: aload 0
      // 3ed: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.n Z
      // 3f0: ifeq 402
      // 3f3: new com/l7tech/server/util/xml/PolicyEnforcementContextXpathVariableFinder
      // 3f6: dup
      // 3f7: aload 1
      // 3f8: invokespecial com/l7tech/server/util/xml/PolicyEnforcementContextXpathVariableFinder.<init> (Lcom/l7tech/server/message/PolicyEnforcementContext;)V
      // 3fb: goto 403
      // 3fe: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 401: athrow
      // 402: aconst_null
      // 403: astore 6
      // 405: aload 4
      // 407: aload 3
      // 408: aload 6
      // 40a: aload 0
      // 40b: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.u Ljava/lang/String;
      // 40e: ifnull 419
      // 411: bipush 1
      // 412: goto 41a
      // 415: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 418: athrow
      // 419: bipush 0
      // 41a: invokevirtual com/l7tech/xml/ElementCursor.getXpathResult (Lcom/l7tech/xml/xpath/CompiledXpath;Lcom/l7tech/xml/xpath/XpathVariableFinder;Z)Lcom/l7tech/xml/xpath/XpathResult;
      // 41d: astore 5
      // 41f: goto 457
      // 422: astore 6
      // 424: aload 0
      // 425: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.logger Ljava/util/logging/Logger;
      // 428: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 42b: invokevirtual java/util/logging/Logger.isLoggable (Ljava/util/logging/Level;)Z
      // 42e: ifeq 457
      // 431: aload 0
      // 432: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.logger Ljava/util/logging/Logger;
      // 435: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 438: aload 6
      // 43a: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 43d: getstatic com/l7tech/server/policy/assertion/ServerXpathAssertion.w [Ljava/lang/String;
      // 440: bipush 3
      // 441: aaload
      // 442: swap
      // 443: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001" ]
      // 448: aload 6
      // 44a: invokestatic com/l7tech/util/ExceptionUtils.getDebugException (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 44d: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 450: goto 457
      // 453: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 456: athrow
      // 457: aload 5
      // 459: ifnonnull 48a
      // 45c: aload 0
      // 45d: aload 0
      // 45e: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.g Z
      // 461: ifeq 475
      // 464: goto 46b
      // 467: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 46a: athrow
      // 46b: getstatic com/l7tech/gateway/common/audit/AssertionMessages.XPATH_PATTERN_NOT_MATCHED_REQUEST_MI Lcom/l7tech/gateway/common/audit/Messages$M;
      // 46e: goto 478
      // 471: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 474: athrow
      // 475: getstatic com/l7tech/gateway/common/audit/AssertionMessages.XPATH_PATTERN_NOT_MATCHED_RESPONSE_MI Lcom/l7tech/gateway/common/audit/Messages$M;
      // 478: bipush 1
      // 479: anewarray 242
      // 47c: dup
      // 47d: bipush 0
      // 47e: aload 0
      // 47f: invokevirtual com/l7tech/server/policy/assertion/ServerXpathAssertion.getXpath ()Ljava/lang/String;
      // 482: aastore
      // 483: invokevirtual com/l7tech/server/policy/assertion/ServerXpathAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 486: getstatic com/l7tech/policy/assertion/AssertionStatus.FALSIFIED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 489: areturn
      // 48a: aload 5
      // 48c: invokeinterface com/l7tech/xml/xpath/XpathResult.getType ()S 1
      // 491: istore 6
      // 493: iload 6
      // 495: tableswitch 248 1 4 245 31 149 197
      // 4b4: aload 0
      // 4b5: invokevirtual com/l7tech/server/policy/assertion/ServerXpathAssertion.b ()Z
      // 4b8: ifeq 4da
      // 4bb: goto 4c2
      // 4be: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 4c1: athrow
      // 4c2: aload 0
      // 4c3: aload 5
      // 4c5: aload 1
      // 4c6: invokedynamic apply ()Ljava/util/function/Function; bsm=java/lang/invoke/LambdaMetafactory.metafactory (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; args=[ (Ljava/lang/Object;)Ljava/lang/Object;, com/l7tech/xml/xpath/XpathResult.getBoolean ()Z, (Lcom/l7tech/xml/xpath/XpathResult;)Ljava/lang/Boolean; ]
      // 4cb: invokedynamic apply ()Ljava/util/function/Function; bsm=java/lang/invoke/LambdaMetafactory.metafactory (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; args=[ (Ljava/lang/Object;)Ljava/lang/Object;, com/l7tech/xml/xpath/XpathResult$MultiValuedXpathResultAdapter.getBooleanArray ()[Ljava/lang/Boolean;, (Lcom/l7tech/xml/xpath/XpathResult$MultiValuedXpathResultAdapter;)[Ljava/lang/Boolean; ]
      // 4d0: invokevirtual com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Lcom/l7tech/xml/xpath/XpathResult;Lcom/l7tech/server/message/PolicyEnforcementContext;Ljava/util/function/Function;Ljava/util/function/Function;)V
      // 4d3: goto 4da
      // 4d6: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 4d9: athrow
      // 4da: aload 5
      // 4dc: invokeinterface com/l7tech/xml/xpath/XpathResult.getBoolean ()Z 1
      // 4e1: ifeq 500
      // 4e4: aload 0
      // 4e5: getstatic com/l7tech/gateway/common/audit/AssertionMessages.XPATH_RESULT_TRUE Lcom/l7tech/gateway/common/audit/Messages$M;
      // 4e8: invokevirtual com/l7tech/server/policy/assertion/ServerXpathAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;)V
      // 4eb: aload 1
      // 4ec: aload 0
      // 4ed: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.q Ljava/lang/String;
      // 4f0: getstatic com/l7tech/policy/assertion/SimpleXpathAssertion.TRUE Ljava/lang/String;
      // 4f3: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 4f8: getstatic com/l7tech/policy/assertion/AssertionStatus.NONE Lcom/l7tech/policy/assertion/AssertionStatus;
      // 4fb: areturn
      // 4fc: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 4ff: athrow
      // 500: aload 0
      // 501: getstatic com/l7tech/gateway/common/audit/AssertionMessages.XPATH_RESULT_FALSE Lcom/l7tech/gateway/common/audit/Messages$M;
      // 504: invokevirtual com/l7tech/server/policy/assertion/ServerXpathAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;)V
      // 507: aload 0
      // 508: getstatic com/l7tech/gateway/common/audit/AssertionMessages.XPATH_PATTERN_IS Lcom/l7tech/gateway/common/audit/Messages$M;
      // 50b: bipush 1
      // 50c: anewarray 242
      // 50f: dup
      // 510: bipush 0
      // 511: aload 0
      // 512: invokevirtual com/l7tech/server/policy/assertion/ServerXpathAssertion.getXpath ()Ljava/lang/String;
      // 515: aastore
      // 516: invokevirtual com/l7tech/server/policy/assertion/ServerXpathAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 519: aload 1
      // 51a: aload 0
      // 51b: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.q Ljava/lang/String;
      // 51e: getstatic com/l7tech/policy/assertion/SimpleXpathAssertion.FALSE Ljava/lang/String;
      // 521: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 526: getstatic com/l7tech/policy/assertion/AssertionStatus.FALSIFIED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 529: areturn
      // 52a: aload 0
      // 52b: invokevirtual com/l7tech/server/policy/assertion/ServerXpathAssertion.b ()Z
      // 52e: ifeq 549
      // 531: aload 0
      // 532: aload 5
      // 534: aload 1
      // 535: invokedynamic apply ()Ljava/util/function/Function; bsm=java/lang/invoke/LambdaMetafactory.metafactory (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; args=[ (Ljava/lang/Object;)Ljava/lang/Object;, com/l7tech/xml/xpath/XpathResult.getNumber ()Ljava/lang/Number;, (Lcom/l7tech/xml/xpath/XpathResult;)Ljava/lang/Number; ]
      // 53a: invokedynamic apply ()Ljava/util/function/Function; bsm=java/lang/invoke/LambdaMetafactory.metafactory (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; args=[ (Ljava/lang/Object;)Ljava/lang/Object;, com/l7tech/xml/xpath/XpathResult$MultiValuedXpathResultAdapter.getNumberArray ()[Ljava/lang/Number;, (Lcom/l7tech/xml/xpath/XpathResult$MultiValuedXpathResultAdapter;)[Ljava/lang/Number; ]
      // 53f: invokevirtual com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Lcom/l7tech/xml/xpath/XpathResult;Lcom/l7tech/server/message/PolicyEnforcementContext;Ljava/util/function/Function;Ljava/util/function/Function;)V
      // 542: goto 549
      // 545: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 548: athrow
      // 549: aload 1
      // 54a: aload 0
      // 54b: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.q Ljava/lang/String;
      // 54e: getstatic com/l7tech/policy/assertion/SimpleXpathAssertion.TRUE Ljava/lang/String;
      // 551: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 556: getstatic com/l7tech/policy/assertion/AssertionStatus.NONE Lcom/l7tech/policy/assertion/AssertionStatus;
      // 559: areturn
      // 55a: aload 0
      // 55b: invokevirtual com/l7tech/server/policy/assertion/ServerXpathAssertion.b ()Z
      // 55e: ifeq 579
      // 561: aload 0
      // 562: aload 5
      // 564: aload 1
      // 565: invokedynamic apply ()Ljava/util/function/Function; bsm=java/lang/invoke/LambdaMetafactory.metafactory (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; args=[ (Ljava/lang/Object;)Ljava/lang/Object;, com/l7tech/xml/xpath/XpathResult.getString ()Ljava/lang/String;, (Lcom/l7tech/xml/xpath/XpathResult;)Ljava/lang/String; ]
      // 56a: invokedynamic apply ()Ljava/util/function/Function; bsm=java/lang/invoke/LambdaMetafactory.metafactory (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; args=[ (Ljava/lang/Object;)Ljava/lang/Object;, com/l7tech/xml/xpath/XpathResult$MultiValuedXpathResultAdapter.getStringArray ()[Ljava/lang/String;, (Lcom/l7tech/xml/xpath/XpathResult$MultiValuedXpathResultAdapter;)[Ljava/lang/String; ]
      // 56f: invokevirtual com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Lcom/l7tech/xml/xpath/XpathResult;Lcom/l7tech/server/message/PolicyEnforcementContext;Ljava/util/function/Function;Ljava/util/function/Function;)V
      // 572: goto 579
      // 575: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 578: athrow
      // 579: aload 1
      // 57a: aload 0
      // 57b: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.q Ljava/lang/String;
      // 57e: getstatic com/l7tech/policy/assertion/SimpleXpathAssertion.TRUE Ljava/lang/String;
      // 581: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 586: getstatic com/l7tech/policy/assertion/AssertionStatus.NONE Lcom/l7tech/policy/assertion/AssertionStatus;
      // 589: areturn
      // 58a: goto 5bf
      // 58d: aload 0
      // 58e: getstatic com/l7tech/gateway/common/audit/AssertionMessages.EXCEPTION_WARNING_WITH_MORE_INFO Lcom/l7tech/gateway/common/audit/Messages$M;
      // 591: bipush 1
      // 592: anewarray 242
      // 595: dup
      // 596: bipush 0
      // 597: iload 6
      // 599: getstatic com/l7tech/server/policy/assertion/ServerXpathAssertion.w [Ljava/lang/String;
      // 59c: bipush 6
      // 59e: aaload
      // 59f: swap
      // 5a0: invokedynamic makeConcatWithConstants (Ljava/lang/String;S)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" ]
      // 5a5: aastore
      // 5a6: invokevirtual com/l7tech/server/policy/assertion/ServerXpathAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 5a9: aload 0
      // 5aa: getstatic com/l7tech/gateway/common/audit/AssertionMessages.XPATH_PATTERN_IS Lcom/l7tech/gateway/common/audit/Messages$M;
      // 5ad: bipush 1
      // 5ae: anewarray 242
      // 5b1: dup
      // 5b2: bipush 0
      // 5b3: aload 0
      // 5b4: invokevirtual com/l7tech/server/policy/assertion/ServerXpathAssertion.getXpath ()Ljava/lang/String;
      // 5b7: aastore
      // 5b8: invokevirtual com/l7tech/server/policy/assertion/ServerXpathAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 5bb: getstatic com/l7tech/policy/assertion/AssertionStatus.FAILED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 5be: areturn
      // 5bf: aload 5
      // 5c1: invokeinterface com/l7tech/xml/xpath/XpathResult.getNodeSet ()Lcom/l7tech/xml/xpath/XpathResultNodeSet; 1
      // 5c6: astore 7
      // 5c8: aload 7
      // 5ca: invokeinterface com/l7tech/xml/xpath/XpathResultNodeSet.size ()I 1
      // 5cf: istore 8
      // 5d1: iload 8
      // 5d3: bipush 1
      // 5d4: if_icmple 5f1
      // 5d7: aload 0
      // 5d8: getstatic com/l7tech/gateway/common/audit/AssertionMessages.XPATH_MULTIPLE_RESULTS Lcom/l7tech/gateway/common/audit/Messages$M;
      // 5db: bipush 1
      // 5dc: anewarray 242
      // 5df: dup
      // 5e0: bipush 0
      // 5e1: iload 8
      // 5e3: invokestatic java/lang/Integer.toString (I)Ljava/lang/String;
      // 5e6: aastore
      // 5e7: invokevirtual com/l7tech/server/policy/assertion/ServerXpathAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 5ea: goto 5f1
      // 5ed: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 5f0: athrow
      // 5f1: iload 8
      // 5f3: bipush 1
      // 5f4: if_icmpge 625
      // 5f7: aload 0
      // 5f8: aload 0
      // 5f9: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.g Z
      // 5fc: ifeq 610
      // 5ff: goto 606
      // 602: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 605: athrow
      // 606: getstatic com/l7tech/gateway/common/audit/AssertionMessages.XPATH_PATTERN_NOT_MATCHED_REQUEST_MI Lcom/l7tech/gateway/common/audit/Messages$M;
      // 609: goto 613
      // 60c: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 60f: athrow
      // 610: getstatic com/l7tech/gateway/common/audit/AssertionMessages.XPATH_PATTERN_NOT_MATCHED_RESPONSE_MI Lcom/l7tech/gateway/common/audit/Messages$M;
      // 613: bipush 1
      // 614: anewarray 242
      // 617: dup
      // 618: bipush 0
      // 619: aload 0
      // 61a: invokevirtual com/l7tech/server/policy/assertion/ServerXpathAssertion.getXpath ()Ljava/lang/String;
      // 61d: aastore
      // 61e: invokevirtual com/l7tech/server/policy/assertion/ServerXpathAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 621: getstatic com/l7tech/policy/assertion/AssertionStatus.FALSIFIED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 624: areturn
      // 625: aload 1
      // 626: aload 0
      // 627: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.q Ljava/lang/String;
      // 62a: getstatic com/l7tech/policy/assertion/SimpleXpathAssertion.TRUE Ljava/lang/String;
      // 62d: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 632: aload 0
      // 633: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.t Ljava/lang/String;
      // 636: ifnull 64f
      // 639: aload 1
      // 63a: aload 0
      // 63b: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.t Ljava/lang/String;
      // 63e: iload 8
      // 640: invokestatic java/lang/Integer.toString (I)Ljava/lang/String;
      // 643: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 648: goto 64f
      // 64b: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 64e: athrow
      // 64f: aload 7
      // 651: bipush 0
      // 652: invokeinterface com/l7tech/xml/xpath/XpathResultNodeSet.getType (I)I 2
      // 657: istore 9
      // 659: iload 9
      // 65b: lookupswitch 483 2 1 25 3 299
      // 674: aload 0
      // 675: getstatic com/l7tech/gateway/common/audit/AssertionMessages.XPATH_ELEMENT_FOUND Lcom/l7tech/gateway/common/audit/Messages$M;
      // 678: invokevirtual com/l7tech/server/policy/assertion/ServerXpathAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;)V
      // 67b: aload 0
      // 67c: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.r Ljava/lang/String;
      // 67f: ifnull 6a2
      // 682: goto 689
      // 685: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 688: athrow
      // 689: aload 1
      // 68a: aload 0
      // 68b: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.r Ljava/lang/String;
      // 68e: aload 7
      // 690: bipush 0
      // 691: invokeinterface com/l7tech/xml/xpath/XpathResultNodeSet.getNodeValue (I)Ljava/lang/String; 2
      // 696: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 69b: goto 6a2
      // 69e: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 6a1: athrow
      // 6a2: aload 0
      // 6a3: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.s Ljava/lang/String;
      // 6a6: ifnull 6ea
      // 6a9: iload 8
      // 6ab: ifle 6ea
      // 6ae: goto 6b5
      // 6b1: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 6b4: athrow
      // 6b5: iload 8
      // 6b7: anewarray 242
      // 6ba: astore 10
      // 6bc: bipush 0
      // 6bd: istore 11
      // 6bf: iload 11
      // 6c1: iload 8
      // 6c3: if_icmpge 6de
      // 6c6: aload 10
      // 6c8: iload 11
      // 6ca: aload 7
      // 6cc: iload 11
      // 6ce: invokeinterface com/l7tech/xml/xpath/XpathResultNodeSet.getNodeValue (I)Ljava/lang/String; 2
      // 6d3: aastore
      // 6d4: iinc 11 1
      // 6d7: goto 6bf
      // 6da: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 6dd: athrow
      // 6de: aload 1
      // 6df: aload 0
      // 6e0: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.s Ljava/lang/String;
      // 6e3: aload 10
      // 6e5: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 6ea: aload 0
      // 6eb: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.u Ljava/lang/String;
      // 6ee: ifnull 71f
      // 6f1: aload 7
      // 6f3: invokeinterface com/l7tech/xml/xpath/XpathResultNodeSet.getIterator ()Lcom/l7tech/xml/xpath/XpathResultIterator; 1
      // 6f8: astore 10
      // 6fa: aload 10
      // 6fc: invokeinterface com/l7tech/xml/xpath/XpathResultIterator.hasNext ()Z 1
      // 701: ifeq 71f
      // 704: aload 1
      // 705: aload 0
      // 706: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.u Ljava/lang/String;
      // 709: aload 10
      // 70b: invokeinterface com/l7tech/xml/xpath/XpathResultIterator.nextElementAsCursor ()Lcom/l7tech/xml/ElementCursor; 1
      // 710: invokevirtual com/l7tech/xml/ElementCursor.asString ()Ljava/lang/String;
      // 713: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 718: goto 71f
      // 71b: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 71e: athrow
      // 71f: aload 0
      // 720: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.v Ljava/lang/String;
      // 723: ifnull 782
      // 726: iload 8
      // 728: ifle 782
      // 72b: goto 732
      // 72e: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 731: athrow
      // 732: iload 8
      // 734: anewarray 327
      // 737: astore 10
      // 739: bipush 0
      // 73a: istore 11
      // 73c: aload 7
      // 73e: invokeinterface com/l7tech/xml/xpath/XpathResultNodeSet.getIterator ()Lcom/l7tech/xml/xpath/XpathResultIterator; 1
      // 743: astore 12
      // 745: aload 12
      // 747: invokeinterface com/l7tech/xml/xpath/XpathResultIterator.hasNext ()Z 1
      // 74c: ifeq 776
      // 74f: iload 11
      // 751: iload 8
      // 753: if_icmpge 776
      // 756: goto 75d
      // 759: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 75c: athrow
      // 75d: aload 10
      // 75f: iload 11
      // 761: iinc 11 1
      // 764: aload 12
      // 766: invokeinterface com/l7tech/xml/xpath/XpathResultIterator.nextElementAsCursor ()Lcom/l7tech/xml/ElementCursor; 1
      // 76b: invokevirtual com/l7tech/xml/ElementCursor.asDomElement ()Lorg/w3c/dom/Element;
      // 76e: aastore
      // 76f: goto 745
      // 772: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 775: athrow
      // 776: aload 1
      // 777: aload 0
      // 778: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.v Ljava/lang/String;
      // 77b: aload 10
      // 77d: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 782: getstatic com/l7tech/policy/assertion/AssertionStatus.NONE Lcom/l7tech/policy/assertion/AssertionStatus;
      // 785: areturn
      // 786: aload 0
      // 787: getstatic com/l7tech/gateway/common/audit/AssertionMessages.XPATH_TEXT_NODE_FOUND Lcom/l7tech/gateway/common/audit/Messages$M;
      // 78a: invokevirtual com/l7tech/server/policy/assertion/ServerXpathAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;)V
      // 78d: aload 0
      // 78e: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.r Ljava/lang/String;
      // 791: ifnonnull 7a2
      // 794: aload 0
      // 795: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.u Ljava/lang/String;
      // 798: ifnull 7c4
      // 79b: goto 7a2
      // 79e: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 7a1: athrow
      // 7a2: aload 7
      // 7a4: bipush 0
      // 7a5: invokeinterface com/l7tech/xml/xpath/XpathResultNodeSet.getNodeValue (I)Ljava/lang/String; 2
      // 7aa: astore 10
      // 7ac: aload 1
      // 7ad: aload 0
      // 7ae: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.r Ljava/lang/String;
      // 7b1: aload 10
      // 7b3: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 7b8: aload 1
      // 7b9: aload 0
      // 7ba: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.u Ljava/lang/String;
      // 7bd: aload 10
      // 7bf: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 7c4: aload 0
      // 7c5: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.v Ljava/lang/String;
      // 7c8: ifnonnull 7d9
      // 7cb: aload 0
      // 7cc: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.s Ljava/lang/String;
      // 7cf: ifnull 83a
      // 7d2: goto 7d9
      // 7d5: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 7d8: athrow
      // 7d9: aload 7
      // 7db: invokeinterface com/l7tech/xml/xpath/XpathResultNodeSet.size ()I 1
      // 7e0: ifle 81c
      // 7e3: goto 7ea
      // 7e6: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 7e9: athrow
      // 7ea: aload 7
      // 7ec: invokeinterface com/l7tech/xml/xpath/XpathResultNodeSet.size ()I 1
      // 7f1: anewarray 242
      // 7f4: astore 10
      // 7f6: bipush 0
      // 7f7: istore 11
      // 7f9: iload 11
      // 7fb: aload 10
      // 7fd: arraylength
      // 7fe: if_icmpge 819
      // 801: aload 10
      // 803: iload 11
      // 805: aload 7
      // 807: iload 11
      // 809: invokeinterface com/l7tech/xml/xpath/XpathResultNodeSet.getNodeValue (I)Ljava/lang/String; 2
      // 80e: aastore
      // 80f: iinc 11 1
      // 812: goto 7f9
      // 815: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 818: athrow
      // 819: goto 822
      // 81c: bipush 0
      // 81d: anewarray 242
      // 820: astore 10
      // 822: aload 1
      // 823: aload 0
      // 824: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.v Ljava/lang/String;
      // 827: aload 10
      // 829: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 82e: aload 1
      // 82f: aload 0
      // 830: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.s Ljava/lang/String;
      // 833: aload 10
      // 835: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 83a: getstatic com/l7tech/policy/assertion/AssertionStatus.NONE Lcom/l7tech/policy/assertion/AssertionStatus;
      // 83d: areturn
      // 83e: aload 0
      // 83f: getstatic com/l7tech/gateway/common/audit/AssertionMessages.XPATH_OTHER_NODE_FOUND Lcom/l7tech/gateway/common/audit/Messages$M;
      // 842: invokevirtual com/l7tech/server/policy/assertion/ServerXpathAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;)V
      // 845: aload 0
      // 846: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.r Ljava/lang/String;
      // 849: ifnonnull 85a
      // 84c: aload 0
      // 84d: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.u Ljava/lang/String;
      // 850: ifnull 87c
      // 853: goto 85a
      // 856: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 859: athrow
      // 85a: aload 7
      // 85c: bipush 0
      // 85d: invokeinterface com/l7tech/xml/xpath/XpathResultNodeSet.getNodeValue (I)Ljava/lang/String; 2
      // 862: astore 10
      // 864: aload 1
      // 865: aload 0
      // 866: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.r Ljava/lang/String;
      // 869: aload 10
      // 86b: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 870: aload 1
      // 871: aload 0
      // 872: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.u Ljava/lang/String;
      // 875: aload 10
      // 877: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 87c: aload 0
      // 87d: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.v Ljava/lang/String;
      // 880: ifnonnull 891
      // 883: aload 0
      // 884: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.s Ljava/lang/String;
      // 887: ifnull 8f2
      // 88a: goto 891
      // 88d: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 890: athrow
      // 891: aload 7
      // 893: invokeinterface com/l7tech/xml/xpath/XpathResultNodeSet.size ()I 1
      // 898: ifle 8d4
      // 89b: goto 8a2
      // 89e: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 8a1: athrow
      // 8a2: aload 7
      // 8a4: invokeinterface com/l7tech/xml/xpath/XpathResultNodeSet.size ()I 1
      // 8a9: anewarray 242
      // 8ac: astore 10
      // 8ae: bipush 0
      // 8af: istore 11
      // 8b1: iload 11
      // 8b3: aload 10
      // 8b5: arraylength
      // 8b6: if_icmpge 8d1
      // 8b9: aload 10
      // 8bb: iload 11
      // 8bd: aload 7
      // 8bf: iload 11
      // 8c1: invokeinterface com/l7tech/xml/xpath/XpathResultNodeSet.getNodeValue (I)Ljava/lang/String; 2
      // 8c6: aastore
      // 8c7: iinc 11 1
      // 8ca: goto 8b1
      // 8cd: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 8d0: athrow
      // 8d1: goto 8da
      // 8d4: bipush 0
      // 8d5: anewarray 242
      // 8d8: astore 10
      // 8da: aload 1
      // 8db: aload 0
      // 8dc: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.v Ljava/lang/String;
      // 8df: aload 10
      // 8e1: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 8e6: aload 1
      // 8e7: aload 0
      // 8e8: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.s Ljava/lang/String;
      // 8eb: aload 10
      // 8ed: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 8f2: getstatic com/l7tech/policy/assertion/AssertionStatus.NONE Lcom/l7tech/policy/assertion/AssertionStatus;
      // 8f5: areturn
      // try (7 -> 35): 35 com/l7tech/policy/variable/NoSuchVariableException
      // try (50 -> 90): 95 com/l7tech/policy/variable/NoSuchVariableException
      // try (91 -> 94): 95 com/l7tech/policy/variable/NoSuchVariableException
      // try (343 -> 349): 350 com/l7tech/policy/variable/NoSuchVariableException
      // try (325 -> 339): 339 com/l7tech/policy/variable/NoSuchVariableException
      // try (250 -> 262): 262 com/l7tech/policy/variable/NoSuchVariableException
      // try (240 -> 248): 248 com/l7tech/policy/variable/NoSuchVariableException
      // try (225 -> 237): 237 com/l7tech/policy/variable/NoSuchVariableException
      // try (215 -> 223): 223 com/l7tech/policy/variable/NoSuchVariableException
      // try (200 -> 212): 212 com/l7tech/policy/variable/NoSuchVariableException
      // try (190 -> 198): 198 com/l7tech/policy/variable/NoSuchVariableException
      // try (175 -> 187): 187 com/l7tech/policy/variable/NoSuchVariableException
      // try (165 -> 173): 173 com/l7tech/policy/variable/NoSuchVariableException
      // try (150 -> 162): 162 com/l7tech/policy/variable/NoSuchVariableException
      // try (140 -> 148): 148 com/l7tech/policy/variable/NoSuchVariableException
      // try (125 -> 137): 137 com/l7tech/policy/variable/NoSuchVariableException
      // try (116 -> 123): 123 com/l7tech/policy/variable/NoSuchVariableException
      // try (341 -> 355): 409 org/xml/sax/SAXException
      // try (375 -> 388): 389 com/l7tech/policy/variable/NoSuchVariableException
      // try (369 -> 380): 381 com/l7tech/policy/variable/NoSuchVariableException
      // try (366 -> 372): 373 com/l7tech/policy/variable/NoSuchVariableException
      // try (356 -> 408): 409 org/xml/sax/SAXException
      // try (460 -> 468): 468 com/l7tech/policy/variable/NoSuchVariableException
      // try (448 -> 456): 456 com/l7tech/policy/variable/NoSuchVariableException
      // try (410 -> 429): 430 com/l7tech/policy/variable/NoSuchVariableException
      // try (448 -> 473): 474 javax/xml/xpath/XPathExpressionException
      // try (475 -> 493): 494 com/l7tech/policy/variable/NoSuchVariableException
      // try (496 -> 502): 503 com/l7tech/policy/variable/NoSuchVariableException
      // try (498 -> 507): 507 com/l7tech/policy/variable/NoSuchVariableException
      // try (523 -> 528): 529 com/l7tech/policy/variable/NoSuchVariableException
      // try (525 -> 537): 538 com/l7tech/policy/variable/NoSuchVariableException
      // try (540 -> 553): 553 com/l7tech/policy/variable/NoSuchVariableException
      // try (575 -> 584): 585 com/l7tech/policy/variable/NoSuchVariableException
      // try (594 -> 603): 604 com/l7tech/policy/variable/NoSuchVariableException
      // try (646 -> 659): 660 com/l7tech/policy/variable/NoSuchVariableException
      // try (662 -> 669): 670 com/l7tech/policy/variable/NoSuchVariableException
      // try (665 -> 674): 674 com/l7tech/policy/variable/NoSuchVariableException
      // try (687 -> 701): 702 com/l7tech/policy/variable/NoSuchVariableException
      // try (708 -> 716): 717 com/l7tech/policy/variable/NoSuchVariableException
      // try (710 -> 726): 727 com/l7tech/policy/variable/NoSuchVariableException
      // try (729 -> 734): 735 com/l7tech/policy/variable/NoSuchVariableException
      // try (742 -> 753): 753 com/l7tech/policy/variable/NoSuchVariableException
      // try (766 -> 776): 777 com/l7tech/policy/variable/NoSuchVariableException
      // try (779 -> 784): 785 com/l7tech/policy/variable/NoSuchVariableException
      // try (795 -> 801): 802 com/l7tech/policy/variable/NoSuchVariableException
      // try (798 -> 812): 812 com/l7tech/policy/variable/NoSuchVariableException
      // try (821 -> 830): 831 com/l7tech/policy/variable/NoSuchVariableException
      // try (847 -> 853): 854 com/l7tech/policy/variable/NoSuchVariableException
      // try (850 -> 859): 860 com/l7tech/policy/variable/NoSuchVariableException
      // try (868 -> 880): 880 com/l7tech/policy/variable/NoSuchVariableException
      // try (898 -> 907): 908 com/l7tech/policy/variable/NoSuchVariableException
      // try (924 -> 930): 931 com/l7tech/policy/variable/NoSuchVariableException
      // try (927 -> 936): 937 com/l7tech/policy/variable/NoSuchVariableException
      // try (945 -> 957): 957 com/l7tech/policy/variable/NoSuchVariableException
   }

   private <T> void a(XpathResult var1, PolicyEnforcementContext var2, Function<XpathResult, T> var3, Function<MultiValuedXpathResultAdapter, T[]> var4) {
      if (var1 instanceof MultiValuedXpathResultAdapter var5) {
         this.a(var2, var3.apply(var5), (Object[])var4.apply(var5));
      } else {
         this.a(var2, var3.apply(var1));
      }
   }

   private void a(PolicyEnforcementContext var1, Object var2) {
      this.a(var1, var2, null);
   }

   private void a(PolicyEnforcementContext var1, Object var2, Object[] var3) {
      try {
         var1.setVariable(this.r, var2);
         var1.setVariable(this.u, var2);
         if (var3 != null) {
            var1.setVariable(this.s, var3);
            var1.setVariable(this.v, var3);
            var1.setVariable(this.t, Integer.toString(var3.length));
            return;
         }
      } catch (RuntimeException var4) {
         throw a(var4);
      }

      var1.setVariable(this.s, var2);
      var1.setVariable(this.v, var2);
      var1.setVariable(this.t, "1");
   }

   private void a() {
      ServerXpathAssertion var10000;
      M var10001;
      label16: {
         try {
            var10000 = this;
            if (this.g) {
               var10001 = AssertionMessages.XPATH_REQUEST_NOT_XML;
               break label16;
            }
         } catch (RuntimeException var1) {
            throw a(var1);
         }

         var10001 = AssertionMessages.XPATH_RESPONSE_NOT_XML;
      }

      var10000.logAndAudit(var10001);
   }

   private boolean 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:
      // 00: aload 0
      // 01: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.r Ljava/lang/String;
      // 04: ifnonnull 31
      // 07: aload 0
      // 08: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.u Ljava/lang/String;
      // 0b: ifnonnull 31
      // 0e: goto 15
      // 11: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 14: athrow
      // 15: aload 0
      // 16: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.s Ljava/lang/String;
      // 19: ifnonnull 31
      // 1c: goto 23
      // 1f: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 22: athrow
      // 23: aload 0
      // 24: getfield com/l7tech/server/policy/assertion/ServerXpathAssertion.v Ljava/lang/String;
      // 27: ifnull 39
      // 2a: goto 31
      // 2d: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 30: athrow
      // 31: bipush 1
      // 32: goto 3a
      // 35: invokestatic com/l7tech/server/policy/assertion/ServerXpathAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 38: athrow
      // 39: bipush 0
      // 3a: ireturn
      // try (0 -> 6): 7 java/lang/RuntimeException
      // try (3 -> 12): 13 java/lang/RuntimeException
      // try (9 -> 18): 19 java/lang/RuntimeException
      // try (15 -> 23): 23 java/lang/RuntimeException
   }

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

   static {
      String[] var5 = new String[8];
      int var3 = 0;
      String var2 = "G!\u0015O[v;d\u0014$eM5:a\u0012$dD5\u0006D\u00019b\u0003e,{\u0003(yP|0sZm\t8@,iW`?x]\"A\u000e(rSp=`@,yPp,`\t\"d\u0003a'd\u0005m\"Fm.q\u00039oG(\u000eL0,~K58u\t!oG/~\t8@,iW`?x]\u0002=N";
      int var4 = "G!\u0015O[v;d\u0014$eM5:a\u0012$dD5\u0006D\u00019b\u0003e,{\u0003(yP|0sZm\t8@,iW`?x]\"A\u000e(rSp=`@,yPp,`\t\"d\u0003a'd\u0005m\"Fm.q\u00039oG(\u000eL0,~K58u\t!oG/~\t8@,iW`?x]\u0002=N"
         .length();
      char var1 = '&';
      int var7 = -1;

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

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

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

                  var2 = "XTq\u0007;\u0011\u0012\u001dz@\n:\u0018F\u0011cOF?\u000b]\u001cyB\u0003+YG\u0016gO\t8\u0017\u0012\niR\u0013#\r\u0012\fuQ\u0003o)\u001bcO\u0012*\u0001FXz@\u0014&\u0018P\u0014i\u0001\t)YE\ncO\u0001o\rK\bi\u0001N*\u0001B\u001doU\u0003+D";
                  var4 = "XTq\u0007;\u0011\u0012\u001dz@\n:\u0018F\u0011cOF?\u000b]\u001cyB\u0003+YG\u0016gO\t8\u0017\u0012\niR\u0013#\r\u0012\fuQ\u0003o)\u001bcO\u0012*\u0001FXz@\u0014&\u0018P\u0014i\u0001\t)YE\ncO\u0001o\rK\bi\u0001N*\u0001B\u001doU\u0003+D"
                     .length();
                  var1 = '/';
                  var7 = -1;
            }

            var10000 = 107;
            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] ^ 89);
      }

      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 -> 19;
            case 1 -> 103;
            case 2 -> 74;
            case 3 -> 13;
            case 4 -> 36;
            case 5 -> 18;
            default -> 89;
         });
      }

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