package com.l7tech.xml;

import com.l7tech.util.DomUtils;
import java.util.HashMap;
import java.util.Map;
import java.util.Stack;
import javax.xml.namespace.NamespaceContext;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
import javax.xml.transform.dom.DOMResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;

public class DOMResultXMLStreamWriter implements XMLStreamWriter {
   private final Document a;
   private final Node b;
   private final Stack c;
   private final Stack d;
   private Node e;
   private boolean f;
   private static final String[] g;

   public DOMResultXMLStreamWriter(DOMResult var1) {
      if (var1 == null) {
         String[] var2 = g;
         throw new IllegalArgumentException(var2[15]);
      }

      try {
         if (var1.getNode() == null) {
            throw new IllegalArgumentException(g[8]);
         }
      } catch (IllegalArgumentException var3) {
         throw a(var3);
      }

      DOMResultXMLStreamWriter var10000;
      label24: {
         try {
            this.b = var1.getNode();
            var10000 = this;
            if (this.b instanceof Document var10001) {
               break label24;
            }
         } catch (IllegalArgumentException var4) {
            throw a(var4);
         }

         var10001 = this.b.getOwnerDocument();
      }

      var10000.a = var10001;
      this.e = this.b;
      this.f = false;
      this.c = new Stack();
      this.c.push(new HashMap());
      this.d = new Stack();
      this.d.push(new HashMap());
   }

   @Override
   public void close() throws XMLStreamException {
      this.a();
      this.f = true;
   }

   @Override
   public void flush() throws XMLStreamException {
      this.a();
   }

   @Override
   public NamespaceContext getNamespaceContext() {
      Node var1 = this.e;
      return new a(this, var1);
   }

   @Override
   public String getPrefix(String var1) throws XMLStreamException {
      String var2 = (String)((Map)this.d.peek()).get(var1);
      if (var2 == null) {
         var2 = this.getNamespaceContext().getPrefix(var1);
      }

      return var2;
   }

   @Override
   public Object getProperty(String var1) throws IllegalArgumentException {
      return null;
   }

   @Override
   public void setDefaultNamespace(String var1) throws XMLStreamException {
      this.setPrefix("", var1);
   }

   @Override
   public void setNamespaceContext(NamespaceContext var1) throws XMLStreamException {
      throw new XMLStreamException(g[14]);
   }

   @Override
   public void setPrefix(String var1, String var2) throws XMLStreamException {
      this.a();
      ((Map)this.c.peek()).put(var1, var2);
      ((Map)this.d.peek()).put(var2, var1);
   }

   @Override
   public void writeAttribute(String var1, String var2) throws XMLStreamException {
      try {
         this.a();
         if (this.e == this.b) {
            throw new XMLStreamException(g[9]);
         }
      } catch (XMLStreamException var4) {
         throw a(var4);
      }

      try {
         if (var1.indexOf(58) >= 0) {
            throw new XMLStreamException(g[21] + var1 + g[24]);
         }
      } catch (XMLStreamException var5) {
         throw a(var5);
      }

      Element var3 = (Element)this.e;
      var3.setAttribute(var1, var2);
   }

   @Override
   public void writeAttribute(String var1, String var2, String var3) throws XMLStreamException {
      try {
         this.a();
         if (this.e == this.b) {
            throw new XMLStreamException(g[7]);
         }
      } catch (XMLStreamException var6) {
         throw a(var6);
      }

      try {
         if (var2.indexOf(58) >= 0) {
            throw new XMLStreamException(g[23] + var2 + g[12]);
         }
      } catch (XMLStreamException var8) {
         throw a(var8);
      }

      String var4 = this.getNamespaceContext().getPrefix(var1);

      label29: {
         try {
            if (var4 != null && var4.trim().length() != 0) {
               break label29;
            }
         } catch (XMLStreamException var7) {
            throw a(var7);
         }

         var4 = this.d();
      }

      this.writeNamespace(var4, var1);
      Element var5 = (Element)this.e;
      var5.setAttributeNS(var1, var4 + ":" + var2, var3);
   }

