package com.l7tech.policy;

import com.l7tech.policy.assertion.AssertionResourceType;
import com.l7tech.util.XmlSafe;

@XmlSafe
public class StaticResourceInfo extends AssertionResourceInfo {
   private String originalUrl;
   private String document;
   static final long serialVersionUID = -995299933040207175L;
   private static final String a;

   @XmlSafe
   public StaticResourceInfo(String var1) {
      this.document = var1;
   }

   @XmlSafe
   public StaticResourceInfo() {
   }

   @XmlSafe
   @Override
   public AssertionResourceType getType() {
      return AssertionResourceType.STATIC;
   }

   @XmlSafe
   @Override
   public String[] getUrlRegexes() {
      return new String[]{a};
   }

   @XmlSafe
   public String getOriginalUrl() {
      return this.originalUrl;
   }

   @XmlSafe
   public void setOriginalUrl(String var1) {
      this.originalUrl = var1;
   }

   @XmlSafe
   public String getDocument() {
      return this.document;
   }

   @XmlSafe
   public void setDocument(String var1) {
      this.document = var1;
   }

   @Override
   public boolean equals(Object var1) {
      if (this == var1) {
         return true;
      }

      if (var1 != null && this.getClass() == var1.getClass()) {
         StaticResourceInfo var2 = (StaticResourceInfo)var1;
         if (this.document != null ? this.document.equals(var2.document) : var2.document == null) {
            return this.originalUrl != null ? this.originalUrl.equals(var2.originalUrl) : var2.originalUrl == null;
         } else {
            return false;
         }
      } else {
         return false;
      }
   }

   @Override
   public int hashCode() {
      int var1 = this.originalUrl != null ? this.originalUrl.hashCode() : 0;
      return 31 * var1 + (this.document != null ? this.document.hashCode() : 0);
   }

   static {
      String var10002 = a(72, a("\u0015 "));
      byte var10001 = -1;
      a = var10002;
   }

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

      return var10000;
   }

   private static String a(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 -> 115;
            case 1 -> 66;
            case 2 -> 114;
            case 3 -> 88;
            case 4 -> 54;
            case 5 -> 73;
            default -> 25;
         });
      }

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