package com.l7tech.server.policy.assertion.xmlsec;

import com.l7tech.common.io.CertUtils;
import com.l7tech.common.io.XmlUtil;
import com.l7tech.gateway.common.audit.AssertionMessages;
import com.l7tech.message.Message;
import com.l7tech.policy.assertion.AssertionStatus;
import com.l7tech.policy.assertion.MessageTargetableSupport;
import com.l7tech.policy.assertion.PolicyAssertionException;
import com.l7tech.policy.assertion.TargetMessageType;
import com.l7tech.policy.assertion.xmlsec.BuildRstrSoapResponse;
import com.l7tech.security.xml.XencUtil;
import com.l7tech.security.xml.XmlElementEncryptor;
import com.l7tech.server.message.AuthenticationContext;
import com.l7tech.server.message.PolicyEnforcementContext;
import com.l7tech.server.policy.assertion.AbstractMessageTargetableServerAssertion;
import com.l7tech.server.policy.assertion.AssertionStatusException;
import com.l7tech.server.secureconversation.InboundSecureConversationContextManager;
import com.l7tech.server.util.RstSoapMessageProcessor;
import com.l7tech.util.HexUtils;
import com.l7tech.util.SoapConstants;
import com.l7tech.xml.soap.SoapUtil;
import java.io.IOException;
import java.security.GeneralSecurityException;
import java.security.cert.X509Certificate;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import org.springframework.beans.factory.BeanFactory;

public class ServerBuildRstrSoapResponse extends AbstractMessageTargetableServerAssertion<BuildRstrSoapResponse> {
   private static final String d;
   private static final String e;
   private static final String f;
   private static final String g;
   private static final String h;
   private static final String i;
   private final InboundSecureConversationContextManager j;
   private final String[] k;
   private final AddWssEncryptionSupport l;
   private static final String[] m;

   public ServerBuildRstrSoapResponse(BuildRstrSoapResponse var1, BeanFactory var2) {
      super(var1);
      this.k = var1.getVariablesUsed();
      this.j = (InboundSecureConversationContextManager)var2.getBean(m[33], InboundSecureConversationContextManager.class);
      this.l = new AddWssEncryptionSupport(this.getAuditHaver(), this.logger, new MessageTargetableSupport(TargetMessageType.RESPONSE), var1, var1);
   }

   @Override
   protected AssertionStatus doCheckRequest(PolicyEnforcementContext var1, Message var2, String var3, AuthenticationContext var4) throws IOException, PolicyAssertionException {
      Map var5 = RstSoapMessageProcessor.getRstParameters(var2, this.assertion.isResponseForIssuance());

      try {
         if (var5.containsKey(m[120])) {
            RstSoapMessageProcessor.generateSoapFaultResponse(var1, var5, this.a(), m[97], (String)var5.get(m[90]));
            this.logAndAudit(AssertionMessages.STS_INVALID_RST_REQUEST, (String)var5.get(m[90]));
            return AssertionStatus.BAD_REQUEST;
         }
      } catch (IOException var14) {
         throw a(var14);
      }

      HashMap var7 = new HashMap();
      String var6;
      if (this.assertion.isResponseForIssuance()) {
         AssertionStatus var8 = this.a(var1, var7, var5);

         try {
            if (var8 != AssertionStatus.NONE) {
               return var8;
            }
         } catch (IOException var17) {
            throw a(var17);
         }

         var6 = this.b(var1, var5, var7);
      } else {
         var6 = this.b(var1, var5, null);
      }

      String[] var13 = m;
      String var18 = this.a((String)var5.get(var13[76]), var6);
      var1.setVariable(this.assertion.getVariablePrefix() + "." + BuildRstrSoapResponse.VARIABLE_RSTR_RESPONSE, new Message(XmlUtil.stringAsDocument(var18)));
      String var9 = RstSoapMessageProcessor.getWsaNamespace(var5);

      PolicyEnforcementContext var10000;
      String var10001;
      String var10002;
      label87: {
         try {
            var10000 = var1;
            var10001 = this.assertion.getVariablePrefix() + "." + BuildRstrSoapResponse.VARIABLE_WSA_NAMESPACE;
            if (var9 == null) {
               var10002 = "";
               break label87;
            }
         } catch (IOException var16) {
            throw a(var16);
         }

         var10002 = var9;
      }

      var10000.setVariable(var10001, var10002);
      String var10 = "";
      var13 = m;
      if (Boolean.parseBoolean((String)var5.get(var13[71]))) {
         String var11 = (String)var5.get(var13[28]);
         label79:
         if (this.assertion.isResponseForIssuance()) {
            boolean var12 = Boolean.parseBoolean((String)var7.get(var13[24]));

            label76: {
               label75: {
                  try {
                     if (!var12) {
                        break label75;
                     }

                     if (SoapConstants.WSC_RST_SCT_ACTION.equals(var11)) {
                        break label76;
                     }
                  } catch (IOException var15) {
                     throw a(var15);
                  }

                  if (SoapConstants.WSC_RST_SCT_ACTION2.equals(var11)) {
                     var10 = SoapConstants.WSC_RSTR_SCT_ACTION2;
                  } else if (SoapConstants.WSC_RST_SCT_ACTION3.equals(var11)) {
                     var10 = SoapConstants.WSC_RSTR_SCT_ACTION3;
                  } else if (SoapConstants.WSC_RSTR_SCT_ACTION_LIST.size() > 0) {
                     var10 = (String)SoapConstants.WSC_RSTR_SCT_ACTION_LIST.get(SoapConstants.WSC_RSTR_SCT_ACTION_LIST.size() - 1);
                  }
                  break label79;
               }

               if (SoapConstants.WST_RST_ISSUE_ACTION.equals(var11)) {
                  var10 = SoapConstants.WST_RSTR_ISSUE_ACTION;
               } else if (SoapConstants.WST_RST_ISSUE_ACTION2.equals(var11)) {
                  var10 = SoapConstants.WST_RSTR_ISSUE_ACTION2;
               } else if (SoapConstants.WST_RST_ISSUE_ACTION3.equals(var11)) {
                  var10 = SoapConstants.WST_RSTR_ISSUE_ACTION3;
               } else if (SoapConstants.WST_RSTR_ISSUE_ACTION_LIST.size() > 0) {
                  var10 = (String)SoapConstants.WST_RSTR_ISSUE_ACTION_LIST.get(SoapConstants.WST_RSTR_ISSUE_ACTION_LIST.size() - 1);
               }
               break label79;
            }

            var10 = SoapConstants.WSC_RSTR_SCT_ACTION;
         } else if (SoapConstants.WSC_RST_CANCEL_ACTION.equals(var11)) {
            var10 = SoapConstants.WSC_RSTR_CANCEL_ACTION;
         } else if (SoapConstants.WSC_RST_CANCEL_ACTION2.equals(var11)) {
            var10 = SoapConstants.WSC_RSTR_CANCEL_ACTION2;
         } else if (SoapConstants.WSC_RST_CANCEL_ACTION_LIST.size() > 0) {
            var10 = (String)SoapConstants.WSC_RST_CANCEL_ACTION_LIST.get(SoapConstants.WSC_RST_CANCEL_ACTION_LIST.size() - 1);
         }
      }

      var1.setVariable(this.assertion.getVariablePrefix() + "." + BuildRstrSoapResponse.VARIABLE_RSTR_WSA_ACTION, var10);
      return AssertionStatus.NONE;
   }

   private String a() {
      return this.assertion.getVariablePrefix() + "." + BuildRstrSoapResponse.VARIABLE_RSTR_RESPONSE;
   }

