package com.l7tech.server.policy.assertion;

import com.l7tech.common.http.GenericHttpClient;
import com.l7tech.common.http.GenericHttpClientFactory;
import com.l7tech.common.http.GenericHttpException;
import com.l7tech.common.http.GenericHttpHeader;
import com.l7tech.common.http.GenericHttpRequest;
import com.l7tech.common.http.GenericHttpRequestParams;
import com.l7tech.common.http.GenericHttpResponse;
import com.l7tech.common.http.GenericHttpState;
import com.l7tech.common.http.HttpConstants;
import com.l7tech.common.http.HttpMethod;
import com.l7tech.common.http.HttpProxyConfig;
import com.l7tech.common.http.GenericHttpRequestParams.HttpVersion;
import com.l7tech.common.io.SSLSocketFactoryWrapper;
import com.l7tech.common.io.SingleCertX509KeyManager;
import com.l7tech.common.io.SslSocketUtil;
import com.l7tech.common.io.UncheckedIOException;
import com.l7tech.common.io.failover.FailoverStrategy;
import com.l7tech.common.mime.ContentTypeHeader;
import com.l7tech.gateway.common.audit.AssertionMessages;
import com.l7tech.gateway.common.audit.Messages;
import com.l7tech.gateway.common.audit.Messages.M;
import com.l7tech.gateway.common.security.keystore.SsgKeyEntry;
import com.l7tech.gateway.common.service.PublishedService;
import com.l7tech.kerberos.KerberosException;
import com.l7tech.kerberos.KerberosServiceTicket;
import com.l7tech.message.Header;
import com.l7tech.message.HttpRequestKnob;
import com.l7tech.message.Message;
import com.l7tech.objectmodel.FindException;
import com.l7tech.objectmodel.Goid;
import com.l7tech.policy.assertion.AssertionStatus;
import com.l7tech.policy.assertion.HttpPassthroughRuleSet;
import com.l7tech.policy.assertion.HttpRoutingAssertion;
import com.l7tech.policy.assertion.PolicyAssertionException;
import com.l7tech.policy.variable.NoSuchVariableException;
import com.l7tech.policy.variable.Syntax;
import com.l7tech.security.cert.TrustedCert;
import com.l7tech.security.cert.TrustedCertManager;
import com.l7tech.security.xml.SignerInfo;
import com.l7tech.server.DefaultKey;
import com.l7tech.server.StashManagerFactory;
import com.l7tech.server.TelemetryMediatorFactory;
import com.l7tech.server.http.HttpStatePoolManager;
import com.l7tech.server.message.PolicyEnforcementContext;
import com.l7tech.server.policy.variable.ExpandVariables;
import com.l7tech.server.policy.variable.ServerVariables;
import com.l7tech.server.security.keystore.SsgKeyStoreManager;
import com.l7tech.server.transport.http.DefaultHttpCiphers;
import com.l7tech.server.transport.http.SslClientTrustManager;
import com.l7tech.server.util.IdentityBindingHttpClientFactory;
import com.l7tech.util.BuildInfo;
import com.l7tech.util.Config;
import com.l7tech.util.ConfigFactory;
import com.l7tech.util.ExceptionUtils;
import com.l7tech.util.HexUtils;
import com.l7tech.util.Pair;
import com.l7tech.util.SyspropUtil;
import jakarta.inject.Inject;
import jakarta.inject.Named;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.security.KeyManagementException;
import java.security.KeyStoreException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.UnrecoverableKeyException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Queue;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.KeyManager;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import javax.wsdl.WSDLException;
import org.apache.commons.lang3.StringUtils;
import org.jetbrains.annotations.NotNull;
import org.springframework.context.ApplicationContext;

public final class ServerHttpRoutingAssertion extends AbstractServerHttpRoutingAssertion<HttpRoutingAssertion> {
   public static final String PROP_ENABLE_STATE_POOL;
   public static final boolean ENABLE_STATE_POOL;
   public static final String SSL_DYNAMIC_INFO_CACHE_IDLE_TIMEOUT_PROPERTY;
   public static final long SSL_DYNAMIC_INFO_CACHE_IDLE_TIMEOUT_DEFAULT = 600000L;
   public static final String PROP_REFRESH_ROUTE_INFO_ON_KEY_CHANGES;
   public static final boolean REFRESH_ROUTE_INFO_ON_KEY_CHANGES;
   private static final int f = 1;
   private static final String g;
   private static final int h;
   private static final String i;
   private static final String j;
   private static final String k;
   private static final Goid l;
   private static final String m;
   public static final int HOST_NOT_FOUND = -1;
   public static final int BAD_URL = -2;
   public static final int CONNECTION_TIMEOUT = -3;
   public static final int READ_TIMEOUT = -4;
   public static final int UNDEFINED = -5;
   public static final int MAX_DURATION_EXCEEDED = -6;
   public static final String USER_AGENT;
   public static final String HOST;
   private static final boolean n;
   private static final Pattern o;
   private final Config p;
   private final StashManagerFactory q;
   private final HostnameVerifier r;
   private final FailoverStrategy<String> s;
   private final String[] t;
   private final int u;
   private final boolean v;
   private final boolean w;
   private final URL x;
   private final boolean y;
   private final String z;
   private final HttpStatePoolManager A;
   private final SslClientTrustManager B;
   private final SsgKeyStoreManager C;
   private final DefaultKey D;
   private final TrustedCertManager E;
   private final y F;
   private final boolean G;
   private final String H;
   private w I;
   @Inject
   @Named("telemetryMediatorFactory")
   TelemetryMediatorFactory telemetryMediatorFactory;
   private final Queue<Object> J;
   public static final String PRODUCT;
   public static final String DEFAULT_USER_AGENT;
   private static final String[] N;