   @Override
   public void writeAttribute(String param1, String param2, String param3, String param4) throws XMLStreamException {
      // $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: invokevirtual com/l7tech/xml/DOMResultXMLStreamWriter.a ()V
      // 04: aload 0
      // 05: getfield com/l7tech/xml/DOMResultXMLStreamWriter.e Lorg/w3c/dom/Node;
      // 08: aload 0
      // 09: getfield com/l7tech/xml/DOMResultXMLStreamWriter.b Lorg/w3c/dom/Node;
      // 0c: if_acmpne 21
      // 0f: new javax/xml/stream/XMLStreamException
      // 12: dup
      // 13: getstatic com/l7tech/xml/DOMResultXMLStreamWriter.g [Ljava/lang/String;
      // 16: bipush 9
      // 18: aaload
      // 19: invokespecial javax/xml/stream/XMLStreamException.<init> (Ljava/lang/String;)V
      // 1c: athrow
      // 1d: invokestatic com/l7tech/xml/DOMResultXMLStreamWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 20: athrow
      // 21: aload 3
      // 22: bipush 58
      // 24: invokevirtual java/lang/String.indexOf (I)I
      // 27: iflt 49
      // 2a: new javax/xml/stream/XMLStreamException
      // 2d: dup
      // 2e: aload 3
      // 2f: getstatic com/l7tech/xml/DOMResultXMLStreamWriter.g [Ljava/lang/String;
      // 32: bipush 21
      // 34: aaload
      // 35: swap
      // 36: getstatic com/l7tech/xml/DOMResultXMLStreamWriter.g [Ljava/lang/String;
      // 39: bipush 24
      // 3b: aaload
      // 3c: 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" ]
      // 41: invokespecial javax/xml/stream/XMLStreamException.<init> (Ljava/lang/String;)V
      // 44: athrow
      // 45: invokestatic com/l7tech/xml/DOMResultXMLStreamWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 48: athrow
      // 49: aload 1
      // 4a: ifnull 5b
      // 4d: aload 1
      // 4e: invokevirtual java/lang/String.length ()I
      // 51: ifne 82
      // 54: goto 5b
      // 57: invokestatic com/l7tech/xml/DOMResultXMLStreamWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 5a: athrow
      // 5b: aload 2
      // 5c: ifnull 74
      // 5f: goto 66
      // 62: invokestatic com/l7tech/xml/DOMResultXMLStreamWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 65: athrow
      // 66: aload 2
      // 67: invokevirtual java/lang/String.length ()I
      // 6a: ifne 82
      // 6d: goto 74
      // 70: invokestatic com/l7tech/xml/DOMResultXMLStreamWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 73: athrow
      // 74: aload 0
      // 75: aload 3
      // 76: aload 4
      // 78: invokevirtual com/l7tech/xml/DOMResultXMLStreamWriter.writeAttribute (Ljava/lang/String;Ljava/lang/String;)V
      // 7b: goto e6
      // 7e: invokestatic com/l7tech/xml/DOMResultXMLStreamWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 81: athrow
      // 82: aload 0
      // 83: invokevirtual com/l7tech/xml/DOMResultXMLStreamWriter.getNamespaceContext ()Ljavax/xml/namespace/NamespaceContext;
      // 86: astore 5
      // 88: aload 5
      // 8a: aload 1
      // 8b: invokeinterface javax/xml/namespace/NamespaceContext.getNamespaceURI (Ljava/lang/String;)Ljava/lang/String; 2
      // 90: astore 6
      // 92: aload 6
      // 94: ifnull c6
      // 97: aload 6
      // 99: aload 2
      // 9a: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 9d: ifne c6
      // a0: goto a7
      // a3: invokestatic com/l7tech/xml/DOMResultXMLStreamWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // a6: athrow
      // a7: new javax/xml/stream/XMLStreamException
      // aa: dup
      // ab: aload 6
      // ad: getstatic com/l7tech/xml/DOMResultXMLStreamWriter.g [Ljava/lang/String;
      // b0: bipush 4
      // b1: aaload
      // b2: swap
      // b3: getstatic com/l7tech/xml/DOMResultXMLStreamWriter.g [Ljava/lang/String;
      // b6: bipush 24
      // b8: aaload
      // b9: 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" ]
      // be: invokespecial javax/xml/stream/XMLStreamException.<init> (Ljava/lang/String;)V
      // c1: athrow
      // c2: invokestatic com/l7tech/xml/DOMResultXMLStreamWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // c5: athrow
      // c6: aload 0
      // c7: aload 1
      // c8: aload 2
      // c9: invokevirtual com/l7tech/xml/DOMResultXMLStreamWriter.writeNamespace (Ljava/lang/String;Ljava/lang/String;)V
      // cc: aload 0
      // cd: getfield com/l7tech/xml/DOMResultXMLStreamWriter.e Lorg/w3c/dom/Node;
      // d0: checkcast org/w3c/dom/Element
      // d3: astore 7
      // d5: aload 7
      // d7: aload 2
      // d8: aload 1
      // d9: aload 3
      // da: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001:\u0001" ]
      // df: aload 4
      // e1: invokeinterface org/w3c/dom/Element.setAttributeNS (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V 4
      // e6: return
      // try (0 -> 14): 14 javax/xml/stream/XMLStreamException
      // try (16 -> 33): 33 javax/xml/stream/XMLStreamException
      // try (35 -> 40): 41 javax/xml/stream/XMLStreamException
      // try (37 -> 45): 46 javax/xml/stream/XMLStreamException
      // try (43 -> 51): 52 javax/xml/stream/XMLStreamException
      // try (48 -> 59): 59 javax/xml/stream/XMLStreamException
      // try (68 -> 74): 75 javax/xml/stream/XMLStreamException
      // try (70 -> 90): 90 javax/xml/stream/XMLStreamException
   }