   private AssertionStatus a(PolicyEnforcementContext param1, Map<String, String> param2, Map<String, String> 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: aload 0
      // 001: getfield com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 004: checkcast com/l7tech/policy/assertion/xmlsec/BuildRstrSoapResponse
      // 007: invokevirtual com/l7tech/policy/assertion/xmlsec/BuildRstrSoapResponse.getTokenIssued ()Ljava/lang/String;
      // 00a: astore 4
      // 00c: aload 4
      // 00e: aload 1
      // 00f: aload 0
      // 010: getfield com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.k [Ljava/lang/String;
      // 013: aload 0
      // 014: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.getAudit ()Lcom/l7tech/gateway/common/audit/Audit;
      // 017: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getVariableMap ([Ljava/lang/String;Lcom/l7tech/gateway/common/audit/Audit;)Ljava/util/Map; 3
      // 01c: aload 0
      // 01d: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.getAudit ()Lcom/l7tech/gateway/common/audit/Audit;
      // 020: invokestatic com/l7tech/server/policy/variable/ExpandVariables.process (Ljava/lang/String;Ljava/util/Map;Lcom/l7tech/gateway/common/audit/Audit;)Ljava/lang/String;
      // 023: astore 5
      // 025: aload 2
      // 026: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 029: astore 12
      // 02b: aload 12
      // 02d: bipush 73
      // 02f: aaload
      // 030: aload 5
      // 032: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 037: pop
      // 038: aload 5
      // 03a: invokestatic com/l7tech/common/io/XmlUtil.stringToDocument (Ljava/lang/String;)Lorg/w3c/dom/Document;
      // 03d: astore 7
      // 03f: aload 7
      // 041: invokeinterface org/w3c/dom/Document.getFirstChild ()Lorg/w3c/dom/Node; 1
      // 046: checkcast org/w3c/dom/Element
      // 049: astore 6
      // 04b: goto 080
      // 04e: astore 7
      // 050: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 053: astore 12
      // 055: aload 12
      // 057: bipush 85
      // 059: aaload
      // 05a: astore 8
      // 05c: aload 1
      // 05d: aload 3
      // 05e: aload 0
      // 05f: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.a ()Ljava/lang/String;
      // 062: aload 12
      // 064: bipush 69
      // 066: aaload
      // 067: aload 8
      // 069: invokestatic com/l7tech/server/util/RstSoapMessageProcessor.generateSoapFaultResponse (Lcom/l7tech/server/message/PolicyEnforcementContext;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
      // 06c: aload 0
      // 06d: getstatic com/l7tech/gateway/common/audit/AssertionMessages.STS_INVALID_SECURITY_TOKEN Lcom/l7tech/gateway/common/audit/Messages$M;
      // 070: bipush 1
      // 071: anewarray 626
      // 074: dup
      // 075: bipush 0
      // 076: aload 8
      // 078: aastore
      // 079: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 07c: getstatic com/l7tech/policy/assertion/AssertionStatus.BAD_REQUEST Lcom/l7tech/policy/assertion/AssertionStatus;
      // 07f: areturn
      // 080: aload 6
      // 082: invokeinterface org/w3c/dom/Element.getNamespaceURI ()Ljava/lang/String; 1
      // 087: astore 7
      // 089: aload 6
      // 08b: invokeinterface org/w3c/dom/Element.getLocalName ()Ljava/lang/String; 1
      // 090: astore 8
      // 092: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 095: astore 12
      // 097: aload 12
      // 099: bipush 37
      // 09b: aaload
      // 09c: aload 8
      // 09e: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 0a1: ifeq 18d
      // 0a4: aload 2
      // 0a5: aload 12
      // 0a7: bipush 24
      // 0a9: aaload
      // 0aa: aload 12
      // 0ac: bipush 45
      // 0ae: aaload
      // 0af: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 0b4: pop
      // 0b5: aload 6
      // 0b7: invokestatic com/l7tech/xml/soap/SoapUtil.getDefaultIdAttributeConfig ()Lcom/l7tech/util/IdAttributeConfig;
      // 0ba: invokestatic com/l7tech/util/DomUtils.getElementIdValue (Lorg/w3c/dom/Element;Lcom/l7tech/util/IdAttributeConfig;)Ljava/lang/String;
      // 0bd: astore 9
      // 0bf: goto 0f3
      // 0c2: astore 10
      // 0c4: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 0c7: astore 12
      // 0c9: aload 12
      // 0cb: bipush 0
      // 0cc: aaload
      // 0cd: astore 11
      // 0cf: aload 1
      // 0d0: aload 3
      // 0d1: aload 0
      // 0d2: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.a ()Ljava/lang/String;
      // 0d5: aload 12
      // 0d7: bipush 42
      // 0d9: aaload
      // 0da: aload 11
      // 0dc: invokestatic com/l7tech/server/util/RstSoapMessageProcessor.generateSoapFaultResponse (Lcom/l7tech/server/message/PolicyEnforcementContext;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
      // 0df: aload 0
      // 0e0: getstatic com/l7tech/gateway/common/audit/AssertionMessages.STS_INVALID_SECURITY_TOKEN Lcom/l7tech/gateway/common/audit/Messages$M;
      // 0e3: bipush 1
      // 0e4: anewarray 626
      // 0e7: dup
      // 0e8: bipush 0
      // 0e9: aload 11
      // 0eb: aastore
      // 0ec: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 0ef: getstatic com/l7tech/policy/assertion/AssertionStatus.BAD_REQUEST Lcom/l7tech/policy/assertion/AssertionStatus;
      // 0f2: areturn
      // 0f3: aload 2
      // 0f4: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 0f7: astore 12
      // 0f9: aload 12
      // 0fb: bipush 87
      // 0fd: aaload
      // 0fe: aload 9
      // 100: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 105: pop
      // 106: aload 2
      // 107: aload 12
      // 109: bipush 99
      // 10b: aaload
      // 10c: aload 6
      // 10e: aload 7
      // 110: aload 12
      // 112: bipush 14
      // 114: aaload
      // 115: invokestatic com/l7tech/util/DomUtils.findExactlyOneChildElementByName (Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
      // 118: invokeinterface org/w3c/dom/Element.getTextContent ()Ljava/lang/String; 1
      // 11d: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 122: pop
      // 123: goto 18a
      // 126: astore 10
      // 128: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 12b: astore 12
      // 12d: aload 12
      // 12f: bipush 11
      // 131: aaload
      // 132: astore 11
      // 134: aload 1
      // 135: aload 3
      // 136: aload 0
      // 137: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.a ()Ljava/lang/String;
      // 13a: aload 12
      // 13c: bipush 42
      // 13e: aaload
      // 13f: aload 11
      // 141: invokestatic com/l7tech/server/util/RstSoapMessageProcessor.generateSoapFaultResponse (Lcom/l7tech/server/message/PolicyEnforcementContext;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
      // 144: aload 0
      // 145: getstatic com/l7tech/gateway/common/audit/AssertionMessages.STS_INVALID_SECURITY_TOKEN Lcom/l7tech/gateway/common/audit/Messages$M;
      // 148: bipush 1
      // 149: anewarray 626
      // 14c: dup
      // 14d: bipush 0
      // 14e: aload 11
      // 150: aastore
      // 151: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 154: getstatic com/l7tech/policy/assertion/AssertionStatus.BAD_REQUEST Lcom/l7tech/policy/assertion/AssertionStatus;
      // 157: areturn
      // 158: astore 10
      // 15a: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 15d: astore 12
      // 15f: aload 12
      // 161: bipush 110
      // 163: aaload
      // 164: astore 11
      // 166: aload 1
      // 167: aload 3
      // 168: aload 0
      // 169: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.a ()Ljava/lang/String;
      // 16c: aload 12
      // 16e: bipush 42
      // 170: aaload
      // 171: aload 11
      // 173: invokestatic com/l7tech/server/util/RstSoapMessageProcessor.generateSoapFaultResponse (Lcom/l7tech/server/message/PolicyEnforcementContext;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
      // 176: aload 0
      // 177: getstatic com/l7tech/gateway/common/audit/AssertionMessages.STS_INVALID_SECURITY_TOKEN Lcom/l7tech/gateway/common/audit/Messages$M;
      // 17a: bipush 1
      // 17b: anewarray 626
      // 17e: dup
      // 17f: bipush 0
      // 180: aload 11
      // 182: aastore
      // 183: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 186: getstatic com/l7tech/policy/assertion/AssertionStatus.BAD_REQUEST Lcom/l7tech/policy/assertion/AssertionStatus;
      // 189: areturn
      // 18a: goto 28d
      // 18d: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 190: bipush 84
      // 192: aaload
      // 193: aload 8
      // 195: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 198: ifeq 25d
      // 19b: aload 2
      // 19c: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 19f: bipush 24
      // 1a1: aaload
      // 1a2: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 1a5: bipush 55
      // 1a7: aaload
      // 1a8: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 1ad: pop
      // 1ae: getstatic com/l7tech/util/SoapConstants.SAML_NAMESPACE Ljava/lang/String;
      // 1b1: aload 7
      // 1b3: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 1b6: ifeq 1f1
      // 1b9: goto 1c0
      // 1bc: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 1bf: athrow
      // 1c0: aload 2
      // 1c1: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 1c4: bipush 112
      // 1c6: aaload
      // 1c7: aload 6
      // 1c9: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 1cc: bipush 22
      // 1ce: aaload
      // 1cf: invokeinterface org/w3c/dom/Element.getAttribute (Ljava/lang/String;)Ljava/lang/String; 2
      // 1d4: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 1d9: pop
      // 1da: aload 2
      // 1db: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 1de: bipush 46
      // 1e0: aaload
      // 1e1: getstatic com/l7tech/util/SoapConstants.VALUETYPE_SAML_ASSERTIONID_SAML11 Ljava/lang/String;
      // 1e4: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 1e9: pop
      // 1ea: goto 28d
      // 1ed: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 1f0: athrow
      // 1f1: getstatic com/l7tech/util/SoapConstants.SAML_NAMESPACE2 Ljava/lang/String;
      // 1f4: aload 7
      // 1f6: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 1f9: ifeq 22d
      // 1fc: aload 2
      // 1fd: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 200: bipush 112
      // 202: aaload
      // 203: aload 6
      // 205: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 208: bipush 122
      // 20a: aaload
      // 20b: invokeinterface org/w3c/dom/Element.getAttribute (Ljava/lang/String;)Ljava/lang/String; 2
      // 210: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 215: pop
      // 216: aload 2
      // 217: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 21a: bipush 46
      // 21c: aaload
      // 21d: getstatic com/l7tech/util/SoapConstants.VALUETYPE_SAML_ASSERTIONID_SAML20 Ljava/lang/String;
      // 220: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 225: pop
      // 226: goto 28d
      // 229: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 22c: athrow
      // 22d: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 230: astore 12
      // 232: aload 12
      // 234: bipush 21
      // 236: aaload
      // 237: astore 9
      // 239: aload 1
      // 23a: aload 3
      // 23b: aload 0
      // 23c: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.a ()Ljava/lang/String;
      // 23f: aload 12
      // 241: bipush 42
      // 243: aaload
      // 244: aload 9
      // 246: invokestatic com/l7tech/server/util/RstSoapMessageProcessor.generateSoapFaultResponse (Lcom/l7tech/server/message/PolicyEnforcementContext;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
      // 249: aload 0
      // 24a: getstatic com/l7tech/gateway/common/audit/AssertionMessages.STS_INVALID_SECURITY_TOKEN Lcom/l7tech/gateway/common/audit/Messages$M;
      // 24d: bipush 1
      // 24e: anewarray 626
      // 251: dup
      // 252: bipush 0
      // 253: aload 9
      // 255: aastore
      // 256: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 259: getstatic com/l7tech/policy/assertion/AssertionStatus.BAD_REQUEST Lcom/l7tech/policy/assertion/AssertionStatus;
      // 25c: areturn
      // 25d: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 260: astore 12
      // 262: aload 12
      // 264: bipush 119
      // 266: aaload
      // 267: astore 9
      // 269: aload 1
      // 26a: aload 3
      // 26b: aload 0
      // 26c: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.a ()Ljava/lang/String;
      // 26f: aload 12
      // 271: bipush 42
      // 273: aaload
      // 274: aload 9
      // 276: invokestatic com/l7tech/server/util/RstSoapMessageProcessor.generateSoapFaultResponse (Lcom/l7tech/server/message/PolicyEnforcementContext;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
      // 279: aload 0
      // 27a: getstatic com/l7tech/gateway/common/audit/AssertionMessages.STS_INVALID_SECURITY_TOKEN Lcom/l7tech/gateway/common/audit/Messages$M;
      // 27d: bipush 1
      // 27e: anewarray 626
      // 281: dup
      // 282: bipush 0
      // 283: aload 9
      // 285: aastore
      // 286: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 289: getstatic com/l7tech/policy/assertion/AssertionStatus.BAD_REQUEST Lcom/l7tech/policy/assertion/AssertionStatus;
      // 28c: areturn
      // 28d: getstatic com/l7tech/policy/assertion/AssertionStatus.NONE Lcom/l7tech/policy/assertion/AssertionStatus;
      // 290: areturn
      // try (25 -> 32): 33 java/lang/Throwable
      // try (83 -> 87): 88 com/l7tech/util/InvalidDocumentFormatException
      // try (124 -> 137): 138 com/l7tech/util/TooManyChildElementsException
      // try (124 -> 137): 165 com/l7tech/util/MissingRequiredElementException
      // try (193 -> 212): 213 java/lang/Throwable
      // try (199 -> 234): 234 java/lang/Throwable
      // try (236 -> 259): 259 java/lang/Throwable
   }