   public ServerHttpRoutingAssertion(HttpRoutingAssertion param1, ApplicationContext param2) throws 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: aload 1
      // 002: aload 2
      // 003: invokespecial com/l7tech/server/policy/assertion/AbstractServerHttpRoutingAssertion.<init> (Lcom/l7tech/policy/assertion/HttpRoutingAssertion;Lorg/springframework/context/ApplicationContext;)V
      // 006: aload 0
      // 007: invokestatic java/util/UUID.randomUUID ()Ljava/util/UUID;
      // 00a: invokevirtual java/util/UUID.toString ()Ljava/lang/String;
      // 00d: putfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.H Ljava/lang/String;
      // 010: aload 0
      // 011: new java/util/concurrent/ConcurrentLinkedQueue
      // 014: dup
      // 015: invokespecial java/util/concurrent/ConcurrentLinkedQueue.<init> ()V
      // 018: putfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.J Ljava/util/Queue;
      // 01b: aload 1
      // 01c: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getNtlmHost ()Ljava/lang/String;
      // 01f: ifnonnull 029
      // 022: aload 1
      // 023: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.isKrbDelegatedAuthentication ()Z
      // 026: ifeq 04a
      // 029: aload 1
      // 02a: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getProxyHost ()Ljava/lang/String;
      // 02d: ifnull 04a
      // 030: goto 037
      // 033: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 036: athrow
      // 037: new com/l7tech/policy/assertion/PolicyAssertionException
      // 03a: dup
      // 03b: aload 1
      // 03c: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 03f: bipush 72
      // 041: aaload
      // 042: invokespecial com/l7tech/policy/assertion/PolicyAssertionException.<init> (Lcom/l7tech/policy/assertion/Assertion;Ljava/lang/String;)V
      // 045: athrow
      // 046: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 049: athrow
      // 04a: aload 0
      // 04b: aload 2
      // 04c: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 04f: bipush 10
      // 051: aaload
      // 052: ldc com/l7tech/util/Config
      // 054: invokeinterface org/springframework/context/ApplicationContext.getBean (Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; 3
      // 059: checkcast com/l7tech/util/Config
      // 05c: putfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.p Lcom/l7tech/util/Config;
      // 05f: aload 0
      // 060: aload 2
      // 061: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 064: bipush 104
      // 066: aaload
      // 067: ldc com/l7tech/server/transport/http/SslClientTrustManager
      // 069: invokeinterface org/springframework/context/ApplicationContext.getBean (Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; 3
      // 06e: checkcast com/l7tech/server/transport/http/SslClientTrustManager
      // 071: putfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.B Lcom/l7tech/server/transport/http/SslClientTrustManager;
      // 074: aload 0
      // 075: aload 2
      // 076: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 079: bipush 50
      // 07b: aaload
      // 07c: ldc com/l7tech/server/security/keystore/SsgKeyStoreManager
      // 07e: invokeinterface org/springframework/context/ApplicationContext.getBean (Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; 3
      // 083: checkcast com/l7tech/server/security/keystore/SsgKeyStoreManager
      // 086: putfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.C Lcom/l7tech/server/security/keystore/SsgKeyStoreManager;
      // 089: aload 0
      // 08a: aload 2
      // 08b: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 08e: bipush 75
      // 090: aaload
      // 091: ldc com/l7tech/server/DefaultKey
      // 093: invokeinterface org/springframework/context/ApplicationContext.getBean (Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; 3
      // 098: checkcast com/l7tech/server/DefaultKey
      // 09b: putfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.D Lcom/l7tech/server/DefaultKey;
      // 09e: aload 0
      // 09f: aload 2
      // 0a0: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 0a3: bipush 49
      // 0a5: aaload
      // 0a6: ldc com/l7tech/security/cert/TrustedCertManager
      // 0a8: invokeinterface org/springframework/context/ApplicationContext.getBean (Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; 3
      // 0ad: checkcast com/l7tech/security/cert/TrustedCertManager
      // 0b0: putfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.E Lcom/l7tech/security/cert/TrustedCertManager;
      // 0b3: aload 0
      // 0b4: aload 1
      // 0b5: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getCustomURLs ()[Ljava/lang/String;
      // 0b8: ifnull 0d2
      // 0bb: aload 1
      // 0bc: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getCustomURLs ()[Ljava/lang/String;
      // 0bf: arraylength
      // 0c0: ifle 0d2
      // 0c3: goto 0ca
      // 0c6: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0c9: athrow
      // 0ca: bipush 1
      // 0cb: goto 0d3
      // 0ce: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0d1: athrow
      // 0d2: bipush 0
      // 0d3: putfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.y Z
      // 0d6: aload 0
      // 0d7: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.y Z
      // 0da: ifne 184
      // 0dd: aload 1
      // 0de: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getProtectedServiceUrl ()Ljava/lang/String;
      // 0e1: astore 3
      // 0e2: aload 3
      // 0e3: ifnull 10b
      // 0e6: aload 0
      // 0e7: aload 3
      // 0e8: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 0eb: bipush 71
      // 0ed: aaload
      // 0ee: invokevirtual java/lang/String.indexOf (Ljava/lang/String;)I
      // 0f1: bipush -1
      // 0f2: if_icmple 104
      // 0f5: goto 0fc
      // 0f8: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0fb: athrow
      // 0fc: bipush 1
      // 0fd: goto 105
      // 100: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 103: athrow
      // 104: bipush 0
      // 105: putfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.v Z
      // 108: goto 121
      // 10b: aload 0
      // 10c: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logger Ljava/util/logging/Logger;
      // 10f: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 112: astore 8
      // 114: aload 8
      // 116: bipush 90
      // 118: aaload
      // 119: invokevirtual java/util/logging/Logger.info (Ljava/lang/String;)V
      // 11c: aload 0
      // 11d: bipush 0
      // 11e: putfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.v Z
      // 121: aload 0
      // 122: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.v Z
      // 125: ifne 136
      // 128: aload 1
      // 129: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getProtectedServiceUrl ()Ljava/lang/String;
      // 12c: ifnonnull 142
      // 12f: goto 136
      // 132: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 135: athrow
      // 136: aload 0
      // 137: aconst_null
      // 138: putfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.x Ljava/net/URL;
      // 13b: goto 181
      // 13e: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 141: athrow
      // 142: aconst_null
      // 143: astore 4
      // 145: new java/net/URL
      // 148: dup
      // 149: aload 1
      // 14a: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getProtectedServiceUrl ()Ljava/lang/String;
      // 14d: invokespecial java/net/URL.<init> (Ljava/lang/String;)V
      // 150: astore 4
      // 152: goto 17b
      // 155: astore 5
      // 157: aload 0
      // 158: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logger Ljava/util/logging/Logger;
      // 15b: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 15e: aload 5
      // 160: invokevirtual java/net/MalformedURLException.getMessage ()Ljava/lang/String;
      // 163: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 166: astore 8
      // 168: aload 8
      // 16a: bipush 107
      // 16c: aaload
      // 16d: swap
      // 16e: 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" ]
      // 173: aload 5
      // 175: invokestatic com/l7tech/util/ExceptionUtils.getDebugException (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 178: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 17b: aload 0
      // 17c: aload 4
      // 17e: putfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.x Ljava/net/URL;
      // 181: goto 18e
      // 184: aload 0
      // 185: bipush 0
      // 186: putfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.v Z
      // 189: aload 0
      // 18a: aconst_null
      // 18b: putfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.x Ljava/net/URL;
      // 18e: aload 0
      // 18f: aconst_null
      // 190: aload 1
      // 191: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getLogin ()Ljava/lang/String;
      // 194: if_acmpeq 1a8
      // 197: aload 1
      // 198: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getLogin ()Ljava/lang/String;
      // 19b: invokestatic com/l7tech/policy/variable/Syntax.isAnyVariableReferenced (Ljava/lang/String;)Z
      // 19e: ifne 208
      // 1a1: goto 1a8
      // 1a4: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1a7: athrow
      // 1a8: aconst_null
      // 1a9: aload 1
      // 1aa: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getPassword ()Ljava/lang/String;
      // 1ad: if_acmpeq 1c8
      // 1b0: goto 1b7
      // 1b3: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1b6: athrow
      // 1b7: aload 1
      // 1b8: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getPassword ()Ljava/lang/String;
      // 1bb: invokestatic com/l7tech/policy/variable/Syntax.isAnyVariableReferenced (Ljava/lang/String;)Z
      // 1be: ifne 208
      // 1c1: goto 1c8
      // 1c4: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1c7: athrow
      // 1c8: aconst_null
      // 1c9: aload 1
      // 1ca: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getRealm ()Ljava/lang/String;
      // 1cd: if_acmpeq 1e8
      // 1d0: goto 1d7
      // 1d3: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1d6: athrow
      // 1d7: aload 1
      // 1d8: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getRealm ()Ljava/lang/String;
      // 1db: invokestatic com/l7tech/policy/variable/Syntax.isAnyVariableReferenced (Ljava/lang/String;)Z
      // 1de: ifne 208
      // 1e1: goto 1e8
      // 1e4: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1e7: athrow
      // 1e8: aconst_null
      // 1e9: aload 1
      // 1ea: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getNtlmHost ()Ljava/lang/String;
      // 1ed: if_acmpeq 210
      // 1f0: goto 1f7
      // 1f3: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1f6: athrow
      // 1f7: aload 1
      // 1f8: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getNtlmHost ()Ljava/lang/String;
      // 1fb: invokestatic com/l7tech/policy/variable/Syntax.isAnyVariableReferenced (Ljava/lang/String;)Z
      // 1fe: ifeq 210
      // 201: goto 208
      // 204: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 207: athrow
      // 208: bipush 1
      // 209: goto 211
      // 20c: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 20f: athrow
      // 210: bipush 0
      // 211: putfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.w Z
      // 214: aload 0
      // 215: aload 0
      // 216: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.applicationContext Lorg/springframework/context/ApplicationContext;
      // 219: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 21c: bipush 69
      // 21e: aaload
      // 21f: ldc javax/net/ssl/HostnameVerifier
      // 221: invokeinterface org/springframework/context/ApplicationContext.getBean (Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; 3
      // 226: checkcast javax/net/ssl/HostnameVerifier
      // 229: putfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.r Ljavax/net/ssl/HostnameVerifier;
      // 22c: aload 0
      // 22d: aload 0
      // 22e: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.p Lcom/l7tech/util/Config;
      // 231: aload 0
      // 232: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.applicationContext Lorg/springframework/context/ApplicationContext;
      // 235: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 238: bipush 94
      // 23a: aaload
      // 23b: ldc com/l7tech/server/util/ApplicationEventProxy
      // 23d: invokeinterface org/springframework/context/ApplicationContext.getBean (Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; 3
      // 242: checkcast com/l7tech/server/util/ApplicationEventProxy
      // 245: invokestatic com/l7tech/server/policy/assertion/y.getInstance (Lcom/l7tech/util/Config;Lcom/l7tech/server/util/ApplicationEventProxy;)Lcom/l7tech/server/policy/assertion/y;
      // 248: putfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.F Lcom/l7tech/server/policy/assertion/y;
      // 24b: aload 1
      // 24c: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.isUsesDynamicPrivateKey ()Z
      // 24f: ifne 260
      // 252: aload 1
      // 253: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getDynamicCertificateVariable ()Ljava/lang/String;
      // 256: ifnull 2c5
      // 259: goto 260
      // 25c: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 25f: athrow
      // 260: aload 0
      // 261: bipush 0
      // 262: putfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.G Z
      // 265: aload 0
      // 266: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logger Ljava/util/logging/Logger;
      // 269: getstatic java/util/logging/Level.FINE Ljava/util/logging/Level;
      // 26c: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 26f: bipush 32
      // 271: aaload
      // 272: bipush 2
      // 273: anewarray 1549
      // 276: dup
      // 277: bipush 0
      // 278: aload 1
      // 279: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.isUsesDynamicPrivateKey ()Z
      // 27c: ifeq 293
      // 27f: goto 286
      // 282: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 285: athrow
      // 286: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 289: bipush 7
      // 28b: aaload
      // 28c: goto 29d
      // 28f: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 292: athrow
      // 293: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 296: astore 8
      // 298: aload 8
      // 29a: bipush 48
      // 29c: aaload
      // 29d: aastore
      // 29e: dup
      // 29f: bipush 1
      // 2a0: aload 1
      // 2a1: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getDynamicCertificateVariable ()Ljava/lang/String;
      // 2a4: ifnull 2b4
      // 2a7: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 2aa: bipush 53
      // 2ac: aaload
      // 2ad: goto 2be
      // 2b0: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2b3: athrow
      // 2b4: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 2b7: astore 8
      // 2b9: aload 8
      // 2bb: bipush 59
      // 2bd: aaload
      // 2be: aastore
      // 2bf: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
      // 2c2: goto 301
      // 2c5: aload 0
      // 2c6: bipush 1
      // 2c7: putfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.G Z
      // 2ca: aload 0
      // 2cb: aload 1
      // 2cc: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Lcom/l7tech/policy/assertion/HttpRoutingAssertion;)Lcom/l7tech/server/policy/assertion/w;
      // 2cf: astore 3
      // 2d0: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.REFRESH_ROUTE_INFO_ON_KEY_CHANGES Z
      // 2d3: ifeq 2fc
      // 2d6: aload 3
      // 2d7: getfield com/l7tech/server/policy/assertion/w.c Lcom/l7tech/security/xml/SignerInfo;
      // 2da: ifnull 2fc
      // 2dd: goto 2e4
      // 2e0: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2e3: athrow
      // 2e4: aload 0
      // 2e5: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.F Lcom/l7tech/server/policy/assertion/y;
      // 2e8: invokevirtual com/l7tech/server/policy/assertion/y.getCache ()Lcom/github/benmanes/caffeine/cache/Cache;
      // 2eb: aload 0
      // 2ec: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.H Ljava/lang/String;
      // 2ef: aload 3
      // 2f0: invokeinterface com/github/benmanes/caffeine/cache/Cache.put (Ljava/lang/Object;Ljava/lang/Object;)V 3
      // 2f5: goto 301
      // 2f8: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2fb: athrow
      // 2fc: aload 0
      // 2fd: aload 3
      // 2fe: putfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.I Lcom/l7tech/server/policy/assertion/w;
      // 301: aload 0
      // 302: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.applicationContext Lorg/springframework/context/ApplicationContext;
      // 305: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 308: astore 8
      // 30a: aload 8
      // 30c: bipush 44
      // 30e: aaload
      // 30f: ldc com/l7tech/server/StashManagerFactory
      // 311: invokeinterface org/springframework/context/ApplicationContext.getBean (Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; 3
      // 316: checkcast com/l7tech/server/StashManagerFactory
      // 319: astore 3
      // 31a: goto 339
      // 31d: astore 4
      // 31f: aload 0
      // 320: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logger Ljava/util/logging/Logger;
      // 323: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 326: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 329: astore 8
      // 32b: aload 8
      // 32d: bipush 54
      // 32f: aaload
      // 330: aload 4
      // 332: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 335: invokestatic com/l7tech/server/DefaultStashManagerFactory.getInstance ()Lcom/l7tech/server/StashManagerFactory;
      // 338: astore 3
      // 339: aload 0
      // 33a: aload 3
      // 33b: putfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.q Lcom/l7tech/server/StashManagerFactory;
      // 33e: aload 1
      // 33f: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getCustomIpAddresses ()[Ljava/lang/String;
      // 342: astore 4
      // 344: aload 4
      // 346: ifnull 3aa
      // 349: aload 4
      // 34b: arraylength
      // 34c: ifle 3aa
      // 34f: goto 356
      // 352: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 355: athrow
      // 356: aload 0
      // 357: aload 4
      // 359: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.areValidUrlHostnames ([Ljava/lang/String;)Z
      // 35c: ifeq 3aa
      // 35f: goto 366
      // 362: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 365: athrow
      // 366: aload 1
      // 367: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getFailoverStrategyName ()Ljava/lang/String;
      // 36a: astore 5
      // 36c: aload 5
      // 36e: aload 4
      // 370: invokestatic com/l7tech/common/io/failover/FailoverStrategyFactory.createFailoverStrategy (Ljava/lang/String;[Ljava/lang/Object;)Lcom/l7tech/common/io/failover/FailoverStrategy;
      // 373: astore 6
      // 375: goto 397
      // 378: astore 7
      // 37a: aload 0
      // 37b: getstatic com/l7tech/gateway/common/audit/AssertionMessages.HTTPROUTE_BAD_STRATEGY_NAME Lcom/l7tech/gateway/common/audit/Messages$M;
      // 37e: bipush 1
      // 37f: anewarray 1549
      // 382: dup
      // 383: bipush 0
      // 384: aload 5
      // 386: aastore
      // 387: aload 7
      // 389: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;Ljava/lang/Throwable;)V
      // 38c: new com/l7tech/common/io/failover/StickyFailoverStrategy
      // 38f: dup
      // 390: aload 4
      // 392: invokespecial com/l7tech/common/io/failover/StickyFailoverStrategy.<init> ([Ljava/lang/Object;)V
      // 395: astore 6
      // 397: aload 0
      // 398: aload 6
      // 39a: invokestatic com/l7tech/common/io/failover/AbstractFailoverStrategy.makeSynchronized (Lcom/l7tech/common/io/failover/FailoverStrategy;)Lcom/l7tech/common/io/failover/FailoverStrategy;
      // 39d: putfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.s Lcom/l7tech/common/io/failover/FailoverStrategy;
      // 3a0: aload 0
      // 3a1: aload 4
      // 3a3: arraylength
      // 3a4: putfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.u I
      // 3a7: goto 405
      // 3aa: aload 0
      // 3ab: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.y Z
      // 3ae: ifeq 3fb
      // 3b1: aload 1
      // 3b2: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getFailoverStrategyName ()Ljava/lang/String;
      // 3b5: astore 5
      // 3b7: aload 5
      // 3b9: aload 1
      // 3ba: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getCustomURLs ()[Ljava/lang/String;
      // 3bd: invokestatic com/l7tech/common/io/failover/FailoverStrategyFactory.createFailoverStrategy (Ljava/lang/String;[Ljava/lang/Object;)Lcom/l7tech/common/io/failover/FailoverStrategy;
      // 3c0: astore 6
      // 3c2: goto 3e6
      // 3c5: astore 7
      // 3c7: aload 0
      // 3c8: getstatic com/l7tech/gateway/common/audit/AssertionMessages.HTTPROUTE_BAD_STRATEGY_NAME Lcom/l7tech/gateway/common/audit/Messages$M;
      // 3cb: bipush 1
      // 3cc: anewarray 1549
      // 3cf: dup
      // 3d0: bipush 0
      // 3d1: aload 5
      // 3d3: aastore
      // 3d4: aload 7
      // 3d6: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;Ljava/lang/Throwable;)V
      // 3d9: new com/l7tech/common/io/failover/StickyFailoverStrategy
      // 3dc: dup
      // 3dd: aload 1
      // 3de: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getCustomURLs ()[Ljava/lang/String;
      // 3e1: invokespecial com/l7tech/common/io/failover/StickyFailoverStrategy.<init> ([Ljava/lang/Object;)V
      // 3e4: astore 6
      // 3e6: aload 0
      // 3e7: aload 6
      // 3e9: invokestatic com/l7tech/common/io/failover/AbstractFailoverStrategy.makeSynchronized (Lcom/l7tech/common/io/failover/FailoverStrategy;)Lcom/l7tech/common/io/failover/FailoverStrategy;
      // 3ec: putfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.s Lcom/l7tech/common/io/failover/FailoverStrategy;
      // 3ef: aload 0
      // 3f0: aload 1
      // 3f1: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getCustomURLs ()[Ljava/lang/String;
      // 3f4: arraylength
      // 3f5: putfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.u I
      // 3f8: goto 405
      // 3fb: aload 0
      // 3fc: aconst_null
      // 3fd: putfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.s Lcom/l7tech/common/io/failover/FailoverStrategy;
      // 400: aload 0
      // 401: bipush 1
      // 402: putfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.u I
      // 405: aload 0
      // 406: aload 1
      // 407: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getVariablesUsed ()[Ljava/lang/String;
      // 40a: putfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.t [Ljava/lang/String;
      // 40d: aload 0
      // 40e: new java/security/SecureRandom
      // 411: dup
      // 412: invokespecial java/security/SecureRandom.<init> ()V
      // 415: bipush 0
      // 416: invokestatic com/l7tech/common/password/Sha512Crypt.generateSalt (Ljava/security/SecureRandom;I)Ljava/lang/String;
      // 419: putfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.z Ljava/lang/String;
      // 41c: aload 0
      // 41d: aload 0
      // 41e: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.applicationContext Lorg/springframework/context/ApplicationContext;
      // 421: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 424: bipush 85
      // 426: aaload
      // 427: ldc com/l7tech/server/http/HttpStatePoolManager
      // 429: invokeinterface org/springframework/context/ApplicationContext.getBean (Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; 3
      // 42e: checkcast com/l7tech/server/http/HttpStatePoolManager
      // 431: putfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.A Lcom/l7tech/server/http/HttpStatePoolManager;
      // 434: return
      // try (137 -> 147): 147 java/net/MalformedURLException
      // try (134 -> 140): 141 java/net/MalformedURLException
      // try (105 -> 118): 118 java/net/MalformedURLException
      // try (103 -> 113): 114 java/net/MalformedURLException
      // try (84 -> 93): 93 java/net/MalformedURLException
      // try (35 -> 88): 89 java/net/MalformedURLException
      // try (19 -> 33): 33 java/net/MalformedURLException
      // try (16 -> 22): 23 java/net/MalformedURLException
      // try (151 -> 157): 158 java/net/MalformedURLException
      // try (335 -> 349): 349 java/net/MalformedURLException
      // try (333 -> 338): 339 java/net/MalformedURLException
      // try (306 -> 316): 316 java/net/MalformedURLException
      // try (276 -> 299): 299 java/net/MalformedURLException
      // try (270 -> 292): 293 java/net/MalformedURLException
      // try (243 -> 273): 274 java/net/MalformedURLException
      // try (231 -> 240): 240 java/net/MalformedURLException
      // try (224 -> 235): 236 java/net/MalformedURLException
      // try (217 -> 228): 229 java/net/MalformedURLException
      // try (210 -> 221): 222 java/net/MalformedURLException
      // try (203 -> 214): 215 java/net/MalformedURLException
      // try (196 -> 207): 208 java/net/MalformedURLException
      // try (189 -> 200): 201 java/net/MalformedURLException
      // try (184 -> 193): 194 java/net/MalformedURLException
      // try (354 -> 365): 366 java/lang/Exception
      // try (387 -> 397): 398 java/net/MalformedURLException
      // try (385 -> 390): 391 java/net/MalformedURLException
      // try (403 -> 407): 408 java/lang/IllegalArgumentException
      // try (439 -> 444): 445 java/lang/IllegalArgumentException
   }

   private GenericHttpClientFactory a() {
      GenericHttpClientFactory var1;
      try {
         var1 = this.b();
      } catch (Exception var3) {
         this.logAndAudit(Messages.EXCEPTION_WARNING_WITH_MORE_INFO, new String[]{N[60]}, var3);
         var1 = new IdentityBindingHttpClientFactory();
      }

      return var1;
   }

   private SignerInfo a(HttpRoutingAssertion var1, String var2) throws IOException, UnrecoverableKeyException, FindException, KeyStoreException {
      try {
         if (var1.isUsesNoKey()) {
            return null;
         }
      } catch (IOException var7) {
         throw a(var7);
      }

      try {
         if (var1.isUsesDefaultKeyStore()) {
            return this.D.getLatestClientSslInfo();
         }
      } catch (IOException var9) {
         throw a(var9);
      }

      Goid var3;
      String var4;
      if (var1.isUsesDynamicPrivateKey()) {
         String[] var6 = N;
         this.logger.log(Level.INFO, var6[98], var2);
         int var5 = var2.indexOf(58);
         if (var5 != -1) {
            var3 = Goid.parseGoid(var2.substring(0, var5));
            var4 = var2.substring(var5 + 1);
         } else {
            var3 = l;
            var4 = var2;
         }
      } else {
         var3 = var1.getNonDefaultKeystoreId();
         var4 = var1.getKeyAlias();
      }

      try {
         if (var4 == null) {
            throw new IllegalStateException(N[66]);
         }
      } catch (IOException var8) {
         throw a(var8);
      }

      SsgKeyEntry var10 = this.C.lookupKeyByKeyAlias(var4, var3);
      return new SignerInfo(var10.getPrivateKey(), var10.getCertificateChain());
   }

   private SSLContext a(HttpRoutingAssertion var1, SignerInfo var2, Map<Goid, TrustedCert> var3) throws NoSuchAlgorithmException, KeyManagementException, UnrecoverableKeyException {
      String[] var9 = N;
      SSLContext var4 = SSLContext.getInstance(var9[40]);

      SingleCertX509KeyManager var10000;
      label37: {
         try {
            if (var2 != null) {
               var10000 = new SingleCertX509KeyManager(var2.getCertificateChain(), var2.getPrivate());
               break label37;
            }
         } catch (NoSuchAlgorithmException var11) {
            throw a(var11);
         }

         var10000 = null;
      }

      SingleCertX509KeyManager var5 = var10000;
      X509TrustManager var6;
      if (var3 != null) {
         this.logger.log(Level.INFO, N[24], var3.values().stream().map(TrustedCert::getName).collect(Collectors.toList()));
         var6 = this.B.createTrustManagerWithCustomTrustedCerts(var3.keySet());
      } else if (var1.getTlsTrustedCertGoids() != null) {
         var6 = this.B.createTrustManagerWithCustomTrustedCerts(new HashSet<>(List.of(var1.getTlsTrustedCertGoids())));
      } else {
         var6 = this.B;
      }

      KeyManager[] var10001;
      label29: {
         try {
            var12 = var4;
            if (var5 != null) {
               var10001 = new KeyManager[]{var5};
               break label29;
            }
         } catch (NoSuchAlgorithmException var10) {
            throw a(var10);
         }

         var10001 = null;
      }

      var12.init(var10001, new TrustManager[]{var6}, null);
      int var7 = ConfigFactory.getIntProperty(HttpRoutingAssertion.PROP_SSL_SESSION_TIMEOUT, 600);
      var4.getClientSessionContext().setSessionTimeout(var7);
      int var8 = ConfigFactory.getIntProperty(HttpRoutingAssertion.PROP_SSL_SESSION_CACHE_SIZE, 10000);
      var4.getClientSessionContext().setSessionCacheSize(var8);
      return var4;
   }

   private Map<Goid, TrustedCert> a(String param1) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: new java/util/LinkedHashMap
      // 03: dup
      // 04: invokespecial java/util/LinkedHashMap.<init> ()V
      // 07: astore 2
      // 08: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.o Ljava/util/regex/Pattern;
      // 0b: aload 1
      // 0c: invokevirtual java/lang/String.trim ()Ljava/lang/String;
      // 0f: invokevirtual java/util/regex/Pattern.split (Ljava/lang/CharSequence;)[Ljava/lang/String;
      // 12: astore 3
      // 13: aload 0
      // 14: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logger Ljava/util/logging/Logger;
      // 17: getstatic java/util/logging/Level.FINE Ljava/util/logging/Level;
      // 1a: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 1d: astore 11
      // 1f: aload 11
      // 21: bipush 37
      // 23: aaload
      // 24: aload 1
      // 25: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
      // 28: aload 3
      // 29: astore 4
      // 2b: aload 4
      // 2d: arraylength
      // 2e: istore 5
      // 30: bipush 0
      // 31: istore 6
      // 33: iload 6
      // 35: iload 5
      // 37: if_icmpge c9
      // 3a: aload 4
      // 3c: iload 6
      // 3e: aaload
      // 3f: astore 7
      // 41: aload 0
      // 42: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.E Lcom/l7tech/security/cert/TrustedCertManager;
      // 45: aload 7
      // 47: invokeinterface com/l7tech/security/cert/TrustedCertManager.findByName (Ljava/lang/String;)Ljava/util/Collection; 2
      // 4c: astore 8
      // 4e: aload 8
      // 50: ifnull 64
      // 53: aload 8
      // 55: invokeinterface java/util/Collection.isEmpty ()Z 1
      // 5a: ifeq 7c
      // 5d: goto 64
      // 60: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 63: athrow
      // 64: aload 0
      // 65: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logger Ljava/util/logging/Logger;
      // 68: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 6b: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 6e: bipush 0
      // 6f: aaload
      // 70: aload 7
      // 72: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
      // 75: goto ac
      // 78: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 7b: athrow
      // 7c: aload 8
      // 7e: invokeinterface java/util/Collection.iterator ()Ljava/util/Iterator; 1
      // 83: astore 9
      // 85: aload 9
      // 87: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 8c: ifeq ac
      // 8f: aload 9
      // 91: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 96: checkcast com/l7tech/security/cert/TrustedCert
      // 99: astore 10
      // 9b: aload 2
      // 9c: aload 10
      // 9e: invokevirtual com/l7tech/security/cert/TrustedCert.getGoid ()Lcom/l7tech/objectmodel/Goid;
      // a1: aload 10
      // a3: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // a8: pop
      // a9: goto 85
      // ac: goto c3
      // af: astore 8
      // b1: aload 0
      // b2: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logger Ljava/util/logging/Logger;
      // b5: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // b8: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // bb: bipush 87
      // bd: aaload
      // be: aload 7
      // c0: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
      // c3: iinc 6 1
      // c6: goto 33
      // c9: aload 2
      // ca: areturn
      // try (40 -> 55): 55 com/l7tech/objectmodel/FindException
      // try (38 -> 43): 44 com/l7tech/objectmodel/FindException
      // try (33 -> 74): 75 com/l7tech/objectmodel/FindException
   }

   private SSLSocketFactory a(SSLContext var1) {
      SSLSocketFactory var2 = var1.getSocketFactory();
      String[] var3 = SslSocketUtil.filterSelectedTLSVersion(this.assertion.getTlsVersion(), SslSocketUtil.DEFAULT_SUPPORTED_TLS_VERSIONS);
      if (var3.length == 0) {
         var3 = SslSocketUtil.DEFAULT_SUPPORTED_TLS_VERSIONS_ARRAY;
      }

      String[] var4 = this.b(this.assertion.getTlsCipherSuites());
      return SSLSocketFactoryWrapper.wrapAndSetTlsVersionAndCipherSuites(var2, var3, var4);
   }

   private w a(HttpRoutingAssertion var1, String var2, Map<Goid, TrustedCert> var3) {
      try {
         SignerInfo var4 = this.a(var1, var2);
         SSLContext var5 = this.a(var1, var4, var3);

         boolean var10000;
         label20: {
            try {
               if (this.d() == HttpVersion.HTTP_VERSION_1_0) {
                  var10000 = true;
                  break label20;
               }
            } catch (Exception var7) {
               throw a(var7);
            }

            var10000 = false;
         }

         boolean var6 = var10000;
         return com.l7tech.server.policy.assertion.w.a().a(var4).a(var5).a(this.a(var5)).a(var6).a(this.a()).a();
      } catch (Exception var8) {
         throw new ServerHttpRoutingAssertion.RouteInfoException(N[14] + var8.getMessage(), var8);
      }
   }

   private w b(HttpRoutingAssertion var1, String var2, Map<Goid, TrustedCert> var3) {
      try {
         return this.a(var1, var2, var3);
      } catch (RuntimeException var5) {
         this.logAndAudit(AssertionMessages.HTTPROUTE_SSL_INIT_FAILED, null, ExceptionUtils.getDebugException(var5));
         this.logAndAudit(Messages.EXCEPTION_WARNING_WITH_MORE_INFO, new String[]{N[91] + ExceptionUtils.getMessage(var5)}, null);
         return com.l7tech.server.policy.assertion.w.a().a(this.a()).a();
      }
   }

   private w a(HttpRoutingAssertion var1) {
      return this.b(var1, null, null);
   }

   private w a(Map<String, ?> param1) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 0
      // 01: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.G Z
      // 04: ifeq 25
      // 07: aload 0
      // 08: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.F Lcom/l7tech/server/policy/assertion/y;
      // 0b: invokevirtual com/l7tech/server/policy/assertion/y.getCache ()Lcom/github/benmanes/caffeine/cache/Cache;
      // 0e: aload 0
      // 0f: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.H Ljava/lang/String;
      // 12: aload 0
      // 13: invokedynamic apply (Lcom/l7tech/server/policy/assertion/ServerHttpRoutingAssertion;)Ljava/util/function/Function; bsm=java/lang/invoke/LambdaMetafactory.metafactory (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; args=[ (Ljava/lang/Object;)Ljava/lang/Object;, com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.lambda$getCachedRouteInfo$0 (Ljava/lang/String;)Lcom/l7tech/server/policy/assertion/w;, (Ljava/lang/String;)Lcom/l7tech/server/policy/assertion/w; ]
      // 18: invokeinterface com/github/benmanes/caffeine/cache/Cache.get (Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object; 3
      // 1d: checkcast com/l7tech/server/policy/assertion/w
      // 20: areturn
      // 21: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 24: athrow
      // 25: aload 0
      // 26: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 29: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 2c: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.isUsesDynamicPrivateKey ()Z
      // 2f: ifeq 5f
      // 32: aload 0
      // 33: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 36: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 39: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getDynamicPrivateKeyVariable ()Ljava/lang/String;
      // 3c: ifnull 5f
      // 3f: goto 46
      // 42: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 45: athrow
      // 46: aload 0
      // 47: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 4a: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 4d: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getDynamicPrivateKeyVariable ()Ljava/lang/String;
      // 50: aload 1
      // 51: aload 0
      // 52: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.getAudit ()Lcom/l7tech/gateway/common/audit/Audit;
      // 55: invokestatic com/l7tech/server/policy/variable/ExpandVariables.process (Ljava/lang/String;Ljava/util/Map;Lcom/l7tech/gateway/common/audit/Audit;)Ljava/lang/String;
      // 58: goto 60
      // 5b: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 5e: athrow
      // 5f: aconst_null
      // 60: astore 2
      // 61: aload 0
      // 62: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 65: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 68: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getDynamicCertificateVariable ()Ljava/lang/String;
      // 6b: ifnull 87
      // 6e: aload 0
      // 6f: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 72: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 75: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getDynamicCertificateVariable ()Ljava/lang/String;
      // 78: aload 1
      // 79: aload 0
      // 7a: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.getAudit ()Lcom/l7tech/gateway/common/audit/Audit;
      // 7d: invokestatic com/l7tech/server/policy/variable/ExpandVariables.process (Ljava/lang/String;Ljava/util/Map;Lcom/l7tech/gateway/common/audit/Audit;)Ljava/lang/String;
      // 80: goto 88
      // 83: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 86: athrow
      // 87: aconst_null
      // 88: astore 3
      // 89: aload 0
      // 8a: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.H Ljava/lang/String;
      // 8d: aload 2
      // 8e: aload 3
      // 8f: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001\u0001" ]
      // 94: astore 4
      // 96: aload 0
      // 97: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.F Lcom/l7tech/server/policy/assertion/y;
      // 9a: invokevirtual com/l7tech/server/policy/assertion/y.getCache ()Lcom/github/benmanes/caffeine/cache/Cache;
      // 9d: aload 4
      // 9f: aload 0
      // a0: aload 2
      // a1: aload 3
      // a2: invokedynamic apply (Lcom/l7tech/server/policy/assertion/ServerHttpRoutingAssertion;Ljava/lang/String;Ljava/lang/String;)Ljava/util/function/Function; bsm=java/lang/invoke/LambdaMetafactory.metafactory (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; args=[ (Ljava/lang/Object;)Ljava/lang/Object;, com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.lambda$getCachedRouteInfo$1 (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/l7tech/server/policy/assertion/w;, (Ljava/lang/String;)Lcom/l7tech/server/policy/assertion/w; ]
      // a7: invokeinterface com/github/benmanes/caffeine/cache/Cache.get (Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object; 3
      // ac: checkcast com/l7tech/server/policy/assertion/w
      // af: areturn
      // try (0 -> 13): 13 java/lang/IllegalArgumentException
      // try (15 -> 25): 26 java/lang/IllegalArgumentException
      // try (20 -> 37): 37 java/lang/IllegalArgumentException
      // try (41 -> 55): 55 java/lang/IllegalArgumentException
   }

   private String[] b(String var1) {
      if (var1 == null) {
         var1 = DefaultHttpCiphers.getDefaultEnabledOutboundCipherSuites();
      }

      return o.split(var1.trim() + "," + SslSocketUtil.TLS_EMPTY_RENEGOTIATION_INFO_SCSV);
   }

   private GenericHttpClientFactory 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/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 04: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 07: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getProxyHost ()Ljava/lang/String;
      // 0a: astore 1
      // 0b: aload 0
      // 0c: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.d ()Lcom/l7tech/common/http/GenericHttpRequestParams$HttpVersion;
      // 0f: getstatic com/l7tech/common/http/GenericHttpRequestParams$HttpVersion.HTTP_VERSION_1_0 Lcom/l7tech/common/http/GenericHttpRequestParams$HttpVersion;
      // 12: if_acmpne 1d
      // 15: bipush 1
      // 16: goto 1e
      // 19: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1c: athrow
      // 1d: bipush 0
      // 1e: istore 2
      // 1f: aload 1
      // 20: ifnonnull 5f
      // 23: iload 2
      // 24: ifeq 47
      // 27: goto 2e
      // 2a: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2d: athrow
      // 2e: aload 0
      // 2f: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.applicationContext Lorg/springframework/context/ApplicationContext;
      // 32: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 35: bipush 38
      // 37: aaload
      // 38: ldc com/l7tech/common/http/GenericHttpClientFactory
      // 3a: invokeinterface org/springframework/context/ApplicationContext.getBean (Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; 3
      // 3f: checkcast com/l7tech/common/http/GenericHttpClientFactory
      // 42: areturn
      // 43: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 46: athrow
      // 47: aload 0
      // 48: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.applicationContext Lorg/springframework/context/ApplicationContext;
      // 4b: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 4e: astore 4
      // 50: aload 4
      // 52: bipush 5
      // 53: aaload
      // 54: ldc com/l7tech/common/http/GenericHttpClientFactory
      // 56: invokeinterface org/springframework/context/ApplicationContext.getBean (Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; 3
      // 5b: checkcast com/l7tech/common/http/GenericHttpClientFactory
      // 5e: areturn
      // 5f: aload 0
      // 60: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.applicationContext Lorg/springframework/context/ApplicationContext;
      // 63: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 66: bipush 76
      // 68: aaload
      // 69: ldc com/l7tech/server/transport/http/HttpConnectionManagerListener
      // 6b: invokeinterface org/springframework/context/ApplicationContext.getBean (Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; 3
      // 70: checkcast com/l7tech/server/transport/http/HttpConnectionManagerListener
      // 73: astore 3
      // 74: new com/l7tech/server/policy/assertion/t
      // 77: dup
      // 78: aload 0
      // 79: iload 2
      // 7a: aload 3
      // 7b: invokespecial com/l7tech/server/policy/assertion/t.<init> (Lcom/l7tech/server/policy/assertion/ServerHttpRoutingAssertion;ZLcom/l7tech/server/transport/http/HttpConnectionManagerListener;)V
      // 7e: areturn
      // try (5 -> 11): 11 java/lang/IllegalArgumentException
      // try (15 -> 19): 20 java/lang/IllegalArgumentException
      // try (17 -> 31): 31 java/lang/IllegalArgumentException
   }

   void a(GenericHttpClientFactory var1) {
      w var2 = (w)this.F.getCache().getIfPresent(this.H);

      try {
         if (this.I != null) {
            this.I = com.l7tech.server.policy.assertion.w.a().a(this.I.getSignerInfo()).a(this.I.getSslContext()).a(this.I.getSslSocketFactory()).a(var1).a();
            return;
         }
      } catch (IllegalArgumentException var3) {
         throw a(var3);
      }

      if (var2 != null) {
         var2 = com.l7tech.server.policy.assertion.w.a().a(var2.getSignerInfo()).a(var2.getSslContext()).a(var2.getSslSocketFactory()).a(var1).a();
         this.F.getCache().put(this.H, var2);
      } else {
         this.I = com.l7tech.server.policy.assertion.w.a().a(var1).a();
      }
   }

   @Override
   public AssertionStatus checkRequest(PolicyEnforcementContext var1) throws IOException, PolicyAssertionException {
      Message var2 = this.b(var1);
      Map var3 = var1.getVariableMap(this.t, this.getAudit());
      URL var4 = null;

      try {
         w var10000;
         label196: {
            try {
               var1.routingStarted();
               var1.setVariable(HttpRoutingAssertion.VAR_HTTP_ROUTING_REASON_CODE, -5);
               if (this.I != null) {
                  var10000 = this.I;
                  break label196;
               }
            } catch (WSDLException var34) {
               throw a(var34);
            }

            var10000 = this.a(var3);
         }

         w var5 = var10000;

         label188: {
            try {
               if (this.d() == HttpVersion.HTTP_VERSION_1_0) {
                  var38 = true;
                  break label188;
               }
            } catch (WSDLException var33) {
               throw a(var33);
            }

            var38 = false;
         }

         boolean var6 = var38;

         try {
            if (var5.isUseHttp10() != var6) {
               this.a(var5, var6);
            }
         } catch (WSDLException var32) {
            throw a(var32);
         }

         if (!this.y) {
            PublishedService var7 = var1.getService();

            try {
               var4 = this.a(var7, var3);
            } catch (WSDLException var28) {
               this.logAndAudit(AssertionMessages.EXCEPTION_SEVERE, null, var28);
               return AssertionStatus.FAILED;
            } catch (MalformedURLException var29) {
               this.a(var1, var29);
               M var10001 = AssertionMessages.EXCEPTION_WARNING_WITH_MORE_INFO;
               String[] var10002 = new String[1];
               String var10005 = ExceptionUtils.getMessage(var29);
               String[] var16 = N;
               var10002[0] = var16[83] + var10005;
               this.logAndAudit(var10001, var10002, ExceptionUtils.getDebugException(var29));
               return AssertionStatus.FAILED;
            }

            this.firePreRouting(var1, var2, var4);
            if (this.s == null) {
               return this.a(var1, var2, var4, var5);
            }
         }

         String var37 = null;
         ArrayList var8 = new ArrayList();

         for (int var9 = 0; var9 < this.u; var9++) {
            String var10 = (String)this.s.selectService();

            try {
               if (var10 == null) {
                  break;
               }
            } catch (WSDLException var30) {
               throw a(var30);
            }

            try {
               if (var37 != null) {
                  this.logAndAudit(AssertionMessages.HTTPROUTE_FAILOVER_FROM_TO, var37, var10);
               }
            } catch (WSDLException var27) {
               throw a(var27);
            }

            label171: {
               try {
                  if (var10.indexOf(N[71]) > -1) {
                     var39 = ExpandVariables.process(var10, var3, this.getAudit());
                     break label171;
                  }
               } catch (WSDLException var31) {
                  throw a(var31);
               }

               var39 = var10;
            }

            String var12 = var39;
            URL var11;
            if (this.y) {
               var11 = new URL(var12);
            } else {
               var11 = new URL(var4.getProtocol(), var12, var4.getPort(), var4.getFile());
            }

            AssertionStatus var13 = this.a(var1, var2, var11, var5);
            if (var13 == AssertionStatus.NONE) {
               this.s.reportSuccess(var10);
               var1.setVariable(HttpRoutingAssertion.getVarHttpRoutingUrlBlacklist(), var8.toArray(new String[var8.size()]));
               return var13;
            }

            var37 = var10;
            var8.add(var12);
            this.s.reportFailure(var10);
         }

         var1.setVariable(HttpRoutingAssertion.getVarHttpRoutingUrlBlacklist(), var8.toArray(new String[var8.size()]));
         this.logAndAudit(AssertionMessages.HTTPROUTE_TOO_MANY_ATTEMPTS);
         return AssertionStatus.FAILED;
      } catch (FindException var35) {
         throw new PolicyAssertionException(this.assertion, var35);
      } finally {
         var1.routingFinished();
      }
   }

   private synchronized void a(w var1, boolean var2) {
      try {
         if (var1.isUseHttp10() != var2) {
            var1.d = this.a();
            var1.e = var2;
         }
      } catch (IllegalArgumentException var3) {
         throw a(var3);
      }
   }

   private String a(PolicyEnforcementContext var1, String var2) {
      AbstractServerAssertion.VariableExpander var3 = this.getVariableExpander(var1);

      try {
         if (Syntax.isAnyVariableReferenced(var2)) {
            return var3.expandVariables(var2);
         }
      } catch (IllegalArgumentException var4) {
         throw a(var4);
      }

      return var2;
   }

   private int b(PolicyEnforcementContext var1, String var2) throws NumberFormatException {
      try {
         return Integer.parseInt(this.a(var1, var2));
      } catch (NumberFormatException var4) {
         this.logAndAudit(AssertionMessages.SET_VARIABLE_UNABLE_TO_PARSE_INTEGER, new String[]{this.assertion.getProxyPort()}, var4);
         throw var4;
      }
   }

   private AssertionStatus a(PolicyEnforcementContext param1, Message param2, URL param3, w param4) throws PolicyAssertionException, FindException {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 000: aload 1
      // 001: getstatic com/l7tech/policy/assertion/RoutingStatus.ATTEMPTED Lcom/l7tech/policy/assertion/RoutingStatus;
      // 004: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setRoutingStatus (Lcom/l7tech/policy/assertion/RoutingStatus;)V 2
      // 009: aload 1
      // 00a: aload 3
      // 00b: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setRoutedServiceUrl (Ljava/net/URL;)V 2
      // 010: aload 0
      // 011: aload 1
      // 012: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.c (Lcom/l7tech/server/message/PolicyEnforcementContext;)V
      // 015: aconst_null
      // 016: astore 5
      // 018: new com/l7tech/common/http/GenericHttpRequestParams
      // 01b: dup
      // 01c: aload 3
      // 01d: invokespecial com/l7tech/common/http/GenericHttpRequestParams.<init> (Ljava/net/URL;)V
      // 020: astore 6
      // 022: aload 6
      // 024: aload 4
      // 026: invokevirtual com/l7tech/server/policy/assertion/w.getSslSocketFactory ()Ljavax/net/ssl/SSLSocketFactory;
      // 029: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setSslSocketFactory (Ljavax/net/ssl/SSLSocketFactory;)V
      // 02c: aload 6
      // 02e: aload 4
      // 030: invokevirtual com/l7tech/server/policy/assertion/w.getSslContext ()Ljavax/net/ssl/SSLContext;
      // 033: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setSslContext (Ljavax/net/ssl/SSLContext;)V
      // 036: aload 0
      // 037: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 03a: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 03d: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getTlsVersion ()Ljava/lang/String;
      // 040: getstatic com/l7tech/common/io/SslSocketUtil.DEFAULT_SUPPORTED_TLS_VERSIONS Ljava/util/Set;
      // 043: invokestatic com/l7tech/common/io/SslSocketUtil.filterSelectedTLSVersion (Ljava/lang/String;Ljava/util/Set;)[Ljava/lang/String;
      // 046: astore 7
      // 048: aload 7
      // 04a: arraylength
      // 04b: ifne 053
      // 04e: getstatic com/l7tech/common/io/SslSocketUtil.DEFAULT_SUPPORTED_TLS_VERSIONS_ARRAY [Ljava/lang/String;
      // 051: astore 7
      // 053: aload 6
      // 055: aload 7
      // 057: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setSupportedProtocols ([Ljava/lang/String;)V
      // 05a: aload 0
      // 05b: aload 0
      // 05c: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 05f: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 062: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getTlsCipherSuites ()Ljava/lang/String;
      // 065: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.b (Ljava/lang/String;)[Ljava/lang/String;
      // 068: astore 8
      // 06a: aload 6
      // 06c: aload 8
      // 06e: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setSupportedCiphers ([Ljava/lang/String;)V
      // 071: aload 6
      // 073: aload 0
      // 074: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.r Ljavax/net/ssl/HostnameVerifier;
      // 077: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setHostnameVerifier (Ljavax/net/ssl/HostnameVerifier;)V
      // 07a: aload 0
      // 07b: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 07e: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 081: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getMaxRetries ()I
      // 084: iflt 09d
      // 087: aload 6
      // 089: aload 0
      // 08a: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 08d: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 090: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getMaxRetries ()I
      // 093: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setMaxRetries (I)V
      // 096: goto 0a5
      // 099: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 09c: athrow
      // 09d: aload 6
      // 09f: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.h I
      // 0a2: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setMaxRetries (I)V
      // 0a5: aload 6
      // 0a7: aload 0
      // 0a8: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 0ab: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 0ae: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.isForceIncludeRequestBody ()Z
      // 0b1: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setForceIncludeRequestBody (Z)V
      // 0b4: aload 0
      // 0b5: aload 2
      // 0b6: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.handleProcessedSecurityHeader (Lcom/l7tech/message/Message;)V
      // 0b9: aload 0
      // 0ba: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 0bd: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 0c0: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getUserAgent ()Ljava/lang/String;
      // 0c3: astore 9
      // 0c5: aload 9
      // 0c7: ifnull 0d9
      // 0ca: aload 9
      // 0cc: invokevirtual java/lang/String.length ()I
      // 0cf: ifne 0de
      // 0d2: goto 0d9
      // 0d5: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0d8: athrow
      // 0d9: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.DEFAULT_USER_AGENT Ljava/lang/String;
      // 0dc: astore 9
      // 0de: aload 6
      // 0e0: new com/l7tech/common/http/GenericHttpHeader
      // 0e3: dup
      // 0e4: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.USER_AGENT Ljava/lang/String;
      // 0e7: aload 9
      // 0e9: invokespecial com/l7tech/common/http/GenericHttpHeader.<init> (Ljava/lang/String;Ljava/lang/String;)V
      // 0ec: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.addExtraHeader (Lcom/l7tech/common/http/HttpHeader;)V
      // 0ef: new java/lang/StringBuilder
      // 0f2: dup
      // 0f3: aload 3
      // 0f4: invokevirtual java/net/URL.getHost ()Ljava/lang/String;
      // 0f7: invokespecial java/lang/StringBuilder.<init> (Ljava/lang/String;)V
      // 0fa: astore 10
      // 0fc: aload 3
      // 0fd: invokevirtual java/net/URL.getPort ()I
      // 100: istore 11
      // 102: iload 11
      // 104: bipush -1
      // 105: if_icmpeq 11f
      // 108: aload 10
      // 10a: ldc ":"
      // 10c: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 10f: pop
      // 110: aload 10
      // 112: iload 11
      // 114: invokevirtual java/lang/StringBuilder.append (I)Ljava/lang/StringBuilder;
      // 117: pop
      // 118: goto 11f
      // 11b: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 11e: athrow
      // 11f: aload 1
      // 120: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getRequest ()Lcom/l7tech/message/Message; 1
      // 125: ldc com/l7tech/message/HttpRequestKnob
      // 127: invokevirtual com/l7tech/message/Message.getKnob (Ljava/lang/Class;)Ljava/lang/Object;
      // 12a: checkcast com/l7tech/message/HttpRequestKnob
      // 12d: astore 12
      // 12f: aload 0
      // 130: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 133: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 136: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.isTaiCredentialChaining ()Z
      // 139: ifeq 150
      // 13c: aload 0
      // 13d: aload 1
      // 13e: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getDefaultAuthenticationContext ()Lcom/l7tech/server/message/AuthenticationContext; 1
      // 143: aload 6
      // 145: aload 3
      // 146: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.doTaiCredentialChaining (Lcom/l7tech/server/message/AuthenticationContext;Lcom/l7tech/common/http/GenericHttpRequestParams;Ljava/net/URL;)V
      // 149: goto 150
      // 14c: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 14f: athrow
      // 150: aload 0
      // 151: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 154: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 157: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getLogin ()Ljava/lang/String;
      // 15a: astore 13
      // 15c: aload 0
      // 15d: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 160: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 163: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getPassword ()Ljava/lang/String;
      // 166: astore 14
      // 168: aload 0
      // 169: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 16c: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 16f: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getRealm ()Ljava/lang/String;
      // 172: astore 15
      // 174: aload 0
      // 175: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 178: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 17b: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getNtlmHost ()Ljava/lang/String;
      // 17e: astore 16
      // 180: aload 1
      // 181: aload 0
      // 182: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.t [Ljava/lang/String;
      // 185: aload 0
      // 186: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.getAudit ()Lcom/l7tech/gateway/common/audit/Audit;
      // 189: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getVariableMap ([Ljava/lang/String;Lcom/l7tech/gateway/common/audit/Audit;)Ljava/util/Map; 3
      // 18e: astore 17
      // 190: aload 13
      // 192: ifnull 288
      // 195: aload 13
      // 197: invokevirtual java/lang/String.length ()I
      // 19a: ifle 288
      // 19d: goto 1a4
      // 1a0: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1a3: athrow
      // 1a4: aload 14
      // 1a6: ifnull 288
      // 1a9: goto 1b0
      // 1ac: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1af: athrow
      // 1b0: aload 14
      // 1b2: invokevirtual java/lang/String.length ()I
      // 1b5: ifle 288
      // 1b8: goto 1bf
      // 1bb: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1be: athrow
      // 1bf: aload 13
      // 1c1: aload 17
      // 1c3: aload 0
      // 1c4: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.getAudit ()Lcom/l7tech/gateway/common/audit/Audit;
      // 1c7: invokestatic com/l7tech/server/policy/variable/ExpandVariables.process (Ljava/lang/String;Ljava/util/Map;Lcom/l7tech/gateway/common/audit/Audit;)Ljava/lang/String;
      // 1ca: astore 13
      // 1cc: aload 14
      // 1ce: aload 17
      // 1d0: aload 0
      // 1d1: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.getAudit ()Lcom/l7tech/gateway/common/audit/Audit;
      // 1d4: invokestatic com/l7tech/server/policy/variable/ExpandVariables.process (Ljava/lang/String;Ljava/util/Map;Lcom/l7tech/gateway/common/audit/Audit;)Ljava/lang/String;
      // 1d7: astore 14
      // 1d9: aload 15
      // 1db: ifnull 1eb
      // 1de: aload 15
      // 1e0: aload 17
      // 1e2: aload 0
      // 1e3: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.getAudit ()Lcom/l7tech/gateway/common/audit/Audit;
      // 1e6: invokestatic com/l7tech/server/policy/variable/ExpandVariables.process (Ljava/lang/String;Ljava/util/Map;Lcom/l7tech/gateway/common/audit/Audit;)Ljava/lang/String;
      // 1e9: astore 15
      // 1eb: aload 16
      // 1ed: ifnull 1fd
      // 1f0: aload 16
      // 1f2: aload 17
      // 1f4: aload 0
      // 1f5: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.getAudit ()Lcom/l7tech/gateway/common/audit/Audit;
      // 1f8: invokestatic com/l7tech/server/policy/variable/ExpandVariables.process (Ljava/lang/String;Ljava/util/Map;Lcom/l7tech/gateway/common/audit/Audit;)Ljava/lang/String;
      // 1fb: astore 16
      // 1fd: aload 0
      // 1fe: getstatic com/l7tech/gateway/common/audit/AssertionMessages.HTTPROUTE_LOGIN_INFO Lcom/l7tech/gateway/common/audit/Messages$M;
      // 201: bipush 1
      // 202: anewarray 1549
      // 205: dup
      // 206: bipush 0
      // 207: aload 13
      // 209: aastore
      // 20a: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 20d: aload 15
      // 20f: ifnull 257
      // 212: aload 15
      // 214: invokevirtual java/lang/String.length ()I
      // 217: ifle 257
      // 21a: goto 221
      // 21d: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 220: athrow
      // 221: aload 16
      // 223: ifnonnull 23d
      // 226: goto 22d
      // 229: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 22c: athrow
      // 22d: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 230: astore 26
      // 232: aload 26
      // 234: bipush 52
      // 236: aaload
      // 237: aconst_null
      // 238: invokestatic com/l7tech/util/ConfigFactory.getProperty (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
      // 23b: astore 16
      // 23d: aload 6
      // 23f: new com/l7tech/common/http/NtlmAuthentication
      // 242: dup
      // 243: aload 13
      // 245: aload 14
      // 247: invokevirtual java/lang/String.toCharArray ()[C
      // 24a: aload 15
      // 24c: aload 16
      // 24e: invokespecial com/l7tech/common/http/NtlmAuthentication.<init> (Ljava/lang/String;[CLjava/lang/String;Ljava/lang/String;)V
      // 251: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setNtlmAuthentication (Lcom/l7tech/common/http/NtlmAuthentication;)V
      // 254: goto 288
      // 257: aload 6
      // 259: bipush 1
      // 25a: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setPreemptiveAuthentication (Z)V
      // 25d: aload 6
      // 25f: new java/net/PasswordAuthentication
      // 262: dup
      // 263: aload 13
      // 265: aload 14
      // 267: invokevirtual java/lang/String.toCharArray ()[C
      // 26a: invokespecial java/net/PasswordAuthentication.<init> (Ljava/lang/String;[C)V
      // 26d: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setPasswordAuthentication (Ljava/net/PasswordAuthentication;)V
      // 270: aload 6
      // 272: aload 0
      // 273: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.p Lcom/l7tech/util/Config;
      // 276: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 279: astore 26
      // 27b: aload 26
      // 27d: bipush 1
      // 27e: aaload
      // 27f: bipush 0
      // 280: invokeinterface com/l7tech/util/Config.getBooleanProperty (Ljava/lang/String;Z)Z 3
      // 285: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setEnableAutoChallenge (Z)V
      // 288: aload 0
      // 289: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 28c: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 28f: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.isAttachSamlSenderVouches ()Z
      // 292: ifeq 2b6
      // 295: aload 0
      // 296: aload 0
      // 297: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 29a: checkcast com/l7tech/policy/assertion/RoutingAssertionWithSamlSV
      // 29d: aload 2
      // 29e: aload 1
      // 29f: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getDefaultAuthenticationContext ()Lcom/l7tech/server/message/AuthenticationContext; 1
      // 2a4: invokevirtual com/l7tech/server/message/AuthenticationContext.getLastCredentials ()Lcom/l7tech/policy/assertion/credential/LoginCredentials;
      // 2a7: aload 4
      // 2a9: invokevirtual com/l7tech/server/policy/assertion/w.getSignerInfo ()Lcom/l7tech/security/xml/SignerInfo;
      // 2ac: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.doAttachSamlSenderVouches (Lcom/l7tech/policy/assertion/RoutingAssertionWithSamlSV;Lcom/l7tech/message/Message;Lcom/l7tech/policy/assertion/credential/LoginCredentials;Lcom/l7tech/security/xml/SignerInfo;)V
      // 2af: goto 342
      // 2b2: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2b5: athrow
      // 2b6: aload 0
      // 2b7: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 2ba: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 2bd: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.isPassthroughHttpAuthentication ()Z
      // 2c0: ifeq 342
      // 2c3: aload 12
      // 2c5: ifnull 342
      // 2c8: goto 2cf
      // 2cb: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2ce: athrow
      // 2cf: aload 12
      // 2d1: getstatic com/l7tech/common/http/HttpConstants.HEADER_AUTHORIZATION Ljava/lang/String;
      // 2d4: invokeinterface com/l7tech/message/HttpRequestKnob.getHeaderValues (Ljava/lang/String;)[Ljava/lang/String; 2
      // 2d9: astore 18
      // 2db: bipush 0
      // 2dc: istore 19
      // 2de: aload 0
      // 2df: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 2e2: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 2e5: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getRequestHeaderRules ()Lcom/l7tech/policy/assertion/HttpPassthroughRuleSet;
      // 2e8: invokevirtual com/l7tech/policy/assertion/HttpPassthroughRuleSet.isForwardAll ()Z
      // 2eb: ifeq 2f4
      // 2ee: bipush 1
      // 2ef: istore 19
      // 2f1: goto 328
      // 2f4: aload 18
      // 2f6: astore 20
      // 2f8: aload 20
      // 2fa: arraylength
      // 2fb: istore 21
      // 2fd: bipush 0
      // 2fe: istore 22
      // 300: iload 22
      // 302: iload 21
      // 304: if_icmpge 328
      // 307: aload 20
      // 309: iload 22
      // 30b: aaload
      // 30c: astore 23
      // 30e: bipush 1
      // 30f: istore 19
      // 311: aload 6
      // 313: new com/l7tech/common/http/GenericHttpHeader
      // 316: dup
      // 317: getstatic com/l7tech/common/http/HttpConstants.HEADER_AUTHORIZATION Ljava/lang/String;
      // 31a: aload 23
      // 31c: invokespecial com/l7tech/common/http/GenericHttpHeader.<init> (Ljava/lang/String;Ljava/lang/String;)V
      // 31f: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.addExtraHeader (Lcom/l7tech/common/http/HttpHeader;)V
      // 322: iinc 22 1
      // 325: goto 300
      // 328: iload 19
      // 32a: ifeq 33b
      // 32d: aload 0
      // 32e: getstatic com/l7tech/gateway/common/audit/AssertionMessages.HTTPROUTE_PASSTHROUGH_REQUEST Lcom/l7tech/gateway/common/audit/Messages$M;
      // 331: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;)V
      // 334: goto 342
      // 337: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 33a: athrow
      // 33b: aload 0
      // 33c: getstatic com/l7tech/gateway/common/audit/AssertionMessages.HTTPROUTE_PASSTHROUGH_REQUEST_NC Lcom/l7tech/gateway/common/audit/Messages$M;
      // 33f: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;)V
      // 342: aconst_null
      // 343: astore 18
      // 345: aload 0
      // 346: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 349: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 34c: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.isKrbDelegatedAuthentication ()Z
      // 34f: ifeq 36f
      // 352: aload 0
      // 353: aload 1
      // 354: aload 3
      // 355: invokevirtual java/net/URL.getHost ()Ljava/lang/String;
      // 358: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.getDelegatedKerberosTicket (Lcom/l7tech/server/message/PolicyEnforcementContext;Ljava/lang/String;)Lcom/l7tech/kerberos/KerberosServiceTicket;
      // 35b: astore 19
      // 35d: aload 19
      // 35f: invokevirtual com/l7tech/kerberos/KerberosServiceTicket.getEncData ()Lorg/jaaslounge/decoding/kerberos/KerberosEncData;
      // 362: astore 18
      // 364: aload 0
      // 365: aload 19
      // 367: aload 6
      // 369: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Lcom/l7tech/kerberos/KerberosServiceTicket;Lcom/l7tech/common/http/GenericHttpRequestParams;)V
      // 36c: goto 42a
      // 36f: aload 0
      // 370: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 373: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 376: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.isKrbUseGatewayKeytab ()Z
      // 379: ifeq 3be
      // 37c: new com/l7tech/server/security/kerberos/KerberosRoutingClient
      // 37f: dup
      // 380: invokespecial com/l7tech/server/security/kerberos/KerberosRoutingClient.<init> ()V
      // 383: astore 19
      // 385: aload 3
      // 386: invokevirtual java/net/URL.getProtocol ()Ljava/lang/String;
      // 389: aload 3
      // 38a: invokevirtual java/net/URL.getHost ()Ljava/lang/String;
      // 38d: bipush 1
      // 38e: invokestatic com/l7tech/kerberos/KerberosClient.getKerberosAcceptPrincipal (Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;
      // 391: astore 20
      // 393: aload 3
      // 394: invokevirtual java/net/URL.getProtocol ()Ljava/lang/String;
      // 397: aload 3
      // 398: invokevirtual java/net/URL.getHost ()Ljava/lang/String;
      // 39b: invokestatic com/l7tech/kerberos/KerberosClient.getServicePrincipalName (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
      // 39e: astore 21
      // 3a0: aload 19
      // 3a2: aload 21
      // 3a4: aload 20
      // 3a6: bipush 1
      // 3a7: invokevirtual com/l7tech/server/security/kerberos/KerberosRoutingClient.getKerberosServiceTicket (Ljava/lang/String;Ljava/lang/String;Z)Lcom/l7tech/kerberos/KerberosServiceTicket;
      // 3aa: astore 22
      // 3ac: aload 22
      // 3ae: invokevirtual com/l7tech/kerberos/KerberosServiceTicket.getEncData ()Lorg/jaaslounge/decoding/kerberos/KerberosEncData;
      // 3b1: astore 18
      // 3b3: aload 0
      // 3b4: aload 22
      // 3b6: aload 6
      // 3b8: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Lcom/l7tech/kerberos/KerberosServiceTicket;Lcom/l7tech/common/http/GenericHttpRequestParams;)V
      // 3bb: goto 42a
      // 3be: aload 0
      // 3bf: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 3c2: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 3c5: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getKrbConfiguredAccount ()Ljava/lang/String;
      // 3c8: ifnull 42a
      // 3cb: new com/l7tech/server/security/kerberos/KerberosRoutingClient
      // 3ce: dup
      // 3cf: invokespecial com/l7tech/server/security/kerberos/KerberosRoutingClient.<init> ()V
      // 3d2: astore 19
      // 3d4: aload 0
      // 3d5: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 3d8: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 3db: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getKrbConfiguredAccount ()Ljava/lang/String;
      // 3de: aload 17
      // 3e0: aload 0
      // 3e1: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.getAudit ()Lcom/l7tech/gateway/common/audit/Audit;
      // 3e4: invokestatic com/l7tech/server/policy/variable/ExpandVariables.process (Ljava/lang/String;Ljava/util/Map;Lcom/l7tech/gateway/common/audit/Audit;)Ljava/lang/String;
      // 3e7: astore 20
      // 3e9: aload 0
      // 3ea: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 3ed: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 3f0: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getKrbConfiguredPassword ()Ljava/lang/String;
      // 3f3: astore 21
      // 3f5: aload 21
      // 3f7: ifnonnull 402
      // 3fa: aconst_null
      // 3fb: goto 40d
      // 3fe: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 401: athrow
      // 402: aload 21
      // 404: aload 17
      // 406: aload 0
      // 407: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.getAudit ()Lcom/l7tech/gateway/common/audit/Audit;
      // 40a: invokestatic com/l7tech/server/policy/variable/ExpandVariables.process (Ljava/lang/String;Ljava/util/Map;Lcom/l7tech/gateway/common/audit/Audit;)Ljava/lang/String;
      // 40d: astore 21
      // 40f: aload 19
      // 411: aload 3
      // 412: aload 20
      // 414: aload 21
      // 416: invokevirtual com/l7tech/server/security/kerberos/KerberosRoutingClient.getKerberosServiceTicket (Ljava/net/URL;Ljava/lang/String;Ljava/lang/String;)Lcom/l7tech/kerberos/KerberosServiceTicket;
      // 419: astore 22
      // 41b: aload 22
      // 41d: invokevirtual com/l7tech/kerberos/KerberosServiceTicket.getEncData ()Lorg/jaaslounge/decoding/kerberos/KerberosEncData;
      // 420: astore 18
      // 422: aload 0
      // 423: aload 22
      // 425: aload 6
      // 427: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Lcom/l7tech/kerberos/KerberosServiceTicket;Lcom/l7tech/common/http/GenericHttpRequestParams;)V
      // 42a: aload 18
      // 42c: ifnull 441
      // 42f: aload 1
      // 430: getstatic com/l7tech/policy/assertion/HttpRoutingAssertion.KERBEROS_DATA Ljava/lang/String;
      // 433: aload 18
      // 435: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 43a: goto 441
      // 43d: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 440: athrow
      // 441: aload 0
      // 442: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 445: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 448: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getAuthOauthTokenVar ()Ljava/lang/String;
      // 44b: astore 19
      // 44d: aload 19
      // 44f: ifnull 4ce
      // 452: aload 19
      // 454: invokevirtual java/lang/String.trim ()Ljava/lang/String;
      // 457: invokevirtual java/lang/String.length ()I
      // 45a: ifle 4ce
      // 45d: goto 464
      // 460: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 463: athrow
      // 464: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 467: bipush 103
      // 469: aaload
      // 46a: aload 0
      // 46b: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 46e: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 471: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getAuthOauthVersion ()Ljava/lang/String;
      // 474: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 477: ifeq 48e
      // 47a: goto 481
      // 47d: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 480: athrow
      // 481: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 484: bipush 67
      // 486: aaload
      // 487: goto 498
      // 48a: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 48d: athrow
      // 48e: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 491: astore 26
      // 493: aload 26
      // 495: bipush 101
      // 497: aaload
      // 498: astore 20
      // 49a: aload 20
      // 49c: aload 19
      // 49e: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 4a1: astore 26
      // 4a3: aload 26
      // 4a5: bipush 33
      // 4a7: aaload
      // 4a8: swap
      // 4a9: ldc "}"
      // 4ab: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001\u0001\u0001" ]
      // 4b0: aload 17
      // 4b2: aload 0
      // 4b3: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.getAudit ()Lcom/l7tech/gateway/common/audit/Audit;
      // 4b6: invokestatic com/l7tech/server/policy/variable/ExpandVariables.process (Ljava/lang/String;Ljava/util/Map;Lcom/l7tech/gateway/common/audit/Audit;)Ljava/lang/String;
      // 4b9: astore 21
      // 4bb: aload 6
      // 4bd: new com/l7tech/common/http/GenericHttpHeader
      // 4c0: dup
      // 4c1: aload 26
      // 4c3: bipush 36
      // 4c5: aaload
      // 4c6: aload 21
      // 4c8: invokespecial com/l7tech/common/http/GenericHttpHeader.<init> (Ljava/lang/String;Ljava/lang/String;)V
      // 4cb: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.addExtraHeader (Lcom/l7tech/common/http/HttpHeader;)V
      // 4ce: aload 6
      // 4d0: aload 0
      // 4d1: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.d ()Lcom/l7tech/common/http/GenericHttpRequestParams$HttpVersion;
      // 4d4: getstatic com/l7tech/common/http/GenericHttpRequestParams$HttpVersion.HTTP_VERSION_1_0 Lcom/l7tech/common/http/GenericHttpRequestParams$HttpVersion;
      // 4d7: if_acmpne 4f6
      // 4da: aload 0
      // 4db: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 4de: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 4e1: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.isOmitHostHeader ()Z
      // 4e4: ifeq 4f6
      // 4e7: goto 4ee
      // 4ea: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 4ed: athrow
      // 4ee: bipush 1
      // 4ef: goto 4f7
      // 4f2: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 4f5: athrow
      // 4f6: bipush 0
      // 4f7: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setOmitHostHeader (Z)V
      // 4fa: aload 0
      // 4fb: aload 1
      // 4fc: aload 2
      // 4fd: aload 6
      // 4ff: aload 3
      // 500: bipush 1
      // 501: aload 17
      // 503: aload 4
      // 505: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Lcom/l7tech/server/message/PolicyEnforcementContext;Lcom/l7tech/message/Message;Lcom/l7tech/common/http/GenericHttpRequestParams;Ljava/net/URL;ZLjava/util/Map;Lcom/l7tech/server/policy/assertion/w;)Lcom/l7tech/policy/assertion/AssertionStatus;
      // 508: astore 20
      // 50a: aload 1
      // 50b: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getRoutingStatus ()Lcom/l7tech/policy/assertion/RoutingStatus; 1
      // 510: getstatic com/l7tech/policy/assertion/RoutingStatus.ROUTED Lcom/l7tech/policy/assertion/RoutingStatus;
      // 513: if_acmpeq 529
      // 516: aload 1
      // 517: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getRoutingResultListener ()Lcom/l7tech/server/policy/assertion/RoutingResultListener; 1
      // 51c: astore 21
      // 51e: aload 21
      // 520: aload 3
      // 521: aload 5
      // 523: aload 1
      // 524: invokeinterface com/l7tech/server/policy/assertion/RoutingResultListener.failed (Ljava/net/URL;Ljava/lang/Throwable;Lcom/l7tech/server/message/PolicyEnforcementContext;)V 4
      // 529: aload 20
      // 52b: areturn
      // 52c: astore 6
      // 52e: aload 6
      // 530: astore 5
      // 532: aload 0
      // 533: getstatic com/l7tech/gateway/common/audit/AssertionMessages.HTTPROUTE_GENERIC_PROBLEM Lcom/l7tech/gateway/common/audit/Messages$M;
      // 536: bipush 2
      // 537: anewarray 1549
      // 53a: dup
      // 53b: bipush 0
      // 53c: aload 3
      // 53d: invokevirtual java/net/URL.toString ()Ljava/lang/String;
      // 540: aastore
      // 541: dup
      // 542: bipush 1
      // 543: aload 5
      // 545: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 548: aastore
      // 549: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 54c: aload 0
      // 54d: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logger Ljava/util/logging/Logger;
      // 550: getstatic java/util/logging/Level.FINEST Ljava/util/logging/Level;
      // 553: aload 5
      // 555: invokevirtual java/lang/Throwable.getMessage ()Ljava/lang/String;
      // 558: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 55b: astore 26
      // 55d: aload 26
      // 55f: bipush 100
      // 561: aaload
      // 562: swap
      // 563: 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" ]
      // 568: aload 5
      // 56a: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 56d: aload 1
      // 56e: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getRoutingStatus ()Lcom/l7tech/policy/assertion/RoutingStatus; 1
      // 573: getstatic com/l7tech/policy/assertion/RoutingStatus.ROUTED Lcom/l7tech/policy/assertion/RoutingStatus;
      // 576: if_acmpeq 734
      // 579: aload 1
      // 57a: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getRoutingResultListener ()Lcom/l7tech/server/policy/assertion/RoutingResultListener; 1
      // 57f: astore 6
      // 581: aload 6
      // 583: aload 3
      // 584: aload 5
      // 586: aload 1
      // 587: invokeinterface com/l7tech/server/policy/assertion/RoutingResultListener.failed (Ljava/net/URL;Ljava/lang/Throwable;Lcom/l7tech/server/message/PolicyEnforcementContext;)V 4
      // 58c: goto 734
      // 58f: astore 6
      // 591: aload 6
      // 593: astore 5
      // 595: aload 0
      // 596: getstatic com/l7tech/gateway/common/audit/AssertionMessages.HTTPROUTE_GENERIC_PROBLEM Lcom/l7tech/gateway/common/audit/Messages$M;
      // 599: bipush 2
      // 59a: anewarray 1549
      // 59d: dup
      // 59e: bipush 0
      // 59f: aload 3
      // 5a0: invokevirtual java/net/URL.toString ()Ljava/lang/String;
      // 5a3: aastore
      // 5a4: dup
      // 5a5: bipush 1
      // 5a6: aload 5
      // 5a8: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 5ab: aastore
      // 5ac: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 5af: aload 0
      // 5b0: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logger Ljava/util/logging/Logger;
      // 5b3: getstatic java/util/logging/Level.FINEST Ljava/util/logging/Level;
      // 5b6: aload 5
      // 5b8: invokevirtual java/lang/Throwable.getMessage ()Ljava/lang/String;
      // 5bb: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 5be: astore 26
      // 5c0: aload 26
      // 5c2: bipush 62
      // 5c4: aaload
      // 5c5: swap
      // 5c6: 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" ]
      // 5cb: aload 5
      // 5cd: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 5d0: aload 1
      // 5d1: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getRoutingStatus ()Lcom/l7tech/policy/assertion/RoutingStatus; 1
      // 5d6: getstatic com/l7tech/policy/assertion/RoutingStatus.ROUTED Lcom/l7tech/policy/assertion/RoutingStatus;
      // 5d9: if_acmpeq 734
      // 5dc: aload 1
      // 5dd: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getRoutingResultListener ()Lcom/l7tech/server/policy/assertion/RoutingResultListener; 1
      // 5e2: astore 6
      // 5e4: aload 6
      // 5e6: aload 3
      // 5e7: aload 5
      // 5e9: aload 1
      // 5ea: invokeinterface com/l7tech/server/policy/assertion/RoutingResultListener.failed (Ljava/net/URL;Ljava/lang/Throwable;Lcom/l7tech/server/message/PolicyEnforcementContext;)V 4
      // 5ef: goto 734
      // 5f2: astore 6
      // 5f4: aload 6
      // 5f6: astore 5
      // 5f8: aload 0
      // 5f9: getstatic com/l7tech/gateway/common/audit/AssertionMessages.HTTPROUTE_GENERIC_PROBLEM Lcom/l7tech/gateway/common/audit/Messages$M;
      // 5fc: bipush 2
      // 5fd: anewarray 1549
      // 600: dup
      // 601: bipush 0
      // 602: aload 3
      // 603: invokevirtual java/net/URL.toString ()Ljava/lang/String;
      // 606: aastore
      // 607: dup
      // 608: bipush 1
      // 609: aload 5
      // 60b: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 60e: aastore
      // 60f: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 612: aload 0
      // 613: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logger Ljava/util/logging/Logger;
      // 616: getstatic java/util/logging/Level.FINEST Ljava/util/logging/Level;
      // 619: aload 5
      // 61b: invokevirtual java/lang/Throwable.getMessage ()Ljava/lang/String;
      // 61e: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 621: astore 26
      // 623: aload 26
      // 625: bipush 62
      // 627: aaload
      // 628: swap
      // 629: 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" ]
      // 62e: aload 5
      // 630: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 633: aload 1
      // 634: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getRoutingStatus ()Lcom/l7tech/policy/assertion/RoutingStatus; 1
      // 639: getstatic com/l7tech/policy/assertion/RoutingStatus.ROUTED Lcom/l7tech/policy/assertion/RoutingStatus;
      // 63c: if_acmpeq 734
      // 63f: aload 1
      // 640: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getRoutingResultListener ()Lcom/l7tech/server/policy/assertion/RoutingResultListener; 1
      // 645: astore 6
      // 647: aload 6
      // 649: aload 3
      // 64a: aload 5
      // 64c: aload 1
      // 64d: invokeinterface com/l7tech/server/policy/assertion/RoutingResultListener.failed (Ljava/net/URL;Ljava/lang/Throwable;Lcom/l7tech/server/message/PolicyEnforcementContext;)V 4
      // 652: goto 734
      // 655: astore 6
      // 657: aload 6
      // 659: astore 5
      // 65b: aload 0
      // 65c: getstatic com/l7tech/gateway/common/audit/AssertionMessages.HTTPROUTE_GENERIC_PROBLEM Lcom/l7tech/gateway/common/audit/Messages$M;
      // 65f: bipush 2
      // 660: anewarray 1549
      // 663: dup
      // 664: bipush 0
      // 665: aload 3
      // 666: invokevirtual java/net/URL.toString ()Ljava/lang/String;
      // 669: aastore
      // 66a: dup
      // 66b: bipush 1
      // 66c: aload 5
      // 66e: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 671: aastore
      // 672: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 675: aload 0
      // 676: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logger Ljava/util/logging/Logger;
      // 679: getstatic java/util/logging/Level.FINEST Ljava/util/logging/Level;
      // 67c: aload 5
      // 67e: invokevirtual java/lang/Throwable.getMessage ()Ljava/lang/String;
      // 681: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 684: astore 26
      // 686: aload 26
      // 688: bipush 62
      // 68a: aaload
      // 68b: swap
      // 68c: 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" ]
      // 691: aload 5
      // 693: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 696: aload 1
      // 697: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getRoutingStatus ()Lcom/l7tech/policy/assertion/RoutingStatus; 1
      // 69c: getstatic com/l7tech/policy/assertion/RoutingStatus.ROUTED Lcom/l7tech/policy/assertion/RoutingStatus;
      // 69f: if_acmpeq 734
      // 6a2: aload 1
      // 6a3: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getRoutingResultListener ()Lcom/l7tech/server/policy/assertion/RoutingResultListener; 1
      // 6a8: astore 6
      // 6aa: aload 6
      // 6ac: aload 3
      // 6ad: aload 5
      // 6af: aload 1
      // 6b0: invokeinterface com/l7tech/server/policy/assertion/RoutingResultListener.failed (Ljava/net/URL;Ljava/lang/Throwable;Lcom/l7tech/server/message/PolicyEnforcementContext;)V 4
      // 6b5: goto 734
      // 6b8: astore 6
      // 6ba: aload 6
      // 6bc: astore 5
      // 6be: aload 0
      // 6bf: getstatic com/l7tech/gateway/common/audit/AssertionMessages.HTTPROUTE_USING_KERBEROS_ERROR Lcom/l7tech/gateway/common/audit/Messages$M;
      // 6c2: bipush 1
      // 6c3: anewarray 1549
      // 6c6: dup
      // 6c7: bipush 0
      // 6c8: aload 5
      // 6ca: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 6cd: aastore
      // 6ce: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 6d1: aload 0
      // 6d2: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logger Ljava/util/logging/Logger;
      // 6d5: getstatic java/util/logging/Level.FINEST Ljava/util/logging/Level;
      // 6d8: aload 5
      // 6da: invokevirtual java/lang/Throwable.getMessage ()Ljava/lang/String;
      // 6dd: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 6e0: bipush 62
      // 6e2: aaload
      // 6e3: swap
      // 6e4: 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" ]
      // 6e9: aload 5
      // 6eb: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 6ee: aload 1
      // 6ef: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getRoutingStatus ()Lcom/l7tech/policy/assertion/RoutingStatus; 1
      // 6f4: getstatic com/l7tech/policy/assertion/RoutingStatus.ROUTED Lcom/l7tech/policy/assertion/RoutingStatus;
      // 6f7: if_acmpeq 734
      // 6fa: aload 1
      // 6fb: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getRoutingResultListener ()Lcom/l7tech/server/policy/assertion/RoutingResultListener; 1
      // 700: astore 6
      // 702: aload 6
      // 704: aload 3
      // 705: aload 5
      // 707: aload 1
      // 708: invokeinterface com/l7tech/server/policy/assertion/RoutingResultListener.failed (Ljava/net/URL;Ljava/lang/Throwable;Lcom/l7tech/server/message/PolicyEnforcementContext;)V 4
      // 70d: goto 734
      // 710: astore 24
      // 712: aload 1
      // 713: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getRoutingStatus ()Lcom/l7tech/policy/assertion/RoutingStatus; 1
      // 718: getstatic com/l7tech/policy/assertion/RoutingStatus.ROUTED Lcom/l7tech/policy/assertion/RoutingStatus;
      // 71b: if_acmpeq 731
      // 71e: aload 1
      // 71f: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getRoutingResultListener ()Lcom/l7tech/server/policy/assertion/RoutingResultListener; 1
      // 724: astore 25
      // 726: aload 25
      // 728: aload 3
      // 729: aload 5
      // 72b: aload 1
      // 72c: invokeinterface com/l7tech/server/policy/assertion/RoutingResultListener.failed (Ljava/net/URL;Ljava/lang/Throwable;Lcom/l7tech/server/message/PolicyEnforcementContext;)V 4
      // 731: aload 24
      // 733: athrow
      // 734: getstatic com/l7tech/policy/assertion/AssertionStatus.FAILED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 737: areturn
      // try (542 -> 552): 552 java/net/MalformedURLException
      // try (537 -> 547): 548 java/net/MalformedURLException
      // try (489 -> 505): 505 java/net/MalformedURLException
      // try (482 -> 498): 499 java/net/MalformedURLException
      // try (480 -> 486): 487 java/net/MalformedURLException
      // try (466 -> 472): 473 java/net/MalformedURLException
      // try (441 -> 445): 445 java/net/MalformedURLException
      // try (350 -> 356): 356 java/net/MalformedURLException
      // try (300 -> 307): 308 java/net/MalformedURLException
      // try (281 -> 298): 298 java/net/MalformedURLException
      // try (229 -> 237): 238 java/net/MalformedURLException
      // try (218 -> 232): 233 java/net/MalformedURLException
      // try (179 -> 187): 188 java/net/MalformedURLException
      // try (173 -> 181): 182 java/net/MalformedURLException
      // try (171 -> 176): 177 java/net/MalformedURLException
      // try (130 -> 141): 142 java/net/MalformedURLException
      // try (110 -> 121): 122 java/net/MalformedURLException
      // try (84 -> 89): 90 java/net/MalformedURLException
      // try (46 -> 65): 65 java/net/MalformedURLException
      // try (11 -> 566): 580 java/net/MalformedURLException
      // try (11 -> 566): 625 java/io/IOException
      // try (11 -> 566): 670 org/xml/sax/SAXException
      // try (11 -> 566): 715 java/security/GeneralSecurityException
      // try (11 -> 566): 760 com/l7tech/kerberos/KerberosException
      // try (11 -> 566): 798 null
      // try (580 -> 612): 798 null
      // try (625 -> 657): 798 null
      // try (670 -> 702): 798 null
      // try (715 -> 747): 798 null
      // try (760 -> 785): 798 null
      // try (798 -> 799): 798 null
   }

   private Pair<HttpMethod, String> a(PolicyEnforcementContext var1, Map<String, ?> var2, GenericHttpRequestParams var3) {
      HttpMethod var4 = this.assertion.getHttpMethod();
      if (var4 != null) {
         String var11 = this.assertion.getHttpMethodAsString();
         if (var11 != null) {
            var11 = ExpandVariables.process(var11, var2, this.getAudit());
            HttpMethod var12 = HttpMethod.valueOfHttpMethod(var11);

            try {
               if (var12 == null || HttpMethod.OTHER.equals(var12)) {
                  return new Pair(var4, var11);
               }
            } catch (IllegalArgumentException var8) {
               throw a(var8);
            }

            var4 = var12;
            var11 = null;
         }

         return new Pair(var4, var11);
      } else {
         try {
            if (this.assertion.getRequestMsgSrc() != null) {
               this.logAndAudit(AssertionMessages.HTTPROUTE_DEFAULT_METHOD_VAR);
               return new Pair(HttpMethod.POST, null);
            }
         } catch (IllegalArgumentException var7) {
            throw a(var7);
         }

         try {
            if (!var1.getRequest().isHttpRequest()) {
               this.logAndAudit(AssertionMessages.HTTPROUTE_DEFAULT_METHOD_NON_HTTP);
               return new Pair(HttpMethod.POST, null);
            }
         } catch (IllegalArgumentException var10) {
            throw a(var10);
         }

         HttpRequestKnob var5 = var1.getRequest().getHttpRequestKnob();
         HttpMethod var6 = var5.getMethod();

         try {
            if (var6 == null) {
               this.logAndAudit(AssertionMessages.HTTPROUTE_UNEXPECTED_METHOD, N[43]);
               return new Pair(HttpMethod.POST, null);
            }
         } catch (IllegalArgumentException var9) {
            throw a(var9);
         }

         return new Pair(var6, var5.getMethodAsString());
      }
   }

   private AssertionStatus a(
      PolicyEnforcementContext param1, Message param2, GenericHttpRequestParams param3, URL param4, boolean param5, Map<String, ?> param6, w param7
   ) throws PolicyAssertionException, FindException {
      // $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: aconst_null
      // 001: astore 8
      // 003: aconst_null
      // 004: astore 9
      // 006: aconst_null
      // 007: astore 10
      // 009: bipush -1
      // 00a: istore 11
      // 00c: aload 2
      // 00d: ldc com/l7tech/message/MimeKnob
      // 00f: invokevirtual com/l7tech/message/Message.getKnob (Ljava/lang/Class;)Ljava/lang/Object;
      // 012: checkcast com/l7tech/message/MimeKnob
      // 015: astore 12
      // 017: aload 12
      // 019: ifnull 035
      // 01c: aload 12
      // 01e: invokeinterface com/l7tech/message/MimeKnob.isBufferingDisallowed ()Z 1
      // 023: ifeq 035
      // 026: goto 02d
      // 029: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 02c: athrow
      // 02d: bipush 1
      // 02e: goto 036
      // 031: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 034: athrow
      // 035: bipush 0
      // 036: istore 13
      // 038: iload 13
      // 03a: ifeq 078
      // 03d: getstatic com/l7tech/common/http/GenericHttpRequestParams$HttpVersion.HTTP_VERSION_1_0 Lcom/l7tech/common/http/GenericHttpRequestParams$HttpVersion;
      // 040: aload 0
      // 041: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.d ()Lcom/l7tech/common/http/GenericHttpRequestParams$HttpVersion;
      // 044: if_acmpne 057
      // 047: goto 04e
      // 04a: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 04d: athrow
      // 04e: aload 2
      // 04f: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Lcom/l7tech/message/Message;)Ljava/lang/Long;
      // 052: astore 16
      // 054: goto 05f
      // 057: ldc2_w -1
      // 05a: invokestatic java/lang/Long.valueOf (J)Ljava/lang/Long;
      // 05d: astore 16
      // 05f: aload 16
      // 061: ifnonnull 06e
      // 064: ldc2_w -1
      // 067: goto 073
      // 06a: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 06d: athrow
      // 06e: aload 16
      // 070: invokevirtual java/lang/Long.longValue ()J
      // 073: lstore 14
      // 075: goto 09c
      // 078: aload 12
      // 07a: ifnull 08b
      // 07d: aload 2
      // 07e: invokevirtual com/l7tech/message/Message.isInitialized ()Z
      // 081: ifne 093
      // 084: goto 08b
      // 087: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 08a: athrow
      // 08b: lconst_0
      // 08c: goto 09a
      // 08f: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 092: athrow
      // 093: aload 12
      // 095: invokeinterface com/l7tech/message/MimeKnob.getContentLength ()J 1
      // 09a: lstore 14
      // 09c: lload 14
      // 09e: ldc2_w 2147483647
      // 0a1: lcmp
      // 0a2: ifle 0b7
      // 0a5: new java/io/IOException
      // 0a8: dup
      // 0a9: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 0ac: bipush 56
      // 0ae: aaload
      // 0af: invokespecial java/io/IOException.<init> (Ljava/lang/String;)V
      // 0b2: athrow
      // 0b3: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0b6: athrow
      // 0b7: aload 2
      // 0b8: aload 3
      // 0b9: aload 1
      // 0ba: aload 0
      // 0bb: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 0be: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 0c1: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getRequestHeaderRules ()Lcom/l7tech/policy/assertion/HttpPassthroughRuleSet;
      // 0c4: aload 0
      // 0c5: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.getAudit ()Lcom/l7tech/gateway/common/audit/Audit;
      // 0c8: aload 6
      // 0ca: aload 0
      // 0cb: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.t [Ljava/lang/String;
      // 0ce: invokestatic com/l7tech/server/util/HttpForwardingRuleEnforcer.handleRequestHeaders (Lcom/l7tech/message/Message;Lcom/l7tech/common/http/GenericHttpRequestParams;Lcom/l7tech/server/message/PolicyEnforcementContext;Lcom/l7tech/policy/assertion/HttpPassthroughRuleSet;Lcom/l7tech/gateway/common/audit/Audit;Ljava/util/Map;[Ljava/lang/String;)V
      // 0d1: aload 0
      // 0d2: aload 1
      // 0d3: aload 3
      // 0d4: aload 4
      // 0d6: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Lcom/l7tech/server/message/PolicyEnforcementContext;Lcom/l7tech/common/http/GenericHttpRequestParams;Ljava/net/URL;)Lcom/l7tech/util/Pair;
      // 0d9: astore 16
      // 0db: aload 16
      // 0dd: getfield com/l7tech/util/Pair.left Ljava/lang/Object;
      // 0e0: astore 17
      // 0e2: aload 16
      // 0e4: getfield com/l7tech/util/Pair.right Ljava/lang/Object;
      // 0e7: checkcast com/l7tech/server/http/HttpStatePoolManager$HttpStateCacheKey
      // 0ea: astore 18
      // 0ec: aload 0
      // 0ed: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 0f0: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 0f3: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getProxyHost ()Ljava/lang/String;
      // 0f6: ifnull 110
      // 0f9: aload 0
      // 0fa: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 0fd: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 100: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getProxyHost ()Ljava/lang/String;
      // 103: invokevirtual java/lang/String.isBlank ()Z
      // 106: ifeq 118
      // 109: goto 110
      // 10c: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 10f: athrow
      // 110: aconst_null
      // 111: goto 11d
      // 114: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 117: athrow
      // 118: aload 0
      // 119: aload 1
      // 11a: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Lcom/l7tech/server/message/PolicyEnforcementContext;)Lcom/l7tech/common/http/HttpProxyConfig;
      // 11d: astore 19
      // 11f: aload 7
      // 121: invokevirtual com/l7tech/server/policy/assertion/w.getHttpClientFactory ()Lcom/l7tech/common/http/GenericHttpClientFactory;
      // 124: aload 0
      // 125: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.getMaxConnectionsPerHost ()I
      // 128: aload 0
      // 129: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.getMaxConnectionsAllHosts ()I
      // 12c: aload 0
      // 12d: aload 6
      // 12f: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.getConnectionTimeout (Ljava/util/Map;)I
      // 132: aload 0
      // 133: aload 6
      // 135: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.getTimeout (Ljava/util/Map;)I
      // 138: aload 0
      // 139: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 13c: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 13f: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.isMaxDurationEnabled ()Z
      // 142: ifeq 152
      // 145: aload 0
      // 146: aload 6
      // 148: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.getMaxDuration (Ljava/util/Map;)I
      // 14b: goto 153
      // 14e: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 151: athrow
      // 152: bipush 0
      // 153: aload 17
      // 155: aload 19
      // 157: invokeinterface com/l7tech/common/http/GenericHttpClientFactory.createHttpClient (IIIIILjava/lang/Object;Lcom/l7tech/common/http/HttpProxyConfig;)Lcom/l7tech/common/http/GenericHttpClient; 8
      // 15c: astore 20
      // 15e: aload 20
      // 160: instanceof com/l7tech/common/http/RerunnableGenericHttpClient
      // 163: ifne 196
      // 166: aload 0
      // 167: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 16a: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 16d: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.isPassthroughHttpAuthentication ()Z
      // 170: ifne 1a6
      // 173: goto 17a
      // 176: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 179: athrow
      // 17a: aload 3
      // 17b: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.getNtlmAuthentication ()Lcom/l7tech/common/http/NtlmAuthentication;
      // 17e: ifnonnull 1a6
      // 181: goto 188
      // 184: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 187: athrow
      // 188: aload 3
      // 189: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.getPasswordAuthentication ()Ljava/net/PasswordAuthentication;
      // 18c: ifnonnull 1a6
      // 18f: goto 196
      // 192: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 195: athrow
      // 196: aload 3
      // 197: lload 14
      // 199: invokestatic java/lang/Long.valueOf (J)Ljava/lang/Long;
      // 19c: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setContentLength (Ljava/lang/Long;)V
      // 19f: goto 1a6
      // 1a2: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1a5: athrow
      // 1a6: aload 0
      // 1a7: aload 1
      // 1a8: aload 6
      // 1aa: aload 3
      // 1ab: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Lcom/l7tech/server/message/PolicyEnforcementContext;Ljava/util/Map;Lcom/l7tech/common/http/GenericHttpRequestParams;)Lcom/l7tech/util/Pair;
      // 1ae: astore 21
      // 1b0: aload 21
      // 1b2: getfield com/l7tech/util/Pair.left Ljava/lang/Object;
      // 1b5: checkcast com/l7tech/common/http/HttpMethod
      // 1b8: astore 22
      // 1ba: aload 3
      // 1bb: aload 21
      // 1bd: getfield com/l7tech/util/Pair.right Ljava/lang/Object;
      // 1c0: checkcast java/lang/String
      // 1c3: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setMethodAsString (Ljava/lang/String;)V
      // 1c6: aload 22
      // 1c8: invokevirtual com/l7tech/common/http/HttpMethod.isFollowRedirects ()Z
      // 1cb: ifeq 1f7
      // 1ce: aload 0
      // 1cf: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 1d2: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 1d5: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.isForceIncludeRequestBody ()Z
      // 1d8: ifne 1f7
      // 1db: goto 1e2
      // 1de: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1e1: athrow
      // 1e2: aload 3
      // 1e3: aload 0
      // 1e4: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 1e7: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 1ea: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.isFollowRedirects ()Z
      // 1ed: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setFollowRedirects (Z)V
      // 1f0: goto 1f7
      // 1f3: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1f6: athrow
      // 1f7: aload 0
      // 1f8: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 1fb: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 1fe: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.isOverrideContentType ()Z
      // 201: ifeq 21e
      // 204: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.n Z
      // 207: ifeq 25c
      // 20a: goto 211
      // 20d: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 210: athrow
      // 211: aload 0
      // 212: aload 2
      // 213: aload 3
      // 214: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Lcom/l7tech/message/Message;Lcom/l7tech/common/http/GenericHttpRequestParams;)V
      // 217: goto 25c
      // 21a: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 21d: athrow
      // 21e: aload 3
      // 21f: aload 22
      // 221: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.needsRequestBody (Lcom/l7tech/common/http/HttpMethod;)Z
      // 224: ifeq 25c
      // 227: aload 12
      // 229: ifnonnull 240
      // 22c: goto 233
      // 22f: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 232: athrow
      // 233: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 236: bipush 79
      // 238: aaload
      // 239: goto 24a
      // 23c: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 23f: athrow
      // 240: aload 12
      // 242: invokeinterface com/l7tech/message/MimeKnob.getOuterContentType ()Lcom/l7tech/common/mime/ContentTypeHeader; 1
      // 247: invokevirtual com/l7tech/common/mime/ContentTypeHeader.getFullValue ()Ljava/lang/String;
      // 24a: astore 23
      // 24c: aload 3
      // 24d: new com/l7tech/common/http/GenericHttpHeader
      // 250: dup
      // 251: getstatic com/l7tech/common/http/HttpConstants.HEADER_CONTENT_TYPE Ljava/lang/String;
      // 254: aload 23
      // 256: invokespecial com/l7tech/common/http/GenericHttpHeader.<init> (Ljava/lang/String;Ljava/lang/String;)V
      // 259: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.addExtraHeader (Lcom/l7tech/common/http/HttpHeader;)V
      // 25c: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 25f: bipush 64
      // 261: aaload
      // 262: bipush 0
      // 263: invokestatic com/l7tech/util/ConfigFactory.getBooleanProperty (Ljava/lang/String;Z)Z
      // 266: ifeq 275
      // 269: aload 3
      // 26a: bipush 1
      // 26b: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setUseExpectContinue (Z)V
      // 26e: goto 275
      // 271: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 274: athrow
      // 275: aload 0
      // 276: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 279: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 27c: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.isUseKeepAlives ()Z
      // 27f: ifne 28e
      // 282: aload 3
      // 283: bipush 0
      // 284: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setUseKeepAlives (Z)V
      // 287: goto 28e
      // 28a: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 28d: athrow
      // 28e: aload 0
      // 28f: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.d ()Lcom/l7tech/common/http/GenericHttpRequestParams$HttpVersion;
      // 292: astore 23
      // 294: aload 23
      // 296: ifnull 2a6
      // 299: aload 3
      // 29a: aload 23
      // 29c: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setHttpVersion (Lcom/l7tech/common/http/GenericHttpRequestParams$HttpVersion;)V
      // 29f: goto 2a6
      // 2a2: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2a5: athrow
      // 2a6: aload 0
      // 2a7: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 2aa: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 2ad: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.isGzipEncodeDownstream ()Z
      // 2b0: ifeq 2bf
      // 2b3: aload 3
      // 2b4: bipush 1
      // 2b5: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.setGzipEncode (Z)V
      // 2b8: goto 2bf
      // 2bb: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2be: athrow
      // 2bf: aload 0
      // 2c0: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logger Ljava/util/logging/Logger;
      // 2c3: getstatic java/util/logging/Level.FINE Ljava/util/logging/Level;
      // 2c6: invokevirtual java/util/logging/Logger.isLoggable (Ljava/util/logging/Level;)Z
      // 2c9: ifeq 333
      // 2cc: aload 3
      // 2cd: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.getExtraHeaders ()Ljava/util/List;
      // 2d0: invokeinterface java/util/List.iterator ()Ljava/util/Iterator; 1
      // 2d5: astore 24
      // 2d7: aload 24
      // 2d9: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 2de: ifeq 333
      // 2e1: aload 24
      // 2e3: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 2e8: checkcast com/l7tech/common/http/HttpHeader
      // 2eb: astore 25
      // 2ed: getstatic com/l7tech/common/http/HttpConstants.HEADER_AUTHORIZATION Ljava/lang/String;
      // 2f0: aload 25
      // 2f2: invokeinterface com/l7tech/common/http/HttpHeader.getName ()Ljava/lang/String; 1
      // 2f7: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 2fa: ifeq 304
      // 2fd: goto 2d7
      // 300: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 303: athrow
      // 304: aload 0
      // 305: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logger Ljava/util/logging/Logger;
      // 308: getstatic java/util/logging/Level.FINE Ljava/util/logging/Level;
      // 30b: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 30e: astore 45
      // 310: aload 45
      // 312: bipush 34
      // 314: aaload
      // 315: bipush 2
      // 316: anewarray 1549
      // 319: dup
      // 31a: bipush 0
      // 31b: aload 25
      // 31d: invokeinterface com/l7tech/common/http/HttpHeader.getName ()Ljava/lang/String; 1
      // 322: aastore
      // 323: dup
      // 324: bipush 1
      // 325: aload 25
      // 327: invokeinterface com/l7tech/common/http/HttpHeader.getFullValue ()Ljava/lang/String; 1
      // 32c: aastore
      // 32d: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
      // 330: goto 2d7
      // 333: aload 0
      // 334: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.telemetryMediatorFactory Lcom/l7tech/server/TelemetryMediatorFactory;
      // 337: ifnull 34a
      // 33a: aload 0
      // 33b: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.telemetryMediatorFactory Lcom/l7tech/server/TelemetryMediatorFactory;
      // 33e: invokeinterface com/l7tech/server/TelemetryMediatorFactory.createTelemetryMediator ()Lcom/l7tech/server/TelemetryMediator; 1
      // 343: goto 34d
      // 346: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 349: athrow
      // 34a: getstatic com/l7tech/server/NoopTelemetryMediator.INSTANCE Lcom/l7tech/server/NoopTelemetryMediator;
      // 34d: astore 24
      // 34f: aload 24
      // 351: aload 3
      // 352: aload 1
      // 353: invokeinterface com/l7tech/server/TelemetryMediator.injectContextTextMapProgpagator (Lcom/l7tech/common/http/GenericHttpRequestParams;Lcom/l7tech/server/message/PolicyEnforcementContext;)V 3
      // 358: aload 0
      // 359: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.w Z
      // 35c: ifne 37f
      // 35f: aload 0
      // 360: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 363: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 366: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.isPassthroughHttpAuthentication ()Z
      // 369: ifeq 38e
      // 36c: goto 373
      // 36f: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 372: athrow
      // 373: aload 18
      // 375: ifnonnull 38e
      // 378: goto 37f
      // 37b: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 37e: athrow
      // 37f: aload 20
      // 381: aload 22
      // 383: aload 3
      // 384: invokeinterface com/l7tech/common/http/GenericHttpClient.createRequest (Lcom/l7tech/common/http/HttpMethod;Lcom/l7tech/common/http/GenericHttpRequestParams;)Lcom/l7tech/common/http/GenericHttpRequest; 3
      // 389: astore 8
      // 38b: goto 39c
      // 38e: aload 0
      // 38f: aload 1
      // 390: aload 3
      // 391: aload 20
      // 393: aload 22
      // 395: aload 18
      // 397: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Lcom/l7tech/server/message/PolicyEnforcementContext;Lcom/l7tech/common/http/GenericHttpRequestParams;Lcom/l7tech/common/http/GenericHttpClient;Lcom/l7tech/common/http/HttpMethod;Lcom/l7tech/server/http/HttpStatePoolManager$HttpStateCacheKey;)Lcom/l7tech/common/http/GenericHttpRequest;
      // 39a: astore 8
      // 39c: aload 1
      // 39d: aload 2
      // 39e: aload 0
      // 39f: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 3a2: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 3a5: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getRequestParamRules ()Lcom/l7tech/policy/assertion/HttpPassthroughRuleSet;
      // 3a8: aload 0
      // 3a9: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.getAudit ()Lcom/l7tech/gateway/common/audit/Audit;
      // 3ac: aload 6
      // 3ae: aload 0
      // 3af: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.t [Ljava/lang/String;
      // 3b2: invokestatic com/l7tech/server/util/HttpForwardingRuleEnforcer.handleRequestParameters (Lcom/l7tech/server/message/PolicyEnforcementContext;Lcom/l7tech/message/Message;Lcom/l7tech/policy/assertion/HttpPassthroughRuleSet;Lcom/l7tech/gateway/common/audit/Audit;Ljava/util/Map;[Ljava/lang/String;)Ljava/util/List;
      // 3b5: astore 25
      // 3b7: aload 0
      // 3b8: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 3bb: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 3be: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getRequestParamRules ()Lcom/l7tech/policy/assertion/HttpPassthroughRuleSet;
      // 3c1: invokevirtual com/l7tech/policy/assertion/HttpPassthroughRuleSet.isForwardAll ()Z
      // 3c4: ifne 42c
      // 3c7: aload 25
      // 3c9: ifnull 42c
      // 3cc: goto 3d3
      // 3cf: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 3d2: athrow
      // 3d3: new java/util/ArrayList
      // 3d6: dup
      // 3d7: invokespecial java/util/ArrayList.<init> ()V
      // 3da: astore 26
      // 3dc: aload 25
      // 3de: invokeinterface java/util/List.iterator ()Ljava/util/Iterator; 1
      // 3e3: astore 27
      // 3e5: aload 27
      // 3e7: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 3ec: ifeq 420
      // 3ef: aload 27
      // 3f1: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 3f6: checkcast com/l7tech/server/util/HttpForwardingRuleEnforcer$Param
      // 3f9: astore 28
      // 3fb: bipush 2
      // 3fc: anewarray 1549
      // 3ff: astore 29
      // 401: aload 29
      // 403: bipush 0
      // 404: aload 28
      // 406: getfield com/l7tech/server/util/HttpForwardingRuleEnforcer$Param.name Ljava/lang/String;
      // 409: aastore
      // 40a: aload 29
      // 40c: bipush 1
      // 40d: aload 28
      // 40f: getfield com/l7tech/server/util/HttpForwardingRuleEnforcer$Param.value Ljava/lang/String;
      // 412: aastore
      // 413: aload 26
      // 415: aload 29
      // 417: invokeinterface java/util/List.add (Ljava/lang/Object;)Z 2
      // 41c: pop
      // 41d: goto 3e5
      // 420: aload 8
      // 422: aload 26
      // 424: invokeinterface com/l7tech/common/http/GenericHttpRequest.addParameters (Ljava/util/List;)V 2
      // 429: goto 492
      // 42c: aload 3
      // 42d: aload 22
      // 42f: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.needsRequestBody (Lcom/l7tech/common/http/HttpMethod;)Z
      // 432: ifeq 492
      // 435: aload 8
      // 437: instanceof com/l7tech/common/http/RerunnableHttpRequest
      // 43a: ifeq 46b
      // 43d: goto 444
      // 440: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 443: athrow
      // 444: iload 13
      // 446: ifne 46b
      // 449: goto 450
      // 44c: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 44f: athrow
      // 450: aload 8
      // 452: checkcast com/l7tech/common/http/RerunnableHttpRequest
      // 455: astore 26
      // 457: aload 26
      // 459: new com/l7tech/server/policy/assertion/u
      // 45c: dup
      // 45d: aload 0
      // 45e: aload 12
      // 460: invokespecial com/l7tech/server/policy/assertion/u.<init> (Lcom/l7tech/server/policy/assertion/ServerHttpRoutingAssertion;Lcom/l7tech/message/MimeKnob;)V
      // 463: invokeinterface com/l7tech/common/http/RerunnableHttpRequest.setInputStreamFactory (Lcom/l7tech/common/http/RerunnableHttpRequest$InputStreamFactory;)V 2
      // 468: goto 492
      // 46b: aload 12
      // 46d: ifnonnull 47e
      // 470: new com/l7tech/common/io/EmptyInputStream
      // 473: dup
      // 474: invokespecial com/l7tech/common/io/EmptyInputStream.<init> ()V
      // 477: goto 487
      // 47a: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 47d: athrow
      // 47e: aload 12
      // 480: iload 13
      // 482: invokeinterface com/l7tech/message/MimeKnob.getEntireMessageBodyAsInputStream (Z)Ljava/io/InputStream; 2
      // 487: astore 26
      // 489: aload 8
      // 48b: aload 26
      // 48d: invokeinterface com/l7tech/common/http/GenericHttpRequest.setInputStream (Ljava/io/InputStream;)V 2
      // 492: lconst_0
      // 493: lstore 26
      // 495: aload 0
      // 496: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 499: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 49c: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getResponseSize ()Ljava/lang/String;
      // 49f: ifnonnull 4aa
      // 4a2: invokestatic com/l7tech/message/Message.getMaxBytes ()J
      // 4a5: lstore 26
      // 4a7: goto 534
      // 4aa: aload 0
      // 4ab: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 4ae: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 4b1: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getResponseSize ()Ljava/lang/String;
      // 4b4: aload 6
      // 4b6: aload 0
      // 4b7: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.getAudit ()Lcom/l7tech/gateway/common/audit/Audit;
      // 4ba: invokestatic com/l7tech/server/policy/variable/ExpandVariables.process (Ljava/lang/String;Ljava/util/Map;Lcom/l7tech/gateway/common/audit/Audit;)Ljava/lang/String;
      // 4bd: astore 28
      // 4bf: aload 28
      // 4c1: invokestatic java/lang/Long.parseLong (Ljava/lang/String;)J
      // 4c4: lstore 26
      // 4c6: goto 534
      // 4c9: astore 29
      // 4cb: aload 0
      // 4cc: getstatic com/l7tech/gateway/common/audit/AssertionMessages.HTTPROUTE_GENERIC_PROBLEM Lcom/l7tech/gateway/common/audit/Messages$M;
      // 4cf: bipush 2
      // 4d0: anewarray 1549
      // 4d3: dup
      // 4d4: bipush 0
      // 4d5: aload 4
      // 4d7: invokevirtual java/net/URL.toString ()Ljava/lang/String;
      // 4da: aastore
      // 4db: dup
      // 4dc: bipush 1
      // 4dd: aload 29
      // 4df: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 4e2: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 4e5: astore 45
      // 4e7: aload 45
      // 4e9: bipush 58
      // 4eb: aaload
      // 4ec: swap
      // 4ed: 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" ]
      // 4f2: aastore
      // 4f3: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 4f6: getstatic com/l7tech/policy/assertion/AssertionStatus.FAILED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 4f9: astore 30
      // 4fb: aload 8
      // 4fd: ifnonnull 50c
      // 500: aload 9
      // 502: ifnull 526
      // 505: goto 50c
      // 508: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 50b: athrow
      // 50c: aload 8
      // 50e: astore 31
      // 510: aload 9
      // 512: astore 32
      // 514: aload 1
      // 515: new com/l7tech/server/policy/assertion/v
      // 518: dup
      // 519: aload 0
      // 51a: aload 32
      // 51c: aload 31
      // 51e: invokespecial com/l7tech/server/policy/assertion/v.<init> (Lcom/l7tech/server/policy/assertion/ServerHttpRoutingAssertion;Lcom/l7tech/common/http/GenericHttpResponse;Lcom/l7tech/common/http/GenericHttpRequest;)V
      // 521: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.runOnClose (Ljava/lang/Runnable;)V 2
      // 526: aload 0
      // 527: aload 1
      // 528: aload 10
      // 52a: aload 4
      // 52c: iload 11
      // 52e: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.firePostRouting (Lcom/l7tech/server/message/PolicyEnforcementContext;Lcom/l7tech/message/Message;Ljava/net/URL;I)V
      // 531: aload 30
      // 533: areturn
      // 534: invokestatic java/lang/System.currentTimeMillis ()J
      // 537: lstore 28
      // 539: aload 8
      // 53b: invokeinterface com/l7tech/common/http/GenericHttpRequest.getResponse ()Lcom/l7tech/common/http/GenericHttpResponse; 1
      // 540: astore 9
      // 542: aload 0
      // 543: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logger Ljava/util/logging/Logger;
      // 546: getstatic java/util/logging/Level.FINE Ljava/util/logging/Level;
      // 549: invokevirtual java/util/logging/Logger.isLoggable (Ljava/util/logging/Level;)Z
      // 54c: ifeq 5a3
      // 54f: aload 9
      // 551: invokevirtual com/l7tech/common/http/GenericHttpResponse.getHeaders ()Lcom/l7tech/common/http/HttpHeaders;
      // 554: invokeinterface com/l7tech/common/http/HttpHeaders.toArray ()[Lcom/l7tech/common/http/HttpHeader; 1
      // 559: astore 30
      // 55b: aload 30
      // 55d: arraylength
      // 55e: istore 31
      // 560: bipush 0
      // 561: istore 32
      // 563: iload 32
      // 565: iload 31
      // 567: if_icmpge 5a3
      // 56a: aload 30
      // 56c: iload 32
      // 56e: aaload
      // 56f: astore 33
      // 571: aload 0
      // 572: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logger Ljava/util/logging/Logger;
      // 575: getstatic java/util/logging/Level.FINE Ljava/util/logging/Level;
      // 578: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 57b: astore 45
      // 57d: aload 45
      // 57f: bipush 61
      // 581: aaload
      // 582: bipush 2
      // 583: anewarray 1549
      // 586: dup
      // 587: bipush 0
      // 588: aload 33
      // 58a: invokeinterface com/l7tech/common/http/HttpHeader.getName ()Ljava/lang/String; 1
      // 58f: aastore
      // 590: dup
      // 591: bipush 1
      // 592: aload 33
      // 594: invokeinterface com/l7tech/common/http/HttpHeader.getFullValue ()Ljava/lang/String; 1
      // 599: aastore
      // 59a: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
      // 59d: iinc 32 1
      // 5a0: goto 563
      // 5a3: aload 9
      // 5a5: invokevirtual com/l7tech/common/http/GenericHttpResponse.getStatus ()I
      // 5a8: istore 11
      // 5aa: aload 1
      // 5ab: getstatic com/l7tech/policy/assertion/HttpRoutingAssertion.VAR_HTTP_ROUTING_REASON_CODE Ljava/lang/String;
      // 5ae: iload 11
      // 5b0: invokestatic java/lang/Integer.valueOf (I)Ljava/lang/Integer;
      // 5b3: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 5b8: aload 1
      // 5b9: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getResponse ()Lcom/l7tech/message/Message; 1
      // 5be: astore 10
      // 5c0: aload 0
      // 5c1: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 5c4: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 5c7: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getResponseMsgDest ()Ljava/lang/String;
      // 5ca: ifnull 61b
      // 5cd: aload 1
      // 5ce: new com/l7tech/policy/assertion/MessageTargetableSupport
      // 5d1: dup
      // 5d2: aload 0
      // 5d3: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 5d6: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 5d9: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getResponseMsgDest ()Ljava/lang/String;
      // 5dc: invokespecial com/l7tech/policy/assertion/MessageTargetableSupport.<init> (Ljava/lang/String;)V
      // 5df: bipush 0
      // 5e0: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getOrCreateTargetMessage (Lcom/l7tech/policy/assertion/MessageTargetable;Z)Lcom/l7tech/message/Message; 3
      // 5e5: astore 10
      // 5e7: aload 10
      // 5e9: ldc com/l7tech/message/MimeKnob
      // 5eb: invokevirtual com/l7tech/message/Message.getKnob (Ljava/lang/Class;)Ljava/lang/Object;
      // 5ee: ifnonnull 602
      // 5f1: aload 10
      // 5f3: ldc com/l7tech/message/HttpResponseKnob
      // 5f5: invokevirtual com/l7tech/message/Message.getKnob (Ljava/lang/Class;)Ljava/lang/Object;
      // 5f8: ifnull 60e
      // 5fb: goto 602
      // 5fe: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 601: athrow
      // 602: aload 10
      // 604: invokevirtual com/l7tech/message/Message.close ()V
      // 607: goto 60e
      // 60a: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 60d: athrow
      // 60e: aload 10
      // 610: new com/l7tech/server/policy/assertion/b
      // 613: dup
      // 614: aload 0
      // 615: invokespecial com/l7tech/server/policy/assertion/b.<init> (Lcom/l7tech/server/policy/assertion/ServerHttpRoutingAssertion;)V
      // 618: invokevirtual com/l7tech/message/Message.attachHttpResponseKnob (Lcom/l7tech/message/HttpResponseKnob;)V
      // 61b: aload 0
      // 61c: aload 1
      // 61d: aload 9
      // 61f: aload 10
      // 621: lload 26
      // 623: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Lcom/l7tech/server/message/PolicyEnforcementContext;Lcom/l7tech/common/http/GenericHttpResponse;Lcom/l7tech/message/Message;J)Lcom/l7tech/policy/assertion/AssertionStatus;
      // 626: astore 30
      // 628: invokestatic java/lang/System.currentTimeMillis ()J
      // 62b: lstore 31
      // 62d: aload 30
      // 62f: getstatic com/l7tech/policy/assertion/AssertionStatus.NONE Lcom/l7tech/policy/assertion/AssertionStatus;
      // 632: if_acmpne 64c
      // 635: lload 31
      // 637: lload 28
      // 639: lsub
      // 63a: lstore 33
      // 63c: aload 1
      // 63d: getstatic com/l7tech/policy/assertion/HttpRoutingAssertion.VAR_ROUTING_LATENCY Ljava/lang/String;
      // 640: lload 33
      // 642: invokedynamic makeConcatWithConstants (J)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" ]
      // 647: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 64c: aload 1
      // 64d: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getRoutingResultListener ()Lcom/l7tech/server/policy/assertion/RoutingResultListener; 1
      // 652: astore 33
      // 654: iload 5
      // 656: ifeq 67c
      // 659: aload 33
      // 65b: aload 4
      // 65d: iload 11
      // 65f: aload 9
      // 661: invokevirtual com/l7tech/common/http/GenericHttpResponse.getHeaders ()Lcom/l7tech/common/http/HttpHeaders;
      // 664: aload 1
      // 665: invokeinterface com/l7tech/server/policy/assertion/RoutingResultListener.reroute (Ljava/net/URL;ILcom/l7tech/common/http/HttpHeaders;Lcom/l7tech/server/message/PolicyEnforcementContext;)Z 5
      // 66a: ifeq 67c
      // 66d: goto 674
      // 670: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 673: athrow
      // 674: bipush 1
      // 675: goto 67d
      // 678: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 67b: athrow
      // 67c: bipush 0
      // 67d: istore 34
      // 67f: iload 11
      // 681: sipush 200
      // 684: if_icmpeq 6f7
      // 687: iload 34
      // 689: ifeq 6f7
      // 68c: goto 693
      // 68f: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 692: athrow
      // 693: aload 0
      // 694: getstatic com/l7tech/gateway/common/audit/AssertionMessages.HTTPROUTE_RESPONSE_STATUS_HANDLED Lcom/l7tech/gateway/common/audit/Messages$M;
      // 697: bipush 2
      // 698: anewarray 1549
      // 69b: dup
      // 69c: bipush 0
      // 69d: aload 4
      // 69f: invokevirtual java/net/URL.getPath ()Ljava/lang/String;
      // 6a2: aastore
      // 6a3: dup
      // 6a4: bipush 1
      // 6a5: iload 11
      // 6a7: invokestatic java/lang/String.valueOf (I)Ljava/lang/String;
      // 6aa: aastore
      // 6ab: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 6ae: aload 0
      // 6af: aload 1
      // 6b0: aload 2
      // 6b1: aload 3
      // 6b2: aload 4
      // 6b4: bipush 0
      // 6b5: aload 6
      // 6b7: aload 7
      // 6b9: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Lcom/l7tech/server/message/PolicyEnforcementContext;Lcom/l7tech/message/Message;Lcom/l7tech/common/http/GenericHttpRequestParams;Ljava/net/URL;ZLjava/util/Map;Lcom/l7tech/server/policy/assertion/w;)Lcom/l7tech/policy/assertion/AssertionStatus;
      // 6bc: astore 35
      // 6be: aload 8
      // 6c0: ifnonnull 6cf
      // 6c3: aload 9
      // 6c5: ifnull 6e9
      // 6c8: goto 6cf
      // 6cb: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 6ce: athrow
      // 6cf: aload 8
      // 6d1: astore 36
      // 6d3: aload 9
      // 6d5: astore 37
      // 6d7: aload 1
      // 6d8: new com/l7tech/server/policy/assertion/v
      // 6db: dup
      // 6dc: aload 0
      // 6dd: aload 37
      // 6df: aload 36
      // 6e1: invokespecial com/l7tech/server/policy/assertion/v.<init> (Lcom/l7tech/server/policy/assertion/ServerHttpRoutingAssertion;Lcom/l7tech/common/http/GenericHttpResponse;Lcom/l7tech/common/http/GenericHttpRequest;)V
      // 6e4: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.runOnClose (Ljava/lang/Runnable;)V 2
      // 6e9: aload 0
      // 6ea: aload 1
      // 6eb: aload 10
      // 6ed: aload 4
      // 6ef: iload 11
      // 6f1: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.firePostRouting (Lcom/l7tech/server/message/PolicyEnforcementContext;Lcom/l7tech/message/Message;Ljava/net/URL;I)V
      // 6f4: aload 35
      // 6f6: areturn
      // 6f7: iload 11
      // 6f9: sipush 200
      // 6fc: if_icmpne 70d
      // 6ff: aload 0
      // 700: getstatic com/l7tech/gateway/common/audit/AssertionMessages.HTTPROUTE_OK Lcom/l7tech/gateway/common/audit/Messages$M;
      // 703: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;)V
      // 706: goto 737
      // 709: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 70c: athrow
      // 70d: aload 0
      // 70e: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 711: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 714: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.isPassthroughHttpAuthentication ()Z
      // 717: ifeq 737
      // 71a: iload 11
      // 71c: sipush 401
      // 71f: if_icmpne 737
      // 722: goto 729
      // 725: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 728: athrow
      // 729: aload 0
      // 72a: getstatic com/l7tech/gateway/common/audit/AssertionMessages.HTTPROUTE_RESPONSE_CHALLENGE Lcom/l7tech/gateway/common/audit/Messages$M;
      // 72d: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;)V
      // 730: goto 737
      // 733: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 736: athrow
      // 737: aload 2
      // 738: aload 10
      // 73a: getstatic com/l7tech/message/MessageRole.RESPONSE Lcom/l7tech/message/MessageRole;
      // 73d: invokevirtual com/l7tech/message/Message.notifyMessage (Lcom/l7tech/message/Message;Lcom/l7tech/message/MessageRole;)V
      // 740: aload 10
      // 742: aload 2
      // 743: getstatic com/l7tech/message/MessageRole.REQUEST Lcom/l7tech/message/MessageRole;
      // 746: invokevirtual com/l7tech/message/Message.notifyMessage (Lcom/l7tech/message/Message;Lcom/l7tech/message/MessageRole;)V
      // 749: aload 10
      // 74b: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.getOrCreateHttpInboundResponseKnob (Lcom/l7tech/message/Message;)Lcom/l7tech/message/HttpInboundResponseKnob;
      // 74e: astore 35
      // 750: aload 35
      // 752: aload 9
      // 754: invokeinterface com/l7tech/message/HttpInboundResponseKnob.setHeaderSource (Lcom/l7tech/common/http/HttpHeadersHaver;)V 2
      // 759: aload 10
      // 75b: ldc com/l7tech/message/HttpResponseKnob
      // 75d: invokevirtual com/l7tech/message/Message.getKnob (Ljava/lang/Class;)Ljava/lang/Object;
      // 760: checkcast com/l7tech/message/HttpResponseKnob
      // 763: astore 36
      // 765: aload 30
      // 767: getstatic com/l7tech/policy/assertion/AssertionStatus.NONE Lcom/l7tech/policy/assertion/AssertionStatus;
      // 76a: if_acmpne 7a6
      // 76d: aload 36
      // 76f: ifnull 7a6
      // 772: goto 779
      // 775: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 778: athrow
      // 779: aload 36
      // 77b: iload 11
      // 77d: invokeinterface com/l7tech/message/HttpResponseKnob.setStatus (I)V 2
      // 782: aload 35
      // 784: aload 10
      // 786: aload 0
      // 787: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.getAudit ()Lcom/l7tech/gateway/common/audit/Audit;
      // 78a: aload 0
      // 78b: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 78e: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 791: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getResponseHeaderRules ()Lcom/l7tech/policy/assertion/HttpPassthroughRuleSet;
      // 794: aload 1
      // 795: aload 3
      // 796: aload 6
      // 798: aload 0
      // 799: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.t [Ljava/lang/String;
      // 79c: invokestatic com/l7tech/server/util/HttpForwardingRuleEnforcer.handleResponseHeaders (Lcom/l7tech/message/HttpInboundResponseKnob;Lcom/l7tech/message/Message;Lcom/l7tech/gateway/common/audit/Audit;Lcom/l7tech/policy/assertion/HttpPassthroughRuleSet;Lcom/l7tech/server/message/PolicyEnforcementContext;Lcom/l7tech/common/http/GenericHttpRequestParams;Ljava/util/Map;[Ljava/lang/String;)V
      // 79f: goto 7a6
      // 7a2: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 7a5: athrow
      // 7a6: aload 0
      // 7a7: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 7aa: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 7ad: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.isPassthroughHttpAuthentication ()Z
      // 7b0: ifeq 825
      // 7b3: bipush 0
      // 7b4: istore 37
      // 7b6: aload 9
      // 7b8: invokevirtual com/l7tech/common/http/GenericHttpResponse.getHeaders ()Lcom/l7tech/common/http/HttpHeaders;
      // 7bb: getstatic com/l7tech/common/http/HttpConstants.HEADER_WWW_AUTHENTICATE Ljava/lang/String;
      // 7be: invokeinterface com/l7tech/common/http/HttpHeaders.getValues (Ljava/lang/String;)Ljava/util/List; 2
      // 7c3: astore 38
      // 7c5: aload 38
      // 7c7: ifnull 7fc
      // 7ca: aload 38
      // 7cc: invokeinterface java/util/List.iterator ()Ljava/util/Iterator; 1
      // 7d1: astore 39
      // 7d3: aload 39
      // 7d5: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 7da: ifeq 7fc
      // 7dd: aload 39
      // 7df: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 7e4: astore 40
      // 7e6: aload 40
      // 7e8: checkcast java/lang/String
      // 7eb: astore 41
      // 7ed: aload 36
      // 7ef: aload 41
      // 7f1: invokeinterface com/l7tech/message/HttpResponseKnob.addChallenge (Ljava/lang/String;)V 2
      // 7f6: bipush 1
      // 7f7: istore 37
      // 7f9: goto 7d3
      // 7fc: iload 37
      // 7fe: ifeq 80f
      // 801: aload 0
      // 802: getstatic com/l7tech/gateway/common/audit/AssertionMessages.HTTPROUTE_PASSTHROUGH_RESPONSE Lcom/l7tech/gateway/common/audit/Messages$M;
      // 805: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;)V
      // 808: goto 825
      // 80b: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 80e: athrow
      // 80f: iload 11
      // 811: sipush 401
      // 814: if_icmpeq 825
      // 817: aload 0
      // 818: getstatic com/l7tech/gateway/common/audit/AssertionMessages.HTTPROUTE_PASSTHROUGH_RESPONSE_NC Lcom/l7tech/gateway/common/audit/Messages$M;
      // 81b: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;)V
      // 81e: goto 825
      // 821: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 824: athrow
      // 825: aload 1
      // 826: getstatic com/l7tech/policy/assertion/RoutingStatus.ROUTED Lcom/l7tech/policy/assertion/RoutingStatus;
      // 829: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setRoutingStatus (Lcom/l7tech/policy/assertion/RoutingStatus;)V 2
      // 82e: aload 33
      // 830: aload 4
      // 832: iload 11
      // 834: aload 9
      // 836: invokevirtual com/l7tech/common/http/GenericHttpResponse.getHeaders ()Lcom/l7tech/common/http/HttpHeaders;
      // 839: aload 1
      // 83a: invokeinterface com/l7tech/server/policy/assertion/RoutingResultListener.routed (Ljava/net/URL;ILcom/l7tech/common/http/HttpHeaders;Lcom/l7tech/server/message/PolicyEnforcementContext;)V 5
      // 83f: aload 30
      // 841: astore 37
      // 843: aload 8
      // 845: ifnonnull 854
      // 848: aload 9
      // 84a: ifnull 86e
      // 84d: goto 854
      // 850: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 853: athrow
      // 854: aload 8
      // 856: astore 38
      // 858: aload 9
      // 85a: astore 39
      // 85c: aload 1
      // 85d: new com/l7tech/server/policy/assertion/v
      // 860: dup
      // 861: aload 0
      // 862: aload 39
      // 864: aload 38
      // 866: invokespecial com/l7tech/server/policy/assertion/v.<init> (Lcom/l7tech/server/policy/assertion/ServerHttpRoutingAssertion;Lcom/l7tech/common/http/GenericHttpResponse;Lcom/l7tech/common/http/GenericHttpRequest;)V
      // 869: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.runOnClose (Ljava/lang/Runnable;)V 2
      // 86e: aload 0
      // 86f: aload 1
      // 870: aload 10
      // 872: aload 4
      // 874: iload 11
      // 876: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.firePostRouting (Lcom/l7tech/server/message/PolicyEnforcementContext;Lcom/l7tech/message/Message;Ljava/net/URL;I)V
      // 879: aload 37
      // 87b: areturn
      // 87c: astore 12
      // 87e: aload 0
      // 87f: aload 1
      // 880: aload 12
      // 882: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Lcom/l7tech/server/message/PolicyEnforcementContext;Ljava/lang/Exception;)V
      // 885: aload 0
      // 886: getstatic com/l7tech/gateway/common/audit/AssertionMessages.HTTPROUTE_GENERIC_PROBLEM Lcom/l7tech/gateway/common/audit/Messages$M;
      // 889: bipush 2
      // 88a: anewarray 1549
      // 88d: dup
      // 88e: bipush 0
      // 88f: aload 4
      // 891: invokevirtual java/net/URL.toString ()Ljava/lang/String;
      // 894: aastore
      // 895: dup
      // 896: bipush 1
      // 897: aload 12
      // 899: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 89c: aastore
      // 89d: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 8a0: aload 0
      // 8a1: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logger Ljava/util/logging/Logger;
      // 8a4: getstatic java/util/logging/Level.FINEST Ljava/util/logging/Level;
      // 8a7: aload 12
      // 8a9: invokevirtual java/net/MalformedURLException.getMessage ()Ljava/lang/String;
      // 8ac: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 8af: astore 45
      // 8b1: aload 45
      // 8b3: bipush 62
      // 8b5: aaload
      // 8b6: swap
      // 8b7: 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" ]
      // 8bc: aload 12
      // 8be: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 8c1: aload 8
      // 8c3: ifnonnull 8cb
      // 8c6: aload 9
      // 8c8: ifnull 8e5
      // 8cb: aload 8
      // 8cd: astore 12
      // 8cf: aload 9
      // 8d1: astore 13
      // 8d3: aload 1
      // 8d4: new com/l7tech/server/policy/assertion/v
      // 8d7: dup
      // 8d8: aload 0
      // 8d9: aload 13
      // 8db: aload 12
      // 8dd: invokespecial com/l7tech/server/policy/assertion/v.<init> (Lcom/l7tech/server/policy/assertion/ServerHttpRoutingAssertion;Lcom/l7tech/common/http/GenericHttpResponse;Lcom/l7tech/common/http/GenericHttpRequest;)V
      // 8e0: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.runOnClose (Ljava/lang/Runnable;)V 2
      // 8e5: aload 0
      // 8e6: aload 1
      // 8e7: aload 10
      // 8e9: aload 4
      // 8eb: iload 11
      // 8ed: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.firePostRouting (Lcom/l7tech/server/message/PolicyEnforcementContext;Lcom/l7tech/message/Message;Ljava/net/URL;I)V
      // 8f0: goto abe
      // 8f3: astore 12
      // 8f5: aload 0
      // 8f6: aload 1
      // 8f7: aload 12
      // 8f9: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Lcom/l7tech/server/message/PolicyEnforcementContext;Ljava/lang/Exception;)V
      // 8fc: aload 0
      // 8fd: getstatic com/l7tech/gateway/common/audit/AssertionMessages.HTTPROUTE_UNKNOWN_HOST Lcom/l7tech/gateway/common/audit/Messages$M;
      // 900: bipush 1
      // 901: anewarray 1549
      // 904: dup
      // 905: bipush 0
      // 906: aload 12
      // 908: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 90b: aastore
      // 90c: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 90f: getstatic com/l7tech/policy/assertion/AssertionStatus.FAILED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 912: astore 13
      // 914: aload 8
      // 916: ifnonnull 925
      // 919: aload 9
      // 91b: ifnull 93f
      // 91e: goto 925
      // 921: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 924: athrow
      // 925: aload 8
      // 927: astore 14
      // 929: aload 9
      // 92b: astore 15
      // 92d: aload 1
      // 92e: new com/l7tech/server/policy/assertion/v
      // 931: dup
      // 932: aload 0
      // 933: aload 15
      // 935: aload 14
      // 937: invokespecial com/l7tech/server/policy/assertion/v.<init> (Lcom/l7tech/server/policy/assertion/ServerHttpRoutingAssertion;Lcom/l7tech/common/http/GenericHttpResponse;Lcom/l7tech/common/http/GenericHttpRequest;)V
      // 93a: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.runOnClose (Ljava/lang/Runnable;)V 2
      // 93f: aload 0
      // 940: aload 1
      // 941: aload 10
      // 943: aload 4
      // 945: iload 11
      // 947: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.firePostRouting (Lcom/l7tech/server/message/PolicyEnforcementContext;Lcom/l7tech/message/Message;Ljava/net/URL;I)V
      // 94a: aload 13
      // 94c: areturn
      // 94d: astore 12
      // 94f: aload 0
      // 950: aload 1
      // 951: aload 12
      // 953: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Lcom/l7tech/server/message/PolicyEnforcementContext;Ljava/lang/Exception;)V
      // 956: aload 0
      // 957: getstatic com/l7tech/gateway/common/audit/AssertionMessages.HTTPROUTE_SOCKET_EXCEPTION Lcom/l7tech/gateway/common/audit/Messages$M;
      // 95a: bipush 1
      // 95b: anewarray 1549
      // 95e: dup
      // 95f: bipush 0
      // 960: aload 12
      // 962: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 965: aastore
      // 966: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 969: getstatic com/l7tech/policy/assertion/AssertionStatus.FAILED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 96c: astore 13
      // 96e: aload 8
      // 970: ifnonnull 97f
      // 973: aload 9
      // 975: ifnull 999
      // 978: goto 97f
      // 97b: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 97e: athrow
      // 97f: aload 8
      // 981: astore 14
      // 983: aload 9
      // 985: astore 15
      // 987: aload 1
      // 988: new com/l7tech/server/policy/assertion/v
      // 98b: dup
      // 98c: aload 0
      // 98d: aload 15
      // 98f: aload 14
      // 991: invokespecial com/l7tech/server/policy/assertion/v.<init> (Lcom/l7tech/server/policy/assertion/ServerHttpRoutingAssertion;Lcom/l7tech/common/http/GenericHttpResponse;Lcom/l7tech/common/http/GenericHttpRequest;)V
      // 994: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.runOnClose (Ljava/lang/Runnable;)V 2
      // 999: aload 0
      // 99a: aload 1
      // 99b: aload 10
      // 99d: aload 4
      // 99f: iload 11
      // 9a1: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.firePostRouting (Lcom/l7tech/server/message/PolicyEnforcementContext;Lcom/l7tech/message/Message;Ljava/net/URL;I)V
      // 9a4: aload 13
      // 9a6: areturn
      // 9a7: astore 12
      // 9a9: aload 0
      // 9aa: aload 1
      // 9ab: aload 12
      // 9ad: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Lcom/l7tech/server/message/PolicyEnforcementContext;Ljava/lang/Exception;)V
      // 9b0: aload 0
      // 9b1: getstatic com/l7tech/gateway/common/audit/AssertionMessages.HTTPROUTE_GENERIC_PROBLEM Lcom/l7tech/gateway/common/audit/Messages$M;
      // 9b4: bipush 2
      // 9b5: anewarray 1549
      // 9b8: dup
      // 9b9: bipush 0
      // 9ba: aload 4
      // 9bc: invokevirtual java/net/URL.toString ()Ljava/lang/String;
      // 9bf: aastore
      // 9c0: dup
      // 9c1: bipush 1
      // 9c2: aload 12
      // 9c4: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 9c7: aastore
      // 9c8: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 9cb: aload 0
      // 9cc: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logger Ljava/util/logging/Logger;
      // 9cf: getstatic java/util/logging/Level.FINEST Ljava/util/logging/Level;
      // 9d2: aload 12
      // 9d4: invokevirtual java/io/IOException.getMessage ()Ljava/lang/String;
      // 9d7: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 9da: bipush 62
      // 9dc: aaload
      // 9dd: swap
      // 9de: 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" ]
      // 9e3: aload 12
      // 9e5: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 9e8: aload 8
      // 9ea: ifnonnull 9f2
      // 9ed: aload 9
      // 9ef: ifnull a0c
      // 9f2: aload 8
      // 9f4: astore 12
      // 9f6: aload 9
      // 9f8: astore 13
      // 9fa: aload 1
      // 9fb: new com/l7tech/server/policy/assertion/v
      // 9fe: dup
      // 9ff: aload 0
      // a00: aload 13
      // a02: aload 12
      // a04: invokespecial com/l7tech/server/policy/assertion/v.<init> (Lcom/l7tech/server/policy/assertion/ServerHttpRoutingAssertion;Lcom/l7tech/common/http/GenericHttpResponse;Lcom/l7tech/common/http/GenericHttpRequest;)V
      // a07: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.runOnClose (Ljava/lang/Runnable;)V 2
      // a0c: aload 0
      // a0d: aload 1
      // a0e: aload 10
      // a10: aload 4
      // a12: iload 11
      // a14: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.firePostRouting (Lcom/l7tech/server/message/PolicyEnforcementContext;Lcom/l7tech/message/Message;Ljava/net/URL;I)V
      // a17: goto abe
      // a1a: astore 12
      // a1c: aload 0
      // a1d: aload 1
      // a1e: aload 12
      // a20: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Lcom/l7tech/server/message/PolicyEnforcementContext;Ljava/lang/Exception;)V
      // a23: aload 0
      // a24: getstatic com/l7tech/gateway/common/audit/AssertionMessages.HTTPROUTE_GENERIC_PROBLEM Lcom/l7tech/gateway/common/audit/Messages$M;
      // a27: bipush 2
      // a28: anewarray 1549
      // a2b: dup
      // a2c: bipush 0
      // a2d: aload 4
      // a2f: invokevirtual java/net/URL.toString ()Ljava/lang/String;
      // a32: aastore
      // a33: dup
      // a34: bipush 1
      // a35: aload 12
      // a37: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // a3a: aastore
      // a3b: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // a3e: aload 0
      // a3f: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logger Ljava/util/logging/Logger;
      // a42: getstatic java/util/logging/Level.FINEST Ljava/util/logging/Level;
      // a45: aload 12
      // a47: aload 12
      // a49: invokedynamic get (Ljava/lang/Exception;)Ljava/util/function/Supplier; 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;, com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.lambda$reallyTryUrl$2 (Ljava/lang/Exception;)Ljava/lang/String;, ()Ljava/lang/String; ]
      // a4e: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/Throwable;Ljava/util/function/Supplier;)V
      // a51: aload 8
      // a53: ifnonnull a5b
      // a56: aload 9
      // a58: ifnull a75
      // a5b: aload 8
      // a5d: astore 12
      // a5f: aload 9
      // a61: astore 13
      // a63: aload 1
      // a64: new com/l7tech/server/policy/assertion/v
      // a67: dup
      // a68: aload 0
      // a69: aload 13
      // a6b: aload 12
      // a6d: invokespecial com/l7tech/server/policy/assertion/v.<init> (Lcom/l7tech/server/policy/assertion/ServerHttpRoutingAssertion;Lcom/l7tech/common/http/GenericHttpResponse;Lcom/l7tech/common/http/GenericHttpRequest;)V
      // a70: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.runOnClose (Ljava/lang/Runnable;)V 2
      // a75: aload 0
      // a76: aload 1
      // a77: aload 10
      // a79: aload 4
      // a7b: iload 11
      // a7d: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.firePostRouting (Lcom/l7tech/server/message/PolicyEnforcementContext;Lcom/l7tech/message/Message;Ljava/net/URL;I)V
      // a80: goto abe
      // a83: astore 42
      // a85: aload 8
      // a87: ifnonnull a96
      // a8a: aload 9
      // a8c: ifnull ab0
      // a8f: goto a96
      // a92: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // a95: athrow
      // a96: aload 8
      // a98: astore 43
      // a9a: aload 9
      // a9c: astore 44
      // a9e: aload 1
      // a9f: new com/l7tech/server/policy/assertion/v
      // aa2: dup
      // aa3: aload 0
      // aa4: aload 44
      // aa6: aload 43
      // aa8: invokespecial com/l7tech/server/policy/assertion/v.<init> (Lcom/l7tech/server/policy/assertion/ServerHttpRoutingAssertion;Lcom/l7tech/common/http/GenericHttpResponse;Lcom/l7tech/common/http/GenericHttpRequest;)V
      // aab: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.runOnClose (Ljava/lang/Runnable;)V 2
      // ab0: aload 0
      // ab1: aload 1
      // ab2: aload 10
      // ab4: aload 4
      // ab6: iload 11
      // ab8: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.firePostRouting (Lcom/l7tech/server/message/PolicyEnforcementContext;Lcom/l7tech/message/Message;Ljava/net/URL;I)V
      // abb: aload 42
      // abd: athrow
      // abe: getstatic com/l7tech/policy/assertion/AssertionStatus.FAILED Lcom/l7tech/policy/assertion/AssertionStatus;
      // ac1: areturn
      // try (487 -> 493): 493 java/lang/NumberFormatException
      // try (465 -> 473): 474 java/lang/NumberFormatException
      // try (461 -> 468): 469 java/lang/NumberFormatException
      // try (414 -> 422): 423 java/lang/NumberFormatException
      // try (374 -> 384): 385 java/lang/NumberFormatException
      // try (367 -> 379): 380 java/lang/NumberFormatException
      // try (356 -> 363): 363 java/lang/NumberFormatException
      // try (326 -> 332): 332 java/lang/NumberFormatException
      // try (299 -> 307): 308 java/lang/NumberFormatException
      // try (291 -> 296): 297 java/lang/NumberFormatException
      // try (277 -> 285): 286 java/lang/NumberFormatException
      // try (265 -> 274): 275 java/lang/NumberFormatException
      // try (243 -> 252): 252 java/lang/NumberFormatException
      // try (239 -> 245): 246 java/lang/NumberFormatException
      // try (227 -> 237): 237 java/lang/NumberFormatException
      // try (222 -> 229): 230 java/lang/NumberFormatException
      // try (205 -> 219): 220 java/lang/NumberFormatException
      // try (197 -> 210): 211 java/lang/NumberFormatException
      // try (174 -> 184): 185 java/lang/NumberFormatException
      // try (168 -> 177): 178 java/lang/NumberFormatException
      // try (160 -> 171): 172 java/lang/NumberFormatException
      // try (157 -> 165): 166 java/lang/NumberFormatException
      // try (129 -> 150): 150 java/lang/NumberFormatException
      // try (112 -> 123): 123 java/lang/NumberFormatException
      // try (107 -> 118): 119 java/lang/NumberFormatException
      // try (68 -> 79): 79 java/lang/NumberFormatException
      // try (55 -> 63): 63 java/lang/NumberFormatException
      // try (53 -> 58): 59 java/lang/NumberFormatException
      // try (43 -> 47): 47 java/lang/NumberFormatException
      // try (27 -> 33): 34 java/lang/NumberFormatException
      // try (15 -> 23): 23 java/lang/NumberFormatException
      // try (13 -> 18): 19 java/lang/NumberFormatException
      // try (521 -> 524): 525 java/lang/NumberFormatException
      // try (8 -> 550): 939 java/net/MalformedURLException
      // try (718 -> 723): 724 java/lang/NumberFormatException
      // try (701 -> 714): 714 java/lang/NumberFormatException
      // try (699 -> 709): 710 java/lang/NumberFormatException
      // try (657 -> 666): 667 java/lang/NumberFormatException
      // try (653 -> 661): 662 java/lang/NumberFormatException
      // try (577 -> 751): 939 java/net/MalformedURLException
      // try (891 -> 897): 898 java/lang/NumberFormatException
      // try (883 -> 889): 889 java/lang/NumberFormatException
      // try (826 -> 848): 849 java/lang/NumberFormatException
      // try (823 -> 828): 829 java/lang/NumberFormatException
      // try (792 -> 801): 802 java/lang/NumberFormatException
      // try (787 -> 795): 796 java/lang/NumberFormatException
      // try (778 -> 785): 785 java/lang/NumberFormatException
      // try (778 -> 912): 939 java/net/MalformedURLException
      // try (8 -> 550): 996 java/net/UnknownHostException
      // try (577 -> 751): 996 java/net/UnknownHostException
      // try (778 -> 912): 996 java/net/UnknownHostException
      // try (8 -> 550): 1040 java/net/SocketException
      // try (577 -> 751): 1040 java/net/SocketException
      // try (778 -> 912): 1040 java/net/SocketException
      // try (8 -> 550): 1084 java/io/IOException
      // try (577 -> 751): 1084 java/io/IOException
      // try (778 -> 912): 1084 java/io/IOException
      // try (8 -> 550): 1139 com/l7tech/common/mime/NoSuchPartException
      // try (8 -> 550): 1139 com/l7tech/policy/variable/NoSuchVariableException
      // try (577 -> 751): 1139 com/l7tech/common/mime/NoSuchPartException
      // try (577 -> 751): 1139 com/l7tech/policy/variable/NoSuchVariableException
      // try (778 -> 912): 1139 com/l7tech/common/mime/NoSuchPartException
      // try (778 -> 912): 1139 com/l7tech/policy/variable/NoSuchVariableException
      // try (8 -> 550): 1189 null
      // try (550 -> 554): 555 java/lang/NumberFormatException
      // try (577 -> 751): 1189 null
      // try (751 -> 755): 756 java/lang/NumberFormatException
      // try (778 -> 912): 1189 null
      // try (912 -> 916): 917 java/lang/NumberFormatException
      // try (939 -> 973): 1189 null
      // try (996 -> 1013): 1189 null
      // try (1013 -> 1017): 1018 java/lang/NumberFormatException
      // try (1040 -> 1057): 1189 null
      // try (1057 -> 1061): 1062 java/lang/NumberFormatException
      // try (1084 -> 1116): 1189 null
      // try (1139 -> 1166): 1189 null
      // try (1189 -> 1190): 1189 null
      // try (1190 -> 1194): 1195 java/lang/NumberFormatException
   }

   Pair<Object, HttpStatePoolManager.HttpStateCacheKey> a(PolicyEnforcementContext param1, GenericHttpRequestParams param2, URL param3) {
      // $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: aconst_null
      // 001: astore 4
      // 003: aconst_null
      // 004: astore 5
      // 006: aload 1
      // 007: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getRequest ()Lcom/l7tech/message/Message; 1
      // 00c: invokevirtual com/l7tech/message/Message.isHttpRequest ()Z
      // 00f: istore 6
      // 011: aload 0
      // 012: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 015: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 018: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.isPassthroughHttpAuthentication ()Z
      // 01b: ifeq 03a
      // 01e: iload 6
      // 020: ifeq 03a
      // 023: goto 02a
      // 026: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 029: athrow
      // 02a: aload 1
      // 02b: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getRequest ()Lcom/l7tech/message/Message; 1
      // 030: invokevirtual com/l7tech/message/Message.getHttpRequestKnob ()Lcom/l7tech/message/HttpRequestKnob;
      // 033: invokeinterface com/l7tech/message/HttpRequestKnob.getConnectionIdentifier ()Ljava/lang/Object; 1
      // 038: astore 4
      // 03a: aload 2
      // 03b: invokevirtual com/l7tech/common/http/GenericHttpRequestParams.getExtraHeaders ()Ljava/util/List;
      // 03e: invokeinterface java/util/List.iterator ()Ljava/util/Iterator; 1
      // 043: astore 7
      // 045: aload 7
      // 047: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 04c: ifeq 10f
      // 04f: aload 7
      // 051: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 056: checkcast com/l7tech/common/http/HttpHeader
      // 059: astore 8
      // 05b: getstatic com/l7tech/common/http/HttpConstants.HEADER_AUTHORIZATION Ljava/lang/String;
      // 05e: aload 8
      // 060: invokeinterface com/l7tech/common/http/HttpHeader.getName ()Ljava/lang/String; 1
      // 065: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 068: ifeq 10c
      // 06b: iload 6
      // 06d: ifeq 087
      // 070: goto 077
      // 073: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 076: athrow
      // 077: aload 1
      // 078: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getRequest ()Lcom/l7tech/message/Message; 1
      // 07d: invokevirtual com/l7tech/message/Message.getHttpRequestKnob ()Lcom/l7tech/message/HttpRequestKnob;
      // 080: invokeinterface com/l7tech/message/HttpRequestKnob.getConnectionIdentifier ()Ljava/lang/Object; 1
      // 085: astore 4
      // 087: aload 8
      // 089: invokeinterface com/l7tech/common/http/HttpHeader.getFullValue ()Ljava/lang/String; 1
      // 08e: ifnull 10f
      // 091: aload 8
      // 093: invokeinterface com/l7tech/common/http/HttpHeader.getFullValue ()Ljava/lang/String; 1
      // 098: getstatic com/l7tech/common/http/prov/apache/components/HttpComponentsClient.NTLM_SCHEME Ljava/lang/String;
      // 09b: invokevirtual java/lang/String.startsWith (Ljava/lang/String;)Z
      // 09e: ifne 10f
      // 0a1: goto 0a8
      // 0a4: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0a7: athrow
      // 0a8: aload 8
      // 0aa: invokeinterface com/l7tech/common/http/HttpHeader.getFullValue ()Ljava/lang/String; 1
      // 0af: getstatic com/l7tech/common/http/prov/apache/components/HttpComponentsClient.NEGOTIATE_SCHEME Ljava/lang/String;
      // 0b2: invokevirtual java/lang/String.startsWith (Ljava/lang/String;)Z
      // 0b5: ifne 10f
      // 0b8: goto 0bf
      // 0bb: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0be: athrow
      // 0bf: aload 0
      // 0c0: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.c ()Z
      // 0c3: ifeq 0d8
      // 0c6: aload 0
      // 0c7: aload 3
      // 0c8: ldc ""
      // 0ca: getstatic java/nio/charset/StandardCharsets.UTF_8 Ljava/nio/charset/Charset;
      // 0cd: invokevirtual java/lang/String.getBytes (Ljava/nio/charset/Charset;)[B
      // 0d0: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/net/URL;[B)Lcom/l7tech/server/http/HttpStatePoolManager$HttpStateCacheKey;
      // 0d3: astore 5
      // 0d5: goto 0ec
      // 0d8: aload 0
      // 0d9: aload 3
      // 0da: aload 8
      // 0dc: invokeinterface com/l7tech/common/http/HttpHeader.getFullValue ()Ljava/lang/String; 1
      // 0e1: getstatic java/nio/charset/StandardCharsets.UTF_8 Ljava/nio/charset/Charset;
      // 0e4: invokevirtual java/lang/String.getBytes (Ljava/nio/charset/Charset;)[B
      // 0e7: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/net/URL;[B)Lcom/l7tech/server/http/HttpStatePoolManager$HttpStateCacheKey;
      // 0ea: astore 5
      // 0ec: aload 5
      // 0ee: astore 4
      // 0f0: goto 10f
      // 0f3: astore 9
      // 0f5: aload 0
      // 0f6: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logger Ljava/util/logging/Logger;
      // 0f9: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 0fc: aload 9
      // 0fe: invokestatic com/l7tech/util/ExceptionUtils.getDebugException (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 101: invokedynamic get ()Ljava/util/function/Supplier; 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;, com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.lambda$buildConnectionId$3 ()Ljava/lang/String;, ()Ljava/lang/String; ]
      // 106: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/Throwable;Ljava/util/function/Supplier;)V
      // 109: goto 10f
      // 10c: goto 045
      // 10f: new com/l7tech/util/Pair
      // 112: dup
      // 113: aload 4
      // 115: aload 5
      // 117: invokespecial com/l7tech/util/Pair.<init> (Ljava/lang/Object;Ljava/lang/Object;)V
      // 11a: areturn
      // try (52 -> 65): 66 java/security/NoSuchAlgorithmException
      // try (49 -> 57): 58 java/security/NoSuchAlgorithmException
      // try (34 -> 41): 42 java/security/NoSuchAlgorithmException
      // try (8 -> 15): 16 java/security/NoSuchAlgorithmException
      // try (68 -> 89): 90 java/security/NoSuchAlgorithmException
   }

   private boolean c() {
      try {
         if (this.assertion.getOmitAuthHeaderConnectReuseSystemDefault() == null) {
            return false;
         }
      } catch (IllegalArgumentException var1) {
         throw a(var1);
      }

      try {
         if (this.assertion.getOmitAuthHeaderConnectReuseSystemDefault()) {
            return this.p.getBooleanProperty(N[18], false);
         }
      } catch (IllegalArgumentException var2) {
         throw a(var2);
      }

      return this.assertion.getOmitAuthHeaderConnectReuse();
   }

   @NotNull
   HttpStatePoolManager.HttpStateCacheKey a(URL var1, byte[] var2) throws NoSuchAlgorithmException {
      int var3 = var1.getPort();
      if (var3 <= 0) {
         var3 = var1.getDefaultPort();
      }

      String[] var8 = N;
      String var4 = this.p.getProperty(var8[16], var8[30]);
      String var5;
      if (!this.c(var4)) {
         this.logger.log(Level.WARNING, () -> {
            String[] var1x = N;
            return var1x[21] + var4 + var1x[28];
         });
         var5 = var8[23];
      } else {
         var5 = var4;
      }

      this.logger.log(Level.FINE, () -> {
         String[] var1x = N;
         return var1x[102] + var5 + var1x[15];
      });
      MessageDigest var6 = MessageDigest.getInstance(var5);
      var6.update(this.z.getBytes(StandardCharsets.UTF_8));
      byte[] var7 = var6.digest(var2);
      return new HttpStatePoolManager.HttpStateCacheKey(var3, var1.getHost(), var7);
   }

   private boolean c(@NotNull String param1) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 1
      // 01: ifnonnull 0f
      // 04: bipush 0
      // 05: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.b (I)V
      // 08: goto 0f
      // 0b: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0e: athrow
      // 0f: aload 1
      // 10: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 13: bipush 89
      // 15: aaload
      // 16: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 19: ifne 44
      // 1c: aload 1
      // 1d: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 20: bipush 23
      // 22: aaload
      // 23: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 26: ifne 44
      // 29: goto 30
      // 2c: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2f: athrow
      // 30: aload 1
      // 31: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 34: bipush 25
      // 36: aaload
      // 37: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 3a: ifeq 4c
      // 3d: goto 44
      // 40: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 43: athrow
      // 44: bipush 1
      // 45: goto 4d
      // 48: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 4b: athrow
      // 4c: bipush 0
      // 4d: ireturn
      // try (0 -> 4): 5 java/lang/IllegalArgumentException
      // try (7 -> 19): 20 java/lang/IllegalArgumentException
      // try (13 -> 28): 29 java/lang/IllegalArgumentException
      // try (22 -> 33): 33 java/lang/IllegalArgumentException
   }

   private GenericHttpRequest a(
      PolicyEnforcementContext var1, GenericHttpRequestParams var2, GenericHttpClient var3, HttpMethod var4, HttpStatePoolManager.HttpStateCacheKey var5
   ) throws GenericHttpException {
      label56: {
         Object var6;
         label55: {
            label54: {
               try {
                  if (!ENABLE_STATE_POOL) {
                     break label56;
                  }

                  if (var5 != null) {
                     break label54;
                  }
               } catch (GenericHttpException var11) {
                  throw a(var11);
               }

               var6 = this.J.poll();
               break label55;
            }

            var6 = this.A.getFromStateCache(var5);
         }

         try {
            if (var6 != null) {
               var2.setState(new GenericHttpState(var6));
            }
         } catch (GenericHttpException var8) {
            throw a(var8);
         }
      }

      GenericHttpRequest var12 = var3.createRequest(var4, var2);

      try {
         if (!ENABLE_STATE_POOL || var2.getState() == null) {
            return var12;
         }
      } catch (GenericHttpException var10) {
         throw a(var10);
      }

      Object var7 = var2.getState().getStateObject();

      try {
         if (var5 != null) {
            var1.runOnClose(() -> this.A.putToStateCacheIfAbsent(var5, var7));
            return var12;
         }
      } catch (GenericHttpException var9) {
         throw a(var9);
      }

      var1.runOnClose(() -> this.J.offer(var7));
      return var12;
   }

   private HttpProxyConfig a(PolicyEnforcementContext var1) throws FindException {
      String var2 = this.a(var1, this.assertion.getProxyHost());

      try {
         if (StringUtils.isBlank(var2)) {
            return null;
         }
      } catch (FindException var6) {
         throw a(var6);
      }

      int var3 = this.b(var1, this.assertion.getProxyPort());
      String var4 = this.a(var1, this.assertion.getProxyUsername());
      String var5 = ServerVariables.expandPasswordOnlyVariable(this.getAudit(), this.assertion.getProxyPassword());
      return new HttpProxyConfig(var2, var3, var4, var5);
   }

   private void a(Message var1, GenericHttpRequestParams var2) {
      Collection var3 = var1.getHeadersKnob().getHeaders(HttpConstants.HEADER_CONTENT_TYPE, N[2]);
      if (var3 != null) {
         for (Header var5 : var3) {
            try {
               if (!var5.isPassThrough()) {
                  var2.addExtraHeader(new GenericHttpHeader(HttpConstants.HEADER_CONTENT_TYPE, (String)var5.getValue()));
               }
            } catch (IllegalArgumentException var6) {
               throw a(var6);
            }
         }
      }
   }

   private HttpVersion d() {
      // $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/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 04: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 07: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getHttpVersion ()Lcom/l7tech/common/http/GenericHttpRequestParams$HttpVersion;
      // 0a: ifnonnull 31
      // 0d: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 10: bipush 17
      // 12: aaload
      // 13: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 16: bipush 74
      // 18: aaload
      // 19: invokestatic com/l7tech/util/ConfigFactory.getProperty (Ljava/lang/String;)Ljava/lang/String;
      // 1c: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 1f: ifeq 31
      // 22: goto 29
      // 25: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 28: athrow
      // 29: getstatic com/l7tech/common/http/GenericHttpRequestParams$HttpVersion.HTTP_VERSION_1_0 Lcom/l7tech/common/http/GenericHttpRequestParams$HttpVersion;
      // 2c: areturn
      // 2d: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 30: athrow
      // 31: aload 0
      // 32: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 35: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 38: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getHttpVersion ()Lcom/l7tech/common/http/GenericHttpRequestParams$HttpVersion;
      // 3b: areturn
      // try (0 -> 14): 15 java/lang/IllegalArgumentException
      // try (5 -> 19): 19 java/lang/IllegalArgumentException
   }

   private static Long a(Message param0) {
      // $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: ldc com/l7tech/message/HttpRequestKnob
      // 03: invokevirtual com/l7tech/message/Message.getKnob (Ljava/lang/Class;)Ljava/lang/Object;
      // 06: checkcast com/l7tech/message/HasHeaders
      // 09: astore 1
      // 0a: aload 1
      // 0b: ifnonnull 18
      // 0e: aload 0
      // 0f: ldc com/l7tech/message/HasHeaders
      // 11: invokevirtual com/l7tech/message/Message.getKnob (Ljava/lang/Class;)Ljava/lang/Object;
      // 14: checkcast com/l7tech/message/HasHeaders
      // 17: astore 1
      // 18: aload 1
      // 19: ifnonnull 22
      // 1c: aconst_null
      // 1d: areturn
      // 1e: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 21: athrow
      // 22: aload 1
      // 23: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 26: bipush 3
      // 27: aaload
      // 28: invokeinterface com/l7tech/message/HasHeaders.getHeaderValues (Ljava/lang/String;)[Ljava/lang/String; 2
      // 2d: astore 2
      // 2e: aload 2
      // 2f: ifnull 3f
      // 32: aload 2
      // 33: arraylength
      // 34: bipush 1
      // 35: if_icmpge 45
      // 38: goto 3f
      // 3b: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 3e: athrow
      // 3f: aconst_null
      // 40: areturn
      // 41: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 44: athrow
      // 45: aconst_null
      // 46: astore 3
      // 47: aload 2
      // 48: astore 4
      // 4a: aload 4
      // 4c: arraylength
      // 4d: istore 5
      // 4f: bipush 0
      // 50: istore 6
      // 52: iload 6
      // 54: iload 5
      // 56: if_icmpge 95
      // 59: aload 4
      // 5b: iload 6
      // 5d: aaload
      // 5e: astore 7
      // 60: aload 7
      // 62: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.d (Ljava/lang/String;)Ljava/lang/Long;
      // 65: astore 8
      // 67: aload 8
      // 69: ifnonnull 72
      // 6c: aconst_null
      // 6d: areturn
      // 6e: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 71: athrow
      // 72: aload 3
      // 73: ifnonnull 7c
      // 76: aload 8
      // 78: astore 3
      // 79: goto 8f
      // 7c: aload 3
      // 7d: invokevirtual java/lang/Long.longValue ()J
      // 80: aload 8
      // 82: invokevirtual java/lang/Long.longValue ()J
      // 85: lcmp
      // 86: ifeq 8f
      // 89: aconst_null
      // 8a: areturn
      // 8b: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 8e: athrow
      // 8f: iinc 6 1
      // 92: goto 52
      // 95: aload 3
      // 96: areturn
      // try (12 -> 16): 16 java/lang/IllegalArgumentException
      // try (24 -> 30): 31 java/lang/IllegalArgumentException
      // try (26 -> 35): 35 java/lang/IllegalArgumentException
      // try (56 -> 60): 60 java/lang/IllegalArgumentException
      // try (67 -> 75): 75 java/lang/IllegalArgumentException
   }

   private static Long d(String var0) {
      try {
         try {
            if (var0 == null) {
               return null;
            }
         } catch (NumberFormatException var2) {
            throw a(var2);
         }

         return Long.parseLong(var0);
      } catch (NumberFormatException var3) {
         return null;
      }
   }

   private void a(PolicyEnforcementContext param1, Exception param2) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 2
      // 01: invokevirtual java/lang/Exception.getCause ()Ljava/lang/Throwable;
      // 04: astore 3
      // 05: aload 3
      // 06: ifnonnull 0b
      // 09: aload 2
      // 0a: astore 3
      // 0b: aload 3
      // 0c: instanceof java/net/UnknownHostException
      // 0f: ifne 20
      // 12: aload 3
      // 13: instanceof java/net/ConnectException
      // 16: ifeq 34
      // 19: goto 20
      // 1c: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1f: athrow
      // 20: aload 1
      // 21: getstatic com/l7tech/policy/assertion/HttpRoutingAssertion.VAR_HTTP_ROUTING_REASON_CODE Ljava/lang/String;
      // 24: bipush -1
      // 25: invokestatic java/lang/Integer.valueOf (I)Ljava/lang/Integer;
      // 28: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 2d: goto a6
      // 30: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 33: athrow
      // 34: aload 3
      // 35: instanceof org/apache/hc/client5/http/ConnectTimeoutException
      // 38: ifeq 50
      // 3b: aload 1
      // 3c: getstatic com/l7tech/policy/assertion/HttpRoutingAssertion.VAR_HTTP_ROUTING_REASON_CODE Ljava/lang/String;
      // 3f: bipush -3
      // 41: invokestatic java/lang/Integer.valueOf (I)Ljava/lang/Integer;
      // 44: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 49: goto a6
      // 4c: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 4f: athrow
      // 50: aload 3
      // 51: instanceof java/net/SocketTimeoutException
      // 54: ifeq 6c
      // 57: aload 1
      // 58: getstatic com/l7tech/policy/assertion/HttpRoutingAssertion.VAR_HTTP_ROUTING_REASON_CODE Ljava/lang/String;
      // 5b: bipush -4
      // 5d: invokestatic java/lang/Integer.valueOf (I)Ljava/lang/Integer;
      // 60: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 65: goto a6
      // 68: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 6b: athrow
      // 6c: aload 3
      // 6d: instanceof java/net/MalformedURLException
      // 70: ifeq 88
      // 73: aload 1
      // 74: getstatic com/l7tech/policy/assertion/HttpRoutingAssertion.VAR_HTTP_ROUTING_REASON_CODE Ljava/lang/String;
      // 77: bipush -2
      // 79: invokestatic java/lang/Integer.valueOf (I)Ljava/lang/Integer;
      // 7c: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 81: goto a6
      // 84: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 87: athrow
      // 88: aload 2
      // 89: ldc com/l7tech/common/http/prov/apache/components/AbortedSocketException
      // 8b: invokestatic com/l7tech/util/ExceptionUtils.causedBy (Ljava/lang/Throwable;Ljava/lang/Class;)Z
      // 8e: ifeq a6
      // 91: aload 1
      // 92: getstatic com/l7tech/policy/assertion/HttpRoutingAssertion.VAR_HTTP_ROUTING_REASON_CODE Ljava/lang/String;
      // 95: bipush -6
      // 97: invokestatic java/lang/Integer.valueOf (I)Ljava/lang/Integer;
      // 9a: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 9f: goto a6
      // a2: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // a5: athrow
      // a6: return
      // try (7 -> 13): 14 java/lang/IllegalArgumentException
      // try (10 -> 22): 22 java/lang/IllegalArgumentException
      // try (24 -> 33): 33 java/lang/IllegalArgumentException
      // try (35 -> 44): 44 java/lang/IllegalArgumentException
      // try (46 -> 55): 55 java/lang/IllegalArgumentException
      // try (57 -> 66): 67 java/lang/IllegalArgumentException
   }

   private Message b(PolicyEnforcementContext var1) {
      try {
         if (this.assertion.getRequestMsgSrc() == null) {
            return var1.getRequest();
         }
      } catch (NoSuchVariableException var9) {
         throw a(var9);
      }

      String var2 = this.assertion.getRequestMsgSrc();

      try {
         Object var3 = var1.getVariable(var2);
         if (!(var3 instanceof Message)) {
            AssertionStatus var10002 = AssertionStatus.SERVER_ERROR;
            String var10004 = String.valueOf(Message.class);
            String var4 = String.valueOf(var3.getClass());
            String var5 = var10004;
            String var6 = var2;
            String[] var10 = N;
            throw new AssertionStatusException(var10002, var10[45] + var6 + var10[105] + var5 + var10[19] + var4 + var10[46]);
         } else {
            return (Message)var3;
         }
      } catch (NoSuchVariableException var8) {
         String[] var7 = N;
         throw new AssertionStatusException(AssertionStatus.SERVER_ERROR, var7[47] + var2 + var7[88]);
      }
   }

   private AssertionStatus a(PolicyEnforcementContext param1, GenericHttpResponse param2, Message param3, long param4) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 000: getstatic com/l7tech/policy/assertion/AssertionStatus.NONE Lcom/l7tech/policy/assertion/AssertionStatus;
      // 003: astore 6
      // 005: aload 2
      // 006: invokevirtual com/l7tech/common/http/GenericHttpResponse.getStatus ()I
      // 009: istore 7
      // 00b: aload 2
      // 00c: invokevirtual com/l7tech/common/http/GenericHttpResponse.getInputStream ()Ljava/io/InputStream;
      // 00f: astore 8
      // 011: aload 2
      // 012: invokevirtual com/l7tech/common/http/GenericHttpResponse.getHeaders ()Lcom/l7tech/common/http/HttpHeaders;
      // 015: getstatic com/l7tech/common/http/HttpConstants.HEADER_CONTENT_ENCODING Ljava/lang/String;
      // 018: invokeinterface com/l7tech/common/http/HttpHeaders.getOnlyOneValue (Ljava/lang/String;)Ljava/lang/String; 2
      // 01d: astore 9
      // 01f: aload 9
      // 021: ifnull 082
      // 024: aload 9
      // 026: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 029: bipush 84
      // 02b: aaload
      // 02c: invokevirtual java/lang/String.contains (Ljava/lang/CharSequence;)Z
      // 02f: ifeq 082
      // 032: goto 039
      // 035: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 038: athrow
      // 039: aload 8
      // 03b: ifnull 082
      // 03e: goto 045
      // 041: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 044: athrow
      // 045: aload 2
      // 046: invokevirtual com/l7tech/common/http/GenericHttpResponse.getContentLength ()Ljava/lang/Long;
      // 049: ifnull 066
      // 04c: goto 053
      // 04f: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 052: athrow
      // 053: aload 2
      // 054: invokevirtual com/l7tech/common/http/GenericHttpResponse.getContentLength ()Ljava/lang/Long;
      // 057: invokevirtual java/lang/Long.longValue ()J
      // 05a: lconst_0
      // 05b: lcmp
      // 05c: ifle 082
      // 05f: goto 066
      // 062: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 065: athrow
      // 066: aload 0
      // 067: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logger Ljava/util/logging/Logger;
      // 06a: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 06d: astore 14
      // 06f: aload 14
      // 071: bipush 13
      // 073: aaload
      // 074: invokevirtual java/util/logging/Logger.fine (Ljava/lang/String;)V
      // 077: new java/util/zip/GZIPInputStream
      // 07a: dup
      // 07b: aload 8
      // 07d: invokespecial java/util/zip/GZIPInputStream.<init> (Ljava/io/InputStream;)V
      // 080: astore 8
      // 082: aload 2
      // 083: invokevirtual com/l7tech/common/http/GenericHttpResponse.getHeaders ()Lcom/l7tech/common/http/HttpHeaders;
      // 086: getstatic com/l7tech/common/http/HttpConstants.HEADER_CONTENT_TYPE Ljava/lang/String;
      // 089: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 08c: astore 14
      // 08e: aload 14
      // 090: bipush 65
      // 092: aaload
      // 093: invokestatic com/l7tech/util/ConfigFactory.getProperty (Ljava/lang/String;)Ljava/lang/String;
      // 096: invokestatic com/l7tech/common/http/HttpHeaderUtil.searchHeaderValue (Lcom/l7tech/common/http/HttpHeaders;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
      // 099: astore 10
      // 09b: aload 10
      // 09d: ifnull 0b4
      // 0a0: aload 10
      // 0a2: aload 14
      // 0a4: bipush 92
      // 0a6: aaload
      // 0a7: invokestatic com/l7tech/util/ConfigFactory.getProperty (Ljava/lang/String;)Ljava/lang/String;
      // 0aa: invokestatic com/l7tech/common/mime/ContentTypeHeader.create (Ljava/lang/String;Ljava/lang/String;)Lcom/l7tech/common/mime/ContentTypeHeader;
      // 0ad: goto 0b5
      // 0b0: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0b3: athrow
      // 0b4: aconst_null
      // 0b5: astore 11
      // 0b7: bipush 0
      // 0b8: istore 12
      // 0ba: aload 0
      // 0bb: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 0be: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 0c1: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.isPassThroughSoapFaults ()Z
      // 0c4: ifeq 126
      // 0c7: iload 7
      // 0c9: sipush 500
      // 0cc: if_icmpne 126
      // 0cf: goto 0d6
      // 0d2: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0d5: athrow
      // 0d6: aload 1
      // 0d7: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getService ()Lcom/l7tech/gateway/common/service/PublishedService; 1
      // 0dc: ifnull 126
      // 0df: goto 0e6
      // 0e2: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0e5: athrow
      // 0e6: aload 1
      // 0e7: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getService ()Lcom/l7tech/gateway/common/service/PublishedService; 1
      // 0ec: invokevirtual com/l7tech/gateway/common/service/PublishedService.isSoap ()Z
      // 0ef: ifeq 126
      // 0f2: goto 0f9
      // 0f5: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0f8: athrow
      // 0f9: aload 11
      // 0fb: ifnull 126
      // 0fe: goto 105
      // 101: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 104: athrow
      // 105: aload 11
      // 107: invokevirtual com/l7tech/common/mime/ContentTypeHeader.isXml ()Z
      // 10a: ifne 123
      // 10d: goto 114
      // 110: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 113: athrow
      // 114: aload 11
      // 116: invokevirtual com/l7tech/common/mime/ContentTypeHeader.isMultipart ()Z
      // 119: ifeq 126
      // 11c: goto 123
      // 11f: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 122: athrow
      // 123: bipush 1
      // 124: istore 12
      // 126: iload 7
      // 128: sipush 200
      // 12b: if_icmpne 141
      // 12e: aload 11
      // 130: ifnonnull 141
      // 133: goto 13a
      // 136: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 139: athrow
      // 13a: aload 0
      // 13b: bipush 0
      // 13c: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.b (Z)Lcom/l7tech/common/mime/ContentTypeHeader;
      // 13f: astore 11
      // 141: aload 0
      // 142: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 145: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 148: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.isPassthroughHttpAuthentication ()Z
      // 14b: ifeq 18b
      // 14e: iload 7
      // 150: sipush 401
      // 153: if_icmpne 18b
      // 156: goto 15d
      // 159: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 15c: athrow
      // 15d: aload 11
      // 15f: ifnonnull 170
      // 162: goto 169
      // 165: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 168: athrow
      // 169: aload 0
      // 16a: bipush 1
      // 16b: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.b (Z)Lcom/l7tech/common/mime/ContentTypeHeader;
      // 16e: astore 11
      // 170: aload 3
      // 171: aload 0
      // 172: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.q Lcom/l7tech/server/StashManagerFactory;
      // 175: invokeinterface com/l7tech/server/StashManagerFactory.createStashManager ()Lcom/l7tech/common/mime/StashManager; 1
      // 17a: aload 11
      // 17c: aload 8
      // 17e: lload 4
      // 180: invokevirtual com/l7tech/message/Message.initialize (Lcom/l7tech/common/mime/StashManager;Lcom/l7tech/common/mime/ContentTypeHeader;Ljava/io/InputStream;J)V
      // 183: getstatic com/l7tech/policy/assertion/AssertionStatus.AUTH_REQUIRED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 186: astore 6
      // 188: goto 210
      // 18b: iload 7
      // 18d: sipush 400
      // 190: if_icmplt 1ce
      // 193: aload 0
      // 194: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 197: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 19a: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.isFailOnErrorStatus ()Z
      // 19d: ifeq 1ce
      // 1a0: goto 1a7
      // 1a3: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1a6: athrow
      // 1a7: iload 12
      // 1a9: ifne 1ce
      // 1ac: goto 1b3
      // 1af: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1b2: athrow
      // 1b3: aload 0
      // 1b4: getstatic com/l7tech/gateway/common/audit/AssertionMessages.HTTPROUTE_RESPONSE_BADSTATUS Lcom/l7tech/gateway/common/audit/Messages$M;
      // 1b7: bipush 1
      // 1b8: anewarray 1549
      // 1bb: dup
      // 1bc: bipush 0
      // 1bd: iload 7
      // 1bf: invokestatic java/lang/Integer.toString (I)Ljava/lang/String;
      // 1c2: aastore
      // 1c3: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 1c6: getstatic com/l7tech/policy/assertion/AssertionStatus.FALSIFIED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 1c9: astore 6
      // 1cb: goto 210
      // 1ce: aload 11
      // 1d0: ifnonnull 1da
      // 1d3: aload 0
      // 1d4: bipush 0
      // 1d5: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.b (Z)Lcom/l7tech/common/mime/ContentTypeHeader;
      // 1d8: astore 11
      // 1da: aload 11
      // 1dc: ifnonnull 1e4
      // 1df: getstatic com/l7tech/common/mime/ContentTypeHeader.NONE Lcom/l7tech/common/mime/ContentTypeHeader;
      // 1e2: astore 11
      // 1e4: aload 8
      // 1e6: ifnonnull 1f9
      // 1e9: aload 3
      // 1ea: aload 11
      // 1ec: bipush 0
      // 1ed: newarray 8
      // 1ef: invokevirtual com/l7tech/message/Message.initialize (Lcom/l7tech/common/mime/ContentTypeHeader;[B)V
      // 1f2: goto 210
      // 1f5: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1f8: athrow
      // 1f9: aload 0
      // 1fa: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.q Lcom/l7tech/server/StashManagerFactory;
      // 1fd: invokeinterface com/l7tech/server/StashManagerFactory.createStashManager ()Lcom/l7tech/common/mime/StashManager; 1
      // 202: astore 13
      // 204: aload 3
      // 205: aload 13
      // 207: aload 11
      // 209: aload 8
      // 20b: lload 4
      // 20d: invokevirtual com/l7tech/message/Message.initialize (Lcom/l7tech/common/mime/StashManager;Lcom/l7tech/common/mime/ContentTypeHeader;Ljava/io/InputStream;J)V
      // 210: aload 0
      // 211: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 214: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 217: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.isMaxDurationEnabled ()Z
      // 21a: ifeq 288
      // 21d: aload 0
      // 21e: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 221: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 224: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getResponseMsgDest ()Ljava/lang/String;
      // 227: ifnonnull 23e
      // 22a: goto 231
      // 22d: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 230: athrow
      // 231: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 234: bipush 93
      // 236: aaload
      // 237: goto 256
      // 23a: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 23d: athrow
      // 23e: aload 0
      // 23f: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 242: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 245: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getResponseMsgDest ()Ljava/lang/String;
      // 248: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 24b: bipush 71
      // 24d: aaload
      // 24e: swap
      // 24f: ldc "}"
      // 251: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001\u0001" ]
      // 256: astore 13
      // 258: aload 0
      // 259: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 25c: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 25f: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.isBufferDisabled ()Z
      // 262: aload 0
      // 263: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 266: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 269: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.isBufferDisabled ()Z
      // 26c: ifne 277
      // 26f: bipush 1
      // 270: goto 278
      // 273: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 276: athrow
      // 277: bipush 0
      // 278: aload 1
      // 279: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getResponse ()Lcom/l7tech/message/Message; 1
      // 27e: aload 13
      // 280: aload 0
      // 281: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.getAudit ()Lcom/l7tech/gateway/common/audit/Audit;
      // 284: invokestatic com/l7tech/server/policy/assertion/ServerMessageBufferingAssertion.configureMessageBuffering (ZZLcom/l7tech/message/Message;Ljava/lang/String;Lcom/l7tech/gateway/common/audit/Audit;)Lcom/l7tech/policy/assertion/AssertionStatus;
      // 287: pop
      // 288: goto 2e8
      // 28b: astore 7
      // 28d: aload 0
      // 28e: getstatic com/l7tech/gateway/common/audit/AssertionMessages.HTTPROUTE_BAD_GZIP_STREAM Lcom/l7tech/gateway/common/audit/Messages$M;
      // 291: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;)V
      // 294: getstatic com/l7tech/policy/assertion/AssertionStatus.FALSIFIED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 297: astore 6
      // 299: goto 2e8
      // 29c: astore 7
      // 29e: aload 7
      // 2a0: ldc com/l7tech/common/http/prov/apache/components/AbortedSocketException
      // 2a2: invokestatic com/l7tech/util/ExceptionUtils.causedBy (Ljava/lang/Throwable;Ljava/lang/Class;)Z
      // 2a5: ifeq 2d6
      // 2a8: bipush 1
      // 2a9: anewarray 1549
      // 2ac: dup
      // 2ad: bipush 0
      // 2ae: aload 7
      // 2b0: ldc com/l7tech/common/http/prov/apache/components/AbortedSocketException
      // 2b2: invokestatic com/l7tech/util/ExceptionUtils.getCauseIfCausedBy (Ljava/lang/Throwable;Ljava/lang/Class;)Ljava/lang/Throwable;
      // 2b5: checkcast com/l7tech/common/http/prov/apache/components/AbortedSocketException
      // 2b8: invokevirtual com/l7tech/common/http/prov/apache/components/AbortedSocketException.getMessage ()Ljava/lang/String;
      // 2bb: aastore
      // 2bc: astore 8
      // 2be: aload 0
      // 2bf: getstatic com/l7tech/gateway/common/audit/AssertionMessages.HTTPROUTE_MAX_DURATION_EXCEEDED Lcom/l7tech/gateway/common/audit/Messages$M;
      // 2c2: aload 8
      // 2c4: aload 7
      // 2c6: invokestatic com/l7tech/util/ExceptionUtils.getDebugException (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 2c9: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;Ljava/lang/Throwable;)V
      // 2cc: aload 0
      // 2cd: aload 1
      // 2ce: aload 7
      // 2d0: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Lcom/l7tech/server/message/PolicyEnforcementContext;Ljava/lang/Exception;)V
      // 2d3: goto 2e3
      // 2d6: aload 0
      // 2d7: getstatic com/l7tech/gateway/common/audit/AssertionMessages.HTTPROUTE_ERROR_READING_RESPONSE Lcom/l7tech/gateway/common/audit/Messages$M;
      // 2da: aconst_null
      // 2db: aload 7
      // 2dd: invokestatic com/l7tech/util/ExceptionUtils.getDebugException (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 2e0: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;Ljava/lang/Throwable;)V
      // 2e3: getstatic com/l7tech/policy/assertion/AssertionStatus.FALSIFIED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 2e6: astore 6
      // 2e8: aload 6
      // 2ea: areturn
      // try (258 -> 269): 269 java/io/EOFException
      // try (233 -> 245): 245 java/io/EOFException
      // try (228 -> 238): 239 java/io/EOFException
      // try (208 -> 216): 216 java/io/EOFException
      // try (172 -> 182): 183 java/io/EOFException
      // try (169 -> 177): 178 java/io/EOFException
      // try (143 -> 151): 152 java/io/EOFException
      // try (138 -> 146): 147 java/io/EOFException
      // try (126 -> 131): 132 java/io/EOFException
      // try (112 -> 121): 122 java/io/EOFException
      // try (107 -> 115): 116 java/io/EOFException
      // try (100 -> 109): 110 java/io/EOFException
      // try (94 -> 104): 105 java/io/EOFException
      // try (88 -> 97): 98 java/io/EOFException
      // try (83 -> 91): 92 java/io/EOFException
      // try (68 -> 77): 77 java/io/EOFException
      // try (29 -> 41): 42 java/io/EOFException
      // try (24 -> 32): 33 java/io/EOFException
      // try (15 -> 26): 27 java/io/EOFException
      // try (13 -> 21): 22 java/io/EOFException
      // try (2 -> 279): 280 java/io/EOFException
      // try (2 -> 279): 287 java/lang/Exception
   }

   private ContentTypeHeader b(boolean var1) {
      ContentTypeHeader var10000;
      label24: {
         try {
            if (var1) {
               var10000 = ContentTypeHeader.OCTET_STREAM_DEFAULT;
               break label24;
            }
         } catch (UncheckedIOException var7) {
            throw a(var7);
         }

         var10000 = null;
      }

      ContentTypeHeader var2 = var10000;
      String[] var5 = N;
      String var3 = this.p.getProperty(var5[35]);
      if (var3 != null) {
         try {
            var2 = ContentTypeHeader.create(var3);
            this.logAndAudit(AssertionMessages.HTTPROUTE_RESPONSE_DEFCONTENTTYPE);
         } catch (UncheckedIOException var6) {
            Logger var9 = this.logger;
            Level var10001 = Level.WARNING;
            String var10002 = ExceptionUtils.getMessage(var6);
            var5 = N;
            var9.log(var10001, var5[4] + var10002 + var5[63], ExceptionUtils.getDebugException(var6));
         }
      }

      return var2;
   }

   private URL a(PublishedService param1, Map<String, ?> param2) throws WSDLException, MalformedURLException {
      // $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/ServerHttpRoutingAssertion.x Ljava/net/URL;
      // 04: astore 3
      // 05: aload 3
      // 06: ifnonnull 75
      // 09: aload 0
      // 0a: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.v Z
      // 0d: ifeq 2e
      // 10: goto 17
      // 13: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 16: athrow
      // 17: aload 0
      // 18: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 1b: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 1e: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getProtectedServiceUrl ()Ljava/lang/String;
      // 21: aload 2
      // 22: aload 0
      // 23: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.getAudit ()Lcom/l7tech/gateway/common/audit/Audit;
      // 26: invokestatic com/l7tech/server/policy/variable/ExpandVariables.process (Ljava/lang/String;Ljava/util/Map;Lcom/l7tech/gateway/common/audit/Audit;)Ljava/lang/String;
      // 29: astore 4
      // 2b: goto 3a
      // 2e: aload 0
      // 2f: getfield com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 32: checkcast com/l7tech/policy/assertion/HttpRoutingAssertion
      // 35: invokevirtual com/l7tech/policy/assertion/HttpRoutingAssertion.getProtectedServiceUrl ()Ljava/lang/String;
      // 38: astore 4
      // 3a: aload 4
      // 3c: ifnonnull 6b
      // 3f: aload 0
      // 40: getstatic com/l7tech/gateway/common/audit/AssertionMessages.HTTPROUTE_BAD_ORIGINAL_URL Lcom/l7tech/gateway/common/audit/Messages$M;
      // 43: invokevirtual com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;)V
      // 46: aload 1
      // 47: ifnonnull 63
      // 4a: goto 51
      // 4d: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 50: athrow
      // 51: new java/net/MalformedURLException
      // 54: dup
      // 55: getstatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.N [Ljava/lang/String;
      // 58: bipush 95
      // 5a: aaload
      // 5b: invokespecial java/net/MalformedURLException.<init> (Ljava/lang/String;)V
      // 5e: athrow
      // 5f: invokestatic com/l7tech/server/policy/assertion/ServerHttpRoutingAssertion.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 62: athrow
      // 63: aload 1
      // 64: invokevirtual com/l7tech/gateway/common/service/PublishedService.serviceUrl ()Ljava/net/URL;
      // 67: astore 3
      // 68: goto 75
      // 6b: new java/net/URL
      // 6e: dup
      // 6f: aload 4
      // 71: invokespecial java/net/URL.<init> (Ljava/lang/String;)V
      // 74: astore 3
      // 75: aload 3
      // 76: areturn
      // try (3 -> 8): 9 javax/wsdl/WSDLException
      // try (26 -> 33): 34 javax/wsdl/WSDLException
      // try (28 -> 43): 43 javax/wsdl/WSDLException
   }

   private void a(KerberosServiceTicket var1, GenericHttpRequestParams var2) throws KerberosException {
      try {
         if (var1 == null) {
            throw new KerberosException(N[55]);
         }
      } catch (KerberosException var4) {
         throw a(var4);
      }

      try {
         if (var2 == null) {
            throw new KerberosException(N[82]);
         }
      } catch (KerberosException var5) {
         throw a(var5);
      }

      String var10003 = HttpConstants.HEADER_AUTHORIZATION;
      String var10004 = HexUtils.encodeBase64(var1.getGSSAPReqTicket().getSPNEGO(), true);
      String[] var3 = N;
      var2.addExtraHeader(new GenericHttpHeader(var10003, var3[51] + var10004));
      this.logger.log(Level.FINE, var3[70], new String[]{var1.getServicePrincipalName(), var1.getClientPrincipalName()});
   }

   private void c(PolicyEnforcementContext var1) {
      URL var2 = var1.getRoutedServiceUrl();

      try {
         if (var2 == null) {
            return;
         }
      } catch (MalformedURLException var6) {
         throw a(var6);
      }

      try {
         var2 = new URL(var2.toString());
      } catch (MalformedURLException var4) {
         this.logger.log(Level.WARNING, N[41], new String[]{var2.toString()});
         return;
      }

      PolicyEnforcementContext var10000;
      String var10001;
      String var10002;
      label26: {
         try {
            var1.setVariable(HttpRoutingAssertion.VAR_HTTP_ROUTING_URL, var2.toString());
            var1.setVariable(HttpRoutingAssertion.getVarHttpRoutingUrlHost(), var2.getHost());
            var1.setVariable(HttpRoutingAssertion.getVarHttpRoutingUrlProtocol(), var2.getProtocol());
            var1.setVariable(HttpRoutingAssertion.getVarHttpRoutingUrlPort(), this.a(var2));
            var1.setVariable(HttpRoutingAssertion.getVarHttpRoutingUrlFile(), var2.getFile());
            var1.setVariable(HttpRoutingAssertion.getVarHttpRoutingUrlPath(), var2.getPath());
            var10000 = var1;
            var10001 = HttpRoutingAssertion.getVarHttpRoutingUrlQuery();
            if (var2.getQuery() == null) {
               var10002 = null;
               break label26;
            }
         } catch (MalformedURLException var5) {
            throw a(var5);
         }

         var10002 = "?" + var2.getQuery();
      }

      var10000.setVariable(var10001, var10002);
      var1.setVariable(HttpRoutingAssertion.getVarHttpRoutingUrlFragment(), var2.getRef());
   }

   private Integer a(URL var1) {
      try {
         if (var1 == null) {
            return null;
         }
      } catch (MalformedURLException var7) {
         throw a(var7);
      }

      try {
         var1 = new URL(var1.toString());
      } catch (MalformedURLException var5) {
         String[] var4 = N;
         this.logger.log(Level.WARNING, var4[9], new String[]{var1.toString()});
         return null;
      }

      String var2 = var1.getProtocol();
      int var3 = var1.getPort();

      label57: {
         try {
            if (var3 != -1) {
               return var3;
            }

            if (N[68].equalsIgnoreCase(var2)) {
               break label57;
            }
         } catch (MalformedURLException var6) {
            throw a(var6);
         }

         String[] var8 = N;
         if (var8[39].equalsIgnoreCase(var2)) {
            short var12 = 443;
            return Integer.valueOf(var12);
         }

         var8 = N;
         if (var8[8].equalsIgnoreCase(var2)) {
            byte var13 = 21;
            return Integer.valueOf(var13);
         }

         var8 = N;
         if (var8[77].equalsIgnoreCase(var2)) {
            byte var14 = 25;
            return Integer.valueOf(var14);
         }

         var8 = N;
         if (var8[86].equalsIgnoreCase(var2)) {
            var3 = 110;
         } else if (N[78].equalsIgnoreCase(var2)) {
            short var15 = 143;
            return Integer.valueOf(var15);
         }

         return var3;
      }

      byte var16 = 80;
      return Integer.valueOf(var16);
   }

   static {
      String[] var5 = new String[109];
      int var3 = 0;
      String var2 = "\u0007\u001f\f\tn8W \u0016E\tj>Fi\u0016C\u001fe.\u0003>\u0019X\u0002+>K,PB\u000bf/\u001e2@Q\u0015 \u001fi\u0004j(O,1Y\u001ed\tK(\u001c@\u000fe-F\u000b\u0001$x:+\u0002F(\u0014I\u0018\u000e\n\u001fB\u001en$Wd<I\u0004l>K'\f\u0002^\u0005yjS;\u001fO\u000fx9J'\u0017\f\u000en,B<\u001cXJh%M=\u0015B\u001e+>Z9\u0015\fM\u001d!\u0004X\u001aY%V=\u0019B\rC>W93@\u0003n$W\u000f\u0011O\u001ed8Z{>\b\u0002K\u001ff/M=PJ\u0005yjc\u0007\u001fX$~&Oi\u0000M\u0018j'F=\u0015^J,oPnPC\f+oPgU_Jf?P=PB\u0005\u007fjA,PB\u001fg&\u00030\u0015_\u0003/\u0004\\\u0019\u001c\"`Jh+M'\u001fXJi/\u00039\u0011^\u0019n.\u0019i\u000b\u001c\u0017\f:\u0015^\u001cn8`&\u001eJ\u0003l\b!\u0011_\u0002J&D&N*\u001fADg}W,\u0013DDx/Q?\u0015^D{%O \u0013UDj9P,\u0002X\u0003d$\r\u001a\u0015^\u001cn8k=\u0004\\8d?W \u001eK+x9F;\u0004E\u0005edP=\u0011X\u000f[%L%^I\u0004j(O,)-\u0015X\u000fh>F-PO\u0005f:Q,\u0003_\u0003d$\u0003&\u001e\f\u0003e)L$\u0019B\r+8F:\u0000C\u0004x/2\u000f\u0011E\u0006n.\u0003=\u001f\f\ty/B=\u0015\f\u0018d?W,PE\u0004m%\u0003/\u001f^J\u007f\"Fi8x>[jQ&\u0005X\u0003e-\riHi\u0004CJc+P!PM\u001f\u007f\"L;\u0019V\u000b\u007f#L'PD\u000fj.F;PM\u0004ojV;\u001c\f\u000bxj@(\u0013D\u000f+!F0PJ\u0005yj@&\u001eB\u000fh>J&\u001e\f\u0019\u007f+W,^\u0019 \u001fd\u001e\u007f:q,\u0001Y\u000fx>b<\u0004D\u0010C+P!1@\r\u0003x^\u001c* \u001fd\u001e\u007f:q,\u0001Y\u000fx>l$\u0019X+~>K\u0001\u0015M\u000en8q,\u0005_\u000fH%M'\u0015O\u001eb%M\tePM\t\u007f?B%M\u001b\u0005\u0011U\u000fy}\u000e\u001a\u0015O\u001fy/p9\u0011BGL+W,\u0007M\u0013$<\n\b\u001cK\u0005y#W!\u001d\f9\f\u0002^\u0005yjK(\u0003D\u0003e-\u0003\b\u0005X\u0002d8J3\u0011X\u0003d$\u0003/\u001f^Jh%M'\u0015O\u001eb%Mi\u0019H\u000fe>J/\u0019O\u000b\u007f#L'\u0007\u001a8mG9\u007f\u0015:\u0019\u0002I\u001aj8J'\u0017\f\u0018d?W,PE\u0004m%\u0003>\u0019X\u0002+.Z'\u0011A\u0003hjW;\u0005_\u001en.\u0003*\u0015^\u001eb,J*\u0011X\u000fxwXy\r\u0007\u001a8mG>{\u0011\u000e \u0003z\u000bg#G\u0001\u0011_\u0002J&D*!\u0004X\u001aY%V=\u0019B\r%.Z'\u0011A\u0003h\u0019P%9B\fd\tB*\u0018I#o&F\u001d\u0019A\u000fd?Wfi\u001eC\u001e+8F*\u001fK\u0004b0F-^\f?x#M.P\u007f\"Jg\u0011|F\f\u001edjK(\u0003DJj?W!\u001f^\u0003q+W \u001fBJc/B-\u0015^Jj$Gi\u0005^\u0006++Pi\u0013M\tc/\u0003\"\u0015UJm%Qi\u0013C\u0004e/@=\u0019C\u0004+9W(\u0004ID\u0007\u001a8mG>{\u0011\u0007\u001a8mG9\u007f\u0015Q*\u001fADg}W,\u0013DDx/Q?\u0015^D{%O \u0013UDj9P,\u0002X\u0003d$\r\u001a\u0015^\u001cn8k=\u0004\\8d?W \u001eK+x9F;\u0004E\u0005edQ,\u0016^\u000fx\"l';I\u0013H\"B'\u0017I\u0019L\b\u0003_\u000fy>J&\u001e\f\u001fx/Pi\u0014U\u0004j'J*P^\u0005~>Fi\u0019B\fdf\u00039\u0002E\u001cj>Fi\u001bI\u001361\u00134\\\f\u001ey?P=\u0015HJh/Q=\u0019J\u0003h+W,\u0003\u0011\u0011:7\u0002m\u000b%\u0001$x:+8F8\u0005I\u0019\u007fjK,\u0011H\u000fyjB-\u0014I\u000e+\u0011Xy\rqWP1\u00124-\u0018 \u001fd\u001e\u007f:g,\u0016M\u001fg>`&\u001eX\u000fe>w0\u0000I\r\b\u0005X\u0002d8J3\u0011X\u0003d$ \u001b\u0015_\u0005g<J'\u0017\f\u001ec/\u0003*\u0015^\u001eb,J*\u0011X\u000f#9\nt\u000b\u001c\u0017\u001d!\u0004X\u001aY%V=\u0019B\rC>W93@\u0003n$W\u000f\u0011O\u001ed8Zx\u0005!\u0004X\u001ax\u0003\u001d<\u007f\u0019\u001c\"`Jh+M'\u001fXJi/\u00039\u0011^\u0019n.\u0019i\u000b\u001c\u0017Q*\u001fADg}W,\u0013DDx/Q?\u0015^D{%O \u0013UDj9P,\u0002X\u0003d$\r\u001a\u0015^\u001cn8k=\u0004\\8d?W \u001eK+x9F;\u0004E\u0005edQ,\u0016^\u000fx\"l';I\u0013H\"B'\u0017I\u0019\u0004'\u0005@\u0006\u0013:\u0004M\u0019c\u0007B'\u0011K\u000fy\fB*\u0004C\u0018r\u0019\u001b\u0015]\u001fn9Wi\u001dI\u0019x+D,P_\u0005~8@,P\u0004H\u0002`^<\u001b\u0015]\u001fn9Wi\u001dI\u0019x+D,P_\u0005~8@,PE\u0019++\u0003'\u001fBGn2J:\u0004I\u0004\u007fj@&\u001eX\u000fs>\u0003?\u0011^\u0003j(O,P\u0004H\u0002'\u001f\u0012=\u0002Y\u0019\u007f/G\n\u0015^\u001eF+M(\u0017I\u0018\u0012:\u0003K!n3p=\u001f^\u000fF+M(\u0017I\u0018\n\u0007\u0015K\u0005\u007f#B=\u0015\f\u000b*\u001cY\u0019\u007f/Q\u0001\u001f_\u001e\u00030\u0015_'\n\u001fY\u0006ojM&\u0004\f\ty/B=\u0015\f\u0019\u007f+P!PA\u000be+D,\u0002\f\fj)W&\u0002UDL\u0002\u0015^\bn8L:#I\u0018}#@,$E\t`/Wi\u0019_Je?O%PM\u0004oj@(\u001eB\u0005\u007fjA,PM\u000eo/Gi\u0004CJ\u007f\"Fi\u0002I\u001b~/P=PJ\u0005yjQ&\u0005X\u0003e-G\u000b\u001fH\u0013+)L'\u0004I\u0004\u007fjJ:PX\u0005djO&\u001eKJ\u007f%\u0003+\u0015\f\u001ay%@,\u0003_\u000foj\u000edPA\u000bs#N<\u001d\f\u0003xj\u0011xD\u001b^3y\u0015}G\f\br>F:\u0002d\u0012\u001d\u0000\u001eZ\u000bg#Gi\u0002I\u0019{%M:\u0015\f\u0019b0Fi\u001cE\u0007b>\u0019i\u0002'\u001f%\n\u001fY\u0006ojM&\u0004\f\ty/B=\u0015\f\"_\u001esi\u0013@\u0003n$Wi\u0016M\t\u007f%Q0^ \u0001$x:+8F:\u0000C\u0004x/\u0003!\u0015M\u000en8\u0003\u0012\u000b\u001c\u0017Vwx2AQ7\u0011\u0019\u0002C\bg/Ni\u0002C\u001f\u007f#M.J\f\u0002n^\u0017 \u001fd\u001e\u007f:v:\u0015i\u0012{/@=3C\u0004\u007f#M<\u0015\u0016 \u001fd\u001e\u007f:k,\u0011H\u000fy\u0019F(\u0002O\u0002Y?O,\u001a\u0002\u0015UJJ&J(\u0003\f\tj$M&\u0004\f\bnjm\u001c<`K*\u0006\u00061Y\u001ecj\u0004!\u0004X\u001a\u0010!\u001f_\u001ee+N,&I\u0018b,J,\u0002:\u0002\u0015^\bn8L:PX\u0003h!F=PM\u000eo/Gi\u0004CJC>W9P^\u000fz?F:\u0004\f\u001aj8B$\u0015X\u000fy9\u0003a\u000b\u001c\u0017w1\u00124Y\u0002m\u000b]\u0007$`'++M-Pg\u000fy(F;\u001f_Jo/O,\u0017M\u001en.\u0003(\u0005X\u0002n$W \u0013M\u001eb%Mi\u0011^\u000f+$L=P_\u001f{:L;\u0004I\u000e+=K,\u001e\f\u000bejk\u001d$|J{8L1\t\f\u0003xj@&\u001eJ\u0003l?Q,\u0014\u0005\u001a8mG:\r \u001fd\u001e\u007f:u,\u0002_\u0003d$\n-\u0015J\u000b~&W\u0002\u0015U !\u0004X\u001aH%M'\u0015O\u001eb%M\u0000\u0014@\u000f_#N,\u001fY\u001eF+M(\u0017I\u0018\u0004:\u001dX\u001a\u0004 \u001dM\u001a\u0018(\u0000\\\u0006b)B=\u0019C\u0004$%@=\u0015XGx>Q,\u0011AO*\u001fADg}W,\u0013DDx/Q?\u0015^D{%O \u0013UDj9P,\u0002X\u0003d$\r\u001a\u0015^\u001cn8k=\u0004\\8d?W \u001eK+x9F;\u0004E\u0005edG,\u0016M\u001fg>n(\b~\u000f\u007f8J,\u0003N*\u001fADg}W,\u0013DDx/Q?\u0015^D{%O \u0013UDj9P,\u0002X\u0003d$\r\u001a\u0015^\u001cn8k=\u0004\\8d?W \u001eK+x9F;\u0004E\u0005edP=\u0011X\u000f[%L%^I\u0004j(O,\u001f\u0004\u0019_\u0019b$Di8X\u001e{jQ&\u0005X\u0003e-\u00039\u0011^\u000bf/W,\u0002_\u0015\u0000\u001eZ\u000bg#Gi\u0002C\u001f\u007f#M.Py8Gf\u0003\u0004.\nE\u001a\u0014!\u0004X\u001aX>B=\u0015|\u0005d&n(\u001eM\rn8\u00049\u001f\\Y&\u0007\u001f\f\tn8W \u0016E\tj>Fi\u0016C\u001fe.\u0003>\u0019X\u0002+>K,PB\u000bf/\u001e2@Q\u0003kY\u0002\u0005\u001a8mG:(=\u0018E\u0019+\"W=\u0000\f\u0018d?W \u001eKJj9P,\u0002X\u0003d$\u0003!\u0011_Je?O%PY\u0018g\"\u000f\u0011E\u0006n.\u0003=\u001f\f\u0003e#W \u0011@\u0003q/\u0003\u001a#`Jh%M=\u0015T\u001e1j\u001f \u001fd\u001e\u007f:g,\u0016M\u001fg>`&\u001eX\u000fe>w0\u0000I)c+Q:\u0015X\b\u001b\u0015_\u001ad$P,\u0015(\u0000\\\u0006b)B=\u0019C\u0004N<F'\u0004|\u0018d2ZW\u001b\u001fY\u001eb$Di\u0011_\u0019n8W \u001fBJx:F*\u0019J\u0003n.\u0003'\u001f\f?Y\u0006\u000fi\u0011B\u000e+$Li\u0002I\u0019d&U,\u0014\f\u0019n8U \u0013IJb9\u0003(\u0006M\u0003g+A%\u0015\f\u001edjS;\u001fZ\u0003o/\u0003&\u001eI\u0019\u0005\u0011U\u000fy}\u000e\u001a\u0015O\u001fy/p9\u0011BGL+W,\u0007M\u0013=*\u001fAEg}W,\u0013DEx/Q?\u0015^E{%O \u0013UEj9P,\u0002X\u0003d$\f\u001a\u0015^\u001cn8k=\u0004\\8d?W \u001eK+x9F;\u0004E\u0005e1\u0019\u0002I\u001aj8J'\u0017\f\u0018d?W,PE\u0004m%\u0003>\u0019X\u0002+.Z'\u0011A\u0003hjS;\u0019Z\u000b\u007f/\u0003\"\u0015UWpz^\u0007\u0015\u0003\u0006FW9\t\u0011\u0019\u0002C\bg/Ni\u0002C\u001f\u007f#M.J\f\u0007\u000b\u0015M\u0018n8\u0003\u0006\u001c\u0003E\u0004lj\u0003x^\u001c\u0013;\u001fY\u001eb$D\u001d\u0002Y\u0019\u007f\u0007B'\u0011K\u000fy5kY\f\u0003xjBi\u0013C\u0004\u007f/[=PZ\u000by#B+\u001cIJd,\u0003=\u0018IJ|8L'\u0017\f\u001er:FiXI\u0012{/@=\u0015HWO*\u001fADg}W,\u0013DDx/Q?\u0015^D{%O \u0013UDj9P,\u0002X\u0003d$\r\u001a\u0015^\u001cn8k=\u0004\\8d?W \u001eK+x9F;\u0004E\u0005edG,\u0016M\u001fg>n(\b~\u000f\u007f8J,\u0003";
      int var4 = "\u0007\u001f\f\tn8W \u0016E\tj>Fi\u0016C\u001fe.\u0003>\u0019X\u0002+>K,PB\u000bf/\u001e2@Q\u0015 \u001fi\u0004j(O,1Y\u001ed\tK(\u001c@\u000fe-F\u000b\u0001$x:+\u0002F(\u0014I\u0018\u000e\n\u001fB\u001en$Wd<I\u0004l>K'\f\u0002^\u0005yjS;\u001fO\u000fx9J'\u0017\f\u000en,B<\u001cXJh%M=\u0015B\u001e+>Z9\u0015\fM\u001d!\u0004X\u001aY%V=\u0019B\rC>W93@\u0003n$W\u000f\u0011O\u001ed8Z{>\b\u0002K\u001ff/M=PJ\u0005yjc\u0007\u001fX$~&Oi\u0000M\u0018j'F=\u0015^J,oPnPC\f+oPgU_Jf?P=PB\u0005\u007fjA,PB\u001fg&\u00030\u0015_\u0003/\u0004\\\u0019\u001c\"`Jh+M'\u001fXJi/\u00039\u0011^\u0019n.\u0019i\u000b\u001c\u0017\f:\u0015^\u001cn8`&\u001eJ\u0003l\b!\u0011_\u0002J&D&N*\u001fADg}W,\u0013DDx/Q?\u0015^D{%O \u0013UDj9P,\u0002X\u0003d$\r\u001a\u0015^\u001cn8k=\u0004\\8d?W \u001eK+x9F;\u0004E\u0005edP=\u0011X\u000f[%L%^I\u0004j(O,)-\u0015X\u000fh>F-PO\u0005f:Q,\u0003_\u0003d$\u0003&\u001e\f\u0003e)L$\u0019B\r+8F:\u0000C\u0004x/2\u000f\u0011E\u0006n.\u0003=\u001f\f\ty/B=\u0015\f\u0018d?W,PE\u0004m%\u0003/\u001f^J\u007f\"Fi8x>[jQ&\u0005X\u0003e-\riHi\u0004CJc+P!PM\u001f\u007f\"L;\u0019V\u000b\u007f#L'PD\u000fj.F;PM\u0004ojV;\u001c\f\u000bxj@(\u0013D\u000f+!F0PJ\u0005yj@&\u001eB\u000fh>J&\u001e\f\u0019\u007f+W,^\u0019 \u001fd\u001e\u007f:q,\u0001Y\u000fx>b<\u0004D\u0010C+P!1@\r\u0003x^\u001c* \u001fd\u001e\u007f:q,\u0001Y\u000fx>l$\u0019X+~>K\u0001\u0015M\u000en8q,\u0005_\u000fH%M'\u0015O\u001eb%M\tePM\t\u007f?B%M\u001b\u0005\u0011U\u000fy}\u000e\u001a\u0015O\u001fy/p9\u0011BGL+W,\u0007M\u0013$<\n\b\u001cK\u0005y#W!\u001d\f9\f\u0002^\u0005yjK(\u0003D\u0003e-\u0003\b\u0005X\u0002d8J3\u0011X\u0003d$\u0003/\u001f^Jh%M'\u0015O\u001eb%Mi\u0019H\u000fe>J/\u0019O\u000b\u007f#L'\u0007\u001a8mG9\u007f\u0015:\u0019\u0002I\u001aj8J'\u0017\f\u0018d?W,PE\u0004m%\u0003>\u0019X\u0002+.Z'\u0011A\u0003hjW;\u0005_\u001en.\u0003*\u0015^\u001eb,J*\u0011X\u000fxwXy\r\u0007\u001a8mG>{\u0011\u000e \u0003z\u000bg#G\u0001\u0011_\u0002J&D*!\u0004X\u001aY%V=\u0019B\r%.Z'\u0011A\u0003h\u0019P%9B\fd\tB*\u0018I#o&F\u001d\u0019A\u000fd?Wfi\u001eC\u001e+8F*\u001fK\u0004b0F-^\f?x#M.P\u007f\"Jg\u0011|F\f\u001edjK(\u0003DJj?W!\u001f^\u0003q+W \u001fBJc/B-\u0015^Jj$Gi\u0005^\u0006++Pi\u0013M\tc/\u0003\"\u0015UJm%Qi\u0013C\u0004e/@=\u0019C\u0004+9W(\u0004ID\u0007\u001a8mG>{\u0011\u0007\u001a8mG9\u007f\u0015Q*\u001fADg}W,\u0013DDx/Q?\u0015^D{%O \u0013UDj9P,\u0002X\u0003d$\r\u001a\u0015^\u001cn8k=\u0004\\8d?W \u001eK+x9F;\u0004E\u0005edQ,\u0016^\u000fx\"l';I\u0013H\"B'\u0017I\u0019L\b\u0003_\u000fy>J&\u001e\f\u001fx/Pi\u0014U\u0004j'J*P^\u0005~>Fi\u0019B\fdf\u00039\u0002E\u001cj>Fi\u001bI\u001361\u00134\\\f\u001ey?P=\u0015HJh/Q=\u0019J\u0003h+W,\u0003\u0011\u0011:7\u0002m\u000b%\u0001$x:+8F8\u0005I\u0019\u007fjK,\u0011H\u000fyjB-\u0014I\u000e+\u0011Xy\rqWP1\u00124-\u0018 \u001fd\u001e\u007f:g,\u0016M\u001fg>`&\u001eX\u000fe>w0\u0000I\r\b\u0005X\u0002d8J3\u0011X\u0003d$ \u001b\u0015_\u0005g<J'\u0017\f\u001ec/\u0003*\u0015^\u001eb,J*\u0011X\u000f#9\nt\u000b\u001c\u0017\u001d!\u0004X\u001aY%V=\u0019B\rC>W93@\u0003n$W\u000f\u0011O\u001ed8Zx\u0005!\u0004X\u001ax\u0003\u001d<\u007f\u0019\u001c\"`Jh+M'\u001fXJi/\u00039\u0011^\u0019n.\u0019i\u000b\u001c\u0017Q*\u001fADg}W,\u0013DDx/Q?\u0015^D{%O \u0013UDj9P,\u0002X\u0003d$\r\u001a\u0015^\u001cn8k=\u0004\\8d?W \u001eK+x9F;\u0004E\u0005edQ,\u0016^\u000fx\"l';I\u0013H\"B'\u0017I\u0019\u0004'\u0005@\u0006\u0013:\u0004M\u0019c\u0007B'\u0011K\u000fy\fB*\u0004C\u0018r\u0019\u001b\u0015]\u001fn9Wi\u001dI\u0019x+D,P_\u0005~8@,P\u0004H\u0002`^<\u001b\u0015]\u001fn9Wi\u001dI\u0019x+D,P_\u0005~8@,PE\u0019++\u0003'\u001fBGn2J:\u0004I\u0004\u007fj@&\u001eX\u000fs>\u0003?\u0011^\u0003j(O,P\u0004H\u0002'\u001f\u0012=\u0002Y\u0019\u007f/G\n\u0015^\u001eF+M(\u0017I\u0018\u0012:\u0003K!n3p=\u001f^\u000fF+M(\u0017I\u0018\n\u0007\u0015K\u0005\u007f#B=\u0015\f\u000b*\u001cY\u0019\u007f/Q\u0001\u001f_\u001e\u00030\u0015_'\n\u001fY\u0006ojM&\u0004\f\ty/B=\u0015\f\u0019\u007f+P!PA\u000be+D,\u0002\f\fj)W&\u0002UDL\u0002\u0015^\bn8L:#I\u0018}#@,$E\t`/Wi\u0019_Je?O%PM\u0004oj@(\u001eB\u0005\u007fjA,PM\u000eo/Gi\u0004CJ\u007f\"Fi\u0002I\u001b~/P=PJ\u0005yjQ&\u0005X\u0003e-G\u000b\u001fH\u0013+)L'\u0004I\u0004\u007fjJ:PX\u0005djO&\u001eKJ\u007f%\u0003+\u0015\f\u001ay%@,\u0003_\u000foj\u000edPA\u000bs#N<\u001d\f\u0003xj\u0011xD\u001b^3y\u0015}G\f\br>F:\u0002d\u0012\u001d\u0000\u001eZ\u000bg#Gi\u0002I\u0019{%M:\u0015\f\u0019b0Fi\u001cE\u0007b>\u0019i\u0002'\u001f%\n\u001fY\u0006ojM&\u0004\f\ty/B=\u0015\f\"_\u001esi\u0013@\u0003n$Wi\u0016M\t\u007f%Q0^ \u0001$x:+8F:\u0000C\u0004x/\u0003!\u0015M\u000en8\u0003\u0012\u000b\u001c\u0017Vwx2AQ7\u0011\u0019\u0002C\bg/Ni\u0002C\u001f\u007f#M.J\f\u0002n^\u0017 \u001fd\u001e\u007f:v:\u0015i\u0012{/@=3C\u0004\u007f#M<\u0015\u0016 \u001fd\u001e\u007f:k,\u0011H\u000fy\u0019F(\u0002O\u0002Y?O,\u001a\u0002\u0015UJJ&J(\u0003\f\tj$M&\u0004\f\bnjm\u001c<`K*\u0006\u00061Y\u001ecj\u0004!\u0004X\u001a\u0010!\u001f_\u001ee+N,&I\u0018b,J,\u0002:\u0002\u0015^\bn8L:PX\u0003h!F=PM\u000eo/Gi\u0004CJC>W9P^\u000fz?F:\u0004\f\u001aj8B$\u0015X\u000fy9\u0003a\u000b\u001c\u0017w1\u00124Y\u0002m\u000b]\u0007$`'++M-Pg\u000fy(F;\u001f_Jo/O,\u0017M\u001en.\u0003(\u0005X\u0002n$W \u0013M\u001eb%Mi\u0011^\u000f+$L=P_\u001f{:L;\u0004I\u000e+=K,\u001e\f\u000bejk\u001d$|J{8L1\t\f\u0003xj@&\u001eJ\u0003l?Q,\u0014\u0005\u001a8mG:\r \u001fd\u001e\u007f:u,\u0002_\u0003d$\n-\u0015J\u000b~&W\u0002\u0015U !\u0004X\u001aH%M'\u0015O\u001eb%M\u0000\u0014@\u000f_#N,\u001fY\u001eF+M(\u0017I\u0018\u0004:\u001dX\u001a\u0004 \u001dM\u001a\u0018(\u0000\\\u0006b)B=\u0019C\u0004$%@=\u0015XGx>Q,\u0011AO*\u001fADg}W,\u0013DDx/Q?\u0015^D{%O \u0013UDj9P,\u0002X\u0003d$\r\u001a\u0015^\u001cn8k=\u0004\\8d?W \u001eK+x9F;\u0004E\u0005edG,\u0016M\u001fg>n(\b~\u000f\u007f8J,\u0003N*\u001fADg}W,\u0013DDx/Q?\u0015^D{%O \u0013UDj9P,\u0002X\u0003d$\r\u001a\u0015^\u001cn8k=\u0004\\8d?W \u001eK+x9F;\u0004E\u0005edP=\u0011X\u000f[%L%^I\u0004j(O,\u001f\u0004\u0019_\u0019b$Di8X\u001e{jQ&\u0005X\u0003e-\u00039\u0011^\u000bf/W,\u0002_\u0015\u0000\u001eZ\u000bg#Gi\u0002C\u001f\u007f#M.Py8Gf\u0003\u0004.\nE\u001a\u0014!\u0004X\u001aX>B=\u0015|\u0005d&n(\u001eM\rn8\u00049\u001f\\Y&\u0007\u001f\f\tn8W \u0016E\tj>Fi\u0016C\u001fe.\u0003>\u0019X\u0002+>K,PB\u000bf/\u001e2@Q\u0003kY\u0002\u0005\u001a8mG:(=\u0018E\u0019+\"W=\u0000\f\u0018d?W \u001eKJj9P,\u0002X\u0003d$\u0003!\u0011_Je?O%PY\u0018g\"\u000f\u0011E\u0006n.\u0003=\u001f\f\u0003e#W \u0011@\u0003q/\u0003\u001a#`Jh%M=\u0015T\u001e1j\u001f \u001fd\u001e\u007f:g,\u0016M\u001fg>`&\u001eX\u000fe>w0\u0000I)c+Q:\u0015X\b\u001b\u0015_\u001ad$P,\u0015(\u0000\\\u0006b)B=\u0019C\u0004N<F'\u0004|\u0018d2ZW\u001b\u001fY\u001eb$Di\u0011_\u0019n8W \u001fBJx:F*\u0019J\u0003n.\u0003'\u001f\f?Y\u0006\u000fi\u0011B\u000e+$Li\u0002I\u0019d&U,\u0014\f\u0019n8U \u0013IJb9\u0003(\u0006M\u0003g+A%\u0015\f\u001edjS;\u001fZ\u0003o/\u0003&\u001eI\u0019\u0005\u0011U\u000fy}\u000e\u001a\u0015O\u001fy/p9\u0011BGL+W,\u0007M\u0013=*\u001fAEg}W,\u0013DEx/Q?\u0015^E{%O \u0013UEj9P,\u0002X\u0003d$\f\u001a\u0015^\u001cn8k=\u0004\\8d?W \u001eK+x9F;\u0004E\u0005e1\u0019\u0002I\u001aj8J'\u0017\f\u0018d?W,PE\u0004m%\u0003>\u0019X\u0002+.Z'\u0011A\u0003hjS;\u0019Z\u000b\u007f/\u0003\"\u0015UWpz^\u0007\u0015\u0003\u0006FW9\t\u0011\u0019\u0002C\bg/Ni\u0002C\u001f\u007f#M.J\f\u0007\u000b\u0015M\u0018n8\u0003\u0006\u001c\u0003E\u0004lj\u0003x^\u001c\u0013;\u001fY\u001eb$D\u001d\u0002Y\u0019\u007f\u0007B'\u0011K\u000fy5kY\f\u0003xjBi\u0013C\u0004\u007f/[=PZ\u000by#B+\u001cIJd,\u0003=\u0018IJ|8L'\u0017\f\u001er:FiXI\u0012{/@=\u0015HWO*\u001fADg}W,\u0013DDx/Q?\u0015^D{%O \u0013UDj9P,\u0002X\u0003d$\r\u001a\u0015^\u001cn8k=\u0004\\8d?W \u001eK+x9F;\u0004E\u0005edG,\u0016M\u001fg>n(\b~\u000f\u007f8J,\u0003"
         .length();
      char var1 = '&';
      int var7 = -1;

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

         while (true) {
            String var9 = d(var10000, h(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var9;
                  if ((var7 += var1) >= var4) {
                     N = var5;
                     String[] var10 = N;
                     PROP_ENABLE_STATE_POOL = N[12];
                     g = var10[80];
                     j = var10[23];
                     SSL_DYNAMIC_INFO_CACHE_IDLE_TIMEOUT_PROPERTY = var10[27];
                     PROP_REFRESH_ROUTE_INFO_ON_KEY_CHANGES = var10[42];
                     i = var10[29];
                     k = var10[73];
                     PRODUCT = var10[96];
                     m = var10[23];
                     String[] var8 = N;
                     ENABLE_STATE_POOL = SyspropUtil.getBoolean(var8[81], true);
                     REFRESH_ROUTE_INFO_ON_KEY_CHANGES = SyspropUtil.getBoolean(var8[31], false);
                     h = SyspropUtil.getInteger(var8[106], 1);
                     l = Goid.parseGoid(var8[108]);
                     USER_AGENT = HttpConstants.HEADER_USER_AGENT;
                     HOST = HttpConstants.HEADER_HOST;
                     n = HttpPassthroughRuleSet.HEADERS_NOT_TO_IMPLICITLY_FORWARD.contains(HttpConstants.HEADER_CONTENT_TYPE.toLowerCase());
                     o = Pattern.compile(var8[99]);
                     DEFAULT_USER_AGENT = var8[20] + BuildInfo.getProductVersion() + var8[57] + BuildInfo.getBuildNumber();
                     return;
                  }

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

                  var2 = "jt0a\rI-\u0003j4o\u0015E*W\u007f\" \u0012E;Us%eAu\u001bo f \u0013*v0Q\u0010y\u0013*v0Q\u0010y\u0013*v0Q\u0010y\u0013*v0Q\u0010y\u0013*v2";
                  var4 = "jt0a\rI-\u0003j4o\u0015E*W\u007f\" \u0012E;Us%eAu\u001bo f \u0013*v0Q\u0010y\u0013*v0Q\u0010y\u0013*v0Q\u0010y\u0013*v0Q\u0010y\u0013*v2"
                     .length();
                  var1 = 31;
                  var7 = -1;
            }

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

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

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

      return var10000;
   }

   private static String d(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 -> 116;
            case 1 -> 77;
            case 2 -> 17;
            case 3 -> 87;
            case 4 -> 54;
            case 5 -> 119;
            default -> 30;
         });
      }

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

   public static class RouteInfoException extends RuntimeException {
      static final long serialVersionUID = 7919999330638519489L;

      public RouteInfoException(String var1) {
         super(var1);
      }

      public RouteInfoException(String var1, Throwable var2) {
         super(var1, var2);
      }
   }
}