   @Override
   public void writeCData(String var1) throws XMLStreamException {
      this.a();
      throw new XMLStreamException(g[6]);
   }

   @Override
   public void writeCharacters(char[] var1, int var2, int var3) throws XMLStreamException {
      this.a();
      throw new XMLStreamException(g[5]);
   }

   @Override
   public void writeCharacters(String var1) throws XMLStreamException {
      this.a();
      throw new XMLStreamException(g[17]);
   }

   @Override
   public void writeComment(String var1) throws XMLStreamException {
      this.a();
      throw new XMLStreamException(g[18]);
   }

   @Override
   public void writeDefaultNamespace(String var1) throws XMLStreamException {
      this.a();
      this.writeNamespace("", var1);
   }

   @Override
   public void writeDTD(String var1) throws XMLStreamException {
      this.a();
      throw new XMLStreamException(g[13]);
   }

   @Override
   public void writeEmptyElement(String var1) throws XMLStreamException {
      try {
         this.a();
         if (var1.indexOf(58) >= 0) {
            throw new XMLStreamException(g[21] + var1 + g[24]);
         }
      } catch (XMLStreamException var3) {
         throw a(var3);
      }

      Element var2 = this.a.createElement(var1);
      this.e.appendChild(var2);
   }

   @Override
   public void writeEmptyElement(String var1, String var2) throws XMLStreamException {
      try {
         this.a();
         if (var2.indexOf(58) >= 0) {
            throw new XMLStreamException(g[21] + var2 + g[24]);
         }
      } catch (XMLStreamException var8) {
         throw a(var8);
      }

      String var3 = this.getPrefix(var1);
      Element var4 = null;

      label50: {
         label51: {
            try {
               if (var3 != null && !"".equals(var3)) {
                  break label51;
               }
            } catch (XMLStreamException var7) {
               throw a(var7);
            }

            var4 = this.a.createElementNS(var1, var2);

            try {
               if (!var1.equals(this.getNamespaceContext().getNamespaceURI(""))) {
                  var4.setAttributeNS(DomUtils.XMLNS_NS, g[22], var1);
               }
               break label50;
            } catch (XMLStreamException var6) {
               throw a(var6);
            }
         }

         var4 = this.a.createElementNS(var1, var3 + ":" + var2);

         try {
            if (!var1.equals(this.getNamespaceContext().getNamespaceURI(var3))) {
               var4.setAttributeNS(DomUtils.XMLNS_NS, g[1] + var3, var1);
            }
         } catch (XMLStreamException var5) {
            throw a(var5);
         }
      }

      this.e.appendChild(var4);
   }