   private String a(String var1, String var2) {
      String[] var4 = m;
      StringBuilder var3 = new StringBuilder(var4[94])
         .append(var1)
         .append(var4[91])
         .append(var4[15])
         .append(var2)
         .append("\n")
         .append(var4[4])
         .append(var4[19]);
      return var3.toString();
   }

   private String b(PolicyEnforcementContext param1, Map<String, String> param2, Map<String, String> param3) 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: new java/lang/StringBuilder
      // 003: dup
      // 004: invokespecial java/lang/StringBuilder.<init> ()V
      // 007: astore 4
      // 009: aload 2
      // 00a: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 00d: bipush 89
      // 00f: aaload
      // 010: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 015: ifnonnull 022
      // 018: getstatic com/l7tech/util/SoapConstants.WSU_NAMESPACE Ljava/lang/String;
      // 01b: goto 035
      // 01e: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 021: athrow
      // 022: aload 2
      // 023: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 026: astore 16
      // 028: aload 16
      // 02a: bipush 116
      // 02c: aaload
      // 02d: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 032: checkcast java/lang/String
      // 035: astore 5
      // 037: aload 4
      // 039: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 03c: bipush 48
      // 03e: aaload
      // 03f: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 042: pop
      // 043: aload 0
      // 044: getfield com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 047: checkcast com/l7tech/policy/assertion/xmlsec/BuildRstrSoapResponse
      // 04a: invokevirtual com/l7tech/policy/assertion/xmlsec/BuildRstrSoapResponse.isResponseForIssuance ()Z
      // 04d: ifeq 095
      // 050: aload 4
      // 052: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 055: bipush 66
      // 057: aaload
      // 058: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 05b: aload 2
      // 05c: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 05f: bipush 117
      // 061: aaload
      // 062: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 067: checkcast java/lang/String
      // 06a: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 06d: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 070: bipush 102
      // 072: aaload
      // 073: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 076: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 079: bipush 111
      // 07b: aaload
      // 07c: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 07f: aload 5
      // 081: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 084: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 087: bipush 43
      // 089: aaload
      // 08a: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 08d: pop
      // 08e: goto 0d7
      // 091: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 094: athrow
      // 095: aload 4
      // 097: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 09a: astore 16
      // 09c: aload 16
      // 09e: bipush 23
      // 0a0: aaload
      // 0a1: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 0a4: aload 2
      // 0a5: aload 16
      // 0a7: bipush 92
      // 0a9: aaload
      // 0aa: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 0af: checkcast java/lang/String
      // 0b2: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 0b5: aload 16
      // 0b7: bipush 43
      // 0b9: aaload
      // 0ba: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 0bd: pop
      // 0be: aload 4
      // 0c0: aload 16
      // 0c2: bipush 63
      // 0c4: aaload
      // 0c5: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 0c8: aload 16
      // 0ca: bipush 13
      // 0cc: aaload
      // 0cd: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 0d0: pop
      // 0d1: aload 4
      // 0d3: invokevirtual java/lang/StringBuilder.toString ()Ljava/lang/String;
      // 0d6: areturn
      // 0d7: aload 3
      // 0d8: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 0db: astore 16
      // 0dd: aload 16
      // 0df: bipush 49
      // 0e1: aaload
      // 0e2: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 0e7: checkcast java/lang/String
      // 0ea: astore 6
      // 0ec: aload 2
      // 0ed: aload 16
      // 0ef: bipush 9
      // 0f1: aaload
      // 0f2: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 0f7: checkcast java/lang/String
      // 0fa: invokestatic java/lang/Boolean.parseBoolean (Ljava/lang/String;)Z
      // 0fd: istore 7
      // 0ff: iload 7
      // 101: ifeq 12e
      // 104: aload 4
      // 106: aload 16
      // 108: bipush 98
      // 10a: aaload
      // 10b: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 10e: aload 2
      // 10f: aload 16
      // 111: bipush 125
      // 113: aaload
      // 114: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 119: checkcast java/lang/String
      // 11c: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 11f: aload 16
      // 121: bipush 2
      // 122: aaload
      // 123: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 126: pop
      // 127: goto 12e
      // 12a: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 12d: athrow
      // 12e: aload 4
      // 130: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 133: astore 16
      // 135: aload 16
      // 137: bipush 51
      // 139: aaload
      // 13a: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 13d: aload 6
      // 13f: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 142: ldc "\n"
      // 144: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 147: aload 16
      // 149: bipush 107
      // 14b: aaload
      // 14c: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 14f: pop
      // 150: aload 0
      // 151: getfield com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 154: checkcast com/l7tech/policy/assertion/xmlsec/BuildRstrSoapResponse
      // 157: invokevirtual com/l7tech/policy/assertion/xmlsec/BuildRstrSoapResponse.isIncludeAppliesTo ()Z
      // 15a: ifeq 219
      // 15d: aload 0
      // 15e: getfield com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 161: checkcast com/l7tech/policy/assertion/xmlsec/BuildRstrSoapResponse
      // 164: invokevirtual com/l7tech/policy/assertion/xmlsec/BuildRstrSoapResponse.getAddressOfEPR ()Ljava/lang/String;
      // 167: astore 8
      // 169: aload 8
      // 16b: ifnull 219
      // 16e: aload 8
      // 170: aload 1
      // 171: aload 0
      // 172: getfield com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.k [Ljava/lang/String;
      // 175: aload 0
      // 176: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.getAudit ()Lcom/l7tech/gateway/common/audit/Audit;
      // 179: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getVariableMap ([Ljava/lang/String;Lcom/l7tech/gateway/common/audit/Audit;)Ljava/util/Map; 3
      // 17e: aload 0
      // 17f: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.getAudit ()Lcom/l7tech/gateway/common/audit/Audit;
      // 182: invokestatic com/l7tech/server/policy/variable/ExpandVariables.process (Ljava/lang/String;Ljava/util/Map;Lcom/l7tech/gateway/common/audit/Audit;)Ljava/lang/String;
      // 185: invokestatic com/l7tech/util/TextUtils.escapeHtmlSpecialCharacters (Ljava/lang/String;)Ljava/lang/String;
      // 188: astore 9
      // 18a: aload 0
      // 18b: getfield com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 18e: checkcast com/l7tech/policy/assertion/xmlsec/BuildRstrSoapResponse
      // 191: invokevirtual com/l7tech/policy/assertion/xmlsec/BuildRstrSoapResponse.isIncludeAppliesTo ()Z
      // 194: ifeq 219
      // 197: aload 9
      // 199: ifnull 219
      // 19c: goto 1a3
      // 19f: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 1a2: athrow
      // 1a3: aload 9
      // 1a5: invokevirtual java/lang/String.trim ()Ljava/lang/String;
      // 1a8: invokevirtual java/lang/String.isEmpty ()Z
      // 1ab: ifne 219
      // 1ae: goto 1b5
      // 1b1: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 1b4: athrow
      // 1b5: aload 2
      // 1b6: invokestatic com/l7tech/server/util/RstSoapMessageProcessor.getWsaNamespace (Ljava/util/Map;)Ljava/lang/String;
      // 1b9: astore 10
      // 1bb: aload 2
      // 1bc: invokestatic com/l7tech/server/util/RstSoapMessageProcessor.getWspNamespace (Ljava/util/Map;)Ljava/lang/String;
      // 1bf: astore 11
      // 1c1: aload 4
      // 1c3: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 1c6: astore 16
      // 1c8: aload 16
      // 1ca: sipush 128
      // 1cd: aaload
      // 1ce: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 1d1: aload 11
      // 1d3: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 1d6: aload 16
      // 1d8: bipush 103
      // 1da: aaload
      // 1db: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 1de: aload 10
      // 1e0: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 1e3: aload 16
      // 1e5: bipush 43
      // 1e7: aaload
      // 1e8: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 1eb: aload 16
      // 1ed: bipush 38
      // 1ef: aaload
      // 1f0: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 1f3: aload 16
      // 1f5: bipush 36
      // 1f7: aaload
      // 1f8: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 1fb: aload 9
      // 1fd: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 200: aload 16
      // 202: bipush 74
      // 204: aaload
      // 205: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 208: aload 16
      // 20a: bipush 118
      // 20c: aaload
      // 20d: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 210: aload 16
      // 212: bipush 26
      // 214: aaload
      // 215: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 218: pop
      // 219: aload 3
      // 21a: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 21d: astore 16
      // 21f: aload 16
      // 221: bipush 104
      // 223: aaload
      // 224: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 229: checkcast java/lang/String
      // 22c: invokestatic java/lang/Boolean.parseBoolean (Ljava/lang/String;)Z
      // 22f: istore 8
      // 231: aload 2
      // 232: aload 16
      // 234: bipush 40
      // 236: aaload
      // 237: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 23c: checkcast java/lang/String
      // 23f: astore 9
      // 241: aload 9
      // 243: ifnull 258
      // 246: aload 9
      // 248: invokevirtual java/lang/String.trim ()Ljava/lang/String;
      // 24b: invokevirtual java/lang/String.isEmpty ()Z
      // 24e: ifeq 25d
      // 251: goto 258
      // 254: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 257: athrow
      // 258: getstatic com/l7tech/util/SoapConstants.SECURITY_NAMESPACE Ljava/lang/String;
      // 25b: astore 9
      // 25d: aload 0
      // 25e: getfield com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 261: checkcast com/l7tech/policy/assertion/xmlsec/BuildRstrSoapResponse
      // 264: invokevirtual com/l7tech/policy/assertion/xmlsec/BuildRstrSoapResponse.isIncludeAttachedRef ()Z
      // 267: ifeq 386
      // 26a: aload 4
      // 26c: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 26f: bipush 58
      // 271: aaload
      // 272: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 275: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 278: bipush 88
      // 27a: aaload
      // 27b: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 27e: aload 9
      // 280: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 283: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 286: bipush 43
      // 288: aaload
      // 289: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 28c: pop
      // 28d: iload 8
      // 28f: ifeq 302
      // 292: goto 299
      // 295: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 298: athrow
      // 299: aload 3
      // 29a: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 29d: astore 16
      // 29f: aload 16
      // 2a1: bipush 59
      // 2a3: aaload
      // 2a4: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 2a9: checkcast java/lang/String
      // 2ac: astore 10
      // 2ae: aload 4
      // 2b0: aload 16
      // 2b2: bipush 72
      // 2b4: aaload
      // 2b5: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 2b8: aload 10
      // 2ba: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 2bd: ldc "\""
      // 2bf: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 2c2: pop
      // 2c3: iload 7
      // 2c5: ifeq 2ef
      // 2c8: aload 4
      // 2ca: aload 16
      // 2cc: bipush 3
      // 2cd: aaload
      // 2ce: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 2d1: aload 2
      // 2d2: aload 16
      // 2d4: bipush 126
      // 2d6: aaload
      // 2d7: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 2dc: checkcast java/lang/String
      // 2df: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 2e2: ldc "\""
      // 2e4: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 2e7: pop
      // 2e8: goto 2ef
      // 2eb: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 2ee: athrow
      // 2ef: aload 4
      // 2f1: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 2f4: astore 16
      // 2f6: aload 16
      // 2f8: bipush 52
      // 2fa: aaload
      // 2fb: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 2fe: pop
      // 2ff: goto 36e
      // 302: aload 3
      // 303: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 306: astore 16
      // 308: aload 16
      // 30a: bipush 6
      // 30c: aaload
      // 30d: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 312: checkcast java/lang/String
      // 315: astore 10
      // 317: aload 3
      // 318: aload 16
      // 31a: bipush 20
      // 31c: aaload
      // 31d: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 322: checkcast java/lang/String
      // 325: astore 11
      // 327: aload 4
      // 329: aload 16
      // 32b: bipush 41
      // 32d: aaload
      // 32e: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 331: pop
      // 332: iload 7
      // 334: ifeq 353
      // 337: aload 4
      // 339: aload 16
      // 33b: bipush 31
      // 33d: aaload
      // 33e: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 341: aload 10
      // 343: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 346: ldc "\""
      // 348: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 34b: pop
      // 34c: goto 353
      // 34f: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 352: athrow
      // 353: aload 4
      // 355: ldc ">"
      // 357: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 35a: aload 11
      // 35c: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 35f: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 362: astore 16
      // 364: aload 16
      // 366: sipush 129
      // 369: aaload
      // 36a: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 36d: pop
      // 36e: aload 4
      // 370: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 373: astore 16
      // 375: aload 16
      // 377: bipush 54
      // 379: aaload
      // 37a: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 37d: aload 16
      // 37f: bipush 61
      // 381: aaload
      // 382: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 385: pop
      // 386: aload 0
      // 387: getfield com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 38a: checkcast com/l7tech/policy/assertion/xmlsec/BuildRstrSoapResponse
      // 38d: invokevirtual com/l7tech/policy/assertion/xmlsec/BuildRstrSoapResponse.isIncludeUnattachedRef ()Z
      // 390: ifeq 4af
      // 393: aload 4
      // 395: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 398: bipush 93
      // 39a: aaload
      // 39b: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 39e: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 3a1: bipush 88
      // 3a3: aaload
      // 3a4: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 3a7: aload 9
      // 3a9: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 3ac: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 3af: bipush 43
      // 3b1: aaload
      // 3b2: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 3b5: pop
      // 3b6: iload 8
      // 3b8: ifeq 42c
      // 3bb: goto 3c2
      // 3be: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 3c1: athrow
      // 3c2: aload 3
      // 3c3: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 3c6: astore 16
      // 3c8: aload 16
      // 3ca: bipush 64
      // 3cc: aaload
      // 3cd: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 3d2: checkcast java/lang/String
      // 3d5: astore 10
      // 3d7: aload 4
      // 3d9: aload 16
      // 3db: bipush 67
      // 3dd: aaload
      // 3de: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 3e1: aload 10
      // 3e3: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 3e6: ldc "\""
      // 3e8: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 3eb: pop
      // 3ec: iload 7
      // 3ee: ifeq 419
      // 3f1: aload 4
      // 3f3: aload 16
      // 3f5: bipush 31
      // 3f7: aaload
      // 3f8: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 3fb: aload 2
      // 3fc: aload 16
      // 3fe: bipush 126
      // 400: aaload
      // 401: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 406: checkcast java/lang/String
      // 409: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 40c: ldc "\""
      // 40e: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 411: pop
      // 412: goto 419
      // 415: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 418: athrow
      // 419: aload 4
      // 41b: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 41e: astore 16
      // 420: aload 16
      // 422: bipush 53
      // 424: aaload
      // 425: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 428: pop
      // 429: goto 497
      // 42c: aload 3
      // 42d: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 430: astore 16
      // 432: aload 16
      // 434: bipush 46
      // 436: aaload
      // 437: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 43c: checkcast java/lang/String
      // 43f: astore 10
      // 441: aload 3
      // 442: aload 16
      // 444: bipush 112
      // 446: aaload
      // 447: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 44c: checkcast java/lang/String
      // 44f: astore 11
      // 451: aload 4
      // 453: aload 16
      // 455: bipush 16
      // 457: aaload
      // 458: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 45b: pop
      // 45c: iload 7
      // 45e: ifeq 47d
      // 461: aload 4
      // 463: aload 16
      // 465: bipush 31
      // 467: aaload
      // 468: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 46b: aload 10
      // 46d: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 470: ldc "\""
      // 472: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 475: pop
      // 476: goto 47d
      // 479: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 47c: athrow
      // 47d: aload 4
      // 47f: ldc ">"
      // 481: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 484: aload 11
      // 486: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 489: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 48c: astore 16
      // 48e: aload 16
      // 490: bipush 121
      // 492: aaload
      // 493: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 496: pop
      // 497: aload 4
      // 499: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 49c: astore 16
      // 49e: aload 16
      // 4a0: bipush 113
      // 4a2: aaload
      // 4a3: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 4a6: aload 16
      // 4a8: bipush 124
      // 4aa: aaload
      // 4ab: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 4ae: pop
      // 4af: iload 8
      // 4b1: ifeq 604
      // 4b4: aload 3
      // 4b5: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 4b8: astore 16
      // 4ba: aload 16
      // 4bc: bipush 99
      // 4be: aaload
      // 4bf: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 4c4: checkcast java/lang/String
      // 4c7: astore 11
      // 4c9: aload 0
      // 4ca: getfield com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.j Lcom/l7tech/server/secureconversation/InboundSecureConversationContextManager;
      // 4cd: aload 11
      // 4cf: invokevirtual com/l7tech/server/secureconversation/InboundSecureConversationContextManager.getSession (Ljava/lang/Object;)Lcom/l7tech/server/secureconversation/SecureConversationSession;
      // 4d2: astore 12
      // 4d4: aload 11
      // 4d6: aload 16
      // 4d8: bipush 114
      // 4da: aaload
      // 4db: swap
      // 4dc: ldc "'"
      // 4de: 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" ]
      // 4e3: astore 13
      // 4e5: aload 12
      // 4e7: ifnonnull 519
      // 4ea: aload 1
      // 4eb: aload 2
      // 4ec: aload 0
      // 4ed: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.a ()Ljava/lang/String;
      // 4f0: aload 16
      // 4f2: bipush 105
      // 4f4: aaload
      // 4f5: aload 13
      // 4f7: invokestatic com/l7tech/server/util/RstSoapMessageProcessor.generateSoapFaultResponse (Lcom/l7tech/server/message/PolicyEnforcementContext;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
      // 4fa: aload 0
      // 4fb: getstatic com/l7tech/gateway/common/audit/AssertionMessages.STS_EXPIRED_SC_SESSION Lcom/l7tech/gateway/common/audit/Messages$M;
      // 4fe: bipush 1
      // 4ff: anewarray 626
      // 502: dup
      // 503: bipush 0
      // 504: aload 13
      // 506: aastore
      // 507: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 50a: new com/l7tech/server/policy/assertion/AssertionStatusException
      // 50d: dup
      // 50e: getstatic com/l7tech/policy/assertion/AssertionStatus.FALSIFIED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 511: invokespecial com/l7tech/server/policy/assertion/AssertionStatusException.<init> (Lcom/l7tech/policy/assertion/AssertionStatus;)V
      // 514: athrow
      // 515: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 518: athrow
      // 519: aload 12
      // 51b: invokevirtual com/l7tech/server/secureconversation/SecureConversationSession.getKeySize ()I
      // 51e: istore 10
      // 520: aload 4
      // 522: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 525: astore 16
      // 527: aload 16
      // 529: bipush 68
      // 52b: aaload
      // 52c: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 52f: pop
      // 530: aload 12
      // 532: invokevirtual com/l7tech/server/secureconversation/SecureConversationSession.hasEntropy ()Z
      // 535: ifeq 592
      // 538: aload 2
      // 539: aload 16
      // 53b: bipush 92
      // 53d: aaload
      // 53e: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 543: checkcast java/lang/String
      // 546: astore 15
      // 548: getstatic com/l7tech/util/SoapConstants.WST_NAMESPACE Ljava/lang/String;
      // 54b: aload 15
      // 54d: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 550: ifeq 55b
      // 553: getstatic com/l7tech/util/SoapConstants.P_SHA1_ALG_URI Ljava/lang/String;
      // 556: astore 14
      // 558: goto 573
      // 55b: getstatic com/l7tech/util/SoapConstants.WST_NAMESPACE2 Ljava/lang/String;
      // 55e: aload 15
      // 560: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 563: ifeq 56e
      // 566: getstatic com/l7tech/util/SoapConstants.P_SHA1_ALG_URI2 Ljava/lang/String;
      // 569: astore 14
      // 56b: goto 573
      // 56e: getstatic com/l7tech/util/SoapConstants.P_SHA1_ALG_URI3 Ljava/lang/String;
      // 571: astore 14
      // 573: aload 4
      // 575: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 578: astore 16
      // 57a: aload 16
      // 57c: bipush 101
      // 57e: aaload
      // 57f: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 582: aload 14
      // 584: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 587: aload 16
      // 589: bipush 5
      // 58a: aaload
      // 58b: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 58e: pop
      // 58f: goto 5b8
      // 592: aload 0
      // 593: aload 1
      // 594: aload 2
      // 595: aload 9
      // 597: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 59a: astore 16
      // 59c: aload 16
      // 59e: bipush 77
      // 5a0: aaload
      // 5a1: aload 12
      // 5a3: invokevirtual com/l7tech/server/secureconversation/SecureConversationSession.getSharedSecret ()[B
      // 5a6: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.a (Lcom/l7tech/server/message/PolicyEnforcementContext;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;[B)Ljava/lang/String;
      // 5a9: astore 14
      // 5ab: aload 4
      // 5ad: aload 14
      // 5af: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 5b2: ldc "\n"
      // 5b4: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 5b7: pop
      // 5b8: aload 4
      // 5ba: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 5bd: astore 16
      // 5bf: aload 16
      // 5c1: bipush 78
      // 5c3: aaload
      // 5c4: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 5c7: pop
      // 5c8: aload 12
      // 5ca: invokevirtual com/l7tech/server/secureconversation/SecureConversationSession.hasEntropy ()Z
      // 5cd: ifeq 601
      // 5d0: aload 0
      // 5d1: aload 1
      // 5d2: aload 2
      // 5d3: aload 9
      // 5d5: aload 16
      // 5d7: bipush 108
      // 5d9: aaload
      // 5da: aload 12
      // 5dc: invokevirtual com/l7tech/server/secureconversation/SecureConversationSession.getServerEntropy ()[B
      // 5df: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.a (Lcom/l7tech/server/message/PolicyEnforcementContext;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;[B)Ljava/lang/String;
      // 5e2: astore 14
      // 5e4: aload 4
      // 5e6: aload 16
      // 5e8: bipush 81
      // 5ea: aaload
      // 5eb: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 5ee: aload 14
      // 5f0: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 5f3: ldc "\n"
      // 5f5: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 5f8: aload 16
      // 5fa: bipush 44
      // 5fc: aaload
      // 5fd: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 600: pop
      // 601: goto 607
      // 604: bipush 0
      // 605: istore 10
      // 607: aload 0
      // 608: getfield com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 60b: checkcast com/l7tech/policy/assertion/xmlsec/BuildRstrSoapResponse
      // 60e: invokevirtual com/l7tech/policy/assertion/xmlsec/BuildRstrSoapResponse.isIncludeLifetime ()Z
      // 611: ifeq 691
      // 614: invokestatic java/lang/System.currentTimeMillis ()J
      // 617: lstore 11
      // 619: lload 11
      // 61b: aload 0
      // 61c: getfield com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 61f: checkcast com/l7tech/policy/assertion/xmlsec/BuildRstrSoapResponse
      // 622: invokevirtual com/l7tech/policy/assertion/xmlsec/BuildRstrSoapResponse.getLifetime ()J
      // 625: ladd
      // 626: lstore 13
      // 628: invokestatic java/util/Calendar.getInstance ()Ljava/util/Calendar;
      // 62b: astore 15
      // 62d: aload 4
      // 62f: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 632: astore 16
      // 634: aload 16
      // 636: bipush 79
      // 638: aaload
      // 639: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 63c: pop
      // 63d: aload 15
      // 63f: lload 11
      // 641: invokevirtual java/util/Calendar.setTimeInMillis (J)V
      // 644: aload 4
      // 646: aload 16
      // 648: bipush 75
      // 64a: aaload
      // 64b: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 64e: aload 15
      // 650: invokevirtual java/util/Calendar.getTime ()Ljava/util/Date;
      // 653: invokestatic com/l7tech/util/ISO8601Date.format (Ljava/util/Date;)Ljava/lang/String;
      // 656: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 659: aload 16
      // 65b: bipush 7
      // 65d: aaload
      // 65e: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 661: pop
      // 662: aload 15
      // 664: lload 13
      // 666: invokevirtual java/util/Calendar.setTimeInMillis (J)V
      // 669: aload 4
      // 66b: aload 16
      // 66d: bipush 34
      // 66f: aaload
      // 670: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 673: aload 15
      // 675: invokevirtual java/util/Calendar.getTime ()Ljava/util/Date;
      // 678: invokestatic com/l7tech/util/ISO8601Date.format (Ljava/util/Date;)Ljava/lang/String;
      // 67b: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 67e: aload 16
      // 680: bipush 25
      // 682: aaload
      // 683: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 686: pop
      // 687: aload 4
      // 689: aload 16
      // 68b: bipush 1
      // 68c: aaload
      // 68d: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 690: pop
      // 691: iload 8
      // 693: ifeq 6cb
      // 696: aload 0
      // 697: getfield com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 69a: checkcast com/l7tech/policy/assertion/xmlsec/BuildRstrSoapResponse
      // 69d: invokevirtual com/l7tech/policy/assertion/xmlsec/BuildRstrSoapResponse.isIncludeKeySize ()Z
      // 6a0: ifeq 6cb
      // 6a3: goto 6aa
      // 6a6: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 6a9: athrow
      // 6aa: aload 4
      // 6ac: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 6af: bipush 96
      // 6b1: aaload
      // 6b2: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 6b5: iload 10
      // 6b7: invokevirtual java/lang/StringBuilder.append (I)Ljava/lang/StringBuilder;
      // 6ba: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 6bd: bipush 56
      // 6bf: aaload
      // 6c0: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 6c3: pop
      // 6c4: goto 6cb
      // 6c7: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 6ca: athrow
      // 6cb: aload 4
      // 6cd: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 6d0: bipush 17
      // 6d2: aaload
      // 6d3: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 6d6: pop
      // 6d7: aload 4
      // 6d9: invokevirtual java/lang/StringBuilder.toString ()Ljava/lang/String;
      // 6dc: areturn
      // try (4 -> 12): 12 com/l7tech/policy/assertion/PolicyAssertionException
      // try (23 -> 62): 62 com/l7tech/policy/assertion/PolicyAssertionException
      // try (113 -> 132): 133 com/l7tech/policy/assertion/PolicyAssertionException
      // try (175 -> 182): 183 com/l7tech/policy/assertion/PolicyAssertionException
      // try (180 -> 189): 190 com/l7tech/policy/assertion/PolicyAssertionException
      // try (257 -> 263): 264 com/l7tech/policy/assertion/PolicyAssertionException
      // try (268 -> 291): 292 com/l7tech/policy/assertion/PolicyAssertionException
      // try (303 -> 330): 331 com/l7tech/policy/assertion/PolicyAssertionException
      // try (358 -> 376): 377 com/l7tech/policy/assertion/PolicyAssertionException
      // try (403 -> 426): 427 com/l7tech/policy/assertion/PolicyAssertionException
      // try (438 -> 465): 466 com/l7tech/policy/assertion/PolicyAssertionException
      // try (493 -> 511): 512 com/l7tech/policy/assertion/PolicyAssertionException
      // try (562 -> 587): 587 com/l7tech/policy/assertion/PolicyAssertionException
      // try (763 -> 770): 771 com/l7tech/policy/assertion/PolicyAssertionException
      // try (765 -> 785): 786 com/l7tech/policy/assertion/PolicyAssertionException
   }

   private String a(PolicyEnforcementContext var1, Map<String, String> var2, String var3, String var4, byte[] var5) throws PolicyAssertionException {
      X509Certificate var7 = this.a(var1, var2);

      try {
         String var10000;
         label35: {
            try {
               if (Boolean.parseBoolean((String)var2.get(m[62]))) {
                  var10000 = (String)var2.get(m[115]);
                  break label35;
               }
            } catch (GeneralSecurityException var11) {
               throw a(var11);
            }

            var10000 = SoapConstants.SUPPORTED_ENCRYPTEDKEY_ALGO;
         }

         String var8 = var10000;

         try {
            if (var7 != null) {
               return this.a(var5, var7, var3, var8);
            }
         } catch (GeneralSecurityException var10) {
            throw a(var10);
         }

         String[] var13 = m;
         return this.a(var5, (String)var2.get(var13[92]), var4);
      } catch (GeneralSecurityException var12) {
         String var10002 = this.a();
         String[] var9 = m;
         RstSoapMessageProcessor.generateSoapFaultResponse(var1, var2, var10002, var9[97], var9[12]);
         this.logAndAudit(AssertionMessages.EXCEPTION_WARNING_WITH_MORE_INFO, new String[]{var9[60]}, var12);
         throw new AssertionStatusException(AssertionStatus.FAILED);
      }
   }

   private X509Certificate a(PolicyEnforcementContext param1, Map<String, String> 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:
      // 00: aload 0
      // 01: getfield com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.l Lcom/l7tech/server/policy/assertion/xmlsec/AddWssEncryptionSupport;
      // 04: aload 1
      // 05: invokevirtual com/l7tech/server/policy/assertion/xmlsec/AddWssEncryptionSupport.buildEncryptionContext (Lcom/l7tech/server/message/PolicyEnforcementContext;)Lcom/l7tech/server/policy/assertion/xmlsec/AddWssEncryptionContext;
      // 08: astore 3
      // 09: goto 46
      // 0c: astore 4
      // 0e: aload 1
      // 0f: aload 2
      // 10: aload 0
      // 11: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.a ()Ljava/lang/String;
      // 14: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.m [Ljava/lang/String;
      // 17: astore 5
      // 19: aload 5
      // 1b: bipush 65
      // 1d: aaload
      // 1e: aload 5
      // 20: bipush 27
      // 22: aaload
      // 23: invokestatic com/l7tech/server/util/RstSoapMessageProcessor.generateSoapFaultResponse (Lcom/l7tech/server/message/PolicyEnforcementContext;Ljava/util/Map;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
      // 26: aload 0
      // 27: getstatic com/l7tech/gateway/common/audit/AssertionMessages.EXCEPTION_WARNING_WITH_MORE_INFO Lcom/l7tech/gateway/common/audit/Messages$M;
      // 2a: bipush 1
      // 2b: anewarray 626
      // 2e: dup
      // 2f: bipush 0
      // 30: aload 5
      // 32: bipush 109
      // 34: aaload
      // 35: aastore
      // 36: aload 4
      // 38: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;Ljava/lang/Throwable;)V
      // 3b: new com/l7tech/server/policy/assertion/AssertionStatusException
      // 3e: dup
      // 3f: getstatic com/l7tech/policy/assertion/AssertionStatus.FALSIFIED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 42: invokespecial com/l7tech/server/policy/assertion/AssertionStatusException.<init> (Lcom/l7tech/policy/assertion/AssertionStatus;)V
      // 45: athrow
      // 46: aload 3
      // 47: ifnull 63
      // 4a: aload 3
      // 4b: invokevirtual com/l7tech/server/policy/assertion/xmlsec/AddWssEncryptionContext.isCertificate ()Z
      // 4e: ifeq 63
      // 51: goto 58
      // 54: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 57: athrow
      // 58: aload 3
      // 59: invokevirtual com/l7tech/server/policy/assertion/xmlsec/AddWssEncryptionContext.getCertificate ()Ljava/security/cert/X509Certificate;
      // 5c: goto 64
      // 5f: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerBuildRstrSoapResponse.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 62: athrow
      // 63: aconst_null
      // 64: areturn
      // try (0 -> 5): 6 com/l7tech/server/policy/assertion/xmlsec/AddWssEncryptionSupport$MultipleTokensException
      // try (37 -> 42): 43 com/l7tech/server/policy/assertion/xmlsec/AddWssEncryptionSupport$MultipleTokensException
      // try (39 -> 48): 48 com/l7tech/server/policy/assertion/xmlsec/AddWssEncryptionSupport$MultipleTokensException
   }

   @Override
   protected boolean isResponse() {
      return true;
   }

   private String a(byte[] var1, String var2, String var3) {
      StringBuilder var4 = new StringBuilder();
      String var5;
      if (SoapUtil.WST_NAMESPACE.equals(var2)) {
         String[] var6 = m;
         var5 = var6[82] + var3;
      } else {
         var5 = var2 + "/" + var3;
      }

      String[] var7 = m;
      var4.append(var7[86]).append(var5).append(var7[8]);
      var4.append(HexUtils.encodeBase64(var1, true));
      var4.append(var7[80]);
      return var4.toString();
   }

   private String a(byte[] var1, X509Certificate var2, String var3, String var4) throws GeneralSecurityException {
      StringBuilder var5 = new StringBuilder();

      boolean var10000;
      label47: {
         try {
            if (!SoapConstants.SUPPORTED_ENCRYPTEDKEY_ALGO.equals(var4)) {
               var10000 = true;
               break label47;
            }
         } catch (GeneralSecurityException var16) {
            throw a(var16);
         }

         var10000 = false;
      }

      boolean var6 = var10000;
      String var20 = UUID.randomUUID().toString();
      String[] var13 = m;
      String var7 = var13[70] + var20;

      label39: {
         try {
            var5.append(var13[127]).append(var7).append(var13[100]).append(SoapConstants.XMLENC_NS).append(var13[29]).append(var4).append("\"");
            if (var6) {
               var5.append(var13[18]).append(SoapConstants.DIGSIG_URI).append(var13[35]).append(SoapConstants.DIGSIG_URI).append(var13[39]).append(var13[47]);
               break label39;
            }
         } catch (GeneralSecurityException var15) {
            throw a(var15);
         }

         var13 = m;
         var5.append(var13[32]);
      }

      String var8 = CertUtils.getSki(var2);
      if (var8 != null) {
         String var10 = var8;
         String var11 = SoapConstants.VALUETYPE_SKI;
         String var12 = var3;
         var13 = m;
         String var9 = var13[50] + var12 + var13[95] + var11 + var13[83] + var10 + var13[57];
         var5.append(var13[30]).append(SoapConstants.DIGSIG_URI).append(var13[8]);
         var5.append(var9);
         var5.append(var13[106]);
      }

      label31: {
         try {
            var5.append(m[10]);
            if (var6) {
               var21 = HexUtils.encodeBase64(
                  XencUtil.encryptKeyWithRsaOaepMGF1SHA1(var1, var2, var2.getPublicKey(), XmlElementEncryptor.defaultOaepDigestMethod(), new byte[0]), true
               );
               break label31;
            }
         } catch (GeneralSecurityException var14) {
            throw a(var14);
         }

         var21 = HexUtils.encodeBase64(XencUtil.encryptKeyWithRsaAndPad(var1, var2, var2.getPublicKey()), true);
      }

      String var17 = var21;
      var5.append(var17);
      var5.append(m[123]);
      return var5.toString();
   }

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

   static {
      String[] var5 = new String[130];
      int var3 = 0;
      String var2 = "biatCAyDd$kI\u0013}\u0016ulgHAwXd$ObAyBuvoD\u0014lS!mh\u0006\u0015pS!WcE\u0014j_u}EI\u000flSypRI\n}X!ajC\f}Xu*\u0010\n.suR[T_garO\f}\b\u000b\u0011\n.suR[LYjahr\u0018hS?\u000e\f\u0016WejS\u0004LOqa;\u0004\r\n.wiG\u0011\"tn`\u007f\u0018k\u0013\n.suR[[YltsR\u0004|}d}8,\u0014E`ij\b\bvPn*pG\rmS/p\u007fV\u0004\u000f\n.suS[[DderC\u0005&<\u0002\u0014?\u0012^`wYT\u0012liukmC\u000fGBxtc#\nyahE[[_qlcT%yB`::^\u0004vU;GoV\t}DWejS\u0004&ObiatCAyDd$kI\u0013}\u0016ulgHAwXd$OB\u0004vBhboC\u00138SmakC\u000fl\u0016hj&R\t}\u0016RaeS\u0013qBxGiH\u0015}NuPiM\u0004v\u0016dhcK\u0004vB/\u000fddusC\u0012l\u0016hjpG\rqR#\n.suR[JSpqcU\u0015KSbqtO\u0015abnocH3}EqkhU\u0004&\n\u007feahR\b~_dv\f\nrkgV[ZYe}8,\u0013\nvwuC[SSxMbC\u000fl_gmcT#\n.suR[JSpqcU\u0015KSbqtO\u0015abnocH3}EqkhU\u0004&\u0016\b=@oA\u0004kBLarN\u000e|\u0016yijH\u0012%\u0014\u0010\n.wiG\u0011\"sorcJ\u000ehS?\u0016E`ij\b\bvPn*gU\u0012}DumiHOqR\u001ebia&u Uz!jgK\u0004kF`gc\u0006\bk\u0016hjpG\rqR/\u000bwrwcT\u0015qYoMB\u000bNlhhU[oEu9$\u0011BnocHOqXgk(O\u00126Ebp\u000f\n.suS[]NqmtC\u0012&<\u0011\n.suV[YFqhoC\u0012LY?\u000e\u000fddusC\u0012l\u0016hjpG\rqR\u0014Ar[gB\u0005jSrwoH\u0006GWbpoI\u000f$\u0014?8~C\u000f{\fDjeT\u0018hBhkhk\u0004l^n`&g\r\u007fYsmrN\f%\u0014\u0010\nJa\u007fo\u000f~Y!|kJ\u000fk\u000b#\f\u0016WejS\u0004LOqa;\u0004\u0002\u0019?'_ofiS\u000f|edgsT\u0004[YorcT\u0012yBhkhe\u000evBd|rk\u0000vWfat\r\nvws\u001c$`FhvcU_\r\u0014!EjA\u000ej_ulk\u001bC\r\nvwg\u001c |RsauU_\u0014edgsT\blOBkhR\u0004`BUkmC\u000f\u0018\nvwg\u001c$vRqkoH\u0015JSgatC\u000f{S?\u000e\u0004Eie7\u0015Ar)uC\u0002mDhp\u007fy\u000fy[dwvG\u0002}\u0013\nvwuC[SSxMbC\u000fl_gmcT\u0018Arp<o\u000fnWmmbu\u0004{Csmr_5w]dj\u0003\u0014?\u000e\u000f\n.suR[]XuviV\u0018&<\u0004Bsqc\u0014E`ij\b\bvPn*pG\rmS/p\u007fV\u0004\u001b\u0014.::\t\u0019}Xb>CH\u0002jOqpoI\u000fUSuliB_\"\nvwr\u001c3}GtauR2}UtvoR\u0018LYjaht\u0004kFnjuCA\u001cBnocHOqXgk(R\u000esSo*~K\r6UnjrC\u000fl)\nvwuC[KSbqtO\u0015abnocH3}PdvcH\u0002}\u0016yijH\u0012\"Arwc\u001bC\u001d\nvwr\u001c3}GtauR\u0004|edgsT\blOUkmC\u000f&<\u0003\u0019?\u000e\u0003\u0019?\u000e\u001f\n.suU\u0004\"edgsT\blOUkmC\u000fJSgatC\u000f{S?\u000e\u0005P`huC\u000f\n.suR[SSxWo\\\u0004&<3\n.suU\u0004\"}d}OB\u0004vBhboC\u0013&\n.suU\u0004\"edgsT\blOUkmC\u000fJSgatC\u000f{S?!\nvwr\u001c3}GtauR\u0004|wupgE\t}RSa`C\u0013}Xba8,\u000fEbp(O\u000f~Y/suSOqR\u001bddwvI\u000fkS!ahE\u0013aFumiHA~WhhsT\u0004\"\n.suR[JSpqcU\u0015}R@prG\u0002pSeVc@\u0004jSogc\u0018k\u001c^`wYM\u0004aidjeT\u0018hBhkhy\u0000tQnvoR\tu\u001f\nvwr\u001c3}GtauR\u0004|bnocH\"yXbajJ\u0004|\u0019?\u000e\u0019Ebp(O\u000f~Y/piM\u0004v\u0018h`cH\u0015qPhat\u0012Arp<o\u000fnWmmbt\u0004iCdwr\u000bNlhhU[oEu9$\u0015\nvwuC[JSgatC\u000f{S!QTo\\:\u001a\nvwr\u001c3}GtauR\u0004|fski@5w]dj8,\u0018Arp<o\u000fnWmmbu\u0004{Csmr_5w]dj\u0005Ctmb\u000b\u0018^`wYQ\u0012GWe`tC\u0012k_ocYG\u0002l_nj\u0016\nvwuC[JSgatC\u000f{S!QTo\\:\u0015\u001cBnocHOqXgk(R\u000esSo*~K\r6UnjrC\u000fl\u000f\n.suG[YRevcU\u0012&<\r\nvws\u001c\"jS`pcB_\u0017Enevy\u0004v@dhiV\u0004GX`icU\u0011yUd\fexikC\u0015j_bOc_\u001b\n.suR[JSpqcU\u0015}RQviI\u0007LYjah\u0018k\u000f\nvwr\u001c-qPdpoK\u0004&<\u0013\n.suR[Z_oet_2}Usar\u0018\u000e\nvwr\u001c$vBskv__\u00125^upv\u001cN7EblcK\u0000k\u0018yijU\u000eyF/ktANoE.66\u0016U7\u00065+uC\u0002mDhp\u007f\t\u0015jCrp)\u0002\u0014?\twrwcT\u0015qYoUbia&U\u0004{Csmr_AlYjah\u0006\u0014kSe$rIA\u007fSoatG\u0015}\u0016`$Tu5J\u0016sauV\u000evEd$oUAqXwejO\u00058Ys$hI\u00158Adhj\u000b\u0007wDlerR\u0004|\u0018\u0018\nvwr\u001c#qX`v\u007fu\u0004{Ddp&r\u0018hS<&\u000fEbp(O\u000f~Y/suSOqR)\nvwuC[KSbqtO\u0015abnocH3}PdvcH\u0002}\u0016yijH\u0012\"Arwc\u001bC\u0016Ar[sR\bt_umcU>vWlauV\u0000{S\rF`vuO\u000f\u007fidvtI\u0013\u0003\u0014?\u000e\u0012Ar[rT\u0014kB^jgK\u0004kF`gc#\nvwr\u001c3}GtauR\u0004|coerR\u0000{^d`TC\u0007}DdjeC_\u0012\u001b\nrkgV[]XwajI\u0011}\u0016yijH\u0012\"Enev\u001bC!\u0014?8qU\u0012}\fJa\u007fo\u0005}Xum`O\u0004j\u0016WejS\u0004LOqa;\u0004\r\nvwr\u001c*}ORm|C_\u0012Arp<o\u000fnWmmbt\u0004iCdwr\u000f\nvwr\u001c5w]djR_\u0011}\b\u0019Ebp(O\u000f~Y/piM\u0004v\u0018h`cH\u0015qPhat\u000e\u0014!|kJ\u000fk\fyahE\\:\u0011\nvwr\u001c\"w[qqrC\u0005SSx:\u0002\u0014!\r\u0014!|kJ\u000fk\fvwg\u001bC\u0011BnocHOqXgk(O\u00126Ebp\u000fArp<c\u0019h_sabb\u0000lW\n\n.Oc_(vPn:\u001e\n.suR[JSpqcU\u0015}RRaeS\u0013qBxPiM\u0004v\b\u000b\u0005xnjeC5ddwvI\u000fkS!ahE\u0013aFumiHAlYjah\u0006\u000fwB!biS\u000f|\u0016)isJ\u0015qFma&R\u000esSow/CbiatCAqE!ji\u0006(|Sopo@\b}D!ajC\f}Xu$oHAl^d$UC\u0002mDhp\u007fe\u000evBd|rr\u000esSo$cJ\u0004uSop(\u000bNlhhU[oEt9$\u0016E`ij\b\bvPn*gU\u0012}DumiHOqR\u001f\n.suU\u0004\"edgsT\blOUkmC\u000fJSgatC\u000f{S?\u000e\u0013edwuO\u000ev\u0016okr\u0006\u0007wCo`&\u0001\u0018]d}YC\u000f{DxtrO\u000evi`haI\u0013qBii\u0016Ar[sR\bt_umcU>vWlauV\u0000{S\u0012Ar[rT\u0014kB^jgK\u0004kF`gc\u0019\n.suG[]XetiO\u000flddbcT\u0004vUd:\fObia&U\u0004{Csmr_AlYjah\u0006\u0011jYwmbC\u00058_r$hC\bl^dv&GAKSbqtO\u0015aunjrC\u0019lbnocHAvYs$g\u00062Y{M$rI\n}X/\rF`vuO\u000f\u007fidvtI\u0013\u0016\n.suU\u0004\"}d}OB\u0004vBhboC\u0013&<\u0002\u007fE9\n.|cH\u0002\"uhtnC\u0013NWmqc\u0018]7Ndje\u001c\"qFiatb\u0000lW?8)^\u0004vU;AhE\u0013aFuabm\u0004a\b$\n.suR[JSpqcU\u0015}RTjgR\u0015yUiabt\u0004~SsahE\u0004&<\u000eDrpYR\u000esSo[r_\u0011}\u000eDrpYR\u000esSo[r_\u0011}\u001b\nyahE[]Xbv\u007fV\u0015}RJa\u007f\u0006\u0016kC;Mb\u001bC";
      int var4 = "biatCAyDd$kI\u0013}\u0016ulgHAwXd$ObAyBuvoD\u0014lS!mh\u0006\u0015pS!WcE\u0014j_u}EI\u000flSypRI\n}X!ajC\f}Xu*\u0010\n.suR[T_garO\f}\b\u000b\u0011\n.suR[LYjahr\u0018hS?\u000e\f\u0016WejS\u0004LOqa;\u0004\r\n.wiG\u0011\"tn`\u007f\u0018k\u0013\n.suR[[YltsR\u0004|}d}8,\u0014E`ij\b\bvPn*pG\rmS/p\u007fV\u0004\u000f\n.suS[[DderC\u0005&<\u0002\u0014?\u0012^`wYT\u0012liukmC\u000fGBxtc#\nyahE[[_qlcT%yB`::^\u0004vU;GoV\t}DWejS\u0004&ObiatCAyDd$kI\u0013}\u0016ulgHAwXd$OB\u0004vBhboC\u00138SmakC\u000fl\u0016hj&R\t}\u0016RaeS\u0013qBxGiH\u0015}NuPiM\u0004v\u0016dhcK\u0004vB/\u000fddusC\u0012l\u0016hjpG\rqR#\n.suR[JSpqcU\u0015KSbqtO\u0015abnocH3}EqkhU\u0004&\n\u007feahR\b~_dv\f\nrkgV[ZYe}8,\u0013\nvwuC[SSxMbC\u000fl_gmcT#\n.suR[JSpqcU\u0015KSbqtO\u0015abnocH3}EqkhU\u0004&\u0016\b=@oA\u0004kBLarN\u000e|\u0016yijH\u0012%\u0014\u0010\n.wiG\u0011\"sorcJ\u000ehS?\u0016E`ij\b\bvPn*gU\u0012}DumiHOqR\u001ebia&u Uz!jgK\u0004kF`gc\u0006\bk\u0016hjpG\rqR/\u000bwrwcT\u0015qYoMB\u000bNlhhU[oEu9$\u0011BnocHOqXgk(O\u00126Ebp\u000f\n.suS[]NqmtC\u0012&<\u0011\n.suV[YFqhoC\u0012LY?\u000e\u000fddusC\u0012l\u0016hjpG\rqR\u0014Ar[gB\u0005jSrwoH\u0006GWbpoI\u000f$\u0014?8~C\u000f{\fDjeT\u0018hBhkhk\u0004l^n`&g\r\u007fYsmrN\f%\u0014\u0010\nJa\u007fo\u000f~Y!|kJ\u000fk\u000b#\f\u0016WejS\u0004LOqa;\u0004\u0002\u0019?'_ofiS\u000f|edgsT\u0004[YorcT\u0012yBhkhe\u000evBd|rk\u0000vWfat\r\nvws\u001c$`FhvcU_\r\u0014!EjA\u000ej_ulk\u001bC\r\nvwg\u001c |RsauU_\u0014edgsT\blOBkhR\u0004`BUkmC\u000f\u0018\nvwg\u001c$vRqkoH\u0015JSgatC\u000f{S?\u000e\u0004Eie7\u0015Ar)uC\u0002mDhp\u007fy\u000fy[dwvG\u0002}\u0013\nvwuC[SSxMbC\u000fl_gmcT\u0018Arp<o\u000fnWmmbu\u0004{Csmr_5w]dj\u0003\u0014?\u000e\u000f\n.suR[]XuviV\u0018&<\u0004Bsqc\u0014E`ij\b\bvPn*pG\rmS/p\u007fV\u0004\u001b\u0014.::\t\u0019}Xb>CH\u0002jOqpoI\u000fUSuliB_\"\nvwr\u001c3}GtauR2}UtvoR\u0018LYjaht\u0004kFnjuCA\u001cBnocHOqXgk(R\u000esSo*~K\r6UnjrC\u000fl)\nvwuC[KSbqtO\u0015abnocH3}PdvcH\u0002}\u0016yijH\u0012\"Arwc\u001bC\u001d\nvwr\u001c3}GtauR\u0004|edgsT\blOUkmC\u000f&<\u0003\u0019?\u000e\u0003\u0019?\u000e\u001f\n.suU\u0004\"edgsT\blOUkmC\u000fJSgatC\u000f{S?\u000e\u0005P`huC\u000f\n.suR[SSxWo\\\u0004&<3\n.suU\u0004\"}d}OB\u0004vBhboC\u0013&\n.suU\u0004\"edgsT\blOUkmC\u000fJSgatC\u000f{S?!\nvwr\u001c3}GtauR\u0004|wupgE\t}RSa`C\u0013}Xba8,\u000fEbp(O\u000f~Y/suSOqR\u001bddwvI\u000fkS!ahE\u0013aFumiHA~WhhsT\u0004\"\n.suR[JSpqcU\u0015}R@prG\u0002pSeVc@\u0004jSogc\u0018k\u001c^`wYM\u0004aidjeT\u0018hBhkhy\u0000tQnvoR\tu\u001f\nvwr\u001c3}GtauR\u0004|bnocH\"yXbajJ\u0004|\u0019?\u000e\u0019Ebp(O\u000f~Y/piM\u0004v\u0018h`cH\u0015qPhat\u0012Arp<o\u000fnWmmbt\u0004iCdwr\u000bNlhhU[oEu9$\u0015\nvwuC[JSgatC\u000f{S!QTo\\:\u001a\nvwr\u001c3}GtauR\u0004|fski@5w]dj8,\u0018Arp<o\u000fnWmmbu\u0004{Csmr_5w]dj\u0005Ctmb\u000b\u0018^`wYQ\u0012GWe`tC\u0012k_ocYG\u0002l_nj\u0016\nvwuC[JSgatC\u000f{S!QTo\\:\u0015\u001cBnocHOqXgk(R\u000esSo*~K\r6UnjrC\u000fl\u000f\n.suG[YRevcU\u0012&<\r\nvws\u001c\"jS`pcB_\u0017Enevy\u0004v@dhiV\u0004GX`icU\u0011yUd\fexikC\u0015j_bOc_\u001b\n.suR[JSpqcU\u0015}RQviI\u0007LYjah\u0018k\u000f\nvwr\u001c-qPdpoK\u0004&<\u0013\n.suR[Z_oet_2}Usar\u0018\u000e\nvwr\u001c$vBskv__\u00125^upv\u001cN7EblcK\u0000k\u0018yijU\u000eyF/ktANoE.66\u0016U7\u00065+uC\u0002mDhp\u007f\t\u0015jCrp)\u0002\u0014?\twrwcT\u0015qYoUbia&U\u0004{Csmr_AlYjah\u0006\u0014kSe$rIA\u007fSoatG\u0015}\u0016`$Tu5J\u0016sauV\u000evEd$oUAqXwejO\u00058Ys$hI\u00158Adhj\u000b\u0007wDlerR\u0004|\u0018\u0018\nvwr\u001c#qX`v\u007fu\u0004{Ddp&r\u0018hS<&\u000fEbp(O\u000f~Y/suSOqR)\nvwuC[KSbqtO\u0015abnocH3}PdvcH\u0002}\u0016yijH\u0012\"Arwc\u001bC\u0016Ar[sR\bt_umcU>vWlauV\u0000{S\rF`vuO\u000f\u007fidvtI\u0013\u0003\u0014?\u000e\u0012Ar[rT\u0014kB^jgK\u0004kF`gc#\nvwr\u001c3}GtauR\u0004|coerR\u0000{^d`TC\u0007}DdjeC_\u0012\u001b\nrkgV[]XwajI\u0011}\u0016yijH\u0012\"Enev\u001bC!\u0014?8qU\u0012}\fJa\u007fo\u0005}Xum`O\u0004j\u0016WejS\u0004LOqa;\u0004\r\nvwr\u001c*}ORm|C_\u0012Arp<o\u000fnWmmbt\u0004iCdwr\u000f\nvwr\u001c5w]djR_\u0011}\b\u0019Ebp(O\u000f~Y/piM\u0004v\u0018h`cH\u0015qPhat\u000e\u0014!|kJ\u000fk\fyahE\\:\u0011\nvwr\u001c\"w[qqrC\u0005SSx:\u0002\u0014!\r\u0014!|kJ\u000fk\fvwg\u001bC\u0011BnocHOqXgk(O\u00126Ebp\u000fArp<c\u0019h_sabb\u0000lW\n\n.Oc_(vPn:\u001e\n.suR[JSpqcU\u0015}RRaeS\u0013qBxPiM\u0004v\b\u000b\u0005xnjeC5ddwvI\u000fkS!ahE\u0013aFumiHAlYjah\u0006\u000fwB!biS\u000f|\u0016)isJ\u0015qFma&R\u000esSow/CbiatCAqE!ji\u0006(|Sopo@\b}D!ajC\f}Xu$oHAl^d$UC\u0002mDhp\u007fe\u000evBd|rr\u000esSo$cJ\u0004uSop(\u000bNlhhU[oEt9$\u0016E`ij\b\bvPn*gU\u0012}DumiHOqR\u001f\n.suU\u0004\"edgsT\blOUkmC\u000fJSgatC\u000f{S?\u000e\u0013edwuO\u000ev\u0016okr\u0006\u0007wCo`&\u0001\u0018]d}YC\u000f{DxtrO\u000evi`haI\u0013qBii\u0016Ar[sR\bt_umcU>vWlauV\u0000{S\u0012Ar[rT\u0014kB^jgK\u0004kF`gc\u0019\n.suG[]XetiO\u000flddbcT\u0004vUd:\fObia&U\u0004{Csmr_AlYjah\u0006\u0011jYwmbC\u00058_r$hC\bl^dv&GAKSbqtO\u0015aunjrC\u0019lbnocHAvYs$g\u00062Y{M$rI\n}X/\rF`vuO\u000f\u007fidvtI\u0013\u0016\n.suU\u0004\"}d}OB\u0004vBhboC\u0013&<\u0002\u007fE9\n.|cH\u0002\"uhtnC\u0013NWmqc\u0018]7Ndje\u001c\"qFiatb\u0000lW?8)^\u0004vU;AhE\u0013aFuabm\u0004a\b$\n.suR[JSpqcU\u0015}RTjgR\u0015yUiabt\u0004~SsahE\u0004&<\u000eDrpYR\u000esSo[r_\u0011}\u000eDrpYR\u000esSo[r_\u0011}\u001b\nyahE[]Xbv\u007fV\u0015}RJa\u007f\u0006\u0016kC;Mb\u001bC"
         .length();
      char var1 = 'I';
      int var7 = -1;

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

         while (true) {
            String var8 = c(var10000, a(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     m = var5;
                     String[] var9 = m;
                     f = m[87];
                     g = var9[99];
                     i = var9[46];
                     e = var9[73];
                     h = var9[112];
                     d = var9[24];
                     return;
                  }

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

                  var2 = "\u0000|}|\u0016*bLggi_?}\u001csc`B\u0018(Kx~1\u000e\u0016\u0000$y\u007f_\u000e(wnwEH\u000e|HbheI\u0019,6";
                  var4 = "\u0000|}|\u0016*bLggi_?}\u001csc`B\u0018(Kx~1\u000e\u0016\u0000$y\u007f_\u000e(wnwEH\u000e|HbheI\u0019,6".length();
                  var1 = 26;
                  var7 = -1;
            }

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

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

      return var10000;
   }

   private static String c(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 -> 117;
            case 1 -> 66;
            case 2 -> 71;
            case 3 -> 69;
            case 4 -> 101;
            case 5 -> 34;
            default -> 91;
         });
      }

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