(function (_, kotlin_kotlin, kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core) {
  'use strict';
  //region block: imports
  var imul = Math.imul;
  var CoroutineImpl = kotlin_kotlin.$_$.va;
  var Unit_instance = kotlin_kotlin.$_$.m5;
  var protoOf = kotlin_kotlin.$_$.wc;
  var THROW_CCE = kotlin_kotlin.$_$.hi;
  var SequenceScope = kotlin_kotlin.$_$.xd;
  var until = kotlin_kotlin.$_$.rd;
  var charSequenceLength = kotlin_kotlin.$_$.jb;
  var get_COROUTINE_SUSPENDED = kotlin_kotlin.$_$.ha;
  var classMeta = kotlin_kotlin.$_$.lb;
  var setMetadataFor = kotlin_kotlin.$_$.xc;
  var VOID = kotlin_kotlin.$_$.f;
  var ArrayList_init_$Create$ = kotlin_kotlin.$_$.m;
  var IllegalStateException_init_$Create$ = kotlin_kotlin.$_$.a2;
  var _Char___init__impl__6a9atx = kotlin_kotlin.$_$.u2;
  var sequence = kotlin_kotlin.$_$.le;
  var listOfNotNull = kotlin_kotlin.$_$.i8;
  var toString = kotlin_kotlin.$_$.bd;
  var IllegalArgumentException_init_$Create$ = kotlin_kotlin.$_$.u1;
  var StringBuilder_init_$Create$ = kotlin_kotlin.$_$.f1;
  var collectionSizeOrDefault = kotlin_kotlin.$_$.n6;
  var ArrayList_init_$Create$_0 = kotlin_kotlin.$_$.l;
  var ensureNotNull = kotlin_kotlin.$_$.zi;
  var equals = kotlin_kotlin.$_$.ob;
  var IndexOutOfBoundsException_init_$Create$ = kotlin_kotlin.$_$.d2;
  var objectCreate = kotlin_kotlin.$_$.uc;
  var emptyList = kotlin_kotlin.$_$.i7;
  var MutableList = kotlin_kotlin.$_$.z5;
  var isInterface = kotlin_kotlin.$_$.gc;
  var objectMeta = kotlin_kotlin.$_$.vc;
  var LinkedHashSet_init_$Create$ = kotlin_kotlin.$_$.x;
  var toList = kotlin_kotlin.$_$.t9;
  var asSequence = kotlin_kotlin.$_$.zd;
  var checkCountOverflow = kotlin_kotlin.$_$.k6;
  var isBlank = kotlin_kotlin.$_$.ef;
  var UnsupportedOperationException_init_$Create$ = kotlin_kotlin.$_$.r2;
  var indexOf = kotlin_kotlin.$_$.df;
  var to = kotlin_kotlin.$_$.nj;
  var split = kotlin_kotlin.$_$.zf;
  var Enum = kotlin_kotlin.$_$.uh;
  var PrimitiveClasses_getInstance = kotlin_kotlin.$_$.c5;
  var arrayOf = kotlin_kotlin.$_$.wi;
  var createKType = kotlin_kotlin.$_$.b;
  var serializer = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.s3;
  var KSerializer = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.i3;
  var getKClass = kotlin_kotlin.$_$.e;
  var buildClassSerialDescriptor = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.u1;
  var Companion_instance = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.q;
  var throwUninitializedPropertyAccessException = kotlin_kotlin.$_$.lj;
  var interfaceMeta = kotlin_kotlin.$_$.xb;
  var asSequence_0 = kotlin_kotlin.$_$.i6;
  var plus = kotlin_kotlin.$_$.ie;
  var toList_0 = kotlin_kotlin.$_$.ne;
  var StringCompanionObject_instance = kotlin_kotlin.$_$.a5;
  var serializer_0 = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.b1;
  var Iterator = kotlin_kotlin.$_$.t5;
  var getStringHashCode = kotlin_kotlin.$_$.vb;
  var flatMap = kotlin_kotlin.$_$.de;
  var fillArrayVal = kotlin_kotlin.$_$.qb;
  var Collection = kotlin_kotlin.$_$.p5;
  var ListSerializer = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.x;
  var SerialDescriptor = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.p1;
  var sequenceOf = kotlin_kotlin.$_$.ke;
  var reversed = kotlin_kotlin.$_$.pd;
  var firstOrNull = kotlin_kotlin.$_$.n7;
  var firstOrNull_0 = kotlin_kotlin.$_$.ce;
  var filter = kotlin_kotlin.$_$.be;
  var map = kotlin_kotlin.$_$.he;
  var IndexOutOfBoundsException_init_$Create$_0 = kotlin_kotlin.$_$.e2;
  var IndexOutOfBoundsException = kotlin_kotlin.$_$.zh;
  var contentEquals = kotlin_kotlin.$_$.q6;
  var contentHashCode = kotlin_kotlin.$_$.t6;
  var ArrayDeque_init_$Create$ = kotlin_kotlin.$_$.k;
  var NoSuchElementException_init_$Create$ = kotlin_kotlin.$_$.f2;
  var joinToString = kotlin_kotlin.$_$.b8;
  var getKClassFromExpression = kotlin_kotlin.$_$.d;
  var captureStack = kotlin_kotlin.$_$.fb;
  var LinkedHashMap_init_$Create$ = kotlin_kotlin.$_$.v;
  var RuntimeException = kotlin_kotlin.$_$.gi;
  var charSequenceGet = kotlin_kotlin.$_$.ib;
  var charSequenceSubSequence = kotlin_kotlin.$_$.kb;
  var StringBuilder_init_$Create$_0 = kotlin_kotlin.$_$.e1;
  var arrayCopy = kotlin_kotlin.$_$.f6;
  var _UInt___init__impl__l7qpdl = kotlin_kotlin.$_$.q3;
  var UIntRange = kotlin_kotlin.$_$.hd;
  var UInt__compareTo_impl_yacclj = kotlin_kotlin.$_$.r3;
  var _UShort___init__impl__jigrne = kotlin_kotlin.$_$.j4;
  var _Char___init__impl__6a9atx_0 = kotlin_kotlin.$_$.v2;
  var _UInt___get_data__impl__f0vqqw = kotlin_kotlin.$_$.s3;
  var toShort = kotlin_kotlin.$_$.ad;
  var uintCompare = kotlin_kotlin.$_$.oj;
  var Char = kotlin_kotlin.$_$.ph;
  var Pair = kotlin_kotlin.$_$.ei;
  var toString_0 = kotlin_kotlin.$_$.zg;
  var isCharSequence = kotlin_kotlin.$_$.cc;
  var trimStart = kotlin_kotlin.$_$.ih;
  var Char__toInt_impl_vasixd = kotlin_kotlin.$_$.b3;
  var isHighSurrogate = kotlin_kotlin.$_$.gf;
  var UInt = kotlin_kotlin.$_$.oi;
  var copyOf = kotlin_kotlin.$_$.c7;
  var downTo = kotlin_kotlin.$_$.od;
  var copyOf_0 = kotlin_kotlin.$_$.d7;
  var getProgressionLastElement = kotlin_kotlin.$_$.ab;
  var joinToString_0 = kotlin_kotlin.$_$.a8;
  var booleanArray = kotlin_kotlin.$_$.eb;
  var NoSuchElementException_init_$Create$_0 = kotlin_kotlin.$_$.h2;
  var AssertionError_init_$Create$ = kotlin_kotlin.$_$.h1;
  var startsWith = kotlin_kotlin.$_$.ag;
  var Exception_init_$Init$ = kotlin_kotlin.$_$.l1;
  var Exception_init_$Init$_0 = kotlin_kotlin.$_$.m1;
  var Exception_init_$Init$_1 = kotlin_kotlin.$_$.o1;
  var Exception = kotlin_kotlin.$_$.wh;
  var get_js = kotlin_kotlin.$_$.kc;
  var hashCode = kotlin_kotlin.$_$.wb;
  var joinTo = kotlin_kotlin.$_$.c8;
  var HashSet_init_$Create$ = kotlin_kotlin.$_$.s;
  //endregion
  //region block: pre-declaration
  setMetadataFor(DomReader$_get_namespaceContext_$o$iterator$slambda_vvguk9, 'DomReader$<get-namespaceContext>$o$iterator$slambda', classMeta, CoroutineImpl, VOID, VOID, VOID, VOID, [1]);
  function getPrefixes(namespaceURI) {
    return this.il5(namespaceURI);
  }
  setMetadataFor(NamespaceContextImpl, 'NamespaceContextImpl', interfaceMeta);
  function freeze() {
    return SimpleNamespaceContext_init_$Create$_2(this);
  }
  function plus_0(secondary) {
    return SimpleNamespaceContext_init_$Create$_1(toList_0(plus(asSequence_0(this), asSequence_0(secondary))));
  }
  setMetadataFor(IterableNamespaceContext, 'IterableNamespaceContext', interfaceMeta, VOID, [NamespaceContextImpl]);
  setMetadataFor(DomReader$namespaceContext$1, VOID, classMeta, VOID, [IterableNamespaceContext]);
  function get_name() {
    return qname(this.ll5(), this.ml5(), this.nl5());
  }
  function require_0(type, namespace, name) {
    if (!this.ul5().equals(type))
      throw XmlException_init_$Create$_0('Type ' + this.ul5() + ' does not match expected type "' + type + '" (' + this.vl5() + ')');
    else if (!(namespace == null) ? !(this.ll5() === namespace) : false)
      throw XmlException_init_$Create$_0('Namespace ' + this.ll5() + ' does not match expected "' + namespace + '" (' + this.vl5() + ')');
    else if (!(name == null) ? !(this.ml5() === name) : false)
      throw XmlException_init_$Create$_0('local name ' + this.ml5() + ' does not match expected "' + name + '" (' + this.vl5() + ')');
  }
  function require_1(type, name) {
    var tmp;
    if (name == null) {
      tmp = null;
    } else {
      // Inline function 'nl.adaptivity.xmlutil.namespaceURI' call
      tmp = name.kl9();
    }
    var tmp_0 = tmp;
    var tmp_1;
    if (name == null) {
      tmp_1 = null;
    } else {
      // Inline function 'nl.adaptivity.xmlutil.localPart' call
      tmp_1 = name.ll9();
    }
    return this.el6(type, tmp_0, tmp_1);
  }
  function getAttributeName(index) {
    return qname(this.al6(index), this.cl6(index), this.bl6(index));
  }
  function getAttributeValue(name) {
    // Inline function 'nl.adaptivity.xmlutil.namespaceURI' call
    var tmp = name.kl9();
    // Inline function 'nl.adaptivity.xmlutil.localPart' call
    var tmp$ret$1 = name.ll9();
    return this.m7d(tmp, tmp$ret$1);
  }
  function isWhitespace() {
    return this.ul5() === EventType_IGNORABLE_WHITESPACE_getInstance() ? true : this.ul5() === EventType_TEXT_getInstance() ? isXmlWhitespace(this.sl5()) : false;
  }
  setMetadataFor(XmlReader, 'XmlReader', interfaceMeta, VOID, [Iterator]);
  setMetadataFor(DomReader, 'DomReader', classMeta, VOID, [XmlReader]);
  setMetadataFor(Companion, 'Companion', objectMeta);
  setMetadataFor(DomWriter$namespaceContext$1, VOID, classMeta, VOID, [NamespaceContextImpl]);
  function namespaceAttr(namespace) {
    this.fl7(namespace.nl5(), namespace.ll5());
  }
  function processingInstruction(target, data) {
    return this.bl7(target + ' ' + data);
  }
  function startDocument$default(version, encoding, standalone, $super) {
    version = version === VOID ? null : version;
    encoding = encoding === VOID ? null : encoding;
    standalone = standalone === VOID ? null : standalone;
    var tmp;
    if ($super === VOID) {
      this.ll7(version, encoding, standalone);
      tmp = Unit_instance;
    } else {
      tmp = $super.ll7.call(this, version, encoding, standalone);
    }
    return tmp;
  }
  setMetadataFor(XmlWriter, 'XmlWriter', interfaceMeta);
  setMetadataFor(PlatformXmlWriterBase, 'PlatformXmlWriterBase', classMeta, VOID, [XmlWriter]);
  setMetadataFor(DomWriter, 'DomWriter', classMeta, PlatformXmlWriterBase, [PlatformXmlWriterBase, XmlWriter], DomWriter_init_$Create$);
  setMetadataFor(EventType, 'EventType', classMeta, Enum);
  setMetadataFor(EventType$START_DOCUMENT, 'START_DOCUMENT', classMeta, EventType);
  setMetadataFor(EventType$START_ELEMENT, 'START_ELEMENT', classMeta, EventType);
  setMetadataFor(EventType$END_ELEMENT, 'END_ELEMENT', classMeta, EventType);
  setMetadataFor(EventType$COMMENT, 'COMMENT', classMeta, EventType);
  setMetadataFor(EventType$TEXT, 'TEXT', classMeta, EventType);
  setMetadataFor(EventType$CDSECT, 'CDSECT', classMeta, EventType);
  setMetadataFor(EventType$DOCDECL, 'DOCDECL', classMeta, EventType);
  setMetadataFor(EventType$END_DOCUMENT, 'END_DOCUMENT', classMeta, EventType);
  setMetadataFor(EventType$ENTITY_REF, 'ENTITY_REF', classMeta, EventType);
  setMetadataFor(EventType$IGNORABLE_WHITESPACE, 'IGNORABLE_WHITESPACE', classMeta, EventType);
  setMetadataFor(EventType$ATTRIBUTE, 'ATTRIBUTE', classMeta, EventType);
  setMetadataFor(EventType$PROCESSING_INSTRUCTION, 'PROCESSING_INSTRUCTION', classMeta, EventType);
  setMetadataFor(Companion_0, 'Companion', objectMeta, VOID, [KSerializer]);
  setMetadataFor(Namespace, 'Namespace', interfaceMeta);
  setMetadataFor(QNameSerializer, 'QNameSerializer', objectMeta, VOID, [KSerializer]);
  setMetadataFor(SimpleIterator, 'SimpleIterator', classMeta, VOID, [Iterator]);
  setMetadataFor(SimpleNamespace, 'SimpleNamespace', classMeta, VOID, [Namespace]);
  setMetadataFor(Companion_1, 'Companion', objectMeta, VOID, [KSerializer]);
  setMetadataFor(SimpleNamespaceContext, 'SimpleNamespaceContext', classMeta, VOID, [IterableNamespaceContext], SimpleNamespaceContext_init_$Create$, VOID, {0: Companion_getInstance_1});
  setMetadataFor(XMLConstants, 'XMLConstants', objectMeta);
  setMetadataFor(XmlBufferedReaderBase, 'XmlBufferedReaderBase', classMeta, VOID, [XmlReader]);
  setMetadataFor(XmlBufferedReader, 'XmlBufferedReader', classMeta, XmlBufferedReaderBase);
  setMetadataFor(XmlDelegatingReader, 'XmlDelegatingReader', classMeta, VOID, [XmlReader]);
  setMetadataFor(Companion_2, 'Companion', objectMeta);
  setMetadataFor(XmlEvent, 'XmlEvent', classMeta);
  setMetadataFor(TextEvent, 'TextEvent', classMeta, XmlEvent);
  setMetadataFor(ProcessingInstructionEvent, 'ProcessingInstructionEvent', classMeta, TextEvent);
  setMetadataFor(EntityRefEvent, 'EntityRefEvent', classMeta, TextEvent);
  setMetadataFor(EndDocumentEvent, 'EndDocumentEvent', classMeta, XmlEvent);
  setMetadataFor(NamedEvent, 'NamedEvent', classMeta, XmlEvent);
  setMetadataFor(EndElementEvent, 'EndElementEvent', classMeta, NamedEvent);
  setMetadataFor(StartDocumentEvent, 'StartDocumentEvent', classMeta, XmlEvent);
  setMetadataFor(StartElementEvent, 'StartElementEvent', classMeta, NamedEvent);
  setMetadataFor(Attribute, 'Attribute', classMeta, XmlEvent);
  setMetadataFor(NamespaceImpl, 'NamespaceImpl', classMeta, VOID, [Namespace]);
  setMetadataFor(IOException, 'IOException', classMeta, Exception, VOID, IOException_init_$Create$);
  setMetadataFor(XmlException, 'XmlException', classMeta, IOException, VOID, XmlException_init_$Create$);
  setMetadataFor(Companion_3, 'Companion', objectMeta);
  setMetadataFor(XmlDeclMode, 'XmlDeclMode', classMeta, Enum);
  setMetadataFor(EscapeMode, 'EscapeMode', classMeta, Enum);
  setMetadataFor(Companion_4, 'Companion', objectMeta);
  setMetadataFor(WriteState, 'WriteState', classMeta, Enum);
  setMetadataFor(KtXmlWriter, 'KtXmlWriter', classMeta, PlatformXmlWriterBase, [PlatformXmlWriterBase, XmlWriter]);
  setMetadataFor(asCodePoints$1$iterator$1, VOID, classMeta, VOID, [Iterator]);
  setMetadataFor(asCodePoints$1, VOID, classMeta);
  setMetadataFor(XmlVersion, 'XmlVersion', classMeta, Enum);
  setMetadataFor(NamespaceHolder$namespaceContext$1, VOID, classMeta, VOID, [IterableNamespaceContext]);
  setMetadataFor(NamespaceHolder$iterator$1, VOID, classMeta, VOID, [Iterator]);
  setMetadataFor(NamespaceHolder, 'NamespaceHolder', classMeta, VOID, VOID, NamespaceHolder);
  setMetadataFor(Companion_5, 'Companion', objectMeta);
  setMetadataFor(NamedNodeMapIterator, 'NamedNodeMapIterator', classMeta, VOID, [Iterator]);
  setMetadataFor(NodeConsts, 'NodeConsts', objectMeta);
  setMetadataFor(NodeListIterator, 'NodeListIterator', classMeta, VOID, [Iterator]);
  setMetadataFor(ICompactFragment, 'ICompactFragment', interfaceMeta);
  setMetadataFor(QName, 'QName', classMeta);
  setMetadataFor(XmlStreaming, 'XmlStreaming', objectMeta);
  setMetadataFor(WriterXmlWriter, 'WriterXmlWriter', classMeta, VOID, [XmlWriter]);
  setMetadataFor(Writer, 'Writer', classMeta);
  setMetadataFor(StringWriter, 'StringWriter', classMeta, Writer, VOID, StringWriter);
  setMetadataFor(Factory, 'Factory', classMeta, VOID, VOID, Factory);
  setMetadataFor(Companion_6, 'Companion', objectMeta);
  setMetadataFor(CompactFragment, 'CompactFragment', classMeta, VOID, [ICompactFragment]);
  setMetadataFor(FragmentNamespaceContext, 'FragmentNamespaceContext', classMeta, SimpleNamespaceContext);
  setMetadataFor(Companion_7, 'Companion', objectMeta);
  setMetadataFor(XMLFragmentStreamReader, 'XMLFragmentStreamReader', classMeta, XmlDelegatingReader);
  //endregion
  function DomReader$_get_namespaceContext_$o$iterator$slambda_vvguk9(this$0, resultContinuation) {
    this.nl4_1 = this$0;
    CoroutineImpl.call(this, resultContinuation);
  }
  protoOf(DomReader$_get_namespaceContext_$o$iterator$slambda_vvguk9).vl4 = function ($this$sequence, $completion) {
    var tmp = this.wl4($this$sequence, $completion);
    tmp.jd_1 = Unit_instance;
    tmp.kd_1 = null;
    return tmp.ud();
  };
  protoOf(DomReader$_get_namespaceContext_$o$iterator$slambda_vvguk9).he = function (p1, $completion) {
    return this.vl4(p1 instanceof SequenceScope ? p1 : THROW_CCE(), $completion);
  };
  protoOf(DomReader$_get_namespaceContext_$o$iterator$slambda_vvguk9).ud = function () {
    var suspendResult = this.jd_1;
    $sm: do
      try {
        var tmp = this.hd_1;
        switch (tmp) {
          case 0:
            this.id_1 = 8;
            this.pl4_1 = this.nl4_1.xl4_1;
            this.hd_1 = 1;
            continue $sm;
          case 1:
            if (!!(this.pl4_1 == null)) {
              this.hd_1 = 7;
              continue $sm;
            }

            var tmp_0 = this;
            tmp_0.ql4_1 = this.pl4_1.attributes;
            this.rl4_1 = this.ql4_1.length;
            this.sl4_1 = until(0, this.rl4_1).w();
            this.hd_1 = 2;
            continue $sm;
          case 2:
            if (!this.sl4_1.f()) {
              this.hd_1 = 6;
              continue $sm;
            }

            this.tl4_1 = this.sl4_1.e();
            var tmp_1 = this;
            var tmp_2 = this.ql4_1.item(this.tl4_1);
            tmp_1.ul4_1 = (!(tmp_2 == null) ? !(tmp_2 == null) : false) ? tmp_2 : THROW_CCE();
            if (this.ul4_1.prefix === 'xmlns') {
              this.hd_1 = 4;
              var tmp0_elvis_lhs = this.ul4_1.localName;
              suspendResult = this.ol4_1.ig(new NamespaceImpl(tmp0_elvis_lhs == null ? this.ul4_1.name : tmp0_elvis_lhs, this.ul4_1.value), this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              var tmp_3;
              var this_0 = this.ul4_1.prefix;
              if (this_0 == null ? true : charSequenceLength(this_0) === 0) {
                tmp_3 = this.ul4_1.localName === 'xmlns';
              } else {
                tmp_3 = false;
              }
              if (tmp_3) {
                this.hd_1 = 3;
                suspendResult = this.ol4_1.ig(new NamespaceImpl('', this.ul4_1.value), this);
                if (suspendResult === get_COROUTINE_SUSPENDED()) {
                  return suspendResult;
                }
                continue $sm;
              } else {
                this.hd_1 = 5;
                continue $sm;
              }
            }

          case 3:
            this.hd_1 = 5;
            continue $sm;
          case 4:
            this.hd_1 = 5;
            continue $sm;
          case 5:
            this.hd_1 = 2;
            continue $sm;
          case 6:
            this.pl4_1 = this.pl4_1.parentElement;
            this.hd_1 = 1;
            continue $sm;
          case 7:
            return Unit_instance;
          case 8:
            throw this.kd_1;
        }
      } catch ($p) {
        var e = $p;
        if (this.id_1 === 8) {
          throw e;
        } else {
          this.hd_1 = this.id_1;
          this.kd_1 = e;
        }
      }
     while (true);
  };
  protoOf(DomReader$_get_namespaceContext_$o$iterator$slambda_vvguk9).wl4 = function ($this$sequence, completion) {
    var i = new DomReader$_get_namespaceContext_$o$iterator$slambda_vvguk9(this.nl4_1, completion);
    i.ol4_1 = $this$sequence;
    return i;
  };
  function DomReader$_get_namespaceContext_$o$iterator$slambda_vvguk9_0(this$0, resultContinuation) {
    var i = new DomReader$_get_namespaceContext_$o$iterator$slambda_vvguk9(this$0, resultContinuation);
    var l = function ($this$sequence, $completion) {
      return i.vl4($this$sequence, $completion);
    };
    l.$arity = 1;
    return l;
  }
  function _get_namespaceAttrs__14mg2s($this) {
    var tmp0_elvis_lhs = $this.dl5_1;
    var tmp;
    if (tmp0_elvis_lhs == null) {
      // Inline function 'kotlin.also' call
      // Inline function 'nl.adaptivity.xmlutil.util.filterTyped' call
      var this_0 = _get_requireCurrentElem__bg81k8($this).attributes;
      // Inline function 'kotlin.collections.mutableListOf' call
      var result = ArrayList_init_$Create$();
      // Inline function 'nl.adaptivity.xmlutil.util.forEachAttr' call
      var l = this_0.length;
      var inductionVariable = 0;
      if (inductionVariable < l)
        do {
          var idx = inductionVariable;
          inductionVariable = inductionVariable + 1 | 0;
          // Inline function 'nl.adaptivity.xmlutil.util.filterTyped.<anonymous>' call
          var tmp_0 = this_0.item(idx);
          var attr = (!(tmp_0 == null) ? !(tmp_0 == null) : false) ? tmp_0 : THROW_CCE();
          // Inline function 'nl.adaptivity.xmlutil.DomReader.<get-namespaceAttrs>.<anonymous>' call
          var tmp_1;
          var tmp_2;
          var tmp_3;
          if (attr.namespaceURI == null) {
            tmp_3 = true;
          } else {
            var tmp_4 = attr.namespaceURI;
            tmp_3 = tmp_4 === 'http://www.w3.org/2000/xmlns/';
          }
          if (tmp_3) {
            var tmp_5;
            if (attr.prefix === 'xmlns') {
              tmp_5 = true;
            } else {
              var tmp_6;
              // Inline function 'kotlin.text.isNullOrEmpty' call
              var this_1 = attr.prefix;
              // Inline function 'kotlin.contracts.contract' call
              if (this_1 == null ? true : charSequenceLength(this_1) === 0) {
                tmp_6 = attr.localName === 'xmlns';
              } else {
                tmp_6 = false;
              }
              tmp_5 = tmp_6;
            }
            tmp_2 = tmp_5;
          } else {
            tmp_2 = false;
          }
          if (tmp_2) {
            var tmp_7 = attr.value;
            tmp_1 = !(tmp_7 === 'http://www.w3.org/2000/xmlns/');
          } else {
            tmp_1 = false;
          }
          if (tmp_1) {
            result.i1(attr);
          }
        }
         while (inductionVariable < l);
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.DomReader.<get-namespaceAttrs>.<anonymous>' call
      $this.dl5_1 = result;
      tmp = result;
    } else {
      tmp = tmp0_elvis_lhs;
    }
    return tmp;
  }
  function _get_requireCurrent__f4sn5j($this) {
    var tmp0_elvis_lhs = $this.zl4_1;
    var tmp;
    if (tmp0_elvis_lhs == null) {
      throw IllegalStateException_init_$Create$('No current element');
    } else {
      tmp = tmp0_elvis_lhs;
    }
    return tmp;
  }
  function _get_requireCurrentElem__bg81k8($this) {
    var tmp0_elvis_lhs = $this.el5();
    var tmp;
    if (tmp0_elvis_lhs == null) {
      throw IllegalStateException_init_$Create$('No current element');
    } else {
      tmp = tmp0_elvis_lhs;
    }
    return tmp;
  }
  function _get_locationInfo_$helper_86tu52(node, result) {
    var tmp;
    var tmp_0;
    if (node == null) {
      tmp_0 = true;
    } else {
      var tmp_1 = node.nodeType;
      tmp_0 = tmp_1 === 9;
    }
    if (tmp_0) {
      tmp = result;
    } else {
      if (get_isElement(node)) {
        // Inline function 'kotlin.apply' call
        var this_0 = _get_locationInfo_$helper_86tu52(node.parentNode, result);
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'nl.adaptivity.xmlutil.DomReader.<get-locationInfo>.helper.<anonymous>' call
        this_0.z5(_Char___init__impl__6a9atx(47)).r8(node.nodeName);
        tmp = this_0;
      } else {
        if (get_isText(node)) {
          // Inline function 'kotlin.apply' call
          var this_1 = _get_locationInfo_$helper_86tu52(node.parentNode, result);
          // Inline function 'kotlin.contracts.contract' call
          // Inline function 'nl.adaptivity.xmlutil.DomReader.<get-locationInfo>.helper.<anonymous>' call
          this_1.r8('/text()');
          tmp = this_1;
        } else {
          // Inline function 'kotlin.apply' call
          var this_2 = _get_locationInfo_$helper_86tu52(node.parentNode, result);
          // Inline function 'kotlin.contracts.contract' call
          // Inline function 'nl.adaptivity.xmlutil.DomReader.<get-locationInfo>.helper.<anonymous>' call
          this_2.r8('/.');
          tmp = this_2;
        }
      }
    }
    return tmp;
  }
  function DomReader$namespaceContext$1(this$0) {
    var tmp = this;
    var tmp_0 = _get_requireCurrent__f4sn5j(this$0);
    var tmp0_elvis_lhs = !(tmp_0 == null) ? tmp_0 : null;
    var tmp_1;
    if (tmp0_elvis_lhs == null) {
      var tmp_2 = _get_requireCurrent__f4sn5j(this$0).parentNode;
      tmp_1 = (!(tmp_2 == null) ? !(tmp_2 == null) : false) ? tmp_2 : null;
    } else {
      tmp_1 = tmp0_elvis_lhs;
    }
    tmp.xl4_1 = tmp_1;
  }
  protoOf(DomReader$namespaceContext$1).fl5 = function (prefix) {
    var tmp0_safe_receiver = this.xl4_1;
    return tmp0_safe_receiver == null ? null : myLookupNamespaceURI(tmp0_safe_receiver, prefix);
  };
  protoOf(DomReader$namespaceContext$1).gl5 = function (namespaceURI) {
    var tmp0_safe_receiver = this.xl4_1;
    return tmp0_safe_receiver == null ? null : myLookupPrefix(tmp0_safe_receiver, namespaceURI);
  };
  protoOf(DomReader$namespaceContext$1).hl5 = function () {
    return this;
  };
  protoOf(DomReader$namespaceContext$1).w = function () {
    return sequence(DomReader$_get_namespaceContext_$o$iterator$slambda_vvguk9_0(this, null)).w();
  };
  protoOf(DomReader$namespaceContext$1).il5 = function (namespaceURI) {
    return listOfNotNull(this.gl5(namespaceURI)).w();
  };
  function DomReader(delegate) {
    this.yl4_1 = delegate;
    this.zl4_1 = null;
    this.al5_1 = false;
    this.bl5_1 = false;
    this.cl5_1 = 0;
    this.dl5_1 = null;
  }
  protoOf(DomReader).ll5 = function () {
    var tmp0_safe_receiver = this.el5();
    var tmp;
    if (tmp0_safe_receiver == null) {
      tmp = null;
    } else {
      // Inline function 'kotlin.run' call
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.DomReader.<get-namespaceURI>.<anonymous>' call
      var tmp0_elvis_lhs = tmp0_safe_receiver.namespaceURI;
      tmp = tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs;
    }
    var tmp1_elvis_lhs = tmp;
    var tmp_0;
    if (tmp1_elvis_lhs == null) {
      throw XmlException_init_$Create$_0('Only elements have a namespace uri');
    } else {
      tmp_0 = tmp1_elvis_lhs;
    }
    return tmp_0;
  };
  protoOf(DomReader).ml5 = function () {
    var tmp0_safe_receiver = this.el5();
    var tmp;
    if (tmp0_safe_receiver == null) {
      tmp = null;
    } else {
      // Inline function 'kotlin.let' call
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.DomReader.<get-localName>.<anonymous>' call
      var tmp0_elvis_lhs = tmp0_safe_receiver.localName;
      tmp = tmp0_elvis_lhs == null ? tmp0_safe_receiver.tagName : tmp0_elvis_lhs;
    }
    var tmp1_elvis_lhs = tmp;
    var tmp_0;
    if (tmp1_elvis_lhs == null) {
      throw XmlException_init_$Create$_0('Only elements have a local name');
    } else {
      tmp_0 = tmp1_elvis_lhs;
    }
    return tmp_0;
  };
  protoOf(DomReader).nl5 = function () {
    var tmp0_safe_receiver = this.el5();
    var tmp;
    if (tmp0_safe_receiver == null) {
      tmp = null;
    } else {
      // Inline function 'kotlin.run' call
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.DomReader.<get-prefix>.<anonymous>' call
      var tmp0_elvis_lhs = tmp0_safe_receiver.prefix;
      tmp = tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs;
    }
    var tmp1_elvis_lhs = tmp;
    var tmp_0;
    if (tmp1_elvis_lhs == null) {
      throw XmlException_init_$Create$_0('Only elements have a prefix');
    } else {
      tmp_0 = tmp1_elvis_lhs;
    }
    return tmp_0;
  };
  protoOf(DomReader).ol5 = function () {
    return this.al5_1;
  };
  protoOf(DomReader).pl5 = function () {
    return this.cl5_1;
  };
  protoOf(DomReader).ql5 = function () {
    var c = _get_requireCurrent__f4sn5j(this);
    // Inline function 'kotlin.require' call
    var tmp = c.nodeType;
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.require' call
    // Inline function 'kotlin.contracts.contract' call
    if (!(tmp === 7)) {
      // Inline function 'kotlin.require.<anonymous>' call
      var message = 'Failed requirement.';
      throw IllegalArgumentException_init_$Create$(toString(message));
    }
    // Inline function 'nl.adaptivity.xmlutil.dom.getTarget' call
    return (!(c == null) ? c : THROW_CCE()).target;
  };
  protoOf(DomReader).rl5 = function () {
    var c = _get_requireCurrent__f4sn5j(this);
    // Inline function 'kotlin.require' call
    var tmp = c.nodeType;
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.require' call
    // Inline function 'kotlin.contracts.contract' call
    if (!(tmp === 7)) {
      // Inline function 'kotlin.require.<anonymous>' call
      var message = 'Failed requirement.';
      throw IllegalArgumentException_init_$Create$(toString(message));
    }
    // Inline function 'nl.adaptivity.xmlutil.dom.getData' call
    return (!(c == null) ? c : THROW_CCE()).data;
  };
  protoOf(DomReader).sl5 = function () {
    var tmp0_safe_receiver = this.zl4_1;
    var tmp1_subject = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.nodeType;
    var tmp;
    var tmp_0;
    var tmp_1;
    var tmp_2;
    var tmp_3 = tmp1_subject == null ? null : tmp1_subject;
    if (tmp_3 === 5) {
      tmp_2 = true;
    } else {
      var tmp_4 = tmp1_subject == null ? null : tmp1_subject;
      tmp_2 = tmp_4 === 8;
    }
    if (tmp_2) {
      tmp_1 = true;
    } else {
      var tmp_5 = tmp1_subject == null ? null : tmp1_subject;
      tmp_1 = tmp_5 === 3;
    }
    if (tmp_1) {
      tmp_0 = true;
    } else {
      var tmp_6 = tmp1_subject == null ? null : tmp1_subject;
      tmp_0 = tmp_6 === 4;
    }
    if (tmp_0) {
      var tmp_7 = this.zl4_1;
      tmp = ((!(tmp_7 == null) ? !(tmp_7 == null) : false) ? tmp_7 : THROW_CCE()).data;
    } else {
      var tmp_8 = tmp1_subject == null ? null : tmp1_subject;
      if (tmp_8 === 7) {
        // Inline function 'kotlin.let' call
        var tmp_9 = this.zl4_1;
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'nl.adaptivity.xmlutil.DomReader.<get-text>.<anonymous>' call
        var it = (!(tmp_9 == null) ? !(tmp_9 == null) : false) ? tmp_9 : THROW_CCE();
        var tmp_10 = it.nodeName;
        // Inline function 'nl.adaptivity.xmlutil.dom.getData' call
        tmp = tmp_10 + ' ' + it.data;
      } else {
        throw XmlException_init_$Create$_0('Node is not a text node');
      }
    }
    return tmp;
  };
  protoOf(DomReader).tl5 = function () {
    var tmp = this.zl4_1;
    var tmp0_safe_receiver = (tmp == null ? true : !(tmp == null)) ? tmp : THROW_CCE();
    var tmp1_safe_receiver = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.attributes;
    var tmp2_elvis_lhs = tmp1_safe_receiver == null ? null : tmp1_safe_receiver.length;
    return tmp2_elvis_lhs == null ? 0 : tmp2_elvis_lhs;
  };
  protoOf(DomReader).ul5 = function () {
    var c = this.zl4_1;
    return c == null ? EventType_END_DOCUMENT_getInstance() : toEventType(c, this.bl5_1);
  };
  protoOf(DomReader).vl5 = function () {
    return _get_locationInfo_$helper_86tu52(this.zl4_1, StringBuilder_init_$Create$()).toString();
  };
  protoOf(DomReader).el5 = function () {
    var tmp0_safe_receiver = this.zl4_1;
    var tmp;
    var tmp2_safe_receiver = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.nodeType;
    var tmp_0 = tmp2_safe_receiver == null ? null : tmp2_safe_receiver;
    if (tmp_0 === 1) {
      var tmp_1 = this.zl4_1;
      tmp = (!(tmp_1 == null) ? !(tmp_1 == null) : false) ? tmp_1 : THROW_CCE();
    } else {
      tmp = null;
    }
    return tmp;
  };
  protoOf(DomReader).wl5 = function () {
    return new DomReader$namespaceContext$1(this);
  };
  protoOf(DomReader).xl5 = function () {
    // Inline function 'kotlin.collections.map' call
    var this_0 = _get_namespaceAttrs__14mg2s(this);
    // Inline function 'kotlin.collections.mapTo' call
    var destination = ArrayList_init_$Create$_0(collectionSizeOrDefault(this_0, 10));
    var tmp0_iterator = this_0.w();
    while (tmp0_iterator.f()) {
      var item = tmp0_iterator.e();
      // Inline function 'nl.adaptivity.xmlutil.DomReader.<get-namespaceDecls>.<anonymous>' call
      var tmp$ret$0 = item.prefix === 'xmlns' ? new NamespaceImpl(ensureNotNull(item.localName), item.value) : new NamespaceImpl('', item.value);
      destination.i1(tmp$ret$0);
    }
    return destination;
  };
  protoOf(DomReader).yl5 = function () {
    var d = this.yl4_1;
    var tmp;
    var tmp_0 = d.nodeType;
    if (tmp_0 === 9) {
      tmp = (!(d == null) ? d : THROW_CCE()).inputEncoding;
    } else {
      tmp = ensureNotNull(d.ownerDocument).inputEncoding;
    }
    return tmp;
  };
  protoOf(DomReader).zl5 = function () {
    return null;
  };
  protoOf(DomReader).p3c = function () {
    return '1.0';
  };
  protoOf(DomReader).f = function () {
    var tmp;
    var tmp_0;
    if (this.bl5_1) {
      var tmp0_safe_receiver = this.zl4_1;
      tmp_0 = (tmp0_safe_receiver == null ? null : tmp0_safe_receiver.parentNode) == null;
    } else {
      tmp_0 = false;
    }
    if (!tmp_0) {
      tmp = true;
    } else {
      tmp = !equals(this.zl4_1, this.yl4_1);
    }
    return tmp;
  };
  protoOf(DomReader).e = function () {
    this.dl5_1 = null;
    var c = this.zl4_1;
    if (c == null) {
      this.al5_1 = true;
      this.zl4_1 = this.yl4_1;
      return EventType_START_DOCUMENT_getInstance();
    } else {
      if (this.bl5_1) {
        if (!(c.nextSibling == null)) {
          this.zl4_1 = c.nextSibling;
          this.bl5_1 = false;
        } else {
          this.zl4_1 = c.parentNode;
          var tmp0_safe_receiver = this.zl4_1;
          var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : toEventType(tmp0_safe_receiver, true);
          return tmp1_elvis_lhs == null ? EventType_END_DOCUMENT_getInstance() : tmp1_elvis_lhs;
        }
      } else if (!(c.firstChild == null)) {
        this.zl4_1 = c.firstChild;
      } else {
        this.bl5_1 = true;
        return EventType_END_ELEMENT_getInstance();
      }
      var c2 = _get_requireCurrent__f4sn5j(this);
      var nodeType = c2.nodeType;
      var tmp;
      var tmp_0 = nodeType;
      if (!(tmp_0 === 1)) {
        var tmp_1 = nodeType;
        tmp = !(tmp_1 === 9);
      } else {
        tmp = false;
      }
      if (tmp) {
        this.bl5_1 = true;
      }
      return toEventType(c2, this.bl5_1);
    }
  };
  protoOf(DomReader).al6 = function (index) {
    var tmp0_elvis_lhs = get(_get_requireCurrentElem__bg81k8(this).attributes, index);
    var tmp;
    if (tmp0_elvis_lhs == null) {
      throw IndexOutOfBoundsException_init_$Create$();
    } else {
      tmp = tmp0_elvis_lhs;
    }
    var attr = tmp;
    var tmp1_elvis_lhs = attr.namespaceURI;
    return tmp1_elvis_lhs == null ? '' : tmp1_elvis_lhs;
  };
  protoOf(DomReader).bl6 = function (index) {
    var tmp0_elvis_lhs = get(_get_requireCurrentElem__bg81k8(this).attributes, index);
    var tmp;
    if (tmp0_elvis_lhs == null) {
      throw IndexOutOfBoundsException_init_$Create$();
    } else {
      tmp = tmp0_elvis_lhs;
    }
    var attr = tmp;
    var tmp1_elvis_lhs = attr.prefix;
    return tmp1_elvis_lhs == null ? '' : tmp1_elvis_lhs;
  };
  protoOf(DomReader).cl6 = function (index) {
    var tmp0_elvis_lhs = get(_get_requireCurrentElem__bg81k8(this).attributes, index);
    var tmp;
    if (tmp0_elvis_lhs == null) {
      throw IndexOutOfBoundsException_init_$Create$();
    } else {
      tmp = tmp0_elvis_lhs;
    }
    var attr = tmp;
    var tmp1_elvis_lhs = attr.localName;
    return tmp1_elvis_lhs == null ? attr.name : tmp1_elvis_lhs;
  };
  protoOf(DomReader).dl6 = function (index) {
    var tmp0_elvis_lhs = get(_get_requireCurrentElem__bg81k8(this).attributes, index);
    var tmp;
    if (tmp0_elvis_lhs == null) {
      throw IndexOutOfBoundsException_init_$Create$();
    } else {
      tmp = tmp0_elvis_lhs;
    }
    var attr = tmp;
    return attr.value;
  };
  protoOf(DomReader).m7d = function (nsUri, localName) {
    return _get_requireCurrentElem__bg81k8(this).getAttributeNS(nsUri, localName);
  };
  protoOf(DomReader).n = function () {
    this.zl4_1 = null;
  };
  function toEventType(_this__u8e3s4, endOfElement) {
    var tmp0_subject = _this__u8e3s4.nodeType;
    var tmp;
    var tmp_0 = tmp0_subject;
    if (tmp_0 === 2) {
      tmp = EventType_ATTRIBUTE_getInstance();
    } else {
      var tmp_1 = tmp0_subject;
      if (tmp_1 === 4) {
        tmp = EventType_CDSECT_getInstance();
      } else {
        var tmp_2 = tmp0_subject;
        if (tmp_2 === 8) {
          tmp = EventType_COMMENT_getInstance();
        } else {
          var tmp_3 = tmp0_subject;
          if (tmp_3 === 10) {
            tmp = EventType_DOCDECL_getInstance();
          } else {
            var tmp_4 = tmp0_subject;
            if (tmp_4 === 5) {
              tmp = EventType_ENTITY_REF_getInstance();
            } else {
              var tmp_5;
              var tmp_6 = tmp0_subject;
              if (tmp_6 === 11) {
                tmp_5 = true;
              } else {
                var tmp_7 = tmp0_subject;
                tmp_5 = tmp_7 === 9;
              }
              if (tmp_5) {
                tmp = endOfElement ? EventType_END_DOCUMENT_getInstance() : EventType_START_DOCUMENT_getInstance();
              } else {
                var tmp_8 = tmp0_subject;
                if (tmp_8 === 7) {
                  tmp = EventType_PROCESSING_INSTRUCTION_getInstance();
                } else {
                  var tmp_9 = tmp0_subject;
                  if (tmp_9 === 3) {
                    tmp = isXmlWhitespace_1(ensureNotNull(_this__u8e3s4.textContent)) ? EventType_IGNORABLE_WHITESPACE_getInstance() : EventType_TEXT_getInstance();
                  } else {
                    var tmp_10 = tmp0_subject;
                    if (tmp_10 === 1) {
                      tmp = endOfElement ? EventType_END_ELEMENT_getInstance() : EventType_START_ELEMENT_getInstance();
                    } else {
                      throw XmlException_init_$Create$_0('Unsupported event type (' + _this__u8e3s4 + ')');
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
    return tmp;
  }
  function collectDeclaredPrefixes(_this__u8e3s4, $this, namespaceUri, result, redeclared) {
    // Inline function 'nl.adaptivity.xmlutil.util.forEachAttr' call
    var this_0 = _this__u8e3s4.attributes;
    var l = this_0.length;
    var inductionVariable = 0;
    if (inductionVariable < l)
      do {
        var idx = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        // Inline function 'nl.adaptivity.xmlutil.<no name provided>.collectDeclaredPrefixes.<anonymous>' call
        var tmp = this_0.item(idx);
        var attr = (!(tmp == null) ? !(tmp == null) : false) ? tmp : THROW_CCE();
        var tmp_0;
        if (attr.prefix === 'xmlns') {
          tmp_0 = attr.localName;
        } else {
          var tmp_1;
          // Inline function 'kotlin.text.isNullOrEmpty' call
          var this_1 = attr.prefix;
          // Inline function 'kotlin.contracts.contract' call
          if (this_1 == null ? true : charSequenceLength(this_1) === 0) {
            tmp_1 = attr.localName === 'xmlns';
          } else {
            tmp_1 = false;
          }
          if (tmp_1) {
            tmp_0 = '';
          } else {
            tmp_0 = null;
          }
        }
        var prefix = tmp_0;
        if (!(prefix == null)) {
          if (redeclared.a1(prefix)) {
            if (attr.value === namespaceUri) {
              result.i1(prefix);
            }
            redeclared.i1(prefix);
          }
        }
      }
       while (inductionVariable < l);
    var tmp0_safe_receiver = _this__u8e3s4.parentElement;
    if (tmp0_safe_receiver == null)
      null;
    else {
      collectDeclaredPrefixes(tmp0_safe_receiver, $this, namespaceUri, result, redeclared);
    }
  }
  function DomWriter_init_$Init$(xmlDeclMode, $this) {
    xmlDeclMode = xmlDeclMode === VOID ? XmlDeclMode_None_getInstance() : xmlDeclMode;
    DomWriter.call($this, null, VOID, xmlDeclMode);
    return $this;
  }
  function DomWriter_init_$Create$(xmlDeclMode) {
    return DomWriter_init_$Init$(xmlDeclMode, objectCreate(protoOf(DomWriter)));
  }
  function writeIndent($this, newDepth) {
    var indentSeq = $this.fl6_1;
    var tmp;
    var tmp_0;
    if ($this.ml6_1 >= 0) {
      // Inline function 'kotlin.collections.isNotEmpty' call
      tmp_0 = !indentSeq.c1();
    } else {
      tmp_0 = false;
    }
    if (tmp_0) {
      tmp = !($this.ml6_1 === $this.ol6_1);
    } else {
      tmp = false;
    }
    if (tmp) {
      $this.sl6('\n');
      try {
        $this.fl6_1 = emptyList();
        // Inline function 'kotlin.repeat' call
        var times = $this.ol6_1;
        // Inline function 'kotlin.contracts.contract' call
        var inductionVariable = 0;
        if (inductionVariable < times)
          do {
            var index = inductionVariable;
            inductionVariable = inductionVariable + 1 | 0;
            // Inline function 'nl.adaptivity.xmlutil.DomWriter.writeIndent.<anonymous>' call
            // Inline function 'kotlin.collections.forEach' call
            var tmp0_iterator = indentSeq.w();
            while (tmp0_iterator.f()) {
              var element = tmp0_iterator.e();
              // Inline function 'nl.adaptivity.xmlutil.DomWriter.writeIndent.<anonymous>.<anonymous>' call
              element.wl6($this);
            }
          }
           while (inductionVariable < times);
      }finally {
        $this.fl6_1 = indentSeq;
      }
    }
    $this.ml6_1 = newDepth;
  }
  function writeIndent$default($this, newDepth, $super) {
    newDepth = newDepth === VOID ? $this.ol6_1 : newDepth;
    return writeIndent($this, newDepth);
  }
  function addToPending($this, operation) {
    if ($this.jl6_1 == null) {
      var tmp = $this.ll6_1;
      (isInterface(tmp, MutableList) ? tmp : THROW_CCE()).i1(operation);
    } else
      throw IllegalStateException_init_$Create$('Use of pending list when there is a document already');
  }
  function requireCurrent($this, error) {
    var tmp = $this.kl6_1;
    var tmp0_elvis_lhs = (!(tmp == null) ? !(tmp == null) : false) ? tmp : null;
    var tmp_0;
    if (tmp0_elvis_lhs == null) {
      throw XmlException_init_$Create$_0('The current node is not an element: ' + error);
    } else {
      tmp_0 = tmp0_elvis_lhs;
    }
    return tmp_0;
  }
  function Companion() {
    this.xl6_1 = -1;
    this.yl6_1 = 2147483647;
  }
  var Companion_instance_0;
  function Companion_getInstance() {
    return Companion_instance_0;
  }
  function DomWriter$namespaceContext$1(this$0) {
    this.zl6_1 = this$0;
  }
  protoOf(DomWriter$namespaceContext$1).fl5 = function (prefix) {
    var tmp0_safe_receiver = this.zl6_1.kl6_1;
    return tmp0_safe_receiver == null ? null : tmp0_safe_receiver.lookupNamespaceURI(prefix);
  };
  protoOf(DomWriter$namespaceContext$1).gl5 = function (namespaceURI) {
    var tmp0_safe_receiver = this.zl6_1.kl6_1;
    return tmp0_safe_receiver == null ? null : tmp0_safe_receiver.lookupPrefix(namespaceURI);
  };
  protoOf(DomWriter$namespaceContext$1).il5 = function (namespaceURI) {
    // Inline function 'kotlin.collections.buildSet' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildSetInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = LinkedHashSet_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.<no name provided>.getPrefixesCompat.<anonymous>' call
    var tmp = this.zl6_1.kl6_1;
    var tmp0_safe_receiver = (tmp == null ? true : !(tmp == null)) ? tmp : THROW_CCE();
    if (tmp0_safe_receiver == null)
      null;
    else {
      // Inline function 'kotlin.collections.mutableListOf' call
      var tmp$ret$0 = ArrayList_init_$Create$();
      collectDeclaredPrefixes(tmp0_safe_receiver, this, namespaceURI, this_0, tmp$ret$0);
    }
    var tmp$ret$3 = this_0.f3();
    return toList(tmp$ret$3).w();
  };
  function DomWriter$comment$lambda(this$0, $text) {
    return function (it) {
      this$0.al7($text);
      return Unit_instance;
    };
  }
  function DomWriter$text$lambda(this$0, $text) {
    return function (it) {
      this$0.sl6($text);
      return Unit_instance;
    };
  }
  function DomWriter$processingInstruction$lambda(this$0, $text) {
    return function (it) {
      this$0.bl7($text);
      return Unit_instance;
    };
  }
  function DomWriter$processingInstruction$lambda_0(this$0, $target, $data) {
    return function (it) {
      this$0.cl7($target, $data);
      return Unit_instance;
    };
  }
  function DomWriter$ignorableWhitespace$lambda(this$0, $text) {
    return function (it) {
      this$0.sl6($text);
      return Unit_instance;
    };
  }
  function DomWriter$docdecl$lambda(this$0, $text) {
    return function (it) {
      this$0.dl7($text);
      return Unit_instance;
    };
  }
  function DomWriter$close$lambda(this$0) {
    return function () {
      return 'Closing a dom writer but not all elements were closed (depth:' + this$0.ol6_1 + ')';
    };
  }
  function DomWriter(current, isAppend, xmlDeclMode) {
    isAppend = isAppend === VOID ? false : isAppend;
    xmlDeclMode = xmlDeclMode === VOID ? XmlDeclMode_None_getInstance() : xmlDeclMode;
    PlatformXmlWriterBase.call(this);
    this.hl6_1 = isAppend;
    this.il6_1 = xmlDeclMode;
    var tmp = this;
    var tmp1_subject = current == null ? null : current.nodeType;
    var tmp_0;
    if (tmp1_subject == null) {
      tmp_0 = null;
    } else {
      var tmp_1 = tmp1_subject == null ? null : tmp1_subject;
      if (tmp_1 === 9) {
        tmp_0 = (!(current == null) ? !(current == null) : false) ? current : THROW_CCE();
      } else {
        tmp_0 = current.ownerDocument;
      }
    }
    tmp.jl6_1 = tmp_0;
    this.kl6_1 = current;
    var tmp_2 = this;
    // Inline function 'kotlin.collections.mutableListOf' call
    tmp_2.ll6_1 = ArrayList_init_$Create$();
    this.ml6_1 = -1;
    var tmp_3 = this;
    tmp_3.nl6_1 = new DomWriter$namespaceContext$1(this);
    this.ol6_1 = 0;
    this.pl6_1 = null;
    this.ql6_1 = null;
    this.rl6_1 = null;
  }
  protoOf(DomWriter).el7 = function () {
    var tmp0_elvis_lhs = this.jl6_1;
    var tmp;
    if (tmp0_elvis_lhs == null) {
      throw XmlException_init_$Create$_0('Document not created yet');
    } else {
      tmp = tmp0_elvis_lhs;
    }
    return tmp;
  };
  protoOf(DomWriter).wl5 = function () {
    return this.nl6_1;
  };
  protoOf(DomWriter).pl5 = function () {
    return this.ol6_1;
  };
  protoOf(DomWriter).fl7 = function (namespacePrefix, namespaceUri) {
    var cur = requireCurrent(this, 'Namespace attribute');
    // Inline function 'kotlin.text.isEmpty' call
    if (charSequenceLength(namespacePrefix) === 0) {
      var tmp;
      // Inline function 'kotlin.text.isEmpty' call
      if (charSequenceLength(namespaceUri) === 0) {
        tmp = cur.lookupNamespaceURI('') === '';
      } else {
        tmp = false;
      }
      if (!tmp) {
        cur.setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns', namespaceUri);
      }
    } else {
      cur.setAttributeNS('http://www.w3.org/2000/xmlns/', 'xmlns' + ':' + namespacePrefix, namespaceUri);
    }
  };
  protoOf(DomWriter).gl7 = function (namespace, localName, prefix) {
    writeIndent$default(this);
    this.ol6_1 = this.ol6_1 + 1 | 0;
    if (this.kl6_1 == null ? this.jl6_1 == null : false) {
      var doc = createDocument(qname(namespace == null ? '' : namespace, localName, prefix));
      this.jl6_1 = doc;
      this.kl6_1 = this.jl6_1;
      var e = ensureNotNull(doc.documentElement);
      doc.removeChild(e);
      var tmp3_iterator = this.ll6_1.w();
      while (tmp3_iterator.f()) {
        var pending = tmp3_iterator.e();
        pending(doc);
      }
      doc.appendChild(e);
      var tmp = this.ll6_1;
      (isInterface(tmp, MutableList) ? tmp : THROW_CCE()).n1();
      this.ml6_1 = 0;
      this.kl6_1 = doc.documentElement;
      return Unit_instance;
    } else if (this.kl6_1 == null ? !this.hl6_1 : false) {
      // Inline function 'kotlin.sequences.count' call
      var count = 0;
      var tmp0_iterator = asSequence(iterator_0(this.el7().childNodes)).w();
      while (tmp0_iterator.f()) {
        var element = tmp0_iterator.e();
        // Inline function 'nl.adaptivity.xmlutil.DomWriter.startTag.<anonymous>' call
        var tmp_0 = element.nodeType;
        if (tmp_0 === 1) {
          count = count + 1 | 0;
          checkCountOverflow(count);
        }
      }
      if (count > 0) {
        removeElementChildren(this.el7());
      }
    }
    // Inline function 'kotlin.let' call
    // Inline function 'kotlin.contracts.contract' call
    var elem = createElement(this.el7(), qname(namespace, localName, prefix));
    ensureNotNull(this.kl6_1).appendChild(elem);
    this.kl6_1 = elem;
  };
  protoOf(DomWriter).al7 = function (text) {
    writeIndent$default(this);
    var ce = this.kl6_1;
    if (ce == null) {
      addToPending(this, DomWriter$comment$lambda(this, text));
    } else {
      // Inline function 'kotlin.let' call
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.DomWriter.comment.<anonymous>' call
      var comment = this.el7().createComment(text);
      ce.appendChild(comment);
    }
  };
  protoOf(DomWriter).hl7 = function (text) {
    this.ml6_1 = -1;
    var ce = this.kl6_1;
    if (ce == null) {
      if (isBlank(text)) {
        addToPending(this, DomWriter$text$lambda(this, text));
      } else
        throw XmlException_init_$Create$_0('Not in an element -- text');
    } else {
      // Inline function 'kotlin.let' call
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.DomWriter.text.<anonymous>' call
      var textNode = this.el7().createTextNode(text);
      ce.appendChild(textNode);
    }
  };
  protoOf(DomWriter).il7 = function (text) {
    this.ml6_1 = -1;
    // Inline function 'kotlin.let' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.DomWriter.cdsect.<anonymous>' call
    var cdataSection = this.el7().createCDATASection(text);
    var tmp0_safe_receiver = this.kl6_1;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.appendChild(cdataSection);
    var tmp;
    if (tmp1_elvis_lhs == null) {
      throw XmlException_init_$Create$_0('Not in an element -- cdsect');
    } else {
      tmp = tmp1_elvis_lhs;
    }
  };
  protoOf(DomWriter).jl7 = function (text) {
    this.ml6_1 = -1;
    throw UnsupportedOperationException_init_$Create$('Creating entity references is not supported (or incorrect) in most browsers');
  };
  protoOf(DomWriter).bl7 = function (text) {
    writeIndent(this, 2147483647);
    var tmp0_safe_receiver = this.kl6_1;
    var tmp1_safe_receiver = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.nodeType;
    var tmp = tmp1_safe_receiver == null ? null : tmp1_safe_receiver;
    if (!(tmp === 1))
      throw XmlException_init_$Create$_0('Document already started');
    if (this.jl6_1 == null) {
      addToPending(this, DomWriter$processingInstruction$lambda(this, text));
    } else {
      var split = indexOf(text, _Char___init__impl__6a9atx(32));
      var tmp_0;
      if (split < 0) {
        tmp_0 = to(text, '');
      } else {
        // Inline function 'kotlin.text.substring' call
        // Inline function 'kotlin.js.asDynamic' call
        var tmp_1 = text.substring(0, split);
        // Inline function 'kotlin.text.substring' call
        var startIndex = split + 1 | 0;
        // Inline function 'kotlin.js.asDynamic' call
        var tmp$ret$3 = text.substring(startIndex);
        tmp_0 = to(tmp_1, tmp$ret$3);
      }
      var tmp2_container = tmp_0;
      var target = tmp2_container.y6();
      var data = tmp2_container.z6();
      // Inline function 'kotlin.let' call
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.DomWriter.processingInstruction.<anonymous>' call
      var processInstr = this.el7().createProcessingInstruction(target, data);
      this.el7().appendChild(processInstr);
    }
  };
  protoOf(DomWriter).cl7 = function (target, data) {
    var ce = this.kl6_1;
    if (ce == null) {
      addToPending(this, DomWriter$processingInstruction$lambda_0(this, target, data));
    } else {
      var processInstr = this.el7().createProcessingInstruction(target, data);
      ce.appendChild(processInstr);
    }
    this.ml6_1 = -1;
  };
  protoOf(DomWriter).sl6 = function (text) {
    var ce = this.kl6_1;
    if (ce == null) {
      addToPending(this, DomWriter$ignorableWhitespace$lambda(this, text));
    } else {
      var tmp = ce.nodeType;
      if (!(tmp === 9)) {
        // Inline function 'kotlin.let' call
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'nl.adaptivity.xmlutil.DomWriter.ignorableWhitespace.<anonymous>' call
        var textNode = this.el7().createTextNode(text);
        ce.appendChild(textNode);
      }
    }
    this.ml6_1 = -1;
  };
  protoOf(DomWriter).kl7 = function (namespace, name, prefix, value) {
    var cur = requireCurrent(this, 'attribute');
    var tmp;
    // Inline function 'kotlin.text.isNullOrEmpty' call
    // Inline function 'kotlin.contracts.contract' call
    if (namespace == null ? true : charSequenceLength(namespace) === 0) {
      // Inline function 'kotlin.text.isNullOrEmpty' call
      // Inline function 'kotlin.contracts.contract' call
      tmp = prefix == null ? true : charSequenceLength(prefix) === 0;
    } else {
      tmp = false;
    }
    if (tmp) {
      cur.setAttribute(name, value);
    } else {
      // Inline function 'kotlin.text.isNullOrEmpty' call
      // Inline function 'kotlin.contracts.contract' call
      if (prefix == null ? true : charSequenceLength(prefix) === 0) {
        cur.setAttributeNS(namespace, name, value);
      } else {
        var tmp_0;
        if (namespace == null) {
          tmp_0 = '';
        } else {
          tmp_0 = namespace;
        }
        cur.setAttributeNS(tmp_0, '' + prefix + ':' + name, value);
      }
    }
  };
  protoOf(DomWriter).dl7 = function (text) {
    writeIndent(this, 2147483647);
    var target = this.jl6_1;
    if (target == null) {
      addToPending(this, DomWriter$docdecl$lambda(this, text));
    } else {
      var textElems = split(text, [' '], VOID, 3);
      var qualifiedName = textElems.v(0);
      var publicId = textElems.u() > 1 ? textElems.v(1) : '';
      var systemId = textElems.u() > 2 ? textElems.v(2) : '';
      // Inline function 'kotlin.let' call
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.DomWriter.docdecl.<anonymous>' call
      var docType = target.implementation.createDocumentType(qualifiedName, publicId, systemId);
      target.appendChild(docType);
    }
  };
  protoOf(DomWriter).ll7 = function (version, encoding, standalone) {
    writeIndent(this, 2147483647);
    this.pl6_1 = version;
    this.ql6_1 = encoding;
    this.rl6_1 = standalone;
  };
  protoOf(DomWriter).nl7 = function () {
    this.kl6_1 = null;
  };
  protoOf(DomWriter).ol7 = function (namespace, localName, prefix) {
    this.ol6_1 = this.ol6_1 - 1 | 0;
    writeIndent(this, 2147483647);
    this.kl6_1 = requireCurrent(this, 'No current element or no parent element').parentNode;
  };
  protoOf(DomWriter).pl7 = function (prefix) {
    var tmp0_safe_receiver = this.kl6_1;
    return tmp0_safe_receiver == null ? null : myLookupNamespaceURI(tmp0_safe_receiver, prefix);
  };
  protoOf(DomWriter).ql7 = function (namespaceUri) {
    var tmp1_safe_receiver = this.kl6_1;
    var tmp;
    if (tmp1_safe_receiver == null) {
      tmp = null;
    } else {
      tmp = myLookupPrefix(tmp1_safe_receiver, namespaceUri == null ? '' : namespaceUri);
    }
    return tmp;
  };
  protoOf(DomWriter).n = function () {
    var tmp = this.ol6_1 === 0;
    assert(tmp, DomWriter$close$lambda(this));
    this.kl6_1 = null;
  };
  function EventType$START_DOCUMENT() {
    EventType.call(this, 'START_DOCUMENT', 0);
    EventType_START_DOCUMENT_instance = this;
  }
  protoOf(EventType$START_DOCUMENT).wl7 = function (reader) {
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.START_DOCUMENT.createEvent.<anonymous>' call
    return new StartDocumentEvent(reader.vl5(), reader.p3c(), reader.yl5(), reader.zl5());
  };
  protoOf(EventType$START_DOCUMENT).xl7 = function (writer, reader) {
    writer.ll7(reader.p3c(), reader.yl5(), reader.zl5());
  };
  var EventType_START_DOCUMENT_instance;
  function EventType$START_ELEMENT() {
    EventType.call(this, 'START_ELEMENT', 1);
    EventType_START_ELEMENT_instance = this;
  }
  protoOf(EventType$START_ELEMENT).wl7 = function (reader) {
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.START_ELEMENT.createEvent.<anonymous>' call
    return new StartElementEvent(reader.vl5(), reader.ll5(), reader.ml5(), reader.nl5(), get_attributes(reader), reader.wl5().hl5(), reader.xl5());
  };
  protoOf(EventType$START_ELEMENT).xl7 = function (writer, reader) {
    writer.gl7(reader.ll5(), reader.ml5(), reader.nl5());
    var tmp0_iterator = reader.xl5().w();
    while (tmp0_iterator.f()) {
      var attr = tmp0_iterator.e();
      writer.fl7(attr.nl5(), attr.ll5());
    }
    var inductionVariable = 0;
    var last = reader.tl5();
    if (inductionVariable < last)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var attrNs = reader.al6(i);
        if (!(attrNs === 'http://www.w3.org/2000/xmlns/')) {
          var attrPrefix = reader.bl6(i);
          var tmp;
          if (attrNs === '') {
            tmp = '';
          } else if (attrNs === writer.wl5().fl5(attrPrefix)) {
            tmp = attrPrefix;
          } else {
            var tmp3_elvis_lhs = writer.wl5().gl5(attrNs);
            tmp = tmp3_elvis_lhs == null ? attrPrefix : tmp3_elvis_lhs;
          }
          var prefix = tmp;
          writer.kl7(attrNs, reader.cl6(i), prefix, reader.dl6(i));
        }
      }
       while (inductionVariable < last);
  };
  var EventType_START_ELEMENT_instance;
  function EventType$END_ELEMENT() {
    EventType.call(this, 'END_ELEMENT', 2);
    EventType_END_ELEMENT_instance = this;
  }
  protoOf(EventType$END_ELEMENT).wl7 = function (reader) {
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.END_ELEMENT.createEvent.<anonymous>' call
    return new EndElementEvent(reader.vl5(), reader.ll5(), reader.ml5(), reader.nl5(), reader.wl5());
  };
  protoOf(EventType$END_ELEMENT).xl7 = function (writer, reader) {
    writer.ol7(reader.ll5(), reader.ml5(), reader.nl5());
  };
  var EventType_END_ELEMENT_instance;
  function EventType$COMMENT() {
    EventType.call(this, 'COMMENT', 3);
    EventType_COMMENT_instance = this;
  }
  protoOf(EventType$COMMENT).al8 = function () {
    return true;
  };
  protoOf(EventType$COMMENT).wl7 = function (reader) {
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.COMMENT.createEvent.<anonymous>' call
    return new TextEvent(reader.vl5(), EventType_COMMENT_getInstance(), reader.sl5());
  };
  protoOf(EventType$COMMENT).bl8 = function (writer, textEvent) {
    writer.al7(textEvent.vl6_1);
  };
  protoOf(EventType$COMMENT).xl7 = function (writer, reader) {
    writer.al7(reader.sl5());
  };
  var EventType_COMMENT_instance;
  function EventType$TEXT() {
    EventType.call(this, 'TEXT', 4);
    EventType_TEXT_instance = this;
  }
  protoOf(EventType$TEXT).al8 = function () {
    return true;
  };
  protoOf(EventType$TEXT).wl7 = function (reader) {
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.TEXT.createEvent.<anonymous>' call
    return new TextEvent(reader.vl5(), EventType_TEXT_getInstance(), reader.sl5());
  };
  protoOf(EventType$TEXT).bl8 = function (writer, textEvent) {
    writer.hl7(textEvent.vl6_1);
  };
  protoOf(EventType$TEXT).xl7 = function (writer, reader) {
    writer.hl7(reader.sl5());
  };
  var EventType_TEXT_instance;
  function EventType$CDSECT() {
    EventType.call(this, 'CDSECT', 5);
    EventType_CDSECT_instance = this;
  }
  protoOf(EventType$CDSECT).al8 = function () {
    return true;
  };
  protoOf(EventType$CDSECT).wl7 = function (reader) {
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.CDSECT.createEvent.<anonymous>' call
    return new TextEvent(reader.vl5(), EventType_CDSECT_getInstance(), reader.sl5());
  };
  protoOf(EventType$CDSECT).bl8 = function (writer, textEvent) {
    writer.il7(textEvent.vl6_1);
  };
  protoOf(EventType$CDSECT).xl7 = function (writer, reader) {
    writer.il7(reader.sl5());
  };
  var EventType_CDSECT_instance;
  function EventType$DOCDECL() {
    EventType.call(this, 'DOCDECL', 6);
    EventType_DOCDECL_instance = this;
  }
  protoOf(EventType$DOCDECL).wl7 = function (reader) {
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.DOCDECL.createEvent.<anonymous>' call
    return new TextEvent(reader.vl5(), EventType_DOCDECL_getInstance(), reader.sl5());
  };
  protoOf(EventType$DOCDECL).bl8 = function (writer, textEvent) {
    writer.dl7(textEvent.vl6_1);
  };
  protoOf(EventType$DOCDECL).xl7 = function (writer, reader) {
    writer.dl7(reader.sl5());
  };
  var EventType_DOCDECL_instance;
  function EventType$END_DOCUMENT() {
    EventType.call(this, 'END_DOCUMENT', 7);
    EventType_END_DOCUMENT_instance = this;
  }
  protoOf(EventType$END_DOCUMENT).wl7 = function (reader) {
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.END_DOCUMENT.createEvent.<anonymous>' call
    return new EndDocumentEvent(reader.vl5());
  };
  protoOf(EventType$END_DOCUMENT).xl7 = function (writer, reader) {
    writer.nl7();
  };
  var EventType_END_DOCUMENT_instance;
  function EventType$ENTITY_REF() {
    EventType.call(this, 'ENTITY_REF', 8);
    EventType_ENTITY_REF_instance = this;
  }
  protoOf(EventType$ENTITY_REF).al8 = function () {
    return true;
  };
  protoOf(EventType$ENTITY_REF).wl7 = function (reader) {
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.ENTITY_REF.createEvent.<anonymous>' call
    return new EntityRefEvent(reader.vl5(), reader.ml5(), reader.sl5());
  };
  protoOf(EventType$ENTITY_REF).bl8 = function (writer, textEvent) {
    writer.hl7(textEvent.vl6_1);
  };
  protoOf(EventType$ENTITY_REF).xl7 = function (writer, reader) {
    writer.hl7(reader.sl5());
  };
  var EventType_ENTITY_REF_instance;
  function EventType$IGNORABLE_WHITESPACE() {
    EventType.call(this, 'IGNORABLE_WHITESPACE', 9);
    EventType_IGNORABLE_WHITESPACE_instance = this;
  }
  protoOf(EventType$IGNORABLE_WHITESPACE).al8 = function () {
    return true;
  };
  protoOf(EventType$IGNORABLE_WHITESPACE).wl7 = function (reader) {
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.IGNORABLE_WHITESPACE.createEvent.<anonymous>' call
    return new TextEvent(reader.vl5(), EventType_IGNORABLE_WHITESPACE_getInstance(), reader.sl5());
  };
  protoOf(EventType$IGNORABLE_WHITESPACE).bl8 = function (writer, textEvent) {
    writer.sl6(textEvent.vl6_1);
  };
  protoOf(EventType$IGNORABLE_WHITESPACE).xl7 = function (writer, reader) {
    writer.sl6(reader.sl5());
  };
  var EventType_IGNORABLE_WHITESPACE_instance;
  function EventType$ATTRIBUTE() {
    EventType.call(this, 'ATTRIBUTE', 10);
    EventType_ATTRIBUTE_instance = this;
  }
  protoOf(EventType$ATTRIBUTE).wl7 = function (reader) {
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.ATTRIBUTE.createEvent.<anonymous>' call
    return new Attribute(reader.vl5(), reader.ll5(), reader.ml5(), reader.nl5(), reader.sl5());
  };
  protoOf(EventType$ATTRIBUTE).xl7 = function (writer, reader) {
    writer.kl7(reader.ll5(), reader.ml5(), reader.nl5(), reader.sl5());
  };
  var EventType_ATTRIBUTE_instance;
  function EventType$PROCESSING_INSTRUCTION() {
    EventType.call(this, 'PROCESSING_INSTRUCTION', 11);
    EventType_PROCESSING_INSTRUCTION_instance = this;
  }
  protoOf(EventType$PROCESSING_INSTRUCTION).al8 = function () {
    return true;
  };
  protoOf(EventType$PROCESSING_INSTRUCTION).wl7 = function (reader) {
    return new ProcessingInstructionEvent(reader.vl5(), reader.ql5(), reader.rl5());
  };
  protoOf(EventType$PROCESSING_INSTRUCTION).bl8 = function (writer, textEvent) {
    var tmp;
    if (textEvent instanceof ProcessingInstructionEvent) {
      writer.cl7(textEvent.bl9_1, textEvent.cl9_1);
      tmp = Unit_instance;
    } else {
      writer.bl7(textEvent.vl6_1);
      tmp = Unit_instance;
    }
    return tmp;
  };
  protoOf(EventType$PROCESSING_INSTRUCTION).xl7 = function (writer, reader) {
    writer.cl7(reader.ql5(), reader.rl5());
  };
  var EventType_PROCESSING_INSTRUCTION_instance;
  var EventType_entriesInitialized;
  function EventType_initEntries() {
    if (EventType_entriesInitialized)
      return Unit_instance;
    EventType_entriesInitialized = true;
    EventType_START_DOCUMENT_instance = new EventType$START_DOCUMENT();
    EventType_START_ELEMENT_instance = new EventType$START_ELEMENT();
    EventType_END_ELEMENT_instance = new EventType$END_ELEMENT();
    EventType_COMMENT_instance = new EventType$COMMENT();
    EventType_TEXT_instance = new EventType$TEXT();
    EventType_CDSECT_instance = new EventType$CDSECT();
    EventType_DOCDECL_instance = new EventType$DOCDECL();
    EventType_END_DOCUMENT_instance = new EventType$END_DOCUMENT();
    EventType_ENTITY_REF_instance = new EventType$ENTITY_REF();
    EventType_IGNORABLE_WHITESPACE_instance = new EventType$IGNORABLE_WHITESPACE();
    EventType_ATTRIBUTE_instance = new EventType$ATTRIBUTE();
    EventType_PROCESSING_INSTRUCTION_instance = new EventType$PROCESSING_INSTRUCTION();
  }
  function EventType(name, ordinal) {
    Enum.call(this, name, ordinal);
  }
  protoOf(EventType).al8 = function () {
    return false;
  };
  protoOf(EventType).bl8 = function (writer, textEvent) {
    throw UnsupportedOperationException_init_$Create$('This is not generally supported, only by text types');
  };
  function EventType_START_DOCUMENT_getInstance() {
    EventType_initEntries();
    return EventType_START_DOCUMENT_instance;
  }
  function EventType_START_ELEMENT_getInstance() {
    EventType_initEntries();
    return EventType_START_ELEMENT_instance;
  }
  function EventType_END_ELEMENT_getInstance() {
    EventType_initEntries();
    return EventType_END_ELEMENT_instance;
  }
  function EventType_COMMENT_getInstance() {
    EventType_initEntries();
    return EventType_COMMENT_instance;
  }
  function EventType_TEXT_getInstance() {
    EventType_initEntries();
    return EventType_TEXT_instance;
  }
  function EventType_CDSECT_getInstance() {
    EventType_initEntries();
    return EventType_CDSECT_instance;
  }
  function EventType_DOCDECL_getInstance() {
    EventType_initEntries();
    return EventType_DOCDECL_instance;
  }
  function EventType_END_DOCUMENT_getInstance() {
    EventType_initEntries();
    return EventType_END_DOCUMENT_instance;
  }
  function EventType_ENTITY_REF_getInstance() {
    EventType_initEntries();
    return EventType_ENTITY_REF_instance;
  }
  function EventType_IGNORABLE_WHITESPACE_getInstance() {
    EventType_initEntries();
    return EventType_IGNORABLE_WHITESPACE_instance;
  }
  function EventType_ATTRIBUTE_getInstance() {
    EventType_initEntries();
    return EventType_ATTRIBUTE_instance;
  }
  function EventType_PROCESSING_INSTRUCTION_getInstance() {
    EventType_initEntries();
    return EventType_PROCESSING_INSTRUCTION_instance;
  }
  function Namespace$Companion$descriptor$lambda($this$buildClassSerialDescriptor) {
    // Inline function 'kotlinx.serialization.descriptors.serialDescriptor' call
    // Inline function 'kotlinx.serialization.serializer' call
    // Inline function 'kotlinx.serialization.internal.cast' call
    var this_0 = serializer(createKType(PrimitiveClasses_getInstance().g8(), arrayOf([]), false));
    var tmp$ret$2 = (isInterface(this_0, KSerializer) ? this_0 : THROW_CCE()).q44();
    $this$buildClassSerialDescriptor.b45('prefix', tmp$ret$2);
    // Inline function 'kotlinx.serialization.descriptors.serialDescriptor' call
    // Inline function 'kotlinx.serialization.serializer' call
    // Inline function 'kotlinx.serialization.internal.cast' call
    var this_1 = serializer(createKType(PrimitiveClasses_getInstance().g8(), arrayOf([]), false));
    var tmp$ret$5 = (isInterface(this_1, KSerializer) ? this_1 : THROW_CCE()).q44();
    $this$buildClassSerialDescriptor.b45('namespaceURI', tmp$ret$5);
    return Unit_instance;
  }
  function Companion_0() {
    Companion_instance_1 = this;
    var tmp = this;
    var tmp_0 = ensureNotNull(getKClass(Namespace).f7());
    tmp.dl9_1 = buildClassSerialDescriptor(tmp_0, [], Namespace$Companion$descriptor$lambda);
  }
  protoOf(Companion_0).q44 = function () {
    return this.dl9_1;
  };
  protoOf(Companion_0).s44 = function (decoder) {
    var prefix = {_v: null};
    var namespaceUri = {_v: null};
    // Inline function 'kotlinx.serialization.encoding.decodeStructure' call
    var descriptor = this.dl9_1;
    var composite = decoder.i48(descriptor);
    var index = composite.y48(Companion_getInstance_0().dl9_1);
    $l$loop: while (true) {
      var tmp = index;
      if (!!(tmp === -1)) {
        break $l$loop;
      }
      var tmp0_subject = index;
      if (tmp0_subject === 0) {
        prefix._v = composite.s48(Companion_getInstance_0().dl9_1, index);
      } else if (tmp0_subject === 1) {
        namespaceUri._v = composite.s48(Companion_getInstance_0().dl9_1, index);
      }
      index = composite.y48(Companion_getInstance_0().dl9_1);
    }
    var result = Unit_instance;
    composite.j48(descriptor);
    var tmp_0;
    if (prefix._v == null) {
      throwUninitializedPropertyAccessException('prefix');
    } else {
      tmp_0 = prefix._v;
    }
    var tmp_1 = tmp_0;
    var tmp_2;
    if (namespaceUri._v == null) {
      throwUninitializedPropertyAccessException('namespaceUri');
    } else {
      tmp_2 = namespaceUri._v;
    }
    return new NamespaceImpl(tmp_1, tmp_2);
  };
  protoOf(Companion_0).el9 = function (encoder, value) {
    // Inline function 'kotlinx.serialization.encoding.encodeStructure' call
    var descriptor = this.dl9_1;
    var composite = encoder.i48(descriptor);
    // Inline function 'nl.adaptivity.xmlutil.Companion.serialize.<anonymous>' call
    composite.w49(Companion_getInstance_0().dl9_1, 0, value.nl5());
    composite.w49(Companion_getInstance_0().dl9_1, 1, value.ll5());
    composite.j48(descriptor);
  };
  protoOf(Companion_0).r44 = function (encoder, value) {
    return this.el9(encoder, (!(value == null) ? isInterface(value, Namespace) : false) ? value : THROW_CCE());
  };
  var Companion_instance_1;
  function Companion_getInstance_0() {
    if (Companion_instance_1 == null)
      new Companion_0();
    return Companion_instance_1;
  }
  function Namespace() {
  }
  function IterableNamespaceContext() {
  }
  function QNameSerializer$descriptor$lambda($this$buildClassSerialDescriptor) {
    var stringSerializer = serializer_0(StringCompanionObject_instance);
    $this$buildClassSerialDescriptor.b45('namespace', stringSerializer.q44(), VOID, true);
    $this$buildClassSerialDescriptor.b45('localPart', stringSerializer.q44());
    $this$buildClassSerialDescriptor.b45('prefix', stringSerializer.q44(), VOID, true);
    return Unit_instance;
  }
  function QNameSerializer() {
    QNameSerializer_instance = this;
    var tmp = this;
    tmp.fl9_1 = buildClassSerialDescriptor('javax.xml.namespace.QName', [], QNameSerializer$descriptor$lambda);
  }
  protoOf(QNameSerializer).q44 = function () {
    return this.fl9_1;
  };
  protoOf(QNameSerializer).s44 = function (decoder) {
    // Inline function 'kotlinx.serialization.encoding.decodeStructure' call
    var descriptor = this.fl9_1;
    var composite = decoder.i48(descriptor);
    // Inline function 'nl.adaptivity.xmlutil.QNameSerializer.deserialize.<anonymous>' call
    var prefix = '';
    var namespace = '';
    var localPart = null;
    loop: while (true) {
      var tmp0_subject = composite.y48(QNameSerializer_getInstance().fl9_1);
      if (tmp0_subject === -1)
        break loop;
      else {
        if (tmp0_subject === 0)
          namespace = composite.s48(QNameSerializer_getInstance().fl9_1, 0);
        else {
          if (tmp0_subject === 1)
            localPart = composite.s48(QNameSerializer_getInstance().fl9_1, 1);
          else {
            if (tmp0_subject === 2)
              prefix = composite.s48(QNameSerializer_getInstance().fl9_1, 2);
          }
        }
      }
    }
    var tmp = namespace;
    var tmp_0;
    if (localPart == null) {
      throwUninitializedPropertyAccessException('localPart');
    } else {
      tmp_0 = localPart;
    }
    var result = new QName(tmp, tmp_0, prefix);
    composite.j48(descriptor);
    return result;
  };
  protoOf(QNameSerializer).gl9 = function (encoder, value) {
    // Inline function 'kotlinx.serialization.encoding.encodeStructure' call
    var descriptor = this.fl9_1;
    var composite = encoder.i48(descriptor);
    // Inline function 'nl.adaptivity.xmlutil.QNameSerializer.serialize.<anonymous>' call
    // Inline function 'kotlin.let' call
    // Inline function 'nl.adaptivity.xmlutil.namespaceURI' call
    // Inline function 'kotlin.contracts.contract' call
    var ns = value.kl9();
    var tmp;
    var tmp_0;
    // Inline function 'kotlin.text.isNotEmpty' call
    if (charSequenceLength(ns) > 0) {
      tmp_0 = true;
    } else {
      tmp_0 = composite.e4a(QNameSerializer_getInstance().fl9_1, 0);
    }
    if (tmp_0) {
      composite.w49(QNameSerializer_getInstance().fl9_1, 0, ns);
      tmp = Unit_instance;
    }
    var tmp_1 = QNameSerializer_getInstance().fl9_1;
    // Inline function 'nl.adaptivity.xmlutil.localPart' call
    var tmp$ret$3 = value.ll9();
    composite.w49(tmp_1, 1, tmp$ret$3);
    // Inline function 'kotlin.let' call
    // Inline function 'nl.adaptivity.xmlutil.prefix' call
    // Inline function 'kotlin.contracts.contract' call
    var prefix = value.ml9();
    var tmp_2;
    var tmp_3;
    // Inline function 'kotlin.text.isNotEmpty' call
    if (charSequenceLength(prefix) > 0) {
      tmp_3 = true;
    } else {
      tmp_3 = composite.e4a(QNameSerializer_getInstance().fl9_1, 2);
    }
    if (tmp_3) {
      composite.w49(QNameSerializer_getInstance().fl9_1, 2, prefix);
      tmp_2 = Unit_instance;
    }
    composite.j48(descriptor);
  };
  protoOf(QNameSerializer).r44 = function (encoder, value) {
    return this.gl9(encoder, value instanceof QName ? value : THROW_CCE());
  };
  var QNameSerializer_instance;
  function QNameSerializer_getInstance() {
    if (QNameSerializer_instance == null)
      new QNameSerializer();
    return QNameSerializer_instance;
  }
  function isEquivalent(_this__u8e3s4, other) {
    return _this__u8e3s4.ll9() === other.ll9() ? _this__u8e3s4.kl9() === other.kl9() : false;
  }
  function toNamespace(_this__u8e3s4) {
    // Inline function 'nl.adaptivity.xmlutil.prefix' call
    var tmp = _this__u8e3s4.ml9();
    // Inline function 'nl.adaptivity.xmlutil.namespaceURI' call
    var tmp$ret$1 = _this__u8e3s4.kl9();
    return new NamespaceImpl(tmp, tmp$ret$1);
  }
  function SimpleIterator($outer) {
    this.ol9_1 = $outer;
    this.nl9_1 = 0;
  }
  protoOf(SimpleIterator).f = function () {
    return this.nl9_1 < this.ol9_1.u();
  };
  protoOf(SimpleIterator).e = function () {
    var tmp1 = this.nl9_1;
    this.nl9_1 = tmp1 + 1 | 0;
    return new SimpleNamespace(this.ol9_1, tmp1);
  };
  function SimpleNamespace($outer, pos) {
    this.rl9_1 = $outer;
    this.ql9_1 = pos;
  }
  protoOf(SimpleNamespace).nl5 = function () {
    return this.rl9_1.sl9(this.ql9_1);
  };
  protoOf(SimpleNamespace).ll5 = function () {
    return this.rl9_1.tl9(this.ql9_1);
  };
  protoOf(SimpleNamespace).hashCode = function () {
    return imul(getStringHashCode(this.nl5()), 31) + getStringHashCode(this.ll5()) | 0;
  };
  protoOf(SimpleNamespace).equals = function (other) {
    if (this === other)
      return true;
    if (!(!(other == null) ? isInterface(other, Namespace) : false))
      return false;
    return this.nl5() === other.nl5() ? this.ll5() === other.ll5() : false;
  };
  protoOf(SimpleNamespace).toString = function () {
    return '{' + this.nl5() + ':' + this.ll5() + '}';
  };
  function SimpleNamespaceContext_init_$Init$($this) {
    // Inline function 'kotlin.emptyArray' call
    var tmp$ret$0 = [];
    SimpleNamespaceContext.call($this, tmp$ret$0);
    return $this;
  }
  function SimpleNamespaceContext_init_$Create$() {
    return SimpleNamespaceContext_init_$Init$(objectCreate(protoOf(SimpleNamespaceContext)));
  }
  function SimpleNamespaceContext_init_$Init$_0(prefixMap, $this) {
    // Inline function 'nl.adaptivity.xmlutil.Companion.flatten' call
    Companion_getInstance_1();
    var namespaces = prefixMap.q2();
    var tmp = asSequence_0(namespaces);
    var filler = flatMap(tmp, SimpleNamespaceContext$_init_$lambda_w7q6ud).w();
    var tmp_0 = 0;
    var tmp_1 = imul(namespaces.u(), 2);
    // Inline function 'kotlin.arrayOfNulls' call
    var tmp_2 = fillArrayVal(Array(tmp_1), null);
    while (tmp_0 < tmp_1) {
      tmp_2[tmp_0] = filler.e();
      tmp_0 = tmp_0 + 1 | 0;
    }
    SimpleNamespaceContext.call($this, tmp_2);
    return $this;
  }
  function SimpleNamespaceContext_init_$Create$_0(prefixMap) {
    return SimpleNamespaceContext_init_$Init$_0(prefixMap, objectCreate(protoOf(SimpleNamespaceContext)));
  }
  function SimpleNamespaceContext_init_$Init$_1(prefixes, namespaces, $this) {
    var tmp = 0;
    var tmp_0 = imul(prefixes.length, 2);
    // Inline function 'kotlin.arrayOfNulls' call
    var tmp_1 = fillArrayVal(Array(tmp_0), null);
    while (tmp < tmp_0) {
      var tmp_2 = tmp;
      tmp_1[tmp_2] = toString((tmp_2 % 2 | 0) === 0 ? prefixes[tmp_2 / 2 | 0] : namespaces[tmp_2 / 2 | 0]);
      tmp = tmp + 1 | 0;
    }
    SimpleNamespaceContext.call($this, tmp_1);
    return $this;
  }
  function SimpleNamespaceContext_init_$Init$_2(namespaces, $this) {
    // Inline function 'nl.adaptivity.xmlutil.Companion.flatten' call
    Companion_getInstance_1();
    var tmp = asSequence_0(namespaces);
    var filler = flatMap(tmp, SimpleNamespaceContext$_init_$lambda_w7q6ud_0).w();
    var tmp_0 = 0;
    var tmp_1 = imul(namespaces.u(), 2);
    // Inline function 'kotlin.arrayOfNulls' call
    var tmp_2 = fillArrayVal(Array(tmp_1), null);
    while (tmp_0 < tmp_1) {
      tmp_2[tmp_0] = filler.e();
      tmp_0 = tmp_0 + 1 | 0;
    }
    SimpleNamespaceContext.call($this, tmp_2);
    return $this;
  }
  function SimpleNamespaceContext_init_$Create$_1(namespaces) {
    return SimpleNamespaceContext_init_$Init$_2(namespaces, objectCreate(protoOf(SimpleNamespaceContext)));
  }
  function SimpleNamespaceContext_init_$Init$_3(namespaces, $this) {
    var tmp0_elvis_lhs = isInterface(namespaces, Collection) ? namespaces : null;
    SimpleNamespaceContext_init_$Init$_2(tmp0_elvis_lhs == null ? toList(namespaces) : tmp0_elvis_lhs, $this);
    return $this;
  }
  function SimpleNamespaceContext_init_$Create$_2(namespaces) {
    return SimpleNamespaceContext_init_$Init$_3(namespaces, objectCreate(protoOf(SimpleNamespaceContext)));
  }
  function Companion_1() {
    Companion_instance_2 = this;
    this.ul9_1 = ListSerializer(Companion_getInstance_0());
    this.vl9_1 = SerialDescriptor('nl.adaptivity.xmlutil.SimpleNamespaceContext', this.ul9_1.q44());
  }
  protoOf(Companion_1).q44 = function () {
    return this.vl9_1;
  };
  protoOf(Companion_1).wl9 = function (originalNSContext) {
    var tmp;
    if (originalNSContext instanceof SimpleNamespaceContext) {
      tmp = originalNSContext;
    } else {
      tmp = SimpleNamespaceContext_init_$Create$_2(originalNSContext);
    }
    return tmp;
  };
  protoOf(Companion_1).s44 = function (decoder) {
    return SimpleNamespaceContext_init_$Create$_1(this.ul9_1.s44(decoder));
  };
  protoOf(Companion_1).xl9 = function (encoder, value) {
    this.ul9_1.r44(encoder, toList(value));
  };
  protoOf(Companion_1).r44 = function (encoder, value) {
    return this.xl9(encoder, value instanceof SimpleNamespaceContext ? value : THROW_CCE());
  };
  var Companion_instance_2;
  function Companion_getInstance_1() {
    if (Companion_instance_2 == null)
      new Companion_1();
    return Companion_instance_2;
  }
  function SimpleNamespaceContext$_init_$lambda_w7q6ud(it) {
    // Inline function 'nl.adaptivity.xmlutil.SimpleNamespaceContext.<init>.<anonymous>' call
    var tmp = toString(it.s2());
    // Inline function 'nl.adaptivity.xmlutil.SimpleNamespaceContext.<init>.<anonymous>' call
    var tmp$ret$1 = toString(it.t2());
    return sequenceOf([tmp, tmp$ret$1]);
  }
  function SimpleNamespaceContext$_init_$lambda_w7q6ud_0(it) {
    // Inline function 'nl.adaptivity.xmlutil.SimpleNamespaceContext.<init>.<anonymous>' call
    var tmp = it.nl5();
    // Inline function 'nl.adaptivity.xmlutil.SimpleNamespaceContext.<init>.<anonymous>' call
    var tmp$ret$1 = it.ll5();
    return sequenceOf([tmp, tmp$ret$1]);
  }
  function SimpleNamespaceContext$getPrefixSequence$lambda(this$0, $namespaceURI) {
    return function (it) {
      return this$0.tl9(it) === $namespaceURI;
    };
  }
  function SimpleNamespaceContext$getPrefixSequence$lambda_0(this$0) {
    return function (it) {
      return this$0.sl9(it);
    };
  }
  function SimpleNamespaceContext(buffer) {
    Companion_getInstance_1();
    this.pl9_1 = buffer;
  }
  protoOf(SimpleNamespaceContext).yl9 = function () {
    return until(0, this.u());
  };
  protoOf(SimpleNamespaceContext).u = function () {
    return this.pl9_1.length / 2 | 0;
  };
  protoOf(SimpleNamespaceContext).hl5 = function () {
    return this;
  };
  protoOf(SimpleNamespaceContext).fl5 = function (prefix) {
    var tmp;
    if (prefix === 'xml') {
      tmp = 'http://www.w3.org/XML/1998/namespace';
    } else {
      if (prefix === 'xmlns') {
        tmp = 'http://www.w3.org/2000/xmlns/';
      } else {
        // Inline function 'kotlin.collections.filter' call
        // Inline function 'kotlin.collections.filterTo' call
        var this_0 = reversed(this.yl9());
        var destination = ArrayList_init_$Create$();
        var tmp0_iterator = this_0.w();
        while (tmp0_iterator.f()) {
          var element = tmp0_iterator.e();
          // Inline function 'nl.adaptivity.xmlutil.SimpleNamespaceContext.getNamespaceURI.<anonymous>' call
          if (this.sl9(element) === prefix) {
            destination.i1(element);
          }
        }
        var tmp1_safe_receiver = firstOrNull(destination);
        var tmp_0;
        if (tmp1_safe_receiver == null) {
          tmp_0 = null;
        } else {
          // Inline function 'kotlin.let' call
          // Inline function 'kotlin.contracts.contract' call
          // Inline function 'nl.adaptivity.xmlutil.SimpleNamespaceContext.getNamespaceURI.<anonymous>' call
          tmp_0 = this.tl9(tmp1_safe_receiver);
        }
        tmp = tmp_0;
      }
    }
    return tmp;
  };
  protoOf(SimpleNamespaceContext).gl5 = function (namespaceURI) {
    return firstOrNull_0(this.zl9(namespaceURI));
  };
  protoOf(SimpleNamespaceContext).zl9 = function (namespaceURI) {
    var tmp;
    if (namespaceURI === 'http://www.w3.org/XML/1998/namespace') {
      tmp = sequenceOf(['xml']);
    } else {
      if (namespaceURI === '') {
        tmp = sequenceOf(['']);
      } else {
        if (namespaceURI === 'http://www.w3.org/2000/xmlns/') {
          tmp = sequenceOf(['xmlns']);
        } else {
          var tmp_0 = asSequence_0(reversed(this.yl9()));
          var tmp_1 = filter(tmp_0, SimpleNamespaceContext$getPrefixSequence$lambda(this, namespaceURI));
          tmp = map(tmp_1, SimpleNamespaceContext$getPrefixSequence$lambda_0(this));
        }
      }
    }
    return tmp;
  };
  protoOf(SimpleNamespaceContext).il5 = function (namespaceURI) {
    return this.zl9(namespaceURI).w();
  };
  protoOf(SimpleNamespaceContext).sl9 = function (index) {
    try {
      return this.pl9_1[imul(index, 2)];
    } catch ($p) {
      if ($p instanceof IndexOutOfBoundsException) {
        var e = $p;
        throw IndexOutOfBoundsException_init_$Create$_0('Index out of range: ' + index);
      } else {
        throw $p;
      }
    }
  };
  protoOf(SimpleNamespaceContext).tl9 = function (index) {
    try {
      return this.pl9_1[imul(index, 2) + 1 | 0];
    } catch ($p) {
      if ($p instanceof IndexOutOfBoundsException) {
        var e = $p;
        throw IndexOutOfBoundsException_init_$Create$_0('Index out of range: ' + index);
      } else {
        throw $p;
      }
    }
  };
  protoOf(SimpleNamespaceContext).w = function () {
    return new SimpleIterator(this);
  };
  protoOf(SimpleNamespaceContext).jl5 = function (secondary) {
    var tmp;
    var tmp_0;
    if (secondary instanceof SimpleNamespaceContext) {
      tmp_0 = secondary.u() === 0;
    } else {
      tmp_0 = false;
    }
    if (tmp_0) {
      tmp = this;
    } else {
      var tmp_1;
      if (secondary instanceof SimpleNamespaceContext) {
        tmp_1 = this.u() === 0;
      } else {
        tmp_1 = false;
      }
      if (tmp_1) {
        tmp = secondary;
      } else {
        tmp = plus_0.call(this, secondary);
      }
    }
    return tmp;
  };
  protoOf(SimpleNamespaceContext).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof SimpleNamespaceContext))
      return false;
    if (!contentEquals(this.pl9_1, other.pl9_1))
      return false;
    return true;
  };
  protoOf(SimpleNamespaceContext).hashCode = function () {
    return contentHashCode(this.pl9_1);
  };
  function XMLConstants() {
    this.ala_1 = '';
    this.bla_1 = '';
    this.cla_1 = 'http://www.w3.org/2000/xmlns/';
    this.dla_1 = 'xmlns';
    this.ela_1 = 'xml';
    this.fla_1 = 'http://www.w3.org/XML/1998/namespace';
    this.gla_1 = 'xsi';
    this.hla_1 = 'http://www.w3.org/2001/XMLSchema-instance';
    this.ila_1 = 'xsd';
    this.jla_1 = 'http://www.w3.org/2001/XMLSchema';
  }
  var XMLConstants_instance;
  function XMLConstants_getInstance() {
    return XMLConstants_instance;
  }
  function XmlBufferedReader(delegate) {
    XmlBufferedReaderBase.call(this, delegate);
    this.nla_1 = ArrayDeque_init_$Create$();
  }
  protoOf(XmlBufferedReader).ola = function () {
    // Inline function 'kotlin.collections.isNotEmpty' call
    return !this.nla_1.c1();
  };
  protoOf(XmlBufferedReader).pla = function () {
    return this.nla_1.hf();
  };
  protoOf(XmlBufferedReader).qla = function () {
    return this.nla_1.kf();
  };
  protoOf(XmlBufferedReader).rla = function () {
    var tmp0_elvis_lhs = this.ula_1;
    var tmp;
    if (tmp0_elvis_lhs == null) {
      throw XmlException_init_$Create$_0('Push back fails due to missing current element');
    } else {
      tmp = tmp0_elvis_lhs;
    }
    var c = tmp;
    switch (c.ul5().za_1) {
      case 1:
        this.wla();
        break;
      case 2:
        this.xla();
        break;
      default:
        break;
    }
    this.nla_1.if(c);
  };
  protoOf(XmlBufferedReader).yla = function (events) {
    this.nla_1.m1(events);
  };
  protoOf(XmlBufferedReader).n = function () {
    protoOf(XmlBufferedReaderBase).n.call(this);
    this.nla_1.n1();
  };
  function _get_currentElement__mbt3qg($this) {
    var tmp = $this.ula_1;
    var tmp0_elvis_lhs = tmp instanceof StartElementEvent ? tmp : null;
    var tmp_0;
    if (tmp0_elvis_lhs == null) {
      throw XmlException_init_$Create$_0('Expected a start element, but did not find it.');
    } else {
      tmp_0 = tmp0_elvis_lhs;
    }
    return tmp_0;
  }
  function removeFirstToCurrent($this) {
    var event = $this.qla();
    $this.ula_1 = event;
    switch (event.ul5().za_1) {
      case 1:
        $this.tla_1.xla();
        var start = event instanceof StartElementEvent ? event : THROW_CCE();
        var tmp1_iterator = start.xl5().w();
        while (tmp1_iterator.f()) {
          var ns = tmp1_iterator.e();
          $this.tla_1.ulb(ns);
        }

        break;
      case 2:
        $this.tla_1.wla();
        break;
      default:
        break;
    }
    return event;
  }
  function XmlBufferedReaderBase(delegate) {
    this.sla_1 = delegate;
    this.tla_1 = new NamespaceHolder();
    if (this.sla_1.ol5()) {
      var tmp0_iterator = this.sla_1.wl5().w();
      while (tmp0_iterator.f()) {
        var ns = tmp0_iterator.e();
        this.tla_1.ulb(ns);
      }
    }
    this.ula_1 = this.sla_1.ol5() ? Companion_instance_3.vlb(this.sla_1) : null;
  }
  protoOf(XmlBufferedReaderBase).ll5 = function () {
    var tmp0_safe_receiver = this.ula_1;
    var tmp1_subject = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.ul5();
    var tmp;
    switch (tmp1_subject == null ? -1 : tmp1_subject.za_1) {
      case 10:
        var tmp_0 = this.ula_1;
        tmp = (tmp_0 instanceof Attribute ? tmp_0 : THROW_CCE()).alc_1;
        break;
      case 1:
        var tmp_1 = this.ula_1;
        tmp = (tmp_1 instanceof StartElementEvent ? tmp_1 : THROW_CCE()).clc_1;
        break;
      case 2:
        var tmp_2 = this.ula_1;
        tmp = (tmp_2 instanceof EndElementEvent ? tmp_2 : THROW_CCE()).clc_1;
        break;
      default:
        var tmp2_safe_receiver = this.ula_1;
        throw XmlException_init_$Create$_0('Attribute not defined here: namespaceUri (current event: ' + (tmp2_safe_receiver == null ? null : tmp2_safe_receiver.ul5()) + ')');
    }
    return tmp;
  };
  protoOf(XmlBufferedReaderBase).ml5 = function () {
    var tmp0_safe_receiver = this.ula_1;
    var tmp1_subject = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.ul5();
    var tmp;
    switch (tmp1_subject == null ? -1 : tmp1_subject.za_1) {
      case 8:
        var tmp_0 = this.ula_1;
        tmp = (tmp_0 instanceof EntityRefEvent ? tmp_0 : THROW_CCE()).ilc_1;
        break;
      case 10:
        var tmp_1 = this.ula_1;
        tmp = (tmp_1 instanceof Attribute ? tmp_1 : THROW_CCE()).zlb_1;
        break;
      case 1:
        var tmp_2 = this.ula_1;
        tmp = (tmp_2 instanceof StartElementEvent ? tmp_2 : THROW_CCE()).dlc_1;
        break;
      case 2:
        var tmp_3 = this.ula_1;
        tmp = (tmp_3 instanceof EndElementEvent ? tmp_3 : THROW_CCE()).dlc_1;
        break;
      default:
        throw XmlException_init_$Create$_0('Attribute not defined here: localName');
    }
    return tmp;
  };
  protoOf(XmlBufferedReaderBase).nl5 = function () {
    var tmp0_safe_receiver = this.ula_1;
    var tmp1_subject = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.ul5();
    var tmp;
    switch (tmp1_subject == null ? -1 : tmp1_subject.za_1) {
      case 10:
        var tmp_0 = this.ula_1;
        tmp = (tmp_0 instanceof Attribute ? tmp_0 : THROW_CCE()).ylb_1;
        break;
      case 1:
        var tmp_1 = this.ula_1;
        tmp = (tmp_1 instanceof StartElementEvent ? tmp_1 : THROW_CCE()).elc_1;
        break;
      case 2:
        var tmp_2 = this.ula_1;
        tmp = (tmp_2 instanceof EndElementEvent ? tmp_2 : THROW_CCE()).elc_1;
        break;
      default:
        throw XmlException_init_$Create$_0('Attribute not defined here: prefix');
    }
    return tmp;
  };
  protoOf(XmlBufferedReaderBase).pl5 = function () {
    return this.tla_1.llb_1;
  };
  protoOf(XmlBufferedReaderBase).xla = function () {
    this.tla_1.xla();
  };
  protoOf(XmlBufferedReaderBase).wla = function () {
    this.tla_1.wla();
  };
  protoOf(XmlBufferedReaderBase).ql5 = function () {
    var tmp = this.ula_1;
    return (tmp instanceof ProcessingInstructionEvent ? tmp : THROW_CCE()).bl9_1;
  };
  protoOf(XmlBufferedReaderBase).rl5 = function () {
    var tmp = this.ula_1;
    return (tmp instanceof ProcessingInstructionEvent ? tmp : THROW_CCE()).cl9_1;
  };
  protoOf(XmlBufferedReaderBase).sl5 = function () {
    var tmp;
    if (ensureNotNull(this.ula_1).ul5() === EventType_ATTRIBUTE_getInstance()) {
      var tmp_0 = this.ula_1;
      tmp = (tmp_0 instanceof Attribute ? tmp_0 : THROW_CCE()).xlb_1;
    } else {
      var tmp_1 = this.ula_1;
      tmp = (tmp_1 instanceof TextEvent ? tmp_1 : THROW_CCE()).vl6_1;
    }
    return tmp;
  };
  protoOf(XmlBufferedReaderBase).tl5 = function () {
    return _get_currentElement__mbt3qg(this).rlb_1.length;
  };
  protoOf(XmlBufferedReaderBase).ol5 = function () {
    return !(this.ula_1 == null);
  };
  protoOf(XmlBufferedReaderBase).ul5 = function () {
    var tmp0_safe_receiver = this.ula_1;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.ul5();
    var tmp;
    if (tmp1_elvis_lhs == null) {
      var tmp_0;
      if (this.f()) {
        throw XmlException_init_$Create$_0('Attempting to get the event type before getting an event.');
      } else {
        throw XmlException_init_$Create$_0('Attempting to read beyond the end of the stream');
      }
    } else {
      tmp = tmp1_elvis_lhs;
    }
    return tmp;
  };
  protoOf(XmlBufferedReaderBase).vl5 = function () {
    var tmp0_safe_receiver = this.ula_1;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.vla_1;
    return tmp1_elvis_lhs == null ? this.sla_1.vl5() : tmp1_elvis_lhs;
  };
  protoOf(XmlBufferedReaderBase).wl5 = function () {
    var c = this.ula_1;
    var tmp;
    if (c instanceof StartElementEvent) {
      tmp = c.wl5();
    } else {
      if (c instanceof EndElementEvent) {
        tmp = c.nlc_1;
      } else {
        tmp = this.tla_1.mlb_1;
      }
    }
    return tmp;
  };
  protoOf(XmlBufferedReaderBase).xl5 = function () {
    var c = this.ula_1;
    var tmp;
    if (c instanceof StartElementEvent) {
      tmp = toList(c.xl5());
    } else {
      tmp = this.tla_1.olc();
    }
    return tmp;
  };
  protoOf(XmlBufferedReaderBase).yl5 = function () {
    var tmp = this.ula_1;
    return (tmp instanceof StartDocumentEvent ? tmp : THROW_CCE()).qlc_1;
  };
  protoOf(XmlBufferedReaderBase).zl5 = function () {
    var tmp = this.ula_1;
    return (tmp instanceof StartDocumentEvent ? tmp : THROW_CCE()).slc_1;
  };
  protoOf(XmlBufferedReaderBase).p3c = function () {
    var tmp = this.ula_1;
    return (tmp instanceof StartDocumentEvent ? tmp : THROW_CCE()).rlc_1;
  };
  protoOf(XmlBufferedReaderBase).zla = function () {
    if (this.ola()) {
      return removeFirstToCurrent(this);
    }
    if (!this.f()) {
      throw NoSuchElementException_init_$Create$();
    }
    this.alb();
    return removeFirstToCurrent(this);
  };
  protoOf(XmlBufferedReaderBase).alb = function () {
    if (!this.ola()) {
      this.yla(this.blb());
    }
    return this.pla();
  };
  protoOf(XmlBufferedReaderBase).blb = function () {
    if (this.sla_1.f()) {
      this.sla_1.e();
      var event = Companion_instance_3.vlb(this.sla_1);
      var result = ArrayList_init_$Create$_0(1);
      result.i1(event);
      return result;
    }
    return emptyList();
  };
  protoOf(XmlBufferedReaderBase).f = function () {
    if (this.ola()) {
      return true;
    }
    return !(this.alb() == null);
  };
  protoOf(XmlBufferedReaderBase).n = function () {
    this.sla_1.n();
  };
  protoOf(XmlBufferedReaderBase).clb = function () {
    return this.dlb().ul5();
  };
  protoOf(XmlBufferedReaderBase).dlb = function () {
    var current = this.zla();
    var tmp;
    switch (current.ul5().za_1) {
      case 4:
        var tmp_0;
        if (isXmlWhitespace((current instanceof TextEvent ? current : THROW_CCE()).vl6_1)) {
          tmp_0 = this.dlb();
        } else {
          throw XmlException_init_$Create$_0('Unexpected element found when looking for tags: ' + current);
        }

        tmp = tmp_0;
        break;
      case 0:
      case 3:
      case 9:
      case 11:
        tmp = this.dlb();
        break;
      case 1:
      case 2:
        tmp = current;
        break;
      default:
        throw XmlException_init_$Create$_0('Unexpected element found when looking for tags: ' + current);
    }
    return tmp;
  };
  protoOf(XmlBufferedReaderBase).e = function () {
    return this.zla().ul5();
  };
  protoOf(XmlBufferedReaderBase).al6 = function (index) {
    return _get_currentElement__mbt3qg(this).rlb_1[index].alc_1;
  };
  protoOf(XmlBufferedReaderBase).bl6 = function (index) {
    return _get_currentElement__mbt3qg(this).rlb_1[index].ylb_1;
  };
  protoOf(XmlBufferedReaderBase).cl6 = function (index) {
    return _get_currentElement__mbt3qg(this).rlb_1[index].zlb_1;
  };
  protoOf(XmlBufferedReaderBase).dl6 = function (index) {
    return _get_currentElement__mbt3qg(this).rlb_1[index].xlb_1;
  };
  protoOf(XmlBufferedReaderBase).m7d = function (nsUri, localName) {
    var tmp$ret$1;
    $l$block: {
      // Inline function 'kotlin.collections.firstOrNull' call
      var indexedObject = _get_currentElement__mbt3qg(this).rlb_1;
      var inductionVariable = 0;
      var last = indexedObject.length;
      while (inductionVariable < last) {
        var element = indexedObject[inductionVariable];
        inductionVariable = inductionVariable + 1 | 0;
        // Inline function 'nl.adaptivity.xmlutil.XmlBufferedReaderBase.getAttributeValue.<anonymous>' call
        if ((nsUri == null ? true : nsUri === element.alc_1) ? localName === element.zlb_1 : false) {
          tmp$ret$1 = element;
          break $l$block;
        }
      }
      tmp$ret$1 = null;
    }
    var tmp0_safe_receiver = tmp$ret$1;
    return tmp0_safe_receiver == null ? null : tmp0_safe_receiver.xlb_1;
  };
  protoOf(XmlBufferedReaderBase).fl5 = function (prefix) {
    return _get_currentElement__mbt3qg(this).fl5(prefix);
  };
  function XmlDelegatingReader(delegate) {
    this.tlc_1 = delegate;
  }
  protoOf(XmlDelegatingReader).fx = function () {
    return this.tlc_1;
  };
  protoOf(XmlDelegatingReader).tl5 = function () {
    return this.tlc_1.tl5();
  };
  protoOf(XmlDelegatingReader).pl5 = function () {
    return this.tlc_1.pl5();
  };
  protoOf(XmlDelegatingReader).yl5 = function () {
    return this.tlc_1.yl5();
  };
  protoOf(XmlDelegatingReader).ul5 = function () {
    return this.tlc_1.ul5();
  };
  protoOf(XmlDelegatingReader).ol5 = function () {
    return this.tlc_1.ol5();
  };
  protoOf(XmlDelegatingReader).ml5 = function () {
    return this.tlc_1.ml5();
  };
  protoOf(XmlDelegatingReader).vl5 = function () {
    return this.tlc_1.vl5();
  };
  protoOf(XmlDelegatingReader).dc = function () {
    return this.tlc_1.dc();
  };
  protoOf(XmlDelegatingReader).wl5 = function () {
    return this.tlc_1.wl5();
  };
  protoOf(XmlDelegatingReader).xl5 = function () {
    return this.tlc_1.xl5();
  };
  protoOf(XmlDelegatingReader).ll5 = function () {
    return this.tlc_1.ll5();
  };
  protoOf(XmlDelegatingReader).rl5 = function () {
    return this.tlc_1.rl5();
  };
  protoOf(XmlDelegatingReader).ql5 = function () {
    return this.tlc_1.ql5();
  };
  protoOf(XmlDelegatingReader).nl5 = function () {
    return this.tlc_1.nl5();
  };
  protoOf(XmlDelegatingReader).zl5 = function () {
    return this.tlc_1.zl5();
  };
  protoOf(XmlDelegatingReader).sl5 = function () {
    return this.tlc_1.sl5();
  };
  protoOf(XmlDelegatingReader).p3c = function () {
    return this.tlc_1.p3c();
  };
  protoOf(XmlDelegatingReader).n = function () {
    this.tlc_1.n();
  };
  protoOf(XmlDelegatingReader).cl6 = function (index) {
    return this.tlc_1.cl6(index);
  };
  protoOf(XmlDelegatingReader).al6 = function (index) {
    return this.tlc_1.al6(index);
  };
  protoOf(XmlDelegatingReader).bl6 = function (index) {
    return this.tlc_1.bl6(index);
  };
  protoOf(XmlDelegatingReader).dl6 = function (index) {
    return this.tlc_1.dl6(index);
  };
  protoOf(XmlDelegatingReader).m7d = function (nsUri, localName) {
    return this.tlc_1.m7d(nsUri, localName);
  };
  protoOf(XmlDelegatingReader).f = function () {
    return this.tlc_1.f();
  };
  protoOf(XmlDelegatingReader).e = function () {
    return this.tlc_1.e();
  };
  protoOf(XmlDelegatingReader).el6 = function (type, namespace, name) {
    this.tlc_1.el6(type, namespace, name);
  };
  function XmlEvent$StartElementEvent$toString$lambda(it) {
    return it.zlb_1 + ' = ' + it.xlb_1 + ' ';
  }
  function Companion_2() {
  }
  protoOf(Companion_2).vlb = function (reader) {
    return reader.ul5().wl7(reader);
  };
  var Companion_instance_3;
  function Companion_getInstance_2() {
    return Companion_instance_3;
  }
  function TextEvent(locationInfo, eventType, text) {
    XmlEvent.call(this, locationInfo);
    this.ul6_1 = eventType;
    this.vl6_1 = text;
  }
  protoOf(TextEvent).ul5 = function () {
    return this.ul6_1;
  };
  protoOf(TextEvent).wl6 = function (writer) {
    return this.ul5().bl8(writer, this);
  };
  protoOf(TextEvent).toString = function () {
    var tmp = this.ul5();
    var tmp0_elvis_lhs = this.vla_1;
    return '' + tmp + ' - "' + this.vl6_1 + '" (' + (tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs) + ')';
  };
  function ProcessingInstructionEvent(locationInfo, target, data) {
    TextEvent.call(this, locationInfo, EventType_PROCESSING_INSTRUCTION_getInstance(), target + ' ' + data);
    this.bl9_1 = target;
    this.cl9_1 = data;
  }
  function EntityRefEvent(locationInfo, localName, text) {
    TextEvent.call(this, locationInfo, EventType_ENTITY_REF_getInstance(), text);
    this.ilc_1 = localName;
  }
  protoOf(EntityRefEvent).wl6 = function (writer) {
    return this.ul5().bl8(writer, this);
  };
  protoOf(EntityRefEvent).toString = function () {
    var tmp = this.ul5();
    var tmp0_elvis_lhs = this.vla_1;
    return '' + tmp + ' - "' + this.vl6_1 + '" (' + (tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs) + ')';
  };
  function EndDocumentEvent(locationInfo) {
    XmlEvent.call(this, locationInfo);
  }
  protoOf(EndDocumentEvent).ul5 = function () {
    return EventType_END_DOCUMENT_getInstance();
  };
  protoOf(EndDocumentEvent).toString = function () {
    var tmp = this.ul5();
    var tmp0_elvis_lhs = this.vla_1;
    return '' + tmp + ' (' + (tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs) + ')';
  };
  function EndElementEvent(locationInfo, namespaceUri, localName, prefix, namespaceContext) {
    NamedEvent.call(this, locationInfo, namespaceUri, localName, prefix);
    this.nlc_1 = namespaceContext.hl5();
  }
  protoOf(EndElementEvent).ul5 = function () {
    return EventType_END_ELEMENT_getInstance();
  };
  function StartDocumentEvent(locationInfo, encoding, version, standalone) {
    XmlEvent.call(this, locationInfo);
    this.qlc_1 = encoding;
    this.rlc_1 = version;
    this.slc_1 = standalone;
  }
  protoOf(StartDocumentEvent).ul5 = function () {
    return EventType_START_DOCUMENT_getInstance();
  };
  protoOf(StartDocumentEvent).toString = function () {
    var tmp = this.ul5();
    var tmp0_elvis_lhs = this.vla_1;
    return '' + tmp + ' - encoding:' + this.qlc_1 + ', version: ' + this.rlc_1 + ', standalone: ' + this.slc_1 + ' (' + (tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs) + ')';
  };
  function NamedEvent(locationInfo, namespaceUri, localName, prefix) {
    XmlEvent.call(this, locationInfo);
    this.clc_1 = namespaceUri;
    this.dlc_1 = localName;
    this.elc_1 = prefix;
  }
  protoOf(NamedEvent).toString = function () {
    var tmp = this.ul5();
    var tmp0_elvis_lhs = this.vla_1;
    return '' + tmp + ' - {' + this.clc_1 + '}' + this.elc_1 + ':' + this.dlc_1 + ' (' + (tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs) + ')';
  };
  function StartElementEvent(locationInfo, namespaceUri, localName, prefix, attributes, parentNamespaceContext, namespaceDecls) {
    NamedEvent.call(this, locationInfo, namespaceUri, localName, prefix);
    this.rlb_1 = attributes;
    this.slb_1 = parentNamespaceContext;
    var tmp = this;
    // Inline function 'kotlin.collections.asIterable' call
    tmp.tlb_1 = SimpleNamespaceContext_init_$Create$_2(namespaceDecls);
  }
  protoOf(StartElementEvent).xl5 = function () {
    return this.tlb_1;
  };
  protoOf(StartElementEvent).ul5 = function () {
    return EventType_START_ELEMENT_getInstance();
  };
  protoOf(StartElementEvent).fl5 = function (prefix) {
    var decl = this.tlb_1.fl5(prefix);
    return decl == null ? this.slb_1.fl5(prefix) : decl;
  };
  protoOf(StartElementEvent).wl5 = function () {
    return this.tlb_1.jl5(this.slb_1);
  };
  protoOf(StartElementEvent).toString = function () {
    var tmp = this.ul5();
    var tmp0_elvis_lhs = this.vla_1;
    var tmp_0 = '' + tmp + ' - {' + this.clc_1 + '}' + this.elc_1 + ':' + this.dlc_1 + ' (' + (tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs) + ')';
    var tmp_1;
    // Inline function 'kotlin.collections.isNotEmpty' call
    // Inline function 'kotlin.collections.isEmpty' call
    if (!(this.rlb_1.length === 0)) {
      tmp_1 = '\n    ';
    } else {
      tmp_1 = '';
    }
    var tmp_2 = tmp_1;
    return tmp_0 + joinToString(this.rlb_1, '\n    ', tmp_2, VOID, VOID, VOID, XmlEvent$StartElementEvent$toString$lambda);
  };
  function Attribute(locationInfo, namespaceUri, localName, prefix, value) {
    XmlEvent.call(this, locationInfo);
    this.xlb_1 = toString(value);
    this.ylb_1 = toString(prefix);
    this.zlb_1 = toString(localName);
    this.alc_1 = toString(namespaceUri);
  }
  protoOf(Attribute).ul5 = function () {
    return EventType_ATTRIBUTE_getInstance();
  };
  protoOf(Attribute).toString = function () {
    return isBlank(this.alc_1) ? this.zlb_1 + '="' + this.xlb_1 + '"' : isBlank(this.ylb_1) ? '{' + this.alc_1 + '}' + this.zlb_1 + '="' + this.xlb_1 + '"' : '{' + this.alc_1 + '}' + this.ylb_1 + ':' + this.zlb_1 + '="' + this.xlb_1 + '"';
  };
  protoOf(Attribute).equals = function (other) {
    if (this === other)
      return true;
    if (other == null ? true : !getKClassFromExpression(this).equals(getKClassFromExpression(other)))
      return false;
    if (!(other instanceof Attribute))
      THROW_CCE();
    if (!(this.xlb_1 === other.xlb_1))
      return false;
    if (!(this.ylb_1 === other.ylb_1))
      return false;
    if (!(this.zlb_1 === other.zlb_1))
      return false;
    if (!(this.alc_1 === other.alc_1))
      return false;
    return true;
  };
  protoOf(Attribute).hashCode = function () {
    var result = getStringHashCode(this.xlb_1);
    result = imul(31, result) + getStringHashCode(this.ylb_1) | 0;
    result = imul(31, result) + getStringHashCode(this.zlb_1) | 0;
    result = imul(31, result) + getStringHashCode(this.alc_1) | 0;
    return result;
  };
  function NamespaceImpl(namespacePrefix, namespaceUri) {
    this.vlc_1 = toString(namespacePrefix);
    this.wlc_1 = toString(namespaceUri);
  }
  protoOf(NamespaceImpl).nl5 = function () {
    return this.vlc_1;
  };
  protoOf(NamespaceImpl).ll5 = function () {
    return this.wlc_1;
  };
  protoOf(NamespaceImpl).equals = function (other) {
    if (this === other)
      return true;
    if (!(!(other == null) ? isInterface(other, Namespace) : false))
      return false;
    if (!(this.vlc_1 === other.nl5()))
      return false;
    if (!(this.wlc_1 === other.ll5()))
      return false;
    return true;
  };
  protoOf(NamespaceImpl).hashCode = function () {
    return imul(31, getStringHashCode(this.vlc_1)) + getStringHashCode(this.wlc_1) | 0;
  };
  protoOf(NamespaceImpl).toString = function () {
    return '{' + this.vlc_1 + ':' + this.wlc_1 + '}';
  };
  function XmlEvent(locationInfo) {
    this.vla_1 = locationInfo;
  }
  function XmlException_init_$Init$($this) {
    IOException_init_$Init$($this);
    XmlException.call($this);
    return $this;
  }
  function XmlException_init_$Create$() {
    var tmp = XmlException_init_$Init$(objectCreate(protoOf(XmlException)));
    captureStack(tmp, XmlException_init_$Create$);
    return tmp;
  }
  function XmlException_init_$Init$_0(message, $this) {
    IOException_init_$Init$_0(message, $this);
    XmlException.call($this);
    return $this;
  }
  function XmlException_init_$Create$_0(message) {
    var tmp = XmlException_init_$Init$_0(message, objectCreate(protoOf(XmlException)));
    captureStack(tmp, XmlException_init_$Create$_0);
    return tmp;
  }
  function XmlException_init_$Init$_1(message, cause, $this) {
    IOException_init_$Init$_1(message, cause, $this);
    XmlException.call($this);
    return $this;
  }
  function XmlException_init_$Create$_1(message, cause) {
    var tmp = XmlException_init_$Init$_1(message, cause, objectCreate(protoOf(XmlException)));
    captureStack(tmp, XmlException_init_$Create$_1);
    return tmp;
  }
  function XmlException() {
    captureStack(this, XmlException);
  }
  function XmlReader() {
  }
  function skipPreamble(_this__u8e3s4) {
    while ((!_this__u8e3s4.ol5() ? true : isIgnorable(_this__u8e3s4)) ? _this__u8e3s4.f() : false) {
      _this__u8e3s4.e();
    }
  }
  function readSimpleElement(_this__u8e3s4) {
    var t = _this__u8e3s4;
    t.el6(EventType_START_ELEMENT_getInstance(), null, null);
    // Inline function 'kotlin.text.buildString' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.apply' call
    var this_0 = StringBuilder_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.readSimpleElement.<anonymous>' call
    while (!(t.e() === EventType_END_ELEMENT_getInstance())) {
      switch (t.ul5().za_1) {
        case 3:
        case 11:
          break;
        case 9:
        case 4:
        case 8:
        case 5:
          this_0.y5(t.sl5());
          break;
        default:
          throw XmlException_init_$Create$_0('Expected text content or end tag, found: ' + t.ul5());
      }
    }
    return this_0.toString();
  }
  function allConsecutiveTextContent(_this__u8e3s4) {
    var t = _this__u8e3s4;
    // Inline function 'kotlin.text.buildString' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.apply' call
    var this_0 = StringBuilder_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.allConsecutiveTextContent.<anonymous>' call
    if (_this__u8e3s4.ul5().al8() ? true : _this__u8e3s4.ul5().equals(EventType_IGNORABLE_WHITESPACE_getInstance())) {
      this_0.y5(_this__u8e3s4.sl5());
    }
    var event = null;
    loop: while (true) {
      // Inline function 'kotlin.apply' call
      var this_1 = t.alb();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.allConsecutiveTextContent.<anonymous>.<anonymous>' call
      event = this_1;
      if (!!((this_1 == null ? null : this_1.ul5()) === EventType_END_ELEMENT_getInstance())) {
        break loop;
      }
      var tmp1_safe_receiver = event;
      var tmp2_subject = tmp1_safe_receiver == null ? null : tmp1_safe_receiver.ul5();
      switch (tmp2_subject == null ? -1 : tmp2_subject.za_1) {
        case 11:
        case 3:
          t.e();
          break;
        case 9:
        case 4:
        case 8:
        case 5:
          t.e();
          this_0.y5(t.sl5());
          break;
        case 1:
          break loop;
        default:
          throw XmlException_init_$Create$_0('Found unexpected child tag: ' + event);
      }
    }
    return this_0.toString();
  }
  function allText(_this__u8e3s4) {
    var t = _this__u8e3s4;
    // Inline function 'kotlin.text.buildString' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.apply' call
    var this_0 = StringBuilder_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.allText.<anonymous>' call
    if (_this__u8e3s4.ul5().al8()) {
      this_0.y5(_this__u8e3s4.sl5());
    }
    var type;
    $l$loop: while (true) {
      // Inline function 'kotlin.apply' call
      var this_1 = t.e();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.allText.<anonymous>.<anonymous>' call
      type = this_1;
      if (!!(this_1 === EventType_END_ELEMENT_getInstance())) {
        break $l$loop;
      }
      switch (type == null ? -1 : type.za_1) {
        case 11:
        case 3:
          break;
        case 9:
          if (!(this_0.a() === 0)) {
            this_0.y5(t.sl5());
          }

          break;
        case 8:
        case 4:
        case 5:
          this_0.y5(t.sl5());
          break;
        default:
          throw XmlException_init_$Create$_0('Found unexpected child tag with type: ' + type);
      }
    }
    return this_0.toString();
  }
  function isIgnorable(_this__u8e3s4) {
    switch (_this__u8e3s4.ul5().za_1) {
      case 3:
      case 0:
      case 7:
      case 11:
      case 6:
      case 9:
        return true;
      case 4:
        return isXmlWhitespace(_this__u8e3s4.sl5());
      default:
        return false;
    }
  }
  function get_attributes(_this__u8e3s4) {
    var tmp = 0;
    var tmp_0 = _this__u8e3s4.tl5();
    // Inline function 'kotlin.arrayOfNulls' call
    var tmp_1 = fillArrayVal(Array(tmp_0), null);
    while (tmp < tmp_0) {
      var tmp_2 = tmp;
      tmp_1[tmp_2] = new Attribute(_this__u8e3s4.vl5(), _this__u8e3s4.al6(tmp_2), _this__u8e3s4.cl6(tmp_2), _this__u8e3s4.bl6(tmp_2), _this__u8e3s4.dl6(tmp_2));
      tmp = tmp + 1 | 0;
    }
    return tmp_1;
  }
  function writeCurrent(_this__u8e3s4, writer) {
    return _this__u8e3s4.ul5().xl7(writer, _this__u8e3s4);
  }
  function get_attributeIndices(_this__u8e3s4) {
    return until(0, _this__u8e3s4.tl5());
  }
  function isPrefixDeclaredInElement(_this__u8e3s4, prefix) {
    var tmp$ret$0;
    $l$block_0: {
      // Inline function 'kotlin.collections.any' call
      var this_0 = _this__u8e3s4.xl5();
      var tmp;
      if (isInterface(this_0, Collection)) {
        tmp = this_0.c1();
      } else {
        tmp = false;
      }
      if (tmp) {
        tmp$ret$0 = false;
        break $l$block_0;
      }
      var tmp0_iterator = this_0.w();
      while (tmp0_iterator.f()) {
        var element = tmp0_iterator.e();
        // Inline function 'nl.adaptivity.xmlutil.isPrefixDeclaredInElement.<anonymous>' call
        if (element.nl5() === prefix) {
          tmp$ret$0 = true;
          break $l$block_0;
        }
      }
      tmp$ret$0 = false;
    }
    return tmp$ret$0;
  }
  function elementContentToFragment(_this__u8e3s4) {
    var r = _this__u8e3s4;
    skipPreamble(r);
    if (r.f()) {
      r.el6(EventType_START_ELEMENT_getInstance(), null, null);
      r.e();
      return siblingsToFragment(r);
    }
    return CompactFragment_init_$Create$('');
  }
  function elementToFragment(_this__u8e3s4) {
    var output = StringBuilder_init_$Create$();
    if (!_this__u8e3s4.ol5()) {
      if (_this__u8e3s4.f()) {
        _this__u8e3s4.e();
      } else {
        return CompactFragment_init_$Create$('');
      }
    }
    var startLocation = _this__u8e3s4.vl5();
    try {
      // Inline function 'kotlin.collections.mutableMapOf' call
      var missingNamespaces = LinkedHashMap_init_$Create$();
      if (_this__u8e3s4.ul5().al8() ? true : _this__u8e3s4.ul5().equals(EventType_IGNORABLE_WHITESPACE_getInstance()))
        return CompactFragment_init_$Create$(_this__u8e3s4.sl5());
      _this__u8e3s4.el6(EventType_START_ELEMENT_getInstance(), null, null);
      $l$block: {
        // Inline function 'nl.adaptivity.xmlutil.core.impl.multiplatform.use' call
        var this_0 = new KtXmlWriter(output, false, XmlDeclMode_None_getInstance());
        try {
          this_0.rl7('');
          while (_this__u8e3s4.ul5().equals(EventType_IGNORABLE_WHITESPACE_getInstance())) {
            this_0.sl6(_this__u8e3s4.sl5());
            _this__u8e3s4.e();
          }
          if (_this__u8e3s4.ul5().equals(EventType_END_ELEMENT_getInstance()) ? true : _this__u8e3s4.ul5().equals(EventType_END_DOCUMENT_getInstance())) {
            return CompactFragment_init_$Create$(output.toString());
          }
          _this__u8e3s4.el6(EventType_START_ELEMENT_getInstance(), null, null);
          var namespaceForPrefix = this_0.pl7(_this__u8e3s4.nl5());
          writeCurrent(_this__u8e3s4, this_0);
          if (!(namespaceForPrefix === _this__u8e3s4.ll5())) {
            addUndeclaredNamespaces(this_0, _this__u8e3s4, missingNamespaces);
          }
          writeElementContent(this_0, missingNamespaces, _this__u8e3s4);
          break $l$block;
        }finally {
          this_0.n();
        }
      }
      if (missingNamespaces.q('') === '') {
        missingNamespaces.u2('');
      }
      return CompactFragment_init_$Create$_0(SimpleNamespaceContext_init_$Create$_0(missingNamespaces), output.toString());
    } catch ($p) {
      if ($p instanceof XmlException) {
        var e = $p;
        throw XmlException_init_$Create$_1('Failure to parse children into string at ' + startLocation, e);
      } else {
        if ($p instanceof RuntimeException) {
          var e_0 = $p;
          throw XmlException_init_$Create$_1('Failure to parse children into string at ' + startLocation, e_0);
        } else {
          throw $p;
        }
      }
    }
  }
  var XmlDeclMode_None_instance;
  var XmlDeclMode_Minimal_instance;
  var XmlDeclMode_Auto_instance;
  var XmlDeclMode_Charset_instance;
  function Companion_3() {
  }
  var Companion_instance_4;
  function Companion_getInstance_3() {
    return Companion_instance_4;
  }
  var XmlDeclMode_entriesInitialized;
  function XmlDeclMode_initEntries() {
    if (XmlDeclMode_entriesInitialized)
      return Unit_instance;
    XmlDeclMode_entriesInitialized = true;
    XmlDeclMode_None_instance = new XmlDeclMode('None', 0);
    XmlDeclMode_Minimal_instance = new XmlDeclMode('Minimal', 1);
    XmlDeclMode_Auto_instance = new XmlDeclMode('Auto', 2);
    XmlDeclMode_Charset_instance = new XmlDeclMode('Charset', 3);
  }
  function XmlDeclMode(name, ordinal) {
    Enum.call(this, name, ordinal);
  }
  function XmlDeclMode_None_getInstance() {
    XmlDeclMode_initEntries();
    return XmlDeclMode_None_instance;
  }
  function XmlDeclMode_Minimal_getInstance() {
    XmlDeclMode_initEntries();
    return XmlDeclMode_Minimal_instance;
  }
  function toCName(_this__u8e3s4) {
    if ('' === _this__u8e3s4.ml9())
      return _this__u8e3s4.ll9();
    return _this__u8e3s4.ml9() + ':' + _this__u8e3s4.ll9();
  }
  function toQname(_this__u8e3s4, namespace) {
    var split = indexOf(_this__u8e3s4, _Char___init__impl__6a9atx(125));
    var localname;
    var nsUri;
    if (split >= 0) {
      if (!(charSequenceGet(_this__u8e3s4, 0) === _Char___init__impl__6a9atx(123)))
        throw IllegalArgumentException_init_$Create$('Not a valid qname literal');
      // Inline function 'kotlin.text.substring' call
      nsUri = toString(charSequenceSubSequence(_this__u8e3s4, 1, split));
      // Inline function 'kotlin.text.substring' call
      var startIndex = split + 1 | 0;
      var endIndex = charSequenceLength(_this__u8e3s4);
      localname = toString(charSequenceSubSequence(_this__u8e3s4, startIndex, endIndex));
    } else {
      nsUri = namespace.ll5();
      localname = toString(_this__u8e3s4);
    }
    return QName_init_$Create$(nsUri, localname);
  }
  function xmlCollapseWhitespace(original) {
    // Inline function 'kotlin.text.buildString' call
    var capacity = original.length;
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.apply' call
    var this_0 = StringBuilder_init_$Create$_0(capacity);
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.xmlCollapseWhitespace.<anonymous>' call
    var last = _Char___init__impl__6a9atx(32);
    var inductionVariable = 0;
    var last_0 = original.length;
    while (inductionVariable < last_0) {
      var c = charSequenceGet(original, inductionVariable);
      inductionVariable = inductionVariable + 1 | 0;
      var tmp;
      if (((c === _Char___init__impl__6a9atx(9) ? true : c === _Char___init__impl__6a9atx(10)) ? true : c === _Char___init__impl__6a9atx(13)) ? true : c === _Char___init__impl__6a9atx(32)) {
        if (!(last === _Char___init__impl__6a9atx(32))) {
          this_0.z5(_Char___init__impl__6a9atx(32));
        }
        tmp = _Char___init__impl__6a9atx(32);
      } else {
        this_0.z5(c);
        tmp = c;
      }
      last = tmp;
    }
    if (last === _Char___init__impl__6a9atx(32)) {
      this_0.a9(this_0.a() - 1 | 0);
    }
    return this_0.toString();
  }
  function isXmlWhitespace(data) {
    var tmp$ret$1;
    $l$block: {
      // Inline function 'kotlin.text.all' call
      var inductionVariable = 0;
      while (inductionVariable < charSequenceLength(data)) {
        var element = charSequenceGet(data, inductionVariable);
        inductionVariable = inductionVariable + 1 | 0;
        // Inline function 'nl.adaptivity.xmlutil.isXmlWhitespace.<anonymous>' call
        if (!isXmlWhitespace_0(element)) {
          tmp$ret$1 = false;
          break $l$block;
        }
      }
      tmp$ret$1 = true;
    }
    return tmp$ret$1;
  }
  function qname(namespaceUri, localname, prefix) {
    var tmp;
    if (prefix === VOID) {
      tmp = '';
    } else {
      tmp = prefix;
    }
    prefix = tmp;
    var tmp_0;
    if (namespaceUri == null) {
      tmp_0 = '';
    } else {
      tmp_0 = namespaceUri;
    }
    var tmp_1 = tmp_0;
    var tmp_2;
    if (prefix == null) {
      tmp_2 = '';
    } else {
      tmp_2 = prefix;
    }
    return new QName(tmp_1, localname, tmp_2);
  }
  function isXmlWhitespace_0(char) {
    return ((char === _Char___init__impl__6a9atx(10) ? true : char === _Char___init__impl__6a9atx(9)) ? true : char === _Char___init__impl__6a9atx(13)) ? true : char === _Char___init__impl__6a9atx(32);
  }
  function xmlEncode(_this__u8e3s4) {
    // Inline function 'kotlin.text.buildString' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.apply' call
    var this_0 = StringBuilder_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.xmlEncode.<anonymous>' call
    var inductionVariable = 0;
    while (inductionVariable < charSequenceLength(_this__u8e3s4)) {
      var c = charSequenceGet(_this__u8e3s4, inductionVariable);
      inductionVariable = inductionVariable + 1 | 0;
      if (c === _Char___init__impl__6a9atx(60)) {
        this_0.y5('&lt;');
      } else if (c === _Char___init__impl__6a9atx(62)) {
        this_0.y5('&gt;');
      } else if (c === _Char___init__impl__6a9atx(38)) {
        this_0.y5('&amp;');
      } else {
        this_0.z5(c);
      }
    }
    return this_0.toString();
  }
  function XmlWriter() {
  }
  function smartStartTag(_this__u8e3s4, qName) {
    smartStartTag_0(_this__u8e3s4, qName.kl9(), qName.ll9(), qName.ml9());
  }
  function endTag(_this__u8e3s4, predelemname) {
    _this__u8e3s4.ol7(predelemname.kl9(), predelemname.ll9(), predelemname.ml9());
  }
  function writeAttribute(_this__u8e3s4, name, value) {
    if (value == null)
      null;
    else {
      // Inline function 'kotlin.let' call
      // Inline function 'kotlin.contracts.contract' call
      var tmp;
      var tmp_0;
      // Inline function 'kotlin.text.isEmpty' call
      // Inline function 'nl.adaptivity.xmlutil.namespaceURI' call
      var this_0 = name.kl9();
      if (charSequenceLength(this_0) === 0) {
        // Inline function 'kotlin.text.isEmpty' call
        // Inline function 'nl.adaptivity.xmlutil.prefix' call
        var this_1 = name.ml9();
        tmp_0 = charSequenceLength(this_1) === 0;
      } else {
        tmp_0 = false;
      }
      if (tmp_0) {
        // Inline function 'nl.adaptivity.xmlutil.localPart' call
        var tmp$ret$4 = name.ll9();
        _this__u8e3s4.kl7(null, tmp$ret$4, null, value);
        tmp = Unit_instance;
      } else {
        // Inline function 'nl.adaptivity.xmlutil.namespaceURI' call
        var tmp_1 = name.kl9();
        // Inline function 'nl.adaptivity.xmlutil.localPart' call
        var tmp_2 = name.ll9();
        // Inline function 'nl.adaptivity.xmlutil.prefix' call
        var tmp$ret$7 = name.ml9();
        _this__u8e3s4.kl7(tmp_1, tmp_2, tmp$ret$7, value);
        tmp = Unit_instance;
      }
    }
  }
  function writeElement(_this__u8e3s4, missingNamespaces, reader) {
    if (reader.ul5().equals(EventType_END_ELEMENT_getInstance()))
      throw IllegalArgumentException_init_$Create$('Cannot really validly write an end element here');
    writeCurrent(reader, _this__u8e3s4);
    if (reader.ul5().equals(EventType_START_ELEMENT_getInstance())) {
      writeElementContent(_this__u8e3s4, missingNamespaces, reader);
    }
  }
  function serialize(_this__u8e3s4, reader) {
    while (reader.f()) {
      switch (reader.e().za_1) {
        case 0:
        case 11:
        case 6:
        case 7:
          if (_this__u8e3s4.pl5() <= 0) {
            writeCurrentEvent(_this__u8e3s4, reader);
          }

          break;
        case 9:
          // Inline function 'kotlin.text.isEmpty' call

          var this_0 = _this__u8e3s4.sl7();
          if (charSequenceLength(this_0) === 0) {
            writeCurrentEvent(_this__u8e3s4, reader);
          }

          break;
        default:
          writeCurrentEvent(_this__u8e3s4, reader);
          break;
      }
    }
  }
  function addUndeclaredNamespaces(_this__u8e3s4, reader, missingNamespaces) {
    undeclaredPrefixes(_this__u8e3s4, reader, missingNamespaces);
  }
  function writeElementContent(_this__u8e3s4, missingNamespaces, reader) {
    // Inline function 'kotlin.collections.forEach' call
    // Inline function 'kotlin.collections.iterator' call
    var tmp0_iterator = reader;
    while (tmp0_iterator.f()) {
      var element = tmp0_iterator.e();
      // Inline function 'nl.adaptivity.xmlutil.writeElementContent.<anonymous>' call
      if (reader.ul5().equals(EventType_START_ELEMENT_getInstance()) ? !(missingNamespaces == null) : false) {
        addUndeclaredNamespaces(_this__u8e3s4, reader, missingNamespaces);
      }
      writeCurrent(reader, _this__u8e3s4);
      switch (element.za_1) {
        case 1:
          writeElementContent(_this__u8e3s4, missingNamespaces, reader);
          break;
        case 2:
          return Unit_instance;
        default:
          break;
      }
    }
  }
  function smartStartTag_0(_this__u8e3s4, nsUri, localName, prefix) {
    prefix = prefix === VOID ? null : prefix;
    var tmp;
    var tmp_0;
    if (nsUri == null) {
      tmp_0 = true;
    } else {
      tmp_0 = nsUri === 'http://www.w3.org/XML/1998/namespace';
    }
    if (tmp_0) {
      tmp = true;
    } else {
      tmp = nsUri === 'http://www.w3.org/2000/xmlns/';
    }
    if (tmp) {
      var tmp_1 = _this__u8e3s4.wl5();
      var tmp_2;
      if (prefix == null) {
        tmp_2 = '';
      } else {
        tmp_2 = prefix;
      }
      var tmp1_elvis_lhs = tmp_1.fl5(tmp_2);
      var tmp_3;
      if (tmp1_elvis_lhs == null) {
        tmp_3 = '';
      } else {
        tmp_3 = tmp1_elvis_lhs;
      }
      var namespace = tmp_3;
      _this__u8e3s4.gl7(namespace, localName, prefix);
    } else {
      var writeNs = false;
      var tmp2_elvis_lhs = _this__u8e3s4.ql7(nsUri);
      var tmp_4;
      if (tmp2_elvis_lhs == null) {
        // Inline function 'kotlin.run' call
        // Inline function 'kotlin.contracts.contract' call
        // Inline function 'nl.adaptivity.xmlutil.smartStartTag.<anonymous>' call
        var tmp_5;
        if (prefix == null) {
          tmp_5 = null;
        } else {
          // Inline function 'kotlin.let' call
          // Inline function 'kotlin.contracts.contract' call
          // Inline function 'nl.adaptivity.xmlutil.smartStartTag.<anonymous>.<anonymous>' call
          tmp_5 = _this__u8e3s4.pl7(prefix);
        }
        var tmp1_elvis_lhs_0 = tmp_5;
        var tmp_6;
        if (tmp1_elvis_lhs_0 == null) {
          tmp_6 = '';
        } else {
          tmp_6 = tmp1_elvis_lhs_0;
        }
        var currentNs = tmp_6;
        if (!(nsUri === currentNs)) {
          writeNs = true;
        }
        var tmp_7;
        if (prefix == null) {
          tmp_7 = '';
        } else {
          tmp_7 = prefix;
        }
        tmp_4 = tmp_7;
      } else {
        tmp_4 = tmp2_elvis_lhs;
      }
      var usedPrefix = tmp_4;
      _this__u8e3s4.gl7(nsUri, localName, usedPrefix);
      if (writeNs) {
        _this__u8e3s4.fl7(usedPrefix, nsUri);
      }
    }
  }
  function writeCurrentEvent(_this__u8e3s4, reader) {
    switch (reader.ul5().za_1) {
      case 0:
        _this__u8e3s4.ll7(null, reader.yl5(), reader.zl5());
        break;
      case 1:
        _this__u8e3s4.gl7(reader.ll5(), reader.ml5(), reader.nl5());
        // Inline function 'kotlin.run' call

        // Inline function 'kotlin.contracts.contract' call

        var tmp0_iterator = reader.xl5().w();
        while (tmp0_iterator.f()) {
          var a = tmp0_iterator.e();
          _this__u8e3s4.fl7(a.nl5(), a.ll5());
        }

        // Inline function 'kotlin.run' call

        // Inline function 'kotlin.contracts.contract' call

        var progression = get_attributeIndices(reader);
        var inductionVariable = progression.ib_1;
        var last = progression.jb_1;
        var tmp;
        if (inductionVariable <= last) {
          do {
            var i = inductionVariable;
            inductionVariable = inductionVariable + 1 | 0;
            var attrPrefix = reader.bl6(i);
            var namespace = attrPrefix === '' ? '' : reader.al6(i);
            var tmp_0;
            if (namespace === '') {
              tmp_0 = '';
            } else if (namespace === _this__u8e3s4.wl5().fl5(attrPrefix)) {
              tmp_0 = attrPrefix;
            } else {
              var tmp2_elvis_lhs = _this__u8e3s4.wl5().gl5(namespace);
              tmp_0 = tmp2_elvis_lhs == null ? attrPrefix : tmp2_elvis_lhs;
            }
            var prefix = tmp_0;
            _this__u8e3s4.kl7(namespace, reader.cl6(i), prefix, reader.dl6(i));
          }
           while (!(i === last));
          tmp = Unit_instance;
        }

        break;
      case 2:
        _this__u8e3s4.ol7(reader.ll5(), reader.ml5(), reader.nl5());
        break;
      case 3:
        _this__u8e3s4.al7(reader.sl5());
        break;
      case 4:
        _this__u8e3s4.hl7(reader.sl5());
        break;
      case 10:
        _this__u8e3s4.kl7(reader.ll5(), reader.ml5(), reader.nl5(), reader.sl5());
        break;
      case 5:
        _this__u8e3s4.il7(reader.sl5());
        break;
      case 6:
        _this__u8e3s4.dl7(reader.sl5());
        break;
      case 7:
        _this__u8e3s4.nl7();
        break;
      case 8:
        _this__u8e3s4.jl7(reader.sl5());
        break;
      case 9:
        _this__u8e3s4.sl6(reader.sl5());
        break;
      case 11:
        _this__u8e3s4.cl7(reader.ql5(), reader.rl5());
        break;
    }
  }
  function undeclaredPrefixes(_this__u8e3s4, reader, missingNamespaces) {
    assert_0(reader.ul5() === EventType_START_ELEMENT_getInstance());
    var prefix = reader.nl5();
    if (!missingNamespaces.r(prefix)) {
      var uri = reader.ll5();
      if (_this__u8e3s4.pl7(prefix) === uri ? isPrefixDeclaredInElement(reader, prefix) : false) {
        return Unit_instance;
      } else {
        // Inline function 'kotlin.collections.set' call
        missingNamespaces.s(prefix, uri);
      }
    }
  }
  var EscapeMode_MINIMAL_instance;
  var EscapeMode_ATTRCONTENTQUOT_instance;
  var EscapeMode_ATTRCONTENTAPOS_instance;
  var EscapeMode_TEXTCONTENT_instance;
  var EscapeMode_DTD_instance;
  var EscapeMode_entriesInitialized;
  function EscapeMode_initEntries() {
    if (EscapeMode_entriesInitialized)
      return Unit_instance;
    EscapeMode_entriesInitialized = true;
    EscapeMode_MINIMAL_instance = new EscapeMode('MINIMAL', 0);
    EscapeMode_ATTRCONTENTQUOT_instance = new EscapeMode('ATTRCONTENTQUOT', 1);
    EscapeMode_ATTRCONTENTAPOS_instance = new EscapeMode('ATTRCONTENTAPOS', 2);
    EscapeMode_TEXTCONTENT_instance = new EscapeMode('TEXTCONTENT', 3);
    EscapeMode_DTD_instance = new EscapeMode('DTD', 4);
  }
  var WriteState_BeforeDocument_instance;
  var WriteState_AfterXmlDecl_instance;
  var WriteState_AfterDocTypeDecl_instance;
  var WriteState_InTagContent_instance;
  var WriteState_Finished_instance;
  var WriteState_entriesInitialized;
  function WriteState_initEntries() {
    if (WriteState_entriesInitialized)
      return Unit_instance;
    WriteState_entriesInitialized = true;
    WriteState_BeforeDocument_instance = new WriteState('BeforeDocument', 0);
    WriteState_AfterXmlDecl_instance = new WriteState('AfterXmlDecl', 1);
    WriteState_AfterDocTypeDecl_instance = new WriteState('AfterDocTypeDecl', 2);
    WriteState_InTagContent_instance = new WriteState('InTagContent', 3);
    WriteState_Finished_instance = new WriteState('Finished', 4);
  }
  function namespaceAt($this, depth) {
    return ensureNotNull($this.eld_1[imul(depth, 3)]);
  }
  function setElementStack($this, depth, namespace, prefix, localName) {
    var esp = imul(depth, 3);
    if ($this.eld_1.length < (esp + 3 | 0)) {
      // Inline function 'kotlin.arrayOfNulls' call
      var size = $this.eld_1.length + 12 | 0;
      var hlp = fillArrayVal(Array(size), null);
      // Inline function 'kotlin.collections.copyInto' call
      var this_0 = $this.eld_1;
      var endIndex = esp;
      arrayCopy(this_0, hlp, 0, 0, endIndex);
      $this.eld_1 = hlp;
    }
    var tmp = $this.eld_1;
    var tmp0 = esp;
    esp = tmp0 + 1 | 0;
    tmp[tmp0] = namespace;
    var tmp_0 = $this.eld_1;
    var tmp1 = esp;
    esp = tmp1 + 1 | 0;
    tmp_0[tmp1] = prefix;
    $this.eld_1[esp] = localName;
  }
  function prefixAt($this, depth) {
    return ensureNotNull($this.eld_1[imul(depth, 3) + 1 | 0]);
  }
  function localNameAt($this, depth) {
    return ensureNotNull($this.eld_1[imul(depth, 3) + 2 | 0]);
  }
  function finishPartialStartTag($this, close) {
    if (!$this.dld_1) {
      return Unit_instance;
    }
    $this.dld_1 = false;
    var endOfTag = !close ? '>' : $this.cld_1 ? ' />' : '/>';
    $this.ylc_1.r8(endOfTag);
  }
  function EscapeMode(name, ordinal) {
    Enum.call(this, name, ordinal);
  }
  function appendXmlCodepoint(_this__u8e3s4, $this, codepoint, mode) {
    var c = codepoint;
    var tmp;
    var tmp_0;
    var tmp_1;
    if ((codepoint === _UInt___init__impl__l7qpdl(9) ? true : codepoint === _UInt___init__impl__l7qpdl(10)) ? true : codepoint === _UInt___init__impl__l7qpdl(13)) {
      tmp_1 = true;
    } else {
      // Inline function 'kotlin.UInt.rangeTo' call
      var this_0 = _UInt___init__impl__l7qpdl(32);
      var other = _UInt___init__impl__l7qpdl(55295);
      var progression = new UIntRange(this_0, other);
      var containsLower = progression.jo_1;
      tmp_1 = UInt__compareTo_impl_yacclj(codepoint, progression.ko_1) <= 0 ? 0 <= UInt__compareTo_impl_yacclj(codepoint, containsLower) : false;
    }
    if (tmp_1) {
      tmp_0 = true;
    } else {
      // Inline function 'kotlin.UInt.rangeTo' call
      var this_1 = _UInt___init__impl__l7qpdl(57344);
      var other_0 = _UInt___init__impl__l7qpdl(65533);
      var progression_0 = new UIntRange(this_1, other_0);
      var containsLower_0 = progression_0.jo_1;
      tmp_0 = UInt__compareTo_impl_yacclj(codepoint, progression_0.ko_1) <= 0 ? 0 <= UInt__compareTo_impl_yacclj(codepoint, containsLower_0) : false;
    }
    if (tmp_0) {
      // Inline function 'kotlin.UInt.toUShort' call
      // Inline function 'kotlin.toUShort' call
      var this_2 = _UInt___get_data__impl__f0vqqw(codepoint);
      var tmp$ret$3 = _UShort___init__impl__jigrne(toShort(this_2));
      tmp = _Char___init__impl__6a9atx_0(tmp$ret$3);
    } else {
      tmp = _Char___init__impl__6a9atx_0(_UShort___init__impl__jigrne(0));
    }
    var ch = tmp;
    if (c === _UInt___init__impl__l7qpdl(0))
      throw IllegalArgumentException_init_$Create$('XML documents may not contain null strings directly or indirectly');
    else {
      if (ch === _Char___init__impl__6a9atx(38)) {
        _this__u8e3s4.r8('&amp;');
      } else {
        if (ch === _Char___init__impl__6a9atx(60) ? !mode.equals(EscapeMode_MINIMAL_getInstance()) : false) {
          _this__u8e3s4.r8('&lt;');
        } else {
          if (ch === _Char___init__impl__6a9atx(62) ? mode.equals(EscapeMode_TEXTCONTENT_getInstance()) : false) {
            _this__u8e3s4.r8('&gt;');
          } else {
            if (ch === _Char___init__impl__6a9atx(34) ? mode.equals(EscapeMode_ATTRCONTENTQUOT_getInstance()) : false) {
              _this__u8e3s4.r8('&quot;');
            } else {
              if (ch === _Char___init__impl__6a9atx(39) ? mode.equals(EscapeMode_ATTRCONTENTAPOS_getInstance()) : false) {
                _this__u8e3s4.r8('&apos;');
              } else {
                var tmp_2;
                var tmp_3;
                var tmp_4;
                // Inline function 'kotlin.UInt.rangeTo' call
                var this_3 = _UInt___init__impl__l7qpdl(1);
                var other_1 = _UInt___init__impl__l7qpdl(8);
                var progression_1 = new UIntRange(this_3, other_1);
                var containsLower_1 = progression_1.jo_1;
                if (UInt__compareTo_impl_yacclj(c, progression_1.ko_1) <= 0 ? 0 <= UInt__compareTo_impl_yacclj(c, containsLower_1) : false) {
                  tmp_4 = true;
                } else {
                  tmp_4 = c === _UInt___init__impl__l7qpdl(11);
                }
                if (tmp_4) {
                  tmp_3 = true;
                } else {
                  tmp_3 = c === _UInt___init__impl__l7qpdl(12);
                }
                if (tmp_3) {
                  tmp_2 = true;
                } else {
                  // Inline function 'kotlin.UInt.rangeTo' call
                  var this_4 = _UInt___init__impl__l7qpdl(14);
                  var other_2 = _UInt___init__impl__l7qpdl(31);
                  var progression_2 = new UIntRange(this_4, other_2);
                  var containsLower_2 = progression_2.jo_1;
                  tmp_2 = UInt__compareTo_impl_yacclj(c, progression_2.ko_1) <= 0 ? 0 <= UInt__compareTo_impl_yacclj(c, containsLower_2) : false;
                }
                if (tmp_2) {
                  var tmp0 = $this.bld_1.za_1;
                  if (tmp0 === 0) {
                    appendXmlCodepoint$throwInvalid($this, c);
                  } else if (tmp0 === 1) {
                    appendXmlCodepoint$appendNumCharRef(_this__u8e3s4, c);
                  }
                } else {
                  var tmp_5;
                  // Inline function 'kotlin.UInt.rangeTo' call
                  var this_5 = _UInt___init__impl__l7qpdl(127);
                  var other_3 = _UInt___init__impl__l7qpdl(132);
                  var progression_3 = new UIntRange(this_5, other_3);
                  var containsLower_3 = progression_3.jo_1;
                  if (UInt__compareTo_impl_yacclj(c, progression_3.ko_1) <= 0 ? 0 <= UInt__compareTo_impl_yacclj(c, containsLower_3) : false) {
                    tmp_5 = true;
                  } else {
                    // Inline function 'kotlin.UInt.rangeTo' call
                    var this_6 = _UInt___init__impl__l7qpdl(134);
                    var other_4 = _UInt___init__impl__l7qpdl(159);
                    var progression_4 = new UIntRange(this_6, other_4);
                    var containsLower_4 = progression_4.jo_1;
                    tmp_5 = UInt__compareTo_impl_yacclj(c, progression_4.ko_1) <= 0 ? 0 <= UInt__compareTo_impl_yacclj(c, containsLower_4) : false;
                  }
                  if (tmp_5) {
                    var tmp0_0 = $this.bld_1.za_1;
                    if (tmp0_0 === 0) {
                      _this__u8e3s4.z5(ch);
                    } else if (tmp0_0 === 1) {
                      appendXmlCodepoint$appendNumCharRef(_this__u8e3s4, c);
                    }
                  } else {
                    var tmp_6;
                    var tmp_7;
                    // Inline function 'kotlin.UInt.rangeTo' call
                    var this_7 = _UInt___init__impl__l7qpdl(55296);
                    var other_5 = _UInt___init__impl__l7qpdl(57343);
                    var progression_5 = new UIntRange(this_7, other_5);
                    var containsLower_5 = progression_5.jo_1;
                    if (UInt__compareTo_impl_yacclj(c, progression_5.ko_1) <= 0 ? 0 <= UInt__compareTo_impl_yacclj(c, containsLower_5) : false) {
                      tmp_7 = true;
                    } else {
                      tmp_7 = c === _UInt___init__impl__l7qpdl(65534);
                    }
                    if (tmp_7) {
                      tmp_6 = true;
                    } else {
                      tmp_6 = c === _UInt___init__impl__l7qpdl(65535);
                    }
                    if (tmp_6) {
                      appendXmlCodepoint$throwInvalid($this, c);
                    } else {
                      // Inline function 'kotlin.UInt.compareTo' call
                      var other_6 = _UInt___init__impl__l7qpdl(65535);
                      if (uintCompare(_UInt___get_data__impl__f0vqqw(c), _UInt___get_data__impl__f0vqqw(other_6)) > 0) {
                        // Inline function 'kotlin.UInt.minus' call
                        var other_7 = _UInt___init__impl__l7qpdl(65536);
                        var down = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(c) - _UInt___get_data__impl__f0vqqw(other_7) | 0);
                        // Inline function 'kotlin.UInt.plus' call
                        // Inline function 'kotlin.UInt.shr' call
                        var this_8 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(down) >>> 10 | 0);
                        var other_8 = _UInt___init__impl__l7qpdl(55296);
                        var highSurogate = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(this_8) + _UInt___get_data__impl__f0vqqw(other_8) | 0);
                        // Inline function 'kotlin.UInt.plus' call
                        // Inline function 'kotlin.UInt.and' call
                        var other_9 = _UInt___init__impl__l7qpdl(1023);
                        var this_9 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(down) & _UInt___get_data__impl__f0vqqw(other_9));
                        var other_10 = _UInt___init__impl__l7qpdl(56320);
                        var lowSurogate = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(this_9) + _UInt___get_data__impl__f0vqqw(other_10) | 0);
                        // Inline function 'kotlin.UInt.toUShort' call
                        // Inline function 'kotlin.toUShort' call
                        var this_10 = _UInt___get_data__impl__f0vqqw(highSurogate);
                        var tmp$ret$16 = _UShort___init__impl__jigrne(toShort(this_10));
                        _this__u8e3s4.z5(_Char___init__impl__6a9atx_0(tmp$ret$16));
                        // Inline function 'kotlin.UInt.toUShort' call
                        // Inline function 'kotlin.toUShort' call
                        var this_11 = _UInt___get_data__impl__f0vqqw(lowSurogate);
                        var tmp$ret$18 = _UShort___init__impl__jigrne(toShort(this_11));
                        _this__u8e3s4.z5(_Char___init__impl__6a9atx_0(tmp$ret$18));
                      } else {
                        _this__u8e3s4.z5(ch);
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
  function writeEscapedText($this, s, mode) {
    var tmp0_iterator = asCodePoints(s).w();
    loop: while (tmp0_iterator.f()) {
      var c = tmp0_iterator.e().wn_1;
      appendXmlCodepoint($this.ylc_1, $this, c, mode);
    }
  }
  function triggerStartDocument($this) {
    if ($this.fld_1.za_1 === 0) {
      if (!$this.ald_1.equals(XmlDeclMode_None_getInstance())) {
        $this.ll7(null, null, null);
      }
      $this.fld_1 = WriteState_AfterXmlDecl_getInstance();
    }
  }
  function writeIndent_0($this, newDepth) {
    var indentSeq = $this.fl6_1;
    var tmp;
    var tmp_0;
    if ($this.hld_1 >= 0) {
      // Inline function 'kotlin.collections.isNotEmpty' call
      tmp_0 = !indentSeq.c1();
    } else {
      tmp_0 = false;
    }
    if (tmp_0) {
      tmp = !($this.hld_1 === $this.pl5());
    } else {
      tmp = false;
    }
    if (tmp) {
      $this.sl6('\n');
      try {
        $this.fl6_1 = emptyList();
        var merged = joinRepeated(indentSeq, $this.pl5());
        // Inline function 'kotlin.collections.forEach' call
        var tmp0_iterator = merged.w();
        while (tmp0_iterator.f()) {
          var element = tmp0_iterator.e();
          // Inline function 'nl.adaptivity.xmlutil.core.KtXmlWriter.writeIndent.<anonymous>' call
          element.wl6($this);
        }
      }finally {
        $this.fl6_1 = indentSeq;
      }
    }
    $this.hld_1 = newDepth;
  }
  function writeIndent$default_0($this, newDepth, $super) {
    newDepth = newDepth === VOID ? $this.pl5() : newDepth;
    return writeIndent_0($this, newDepth);
  }
  function ensureNamespaceIfRepairing($this, namespace, prefix) {
    var tmp;
    var tmp_0;
    if ($this.zlc_1 ? !(namespace == null) : false) {
      // Inline function 'kotlin.text.isNotEmpty' call
      tmp_0 = charSequenceLength(namespace) > 0;
    } else {
      tmp_0 = false;
    }
    if (tmp_0) {
      tmp = !(prefix == null);
    } else {
      tmp = false;
    }
    if (tmp) {
      if (!($this.gld_1.ild(prefix) == namespace)) {
        $this.fl7(prefix, namespace);
      }
    }
  }
  function rawWriteAttribute($this, prefix, localName, value) {
    $this.ylc_1.z5(_Char___init__impl__6a9atx(32));
    // Inline function 'kotlin.text.isNotEmpty' call
    if (charSequenceLength(prefix) > 0) {
      $this.ylc_1.r8(prefix).z5(_Char___init__impl__6a9atx(58));
    }
    $this.ylc_1.r8(localName).z5(_Char___init__impl__6a9atx(61));
    var tmp1_container = indexOf(value, _Char___init__impl__6a9atx(34)) === -1 ? new Pair(new Char(_Char___init__impl__6a9atx(34)), EscapeMode_ATTRCONTENTQUOT_getInstance()) : new Pair(new Char(_Char___init__impl__6a9atx(39)), EscapeMode_ATTRCONTENTAPOS_getInstance());
    var q = tmp1_container.y6().rb_1;
    var mode = tmp1_container.z6();
    $this.ylc_1.z5(q);
    writeEscapedText($this, value, mode);
    $this.ylc_1.z5(q);
  }
  function Companion_4() {
    this.jld_1 = -1;
    this.kld_1 = 2147483647;
  }
  var Companion_instance_5;
  function Companion_getInstance_4() {
    return Companion_instance_5;
  }
  function WriteState(name, ordinal) {
    Enum.call(this, name, ordinal);
  }
  function appendXmlCodepoint$appendNumCharRef($this_appendXmlCodepoint, code) {
    $this_appendXmlCodepoint.r8('&#x').r8(toString_0(code, 16)).z5(_Char___init__impl__6a9atx(59));
  }
  function appendXmlCodepoint$throwInvalid(this$0, code) {
    throw IllegalArgumentException_init_$Create$('In xml ' + this$0.bld_1.nld_1 + ' the character 0x' + toString_0(code, 16) + ' is not valid');
  }
  function EscapeMode_MINIMAL_getInstance() {
    EscapeMode_initEntries();
    return EscapeMode_MINIMAL_instance;
  }
  function EscapeMode_ATTRCONTENTQUOT_getInstance() {
    EscapeMode_initEntries();
    return EscapeMode_ATTRCONTENTQUOT_instance;
  }
  function EscapeMode_ATTRCONTENTAPOS_getInstance() {
    EscapeMode_initEntries();
    return EscapeMode_ATTRCONTENTAPOS_instance;
  }
  function EscapeMode_TEXTCONTENT_getInstance() {
    EscapeMode_initEntries();
    return EscapeMode_TEXTCONTENT_instance;
  }
  function WriteState_BeforeDocument_getInstance() {
    WriteState_initEntries();
    return WriteState_BeforeDocument_instance;
  }
  function WriteState_AfterXmlDecl_getInstance() {
    WriteState_initEntries();
    return WriteState_AfterXmlDecl_instance;
  }
  function WriteState_AfterDocTypeDecl_getInstance() {
    WriteState_initEntries();
    return WriteState_AfterDocTypeDecl_instance;
  }
  function WriteState_InTagContent_getInstance() {
    WriteState_initEntries();
    return WriteState_InTagContent_instance;
  }
  function WriteState_Finished_getInstance() {
    WriteState_initEntries();
    return WriteState_Finished_instance;
  }
  function KtXmlWriter(writer, isRepairNamespaces, xmlDeclMode, xmlVersion) {
    isRepairNamespaces = isRepairNamespaces === VOID ? true : isRepairNamespaces;
    xmlDeclMode = xmlDeclMode === VOID ? XmlDeclMode_None_getInstance() : xmlDeclMode;
    xmlVersion = xmlVersion === VOID ? XmlVersion_XML11_getInstance() : xmlVersion;
    PlatformXmlWriterBase.call(this);
    this.ylc_1 = writer;
    this.zlc_1 = isRepairNamespaces;
    this.ald_1 = xmlDeclMode;
    this.bld_1 = xmlVersion;
    this.cld_1 = true;
    this.dld_1 = false;
    var tmp = this;
    // Inline function 'kotlin.arrayOfNulls' call
    tmp.eld_1 = fillArrayVal(Array(12), null);
    this.fld_1 = WriteState_BeforeDocument_getInstance();
    this.gld_1 = new NamespaceHolder();
    this.hld_1 = -1;
  }
  protoOf(KtXmlWriter).wl5 = function () {
    return this.gld_1.mlb_1;
  };
  protoOf(KtXmlWriter).pl5 = function () {
    return this.gld_1.llb_1;
  };
  protoOf(KtXmlWriter).t6 = function () {
    finishPartialStartTag(this, false);
  };
  protoOf(KtXmlWriter).ll7 = function (version, encoding, standalone) {
    writeIndent_0(this, 2147483647);
    if (!this.fld_1.equals(WriteState_BeforeDocument_getInstance())) {
      throw XmlException_init_$Create$_0('Attempting to write start document after document already started');
    }
    this.fld_1 = WriteState_AfterXmlDecl_getInstance();
    var tmp;
    switch (version) {
      case null:
        tmp = this.bld_1.nld_1;
        break;
      case '1':
      case '1.0':
        this.bld_1 = XmlVersion_XML10_getInstance();
        tmp = version;
        break;
      default:
        this.bld_1 = XmlVersion_XML11_getInstance();
        tmp = version;
        break;
    }
    var verString = tmp;
    this.ylc_1.r8("<?xml version='" + verString + "'");
    var effectiveEncoding = encoding == null ? 'UTF-8' : encoding;
    if (!this.ald_1.equals(XmlDeclMode_Minimal_getInstance()) ? true : !(encoding == null)) {
      this.ylc_1.r8(" encoding='");
      writeEscapedText(this, effectiveEncoding, EscapeMode_ATTRCONTENTAPOS_getInstance());
      this.ylc_1.z5(_Char___init__impl__6a9atx(39));
      if (!(standalone == null)) {
        this.ylc_1.r8(" standalone='");
        this.ylc_1.r8(standalone ? 'yes' : 'no');
        this.ylc_1.z5(_Char___init__impl__6a9atx(39));
      }
    }
    if (this.cld_1) {
      this.ylc_1.z5(_Char___init__impl__6a9atx(32));
    }
    this.ylc_1.r8('?>');
  };
  protoOf(KtXmlWriter).dl7 = function (text) {
    writeIndent_0(this, 2147483647);
    triggerStartDocument(this);
    if (!this.fld_1.equals(WriteState_AfterXmlDecl_getInstance())) {
      throw XmlException_init_$Create$_0('Writing a DTD is only allowed once, in the prolog');
    }
    this.fld_1 = WriteState_AfterDocTypeDecl_getInstance();
    var tmp = this.ylc_1.r8('<!DOCTYPE ');
    // Inline function 'kotlin.text.trimStart' call
    var tmp$ret$0 = toString(trimStart(isCharSequence(text) ? text : THROW_CCE()));
    tmp.r8(tmp$ret$0).r8('>');
  };
  protoOf(KtXmlWriter).bl7 = function (text) {
    finishPartialStartTag(this, false);
    writeIndent_0(this, 2147483647);
    triggerStartDocument(this);
    this.ylc_1.r8('<?');
    this.ylc_1.r8(text);
    this.ylc_1.r8('?>');
  };
  protoOf(KtXmlWriter).cl7 = function (target, data) {
    finishPartialStartTag(this, false);
    writeIndent_0(this, 2147483647);
    triggerStartDocument(this);
    this.ylc_1.r8('<?');
    this.ylc_1.r8(target);
    // Inline function 'kotlin.text.isNotEmpty' call
    if (charSequenceLength(data) > 0) {
      this.ylc_1.z5(_Char___init__impl__6a9atx(32)).r8(data);
    }
    this.ylc_1.r8('?>');
  };
  protoOf(KtXmlWriter).gl7 = function (namespace, localName, prefix) {
    finishPartialStartTag(this, false);
    writeIndent$default_0(this);
    triggerStartDocument(this);
    if (this.fld_1.equals(WriteState_Finished_getInstance())) {
      throw XmlException_init_$Create$_0('Attempting to write tag after the document finished');
    }
    this.fld_1 = WriteState_InTagContent_getInstance();
    var tmp;
    if (namespace === '') {
      tmp = '';
    } else {
      var reg = this.ql7(namespace);
      tmp = !(reg == null) ? reg : prefix == null ? this.gld_1.old() : prefix;
    }
    var appliedPrefix = tmp;
    var tmp_0 = this.pl5();
    setElementStack(this, tmp_0, namespace == null ? '' : namespace, appliedPrefix, localName);
    this.ylc_1.z5(_Char___init__impl__6a9atx(60));
    // Inline function 'kotlin.text.isNotEmpty' call
    if (charSequenceLength(appliedPrefix) > 0) {
      this.ylc_1.r8(appliedPrefix);
      this.ylc_1.z5(_Char___init__impl__6a9atx(58));
    }
    this.ylc_1.r8(localName);
    this.dld_1 = true;
    this.gld_1.xla();
    ensureNamespaceIfRepairing(this, namespace, appliedPrefix);
  };
  protoOf(KtXmlWriter).ol7 = function (namespace, localName, prefix) {
    this.gld_1.wla();
    writeIndent_0(this, 2147483647);
    var tmp;
    if (!((namespace == null ? '' : namespace) === namespaceAt(this, this.pl5()))) {
      tmp = true;
    } else {
      tmp = !(localNameAt(this, this.pl5()) === localName);
    }
    if (tmp) {
      throw IllegalArgumentException_init_$Create$('<\/{' + namespace + '}' + localName + '> does not match start');
    }
    if (this.dld_1) {
      finishPartialStartTag(this, true);
    } else {
      this.ylc_1.r8('<\/');
      var actualPrefix = prefixAt(this, this.pl5());
      // Inline function 'kotlin.text.isNotEmpty' call
      if (charSequenceLength(actualPrefix) > 0) {
        this.ylc_1.r8(actualPrefix);
        this.ylc_1.z5(_Char___init__impl__6a9atx(58));
      }
      this.ylc_1.r8(localName);
      this.ylc_1.z5(_Char___init__impl__6a9atx(62));
    }
  };
  protoOf(KtXmlWriter).al7 = function (text) {
    finishPartialStartTag(this, false);
    writeIndent_0(this, 2147483647);
    triggerStartDocument(this);
    var lastWasHyphen = false;
    this.ylc_1.r8('<!--');
    var tmp0_iterator = asCodePoints(text).w();
    while (tmp0_iterator.f()) {
      var cp = tmp0_iterator.e().wn_1;
      // Inline function 'kotlin.toUInt' call
      // Inline function 'kotlin.code' call
      var this_0 = _Char___init__impl__6a9atx(45);
      var this_1 = Char__toInt_impl_vasixd(this_0);
      if (cp === _UInt___init__impl__l7qpdl(this_1)) {
        if (lastWasHyphen) {
          lastWasHyphen = false;
          this.ylc_1.r8('&#x2d;');
        } else {
          lastWasHyphen = true;
          this.ylc_1.z5(_Char___init__impl__6a9atx(45));
        }
      } else {
        appendXmlCodepoint(this.ylc_1, this, cp, EscapeMode_MINIMAL_getInstance());
      }
    }
    this.ylc_1.r8('-->');
  };
  protoOf(KtXmlWriter).hl7 = function (text) {
    finishPartialStartTag(this, false);
    writeEscapedText(this, text, EscapeMode_TEXTCONTENT_getInstance());
    this.hld_1 = -1;
  };
  protoOf(KtXmlWriter).il7 = function (text) {
    finishPartialStartTag(this, false);
    var endPos = 0;
    this.ylc_1.r8('<![CDATA[');
    var tmp0_iterator = asCodePoints(text).w();
    while (tmp0_iterator.f()) {
      var cp = tmp0_iterator.e().wn_1;
      var tmp;
      // Inline function 'kotlin.UInt.compareTo' call
      var other = _UInt___init__impl__l7qpdl(32223);
      if (uintCompare(_UInt___get_data__impl__f0vqqw(cp), _UInt___get_data__impl__f0vqqw(other)) < 0) {
        // Inline function 'kotlin.UInt.toUShort' call
        // Inline function 'kotlin.toUShort' call
        var this_0 = _UInt___get_data__impl__f0vqqw(cp);
        var tmp$ret$2 = _UShort___init__impl__jigrne(toShort(this_0));
        tmp = _Char___init__impl__6a9atx_0(tmp$ret$2);
      } else {
        tmp = _Char___init__impl__6a9atx_0(_UShort___init__impl__jigrne(0));
      }
      var ch = tmp;
      if (ch === _Char___init__impl__6a9atx(93) ? endPos === 0 ? true : endPos === 1 : false) {
        endPos = endPos + 1 | 0;
        this.ylc_1.z5(ch);
      } else if (ch === _Char___init__impl__6a9atx(62) ? endPos === 2 : false) {
        this.ylc_1.r8('&gt;');
      } else if (ch === _Char___init__impl__6a9atx(93) ? endPos === 2 : false) {
        this.ylc_1.z5(ch);
      } else {
        endPos = 0;
        appendXmlCodepoint(this.ylc_1, this, cp, EscapeMode_MINIMAL_getInstance());
      }
    }
    this.ylc_1.r8(']]>');
    this.hld_1 = -1;
  };
  protoOf(KtXmlWriter).jl7 = function (text) {
    finishPartialStartTag(this, false);
    this.ylc_1.z5(_Char___init__impl__6a9atx(38)).r8(text).z5(_Char___init__impl__6a9atx(59));
    this.hld_1 = -1;
  };
  protoOf(KtXmlWriter).sl6 = function (text) {
    finishPartialStartTag(this, false);
    triggerStartDocument(this);
    var inductionVariable = 0;
    var last = text.length;
    while (inductionVariable < last) {
      var c = charSequenceGet(text, inductionVariable);
      inductionVariable = inductionVariable + 1 | 0;
      if (!(((c === _Char___init__impl__6a9atx(10) ? true : c === _Char___init__impl__6a9atx(13)) ? true : c === _Char___init__impl__6a9atx(9)) ? true : c === _Char___init__impl__6a9atx(32))) {
        throw IllegalArgumentException_init_$Create$('"' + text + '" is not ignorable whitespace');
      }
    }
    this.ylc_1.r8(text);
    this.hld_1 = -1;
  };
  protoOf(KtXmlWriter).kl7 = function (namespace, name, prefix, value) {
    if (namespace === 'http://www.w3.org/2000/xmlns/') {
      this.fl7(name, value);
      return Unit_instance;
    } else {
      var tmp;
      // Inline function 'kotlin.text.isNullOrEmpty' call
      // Inline function 'kotlin.contracts.contract' call
      if (namespace == null ? true : charSequenceLength(namespace) === 0) {
        tmp = 'xmlns' === name;
      } else {
        tmp = false;
      }
      if (tmp) {
        this.fl7('', value);
        return Unit_instance;
      }
    }
    var tmp_0;
    var tmp_1;
    var tmp_2;
    if (!(prefix == null)) {
      // Inline function 'kotlin.text.isNotEmpty' call
      tmp_2 = charSequenceLength(prefix) > 0;
    } else {
      tmp_2 = false;
    }
    if (tmp_2) {
      tmp_1 = !(namespace == null);
    } else {
      tmp_1 = false;
    }
    if (tmp_1) {
      // Inline function 'kotlin.text.isNotEmpty' call
      tmp_0 = charSequenceLength(namespace) > 0;
    } else {
      tmp_0 = false;
    }
    if (tmp_0) {
      this.pld(prefix, namespace);
      ensureNamespaceIfRepairing(this, namespace, prefix);
    }
    if (!this.dld_1) {
      throw IllegalStateException_init_$Create$('illegal position for attribute');
    }
    var tmp_3;
    // Inline function 'kotlin.text.isNullOrEmpty' call
    // Inline function 'kotlin.contracts.contract' call
    if (!(prefix == null ? true : charSequenceLength(prefix) === 0)) {
      var tmp_4;
      if (!(this.pl7(prefix) == namespace)) {
        tmp_4 = this.ql7(namespace);
      } else {
        tmp_4 = prefix;
      }
      tmp_3 = tmp_4;
    } else {
      tmp_3 = prefix;
    }
    var tmp0_elvis_lhs = tmp_3;
    var actualPrefix = tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs;
    rawWriteAttribute(this, actualPrefix, name, value);
  };
  protoOf(KtXmlWriter).fl7 = function (namespacePrefix, namespaceUri) {
    var existingNamespaceForPrefix = this.gld_1.qld(namespacePrefix);
    if (!(existingNamespaceForPrefix == null)) {
      if (this.zlc_1)
        return Unit_instance;
      else if (!(existingNamespaceForPrefix === namespaceUri))
        throw IllegalStateException_init_$Create$('Attempting to set prefix to different values in the same tag');
      else
        throw IllegalStateException_init_$Create$('Namespace attribute duplicated');
    }
    this.gld_1.rld(namespacePrefix, namespaceUri);
    if (!this.dld_1) {
      throw IllegalStateException_init_$Create$('illegal position for attribute');
    }
    // Inline function 'kotlin.text.isNotEmpty' call
    if (charSequenceLength(namespacePrefix) > 0) {
      rawWriteAttribute(this, 'xmlns', namespacePrefix, namespaceUri);
    } else {
      rawWriteAttribute(this, '', 'xmlns', namespaceUri);
    }
  };
  protoOf(KtXmlWriter).nl7 = function () {
    assert_0(this.pl5() === 0);
    if (!this.fld_1.equals(WriteState_InTagContent_getInstance())) {
      throw XmlException_init_$Create$_0('Attempting to end document when in invalid state: ' + this.fld_1);
    }
    while (this.pl5() > 0) {
      this.ol7(namespaceAt(this, this.pl5() - 1 | 0), prefixAt(this, this.pl5() - 1 | 0), localNameAt(this, this.pl5() - 1 | 0));
    }
    this.t6();
  };
  protoOf(KtXmlWriter).pld = function (prefix, namespaceUri) {
    if (!(namespaceUri === this.pl7(prefix))) {
      this.gld_1.rld(prefix, namespaceUri);
    }
  };
  protoOf(KtXmlWriter).pl7 = function (prefix) {
    return this.gld_1.ild(prefix);
  };
  protoOf(KtXmlWriter).ql7 = function (namespaceUri) {
    var tmp;
    if (namespaceUri == null) {
      tmp = null;
    } else {
      // Inline function 'kotlin.let' call
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.core.KtXmlWriter.getPrefix.<anonymous>' call
      tmp = this.gld_1.sld(namespaceUri);
    }
    return tmp;
  };
  protoOf(KtXmlWriter).n = function () {
    this.gld_1.n1();
  };
  function asCodePoints(_this__u8e3s4) {
    return new asCodePoints$1(_this__u8e3s4);
  }
  function joinRepeated(_this__u8e3s4, repeats) {
    var it = _this__u8e3s4.w();
    if (!it.f())
      return emptyList();
    // Inline function 'kotlin.collections.mutableListOf' call
    var result = ArrayList_init_$Create$();
    var pending = null;
    var inductionVariable = 0;
    if (inductionVariable < repeats)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var tmp1_iterator = _this__u8e3s4.w();
        while (tmp1_iterator.f()) {
          var ev = tmp1_iterator.e();
          if (pending == null) {
            pending = ev;
          } else if (pending.ul5().equals(EventType_COMMENT_getInstance()) ? true : !pending.ul5().equals(ev.ul5())) {
            result.i1(pending);
            pending = ev;
          } else if (ev.ul5().equals(pending.ul5())) {
            pending = new TextEvent(null, pending.ul5(), pending.vl6_1 + ev.vl6_1);
          }
        }
      }
       while (inductionVariable < repeats);
    if (!(pending == null)) {
      result.i1(pending);
    }
    return result;
  }
  function asCodePoints$1$iterator$1($this_asCodePoints) {
    this.uld_1 = $this_asCodePoints;
    this.tld_1 = 0;
  }
  protoOf(asCodePoints$1$iterator$1).f = function () {
    return this.tld_1 < charSequenceLength(this.uld_1);
  };
  protoOf(asCodePoints$1$iterator$1).ao = function () {
    var tmp;
    if (isHighSurrogate(charSequenceGet(this.uld_1, this.tld_1)) === true) {
      // Inline function 'kotlin.UInt.plus' call
      // Inline function 'kotlin.UInt.plus' call
      var this_0 = _UInt___init__impl__l7qpdl(65536);
      // Inline function 'kotlin.UInt.shl' call
      // Inline function 'kotlin.UInt.minus' call
      // Inline function 'kotlin.toUInt' call
      // Inline function 'kotlin.code' call
      var this_1 = charSequenceGet(this.uld_1, this.tld_1);
      var this_2 = Char__toInt_impl_vasixd(this_1);
      var this_3 = _UInt___init__impl__l7qpdl(this_2);
      var other = _UInt___init__impl__l7qpdl(55296);
      var this_4 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(this_3) - _UInt___get_data__impl__f0vqqw(other) | 0);
      var other_0 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(this_4) << 10);
      var this_5 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(this_0) + _UInt___get_data__impl__f0vqqw(other_0) | 0);
      // Inline function 'kotlin.UInt.minus' call
      // Inline function 'kotlin.toUInt' call
      // Inline function 'kotlin.code' call
      var this_6 = charSequenceGet(this.uld_1, this.tld_1 + 1 | 0);
      var this_7 = Char__toInt_impl_vasixd(this_6);
      var this_8 = _UInt___init__impl__l7qpdl(this_7);
      var other_1 = _UInt___init__impl__l7qpdl(56320);
      var other_2 = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(this_8) - _UInt___get_data__impl__f0vqqw(other_1) | 0);
      var codePoint = _UInt___init__impl__l7qpdl(_UInt___get_data__impl__f0vqqw(this_5) + _UInt___get_data__impl__f0vqqw(other_2) | 0);
      this.tld_1 = this.tld_1 + 2 | 0;
      tmp = codePoint;
    } else {
      // Inline function 'kotlin.also' call
      // Inline function 'kotlin.toUInt' call
      // Inline function 'kotlin.code' call
      var this_9 = charSequenceGet(this.uld_1, this.tld_1);
      var this_10 = Char__toInt_impl_vasixd(this_9);
      var tmp$ret$10 = _UInt___init__impl__l7qpdl(this_10);
      var this_11 = new UInt(tmp$ret$10);
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.core.<no name provided>.next.<anonymous>' call
      this_11.wn_1;
      this.tld_1 = this.tld_1 + 1 | 0;
      tmp = this_11.wn_1;
    }
    return tmp;
  };
  protoOf(asCodePoints$1$iterator$1).e = function () {
    return new UInt(this.ao());
  };
  function asCodePoints$1($this_asCodePoints) {
    this.vld_1 = $this_asCodePoints;
  }
  protoOf(asCodePoints$1).w = function () {
    return new asCodePoints$1$iterator$1(this.vld_1);
  };
  var XmlVersion_XML10_instance;
  var XmlVersion_XML11_instance;
  var XmlVersion_entriesInitialized;
  function XmlVersion_initEntries() {
    if (XmlVersion_entriesInitialized)
      return Unit_instance;
    XmlVersion_entriesInitialized = true;
    XmlVersion_XML10_instance = new XmlVersion('XML10', 0, '1.0');
    XmlVersion_XML11_instance = new XmlVersion('XML11', 1, '1.1');
  }
  function XmlVersion(name, ordinal, versionString) {
    Enum.call(this, name, ordinal);
    this.nld_1 = versionString;
  }
  function XmlVersion_XML10_getInstance() {
    XmlVersion_initEntries();
    return XmlVersion_XML10_instance;
  }
  function XmlVersion_XML11_getInstance() {
    XmlVersion_initEntries();
    return XmlVersion_XML11_instance;
  }
  function NamespaceHolder$namespaceContext$o$getPrefixesCompat$lambda(this$0, $namespaceURI) {
    return function (it) {
      return getNamespace(this$0, it) === $namespaceURI;
    };
  }
  function NamespaceHolder$namespaceContext$o$getPrefixesCompat$lambda_0(this$0) {
    return function (it) {
      return getPrefix(this$0, it);
    };
  }
  function namespaceIndicesAt($this, depth) {
    var startIdx = depth === 0 ? 0 : arrayUseAtDepth($this, depth - 1 | 0) / 2 | 0;
    var endIdx = arrayUseAtDepth($this, depth) / 2 | 0;
    return until(startIdx, endIdx);
  }
  function arrayUseAtDepth($this, depth) {
    return imul($this.klb_1[depth], 2);
  }
  function prefixArrayPos($this, pairPos) {
    return imul(pairPos, 2);
  }
  function nsArrayPos($this, pairPos) {
    return imul(pairPos, 2) + 1 | 0;
  }
  function setPrefix($this, pos, value) {
    var tmp = $this.jlb_1;
    var tmp_0 = prefixArrayPos($this, pos);
    var tmp1_elvis_lhs = value == null ? null : toString(value);
    tmp[tmp_0] = tmp1_elvis_lhs == null ? '' : tmp1_elvis_lhs;
  }
  function getPrefix($this, pos) {
    return ensureNotNull($this.jlb_1[prefixArrayPos($this, pos)]);
  }
  function setNamespace($this, pos, value) {
    var tmp = $this.jlb_1;
    var tmp_0 = nsArrayPos($this, pos);
    var tmp1_elvis_lhs = value == null ? null : toString(value);
    tmp[tmp_0] = tmp1_elvis_lhs == null ? '' : tmp1_elvis_lhs;
  }
  function getNamespace($this, pos) {
    return ensureNotNull($this.jlb_1[nsArrayPos($this, pos)]);
  }
  function enlargeNamespaceBuffer($this) {
    $this.jlb_1 = copyOf($this.jlb_1, imul($this.jlb_1.length, 2));
  }
  function NamespaceHolder$namespaceContext$1(this$0) {
    this.wld_1 = this$0;
  }
  protoOf(NamespaceHolder$namespaceContext$1).fl5 = function (prefix) {
    return this.wld_1.ild(prefix);
  };
  protoOf(NamespaceHolder$namespaceContext$1).gl5 = function (namespaceURI) {
    return this.wld_1.sld(namespaceURI);
  };
  protoOf(NamespaceHolder$namespaceContext$1).hl5 = function () {
    return SimpleNamespaceContext_init_$Create$_2(this.wld_1);
  };
  protoOf(NamespaceHolder$namespaceContext$1).w = function () {
    return this.wld_1.w();
  };
  protoOf(NamespaceHolder$namespaceContext$1).il5 = function (namespaceURI) {
    var tmp = asSequence_0(downTo(this.wld_1.xld() - 1 | 0, 0));
    var tmp_0 = filter(tmp, NamespaceHolder$namespaceContext$o$getPrefixesCompat$lambda(this.wld_1, namespaceURI));
    return map(tmp_0, NamespaceHolder$namespaceContext$o$getPrefixesCompat$lambda_0(this.wld_1)).w();
  };
  function NamespaceHolder$iterator$1(this$0) {
    this.zld_1 = this$0;
    this.yld_1 = 0;
  }
  protoOf(NamespaceHolder$iterator$1).f = function () {
    return this.yld_1 < this.zld_1.klb_1[this.zld_1.llb_1];
  };
  protoOf(NamespaceHolder$iterator$1).e = function () {
    // Inline function 'kotlin.also' call
    var this_0 = new NamespaceImpl(getPrefix(this.zld_1, this.yld_1), getNamespace(this.zld_1, this.yld_1));
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.core.impl.<no name provided>.next.<anonymous>' call
    this.yld_1 = this.yld_1 + 1 | 0;
    return this_0;
  };
  function NamespaceHolder() {
    this.ilb_1 = 1;
    var tmp = this;
    // Inline function 'kotlin.arrayOfNulls' call
    tmp.jlb_1 = fillArrayVal(Array(10), null);
    this.klb_1 = new Int32Array(20);
    this.llb_1 = 0;
    var tmp_0 = this;
    tmp_0.mlb_1 = new NamespaceHolder$namespaceContext$1(this);
  }
  protoOf(NamespaceHolder).olc = function () {
    // Inline function 'kotlin.collections.map' call
    var this_0 = namespaceIndicesAt(this, this.llb_1);
    // Inline function 'kotlin.collections.mapTo' call
    var destination = ArrayList_init_$Create$_0(collectionSizeOrDefault(this_0, 10));
    var tmp0_iterator = this_0.w();
    while (tmp0_iterator.f()) {
      var item = tmp0_iterator.e();
      // Inline function 'nl.adaptivity.xmlutil.core.impl.NamespaceHolder.<get-namespacesAtCurrentDepth>.<anonymous>' call
      var tmp$ret$0 = new NamespaceImpl(getPrefix(this, item), getNamespace(this, item));
      destination.i1(tmp$ret$0);
    }
    return destination;
  };
  protoOf(NamespaceHolder).xla = function () {
    this.llb_1 = this.llb_1 + 1 | 0;
    if (this.llb_1 >= this.klb_1.length) {
      this.klb_1 = copyOf_0(this.klb_1, imul(this.klb_1.length, 2));
    }
    this.klb_1[this.llb_1] = this.llb_1 === 0 ? 0 : this.klb_1[this.llb_1 - 1 | 0];
  };
  protoOf(NamespaceHolder).wla = function () {
    var progression = namespaceIndicesAt(this, this.llb_1);
    var inductionVariable = progression.ib_1;
    var last = progression.jb_1;
    if (inductionVariable <= last)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        this.jlb_1[prefixArrayPos(this, i)] = null;
        this.jlb_1[nsArrayPos(this, i)] = null;
      }
       while (!(i === last));
    this.klb_1[this.llb_1] = 0;
    this.llb_1 = this.llb_1 - 1 | 0;
  };
  protoOf(NamespaceHolder).xld = function () {
    return this.klb_1[this.llb_1];
  };
  protoOf(NamespaceHolder).n1 = function () {
    var tmp = this;
    // Inline function 'kotlin.arrayOfNulls' call
    tmp.jlb_1 = fillArrayVal(Array(10), null);
    this.klb_1 = new Int32Array(20);
    this.llb_1 = 0;
  };
  protoOf(NamespaceHolder).ulb = function (ns) {
    this.rld(ns.nl5(), ns.ll5());
  };
  protoOf(NamespaceHolder).rld = function (prefix, namespaceUri) {
    var prevCounts = this.llb_1 >= 1 ? this.klb_1[this.llb_1 - 1 | 0] : 0;
    var inductionVariable = prevCounts;
    var last = this.klb_1[this.llb_1];
    if (inductionVariable < last)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        if (equals(getPrefix(this, i), prefix) ? equals(getNamespace(this, i), namespaceUri) : false)
          return Unit_instance;
      }
       while (inductionVariable < last);
    var nextPair = this.klb_1[this.llb_1];
    if (nsArrayPos(this, nextPair) >= this.jlb_1.length) {
      enlargeNamespaceBuffer(this);
    }
    setPrefix(this, nextPair, prefix);
    setNamespace(this, nextPair, namespaceUri);
    var tmp1_array = this.klb_1;
    var tmp2_index0 = this.llb_1;
    tmp1_array[tmp2_index0] = tmp1_array[tmp2_index0] + 1 | 0;
  };
  protoOf(NamespaceHolder).ild = function (prefix) {
    var prefixStr = toString(prefix);
    var tmp;
    if (prefixStr === 'xml') {
      return 'http://www.w3.org/XML/1998/namespace';
    } else {
      if (prefixStr === 'xmlns') {
        return 'http://www.w3.org/2000/xmlns/';
      } else {
        var tmp$ret$1;
        $l$block: {
          // Inline function 'kotlin.collections.firstOrNull' call
          var tmp0_iterator = downTo(this.xld() - 1 | 0, 0).w();
          while (tmp0_iterator.f()) {
            var element = tmp0_iterator.e();
            // Inline function 'nl.adaptivity.xmlutil.core.impl.NamespaceHolder.getNamespaceUri.<anonymous>' call
            if (getPrefix(this, element) === prefixStr) {
              tmp$ret$1 = element;
              break $l$block;
            }
          }
          tmp$ret$1 = null;
        }
        var tmp0_safe_receiver = tmp$ret$1;
        var tmp_0;
        if (tmp0_safe_receiver == null) {
          tmp_0 = null;
        } else {
          // Inline function 'kotlin.let' call
          // Inline function 'kotlin.contracts.contract' call
          // Inline function 'nl.adaptivity.xmlutil.core.impl.NamespaceHolder.getNamespaceUri.<anonymous>' call
          tmp_0 = getNamespace(this, tmp0_safe_receiver);
        }
        var tmp1_elvis_lhs = tmp_0;
        var tmp_1;
        if (tmp1_elvis_lhs == null) {
          var tmp_2;
          // Inline function 'kotlin.text.isEmpty' call
          if (charSequenceLength(prefixStr) === 0) {
            tmp_2 = '';
          } else {
            tmp_2 = null;
          }
          tmp_1 = tmp_2;
        } else {
          tmp_1 = tmp1_elvis_lhs;
        }
        tmp = tmp_1;
      }
    }
    return tmp;
  };
  protoOf(NamespaceHolder).sld = function (namespaceUri) {
    var namespaceUriStr = toString(namespaceUri);
    var tmp;
    if (namespaceUriStr === 'http://www.w3.org/XML/1998/namespace') {
      tmp = 'xml';
    } else {
      if (namespaceUriStr === 'http://www.w3.org/2000/xmlns/') {
        tmp = 'xmlns';
      } else {
        if (namespaceUriStr === '') {
          var tmp_0;
          var tmp$ret$0;
          $l$block_0: {
            // Inline function 'kotlin.collections.none' call
            var this_0 = until(0, this.xld());
            var tmp_1;
            if (isInterface(this_0, Collection)) {
              tmp_1 = this_0.c1();
            } else {
              tmp_1 = false;
            }
            if (tmp_1) {
              tmp$ret$0 = true;
              break $l$block_0;
            }
            var tmp0_iterator = this_0.w();
            while (tmp0_iterator.f()) {
              var element = tmp0_iterator.e();
              // Inline function 'nl.adaptivity.xmlutil.core.impl.NamespaceHolder.getPrefix.<anonymous>' call
              // Inline function 'kotlin.text.isEmpty' call
              var this_1 = getPrefix(this, element);
              if (charSequenceLength(this_1) === 0) {
                tmp$ret$0 = false;
                break $l$block_0;
              }
            }
            tmp$ret$0 = true;
          }
          if (tmp$ret$0) {
            tmp_0 = '';
          } else {
            tmp_0 = null;
          }
          tmp = tmp_0;
        } else {
          var tmp$ret$6;
          $l$block_3: {
            // Inline function 'kotlin.collections.firstOrNull' call
            var tmp0_iterator_0 = downTo(this.xld() - 1 | 0, 0).w();
            while (tmp0_iterator_0.f()) {
              var element_0 = tmp0_iterator_0.e();
              // Inline function 'nl.adaptivity.xmlutil.core.impl.NamespaceHolder.getPrefix.<anonymous>' call
              var tmp_2;
              if (getNamespace(this, element_0) === namespaceUriStr) {
                var tmp$ret$3;
                $l$block_2: {
                  // Inline function 'kotlin.collections.none' call
                  var this_2 = until(element_0 + 1 | 0, this.xld());
                  var tmp_3;
                  if (isInterface(this_2, Collection)) {
                    tmp_3 = this_2.c1();
                  } else {
                    tmp_3 = false;
                  }
                  if (tmp_3) {
                    tmp$ret$3 = true;
                    break $l$block_2;
                  }
                  var tmp0_iterator_1 = this_2.w();
                  while (tmp0_iterator_1.f()) {
                    var element_1 = tmp0_iterator_1.e();
                    // Inline function 'nl.adaptivity.xmlutil.core.impl.NamespaceHolder.getPrefix.<anonymous>.<anonymous>' call
                    if (getPrefix(this, element_0) === getPrefix(this, element_1)) {
                      tmp$ret$3 = false;
                      break $l$block_2;
                    }
                  }
                  tmp$ret$3 = true;
                }
                tmp_2 = tmp$ret$3;
              } else {
                tmp_2 = false;
              }
              if (tmp_2) {
                tmp$ret$6 = element_0;
                break $l$block_3;
              }
            }
            tmp$ret$6 = null;
          }
          var tmp0_safe_receiver = tmp$ret$6;
          var tmp_4;
          if (tmp0_safe_receiver == null) {
            tmp_4 = null;
          } else {
            // Inline function 'kotlin.let' call
            // Inline function 'kotlin.contracts.contract' call
            // Inline function 'nl.adaptivity.xmlutil.core.impl.NamespaceHolder.getPrefix.<anonymous>' call
            tmp_4 = getPrefix(this, tmp0_safe_receiver);
          }
          tmp = tmp_4;
        }
      }
    }
    return tmp;
  };
  protoOf(NamespaceHolder).w = function () {
    return new NamespaceHolder$iterator$1(this);
  };
  protoOf(NamespaceHolder).old = function () {
    var prefix;
    do {
      prefix = 'n' + this.ilb_1;
    }
     while (!(this.ild(prefix) == null));
    return prefix;
  };
  protoOf(NamespaceHolder).qld = function (prefix) {
    var progression = namespaceIndicesAt(this, this.llb_1);
    var nestedFirst = progression.ib_1;
    var nestedLast = progression.jb_1;
    var inductionVariable = nestedFirst;
    var last = getProgressionLastElement(nestedFirst, nestedLast, 2);
    if (inductionVariable <= last)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 2 | 0;
        if (this.jlb_1[prefixArrayPos(this, i)] === prefix) {
          return this.jlb_1[nsArrayPos(this, i)];
        }
      }
       while (!(i === last));
    return null;
  };
  function toIndentSequence$sbToTextEvent(sb, result) {
    // Inline function 'kotlin.text.isNotEmpty' call
    if (charSequenceLength(sb) > 0) {
      var text = sb.toString();
      if (!isXmlWhitespace_1(text)) {
        throw XmlException_init_$Create$_0('Indents can only be whitespace or comments: ' + text);
      }
      result.i1(new TextEvent(null, EventType_IGNORABLE_WHITESPACE_getInstance(), text));
      sb.z8();
    }
  }
  function Companion_5() {
    this.ale_1 = '<!---->';
  }
  protoOf(Companion_5).ble = function (_this__u8e3s4) {
    // Inline function 'kotlin.collections.mutableListOf' call
    var result = ArrayList_init_$Create$();
    var sb = StringBuilder_init_$Create$();
    var commentPos = 0;
    var inductionVariable = 0;
    var last = _this__u8e3s4.length;
    while (inductionVariable < last) {
      var ch = charSequenceGet(_this__u8e3s4, inductionVariable);
      inductionVariable = inductionVariable + 1 | 0;
      if (ch === _Char___init__impl__6a9atx(60)) {
        if (commentPos === 0) {
          commentPos = commentPos + 1 | 0;
        } else {
          sb.z5(ch);
        }
      } else if (ch === _Char___init__impl__6a9atx(33)) {
        if (commentPos === 1) {
          commentPos = commentPos + 1 | 0;
        } else {
          sb.z5(ch);
        }
      } else if (ch === _Char___init__impl__6a9atx(45)) {
        switch (commentPos) {
          case 2:
            commentPos = commentPos + 1 | 0;
            break;
          case 3:
            commentPos = commentPos + 1 | 0;
            toIndentSequence$sbToTextEvent(sb, result);
            break;
          case 4:
          case 5:
            commentPos = commentPos + 1 | 0;
            break;
          case 6:
            throw XmlException_init_$Create$_0('-- is not allowed to occur inside xml comment text');
          default:
            sb.z5(ch);
            break;
        }
      } else if (ch === _Char___init__impl__6a9atx(62)) {
        switch (commentPos) {
          case 6:
            commentPos = 0;
            result.i1(new TextEvent(null, EventType_COMMENT_getInstance(), sb.toString()));
            sb.z8();
            break;
          case 5:
            commentPos = 4;
            sb.y5('->');
            break;
          default:
            sb.z5(ch);
            break;
        }
      } else {
        switch (commentPos) {
          case 1:
          case 2:
          case 3:
            sb.s8('<!---->', 0, commentPos);
            commentPos = 0;
            sb.z5(ch);
            break;
          case 0:
          case 4:
            sb.z5(ch);
            break;
          case 5:
            commentPos = 4;
            sb.z5(_Char___init__impl__6a9atx(45)).z5(ch);
            break;
          case 6:
            throw XmlException_init_$Create$_0('-- is not allowed to occur inside xml comment text');
        }
      }
    }
    if (commentPos > 0)
      throw XmlException_init_$Create$_0('Indent can not contain unclosed comment');
    toIndentSequence$sbToTextEvent(sb, result);
    return result;
  };
  var Companion_instance_6;
  function Companion_getInstance_5() {
    return Companion_instance_6;
  }
  function PlatformXmlWriterBase$_get_indentString_$lambda_yiqku9(ev) {
    return ev.ul5().za_1 === 3 ? '<!--' + ev.vl6_1 + '-->' : ev.vl6_1;
  }
  function PlatformXmlWriterBase(indentSequence) {
    indentSequence = indentSequence === VOID ? emptyList() : indentSequence;
    this.fl6_1 = toList(indentSequence);
  }
  protoOf(PlatformXmlWriterBase).rl7 = function (value) {
    this.fl6_1 = Companion_instance_6.ble(value);
  };
  protoOf(PlatformXmlWriterBase).sl7 = function () {
    var tmp = this.fl6_1;
    return joinToString_0(tmp, VOID, VOID, VOID, VOID, VOID, PlatformXmlWriterBase$_get_indentString_$lambda_yiqku9);
  };
  function get_WHITESPACE() {
    _init_properties_chars_kt__oshz4b();
    return WHITESPACE;
  }
  var WHITESPACE;
  function isXmlWhitespace_1(_this__u8e3s4) {
    _init_properties_chars_kt__oshz4b();
    var tmp$ret$2;
    $l$block: {
      // Inline function 'kotlin.text.all' call
      var inductionVariable = 0;
      while (inductionVariable < charSequenceLength(_this__u8e3s4)) {
        var element = charSequenceGet(_this__u8e3s4, inductionVariable);
        inductionVariable = inductionVariable + 1 | 0;
        // Inline function 'nl.adaptivity.xmlutil.core.impl.isXmlWhitespace.<anonymous>' call
        // Inline function 'kotlin.code' call
        var tmp$ret$0 = Char__toInt_impl_vasixd(element);
        if (!isXmlWhitespace_2(tmp$ret$0)) {
          tmp$ret$2 = false;
          break $l$block;
        }
      }
      tmp$ret$2 = true;
    }
    return tmp$ret$2;
  }
  function isXmlWhitespace_2(_this__u8e3s4) {
    _init_properties_chars_kt__oshz4b();
    return _this__u8e3s4 >= get_WHITESPACE().length ? false : get_WHITESPACE()[_this__u8e3s4];
  }
  var properties_initialized_chars_kt_qk0z7x;
  function _init_properties_chars_kt__oshz4b() {
    if (!properties_initialized_chars_kt_qk0z7x) {
      properties_initialized_chars_kt_qk0z7x = true;
      // Inline function 'kotlin.also' call
      var this_0 = booleanArray(33);
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'nl.adaptivity.xmlutil.core.impl.WHITESPACE.<anonymous>' call
      // Inline function 'kotlin.code' call
      var this_1 = _Char___init__impl__6a9atx(9);
      this_0[Char__toInt_impl_vasixd(this_1)] = true;
      // Inline function 'kotlin.code' call
      var this_2 = _Char___init__impl__6a9atx(10);
      this_0[Char__toInt_impl_vasixd(this_2)] = true;
      // Inline function 'kotlin.code' call
      var this_3 = _Char___init__impl__6a9atx(13);
      this_0[Char__toInt_impl_vasixd(this_3)] = true;
      // Inline function 'kotlin.code' call
      var this_4 = _Char___init__impl__6a9atx(32);
      this_0[Char__toInt_impl_vasixd(this_4)] = true;
      WHITESPACE = this_0;
    }
  }
  function iterator(_this__u8e3s4) {
    return new NamedNodeMapIterator(_this__u8e3s4);
  }
  function NamedNodeMapIterator(map) {
    this.cle_1 = map;
    this.dle_1 = 0;
  }
  protoOf(NamedNodeMapIterator).f = function () {
    var tmp = this.dle_1;
    // Inline function 'nl.adaptivity.xmlutil.dom.getLength' call
    return tmp < this.cle_1.length;
  };
  protoOf(NamedNodeMapIterator).e = function () {
    var tmp1 = this.dle_1;
    this.dle_1 = tmp1 + 1 | 0;
    var tmp = get(this.cle_1, tmp1);
    return (!(tmp == null) ? !(tmp == null) : false) ? tmp : THROW_CCE();
  };
  function get(_this__u8e3s4, index) {
    var tmp = _this__u8e3s4.item(index);
    return (tmp == null ? true : !(tmp == null)) ? tmp : THROW_CCE();
  }
  function NodeConsts() {
    this.ele_1 = 1;
    this.fle_1 = 2;
    this.gle_1 = 3;
    this.hle_1 = 4;
    this.ile_1 = 5;
    this.jle_1 = 6;
    this.kle_1 = 7;
    this.lle_1 = 8;
    this.mle_1 = 9;
    this.nle_1 = 10;
    this.ole_1 = 11;
    this.ple_1 = 12;
  }
  var NodeConsts_instance;
  function NodeConsts_getInstance() {
    return NodeConsts_instance;
  }
  function iterator_0(_this__u8e3s4) {
    return new NodeListIterator(_this__u8e3s4);
  }
  function NodeListIterator(nodeList) {
    this.qle_1 = nodeList;
    this.rle_1 = 0;
  }
  protoOf(NodeListIterator).f = function () {
    var tmp = this.rle_1;
    // Inline function 'nl.adaptivity.xmlutil.dom.getLength' call
    return tmp < this.qle_1.length;
  };
  protoOf(NodeListIterator).e = function () {
    var tmp1 = this.rle_1;
    this.rle_1 = tmp1 + 1 | 0;
    var tmp2_elvis_lhs = this.qle_1.item(tmp1);
    var tmp;
    if (tmp2_elvis_lhs == null) {
      throw NoSuchElementException_init_$Create$_0('No item found in the iterator');
    } else {
      tmp = tmp2_elvis_lhs;
    }
    return tmp;
  };
  function ICompactFragment() {
  }
  function removeElementChildren(_this__u8e3s4) {
    var top = _this__u8e3s4;
    var cur = top.firstChild;
    while (!(cur == null)) {
      var n = cur.nextSibling;
      if (get_isElement(cur)) {
        top.removeChild(cur);
      }
      cur = n;
    }
  }
  function createElement(_this__u8e3s4, name) {
    return _this__u8e3s4.createElementNS(name.kl9(), toCName(name));
  }
  function myLookupNamespaceURI(_this__u8e3s4, prefix) {
    var tmp;
    var tmp_0 = _this__u8e3s4.nodeType;
    if (!(tmp_0 === 1)) {
      tmp = null;
    } else {
      // Inline function 'nl.adaptivity.xmlutil.util.filterTyped' call
      var this_0 = (!(_this__u8e3s4 == null) ? _this__u8e3s4 : THROW_CCE()).attributes;
      // Inline function 'kotlin.collections.mutableListOf' call
      var result = ArrayList_init_$Create$();
      // Inline function 'nl.adaptivity.xmlutil.util.forEachAttr' call
      var l = this_0.length;
      var inductionVariable = 0;
      if (inductionVariable < l)
        do {
          var idx = inductionVariable;
          inductionVariable = inductionVariable + 1 | 0;
          // Inline function 'nl.adaptivity.xmlutil.util.filterTyped.<anonymous>' call
          var tmp_1 = this_0.item(idx);
          var attr = (!(tmp_1 == null) ? !(tmp_1 == null) : false) ? tmp_1 : THROW_CCE();
          // Inline function 'nl.adaptivity.xmlutil.util.myLookupNamespaceURI.<anonymous>' call
          if ((prefix === '' ? attr.localName === 'xmlns' : false) ? true : attr.prefix === 'xmlns' ? attr.localName === prefix : false) {
            result.i1(attr);
          }
        }
         while (inductionVariable < l);
      var tmp0_safe_receiver = firstOrNull(result);
      var tmp2_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.value;
      var tmp_2;
      if (tmp2_elvis_lhs == null) {
        var tmp1_safe_receiver = _this__u8e3s4.parentNode;
        tmp_2 = tmp1_safe_receiver == null ? null : myLookupNamespaceURI(tmp1_safe_receiver, prefix);
      } else {
        tmp_2 = tmp2_elvis_lhs;
      }
      tmp = tmp_2;
    }
    return tmp;
  }
  function myLookupPrefix(_this__u8e3s4, namespaceUri) {
    var tmp = _this__u8e3s4.nodeType;
    if (!(tmp === 1))
      return null;
    var tmp_0 = !(_this__u8e3s4 == null) ? _this__u8e3s4 : THROW_CCE();
    // Inline function 'kotlin.collections.mutableSetOf' call
    var tmp$ret$0 = LinkedHashSet_init_$Create$();
    return myLookupPrefixImpl(tmp_0, namespaceUri, tmp$ret$0);
  }
  function get_isElement(_this__u8e3s4) {
    var tmp = _this__u8e3s4.nodeType;
    return tmp === 1;
  }
  function get_isText(_this__u8e3s4) {
    var tmp0_subject = _this__u8e3s4.nodeType;
    var tmp;
    var tmp_0;
    var tmp_1 = tmp0_subject;
    if (tmp_1 === 1) {
      tmp_0 = true;
    } else {
      var tmp_2 = tmp0_subject;
      tmp_0 = tmp_2 === 4;
    }
    if (tmp_0) {
      tmp = true;
    } else {
      tmp = false;
    }
    return tmp;
  }
  function myLookupPrefixImpl(_this__u8e3s4, namespaceUri, seenPrefixes) {
    var tmp0_safe_receiver = _this__u8e3s4.attributes;
    if (tmp0_safe_receiver == null)
      null;
    else {
      // Inline function 'nl.adaptivity.xmlutil.util.forEachAttr' call
      var l = tmp0_safe_receiver.length;
      var inductionVariable = 0;
      if (inductionVariable < l)
        do {
          var idx = inductionVariable;
          inductionVariable = inductionVariable + 1 | 0;
          // Inline function 'nl.adaptivity.xmlutil.util.myLookupPrefixImpl.<anonymous>' call
          var tmp = tmp0_safe_receiver.item(idx);
          var attr = (!(tmp == null) ? !(tmp == null) : false) ? tmp : THROW_CCE();
          var tmp_0 = attr.prefix;
          if (tmp_0 === 'xmlns')
            if (attr.value === namespaceUri ? !seenPrefixes.a1(attr.localName) : false) {
              return attr.localName;
            } else {
              var tmp0_elvis_lhs = attr.localName;
              seenPrefixes.i1(tmp0_elvis_lhs == null ? attr.name : tmp0_elvis_lhs);
            }
           else {
            var tmp_1;
            // Inline function 'kotlin.text.isNullOrBlank' call
            var this_0 = attr.prefix;
            // Inline function 'kotlin.contracts.contract' call
            if (this_0 == null ? true : isBlank(this_0)) {
              var tmp_2 = attr.localName;
              tmp_1 = tmp_2 === 'xmlns';
            } else {
              tmp_1 = false;
            }
            if (tmp_1)
              if (attr.value === namespaceUri ? !seenPrefixes.a1(attr.localName) : false) {
                return '';
              } else {
                seenPrefixes.i1('');
              }
          }
        }
         while (inductionVariable < l);
    }
    var tmp_3 = _this__u8e3s4.parentNode;
    var tmp1_safe_receiver = (!(tmp_3 == null) ? !(tmp_3 == null) : false) ? tmp_3 : null;
    return tmp1_safe_receiver == null ? null : myLookupPrefixImpl(tmp1_safe_receiver, namespaceUri, seenPrefixes);
  }
  function QName_init_$Init$(namespaceURI, localPart, $this) {
    QName.call($this, namespaceURI, localPart, '');
    return $this;
  }
  function QName_init_$Create$(namespaceURI, localPart) {
    return QName_init_$Init$(namespaceURI, localPart, objectCreate(protoOf(QName)));
  }
  function QName_init_$Init$_0(localPart, $this) {
    QName.call($this, '', localPart, '');
    return $this;
  }
  function QName_init_$Create$_0(localPart) {
    return QName_init_$Init$_0(localPart, objectCreate(protoOf(QName)));
  }
  function QName(namespaceURI, localPart, prefix) {
    this.hl9_1 = namespaceURI;
    this.il9_1 = localPart;
    this.jl9_1 = prefix;
  }
  protoOf(QName).ml9 = function () {
    return this.jl9_1;
  };
  protoOf(QName).ll9 = function () {
    return this.il9_1;
  };
  protoOf(QName).kl9 = function () {
    return this.hl9_1;
  };
  protoOf(QName).toString = function () {
    if (this.hl9_1 === '')
      return this.il9_1;
    return '{' + this.hl9_1 + '}' + this.il9_1;
  };
  protoOf(QName).equals = function (other) {
    if (this === other)
      return true;
    if (other == null ? true : !(this.constructor == other.constructor))
      return false;
    if (!(other instanceof QName))
      THROW_CCE();
    if (!(this.hl9_1 === other.hl9_1))
      return false;
    if (!(this.il9_1 === other.il9_1))
      return false;
    return true;
  };
  protoOf(QName).hashCode = function () {
    var result = getStringHashCode(this.hl9_1);
    result = imul(31, result) + getStringHashCode(this.il9_1) | 0;
    return result;
  };
  function siblingsToFragment(_this__u8e3s4) {
    var tmp0_safe_receiver = _this__u8e3s4 instanceof DomReader ? _this__u8e3s4 : null;
    var d = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.yl4_1;
    var tmp2_subject = d == null ? null : d.nodeType;
    var tmp;
    var tmp_0 = tmp2_subject == null ? null : tmp2_subject;
    if (tmp_0 === 9) {
      tmp = (!(d == null) ? !(d == null) : false) ? d : THROW_CCE();
    } else {
      if (tmp2_subject == null) {
        var tmp_1 = new Document();
        tmp = !(tmp_1 == null) ? tmp_1 : THROW_CCE();
      } else {
        var tmp4_elvis_lhs = d.ownerDocument;
        var tmp_2;
        if (tmp4_elvis_lhs == null) {
          var tmp_3 = new Document();
          tmp_2 = !(tmp_3 == null) ? tmp_3 : THROW_CCE();
        } else {
          tmp_2 = tmp4_elvis_lhs;
        }
        tmp = tmp_2;
      }
    }
    var doc = tmp;
    var frag = doc.createDocumentFragment();
    var wrapperElement = doc.createElementNS('http://wrapperns', 'SDFKLJDSF:afjlfxkls');
    frag.appendChild(wrapperElement);
    if (!_this__u8e3s4.ol5()) {
      if (_this__u8e3s4.f()) {
        _this__u8e3s4.e();
      } else {
        return CompactFragment_init_$Create$('');
      }
    }
    var startLocation = _this__u8e3s4.vl5();
    try {
      // Inline function 'kotlin.collections.mutableMapOf' call
      var missingNamespaces = LinkedHashMap_init_$Create$();
      var initialDepth = _this__u8e3s4.pl5() - (_this__u8e3s4.ul5() === EventType_START_ELEMENT_getInstance() ? 1 : 0) | 0;
      var type = _this__u8e3s4.ul5();
      while ((!(type === EventType_END_DOCUMENT_getInstance()) ? !(type === EventType_END_ELEMENT_getInstance()) : false) ? _this__u8e3s4.pl5() >= initialDepth : false) {
        var tmp5_subject = type;
        switch (tmp5_subject == null ? -1 : tmp5_subject.za_1) {
          case 1:
            var out = new DomWriter(wrapperElement, true);
            addUndeclaredNamespaces(out, _this__u8e3s4, missingNamespaces);
            writeCurrent(_this__u8e3s4, out);
            writeElementContent(out, missingNamespaces, _this__u8e3s4);
            out.n();
            break;
          case 9:
          case 4:
            wrapperElement.appendChild(ensureNotNull(wrapperElement.ownerDocument).createTextNode(_this__u8e3s4.sl5()));
            break;
          case 5:
            wrapperElement.appendChild(ensureNotNull(wrapperElement.ownerDocument).createCDATASection(_this__u8e3s4.sl5()));
            break;
          case 3:
            wrapperElement.appendChild(ensureNotNull(wrapperElement.ownerDocument).createComment(_this__u8e3s4.sl5()));
            break;
          case 8:
            throw XmlException_init_$Create$_0('Entity references are not expected here');
          case 10:
            throw AssertionError_init_$Create$('Attributes are not expected in the event stream');
          default:
            break;
        }
        type = _this__u8e3s4.f() ? _this__u8e3s4.e() : null;
      }
      if (missingNamespaces.q('') === '') {
        missingNamespaces.u2('');
      }
      var tmp_4 = asSequence_0(missingNamespaces.q2());
      var tmp_5 = filter(tmp_4, siblingsToFragment$lambda);
      var ns = toList_0(map(tmp_5, siblingsToFragment$lambda_0(wrapperElement)));
      var tmp_6 = new XMLSerializer();
      var wrappedString = tmp_6.serializeToString(wrapperElement instanceof Node ? wrapperElement : THROW_CCE());
      // Inline function 'kotlin.text.substring' call
      var startIndex = indexOf(wrappedString, _Char___init__impl__6a9atx(62), 19) + 1 | 0;
      var endIndex = (wrappedString.length - 19 | 0) - 3 | 0;
      // Inline function 'kotlin.js.asDynamic' call
      var unwrappedString = wrappedString.substring(startIndex, endIndex);
      return CompactFragment_init_$Create$_0(ns, unwrappedString);
    } catch ($p) {
      if ($p instanceof XmlException) {
        var e = $p;
        throw XmlException_init_$Create$_1('Failure to parse children into string at ' + startLocation, e);
      } else {
        if ($p instanceof RuntimeException) {
          var e_0 = $p;
          throw XmlException_init_$Create$_1('Failure to parse children into string at ' + startLocation, e_0);
        } else {
          throw $p;
        }
      }
    }
  }
  function siblingsToFragment$lambda(_name_for_destructuring_parameter_0__wldtmu) {
    // Inline function 'kotlin.collections.component1' call
    var prefix = _name_for_destructuring_parameter_0__wldtmu.s2();
    // Inline function 'kotlin.collections.component2' call
    var uri = _name_for_destructuring_parameter_0__wldtmu.t2();
    return !(prefix === '') ? true : !(uri === '');
  }
  function siblingsToFragment$lambda_0($wrapperElement) {
    return function (_name_for_destructuring_parameter_0__wldtmu) {
      // Inline function 'kotlin.collections.component1' call
      var prefix = _name_for_destructuring_parameter_0__wldtmu.s2();
      // Inline function 'kotlin.collections.component2' call
      var uri = _name_for_destructuring_parameter_0__wldtmu.t2();
      $wrapperElement.setAttributeNS('http://www.w3.org/2000/xmlns/', prefix === '' ? 'xmlns' : 'xmlns:' + prefix, uri);
      return new NamespaceImpl(prefix, uri);
    };
  }
  function XmlStreaming() {
  }
  protoOf(XmlStreaming).vle = function (input) {
    var str = toString(charSequenceGet(input, 0) === _Char___init__impl__6a9atx(65279) ? charSequenceSubSequence(input, 1, charSequenceLength(input)) : input);
    var tmp = (new DOMParser()).parseFromString(str, 'text/xml');
    return new DomReader(!(tmp == null) ? tmp : THROW_CCE());
  };
  protoOf(XmlStreaming).wle = function (writer, repairNamespaces, xmlDeclMode) {
    return new WriterXmlWriter(writer, DomWriter_init_$Create$(xmlDeclMode));
  };
  var XmlStreaming_instance;
  function XmlStreaming_getInstance() {
    return XmlStreaming_instance;
  }
  function WriterXmlWriter(target, delegate) {
    this.xle_1 = target;
    this.yle_1 = delegate;
  }
  protoOf(WriterXmlWriter).pl5 = function () {
    return this.yle_1.ol6_1;
  };
  protoOf(WriterXmlWriter).rl7 = function (_set____db54di) {
    this.yle_1.rl7(_set____db54di);
  };
  protoOf(WriterXmlWriter).sl7 = function () {
    return this.yle_1.sl7();
  };
  protoOf(WriterXmlWriter).wl5 = function () {
    return this.yle_1.nl6_1;
  };
  protoOf(WriterXmlWriter).kl7 = function (namespace, name, prefix, value) {
    this.yle_1.kl7(namespace, name, prefix, value);
  };
  protoOf(WriterXmlWriter).il7 = function (text) {
    this.yle_1.il7(text);
  };
  protoOf(WriterXmlWriter).al7 = function (text) {
    this.yle_1.al7(text);
  };
  protoOf(WriterXmlWriter).dl7 = function (text) {
    this.yle_1.dl7(text);
  };
  protoOf(WriterXmlWriter).nl7 = function () {
    this.yle_1.nl7();
  };
  protoOf(WriterXmlWriter).ol7 = function (namespace, localName, prefix) {
    this.yle_1.ol7(namespace, localName, prefix);
  };
  protoOf(WriterXmlWriter).jl7 = function (text) {
    this.yle_1.jl7(text);
  };
  protoOf(WriterXmlWriter).pl7 = function (prefix) {
    return this.yle_1.pl7(prefix);
  };
  protoOf(WriterXmlWriter).ql7 = function (namespaceUri) {
    return this.yle_1.ql7(namespaceUri);
  };
  protoOf(WriterXmlWriter).sl6 = function (text) {
    this.yle_1.sl6(text);
  };
  protoOf(WriterXmlWriter).fl7 = function (namespacePrefix, namespaceUri) {
    this.yle_1.fl7(namespacePrefix, namespaceUri);
  };
  protoOf(WriterXmlWriter).tl7 = function (namespace) {
    this.yle_1.tl7(namespace);
  };
  protoOf(WriterXmlWriter).bl7 = function (text) {
    this.yle_1.bl7(text);
  };
  protoOf(WriterXmlWriter).cl7 = function (target, data) {
    this.yle_1.cl7(target, data);
  };
  protoOf(WriterXmlWriter).ll7 = function (version, encoding, standalone) {
    this.yle_1.ll7(version, encoding, standalone);
  };
  protoOf(WriterXmlWriter).gl7 = function (namespace, localName, prefix) {
    this.yle_1.gl7(namespace, localName, prefix);
  };
  protoOf(WriterXmlWriter).hl7 = function (text) {
    this.yle_1.hl7(text);
  };
  protoOf(WriterXmlWriter).n = function () {
    try {
      var xmls = new XMLSerializer();
      var tmp = this.yle_1.el7();
      var domText = xmls.serializeToString(tmp instanceof Node ? tmp : THROW_CCE());
      var xmlDeclMode = this.yle_1.il6_1;
      if (!xmlDeclMode.equals(XmlDeclMode_None_getInstance())) {
        var tmp_0;
        if (xmlDeclMode.za_1 === 3) {
          var tmp1_elvis_lhs = this.yle_1.ql6_1;
          tmp_0 = tmp1_elvis_lhs == null ? 'UTF-8' : tmp1_elvis_lhs;
        } else {
          var tmp2_safe_receiver = this.yle_1.ql6_1;
          var tmp_1;
          if (tmp2_safe_receiver == null) {
            tmp_1 = null;
          } else {
            // Inline function 'kotlin.text.lowercase' call
            // Inline function 'kotlin.js.asDynamic' call
            tmp_1 = tmp2_safe_receiver.toLowerCase();
          }
          var tmp3_safe_receiver = tmp_1;
          tmp_0 = (tmp3_safe_receiver == null ? null : startsWith(tmp3_safe_receiver, 'utf-')) === false ? this.yle_1.ql6_1 : null;
        }
        var encoding = tmp_0;
        var tmp5_elvis_lhs = this.yle_1.pl6_1;
        var xmlVersion = tmp5_elvis_lhs == null ? '1.0' : tmp5_elvis_lhs;
        this.xle_1.z4s('<?xml version="');
        this.xle_1.z4s(xmlVersion);
        this.xle_1.z4s('"');
        if (!(encoding == null)) {
          this.xle_1.z4s(' encoding="');
          this.xle_1.z4s(encoding);
          this.xle_1.z4s('"');
        }
        this.xle_1.z4s('?>');
        // Inline function 'kotlin.collections.isNotEmpty' call
        if (!this.yle_1.fl6_1.c1()) {
          this.xle_1.z4s('\n');
        }
      }
      this.xle_1.z4s(domText);
    }finally {
      this.yle_1.n();
    }
  };
  function NamespaceContextImpl() {
  }
  function IOException_init_$Init$($this) {
    Exception_init_$Init$($this);
    IOException.call($this);
    return $this;
  }
  function IOException_init_$Create$() {
    var tmp = IOException_init_$Init$(objectCreate(protoOf(IOException)));
    captureStack(tmp, IOException_init_$Create$);
    return tmp;
  }
  function IOException_init_$Init$_0(message, $this) {
    Exception_init_$Init$_0(message, $this);
    IOException.call($this);
    return $this;
  }
  function IOException_init_$Init$_1(message, cause, $this) {
    Exception_init_$Init$_1(message, cause, $this);
    IOException.call($this);
    return $this;
  }
  function IOException() {
    captureStack(this, IOException);
  }
  function StringWriter() {
    Writer.call(this);
    this.zle_1 = StringBuilder_init_$Create$();
  }
  protoOf(StringWriter).z4s = function (text) {
    this.zle_1.y5(text);
  };
  protoOf(StringWriter).toString = function () {
    return this.zle_1.toString();
  };
  protoOf(StringWriter).z5 = function (value) {
    // Inline function 'kotlin.apply' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.core.impl.multiplatform.StringWriter.append.<anonymous>' call
    this.zle_1.z5(value);
    return this;
  };
  protoOf(StringWriter).r8 = function (value) {
    // Inline function 'kotlin.apply' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.core.impl.multiplatform.StringWriter.append.<anonymous>' call
    this.zle_1.r8(value);
    return this;
  };
  function assert(value, lazyMessage) {
    if (!value) {
      console.error('Assertion failed: ' + lazyMessage());
    }
  }
  function assert_0(value) {
    if (!value) {
      console.error('Assertion failed');
    }
  }
  function get_name_0(_this__u8e3s4) {
    return get_js(_this__u8e3s4).name;
  }
  function Writer() {
  }
  function Factory() {
  }
  function CompactFragment_init_$Init$(content, $this) {
    CompactFragment_init_$Init$_0(emptyList(), content, $this);
    return $this;
  }
  function CompactFragment_init_$Create$(content) {
    return CompactFragment_init_$Init$(content, objectCreate(protoOf(CompactFragment)));
  }
  function CompactFragment_init_$Init$_0(namespaces, content, $this) {
    CompactFragment.call($this);
    $this.alf_1 = Companion_getInstance_1().wl9(namespaces);
    $this.blf_1 = content;
    return $this;
  }
  function CompactFragment_init_$Create$_0(namespaces, content) {
    return CompactFragment_init_$Init$_0(namespaces, content, objectCreate(protoOf(CompactFragment)));
  }
  function CompactFragment_init_$Init$_1(orig, $this) {
    CompactFragment.call($this);
    $this.alf_1 = Companion_getInstance_1().wl9(orig.sle());
    $this.blf_1 = orig.tle();
    return $this;
  }
  function CompactFragment_init_$Create$_1(orig) {
    return CompactFragment_init_$Init$_1(orig, objectCreate(protoOf(CompactFragment)));
  }
  function Companion_6() {
    Companion_instance_7 = this;
    this.clf_1 = new Factory();
  }
  var Companion_instance_7;
  function Companion_getInstance_6() {
    if (Companion_instance_7 == null)
      new Companion_6();
    return Companion_instance_7;
  }
  function CompactFragment$toString$lambda(it) {
    return '"' + it.nl5() + ' -> ' + it.ll5() + '"';
  }
  protoOf(CompactFragment).sle = function () {
    return this.alf_1;
  };
  protoOf(CompactFragment).tle = function () {
    return this.blf_1;
  };
  protoOf(CompactFragment).ule = function (out) {
    // Inline function 'kotlin.let' call
    // Inline function 'kotlin.contracts.contract' call
    var reader = Companion_instance_8.flf(this);
    serialize(out, reader);
  };
  protoOf(CompactFragment).glf = function () {
    return Companion_instance_8.flf(this);
  };
  protoOf(CompactFragment).equals = function (other) {
    if (this === other)
      return true;
    if (other == null ? true : get_prototype(this) != get_prototype(other))
      return false;
    var that = (other == null ? true : isInterface(other, ICompactFragment)) ? other : THROW_CCE();
    if (!equals(this.alf_1, ensureNotNull(that).sle()))
      return false;
    return this.blf_1 === that.tle();
  };
  protoOf(CompactFragment).hashCode = function () {
    var result = hashCode(this.alf_1);
    result = imul(31, result) + getStringHashCode(this.blf_1) | 0;
    return result;
  };
  protoOf(CompactFragment).toString = function () {
    // Inline function 'kotlin.text.buildString' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.apply' call
    var this_0 = StringBuilder_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.util.CompactFragment.toString.<anonymous>' call
    this_0.y5('{namespaces=[');
    joinTo(this.alf_1, this_0, VOID, VOID, VOID, VOID, VOID, CompactFragment$toString$lambda);
    this_0.y5('], content=').y5(this.blf_1).z5(_Char___init__impl__6a9atx(125));
    return this_0.toString();
  };
  function CompactFragment() {
    Companion_getInstance_6();
  }
  function get_prototype(_this__u8e3s4) {
    // Inline function 'nl.adaptivity.xmlutil.util.<get-prototype>.prototype' call
    return _this__u8e3s4.prototype;
  }
  function FragmentNamespaceContext_init_$Init$(parent, prefixes, namespaces, $this) {
    SimpleNamespaceContext_init_$Init$_1(prefixes, namespaces, $this);
    FragmentNamespaceContext.call($this);
    $this.ilf_1 = parent;
    return $this;
  }
  function FragmentNamespaceContext_init_$Create$(parent, prefixes, namespaces) {
    return FragmentNamespaceContext_init_$Init$(parent, prefixes, namespaces, objectCreate(protoOf(FragmentNamespaceContext)));
  }
  function getLocalNamespaceUri($this, prefix) {
    var inductionVariable = $this.u() - 1 | 0;
    if (0 <= inductionVariable)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + -1 | 0;
        if (prefix === $this.sl9(i)) {
          return $this.tl9(i);
        }
      }
       while (0 <= inductionVariable);
    return null;
  }
  function getDelegate($this, text, wrapperNamespaceContext) {
    // Inline function 'kotlin.text.buildString' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.apply' call
    var this_0 = StringBuilder_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'nl.adaptivity.xmlutil.util.Companion.getDelegate.<anonymous>' call
    this_0.y5('<SDFKLJDSF:wrapper xmlns:SDFKLJDSF="http://wrapperns"');
    var tmp0_iterator = wrapperNamespaceContext.w();
    while (tmp0_iterator.f()) {
      var ns = tmp0_iterator.e();
      var prefix = ns.nl5();
      var uri = ns.ll5();
      if ('' === prefix) {
        this_0.y5(' xmlns');
      } else {
        this_0.y5(' xmlns:').y5(prefix);
      }
      this_0.y5('="').y5(xmlEncode(uri)).z5(_Char___init__impl__6a9atx(34));
    }
    this_0.y5(' >');
    var wrapper = this_0.toString();
    var actualInput = wrapper + text + '<\/SDFKLJDSF:wrapper>';
    var parser = new DOMParser();
    var tmp = parser.parseFromString(actualInput, 'text/xml');
    return new DomReader(!(tmp == null) ? tmp : THROW_CCE());
  }
  protoOf(FragmentNamespaceContext).hl5 = function () {
    return this;
  };
  protoOf(FragmentNamespaceContext).fl5 = function (prefix) {
    var namespaceURI = protoOf(SimpleNamespaceContext).fl5.call(this, prefix);
    var tmp0_safe_receiver = this.ilf_1;
    if (tmp0_safe_receiver == null)
      null;
    else {
      // Inline function 'kotlin.let' call
      // Inline function 'kotlin.contracts.contract' call
      return tmp0_safe_receiver.fl5(prefix);
    }
    return namespaceURI;
  };
  protoOf(FragmentNamespaceContext).gl5 = function (namespaceURI) {
    var prefix = protoOf(SimpleNamespaceContext).gl5.call(this, namespaceURI);
    if (prefix == null ? !(this.ilf_1 == null) : false) {
      return this.ilf_1.gl5(namespaceURI);
    }
    return prefix;
  };
  protoOf(FragmentNamespaceContext).kl5 = function (namespaceURI) {
    if (this.ilf_1 == null) {
      return protoOf(SimpleNamespaceContext).kl5.call(this, namespaceURI);
    }
    var prefixes = HashSet_init_$Create$();
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    var it = protoOf(SimpleNamespaceContext).kl5.call(this, namespaceURI);
    while (it.f()) {
      prefixes.i1(it.e());
    }
    var it_0 = this.ilf_1.kl5(namespaceURI);
    while (it_0.f()) {
      var prefix = it_0.e();
      var localNamespaceUri = getLocalNamespaceUri(this, prefix);
      if (localNamespaceUri == null) {
        prefixes.i1(prefix);
      }
    }
    return prefixes.w();
  };
  function FragmentNamespaceContext() {
  }
  function extendNamespace($this) {
    var namespaceDecls = $this.fx().xl5();
    var nscount = namespaceDecls.u();
    var tmp = 0;
    // Inline function 'kotlin.arrayOfNulls' call
    var tmp_0 = fillArrayVal(Array(nscount), null);
    while (tmp < nscount) {
      var tmp_1 = tmp;
      tmp_0[tmp_1] = namespaceDecls.v(tmp_1).nl5();
      tmp = tmp + 1 | 0;
    }
    var prefixes = tmp_0;
    var tmp_2 = 0;
    // Inline function 'kotlin.arrayOfNulls' call
    var tmp_3 = fillArrayVal(Array(nscount), null);
    while (tmp_2 < nscount) {
      var tmp_4 = tmp_2;
      tmp_3[tmp_4] = namespaceDecls.v(tmp_4).ll5();
      tmp_2 = tmp_2 + 1 | 0;
    }
    var namespaces = tmp_3;
    $this.klf_1 = FragmentNamespaceContext_init_$Create$($this.klf_1, prefixes, namespaces);
  }
  function Companion_7() {
    this.dlf_1 = 'SDFKLJDSF';
    this.elf_1 = 'http://wrapperns';
  }
  protoOf(Companion_7).flf = function (fragment) {
    return new XMLFragmentStreamReader(fragment.tle(), fragment.sle());
  };
  var Companion_instance_8;
  function Companion_getInstance_7() {
    return Companion_instance_8;
  }
  function XMLFragmentStreamReader(text, wrapperNamespaceContext) {
    XmlDelegatingReader.call(this, getDelegate(Companion_instance_8, text, wrapperNamespaceContext));
    var tmp = this;
    // Inline function 'kotlin.emptyArray' call
    var tmp_0 = [];
    // Inline function 'kotlin.emptyArray' call
    var tmp$ret$1 = [];
    tmp.klf_1 = FragmentNamespaceContext_init_$Create$(null, tmp_0, tmp$ret$1);
    if (this.fx().ul5() === EventType_START_ELEMENT_getInstance()) {
      extendNamespace(this);
    }
  }
  protoOf(XMLFragmentStreamReader).e = function () {
    var result = this.fx().e();
    switch (result.za_1) {
      case 7:
        return result;
      case 0:
      case 11:
      case 6:
        return this.e();
      case 1:
        if ('http://wrapperns' === this.fx().ll5())
          return this.e();
        extendNamespace(this);
        break;
      case 2:
        if ('http://wrapperns' === this.fx().ll5()) {
          return this.fx().e();
        }

        var tmp = this;
        var tmp1_elvis_lhs = this.klf_1.ilf_1;
        tmp.klf_1 = tmp1_elvis_lhs == null ? this.klf_1 : tmp1_elvis_lhs;
        break;
      default:
        break;
    }
    return result;
  };
  protoOf(XMLFragmentStreamReader).wl5 = function () {
    return this.klf_1;
  };
  function createDocument(rootElementName) {
    var tmp = document.implementation;
    var tmp0_elvis_lhs = rootElementName.kl9();
    var tmp_0 = tmp.createDocument(tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs, toCName(rootElementName));
    return !(tmp_0 == null) ? tmp_0 : THROW_CCE();
  }
  //region block: post-declaration
  protoOf(DomReader$namespaceContext$1).jl5 = plus_0;
  protoOf(DomReader$namespaceContext$1).kl5 = getPrefixes;
  protoOf(DomReader).dc = get_name;
  protoOf(DomReader).el6 = require_0;
  protoOf(DomWriter$namespaceContext$1).kl5 = getPrefixes;
  protoOf(PlatformXmlWriterBase).tl7 = namespaceAttr;
  protoOf(PlatformXmlWriterBase).cl7 = processingInstruction;
  protoOf(PlatformXmlWriterBase).ml7 = startDocument$default;
  protoOf(SimpleNamespaceContext).kl5 = getPrefixes;
  protoOf(XmlBufferedReaderBase).dc = get_name;
  protoOf(XmlBufferedReaderBase).el6 = require_0;
  protoOf(XmlBufferedReaderBase).flb = require_1;
  protoOf(XmlBufferedReaderBase).glb = getAttributeName;
  protoOf(XmlBufferedReaderBase).elb = getAttributeValue;
  protoOf(XmlBufferedReaderBase).hlb = isWhitespace;
  protoOf(NamespaceHolder$namespaceContext$1).jl5 = plus_0;
  protoOf(NamespaceHolder$namespaceContext$1).kl5 = getPrefixes;
  protoOf(WriterXmlWriter).ml7 = startDocument$default;
  //endregion
  //region block: init
  Companion_instance_0 = new Companion();
  XMLConstants_instance = new XMLConstants();
  Companion_instance_3 = new Companion_2();
  Companion_instance_4 = new Companion_3();
  Companion_instance_5 = new Companion_4();
  Companion_instance_6 = new Companion_5();
  NodeConsts_instance = new NodeConsts();
  XmlStreaming_instance = new XmlStreaming();
  Companion_instance_8 = new Companion_7();
  //endregion
  //region block: exports
  _.$_$ = _.$_$ || {};
  _.$_$.a = XmlVersion_XML11_getInstance;
  _.$_$.b = EventType_CDSECT_getInstance;
  _.$_$.c = EventType_END_DOCUMENT_getInstance;
  _.$_$.d = EventType_END_ELEMENT_getInstance;
  _.$_$.e = EventType_IGNORABLE_WHITESPACE_getInstance;
  _.$_$.f = EventType_START_ELEMENT_getInstance;
  _.$_$.g = EventType_TEXT_getInstance;
  _.$_$.h = XmlDeclMode_None_getInstance;
  _.$_$.i = startDocument$default;
  _.$_$.j = CompactFragment_init_$Create$_0;
  _.$_$.k = CompactFragment_init_$Create$_1;
  _.$_$.l = CompactFragment_init_$Create$;
  _.$_$.m = QName_init_$Create$_0;
  _.$_$.n = QName_init_$Create$;
  _.$_$.o = XmlException_init_$Create$_0;
  _.$_$.p = NodeConsts_instance;
  _.$_$.q = Companion_getInstance_0;
  _.$_$.r = QNameSerializer_getInstance;
  _.$_$.s = XMLConstants_instance;
  _.$_$.t = XmlStreaming_instance;
  _.$_$.u = StringWriter;
  _.$_$.v = assert_0;
  _.$_$.w = assert;
  _.$_$.x = get_name_0;
  _.$_$.y = iterator;
  _.$_$.z = iterator_0;
  _.$_$.a1 = createDocument;
  _.$_$.b1 = CompactFragment;
  _.$_$.c1 = ICompactFragment;
  _.$_$.d1 = DomWriter;
  _.$_$.e1 = getPrefixes;
  _.$_$.f1 = NamespaceContextImpl;
  _.$_$.g1 = QName;
  _.$_$.h1 = XmlBufferedReader;
  _.$_$.i1 = EndElementEvent;
  _.$_$.j1 = NamespaceImpl;
  _.$_$.k1 = namespaceAttr;
  _.$_$.l1 = processingInstruction;
  _.$_$.m1 = XmlWriter;
  _.$_$.n1 = allConsecutiveTextContent;
  _.$_$.o1 = allText;
  _.$_$.p1 = elementContentToFragment;
  _.$_$.q1 = elementToFragment;
  _.$_$.r1 = endTag;
  _.$_$.s1 = isEquivalent;
  _.$_$.t1 = readSimpleElement;
  _.$_$.u1 = siblingsToFragment;
  _.$_$.v1 = skipPreamble;
  _.$_$.w1 = smartStartTag_0;
  _.$_$.x1 = smartStartTag;
  _.$_$.y1 = toCName;
  _.$_$.z1 = toNamespace;
  _.$_$.a2 = toQname;
  _.$_$.b2 = writeAttribute;
  _.$_$.c2 = writeElement;
  _.$_$.d2 = xmlCollapseWhitespace;
  //endregion
  return _;
}(module.exports, require('./kotlin-kotlin-stdlib.js'), require('./kotlinx-serialization-kotlinx-serialization-core.js')));

//# sourceMappingURL=xmlutil-core.js.map