   @Override
   public void writeEmptyElement(String var1, String var2, String var3) throws XMLStreamException {
      this.a();
      Element var4 = this.a.createElementNS(var3, var1 + ":" + var2);

      try {
         if (!var3.equals(this.getNamespaceContext().getNamespaceURI(var1))) {
            var4.setAttributeNS(DomUtils.XMLNS_NS, g[1] + var1, var3);
         }
      } catch (XMLStreamException var5) {
         throw a(var5);
      }

      this.e.appendChild(var4);
   }

   @Override
   public void writeEndDocument() throws XMLStreamException {
      this.a();
   }

   @Override
   public void writeEndElement() throws XMLStreamException {
      try {
         this.a();
         this.c();
         if (this.e == this.b) {
            throw new XMLStreamException(g[9]);
         }
      } catch (XMLStreamException var1) {
         throw a(var1);
      }

      this.e = this.e.getParentNode();
   }

   @Override
   public void writeEntityRef(String var1) throws XMLStreamException {
      this.a();
      throw new XMLStreamException(g[10]);
   }

   @Override
   public void writeNamespace(String param1, String param2) throws XMLStreamException {
      // $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: invokevirtual com/l7tech/xml/DOMResultXMLStreamWriter.a ()V
      // 04: aload 0
      // 05: getfield com/l7tech/xml/DOMResultXMLStreamWriter.e Lorg/w3c/dom/Node;
      // 08: invokeinterface org/w3c/dom/Node.getNodeType ()S 1
      // 0d: bipush 1
      // 0e: if_icmpeq 22
      // 11: new javax/xml/stream/XMLStreamException
      // 14: dup
      // 15: getstatic com/l7tech/xml/DOMResultXMLStreamWriter.g [Ljava/lang/String;
      // 18: bipush 2
      // 19: aaload
      // 1a: invokespecial javax/xml/stream/XMLStreamException.<init> (Ljava/lang/String;)V
      // 1d: athrow
      // 1e: invokestatic com/l7tech/xml/DOMResultXMLStreamWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 21: athrow
      // 22: aload 0
      // 23: getfield com/l7tech/xml/DOMResultXMLStreamWriter.e Lorg/w3c/dom/Node;
      // 26: checkcast org/w3c/dom/Element
      // 29: astore 3
      // 2a: aload 1
      // 2b: ifnull 42
      // 2e: getstatic com/l7tech/xml/DOMResultXMLStreamWriter.g [Ljava/lang/String;
      // 31: bipush 16
      // 33: aaload
      // 34: aload 1
      // 35: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 38: ifeq 45
      // 3b: goto 42
      // 3e: invokestatic com/l7tech/xml/DOMResultXMLStreamWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 41: athrow
      // 42: ldc ""
      // 44: astore 1
      // 45: aload 0
      // 46: invokevirtual com/l7tech/xml/DOMResultXMLStreamWriter.getNamespaceContext ()Ljavax/xml/namespace/NamespaceContext;
      // 49: aload 1
      // 4a: invokeinterface javax/xml/namespace/NamespaceContext.getNamespaceURI (Ljava/lang/String;)Ljava/lang/String; 2
      // 4f: astore 4
      // 51: aload 2
      // 52: aload 4
      // 54: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 57: ifne 92
      // 5a: ldc ""
      // 5c: aload 1
      // 5d: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 60: ifeq 77
      // 63: goto 6a
      // 66: invokestatic com/l7tech/xml/DOMResultXMLStreamWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 69: athrow
      // 6a: getstatic com/l7tech/xml/DOMResultXMLStreamWriter.g [Ljava/lang/String;
      // 6d: bipush 22
      // 6f: aaload
      // 70: goto 84
      // 73: invokestatic com/l7tech/xml/DOMResultXMLStreamWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 76: athrow
      // 77: aload 1
      // 78: getstatic com/l7tech/xml/DOMResultXMLStreamWriter.g [Ljava/lang/String;
      // 7b: bipush 11
      // 7d: aaload
      // 7e: swap
      // 7f: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001" ]
      // 84: astore 5
      // 86: aload 3
      // 87: getstatic com/l7tech/util/DomUtils.XMLNS_NS Ljava/lang/String;
      // 8a: aload 5
      // 8c: aload 2
      // 8d: invokeinterface org/w3c/dom/Element.setAttributeNS (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V 4
      // 92: return
      // try (0 -> 14): 14 javax/xml/stream/XMLStreamException
      // try (20 -> 28): 29 javax/xml/stream/XMLStreamException
      // try (38 -> 46): 47 javax/xml/stream/XMLStreamException
      // try (42 -> 53): 53 javax/xml/stream/XMLStreamException
   }

