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

import com.l7tech.gateway.common.audit.AssertionMessages;
import com.l7tech.message.Message;
import com.l7tech.policy.assertion.AssertionStatus;
import com.l7tech.policy.assertion.PolicyAssertionException;
import com.l7tech.policy.assertion.xmlsec.RequireWssTimestamp;
import com.l7tech.policy.assertion.xmlsec.SecurityHeaderAddressableSupport;
import com.l7tech.security.token.ParsedElement;
import com.l7tech.security.xml.SecurityTokenResolver;
import com.l7tech.security.xml.processor.ProcessorResult;
import com.l7tech.server.message.AuthenticationContext;
import com.l7tech.server.message.PolicyEnforcementContext;
import com.l7tech.server.policy.assertion.AbstractMessageTargetableServerAssertion;
import com.l7tech.server.util.WSSecurityProcessorUtils;
import com.l7tech.util.Config;
import com.l7tech.util.ConfigFactory;
import com.l7tech.util.Pair;
import java.io.IOException;
import java.util.Collection;
import org.springframework.beans.factory.BeanFactory;

public class ServerRequireWssTimestamp extends AbstractMessageTargetableServerAssertion<RequireWssTimestamp> {
   private static final boolean d;
   private static final long e = 60000L;
   private static final int f = 151013;
   private final SecurityTokenResolver g;
   private final Config h;
   private static final String[] i;

   public ServerRequireWssTimestamp(RequireWssTimestamp var1, BeanFactory var2) {
      super(var1);
      String[] var3 = i;
      this.g = (SecurityTokenResolver)var2.getBean(var3[1], SecurityTokenResolver.class);
      this.h = (Config)var2.getBean(var3[0], Config.class);
   }

   @Override
   public AssertionStatus checkRequest(PolicyEnforcementContext var1) throws IOException, PolicyAssertionException {
      try {
         if (!SecurityHeaderAddressableSupport.isLocalRecipient(this.assertion)) {
            this.logAndAudit(AssertionMessages.REQUESTWSS_NOT_FOR_US);
            return AssertionStatus.NONE;
         }
      } catch (IOException var2) {
         throw a(var2);
      }

      return super.checkRequest(var1);
   }