   @Override
   public void writeProcessingInstruction(String var1) throws XMLStreamException {
      this.a();
      throw new XMLStreamException(g[20]);
   }

   @Override
   public void writeProcessingInstruction(String var1, String var2) throws XMLStreamException {
      this.a();
      throw new XMLStreamException(g[3]);
   }

   @Override
   public void writeStartDocument() throws XMLStreamException {
      this.a();
   }

   @Override
   public void writeStartDocument(String var1) throws XMLStreamException {
      this.a();
   }

   @Override
   public void writeStartDocument(String var1, String var2) throws XMLStreamException {
      this.a();
   }

   @Override
   public void writeStartElement(String var1) throws XMLStreamException {
      try {
         this.a();
         this.b();
         if (var1.indexOf(58) >= 0) {
            throw new XMLStreamException(g[21] + var1 + g[24]);
         }
      } catch (XMLStreamException var3) {
         throw a(var3);
      }

      Element var2 = this.a.createElement(var1);
      this.e.appendChild(var2);
      this.e = var2;
   }

   @Override
   public void writeStartElement(String var1, String var2) throws XMLStreamException {
      try {
         this.a();
         this.b();
         if (var2.indexOf(58) >= 0) {
            throw new XMLStreamException(g[21] + var2 + g[24]);
         }
      } catch (XMLStreamException var8) {
         throw a(var8);
      }

      String var3 = this.getPrefix(var1);
      Element var4 = null;

      label50: {
         label51: {
            try {
               if (var3 != null && !"".equals(var3)) {
                  break label51;
               }
            } catch (XMLStreamException var7) {
               throw a(var7);
            }

            var4 = this.a.createElementNS(var1, var2);

            try {
               if (!var1.equals(this.getNamespaceContext().getNamespaceURI(""))) {
                  var4.setAttributeNS(DomUtils.XMLNS_NS, g[22], var1);
               }
               break label50;
            } catch (XMLStreamException var6) {
               throw a(var6);
            }
         }

         var4 = this.a.createElementNS(var1, var3 + ":" + var2);

         try {
            if (!var1.equals(this.getNamespaceContext().getNamespaceURI(var3))) {
               var4.setAttributeNS(DomUtils.XMLNS_NS, g[1] + var3, var1);
            }
         } catch (XMLStreamException var5) {
            throw a(var5);
         }
      }

      this.e.appendChild(var4);
      this.e = var4;
   }

   @Override
   public void writeStartElement(String var1, String var2, String var3) throws XMLStreamException {
      this.a();
      this.b();
      Element var4 = this.a.createElementNS(var3, var1 + ":" + var2);

      try {
         if (!var3.equals(this.getNamespaceContext().getNamespaceURI(var1))) {
            var4.setAttributeNS(DomUtils.XMLNS_NS, g[1] + var1, var3);
         }
      } catch (XMLStreamException var5) {
         throw a(var5);
      }

      this.e.appendChild(var4);
      this.e = var4;
   }

   private void a() throws XMLStreamException {
      try {
         if (this.f) {
            throw new XMLStreamException(g[0]);
         }
      } catch (XMLStreamException var1) {
         throw a(var1);
      }
   }

   private void b() {
      this.c.push(new HashMap((Map)this.c.peek()));
      this.d.push(new HashMap((Map)this.d.peek()));
   }

   private void c() {
      this.c.pop();
      this.d.pop();
   }