   @Override
   protected AssertionStatus doCheckRequest(PolicyEnforcementContext param1, Message param2, String param3, AuthenticationContext param4) throws IOException, PolicyAssertionException {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 000: aload 2
      // 001: invokevirtual com/l7tech/message/Message.isSoap ()Z
      // 004: ifne 01e
      // 007: aload 0
      // 008: getstatic com/l7tech/gateway/common/audit/AssertionMessages.REQUIRE_WSS_TIMESTAMP_NOTAPPLICABLE Lcom/l7tech/gateway/common/audit/Messages$M;
      // 00b: bipush 1
      // 00c: anewarray 183
      // 00f: dup
      // 010: bipush 0
      // 011: aload 3
      // 012: aastore
      // 013: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 016: getstatic com/l7tech/policy/assertion/AssertionStatus.NOT_APPLICABLE Lcom/l7tech/policy/assertion/AssertionStatus;
      // 019: areturn
      // 01a: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 01d: athrow
      // 01e: goto 03b
      // 021: astore 5
      // 023: aload 0
      // 024: getstatic com/l7tech/gateway/common/audit/AssertionMessages.EXCEPTION_WARNING_WITH_MORE_INFO Lcom/l7tech/gateway/common/audit/Messages$M;
      // 027: bipush 1
      // 028: anewarray 183
      // 02b: dup
      // 02c: bipush 0
      // 02d: aload 5
      // 02f: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 032: aastore
      // 033: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 036: aload 0
      // 037: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.getBadMessageStatus ()Lcom/l7tech/policy/assertion/AssertionStatus;
      // 03a: areturn
      // 03b: aload 0
      // 03c: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.isRequest ()Z
      // 03f: ifeq 069
      // 042: aload 0
      // 043: getfield com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.h Lcom/l7tech/util/Config;
      // 046: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.i [Ljava/lang/String;
      // 049: bipush 2
      // 04a: aaload
      // 04b: bipush 1
      // 04c: invokeinterface com/l7tech/util/Config.getBooleanProperty (Ljava/lang/String;Z)Z 3
      // 051: ifne 069
      // 054: goto 05b
      // 057: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 05a: athrow
      // 05b: aload 2
      // 05c: invokevirtual com/l7tech/message/Message.getSecurityKnob ()Lcom/l7tech/message/SecurityKnob;
      // 05f: invokeinterface com/l7tech/message/SecurityKnob.getProcessorResult ()Lcom/l7tech/security/xml/processor/ProcessorResult; 1
      // 064: astore 5
      // 066: goto 078
      // 069: aload 2
      // 06a: aload 3
      // 06b: aload 0
      // 06c: getfield com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.g Lcom/l7tech/security/xml/SecurityTokenResolver;
      // 06f: aload 0
      // 070: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.getAudit ()Lcom/l7tech/gateway/common/audit/Audit;
      // 073: invokestatic com/l7tech/server/util/WSSecurityProcessorUtils.getWssResults (Lcom/l7tech/message/Message;Ljava/lang/String;Lcom/l7tech/security/xml/SecurityTokenResolver;Lcom/l7tech/gateway/common/audit/Audit;)Lcom/l7tech/security/xml/processor/ProcessorResult;
      // 076: astore 5
      // 078: aload 5
      // 07a: ifnonnull 085
      // 07d: getstatic com/l7tech/policy/assertion/AssertionStatus.NOT_APPLICABLE Lcom/l7tech/policy/assertion/AssertionStatus;
      // 080: areturn
      // 081: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 084: athrow
      // 085: aload 5
      // 087: invokeinterface com/l7tech/security/xml/processor/ProcessorResult.getTimestamp ()Lcom/l7tech/security/xml/processor/WssTimestamp; 1
      // 08c: astore 6
      // 08e: aload 6
      // 090: ifnonnull 0ab
      // 093: aload 0
      // 094: getstatic com/l7tech/gateway/common/audit/AssertionMessages.REQUIRE_WSS_TIMESTAMP_NOTIMESTAMP Lcom/l7tech/gateway/common/audit/Messages$M;
      // 097: bipush 1
      // 098: anewarray 183
      // 09b: dup
      // 09c: bipush 0
      // 09d: aload 3
      // 09e: aastore
      // 09f: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 0a2: aload 0
      // 0a3: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.getBadMessageStatus ()Lcom/l7tech/policy/assertion/AssertionStatus;
      // 0a6: areturn
      // 0a7: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0aa: athrow
      // 0ab: aload 0
      // 0ac: getfield com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 0af: checkcast com/l7tech/policy/assertion/xmlsec/RequireWssTimestamp
      // 0b2: invokevirtual com/l7tech/policy/assertion/xmlsec/RequireWssTimestamp.isSignatureRequired ()Z
      // 0b5: ifeq 1f4
      // 0b8: aload 6
      // 0ba: invokeinterface com/l7tech/security/xml/processor/WssTimestamp.asElement ()Lorg/w3c/dom/Element; 1
      // 0bf: aload 5
      // 0c1: invokeinterface com/l7tech/security/xml/processor/ProcessorResult.getElementsThatWereSigned ()[Lcom/l7tech/security/token/SignedElement; 1
      // 0c6: invokestatic com/l7tech/security/xml/processor/ProcessorResultUtil.getParsedElementsForNode (Lorg/w3c/dom/Node;[Lcom/l7tech/security/token/ParsedElement;)Ljava/util/Collection;
      // 0c9: astore 7
      // 0cb: aload 2
      // 0cc: getstatic com/l7tech/message/MessageRole.REQUEST Lcom/l7tech/message/MessageRole;
      // 0cf: invokevirtual com/l7tech/message/Message.getRelated (Lcom/l7tech/message/MessageRole;)Lcom/l7tech/message/Message;
      // 0d2: astore 8
      // 0d4: new com/l7tech/policy/assertion/IdentityTarget
      // 0d7: dup
      // 0d8: invokespecial com/l7tech/policy/assertion/IdentityTarget.<init> ()V
      // 0db: new com/l7tech/policy/assertion/IdentityTarget
      // 0de: dup
      // 0df: aload 0
      // 0e0: getfield com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 0e3: checkcast com/l7tech/policy/assertion/xmlsec/RequireWssTimestamp
      // 0e6: invokevirtual com/l7tech/policy/assertion/xmlsec/RequireWssTimestamp.getIdentityTarget ()Lcom/l7tech/policy/assertion/IdentityTarget;
      // 0e9: invokespecial com/l7tech/policy/assertion/IdentityTarget.<init> (Lcom/l7tech/policy/assertion/IdentityTarget;)V
      // 0ec: invokevirtual com/l7tech/policy/assertion/IdentityTarget.equals (Ljava/lang/Object;)Z
      // 0ef: ifeq 17f
      // 0f2: aload 7
      // 0f4: invokeinterface java/util/Collection.isEmpty ()Z 1
      // 0f9: ifne 167
      // 0fc: goto 103
      // 0ff: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 102: athrow
      // 103: aload 0
      // 104: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.isResponse ()Z
      // 107: ifeq 124
      // 10a: goto 111
      // 10d: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 110: athrow
      // 111: aload 0
      // 112: aload 2
      // 113: aload 5
      // 115: aload 7
      // 117: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.a (Lcom/l7tech/message/Message;Lcom/l7tech/security/xml/processor/ProcessorResult;Ljava/util/Collection;)Z
      // 11a: ifeq 167
      // 11d: goto 124
      // 120: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 123: athrow
      // 124: aload 4
      // 126: aload 5
      // 128: aload 7
      // 12a: aload 7
      // 12c: invokeinterface java/util/Collection.size ()I 1
      // 131: anewarray 34
      // 134: invokeinterface java/util/Collection.toArray ([Ljava/lang/Object;)[Ljava/lang/Object; 2
      // 139: checkcast [Lcom/l7tech/security/token/ParsedElement;
      // 13c: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.d Z
      // 13f: aload 8
      // 141: aload 8
      // 143: ifnonnull 155
      // 146: goto 14d
      // 149: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 14c: athrow
      // 14d: aconst_null
      // 14e: goto 15d
      // 151: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 154: athrow
      // 155: aload 1
      // 156: aload 8
      // 158: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getAuthenticationContext (Lcom/l7tech/message/Message;)Lcom/l7tech/server/message/AuthenticationContext; 2
      // 15d: aload 0
      // 15e: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.getAudit ()Lcom/l7tech/gateway/common/audit/Audit;
      // 161: invokestatic com/l7tech/server/util/WSSecurityProcessorUtils.isValidSingleSigner (Lcom/l7tech/server/message/AuthenticationContext;Lcom/l7tech/security/xml/processor/ProcessorResult;[Lcom/l7tech/security/token/ParsedElement;ZLcom/l7tech/message/Message;Lcom/l7tech/server/message/AuthenticationContext;Lcom/l7tech/gateway/common/audit/Audit;)Z
      // 164: ifne 1f1
      // 167: aload 0
      // 168: getstatic com/l7tech/gateway/common/audit/AssertionMessages.REQUIRE_WSS_TIMESTAMP_NOT_SIGNED Lcom/l7tech/gateway/common/audit/Messages$M;
      // 16b: bipush 1
      // 16c: anewarray 183
      // 16f: dup
      // 170: bipush 0
      // 171: aload 3
      // 172: aastore
      // 173: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 176: aload 0
      // 177: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.getBadMessageStatus ()Lcom/l7tech/policy/assertion/AssertionStatus;
      // 17a: areturn
      // 17b: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 17e: athrow
      // 17f: aload 7
      // 181: invokeinterface java/util/Collection.isEmpty ()Z 1
      // 186: ifne 1d9
      // 189: aload 0
      // 18a: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.isResponse ()Z
      // 18d: ifeq 1aa
      // 190: goto 197
      // 193: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 196: athrow
      // 197: aload 0
      // 198: aload 2
      // 199: aload 5
      // 19b: aload 7
      // 19d: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.a (Lcom/l7tech/message/Message;Lcom/l7tech/security/xml/processor/ProcessorResult;Ljava/util/Collection;)Z
      // 1a0: ifeq 1d9
      // 1a3: goto 1aa
      // 1a6: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1a9: athrow
      // 1aa: aload 4
      // 1ac: aload 0
      // 1ad: getfield com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 1b0: checkcast com/l7tech/policy/assertion/xmlsec/RequireWssTimestamp
      // 1b3: invokevirtual com/l7tech/policy/assertion/xmlsec/RequireWssTimestamp.getIdentityTarget ()Lcom/l7tech/policy/assertion/IdentityTarget;
      // 1b6: aload 5
      // 1b8: aload 7
      // 1ba: aload 7
      // 1bc: invokeinterface java/util/Collection.size ()I 1
      // 1c1: anewarray 34
      // 1c4: invokeinterface java/util/Collection.toArray ([Ljava/lang/Object;)[Ljava/lang/Object; 2
      // 1c9: checkcast [Lcom/l7tech/security/token/ParsedElement;
      // 1cc: invokestatic com/l7tech/server/util/WSSecurityProcessorUtils.isValidSigningIdentity (Lcom/l7tech/server/message/AuthenticationContext;Lcom/l7tech/policy/assertion/IdentityTarget;Lcom/l7tech/security/xml/processor/ProcessorResult;[Lcom/l7tech/security/token/ParsedElement;)Z
      // 1cf: ifne 1f1
      // 1d2: goto 1d9
      // 1d5: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1d8: athrow
      // 1d9: aload 0
      // 1da: getstatic com/l7tech/gateway/common/audit/AssertionMessages.REQUIRE_WSS_TIMESTAMP_NOT_SIGNED Lcom/l7tech/gateway/common/audit/Messages$M;
      // 1dd: bipush 1
      // 1de: anewarray 183
      // 1e1: dup
      // 1e2: bipush 0
      // 1e3: aload 3
      // 1e4: aastore
      // 1e5: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 1e8: aload 0
      // 1e9: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.getBadMessageStatus ()Lcom/l7tech/policy/assertion/AssertionStatus;
      // 1ec: areturn
      // 1ed: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1f0: athrow
      // 1f1: goto 215
      // 1f4: aload 0
      // 1f5: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.isResponse ()Z
      // 1f8: ifeq 215
      // 1fb: aload 0
      // 1fc: aload 2
      // 1fd: aload 5
      // 1ff: aconst_null
      // 200: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.a (Lcom/l7tech/message/Message;Lcom/l7tech/security/xml/processor/ProcessorResult;Ljava/util/Collection;)Z
      // 203: ifne 215
      // 206: goto 20d
      // 209: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 20c: athrow
      // 20d: getstatic com/l7tech/policy/assertion/AssertionStatus.FALSIFIED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 210: areturn
      // 211: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 214: athrow
      // 215: invokestatic java/lang/System.currentTimeMillis ()J
      // 218: lstore 7
      // 21a: aload 6
      // 21c: invokeinterface com/l7tech/security/xml/processor/WssTimestamp.getCreated ()Lcom/l7tech/security/xml/processor/WssTimestampDate; 1
      // 221: astore 9
      // 223: aload 9
      // 225: ifnonnull 240
      // 228: aload 0
      // 229: getstatic com/l7tech/gateway/common/audit/AssertionMessages.REQUIRE_WSS_TIMESTAMP_NO_CREATED Lcom/l7tech/gateway/common/audit/Messages$M;
      // 22c: bipush 1
      // 22d: anewarray 183
      // 230: dup
      // 231: bipush 0
      // 232: aload 3
      // 233: aastore
      // 234: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 237: aload 0
      // 238: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.getBadMessageStatus ()Lcom/l7tech/policy/assertion/AssertionStatus;
      // 23b: areturn
      // 23c: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 23f: athrow
      // 240: aload 0
      // 241: getfield com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.h Lcom/l7tech/util/Config;
      // 244: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.i [Ljava/lang/String;
      // 247: astore 24
      // 249: aload 24
      // 24b: bipush 5
      // 24c: aaload
      // 24d: ldc2_w 60000
      // 250: invokeinterface com/l7tech/util/Config.getLongProperty (Ljava/lang/String;J)J 4
      // 255: lstore 10
      // 257: aload 9
      // 259: invokeinterface com/l7tech/security/xml/processor/WssTimestampDate.asTime ()J 1
      // 25e: lstore 12
      // 260: lload 12
      // 262: lload 10
      // 264: lsub
      // 265: lload 7
      // 267: lcmp
      // 268: ifle 283
      // 26b: aload 0
      // 26c: getstatic com/l7tech/gateway/common/audit/AssertionMessages.REQUIRE_WSS_TIMESTAMP_CREATED_FUTURE Lcom/l7tech/gateway/common/audit/Messages$M;
      // 26f: bipush 1
      // 270: anewarray 183
      // 273: dup
      // 274: bipush 0
      // 275: aload 3
      // 276: aastore
      // 277: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 27a: aload 0
      // 27b: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.getBadMessageStatus ()Lcom/l7tech/policy/assertion/AssertionStatus;
      // 27e: areturn
      // 27f: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 282: athrow
      // 283: aload 6
      // 285: invokeinterface com/l7tech/security/xml/processor/WssTimestamp.getExpires ()Lcom/l7tech/security/xml/processor/WssTimestampDate; 1
      // 28a: astore 14
      // 28c: aload 14
      // 28e: ifnull 29d
      // 291: aload 14
      // 293: invokeinterface com/l7tech/security/xml/processor/WssTimestampDate.asTime ()J 1
      // 298: lstore 15
      // 29a: goto 2ac
      // 29d: lload 12
      // 29f: aload 0
      // 2a0: getfield com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 2a3: checkcast com/l7tech/policy/assertion/xmlsec/RequireWssTimestamp
      // 2a6: invokevirtual com/l7tech/policy/assertion/xmlsec/RequireWssTimestamp.getMaxExpiryMilliseconds ()J
      // 2a9: ladd
      // 2aa: lstore 15
      // 2ac: lload 15
      // 2ae: lload 12
      // 2b0: lsub
      // 2b1: lstore 17
      // 2b3: bipush 0
      // 2b4: istore 19
      // 2b6: lload 15
      // 2b8: lstore 20
      // 2ba: lload 17
      // 2bc: aload 0
      // 2bd: getfield com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 2c0: checkcast com/l7tech/policy/assertion/xmlsec/RequireWssTimestamp
      // 2c3: invokevirtual com/l7tech/policy/assertion/xmlsec/RequireWssTimestamp.getMaxExpiryMilliseconds ()J
      // 2c6: lcmp
      // 2c7: ifle 2eb
      // 2ca: aload 0
      // 2cb: getstatic com/l7tech/gateway/common/audit/AssertionMessages.REQUIRE_WSS_TIMESTAMP_EXPIRES_TOOLATE Lcom/l7tech/gateway/common/audit/Messages$M;
      // 2ce: bipush 1
      // 2cf: anewarray 183
      // 2d2: dup
      // 2d3: bipush 0
      // 2d4: aload 3
      // 2d5: aastore
      // 2d6: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 2d9: bipush 1
      // 2da: istore 19
      // 2dc: lload 12
      // 2de: aload 0
      // 2df: getfield com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 2e2: checkcast com/l7tech/policy/assertion/xmlsec/RequireWssTimestamp
      // 2e5: invokevirtual com/l7tech/policy/assertion/xmlsec/RequireWssTimestamp.getMaxExpiryMilliseconds ()J
      // 2e8: ladd
      // 2e9: lstore 15
      // 2eb: aload 0
      // 2ec: getfield com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.h Lcom/l7tech/util/Config;
      // 2ef: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.i [Ljava/lang/String;
      // 2f2: bipush 3
      // 2f3: aaload
      // 2f4: ldc2_w 60000
      // 2f7: invokeinterface com/l7tech/util/Config.getLongProperty (Ljava/lang/String;J)J 4
      // 2fc: lstore 22
      // 2fe: lload 15
      // 300: lload 22
      // 302: ladd
      // 303: lload 7
      // 305: lcmp
      // 306: ifge 353
      // 309: iload 19
      // 30b: ifeq 33f
      // 30e: goto 315
      // 311: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 314: athrow
      // 315: lload 20
      // 317: lload 22
      // 319: ladd
      // 31a: lload 7
      // 31c: lcmp
      // 31d: iflt 33f
      // 320: goto 327
      // 323: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 326: athrow
      // 327: aload 0
      // 328: getstatic com/l7tech/gateway/common/audit/AssertionMessages.REQUIRE_WSS_TIMESTAMP_EXPIRED_TRUNC Lcom/l7tech/gateway/common/audit/Messages$M;
      // 32b: bipush 1
      // 32c: anewarray 183
      // 32f: dup
      // 330: bipush 0
      // 331: aload 3
      // 332: aastore
      // 333: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 336: aload 0
      // 337: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.getBadMessageStatus ()Lcom/l7tech/policy/assertion/AssertionStatus;
      // 33a: areturn
      // 33b: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 33e: athrow
      // 33f: aload 0
      // 340: getstatic com/l7tech/gateway/common/audit/AssertionMessages.REQUIRE_WSS_TIMESTAMP_EXPIRED Lcom/l7tech/gateway/common/audit/Messages$M;
      // 343: bipush 1
      // 344: anewarray 183
      // 347: dup
      // 348: bipush 0
      // 349: aload 3
      // 34a: aastore
      // 34b: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 34e: aload 0
      // 34f: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequireWssTimestamp.getBadMessageStatus ()Lcom/l7tech/policy/assertion/AssertionStatus;
      // 352: areturn
      // 353: getstatic com/l7tech/policy/assertion/AssertionStatus.NONE Lcom/l7tech/policy/assertion/AssertionStatus;
      // 356: areturn
      // try (0 -> 13): 17 org/xml/sax/SAXException
      // try (0 -> 14): 14 java/io/IOException
      // try (31 -> 42): 43 org/xml/sax/SAXException
      // try (58 -> 62): 62 org/xml/sax/SAXException
      // try (67 -> 81): 81 org/xml/sax/SAXException
      // try (98 -> 113): 114 org/xml/sax/SAXException
      // try (110 -> 119): 120 org/xml/sax/SAXException
      // try (116 -> 128): 129 org/xml/sax/SAXException
      // try (122 -> 143): 144 org/xml/sax/SAXException
      // try (131 -> 148): 148 org/xml/sax/SAXException
      // try (153 -> 169): 169 org/xml/sax/SAXException
      // try (171 -> 177): 178 org/xml/sax/SAXException
      // try (174 -> 186): 187 org/xml/sax/SAXException
      // try (180 -> 203): 204 org/xml/sax/SAXException
      // try (189 -> 218): 218 org/xml/sax/SAXException
      // try (221 -> 230): 231 org/xml/sax/SAXException
      // try (224 -> 235): 235 org/xml/sax/SAXException
      // try (242 -> 256): 256 org/xml/sax/SAXException
      // try (271 -> 289): 289 org/xml/sax/SAXException
      // try (348 -> 356): 357 org/xml/sax/SAXException
      // try (354 -> 365): 366 org/xml/sax/SAXException
      // try (359 -> 380): 380 org/xml/sax/SAXException
   }