   private String d() {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 0
      // 01: invokevirtual com/l7tech/xml/DOMResultXMLStreamWriter.getNamespaceContext ()Ljavax/xml/namespace/NamespaceContext;
      // 04: astore 1
      // 05: aload 0
      // 06: getfield com/l7tech/xml/DOMResultXMLStreamWriter.c Ljava/util/Stack;
      // 09: invokevirtual java/util/Stack.peek ()Ljava/lang/Object;
      // 0c: checkcast java/util/Map
      // 0f: astore 2
      // 10: bipush 0
      // 11: istore 3
      // 12: iload 3
      // 13: sipush 10000
      // 16: if_icmpge 4e
      // 19: iload 3
      // 1a: invokestatic java/lang/Integer.toString (I)Ljava/lang/String;
      // 1d: invokedynamic makeConcatWithConstants (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=[ "p\u0001" ]
      // 22: astore 4
      // 24: aload 1
      // 25: aload 4
      // 27: invokeinterface javax/xml/namespace/NamespaceContext.getNamespaceURI (Ljava/lang/String;)Ljava/lang/String; 2
      // 2c: ifnonnull 48
      // 2f: aload 2
      // 30: aload 4
      // 32: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 37: ifnonnull 48
      // 3a: goto 41
      // 3d: invokestatic com/l7tech/xml/DOMResultXMLStreamWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 40: athrow
      // 41: aload 4
      // 43: areturn
      // 44: invokestatic com/l7tech/xml/DOMResultXMLStreamWriter.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 47: athrow
      // 48: iinc 3 1
      // 4b: goto 12
      // 4e: new java/lang/IllegalStateException
      // 51: dup
      // 52: getstatic com/l7tech/xml/DOMResultXMLStreamWriter.g [Ljava/lang/String;
      // 55: bipush 19
      // 57: aaload
      // 58: invokespecial java/lang/IllegalStateException.<init> (Ljava/lang/String;)V
      // 5b: athrow
      // try (17 -> 25): 26 java/lang/IllegalArgumentException
      // try (21 -> 30): 30 java/lang/IllegalArgumentException
   }

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