   private boolean a(Message var1, ProcessorResult var2, Collection<ParsedElement> var3) {
      Pair var4 = WSSecurityProcessorUtils.processSignatureConfirmations(var1.getSecurityKnob(), var2, this.getAudit());
      if (var3 != null && var4.getValue() != null) {
         var3.addAll((Collection)var4.getValue());
      }

      return (Boolean)var4.getKey();
   }

   static {
      String[] var5 = new String[6];
      int var3 = 0;
      String var2 = "g\u0017\u0002eh.]{\u001c\u0016zj\u0015g\u0017\u0013f\u007f5jm&\u001fxh2Lq\u0001\u001f\u007f{9l-c\u0001\u0003=}.qw\u0017\u0003`b.0q\u001c\u0011qa9Zq\u0014\u0015a\u007f9zF\u0017\u0001fh/jD\u0000\u001fph/m}\u001c\u0017\u0019`\u001b\u001dv~(\u007fy\u00025k}5lq\u0001 r~(Yf\u0013\u0013v";
      int var4 = "g\u0017\u0002eh.]{\u001c\u0016zj\u0015g\u0017\u0013f\u007f5jm&\u001fxh2Lq\u0001\u001f\u007f{9l-c\u0001\u0003=}.qw\u0017\u0003`b.0q\u001c\u0011qa9Zq\u0014\u0015a\u007f9zF\u0017\u0001fh/jD\u0000\u001fph/m}\u001c\u0017\u0019`\u001b\u001dv~(\u007fy\u00025k}5lq\u0001 r~(Yf\u0013\u0013v"
         .length();
      char var1 = '\f';
      int var7 = -1;

      label24:
      while (true) {
         byte var10000 = 115;
         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) {
                     i = var5;
                     d = ConfigFactory.getBooleanProperty(i[4], true);
                     return;
                  }

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

                  var2 = "J  \u0000\\VWL,%\u0000C\u0004Q_*?\u0000@\u000eO@,4\u0000B\u0004R\\&?Kc\bDG&#Id\u000eHL!\u000e\\U\u0005FG;$O\\\u001b]& KC\u0015BD?\u000e\\U\u0000WL+\u000b[D\u0014QL\b?OS\u0004";
                  var4 = "J  \u0000\\VWL,%\u0000C\u0004Q_*?\u0000@\u000eO@,4\u0000B\u0004R\\&?Kc\bDG&#Id\u000eHL!\u000e\\U\u0005FG;$O\\\u001b]& KC\u0015BD?\u000e\\U\u0000WL+\u000b[D\u0014QL\b?OS\u0004"
                     .length();
                  var1 = '6';
                  var7 = -1;
            }

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

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

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

      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 -> 103;
            case 1 -> 1;
            case 2 -> 3;
            case 3 -> 96;
            case 4 -> 126;
            case 5 -> 47;
            default -> 109;
         });
      }

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