   static {
      String[] var5 = new String[25];
      int var3 = 0;
      String var2 = "-\u001a$::UZ\u0017\u001dv<7W\t\u001b\nx\u0006\u0006\u0003:1(\u0002)=\u000f814LZ\u001f\n2\u007f5Y\u0017\u001b\u001d&>8]ZV\u00009\u007f8M\b\f\u000b8+{]\u0016\u001b\u000331/\u0011).\u001c9<>K\t\u0017\u00001\u007f2V\t\n\u001c#</Q\u0015\u0010\u001dv14LZ\u0007\u000b\"\u007f(M\n\u000e\u0001$+>\\-?\u001a\"-2Z\u000f\n\u000bv/)]\u001c\u0017\u0016v>7J\u001f\u001f\n/\u007f9W\u000f\u0010\nv+4\u0018\u0014\u001f\u00033,+Y\u0019\u001bNq\u0016*\u000b.+{V\u0015\nN/:/\u0018\t\u000b\u001e&0)L\u001f\u001a\u0017=*7+:\u0018\u0014\u0011\u001av&>LZ\r\u001b&/4J\u000e\u001b\n)=\u000f814LZ\u001d\u00029,>\u0018\u001f\u0012\u000b;:5LZV\u00009\u007f8M\b\f\u000b8+{]\u0016\u001b\u000331/\u0011\u0017\f\u000b%*7LZ\u0013\u001b%+{P\u001b\b\u000bv>{V\u0015\u001a\u000b)=\u000f814LZ\u001d\u00029,>\u0018\u001f\u0012\u000b;:5LZV\u00009\u007f8M\b\f\u000b8+{]\u0016\u001b\u000331/\u0011#;\u0000\"6/AZ\f\u000b0:)]\u0014\u001d\u000b%\u007f5W\u000e^\u00173+{K\u000f\u000e\u001e9-/]\u001e\u0006\u0006\u0003:1(\u0002\u0002Y@\u0015::\u0012\u007f5W\u000e^\u00173+{K\u000f\u000e\u001e9-/]\u001e\r0\u0001\"\u007f(M\n\u000e\u0001$+>\\\u0017\f\u000b%*7LZ\u0013\u001b%+{V\u0015\nN4:{V\u000f\u0012\u0002\u0005\u0006\u0003:1(\u0016*\u000b.+{V\u0015\nN/:/\u0018\t\u000b\u001e&0)L\u001f\u001a\u001a=\u0001;2>V\u000e\rN80/\u0018\u0003\u001b\u001av,.H\n\u0011\u001c\":?\u001d=\u000f814LZ\u0018\u00078;{Y\f\u001f\u0007:>9T\u001f^\u001e$:=Q\u0002_).\u001c9<>K\t\u0017\u00001\u007f2V\t\n\u001c#</Q\u0015\u0010\u001dv14LZ\u0007\u000b\"\u007f(M\n\u000e\u0001$+>\\\u00137\u0000 >7Q\u001e^\u00029<:T4\u001f\u00033\u007f|\u0005\u0006\u0003:1(";
      int var4 = "-\u001a$::UZ\u0017\u001dv<7W\t\u001b\nx\u0006\u0006\u0003:1(\u0002)=\u000f814LZ\u001f\n2\u007f5Y\u0017\u001b\u001d&>8]ZV\u00009\u007f8M\b\f\u000b8+{]\u0016\u001b\u000331/\u0011).\u001c9<>K\t\u0017\u00001\u007f2V\t\n\u001c#</Q\u0015\u0010\u001dv14LZ\u0007\u000b\"\u007f(M\n\u000e\u0001$+>\\-?\u001a\"-2Z\u000f\n\u000bv/)]\u001c\u0017\u0016v>7J\u001f\u001f\n/\u007f9W\u000f\u0010\nv+4\u0018\u0014\u001f\u00033,+Y\u0019\u001bNq\u0016*\u000b.+{V\u0015\nN/:/\u0018\t\u000b\u001e&0)L\u001f\u001a\u0017=*7+:\u0018\u0014\u0011\u001av&>LZ\r\u001b&/4J\u000e\u001b\n)=\u000f814LZ\u001d\u00029,>\u0018\u001f\u0012\u000b;:5LZV\u00009\u007f8M\b\f\u000b8+{]\u0016\u001b\u000331/\u0011\u0017\f\u000b%*7LZ\u0013\u001b%+{P\u001b\b\u000bv>{V\u0015\u001a\u000b)=\u000f814LZ\u001d\u00029,>\u0018\u001f\u0012\u000b;:5LZV\u00009\u007f8M\b\f\u000b8+{]\u0016\u001b\u000331/\u0011#;\u0000\"6/AZ\f\u000b0:)]\u0014\u001d\u000b%\u007f5W\u000e^\u00173+{K\u000f\u000e\u001e9-/]\u001e\u0006\u0006\u0003:1(\u0002\u0002Y@\u0015::\u0012\u007f5W\u000e^\u00173+{K\u000f\u000e\u001e9-/]\u001e\r0\u0001\"\u007f(M\n\u000e\u0001$+>\\\u0017\f\u000b%*7LZ\u0013\u001b%+{V\u0015\nN4:{V\u000f\u0012\u0002\u0005\u0006\u0003:1(\u0016*\u000b.+{V\u0015\nN/:/\u0018\t\u000b\u001e&0)L\u001f\u001a\u001a=\u0001;2>V\u000e\rN80/\u0018\u0003\u001b\u001av,.H\n\u0011\u001c\":?\u001d=\u000f814LZ\u0018\u00078;{Y\f\u001f\u0007:>9T\u001f^\u001e$:=Q\u0002_).\u001c9<>K\t\u0017\u00001\u007f2V\t\n\u001c#</Q\u0015\u0010\u001dv14LZ\u0007\u000b\"\u007f(M\n\u000e\u0001$+>\\\u00137\u0000 >7Q\u001e^\u00029<:T4\u001f\u00033\u007f|\u0005\u0006\u0003:1("
         .length();
      char var1 = 17;
      int var7 = -1;

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

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

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

                  var2 = ",\u001b;%,J\u0005E\u0019\"'!O/\u0004\u0018(dg\u0002B[";
                  var4 = ",\u001b;%,J\u0005E\u0019\"'!O/\u0004\u0018(dg\u0002B[".length();
                  var1 = 19;
                  var7 = -1;
            }

            var10000 = 15;
            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] ^ 110);
      }

      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 -> 106;
            case 1 -> 122;
            case 2 -> 66;
            case 3 -> 75;
            case 4 -> 79;
            case 5 -> 44;
            default -> 110;
         });
      }

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