Exit Full View

Cavern Quest 2 / build / compileSync / js / main / productionExecutable / kotlin / kotlin-kotlin-stdlib.js

//region block: polyfills
(function () {
  if (typeof globalThis === 'object')
    return;
  Object.defineProperty(Object.prototype, '__magic__', {get: function () {
    return this;
  }, configurable: true});
  __magic__.globalThis = __magic__;
  delete Object.prototype.__magic__;
}());
if (typeof Math.imul === 'undefined') {
  Math.imul = function imul(a, b) {
    return (a & 4.29490176E9) * (b & 65535) + (a & 65535) * (b | 0) | 0;
  };
}
if (typeof ArrayBuffer.isView === 'undefined') {
  ArrayBuffer.isView = function (a) {
    return a != null && a.__proto__ != null && a.__proto__.__proto__ === Int8Array.prototype.__proto__;
  };
}
if (typeof Array.prototype.fill === 'undefined') {
  // Polyfill from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/fill#Polyfill
  Object.defineProperty(Array.prototype, 'fill', {value: function (value) {
    // Steps 1-2.
    if (this == null) {
      throw new TypeError('this is null or not defined');
    }
    var O = Object(this); // Steps 3-5.
    var len = O.length >>> 0; // Steps 6-7.
    var start = arguments[1];
    var relativeStart = start >> 0; // Step 8.
    var k = relativeStart < 0 ? Math.max(len + relativeStart, 0) : Math.min(relativeStart, len); // Steps 9-10.
    var end = arguments[2];
    var relativeEnd = end === undefined ? len : end >> 0; // Step 11.
    var finalValue = relativeEnd < 0 ? Math.max(len + relativeEnd, 0) : Math.min(relativeEnd, len); // Step 12.
    while (k < finalValue) {
      O[k] = value;
      k++;
    }
    ; // Step 13.
    return O;
  }});
}
[Int8Array, Int16Array, Uint16Array, Int32Array, Float32Array, Float64Array].forEach(function (TypedArray) {
  if (typeof TypedArray.prototype.fill === 'undefined') {
    Object.defineProperty(TypedArray.prototype, 'fill', {value: Array.prototype.fill});
  }
});
if (typeof Math.clz32 === 'undefined') {
  Math.clz32 = function (log, LN2) {
    return function (x) {
      var asUint = x >>> 0;
      if (asUint === 0) {
        return 32;
      }
      return 31 - (log(asUint) / LN2 | 0) | 0; // the "| 0" acts like math.floor
    };
  }(Math.log, Math.LN2);
}
if (typeof String.prototype.startsWith === 'undefined') {
  Object.defineProperty(String.prototype, 'startsWith', {value: function (searchString, position) {
    position = position || 0;
    return this.lastIndexOf(searchString, position) === position;
  }});
}
if (typeof String.prototype.endsWith === 'undefined') {
  Object.defineProperty(String.prototype, 'endsWith', {value: function (searchString, position) {
    var subjectString = this.toString();
    if (position === undefined || position > subjectString.length) {
      position = subjectString.length;
    }
    position -= searchString.length;
    var lastIndex = subjectString.indexOf(searchString, position);
    return lastIndex !== -1 && lastIndex === position;
  }});
}
//endregion
(function (factory) {
  if (typeof define === 'function' && define.amd)
    define(['exports'], factory);
  else if (typeof exports === 'object')
    factory(module.exports);
  else
    globalThis['kotlin-kotlin-stdlib'] = factory(typeof globalThis['kotlin-kotlin-stdlib'] === 'undefined' ? {} : globalThis['kotlin-kotlin-stdlib']);
}(function (_) {
  'use strict';
  //region block: imports
  var imul = Math.imul;
  var isView = ArrayBuffer.isView;
  var clz32 = Math.clz32;
  //endregion
  //region block: pre-declaration
  initMetadataForInterface(CharSequence, 'CharSequence');
  initMetadataForInterface(Comparable, 'Comparable');
  initMetadataForClass(Number_0, 'Number');
  initMetadataForClass(asIterable$$inlined$Iterable$1);
  initMetadataForCompanion(Companion);
  initMetadataForClass(Char, 'Char', VOID, VOID, [Comparable]);
  initMetadataForInterface(Collection, 'Collection');
  initMetadataForInterface(KtList, 'List', VOID, VOID, [Collection]);
  initMetadataForInterface(KtSet, 'Set', VOID, VOID, [Collection]);
  initMetadataForInterface(Entry, 'Entry');
  initMetadataForInterface(KtMap, 'Map');
  initMetadataForInterface(MutableEntry, 'MutableEntry', VOID, VOID, [Entry]);
  initMetadataForInterface(MutableIterable, 'MutableIterable');
  initMetadataForInterface(MutableCollection, 'MutableCollection', VOID, VOID, [Collection, MutableIterable]);
  initMetadataForCompanion(Companion_0);
  initMetadataForClass(Enum, 'Enum', VOID, VOID, [Comparable]);
  initMetadataForCompanion(Companion_1);
  initMetadataForClass(Long, 'Long', VOID, Number_0, [Number_0, Comparable]);
  initMetadataForInterface(FunctionAdapter, 'FunctionAdapter');
  initMetadataForClass(arrayIterator$1);
  initMetadataForObject(Digit, 'Digit');
  initMetadataForInterface(Comparator, 'Comparator');
  initMetadataForObject(Unit, 'Unit');
  initMetadataForClass(AbstractCollection, 'AbstractCollection', VOID, VOID, [Collection]);
  initMetadataForClass(AbstractMutableCollection, 'AbstractMutableCollection', VOID, AbstractCollection, [AbstractCollection, MutableCollection]);
  initMetadataForClass(IteratorImpl, 'IteratorImpl');
  initMetadataForClass(ListIteratorImpl, 'ListIteratorImpl', VOID, IteratorImpl);
  initMetadataForClass(AbstractMutableList, 'AbstractMutableList', VOID, AbstractMutableCollection, [AbstractMutableCollection, KtList, MutableCollection]);
  initMetadataForInterface(RandomAccess, 'RandomAccess');
  initMetadataForClass(SubList, 'SubList', VOID, AbstractMutableList, [AbstractMutableList, RandomAccess]);
  initMetadataForClass(AbstractMap, 'AbstractMap', VOID, VOID, [KtMap]);
  initMetadataForClass(AbstractMutableMap, 'AbstractMutableMap', VOID, AbstractMap, [AbstractMap, KtMap]);
  initMetadataForClass(AbstractMutableSet, 'AbstractMutableSet', VOID, AbstractMutableCollection, [AbstractMutableCollection, MutableCollection, KtSet]);
  initMetadataForCompanion(Companion_2);
  initMetadataForClass(ArrayList, 'ArrayList', ArrayList_init_$Create$, AbstractMutableList, [AbstractMutableList, KtList, MutableCollection, RandomAccess]);
  initMetadataForClass(HashMap, 'HashMap', HashMap_init_$Create$, AbstractMutableMap, [AbstractMutableMap, KtMap]);
  initMetadataForClass(HashMapKeys, 'HashMapKeys', VOID, AbstractMutableSet, [MutableCollection, KtSet, AbstractMutableSet]);
  initMetadataForClass(HashMapValues, 'HashMapValues', VOID, AbstractMutableCollection, [MutableCollection, AbstractMutableCollection]);
  initMetadataForClass(HashMapEntrySetBase, 'HashMapEntrySetBase', VOID, AbstractMutableSet, [MutableCollection, KtSet, AbstractMutableSet]);
  initMetadataForClass(HashMapEntrySet, 'HashMapEntrySet', VOID, HashMapEntrySetBase);
  initMetadataForClass(HashMapKeysDefault$iterator$1);
  initMetadataForClass(HashMapKeysDefault, 'HashMapKeysDefault', VOID, AbstractMutableSet);
  initMetadataForClass(HashMapValuesDefault$iterator$1);
  initMetadataForClass(HashMapValuesDefault, 'HashMapValuesDefault', VOID, AbstractMutableCollection);
  initMetadataForClass(HashSet, 'HashSet', HashSet_init_$Create$, AbstractMutableSet, [AbstractMutableSet, MutableCollection, KtSet]);
  initMetadataForCompanion(Companion_3);
  initMetadataForClass(Itr, 'Itr');
  initMetadataForClass(KeysItr, 'KeysItr', VOID, Itr);
  initMetadataForClass(ValuesItr, 'ValuesItr', VOID, Itr);
  initMetadataForClass(EntriesItr, 'EntriesItr', VOID, Itr);
  initMetadataForClass(EntryRef, 'EntryRef', VOID, VOID, [MutableEntry]);
  function containsAllEntries(m) {
    var tmp$ret$0;
    $l$block_0: {
      // Inline function 'kotlin.collections.all' call
      var tmp;
      if (isInterface(m, Collection)) {
        tmp = m.l();
      } else {
        tmp = false;
      }
      if (tmp) {
        tmp$ret$0 = true;
        break $l$block_0;
      }
      var _iterator__ex2g4s = m.g();
      while (_iterator__ex2g4s.h()) {
        var element = _iterator__ex2g4s.i();
        // Inline function 'kotlin.collections.InternalMap.containsAllEntries.<anonymous>' call
        // Inline function 'kotlin.js.unsafeCast' call
        // Inline function 'kotlin.js.asDynamic' call
        var entry = element;
        var tmp_0;
        if (!(entry == null) ? isInterface(entry, Entry) : false) {
          tmp_0 = this.m7(entry);
        } else {
          tmp_0 = false;
        }
        if (!tmp_0) {
          tmp$ret$0 = false;
          break $l$block_0;
        }
      }
      tmp$ret$0 = true;
    }
    return tmp$ret$0;
  }
  initMetadataForInterface(InternalMap, 'InternalMap');
  initMetadataForClass(InternalHashMap, 'InternalHashMap', InternalHashMap_init_$Create$, VOID, [InternalMap]);
  initMetadataForClass(LinkedHashMap, 'LinkedHashMap', LinkedHashMap_init_$Create$, HashMap, [HashMap, KtMap]);
  initMetadataForClass(LinkedHashSet, 'LinkedHashSet', LinkedHashSet_init_$Create$, HashSet, [HashSet, MutableCollection, KtSet]);
  initMetadataForClass(BaseOutput, 'BaseOutput');
  initMetadataForClass(NodeJsOutput, 'NodeJsOutput', VOID, BaseOutput);
  initMetadataForClass(BufferedOutput, 'BufferedOutput', BufferedOutput, BaseOutput);
  initMetadataForClass(BufferedOutputToConsoleLog, 'BufferedOutputToConsoleLog', BufferedOutputToConsoleLog, BufferedOutput);
  initMetadataForInterface(Continuation, 'Continuation');
  initMetadataForClass(InterceptedCoroutine, 'InterceptedCoroutine', VOID, VOID, [Continuation]);
  initMetadataForClass(CoroutineImpl, 'CoroutineImpl', VOID, InterceptedCoroutine, [InterceptedCoroutine, Continuation]);
  initMetadataForObject(CompletedContinuation, 'CompletedContinuation', VOID, VOID, [Continuation]);
  initMetadataForClass(Exception, 'Exception', Exception_init_$Create$, Error);
  initMetadataForClass(RuntimeException, 'RuntimeException', RuntimeException_init_$Create$, Exception);
  initMetadataForClass(IllegalStateException, 'IllegalStateException', IllegalStateException_init_$Create$, RuntimeException);
  initMetadataForClass(CancellationException, 'CancellationException', CancellationException_init_$Create$, IllegalStateException);
  initMetadataForClass(createCoroutineUnintercepted$$inlined$createCoroutineFromSuspendFunction$1, VOID, VOID, CoroutineImpl);
  initMetadataForClass(createSimpleCoroutineForSuspendFunction$1, VOID, VOID, CoroutineImpl);
  initMetadataForClass(IllegalArgumentException, 'IllegalArgumentException', IllegalArgumentException_init_$Create$, RuntimeException);
  initMetadataForClass(UnsupportedOperationException, 'UnsupportedOperationException', UnsupportedOperationException_init_$Create$, RuntimeException);
  initMetadataForClass(NoSuchElementException, 'NoSuchElementException', NoSuchElementException_init_$Create$, RuntimeException);
  initMetadataForClass(Error_0, 'Error', Error_init_$Create$, Error);
  initMetadataForClass(IndexOutOfBoundsException, 'IndexOutOfBoundsException', IndexOutOfBoundsException_init_$Create$, RuntimeException);
  initMetadataForClass(ConcurrentModificationException, 'ConcurrentModificationException', ConcurrentModificationException_init_$Create$, RuntimeException);
  initMetadataForClass(NumberFormatException, 'NumberFormatException', NumberFormatException_init_$Create$, IllegalArgumentException);
  initMetadataForClass(ArithmeticException, 'ArithmeticException', ArithmeticException_init_$Create$, RuntimeException);
  initMetadataForClass(NullPointerException, 'NullPointerException', NullPointerException_init_$Create$, RuntimeException);
  initMetadataForClass(NoWhenBranchMatchedException, 'NoWhenBranchMatchedException', NoWhenBranchMatchedException_init_$Create$, RuntimeException);
  initMetadataForClass(ClassCastException, 'ClassCastException', ClassCastException_init_$Create$, RuntimeException);
  initMetadataForClass(UninitializedPropertyAccessException, 'UninitializedPropertyAccessException', UninitializedPropertyAccessException_init_$Create$, RuntimeException);
  initMetadataForInterface(KClass, 'KClass');
  initMetadataForClass(KClassImpl, 'KClassImpl', VOID, VOID, [KClass]);
  initMetadataForObject(NothingKClassImpl, 'NothingKClassImpl', VOID, KClassImpl);
  initMetadataForClass(ErrorKClass, 'ErrorKClass', ErrorKClass, VOID, [KClass]);
  initMetadataForClass(PrimitiveKClassImpl, 'PrimitiveKClassImpl', VOID, KClassImpl);
  initMetadataForClass(SimpleKClassImpl, 'SimpleKClassImpl', VOID, KClassImpl);
  initMetadataForInterface(KProperty1, 'KProperty1');
  initMetadataForInterface(KMutableProperty1, 'KMutableProperty1', VOID, VOID, [KProperty1]);
  initMetadataForObject(PrimitiveClasses, 'PrimitiveClasses');
  initMetadataForClass(StringBuilder, 'StringBuilder', StringBuilder_init_$Create$_0, VOID, [CharSequence]);
  initMetadataForClass(sam$kotlin_Comparator$0, 'sam$kotlin_Comparator$0', VOID, VOID, [Comparator, FunctionAdapter]);
  initMetadataForClass(ExceptionTraceBuilder, 'ExceptionTraceBuilder', ExceptionTraceBuilder);
  initMetadataForClass(AbstractList, 'AbstractList', VOID, AbstractCollection, [AbstractCollection, KtList]);
  initMetadataForClass(SubList_0, 'SubList', VOID, AbstractList, [AbstractList, RandomAccess]);
  initMetadataForClass(IteratorImpl_0, 'IteratorImpl');
  initMetadataForClass(ListIteratorImpl_0, 'ListIteratorImpl', VOID, IteratorImpl_0);
  initMetadataForCompanion(Companion_4);
  initMetadataForClass(AbstractMap$keys$1$iterator$1);
  initMetadataForCompanion(Companion_5);
  initMetadataForClass(AbstractSet, 'AbstractSet', VOID, AbstractCollection, [AbstractCollection, KtSet]);
  initMetadataForClass(AbstractMap$keys$1, VOID, VOID, AbstractSet);
  initMetadataForCompanion(Companion_6);
  initMetadataForCompanion(Companion_7);
  initMetadataForClass(ArrayDeque, 'ArrayDeque', ArrayDeque_init_$Create$, AbstractMutableList);
  initMetadataForObject(EmptyList, 'EmptyList', VOID, VOID, [KtList, RandomAccess]);
  initMetadataForClass(ArrayAsCollection, 'ArrayAsCollection', VOID, VOID, [Collection]);
  initMetadataForObject(EmptyIterator, 'EmptyIterator');
  initMetadataForObject(EmptyMap, 'EmptyMap', VOID, VOID, [KtMap]);
  initMetadataForClass(IntIterator, 'IntIterator');
  initMetadataForClass(ReversedListReadOnly$listIterator$1);
  initMetadataForClass(ReversedListReadOnly, 'ReversedListReadOnly', VOID, AbstractList);
  initMetadataForClass(ReversedList$listIterator$1);
  initMetadataForClass(ReversedList, 'ReversedList', VOID, AbstractMutableList);
  initMetadataForObject(EmptySet, 'EmptySet', VOID, VOID, [KtSet]);
  initMetadataForObject(Key, 'Key');
  function plus(context) {
    var tmp;
    if (context === EmptyCoroutineContext_getInstance()) {
      tmp = this;
    } else {
      tmp = context.ed(this, CoroutineContext$plus$lambda);
    }
    return tmp;
  }
  initMetadataForInterface(CoroutineContext, 'CoroutineContext');
  function get(key) {
    var tmp;
    if (equals(this.s1(), key)) {
      tmp = isInterface(this, Element) ? this : THROW_CCE();
    } else {
      tmp = null;
    }
    return tmp;
  }
  function fold(initial, operation) {
    return operation(initial, this);
  }
  function minusKey(key) {
    return equals(this.s1(), key) ? EmptyCoroutineContext_getInstance() : this;
  }
  initMetadataForInterface(Element, 'Element', VOID, VOID, [CoroutineContext]);
  function releaseInterceptedContinuation(continuation) {
  }
  function get_0(key) {
    if (key instanceof AbstractCoroutineContextKey) {
      var tmp;
      if (key.cd(this.s1())) {
        var tmp_0 = key.bd(this);
        tmp = (!(tmp_0 == null) ? isInterface(tmp_0, Element) : false) ? tmp_0 : null;
      } else {
        tmp = null;
      }
      return tmp;
    }
    var tmp_1;
    if (Key_instance === key) {
      tmp_1 = isInterface(this, Element) ? this : THROW_CCE();
    } else {
      tmp_1 = null;
    }
    return tmp_1;
  }
  function minusKey_0(key) {
    if (key instanceof AbstractCoroutineContextKey) {
      return key.cd(this.s1()) && !(key.bd(this) == null) ? EmptyCoroutineContext_getInstance() : this;
    }
    return Key_instance === key ? EmptyCoroutineContext_getInstance() : this;
  }
  initMetadataForInterface(ContinuationInterceptor, 'ContinuationInterceptor', VOID, VOID, [Element]);
  initMetadataForObject(EmptyCoroutineContext, 'EmptyCoroutineContext', VOID, VOID, [CoroutineContext]);
  initMetadataForClass(CombinedContext, 'CombinedContext', VOID, VOID, [CoroutineContext]);
  initMetadataForClass(AbstractCoroutineContextKey, 'AbstractCoroutineContextKey');
  initMetadataForClass(AbstractCoroutineContextElement, 'AbstractCoroutineContextElement', VOID, VOID, [Element]);
  initMetadataForClass(CoroutineSingletons, 'CoroutineSingletons', VOID, Enum);
  initMetadataForClass(EnumEntriesList, 'EnumEntriesList', VOID, AbstractList, [KtList, AbstractList]);
  initMetadataForClass(Random, 'Random');
  initMetadataForObject(Default, 'Default', VOID, Random);
  initMetadataForCompanion(Companion_8);
  initMetadataForClass(XorWowRandom, 'XorWowRandom', VOID, Random);
  initMetadataForCompanion(Companion_9);
  initMetadataForClass(IntProgression, 'IntProgression');
  initMetadataForClass(IntRange, 'IntRange', VOID, IntProgression);
  initMetadataForClass(IntProgressionIterator, 'IntProgressionIterator', VOID, IntIterator);
  initMetadataForCompanion(Companion_10);
  initMetadataForObject(State, 'State');
  initMetadataForClass(LinesIterator, 'LinesIterator');
  initMetadataForClass(DelimitedRangesSequence$iterator$1);
  initMetadataForClass(DelimitedRangesSequence, 'DelimitedRangesSequence');
  initMetadataForClass(lineSequence$$inlined$Sequence$1);
  initMetadataForClass(UnsafeLazyImpl, 'UnsafeLazyImpl');
  initMetadataForObject(UNINITIALIZED_VALUE, 'UNINITIALIZED_VALUE');
  initMetadataForCompanion(Companion_11);
  initMetadataForClass(Failure, 'Failure');
  initMetadataForClass(NotImplementedError, 'NotImplementedError', NotImplementedError, Error_0);
  initMetadataForClass(Pair, 'Pair');
  initMetadataForClass(Triple, 'Triple');
  //endregion
  function CharSequence() {
  }
  function Comparable() {
  }
  function Number_0() {
  }
  function toList(_this__u8e3s4) {
    switch (_this__u8e3s4.length) {
      case 0:
        return emptyList();
      case 1:
        return listOf(_this__u8e3s4[0]);
      default:
        return toMutableList(_this__u8e3s4);
    }
  }
  function contains(_this__u8e3s4, element) {
    return indexOf(_this__u8e3s4, element) >= 0;
  }
  function toSet(_this__u8e3s4) {
    switch (_this__u8e3s4.length) {
      case 0:
        return emptySet();
      case 1:
        return setOf(_this__u8e3s4[0]);
      default:
        return toCollection(_this__u8e3s4, LinkedHashSet_init_$Create$_1(mapCapacity(_this__u8e3s4.length)));
    }
  }
  function indexOf(_this__u8e3s4, element) {
    if (element == null) {
      var inductionVariable = 0;
      var last = _this__u8e3s4.length - 1 | 0;
      if (inductionVariable <= last)
        do {
          var index = inductionVariable;
          inductionVariable = inductionVariable + 1 | 0;
          if (_this__u8e3s4[index] == null) {
            return index;
          }
        }
         while (inductionVariable <= last);
    } else {
      var inductionVariable_0 = 0;
      var last_0 = _this__u8e3s4.length - 1 | 0;
      if (inductionVariable_0 <= last_0)
        do {
          var index_0 = inductionVariable_0;
          inductionVariable_0 = inductionVariable_0 + 1 | 0;
          if (equals(element, _this__u8e3s4[index_0])) {
            return index_0;
          }
        }
         while (inductionVariable_0 <= last_0);
    }
    return -1;
  }
  function get_lastIndex(_this__u8e3s4) {
    return _this__u8e3s4.length - 1 | 0;
  }
  function toMutableList(_this__u8e3s4) {
    return ArrayList_init_$Create$_1(asCollection(_this__u8e3s4));
  }
  function toCollection(_this__u8e3s4, destination) {
    var inductionVariable = 0;
    var last = _this__u8e3s4.length;
    while (inductionVariable < last) {
      var item = _this__u8e3s4[inductionVariable];
      inductionVariable = inductionVariable + 1 | 0;
      destination.e(item);
    }
    return destination;
  }
  function single(_this__u8e3s4) {
    var tmp;
    switch (_this__u8e3s4.length) {
      case 0:
        throw NoSuchElementException_init_$Create$_0('Array is empty.');
      case 1:
        tmp = _this__u8e3s4[0];
        break;
      default:
        throw IllegalArgumentException_init_$Create$_0('Array has more than one element.');
    }
    return tmp;
  }
  function joinToString(_this__u8e3s4, separator, prefix, postfix, limit, truncated, transform) {
    separator = separator === VOID ? ', ' : separator;
    prefix = prefix === VOID ? '' : prefix;
    postfix = postfix === VOID ? '' : postfix;
    limit = limit === VOID ? -1 : limit;
    truncated = truncated === VOID ? '...' : truncated;
    transform = transform === VOID ? null : transform;
    return joinTo(_this__u8e3s4, StringBuilder_init_$Create$_0(), separator, prefix, postfix, limit, truncated, transform).toString();
  }
  function joinTo(_this__u8e3s4, buffer, separator, prefix, postfix, limit, truncated, transform) {
    separator = separator === VOID ? ', ' : separator;
    prefix = prefix === VOID ? '' : prefix;
    postfix = postfix === VOID ? '' : postfix;
    limit = limit === VOID ? -1 : limit;
    truncated = truncated === VOID ? '...' : truncated;
    transform = transform === VOID ? null : transform;
    buffer.f(prefix);
    var count = 0;
    var inductionVariable = 0;
    var last = _this__u8e3s4.length;
    $l$loop: while (inductionVariable < last) {
      var element = _this__u8e3s4[inductionVariable];
      inductionVariable = inductionVariable + 1 | 0;
      count = count + 1 | 0;
      if (count > 1) {
        buffer.f(separator);
      }
      if (limit < 0 || count <= limit) {
        appendElement(buffer, element, transform);
      } else
        break $l$loop;
    }
    if (limit >= 0 && count > limit) {
      buffer.f(truncated);
    }
    buffer.f(postfix);
    return buffer;
  }
  function getOrNull(_this__u8e3s4, index) {
    return (0 <= index ? index <= (_this__u8e3s4.length - 1 | 0) : false) ? _this__u8e3s4[index] : null;
  }
  function joinToString_0(_this__u8e3s4, separator, prefix, postfix, limit, truncated, transform) {
    separator = separator === VOID ? ', ' : separator;
    prefix = prefix === VOID ? '' : prefix;
    postfix = postfix === VOID ? '' : postfix;
    limit = limit === VOID ? -1 : limit;
    truncated = truncated === VOID ? '...' : truncated;
    transform = transform === VOID ? null : transform;
    return joinTo_0(_this__u8e3s4, StringBuilder_init_$Create$_0(), separator, prefix, postfix, limit, truncated, transform).toString();
  }
  function joinTo_0(_this__u8e3s4, buffer, separator, prefix, postfix, limit, truncated, transform) {
    separator = separator === VOID ? ', ' : separator;
    prefix = prefix === VOID ? '' : prefix;
    postfix = postfix === VOID ? '' : postfix;
    limit = limit === VOID ? -1 : limit;
    truncated = truncated === VOID ? '...' : truncated;
    transform = transform === VOID ? null : transform;
    buffer.f(prefix);
    var count = 0;
    var _iterator__ex2g4s = _this__u8e3s4.g();
    $l$loop: while (_iterator__ex2g4s.h()) {
      var element = _iterator__ex2g4s.i();
      count = count + 1 | 0;
      if (count > 1) {
        buffer.f(separator);
      }
      if (limit < 0 || count <= limit) {
        appendElement(buffer, element, transform);
      } else
        break $l$loop;
    }
    if (limit >= 0 && count > limit) {
      buffer.f(truncated);
    }
    buffer.f(postfix);
    return buffer;
  }
  function toList_0(_this__u8e3s4) {
    if (isInterface(_this__u8e3s4, Collection)) {
      var tmp;
      switch (_this__u8e3s4.j()) {
        case 0:
          tmp = emptyList();
          break;
        case 1:
          var tmp_0;
          if (isInterface(_this__u8e3s4, KtList)) {
            tmp_0 = _this__u8e3s4.k(0);
          } else {
            tmp_0 = _this__u8e3s4.g().i();
          }

          tmp = listOf(tmp_0);
          break;
        default:
          tmp = toMutableList_0(_this__u8e3s4);
          break;
      }
      return tmp;
    }
    return optimizeReadOnlyList(toMutableList_1(_this__u8e3s4));
  }
  function toMutableSet(_this__u8e3s4) {
    var tmp;
    if (isInterface(_this__u8e3s4, Collection)) {
      tmp = LinkedHashSet_init_$Create$_0(_this__u8e3s4);
    } else {
      tmp = toCollection_0(_this__u8e3s4, LinkedHashSet_init_$Create$());
    }
    return tmp;
  }
  function last(_this__u8e3s4) {
    if (_this__u8e3s4.l())
      throw NoSuchElementException_init_$Create$_0('List is empty.');
    return _this__u8e3s4.k(get_lastIndex_0(_this__u8e3s4));
  }
  function lastOrNull(_this__u8e3s4) {
    return _this__u8e3s4.l() ? null : _this__u8e3s4.k(_this__u8e3s4.j() - 1 | 0);
  }
  function plus_0(_this__u8e3s4, elements) {
    var result = ArrayList_init_$Create$_0(_this__u8e3s4.j() + elements.length | 0);
    result.p(_this__u8e3s4);
    addAll(result, elements);
    return result;
  }
  function firstOrNull(_this__u8e3s4) {
    return _this__u8e3s4.l() ? null : _this__u8e3s4.k(0);
  }
  function first(_this__u8e3s4) {
    if (_this__u8e3s4.l())
      throw NoSuchElementException_init_$Create$_0('List is empty.');
    return _this__u8e3s4.k(0);
  }
  function slice(_this__u8e3s4, indices) {
    if (indices.l()) {
      // Inline function 'kotlin.collections.listOf' call
      return emptyList();
    }
    return toList_0(_this__u8e3s4.v(indices.t(), indices.u() + 1 | 0));
  }
  function toMutableList_0(_this__u8e3s4) {
    return ArrayList_init_$Create$_1(_this__u8e3s4);
  }
  function toMutableList_1(_this__u8e3s4) {
    if (isInterface(_this__u8e3s4, Collection))
      return toMutableList_0(_this__u8e3s4);
    return toCollection_0(_this__u8e3s4, ArrayList_init_$Create$());
  }
  function toCollection_0(_this__u8e3s4, destination) {
    var _iterator__ex2g4s = _this__u8e3s4.g();
    while (_iterator__ex2g4s.h()) {
      var item = _iterator__ex2g4s.i();
      destination.e(item);
    }
    return destination;
  }
  function sortedWith(_this__u8e3s4, comparator) {
    if (isInterface(_this__u8e3s4, Collection)) {
      if (_this__u8e3s4.j() <= 1)
        return toList_0(_this__u8e3s4);
      // Inline function 'kotlin.collections.toTypedArray' call
      var tmp = copyToArray(_this__u8e3s4);
      // Inline function 'kotlin.apply' call
      var this_0 = isArray(tmp) ? tmp : THROW_CCE();
      // Inline function 'kotlin.collections.sortedWith.<anonymous>' call
      sortWith(this_0, comparator);
      return asList(this_0);
    }
    // Inline function 'kotlin.apply' call
    var this_1 = toMutableList_1(_this__u8e3s4);
    // Inline function 'kotlin.collections.sortedWith.<anonymous>' call
    sortWith_0(this_1, comparator);
    return this_1;
  }
  function single_0(_this__u8e3s4) {
    if (isInterface(_this__u8e3s4, KtList))
      return single_1(_this__u8e3s4);
    else {
      var iterator = _this__u8e3s4.g();
      if (!iterator.h())
        throw NoSuchElementException_init_$Create$_0('Collection is empty.');
      var single = iterator.i();
      if (iterator.h())
        throw IllegalArgumentException_init_$Create$_0('Collection has more than one element.');
      return single;
    }
  }
  function single_1(_this__u8e3s4) {
    var tmp;
    switch (_this__u8e3s4.j()) {
      case 0:
        throw NoSuchElementException_init_$Create$_0('List is empty.');
      case 1:
        tmp = _this__u8e3s4.k(0);
        break;
      default:
        throw IllegalArgumentException_init_$Create$_0('List has more than one element.');
    }
    return tmp;
  }
  function toSet_0(_this__u8e3s4) {
    if (isInterface(_this__u8e3s4, Collection)) {
      var tmp;
      switch (_this__u8e3s4.j()) {
        case 0:
          tmp = emptySet();
          break;
        case 1:
          var tmp_0;
          if (isInterface(_this__u8e3s4, KtList)) {
            tmp_0 = _this__u8e3s4.k(0);
          } else {
            tmp_0 = _this__u8e3s4.g().i();
          }

          tmp = setOf(tmp_0);
          break;
        default:
          tmp = toCollection_0(_this__u8e3s4, LinkedHashSet_init_$Create$_1(mapCapacity(_this__u8e3s4.j())));
          break;
      }
      return tmp;
    }
    return optimizeReadOnlySet(toCollection_0(_this__u8e3s4, LinkedHashSet_init_$Create$()));
  }
  function max(_this__u8e3s4) {
    var iterator = _this__u8e3s4.g();
    if (!iterator.h())
      throw NoSuchElementException_init_$Create$();
    var max = iterator.i();
    while (iterator.h()) {
      var e = iterator.i();
      // Inline function 'kotlin.comparisons.maxOf' call
      var a = max;
      max = Math.max(a, e);
    }
    return max;
  }
  function plus_1(_this__u8e3s4, elements) {
    if (isInterface(elements, Collection)) {
      var result = ArrayList_init_$Create$_0(_this__u8e3s4.j() + elements.j() | 0);
      result.p(_this__u8e3s4);
      result.p(elements);
      return result;
    } else {
      var result_0 = ArrayList_init_$Create$_1(_this__u8e3s4);
      addAll_0(result_0, elements);
      return result_0;
    }
  }
  function until(_this__u8e3s4, to) {
    if (to <= -2147483648)
      return Companion_getInstance_9().w_1;
    return numberRangeToNumber(_this__u8e3s4, to - 1 | 0);
  }
  function downTo(_this__u8e3s4, to) {
    return Companion_instance_10.x(_this__u8e3s4, to, -1);
  }
  function coerceIn(_this__u8e3s4, minimumValue, maximumValue) {
    if (minimumValue.a1(maximumValue) > 0)
      throw IllegalArgumentException_init_$Create$_0('Cannot coerce value to an empty range: maximum ' + maximumValue.toString() + ' is less than minimum ' + minimumValue.toString() + '.');
    if (_this__u8e3s4.a1(minimumValue) < 0)
      return minimumValue;
    if (_this__u8e3s4.a1(maximumValue) > 0)
      return maximumValue;
    return _this__u8e3s4;
  }
  function coerceAtLeast(_this__u8e3s4, minimumValue) {
    return _this__u8e3s4 < minimumValue ? minimumValue : _this__u8e3s4;
  }
  function coerceAtMost(_this__u8e3s4, maximumValue) {
    return _this__u8e3s4 > maximumValue ? maximumValue : _this__u8e3s4;
  }
  function coerceIn_0(_this__u8e3s4, minimumValue, maximumValue) {
    if (minimumValue > maximumValue)
      throw IllegalArgumentException_init_$Create$_0('Cannot coerce value to an empty range: maximum ' + maximumValue + ' is less than minimum ' + minimumValue + '.');
    if (_this__u8e3s4 < minimumValue)
      return minimumValue;
    if (_this__u8e3s4 > maximumValue)
      return maximumValue;
    return _this__u8e3s4;
  }
  function asIterable(_this__u8e3s4) {
    // Inline function 'kotlin.collections.Iterable' call
    return new asIterable$$inlined$Iterable$1(_this__u8e3s4);
  }
  function asIterable$$inlined$Iterable$1($this_asIterable) {
    this.b1_1 = $this_asIterable;
  }
  protoOf(asIterable$$inlined$Iterable$1).g = function () {
    // Inline function 'kotlin.sequences.asIterable.<anonymous>' call
    return this.b1_1.g();
  };
  function dropLast(_this__u8e3s4, n) {
    // Inline function 'kotlin.require' call
    if (!(n >= 0)) {
      // Inline function 'kotlin.text.dropLast.<anonymous>' call
      var message = 'Requested character count ' + n + ' is less than zero.';
      throw IllegalArgumentException_init_$Create$_0(toString_1(message));
    }
    return take(_this__u8e3s4, coerceAtLeast(_this__u8e3s4.length - n | 0, 0));
  }
  function take(_this__u8e3s4, n) {
    // Inline function 'kotlin.require' call
    if (!(n >= 0)) {
      // Inline function 'kotlin.text.take.<anonymous>' call
      var message = 'Requested character count ' + n + ' is less than zero.';
      throw IllegalArgumentException_init_$Create$_0(toString_1(message));
    }
    // Inline function 'kotlin.text.substring' call
    var endIndex = coerceAtMost(n, _this__u8e3s4.length);
    // Inline function 'kotlin.js.asDynamic' call
    return _this__u8e3s4.substring(0, endIndex);
  }
  function firstOrNull_0(_this__u8e3s4) {
    var tmp;
    // Inline function 'kotlin.text.isEmpty' call
    if (charSequenceLength(_this__u8e3s4) === 0) {
      tmp = null;
    } else {
      tmp = charSequenceGet(_this__u8e3s4, 0);
    }
    return tmp;
  }
  function _Char___init__impl__6a9atx(value) {
    return value;
  }
  function _get_value__a43j40($this) {
    return $this;
  }
  function _Char___init__impl__6a9atx_0(code) {
    // Inline function 'kotlin.UShort.toInt' call
    var tmp$ret$0 = _UShort___get_data__impl__g0245(code) & 65535;
    return _Char___init__impl__6a9atx(tmp$ret$0);
  }
  function Char__compareTo_impl_ypi4mb($this, other) {
    return _get_value__a43j40($this) - _get_value__a43j40(other) | 0;
  }
  function Char__compareTo_impl_ypi4mb_0($this, other) {
    return Char__compareTo_impl_ypi4mb($this.c1_1, other instanceof Char ? other.c1_1 : THROW_CCE());
  }
  function Char__minus_impl_a2frrh($this, other) {
    return _get_value__a43j40($this) - _get_value__a43j40(other) | 0;
  }
  function Char__toInt_impl_vasixd($this) {
    return _get_value__a43j40($this);
  }
  function toString($this) {
    // Inline function 'kotlin.js.unsafeCast' call
    return String.fromCharCode(_get_value__a43j40($this));
  }
  function Char__equals_impl_x6719k($this, other) {
    if (!(other instanceof Char))
      return false;
    return _get_value__a43j40($this) === _get_value__a43j40(other.c1_1);
  }
  function Char__hashCode_impl_otmys($this) {
    return _get_value__a43j40($this);
  }
  function Companion() {
    Companion_instance = this;
    this.d1_1 = _Char___init__impl__6a9atx(0);
    this.e1_1 = _Char___init__impl__6a9atx(65535);
    this.f1_1 = _Char___init__impl__6a9atx(55296);
    this.g1_1 = _Char___init__impl__6a9atx(56319);
    this.h1_1 = _Char___init__impl__6a9atx(56320);
    this.i1_1 = _Char___init__impl__6a9atx(57343);
    this.j1_1 = _Char___init__impl__6a9atx(55296);
    this.k1_1 = _Char___init__impl__6a9atx(57343);
    this.l1_1 = 2;
    this.m1_1 = 16;
  }
  var Companion_instance;
  function Companion_getInstance() {
    if (Companion_instance == null)
      new Companion();
    return Companion_instance;
  }
  function Char(value) {
    Companion_getInstance();
    this.c1_1 = value;
  }
  protoOf(Char).n1 = function (other) {
    return Char__compareTo_impl_ypi4mb(this.c1_1, other);
  };
  protoOf(Char).d = function (other) {
    return Char__compareTo_impl_ypi4mb_0(this, other);
  };
  protoOf(Char).toString = function () {
    return toString(this.c1_1);
  };
  protoOf(Char).equals = function (other) {
    return Char__equals_impl_x6719k(this.c1_1, other);
  };
  protoOf(Char).hashCode = function () {
    return Char__hashCode_impl_otmys(this.c1_1);
  };
  function KtList() {
  }
  function Collection() {
  }
  function KtSet() {
  }
  function Entry() {
  }
  function KtMap() {
  }
  function MutableEntry() {
  }
  function MutableCollection() {
  }
  function MutableIterable() {
  }
  function Companion_0() {
  }
  var Companion_instance_0;
  function Companion_getInstance_0() {
    return Companion_instance_0;
  }
  function Enum(name, ordinal) {
    this.b2_1 = name;
    this.c2_1 = ordinal;
  }
  protoOf(Enum).d2 = function () {
    return this.b2_1;
  };
  protoOf(Enum).e2 = function (other) {
    return compareTo(this.c2_1, other.c2_1);
  };
  protoOf(Enum).d = function (other) {
    return this.e2(other instanceof Enum ? other : THROW_CCE());
  };
  protoOf(Enum).equals = function (other) {
    return this === other;
  };
  protoOf(Enum).hashCode = function () {
    return identityHashCode(this);
  };
  protoOf(Enum).toString = function () {
    return this.b2_1;
  };
  function toString_0(_this__u8e3s4) {
    var tmp1_elvis_lhs = _this__u8e3s4 == null ? null : toString_1(_this__u8e3s4);
    return tmp1_elvis_lhs == null ? 'null' : tmp1_elvis_lhs;
  }
  function Companion_1() {
    Companion_instance_1 = this;
    this.f2_1 = new Long(0, -2147483648);
    this.g2_1 = new Long(-1, 2147483647);
    this.h2_1 = 8;
    this.i2_1 = 64;
  }
  var Companion_instance_1;
  function Companion_getInstance_1() {
    if (Companion_instance_1 == null)
      new Companion_1();
    return Companion_instance_1;
  }
  function Long(low, high) {
    Companion_getInstance_1();
    Number_0.call(this);
    this.y_1 = low;
    this.z_1 = high;
  }
  protoOf(Long).a1 = function (other) {
    return compare(this, other);
  };
  protoOf(Long).d = function (other) {
    return this.a1(other instanceof Long ? other : THROW_CCE());
  };
  protoOf(Long).j2 = function (other) {
    return add(this, other);
  };
  protoOf(Long).k2 = function (other) {
    return subtract(this, other);
  };
  protoOf(Long).l2 = function (other) {
    return divide(this, other);
  };
  protoOf(Long).m2 = function () {
    return this.n2().j2(new Long(1, 0));
  };
  protoOf(Long).n2 = function () {
    return new Long(~this.y_1, ~this.z_1);
  };
  protoOf(Long).o2 = function () {
    return this.y_1;
  };
  protoOf(Long).p2 = function () {
    return toNumber(this);
  };
  protoOf(Long).toString = function () {
    return toStringImpl(this, 10);
  };
  protoOf(Long).equals = function (other) {
    var tmp;
    if (other instanceof Long) {
      tmp = equalsLong(this, other);
    } else {
      tmp = false;
    }
    return tmp;
  };
  protoOf(Long).hashCode = function () {
    return hashCode_0(this);
  };
  protoOf(Long).valueOf = function () {
    return this.p2();
  };
  function implement(interfaces) {
    var maxSize = 1;
    var masks = [];
    var inductionVariable = 0;
    var last = interfaces.length;
    while (inductionVariable < last) {
      var i = interfaces[inductionVariable];
      inductionVariable = inductionVariable + 1 | 0;
      var currentSize = maxSize;
      var tmp0_elvis_lhs = i.prototype.$imask$;
      var imask = tmp0_elvis_lhs == null ? i.$imask$ : tmp0_elvis_lhs;
      if (!(imask == null)) {
        masks.push(imask);
        currentSize = imask.length;
      }
      var iid = i.$metadata$.iid;
      var tmp;
      if (iid == null) {
        tmp = null;
      } else {
        // Inline function 'kotlin.let' call
        // Inline function 'kotlin.js.implement.<anonymous>' call
        tmp = bitMaskWith(iid);
      }
      var iidImask = tmp;
      if (!(iidImask == null)) {
        masks.push(iidImask);
        currentSize = Math.max(currentSize, iidImask.length);
      }
      if (currentSize > maxSize) {
        maxSize = currentSize;
      }
    }
    return compositeBitMask(maxSize, masks);
  }
  function bitMaskWith(activeBit) {
    var numberIndex = activeBit >> 5;
    var intArray = new Int32Array(numberIndex + 1 | 0);
    var positionInNumber = activeBit & 31;
    var numberWithSettledBit = 1 << positionInNumber;
    intArray[numberIndex] = intArray[numberIndex] | numberWithSettledBit;
    return intArray;
  }
  function compositeBitMask(capacity, masks) {
    var tmp = 0;
    var tmp_0 = new Int32Array(capacity);
    while (tmp < capacity) {
      var tmp_1 = tmp;
      var result = 0;
      var inductionVariable = 0;
      var last = masks.length;
      while (inductionVariable < last) {
        var mask = masks[inductionVariable];
        inductionVariable = inductionVariable + 1 | 0;
        if (tmp_1 < mask.length) {
          result = result | mask[tmp_1];
        }
      }
      tmp_0[tmp_1] = result;
      tmp = tmp + 1 | 0;
    }
    return tmp_0;
  }
  function isBitSet(_this__u8e3s4, possibleActiveBit) {
    var numberIndex = possibleActiveBit >> 5;
    if (numberIndex > _this__u8e3s4.length)
      return false;
    var positionInNumber = possibleActiveBit & 31;
    var numberWithSettledBit = 1 << positionInNumber;
    return !((_this__u8e3s4[numberIndex] & numberWithSettledBit) === 0);
  }
  function FunctionAdapter() {
  }
  function fillArrayVal(array, initValue) {
    var inductionVariable = 0;
    var last = array.length - 1 | 0;
    if (inductionVariable <= last)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        array[i] = initValue;
      }
       while (!(i === last));
    return array;
  }
  function arrayIterator(array) {
    return new arrayIterator$1(array);
  }
  function charArray(size) {
    var tmp0 = 'CharArray';
    // Inline function 'withType' call
    var array = new Uint16Array(size);
    array.$type$ = tmp0;
    // Inline function 'kotlin.js.unsafeCast' call
    return array;
  }
  function charArrayOf(arr) {
    var tmp0 = 'CharArray';
    // Inline function 'withType' call
    var array = new Uint16Array(arr);
    array.$type$ = tmp0;
    // Inline function 'kotlin.js.unsafeCast' call
    return array;
  }
  function arrayIterator$1($array) {
    this.s2_1 = $array;
    this.r2_1 = 0;
  }
  protoOf(arrayIterator$1).h = function () {
    return !(this.r2_1 === this.s2_1.length);
  };
  protoOf(arrayIterator$1).i = function () {
    var tmp;
    if (!(this.r2_1 === this.s2_1.length)) {
      var _unary__edvuaz = this.r2_1;
      this.r2_1 = _unary__edvuaz + 1 | 0;
      tmp = this.s2_1[_unary__edvuaz];
    } else {
      throw NoSuchElementException_init_$Create$_0('' + this.r2_1);
    }
    return tmp;
  };
  function get_buf() {
    _init_properties_bitUtils_kt__nfcg4k();
    return buf;
  }
  var buf;
  function get_bufFloat64() {
    _init_properties_bitUtils_kt__nfcg4k();
    return bufFloat64;
  }
  var bufFloat64;
  var bufFloat32;
  function get_bufInt32() {
    _init_properties_bitUtils_kt__nfcg4k();
    return bufInt32;
  }
  var bufInt32;
  function get_lowIndex() {
    _init_properties_bitUtils_kt__nfcg4k();
    return lowIndex;
  }
  var lowIndex;
  function get_highIndex() {
    _init_properties_bitUtils_kt__nfcg4k();
    return highIndex;
  }
  var highIndex;
  function getNumberHashCode(obj) {
    _init_properties_bitUtils_kt__nfcg4k();
    // Inline function 'kotlin.js.jsBitwiseOr' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    if ((obj | 0) === obj) {
      return numberToInt(obj);
    }
    get_bufFloat64()[0] = obj;
    return imul(get_bufInt32()[get_highIndex()], 31) + get_bufInt32()[get_lowIndex()] | 0;
  }
  var properties_initialized_bitUtils_kt_i2bo3e;
  function _init_properties_bitUtils_kt__nfcg4k() {
    if (!properties_initialized_bitUtils_kt_i2bo3e) {
      properties_initialized_bitUtils_kt_i2bo3e = true;
      buf = new ArrayBuffer(8);
      // Inline function 'kotlin.js.unsafeCast' call
      // Inline function 'kotlin.js.asDynamic' call
      bufFloat64 = new Float64Array(get_buf());
      // Inline function 'kotlin.js.unsafeCast' call
      // Inline function 'kotlin.js.asDynamic' call
      bufFloat32 = new Float32Array(get_buf());
      // Inline function 'kotlin.js.unsafeCast' call
      // Inline function 'kotlin.js.asDynamic' call
      bufInt32 = new Int32Array(get_buf());
      // Inline function 'kotlin.run' call
      // Inline function 'kotlin.js.lowIndex.<anonymous>' call
      get_bufFloat64()[0] = -1.0;
      lowIndex = !(get_bufInt32()[0] === 0) ? 1 : 0;
      highIndex = 1 - get_lowIndex() | 0;
    }
  }
  function charSequenceGet(a, index) {
    var tmp;
    if (isString(a)) {
      // Inline function 'kotlin.js.asDynamic' call
      // Inline function 'kotlin.js.unsafeCast' call
      // Inline function 'kotlin.Char' call
      var code = a.charCodeAt(index);
      var tmp_0;
      // Inline function 'kotlin.code' call
      var this_0 = _Char___init__impl__6a9atx(0);
      if (code < Char__toInt_impl_vasixd(this_0)) {
        tmp_0 = true;
      } else {
        // Inline function 'kotlin.code' call
        var this_1 = _Char___init__impl__6a9atx(65535);
        tmp_0 = code > Char__toInt_impl_vasixd(this_1);
      }
      if (tmp_0) {
        throw IllegalArgumentException_init_$Create$_0('Invalid Char code: ' + code);
      }
      tmp = numberToChar(code);
    } else {
      tmp = a.b(index);
    }
    return tmp;
  }
  function isString(a) {
    return typeof a === 'string';
  }
  function charSequenceLength(a) {
    var tmp;
    if (isString(a)) {
      // Inline function 'kotlin.js.asDynamic' call
      // Inline function 'kotlin.js.unsafeCast' call
      tmp = a.length;
    } else {
      tmp = a.a();
    }
    return tmp;
  }
  function charSequenceSubSequence(a, startIndex, endIndex) {
    var tmp;
    if (isString(a)) {
      // Inline function 'kotlin.js.asDynamic' call
      // Inline function 'kotlin.js.unsafeCast' call
      tmp = a.substring(startIndex, endIndex);
    } else {
      tmp = a.c(startIndex, endIndex);
    }
    return tmp;
  }
  function arrayToString(array) {
    return joinToString(array, ', ', '[', ']', VOID, VOID, arrayToString$lambda);
  }
  function arrayToString$lambda(it) {
    return toString_1(it);
  }
  function compareTo(a, b) {
    var tmp;
    switch (typeof a) {
      case 'number':
        var tmp_0;
        if (typeof b === 'number') {
          tmp_0 = doubleCompareTo(a, b);
        } else {
          if (b instanceof Long) {
            tmp_0 = doubleCompareTo(a, b.p2());
          } else {
            tmp_0 = primitiveCompareTo(a, b);
          }
        }

        tmp = tmp_0;
        break;
      case 'string':
      case 'boolean':
        tmp = primitiveCompareTo(a, b);
        break;
      default:
        tmp = compareToDoNotIntrinsicify(a, b);
        break;
    }
    return tmp;
  }
  function doubleCompareTo(a, b) {
    var tmp;
    if (a < b) {
      tmp = -1;
    } else if (a > b) {
      tmp = 1;
    } else if (a === b) {
      var tmp_0;
      if (a !== 0) {
        tmp_0 = 0;
      } else {
        // Inline function 'kotlin.js.asDynamic' call
        var ia = 1 / a;
        var tmp_1;
        // Inline function 'kotlin.js.asDynamic' call
        if (ia === 1 / b) {
          tmp_1 = 0;
        } else {
          if (ia < 0) {
            tmp_1 = -1;
          } else {
            tmp_1 = 1;
          }
        }
        tmp_0 = tmp_1;
      }
      tmp = tmp_0;
    } else if (a !== a) {
      tmp = b !== b ? 0 : 1;
    } else {
      tmp = -1;
    }
    return tmp;
  }
  function primitiveCompareTo(a, b) {
    return a < b ? -1 : a > b ? 1 : 0;
  }
  function compareToDoNotIntrinsicify(a, b) {
    return a.d(b);
  }
  function identityHashCode(obj) {
    return getObjectHashCode(obj);
  }
  function getObjectHashCode(obj) {
    // Inline function 'kotlin.js.jsIn' call
    if (!('kotlinHashCodeValue$' in obj)) {
      var hash = calculateRandomHash();
      var descriptor = new Object();
      descriptor.value = hash;
      descriptor.enumerable = false;
      Object.defineProperty(obj, 'kotlinHashCodeValue$', descriptor);
    }
    // Inline function 'kotlin.js.unsafeCast' call
    return obj['kotlinHashCodeValue$'];
  }
  function calculateRandomHash() {
    // Inline function 'kotlin.js.jsBitwiseOr' call
    return Math.random() * 4.294967296E9 | 0;
  }
  function defineProp(obj, name, getter, setter) {
    return Object.defineProperty(obj, name, {configurable: true, get: getter, set: setter});
  }
  function objectCreate(proto) {
    proto = proto === VOID ? null : proto;
    return Object.create(proto);
  }
  function toString_1(o) {
    var tmp;
    if (o == null) {
      tmp = 'null';
    } else if (isArrayish(o)) {
      tmp = '[...]';
    } else if (!(typeof o.toString === 'function')) {
      tmp = anyToString(o);
    } else {
      // Inline function 'kotlin.js.unsafeCast' call
      tmp = o.toString();
    }
    return tmp;
  }
  function anyToString(o) {
    return Object.prototype.toString.call(o);
  }
  function hashCode(obj) {
    if (obj == null)
      return 0;
    var typeOf = typeof obj;
    var tmp;
    switch (typeOf) {
      case 'object':
        tmp = 'function' === typeof obj.hashCode ? obj.hashCode() : getObjectHashCode(obj);
        break;
      case 'function':
        tmp = getObjectHashCode(obj);
        break;
      case 'number':
        tmp = getNumberHashCode(obj);
        break;
      case 'boolean':
        // Inline function 'kotlin.js.unsafeCast' call

        tmp = getBooleanHashCode(obj);
        break;
      case 'string':
        tmp = getStringHashCode(String(obj));
        break;
      case 'bigint':
        tmp = getBigIntHashCode(obj);
        break;
      case 'symbol':
        tmp = getSymbolHashCode(obj);
        break;
      default:
        tmp = function () {
          throw new Error('Unexpected typeof `' + typeOf + '`');
        }();
        break;
    }
    return tmp;
  }
  function getBooleanHashCode(value) {
    return value ? 1231 : 1237;
  }
  function getStringHashCode(str) {
    var hash = 0;
    var length = str.length;
    var inductionVariable = 0;
    var last = length - 1 | 0;
    if (inductionVariable <= last)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        // Inline function 'kotlin.js.asDynamic' call
        var code = str.charCodeAt(i);
        hash = imul(hash, 31) + code | 0;
      }
       while (!(i === last));
    return hash;
  }
  function getBigIntHashCode(value) {
    var shiftNumber = BigInt(32);
    var MASK = BigInt(4.294967295E9);
    var bigNumber = value < 0 ? -value : value;
    var hashCode = 0;
    var signum = value < 0 ? -1 : 1;
    while (bigNumber != 0) {
      // Inline function 'kotlin.js.unsafeCast' call
      var chunk = Number(bigNumber & MASK);
      hashCode = imul(31, hashCode) + chunk | 0;
      bigNumber = bigNumber >> shiftNumber;
    }
    return imul(hashCode, signum);
  }
  function getSymbolHashCode(value) {
    var hashCodeMap = symbolIsSharable(value) ? getSymbolMap() : getSymbolWeakMap();
    var cachedHashCode = hashCodeMap.get(value);
    if (cachedHashCode !== VOID)
      return cachedHashCode;
    var hash = calculateRandomHash();
    hashCodeMap.set(value, hash);
    return hash;
  }
  function symbolIsSharable(symbol) {
    return Symbol.keyFor(symbol) != VOID;
  }
  function getSymbolMap() {
    if (symbolMap === VOID) {
      symbolMap = new Map();
    }
    return symbolMap;
  }
  function getSymbolWeakMap() {
    if (symbolWeakMap === VOID) {
      symbolWeakMap = new WeakMap();
    }
    return symbolWeakMap;
  }
  var symbolMap;
  var symbolWeakMap;
  function equals(obj1, obj2) {
    if (obj1 == null) {
      return obj2 == null;
    }
    if (obj2 == null) {
      return false;
    }
    if (typeof obj1 === 'object' && typeof obj1.equals === 'function') {
      return obj1.equals(obj2);
    }
    if (obj1 !== obj1) {
      return obj2 !== obj2;
    }
    if (typeof obj1 === 'number' && typeof obj2 === 'number') {
      var tmp;
      if (obj1 === obj2) {
        var tmp_0;
        if (obj1 !== 0) {
          tmp_0 = true;
        } else {
          // Inline function 'kotlin.js.asDynamic' call
          var tmp_1 = 1 / obj1;
          // Inline function 'kotlin.js.asDynamic' call
          tmp_0 = tmp_1 === 1 / obj2;
        }
        tmp = tmp_0;
      } else {
        tmp = false;
      }
      return tmp;
    }
    return obj1 === obj2;
  }
  function boxIntrinsic(x) {
    var message = 'Should be lowered';
    throw IllegalStateException_init_$Create$_0(toString_1(message));
  }
  function unboxIntrinsic(x) {
    var message = 'Should be lowered';
    throw IllegalStateException_init_$Create$_0(toString_1(message));
  }
  function captureStack(instance, constructorFunction) {
    if (Error.captureStackTrace != null) {
      Error.captureStackTrace(instance, constructorFunction);
    } else {
      // Inline function 'kotlin.js.asDynamic' call
      instance.stack = (new Error()).stack;
    }
  }
  function protoOf(constructor) {
    return constructor.prototype;
  }
  function extendThrowable(this_, message, cause) {
    Error.call(this_);
    setPropertiesToThrowableInstance(this_, message, cause);
  }
  function setPropertiesToThrowableInstance(this_, message, cause) {
    var errorInfo = calculateErrorInfo(Object.getPrototypeOf(this_));
    if ((errorInfo & 1) === 0) {
      var tmp;
      if (message == null) {
        var tmp_0;
        if (!(message === null)) {
          var tmp1_elvis_lhs = cause == null ? null : cause.toString();
          tmp_0 = tmp1_elvis_lhs == null ? VOID : tmp1_elvis_lhs;
        } else {
          tmp_0 = VOID;
        }
        tmp = tmp_0;
      } else {
        tmp = message;
      }
      this_.message = tmp;
    }
    if ((errorInfo & 2) === 0) {
      this_.cause = cause;
    }
    this_.name = Object.getPrototypeOf(this_).constructor.name;
  }
  function ensureNotNull(v) {
    var tmp;
    if (v == null) {
      THROW_NPE();
    } else {
      tmp = v;
    }
    return tmp;
  }
  function THROW_NPE() {
    throw NullPointerException_init_$Create$();
  }
  function noWhenBranchMatchedException() {
    throw NoWhenBranchMatchedException_init_$Create$();
  }
  function THROW_CCE() {
    throw ClassCastException_init_$Create$();
  }
  function throwUninitializedPropertyAccessException(name) {
    throw UninitializedPropertyAccessException_init_$Create$_0('lateinit property ' + name + ' has not been initialized');
  }
  function THROW_IAE(msg) {
    throw IllegalArgumentException_init_$Create$_0(msg);
  }
  function get_ZERO() {
    _init_properties_longJs_kt__elc2w5();
    return ZERO;
  }
  var ZERO;
  function get_ONE() {
    _init_properties_longJs_kt__elc2w5();
    return ONE;
  }
  var ONE;
  function get_NEG_ONE() {
    _init_properties_longJs_kt__elc2w5();
    return NEG_ONE;
  }
  var NEG_ONE;
  function get_MAX_VALUE() {
    _init_properties_longJs_kt__elc2w5();
    return MAX_VALUE;
  }
  var MAX_VALUE;
  function get_MIN_VALUE() {
    _init_properties_longJs_kt__elc2w5();
    return MIN_VALUE;
  }
  var MIN_VALUE;
  function get_TWO_PWR_24_() {
    _init_properties_longJs_kt__elc2w5();
    return TWO_PWR_24_;
  }
  var TWO_PWR_24_;
  function compare(_this__u8e3s4, other) {
    _init_properties_longJs_kt__elc2w5();
    if (equalsLong(_this__u8e3s4, other)) {
      return 0;
    }
    var thisNeg = isNegative(_this__u8e3s4);
    var otherNeg = isNegative(other);
    return thisNeg && !otherNeg ? -1 : !thisNeg && otherNeg ? 1 : isNegative(subtract(_this__u8e3s4, other)) ? -1 : 1;
  }
  function add(_this__u8e3s4, other) {
    _init_properties_longJs_kt__elc2w5();
    var a48 = _this__u8e3s4.z_1 >>> 16 | 0;
    var a32 = _this__u8e3s4.z_1 & 65535;
    var a16 = _this__u8e3s4.y_1 >>> 16 | 0;
    var a00 = _this__u8e3s4.y_1 & 65535;
    var b48 = other.z_1 >>> 16 | 0;
    var b32 = other.z_1 & 65535;
    var b16 = other.y_1 >>> 16 | 0;
    var b00 = other.y_1 & 65535;
    var c48 = 0;
    var c32 = 0;
    var c16 = 0;
    var c00 = 0;
    c00 = c00 + (a00 + b00 | 0) | 0;
    c16 = c16 + (c00 >>> 16 | 0) | 0;
    c00 = c00 & 65535;
    c16 = c16 + (a16 + b16 | 0) | 0;
    c32 = c32 + (c16 >>> 16 | 0) | 0;
    c16 = c16 & 65535;
    c32 = c32 + (a32 + b32 | 0) | 0;
    c48 = c48 + (c32 >>> 16 | 0) | 0;
    c32 = c32 & 65535;
    c48 = c48 + (a48 + b48 | 0) | 0;
    c48 = c48 & 65535;
    return new Long(c16 << 16 | c00, c48 << 16 | c32);
  }
  function subtract(_this__u8e3s4, other) {
    _init_properties_longJs_kt__elc2w5();
    return add(_this__u8e3s4, other.m2());
  }
  function multiply(_this__u8e3s4, other) {
    _init_properties_longJs_kt__elc2w5();
    if (isZero(_this__u8e3s4)) {
      return get_ZERO();
    } else if (isZero(other)) {
      return get_ZERO();
    }
    if (equalsLong(_this__u8e3s4, get_MIN_VALUE())) {
      return isOdd(other) ? get_MIN_VALUE() : get_ZERO();
    } else if (equalsLong(other, get_MIN_VALUE())) {
      return isOdd(_this__u8e3s4) ? get_MIN_VALUE() : get_ZERO();
    }
    if (isNegative(_this__u8e3s4)) {
      var tmp;
      if (isNegative(other)) {
        tmp = multiply(negate(_this__u8e3s4), negate(other));
      } else {
        tmp = negate(multiply(negate(_this__u8e3s4), other));
      }
      return tmp;
    } else if (isNegative(other)) {
      return negate(multiply(_this__u8e3s4, negate(other)));
    }
    if (lessThan(_this__u8e3s4, get_TWO_PWR_24_()) && lessThan(other, get_TWO_PWR_24_())) {
      return fromNumber(toNumber(_this__u8e3s4) * toNumber(other));
    }
    var a48 = _this__u8e3s4.z_1 >>> 16 | 0;
    var a32 = _this__u8e3s4.z_1 & 65535;
    var a16 = _this__u8e3s4.y_1 >>> 16 | 0;
    var a00 = _this__u8e3s4.y_1 & 65535;
    var b48 = other.z_1 >>> 16 | 0;
    var b32 = other.z_1 & 65535;
    var b16 = other.y_1 >>> 16 | 0;
    var b00 = other.y_1 & 65535;
    var c48 = 0;
    var c32 = 0;
    var c16 = 0;
    var c00 = 0;
    c00 = c00 + imul(a00, b00) | 0;
    c16 = c16 + (c00 >>> 16 | 0) | 0;
    c00 = c00 & 65535;
    c16 = c16 + imul(a16, b00) | 0;
    c32 = c32 + (c16 >>> 16 | 0) | 0;
    c16 = c16 & 65535;
    c16 = c16 + imul(a00, b16) | 0;
    c32 = c32 + (c16 >>> 16 | 0) | 0;
    c16 = c16 & 65535;
    c32 = c32 + imul(a32, b00) | 0;
    c48 = c48 + (c32 >>> 16 | 0) | 0;
    c32 = c32 & 65535;
    c32 = c32 + imul(a16, b16) | 0;
    c48 = c48 + (c32 >>> 16 | 0) | 0;
    c32 = c32 & 65535;
    c32 = c32 + imul(a00, b32) | 0;
    c48 = c48 + (c32 >>> 16 | 0) | 0;
    c32 = c32 & 65535;
    c48 = c48 + (((imul(a48, b00) + imul(a32, b16) | 0) + imul(a16, b32) | 0) + imul(a00, b48) | 0) | 0;
    c48 = c48 & 65535;
    return new Long(c16 << 16 | c00, c48 << 16 | c32);
  }
  function divide(_this__u8e3s4, other) {
    _init_properties_longJs_kt__elc2w5();
    if (isZero(other)) {
      throw Exception_init_$Create$_0('division by zero');
    } else if (isZero(_this__u8e3s4)) {
      return get_ZERO();
    }
    if (equalsLong(_this__u8e3s4, get_MIN_VALUE())) {
      if (equalsLong(other, get_ONE()) || equalsLong(other, get_NEG_ONE())) {
        return get_MIN_VALUE();
      } else if (equalsLong(other, get_MIN_VALUE())) {
        return get_ONE();
      } else {
        var halfThis = shiftRight(_this__u8e3s4, 1);
        var approx = shiftLeft(halfThis.l2(other), 1);
        if (equalsLong(approx, get_ZERO())) {
          return isNegative(other) ? get_ONE() : get_NEG_ONE();
        } else {
          var rem = subtract(_this__u8e3s4, multiply(other, approx));
          return add(approx, rem.l2(other));
        }
      }
    } else if (equalsLong(other, get_MIN_VALUE())) {
      return get_ZERO();
    }
    if (isNegative(_this__u8e3s4)) {
      var tmp;
      if (isNegative(other)) {
        tmp = negate(_this__u8e3s4).l2(negate(other));
      } else {
        tmp = negate(negate(_this__u8e3s4).l2(other));
      }
      return tmp;
    } else if (isNegative(other)) {
      return negate(_this__u8e3s4.l2(negate(other)));
    }
    var res = get_ZERO();
    var rem_0 = _this__u8e3s4;
    while (greaterThanOrEqual(rem_0, other)) {
      var approxDouble = toNumber(rem_0) / toNumber(other);
      var approx2 = Math.max(1.0, Math.floor(approxDouble));
      var log2 = Math.ceil(Math.log(approx2) / Math.LN2);
      var delta = log2 <= 48 ? 1.0 : Math.pow(2.0, log2 - 48);
      var approxRes = fromNumber(approx2);
      var approxRem = multiply(approxRes, other);
      while (isNegative(approxRem) || greaterThan(approxRem, rem_0)) {
        approx2 = approx2 - delta;
        approxRes = fromNumber(approx2);
        approxRem = multiply(approxRes, other);
      }
      if (isZero(approxRes)) {
        approxRes = get_ONE();
      }
      res = add(res, approxRes);
      rem_0 = subtract(rem_0, approxRem);
    }
    return res;
  }
  function shiftLeft(_this__u8e3s4, numBits) {
    _init_properties_longJs_kt__elc2w5();
    var numBits_0 = numBits & 63;
    if (numBits_0 === 0) {
      return _this__u8e3s4;
    } else {
      if (numBits_0 < 32) {
        return new Long(_this__u8e3s4.y_1 << numBits_0, _this__u8e3s4.z_1 << numBits_0 | (_this__u8e3s4.y_1 >>> (32 - numBits_0 | 0) | 0));
      } else {
        return new Long(0, _this__u8e3s4.y_1 << (numBits_0 - 32 | 0));
      }
    }
  }
  function shiftRight(_this__u8e3s4, numBits) {
    _init_properties_longJs_kt__elc2w5();
    var numBits_0 = numBits & 63;
    if (numBits_0 === 0) {
      return _this__u8e3s4;
    } else {
      if (numBits_0 < 32) {
        return new Long(_this__u8e3s4.y_1 >>> numBits_0 | 0 | _this__u8e3s4.z_1 << (32 - numBits_0 | 0), _this__u8e3s4.z_1 >> numBits_0);
      } else {
        return new Long(_this__u8e3s4.z_1 >> (numBits_0 - 32 | 0), _this__u8e3s4.z_1 >= 0 ? 0 : -1);
      }
    }
  }
  function toNumber(_this__u8e3s4) {
    _init_properties_longJs_kt__elc2w5();
    return _this__u8e3s4.z_1 * 4.294967296E9 + getLowBitsUnsigned(_this__u8e3s4);
  }
  function toStringImpl(_this__u8e3s4, radix) {
    _init_properties_longJs_kt__elc2w5();
    if (radix < 2 || 36 < radix) {
      throw Exception_init_$Create$_0('radix out of range: ' + radix);
    }
    if (isZero(_this__u8e3s4)) {
      return '0';
    }
    if (isNegative(_this__u8e3s4)) {
      if (equalsLong(_this__u8e3s4, get_MIN_VALUE())) {
        var radixLong = fromInt(radix);
        var div = _this__u8e3s4.l2(radixLong);
        var rem = subtract(multiply(div, radixLong), _this__u8e3s4).o2();
        var tmp = toStringImpl(div, radix);
        // Inline function 'kotlin.js.asDynamic' call
        // Inline function 'kotlin.js.unsafeCast' call
        return tmp + rem.toString(radix);
      } else {
        return '-' + toStringImpl(negate(_this__u8e3s4), radix);
      }
    }
    var digitsPerTime = radix === 2 ? 31 : radix <= 10 ? 9 : radix <= 21 ? 7 : radix <= 35 ? 6 : 5;
    var radixToPower = fromNumber(Math.pow(radix, digitsPerTime));
    var rem_0 = _this__u8e3s4;
    var result = '';
    while (true) {
      var remDiv = rem_0.l2(radixToPower);
      var intval = subtract(rem_0, multiply(remDiv, radixToPower)).o2();
      // Inline function 'kotlin.js.asDynamic' call
      // Inline function 'kotlin.js.unsafeCast' call
      var digits = intval.toString(radix);
      rem_0 = remDiv;
      if (isZero(rem_0)) {
        return digits + result;
      } else {
        while (digits.length < digitsPerTime) {
          digits = '0' + digits;
        }
        result = digits + result;
      }
    }
  }
  function equalsLong(_this__u8e3s4, other) {
    _init_properties_longJs_kt__elc2w5();
    return _this__u8e3s4.z_1 === other.z_1 && _this__u8e3s4.y_1 === other.y_1;
  }
  function hashCode_0(l) {
    _init_properties_longJs_kt__elc2w5();
    return l.y_1 ^ l.z_1;
  }
  function fromInt(value) {
    _init_properties_longJs_kt__elc2w5();
    return new Long(value, value < 0 ? -1 : 0);
  }
  function isNegative(_this__u8e3s4) {
    _init_properties_longJs_kt__elc2w5();
    return _this__u8e3s4.z_1 < 0;
  }
  function isZero(_this__u8e3s4) {
    _init_properties_longJs_kt__elc2w5();
    return _this__u8e3s4.z_1 === 0 && _this__u8e3s4.y_1 === 0;
  }
  function isOdd(_this__u8e3s4) {
    _init_properties_longJs_kt__elc2w5();
    return (_this__u8e3s4.y_1 & 1) === 1;
  }
  function negate(_this__u8e3s4) {
    _init_properties_longJs_kt__elc2w5();
    return _this__u8e3s4.m2();
  }
  function lessThan(_this__u8e3s4, other) {
    _init_properties_longJs_kt__elc2w5();
    return compare(_this__u8e3s4, other) < 0;
  }
  function fromNumber(value) {
    _init_properties_longJs_kt__elc2w5();
    if (isNaN_0(value)) {
      return get_ZERO();
    } else if (value <= -9.223372036854776E18) {
      return get_MIN_VALUE();
    } else if (value + 1 >= 9.223372036854776E18) {
      return get_MAX_VALUE();
    } else if (value < 0) {
      return negate(fromNumber(-value));
    } else {
      var twoPwr32 = 4.294967296E9;
      // Inline function 'kotlin.js.jsBitwiseOr' call
      var tmp = value % twoPwr32 | 0;
      // Inline function 'kotlin.js.jsBitwiseOr' call
      var tmp$ret$1 = value / twoPwr32 | 0;
      return new Long(tmp, tmp$ret$1);
    }
  }
  function greaterThan(_this__u8e3s4, other) {
    _init_properties_longJs_kt__elc2w5();
    return compare(_this__u8e3s4, other) > 0;
  }
  function greaterThanOrEqual(_this__u8e3s4, other) {
    _init_properties_longJs_kt__elc2w5();
    return compare(_this__u8e3s4, other) >= 0;
  }
  function getLowBitsUnsigned(_this__u8e3s4) {
    _init_properties_longJs_kt__elc2w5();
    return _this__u8e3s4.y_1 >= 0 ? _this__u8e3s4.y_1 : 4.294967296E9 + _this__u8e3s4.y_1;
  }
  var properties_initialized_longJs_kt_4syf89;
  function _init_properties_longJs_kt__elc2w5() {
    if (!properties_initialized_longJs_kt_4syf89) {
      properties_initialized_longJs_kt_4syf89 = true;
      ZERO = fromInt(0);
      ONE = fromInt(1);
      NEG_ONE = fromInt(-1);
      MAX_VALUE = new Long(-1, 2147483647);
      MIN_VALUE = new Long(0, -2147483648);
      TWO_PWR_24_ = fromInt(16777216);
    }
  }
  function createMetadata(kind, name, defaultConstructor, associatedObjectKey, associatedObjects, suspendArity) {
    var undef = VOID;
    var iid = kind === 'interface' ? generateInterfaceId() : VOID;
    return {kind: kind, simpleName: name, associatedObjectKey: associatedObjectKey, associatedObjects: associatedObjects, suspendArity: suspendArity, $kClass$: undef, defaultConstructor: defaultConstructor, iid: iid};
  }
  function generateInterfaceId() {
    if (globalInterfaceId === VOID) {
      globalInterfaceId = 0;
    }
    // Inline function 'kotlin.js.unsafeCast' call
    globalInterfaceId = globalInterfaceId + 1 | 0;
    // Inline function 'kotlin.js.unsafeCast' call
    return globalInterfaceId;
  }
  var globalInterfaceId;
  function initMetadataFor(kind, ctor, name, defaultConstructor, parent, interfaces, suspendArity, associatedObjectKey, associatedObjects) {
    if (!(parent == null)) {
      ctor.prototype = Object.create(parent.prototype);
      ctor.prototype.constructor = ctor;
    }
    var metadata = createMetadata(kind, name, defaultConstructor, associatedObjectKey, associatedObjects, suspendArity);
    ctor.$metadata$ = metadata;
    if (!(interfaces == null)) {
      var receiver = !equals(metadata.iid, VOID) ? ctor : ctor.prototype;
      receiver.$imask$ = implement(interfaces);
    }
  }
  function initMetadataForClass(ctor, name, defaultConstructor, parent, interfaces, suspendArity, associatedObjectKey, associatedObjects) {
    var kind = 'class';
    initMetadataFor(kind, ctor, name, defaultConstructor, parent, interfaces, suspendArity, associatedObjectKey, associatedObjects);
  }
  function initMetadataForObject(ctor, name, defaultConstructor, parent, interfaces, suspendArity, associatedObjectKey, associatedObjects) {
    var kind = 'object';
    initMetadataFor(kind, ctor, name, defaultConstructor, parent, interfaces, suspendArity, associatedObjectKey, associatedObjects);
  }
  function initMetadataForInterface(ctor, name, defaultConstructor, parent, interfaces, suspendArity, associatedObjectKey, associatedObjects) {
    var kind = 'interface';
    initMetadataFor(kind, ctor, name, defaultConstructor, parent, interfaces, suspendArity, associatedObjectKey, associatedObjects);
  }
  function initMetadataForLambda(ctor, parent, interfaces, suspendArity) {
    initMetadataForClass(ctor, 'Lambda', VOID, parent, interfaces, suspendArity, VOID, VOID);
  }
  function initMetadataForCoroutine(ctor, parent, interfaces, suspendArity) {
    initMetadataForClass(ctor, 'Coroutine', VOID, parent, interfaces, suspendArity, VOID, VOID);
  }
  function initMetadataForFunctionReference(ctor, parent, interfaces, suspendArity) {
    initMetadataForClass(ctor, 'FunctionReference', VOID, parent, interfaces, suspendArity, VOID, VOID);
  }
  function initMetadataForCompanion(ctor, parent, interfaces, suspendArity) {
    initMetadataForObject(ctor, 'Companion', VOID, parent, interfaces, suspendArity, VOID, VOID);
  }
  function toByte(a) {
    // Inline function 'kotlin.js.unsafeCast' call
    return a << 24 >> 24;
  }
  function numberToInt(a) {
    var tmp;
    if (a instanceof Long) {
      tmp = a.o2();
    } else {
      tmp = doubleToInt(a);
    }
    return tmp;
  }
  function doubleToInt(a) {
    var tmp;
    if (a > 2147483647) {
      tmp = 2147483647;
    } else if (a < -2147483648) {
      tmp = -2147483648;
    } else {
      // Inline function 'kotlin.js.jsBitwiseOr' call
      tmp = a | 0;
    }
    return tmp;
  }
  function numberToDouble(a) {
    // Inline function 'kotlin.js.unsafeCast' call
    return +a;
  }
  function toShort(a) {
    // Inline function 'kotlin.js.unsafeCast' call
    return a << 16 >> 16;
  }
  function numberToLong(a) {
    var tmp;
    if (a instanceof Long) {
      tmp = a;
    } else {
      tmp = fromNumber(a);
    }
    return tmp;
  }
  function numberToChar(a) {
    // Inline function 'kotlin.toUShort' call
    var this_0 = numberToInt(a);
    var tmp$ret$0 = _UShort___init__impl__jigrne(toShort(this_0));
    return _Char___init__impl__6a9atx_0(tmp$ret$0);
  }
  function numberRangeToNumber(start, endInclusive) {
    return new IntRange(start, endInclusive);
  }
  function get_propertyRefClassMetadataCache() {
    _init_properties_reflectRuntime_kt__5r4uu3();
    return propertyRefClassMetadataCache;
  }
  var propertyRefClassMetadataCache;
  function metadataObject() {
    _init_properties_reflectRuntime_kt__5r4uu3();
    return createMetadata('class', VOID, VOID, VOID, VOID, VOID);
  }
  function getPropertyCallableRef(name, paramCount, superType, getter, setter) {
    _init_properties_reflectRuntime_kt__5r4uu3();
    getter.get = getter;
    getter.set = setter;
    getter.callableName = name;
    // Inline function 'kotlin.js.unsafeCast' call
    return getPropertyRefClass(getter, getKPropMetadata(paramCount, setter), getInterfaceMaskFor(getter, superType));
  }
  function getPropertyRefClass(obj, metadata, imask) {
    _init_properties_reflectRuntime_kt__5r4uu3();
    obj.$metadata$ = metadata;
    obj.constructor = obj;
    obj.$imask$ = imask;
    return obj;
  }
  function getKPropMetadata(paramCount, setter) {
    _init_properties_reflectRuntime_kt__5r4uu3();
    return get_propertyRefClassMetadataCache()[paramCount][setter == null ? 0 : 1];
  }
  function getInterfaceMaskFor(obj, superType) {
    _init_properties_reflectRuntime_kt__5r4uu3();
    var tmp0_elvis_lhs = obj.$imask$;
    var tmp;
    if (tmp0_elvis_lhs == null) {
      // Inline function 'kotlin.arrayOf' call
      // Inline function 'kotlin.js.unsafeCast' call
      // Inline function 'kotlin.js.asDynamic' call
      var tmp$ret$2 = [superType];
      tmp = implement(tmp$ret$2);
    } else {
      tmp = tmp0_elvis_lhs;
    }
    return tmp;
  }
  var properties_initialized_reflectRuntime_kt_inkhwd;
  function _init_properties_reflectRuntime_kt__5r4uu3() {
    if (!properties_initialized_reflectRuntime_kt_inkhwd) {
      properties_initialized_reflectRuntime_kt_inkhwd = true;
      // Inline function 'kotlin.arrayOf' call
      // Inline function 'kotlin.js.unsafeCast' call
      // Inline function 'kotlin.js.asDynamic' call
      var tmp = [metadataObject(), metadataObject()];
      // Inline function 'kotlin.arrayOf' call
      // Inline function 'kotlin.js.unsafeCast' call
      // Inline function 'kotlin.js.asDynamic' call
      var tmp_0 = [metadataObject(), metadataObject()];
      // Inline function 'kotlin.arrayOf' call
      // Inline function 'kotlin.js.unsafeCast' call
      // Inline function 'kotlin.js.asDynamic' call
      // Inline function 'kotlin.arrayOf' call
      // Inline function 'kotlin.js.unsafeCast' call
      // Inline function 'kotlin.js.asDynamic' call
      propertyRefClassMetadataCache = [tmp, tmp_0, [metadataObject(), metadataObject()]];
    }
  }
  function isArrayish(o) {
    return isJsArray(o) || isView(o);
  }
  function isJsArray(obj) {
    // Inline function 'kotlin.js.unsafeCast' call
    return Array.isArray(obj);
  }
  function isInterface(obj, iface) {
    return isInterfaceImpl(obj, iface.$metadata$.iid);
  }
  function isInterfaceImpl(obj, iface) {
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp0_elvis_lhs = obj.$imask$;
    var tmp;
    if (tmp0_elvis_lhs == null) {
      return false;
    } else {
      tmp = tmp0_elvis_lhs;
    }
    var mask = tmp;
    return isBitSet(mask, iface);
  }
  function isArray(obj) {
    var tmp;
    if (isJsArray(obj)) {
      // Inline function 'kotlin.js.asDynamic' call
      tmp = !obj.$type$;
    } else {
      tmp = false;
    }
    return tmp;
  }
  function isNumber(a) {
    var tmp;
    if (typeof a === 'number') {
      tmp = true;
    } else {
      tmp = a instanceof Long;
    }
    return tmp;
  }
  function isComparable(value) {
    var type = typeof value;
    return type === 'string' || type === 'boolean' || isNumber(value) || isInterface(value, Comparable);
  }
  function isCharSequence(value) {
    return typeof value === 'string' || isInterface(value, CharSequence);
  }
  function isBooleanArray(a) {
    return isJsArray(a) && a.$type$ === 'BooleanArray';
  }
  function isByteArray(a) {
    // Inline function 'kotlin.js.jsInstanceOf' call
    return a instanceof Int8Array;
  }
  function isShortArray(a) {
    // Inline function 'kotlin.js.jsInstanceOf' call
    return a instanceof Int16Array;
  }
  function isCharArray(a) {
    var tmp;
    // Inline function 'kotlin.js.jsInstanceOf' call
    if (a instanceof Uint16Array) {
      tmp = a.$type$ === 'CharArray';
    } else {
      tmp = false;
    }
    return tmp;
  }
  function isIntArray(a) {
    // Inline function 'kotlin.js.jsInstanceOf' call
    return a instanceof Int32Array;
  }
  function isFloatArray(a) {
    // Inline function 'kotlin.js.jsInstanceOf' call
    return a instanceof Float32Array;
  }
  function isLongArray(a) {
    return isJsArray(a) && a.$type$ === 'LongArray';
  }
  function isDoubleArray(a) {
    // Inline function 'kotlin.js.jsInstanceOf' call
    return a instanceof Float64Array;
  }
  function calculateErrorInfo(proto) {
    var tmp0_safe_receiver = proto.constructor;
    var metadata = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.$metadata$;
    var tmp2_safe_receiver = metadata == null ? null : metadata.errorInfo;
    if (tmp2_safe_receiver == null)
      null;
    else {
      // Inline function 'kotlin.let' call
      return tmp2_safe_receiver;
    }
    var result = 0;
    if (hasProp(proto, 'message'))
      result = result | 1;
    if (hasProp(proto, 'cause'))
      result = result | 2;
    if (!(result === 3)) {
      var parentProto = getPrototypeOf(proto);
      if (parentProto != Error.prototype) {
        result = result | calculateErrorInfo(parentProto);
      }
    }
    if (!(metadata == null)) {
      metadata.errorInfo = result;
    }
    return result;
  }
  function hasProp(proto, propName) {
    return proto.hasOwnProperty(propName);
  }
  function getPrototypeOf(obj) {
    return Object.getPrototypeOf(obj);
  }
  function get_VOID() {
    _init_properties_void_kt__3zg9as();
    return VOID;
  }
  var VOID;
  var properties_initialized_void_kt_e4ret2;
  function _init_properties_void_kt__3zg9as() {
    if (!properties_initialized_void_kt_e4ret2) {
      properties_initialized_void_kt_e4ret2 = true;
      VOID = void 0;
    }
  }
  function asList(_this__u8e3s4) {
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return new ArrayList(_this__u8e3s4);
  }
  function sortWith(_this__u8e3s4, comparator) {
    if (_this__u8e3s4.length > 1) {
      sortArrayWith(_this__u8e3s4, comparator);
    }
  }
  function fill(_this__u8e3s4, element, fromIndex, toIndex) {
    fromIndex = fromIndex === VOID ? 0 : fromIndex;
    toIndex = toIndex === VOID ? _this__u8e3s4.length : toIndex;
    Companion_instance_4.u2(fromIndex, toIndex, _this__u8e3s4.length);
    // Inline function 'kotlin.js.nativeFill' call
    // Inline function 'kotlin.js.asDynamic' call
    _this__u8e3s4.fill(element, fromIndex, toIndex);
  }
  function copyOf(_this__u8e3s4, newSize) {
    // Inline function 'kotlin.require' call
    if (!(newSize >= 0)) {
      // Inline function 'kotlin.collections.copyOf.<anonymous>' call
      var message = 'Invalid new array size: ' + newSize + '.';
      throw IllegalArgumentException_init_$Create$_0(toString_1(message));
    }
    return fillFrom(_this__u8e3s4, new Int32Array(newSize));
  }
  function copyOf_0(_this__u8e3s4, newSize) {
    // Inline function 'kotlin.require' call
    if (!(newSize >= 0)) {
      // Inline function 'kotlin.collections.copyOf.<anonymous>' call
      var message = 'Invalid new array size: ' + newSize + '.';
      throw IllegalArgumentException_init_$Create$_0(toString_1(message));
    }
    return arrayCopyResize(_this__u8e3s4, newSize, null);
  }
  function digitToIntImpl(_this__u8e3s4) {
    // Inline function 'kotlin.code' call
    var ch = Char__toInt_impl_vasixd(_this__u8e3s4);
    var index = binarySearchRange(Digit_getInstance().v2_1, ch);
    var diff = ch - Digit_getInstance().v2_1[index] | 0;
    return diff < 10 ? diff : -1;
  }
  function binarySearchRange(array, needle) {
    var bottom = 0;
    var top = array.length - 1 | 0;
    var middle = -1;
    var value = 0;
    while (bottom <= top) {
      middle = (bottom + top | 0) / 2 | 0;
      value = array[middle];
      if (needle > value)
        bottom = middle + 1 | 0;
      else if (needle === value)
        return middle;
      else
        top = middle - 1 | 0;
    }
    return middle - (needle < value ? 1 : 0) | 0;
  }
  function Digit() {
    Digit_instance = this;
    var tmp = this;
    // Inline function 'kotlin.intArrayOf' call
    tmp.v2_1 = new Int32Array([48, 1632, 1776, 1984, 2406, 2534, 2662, 2790, 2918, 3046, 3174, 3302, 3430, 3558, 3664, 3792, 3872, 4160, 4240, 6112, 6160, 6470, 6608, 6784, 6800, 6992, 7088, 7232, 7248, 42528, 43216, 43264, 43472, 43504, 43600, 44016, 65296]);
  }
  var Digit_instance;
  function Digit_getInstance() {
    if (Digit_instance == null)
      new Digit();
    return Digit_instance;
  }
  function isWhitespaceImpl(_this__u8e3s4) {
    // Inline function 'kotlin.code' call
    var ch = Char__toInt_impl_vasixd(_this__u8e3s4);
    return (9 <= ch ? ch <= 13 : false) || (28 <= ch ? ch <= 32 : false) || ch === 160 || (ch > 4096 && (ch === 5760 || (8192 <= ch ? ch <= 8202 : false) || ch === 8232 || ch === 8233 || ch === 8239 || ch === 8287 || ch === 12288));
  }
  function Comparator() {
  }
  function isNaN_0(_this__u8e3s4) {
    return !(_this__u8e3s4 === _this__u8e3s4);
  }
  function takeHighestOneBit(_this__u8e3s4) {
    var tmp;
    if (_this__u8e3s4 === 0) {
      tmp = 0;
    } else {
      // Inline function 'kotlin.countLeadingZeroBits' call
      tmp = 1 << (31 - clz32(_this__u8e3s4) | 0);
    }
    return tmp;
  }
  function Unit() {
  }
  protoOf(Unit).toString = function () {
    return 'kotlin.Unit';
  };
  var Unit_instance;
  function Unit_getInstance() {
    return Unit_instance;
  }
  function collectionToArray(collection) {
    return collectionToArrayCommonImpl(collection);
  }
  function terminateCollectionToArray(collectionSize, array) {
    return array;
  }
  function arrayOfNulls(reference, size) {
    // Inline function 'kotlin.arrayOfNulls' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return fillArrayVal(Array(size), null);
  }
  function listOf(element) {
    return arrayListOf([element]);
  }
  function sortWith_0(_this__u8e3s4, comparator) {
    collectionsSort(_this__u8e3s4, comparator);
  }
  function copyToArray(collection) {
    var tmp;
    // Inline function 'kotlin.js.asDynamic' call
    if (collection.toArray !== undefined) {
      // Inline function 'kotlin.js.asDynamic' call
      // Inline function 'kotlin.js.unsafeCast' call
      tmp = collection.toArray();
    } else {
      // Inline function 'kotlin.js.unsafeCast' call
      // Inline function 'kotlin.js.asDynamic' call
      tmp = collectionToArray(collection);
    }
    return tmp;
  }
  function collectionsSort(list, comparator) {
    if (list.j() <= 1)
      return Unit_instance;
    var array = copyToArray(list);
    sortArrayWith(array, comparator);
    var inductionVariable = 0;
    var last = array.length;
    if (inductionVariable < last)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        list.w2(i, array[i]);
      }
       while (inductionVariable < last);
  }
  function mapCapacity(expectedSize) {
    return expectedSize;
  }
  function setOf(element) {
    return hashSetOf([element]);
  }
  function arrayCopy(source, destination, destinationOffset, startIndex, endIndex) {
    Companion_instance_4.u2(startIndex, endIndex, source.length);
    var rangeSize = endIndex - startIndex | 0;
    Companion_instance_4.u2(destinationOffset, destinationOffset + rangeSize | 0, destination.length);
    if (isView(destination) && isView(source)) {
      // Inline function 'kotlin.js.asDynamic' call
      var subrange = source.subarray(startIndex, endIndex);
      // Inline function 'kotlin.js.asDynamic' call
      destination.set(subrange, destinationOffset);
    } else {
      if (!(source === destination) || destinationOffset <= startIndex) {
        var inductionVariable = 0;
        if (inductionVariable < rangeSize)
          do {
            var index = inductionVariable;
            inductionVariable = inductionVariable + 1 | 0;
            destination[destinationOffset + index | 0] = source[startIndex + index | 0];
          }
           while (inductionVariable < rangeSize);
      } else {
        var inductionVariable_0 = rangeSize - 1 | 0;
        if (0 <= inductionVariable_0)
          do {
            var index_0 = inductionVariable_0;
            inductionVariable_0 = inductionVariable_0 + -1 | 0;
            destination[destinationOffset + index_0 | 0] = source[startIndex + index_0 | 0];
          }
           while (0 <= inductionVariable_0);
      }
    }
  }
  function checkIndexOverflow(index) {
    if (index < 0) {
      throwIndexOverflow();
    }
    return index;
  }
  function AbstractMutableCollection$removeAll$lambda($elements) {
    return function (it) {
      return $elements.o1(it);
    };
  }
  function AbstractMutableCollection() {
    AbstractCollection.call(this);
  }
  protoOf(AbstractMutableCollection).a2 = function (element) {
    this.x2();
    var iterator = this.g();
    while (iterator.h()) {
      if (equals(iterator.i(), element)) {
        iterator.y2();
        return true;
      }
    }
    return false;
  };
  protoOf(AbstractMutableCollection).p = function (elements) {
    this.x2();
    var modified = false;
    var _iterator__ex2g4s = elements.g();
    while (_iterator__ex2g4s.h()) {
      var element = _iterator__ex2g4s.i();
      if (this.e(element))
        modified = true;
    }
    return modified;
  };
  protoOf(AbstractMutableCollection).z2 = function (elements) {
    this.x2();
    var tmp = isInterface(this, MutableIterable) ? this : THROW_CCE();
    return removeAll_0(tmp, AbstractMutableCollection$removeAll$lambda(elements));
  };
  protoOf(AbstractMutableCollection).a3 = function () {
    this.x2();
    var iterator = this.g();
    while (iterator.h()) {
      iterator.i();
      iterator.y2();
    }
  };
  protoOf(AbstractMutableCollection).toJSON = function () {
    return this.toArray();
  };
  protoOf(AbstractMutableCollection).x2 = function () {
  };
  function IteratorImpl($outer) {
    this.d3_1 = $outer;
    this.b3_1 = 0;
    this.c3_1 = -1;
  }
  protoOf(IteratorImpl).h = function () {
    return this.b3_1 < this.d3_1.j();
  };
  protoOf(IteratorImpl).i = function () {
    if (!this.h())
      throw NoSuchElementException_init_$Create$();
    var tmp = this;
    var _unary__edvuaz = this.b3_1;
    this.b3_1 = _unary__edvuaz + 1 | 0;
    tmp.c3_1 = _unary__edvuaz;
    return this.d3_1.k(this.c3_1);
  };
  protoOf(IteratorImpl).y2 = function () {
    // Inline function 'kotlin.check' call
    if (!!(this.c3_1 === -1)) {
      // Inline function 'kotlin.collections.IteratorImpl.remove.<anonymous>' call
      var message = 'Call next() or previous() before removing element from the iterator.';
      throw IllegalStateException_init_$Create$_0(toString_1(message));
    }
    this.d3_1.f3(this.c3_1);
    this.b3_1 = this.c3_1;
    this.c3_1 = -1;
  };
  function ListIteratorImpl($outer, index) {
    this.j3_1 = $outer;
    IteratorImpl.call(this, $outer);
    Companion_instance_4.k3(index, this.j3_1.j());
    this.b3_1 = index;
  }
  protoOf(ListIteratorImpl).l3 = function () {
    return this.b3_1 > 0;
  };
  protoOf(ListIteratorImpl).m3 = function () {
    return this.b3_1;
  };
  protoOf(ListIteratorImpl).n3 = function () {
    if (!this.l3())
      throw NoSuchElementException_init_$Create$();
    var tmp = this;
    this.b3_1 = this.b3_1 - 1 | 0;
    tmp.c3_1 = this.b3_1;
    return this.j3_1.k(this.c3_1);
  };
  protoOf(ListIteratorImpl).o3 = function () {
    return this.b3_1 - 1 | 0;
  };
  function SubList(list, fromIndex, toIndex) {
    AbstractMutableList.call(this);
    this.q3_1 = list;
    this.r3_1 = fromIndex;
    this.s3_1 = 0;
    Companion_instance_4.u2(this.r3_1, toIndex, this.q3_1.j());
    this.s3_1 = toIndex - this.r3_1 | 0;
  }
  protoOf(SubList).t3 = function (index, element) {
    Companion_instance_4.k3(index, this.s3_1);
    this.q3_1.t3(this.r3_1 + index | 0, element);
    this.s3_1 = this.s3_1 + 1 | 0;
  };
  protoOf(SubList).k = function (index) {
    Companion_instance_4.u3(index, this.s3_1);
    return this.q3_1.k(this.r3_1 + index | 0);
  };
  protoOf(SubList).f3 = function (index) {
    Companion_instance_4.u3(index, this.s3_1);
    var result = this.q3_1.f3(this.r3_1 + index | 0);
    this.s3_1 = this.s3_1 - 1 | 0;
    return result;
  };
  protoOf(SubList).w2 = function (index, element) {
    Companion_instance_4.u3(index, this.s3_1);
    return this.q3_1.w2(this.r3_1 + index | 0, element);
  };
  protoOf(SubList).v3 = function (fromIndex, toIndex) {
    this.q3_1.v3(this.r3_1 + fromIndex | 0, this.r3_1 + toIndex | 0);
    this.s3_1 = this.s3_1 - (toIndex - fromIndex | 0) | 0;
  };
  protoOf(SubList).j = function () {
    return this.s3_1;
  };
  protoOf(SubList).x2 = function () {
    return this.q3_1.x2();
  };
  function AbstractMutableList$removeAll$lambda($elements) {
    return function (it) {
      return $elements.o1(it);
    };
  }
  function AbstractMutableList() {
    AbstractMutableCollection.call(this);
    this.e3_1 = 0;
  }
  protoOf(AbstractMutableList).e = function (element) {
    this.x2();
    this.t3(this.j(), element);
    return true;
  };
  protoOf(AbstractMutableList).a3 = function () {
    this.x2();
    this.v3(0, this.j());
  };
  protoOf(AbstractMutableList).z2 = function (elements) {
    this.x2();
    return removeAll(this, AbstractMutableList$removeAll$lambda(elements));
  };
  protoOf(AbstractMutableList).g = function () {
    return new IteratorImpl(this);
  };
  protoOf(AbstractMutableList).o1 = function (element) {
    return this.p1(element) >= 0;
  };
  protoOf(AbstractMutableList).p1 = function (element) {
    var tmp$ret$1;
    $l$block: {
      // Inline function 'kotlin.collections.indexOfFirst' call
      var index = 0;
      var _iterator__ex2g4s = this.g();
      while (_iterator__ex2g4s.h()) {
        var item = _iterator__ex2g4s.i();
        // Inline function 'kotlin.collections.AbstractMutableList.indexOf.<anonymous>' call
        if (equals(item, element)) {
          tmp$ret$1 = index;
          break $l$block;
        }
        index = index + 1 | 0;
      }
      tmp$ret$1 = -1;
    }
    return tmp$ret$1;
  };
  protoOf(AbstractMutableList).w3 = function () {
    return this.q1(0);
  };
  protoOf(AbstractMutableList).q1 = function (index) {
    return new ListIteratorImpl(this, index);
  };
  protoOf(AbstractMutableList).v = function (fromIndex, toIndex) {
    return new SubList(this, fromIndex, toIndex);
  };
  protoOf(AbstractMutableList).v3 = function (fromIndex, toIndex) {
    var iterator = this.q1(fromIndex);
    // Inline function 'kotlin.repeat' call
    var times = toIndex - fromIndex | 0;
    var inductionVariable = 0;
    if (inductionVariable < times)
      do {
        var index = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        // Inline function 'kotlin.collections.AbstractMutableList.removeRange.<anonymous>' call
        iterator.i();
        iterator.y2();
      }
       while (inductionVariable < times);
  };
  protoOf(AbstractMutableList).equals = function (other) {
    if (other === this)
      return true;
    if (!(!(other == null) ? isInterface(other, KtList) : false))
      return false;
    return Companion_instance_4.x3(this, other);
  };
  protoOf(AbstractMutableList).hashCode = function () {
    return Companion_instance_4.y3(this);
  };
  function AbstractMutableMap() {
    AbstractMap.call(this);
    this.b4_1 = null;
    this.c4_1 = null;
  }
  protoOf(AbstractMutableMap).d4 = function () {
    return new HashMapKeysDefault(this);
  };
  protoOf(AbstractMutableMap).e4 = function () {
    return new HashMapValuesDefault(this);
  };
  protoOf(AbstractMutableMap).x1 = function () {
    var tmp0_elvis_lhs = this.b4_1;
    var tmp;
    if (tmp0_elvis_lhs == null) {
      // Inline function 'kotlin.also' call
      var this_0 = this.d4();
      // Inline function 'kotlin.collections.AbstractMutableMap.<get-keys>.<anonymous>' call
      this.b4_1 = this_0;
      tmp = this_0;
    } else {
      tmp = tmp0_elvis_lhs;
    }
    return tmp;
  };
  protoOf(AbstractMutableMap).y1 = function () {
    var tmp0_elvis_lhs = this.c4_1;
    var tmp;
    if (tmp0_elvis_lhs == null) {
      // Inline function 'kotlin.also' call
      var this_0 = this.e4();
      // Inline function 'kotlin.collections.AbstractMutableMap.<get-values>.<anonymous>' call
      this.c4_1 = this_0;
      tmp = this_0;
    } else {
      tmp = tmp0_elvis_lhs;
    }
    return tmp;
  };
  protoOf(AbstractMutableMap).a3 = function () {
    this.z1().a3();
  };
  protoOf(AbstractMutableMap).g4 = function (from) {
    this.x2();
    // Inline function 'kotlin.collections.iterator' call
    var _iterator__ex2g4s = from.z1().g();
    while (_iterator__ex2g4s.h()) {
      var _destruct__k2r9zo = _iterator__ex2g4s.i();
      // Inline function 'kotlin.collections.component1' call
      var key = _destruct__k2r9zo.s1();
      // Inline function 'kotlin.collections.component2' call
      var value = _destruct__k2r9zo.t1();
      this.f4(key, value);
    }
  };
  protoOf(AbstractMutableMap).h4 = function (key) {
    this.x2();
    var iter = this.z1().g();
    while (iter.h()) {
      var entry = iter.i();
      var k = entry.s1();
      if (equals(key, k)) {
        var value = entry.t1();
        iter.y2();
        return value;
      }
    }
    return null;
  };
  protoOf(AbstractMutableMap).x2 = function () {
  };
  function AbstractMutableSet() {
    AbstractMutableCollection.call(this);
  }
  protoOf(AbstractMutableSet).equals = function (other) {
    if (other === this)
      return true;
    if (!(!(other == null) ? isInterface(other, KtSet) : false))
      return false;
    return Companion_instance_6.l4(this, other);
  };
  protoOf(AbstractMutableSet).hashCode = function () {
    return Companion_instance_6.m4(this);
  };
  function arrayOfUninitializedElements(capacity) {
    // Inline function 'kotlin.require' call
    if (!(capacity >= 0)) {
      // Inline function 'kotlin.collections.arrayOfUninitializedElements.<anonymous>' call
      var message = 'capacity must be non-negative.';
      throw IllegalArgumentException_init_$Create$_0(toString_1(message));
    }
    // Inline function 'kotlin.arrayOfNulls' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return fillArrayVal(Array(capacity), null);
  }
  function resetRange(_this__u8e3s4, fromIndex, toIndex) {
    // Inline function 'kotlin.js.nativeFill' call
    // Inline function 'kotlin.js.asDynamic' call
    _this__u8e3s4.fill(null, fromIndex, toIndex);
  }
  function copyOfUninitializedElements(_this__u8e3s4, newSize) {
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return copyOf_0(_this__u8e3s4, newSize);
  }
  function resetAt(_this__u8e3s4, index) {
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    _this__u8e3s4[index] = null;
  }
  function Companion_2() {
    Companion_instance_2 = this;
    var tmp = this;
    // Inline function 'kotlin.also' call
    var this_0 = ArrayList_init_$Create$_0(0);
    // Inline function 'kotlin.collections.Companion.Empty.<anonymous>' call
    this_0.o_1 = true;
    tmp.n4_1 = this_0;
  }
  var Companion_instance_2;
  function Companion_getInstance_2() {
    if (Companion_instance_2 == null)
      new Companion_2();
    return Companion_instance_2;
  }
  function ArrayList_init_$Init$($this) {
    // Inline function 'kotlin.emptyArray' call
    var tmp$ret$0 = [];
    ArrayList.call($this, tmp$ret$0);
    return $this;
  }
  function ArrayList_init_$Create$() {
    return ArrayList_init_$Init$(objectCreate(protoOf(ArrayList)));
  }
  function ArrayList_init_$Init$_0(initialCapacity, $this) {
    // Inline function 'kotlin.emptyArray' call
    var tmp$ret$0 = [];
    ArrayList.call($this, tmp$ret$0);
    // Inline function 'kotlin.require' call
    if (!(initialCapacity >= 0)) {
      // Inline function 'kotlin.collections.ArrayList.<init>.<anonymous>' call
      var message = 'Negative initial capacity: ' + initialCapacity;
      throw IllegalArgumentException_init_$Create$_0(toString_1(message));
    }
    return $this;
  }
  function ArrayList_init_$Create$_0(initialCapacity) {
    return ArrayList_init_$Init$_0(initialCapacity, objectCreate(protoOf(ArrayList)));
  }
  function ArrayList_init_$Init$_1(elements, $this) {
    // Inline function 'kotlin.collections.toTypedArray' call
    var tmp$ret$0 = copyToArray(elements);
    ArrayList.call($this, tmp$ret$0);
    return $this;
  }
  function ArrayList_init_$Create$_1(elements) {
    return ArrayList_init_$Init$_1(elements, objectCreate(protoOf(ArrayList)));
  }
  function increaseLength($this, amount) {
    var previous = $this.j();
    // Inline function 'kotlin.js.asDynamic' call
    $this.n_1.length = $this.j() + amount | 0;
    return previous;
  }
  function rangeCheck($this, index) {
    // Inline function 'kotlin.apply' call
    // Inline function 'kotlin.collections.ArrayList.rangeCheck.<anonymous>' call
    Companion_instance_4.u3(index, $this.j());
    return index;
  }
  function insertionRangeCheck($this, index) {
    // Inline function 'kotlin.apply' call
    // Inline function 'kotlin.collections.ArrayList.insertionRangeCheck.<anonymous>' call
    Companion_instance_4.k3(index, $this.j());
    return index;
  }
  function ArrayList(array) {
    Companion_getInstance_2();
    AbstractMutableList.call(this);
    this.n_1 = array;
    this.o_1 = false;
  }
  protoOf(ArrayList).j = function () {
    return this.n_1.length;
  };
  protoOf(ArrayList).k = function (index) {
    var tmp = this.n_1[rangeCheck(this, index)];
    return (tmp == null ? true : !(tmp == null)) ? tmp : THROW_CCE();
  };
  protoOf(ArrayList).w2 = function (index, element) {
    this.x2();
    rangeCheck(this, index);
    // Inline function 'kotlin.apply' call
    var this_0 = this.n_1[index];
    // Inline function 'kotlin.collections.ArrayList.set.<anonymous>' call
    this.n_1[index] = element;
    var tmp = this_0;
    return (tmp == null ? true : !(tmp == null)) ? tmp : THROW_CCE();
  };
  protoOf(ArrayList).e = function (element) {
    this.x2();
    // Inline function 'kotlin.js.asDynamic' call
    this.n_1.push(element);
    this.e3_1 = this.e3_1 + 1 | 0;
    return true;
  };
  protoOf(ArrayList).t3 = function (index, element) {
    this.x2();
    // Inline function 'kotlin.js.asDynamic' call
    this.n_1.splice(insertionRangeCheck(this, index), 0, element);
    this.e3_1 = this.e3_1 + 1 | 0;
  };
  protoOf(ArrayList).p = function (elements) {
    this.x2();
    if (elements.l())
      return false;
    var offset = increaseLength(this, elements.j());
    // Inline function 'kotlin.collections.forEachIndexed' call
    var index = 0;
    var _iterator__ex2g4s = elements.g();
    while (_iterator__ex2g4s.h()) {
      var item = _iterator__ex2g4s.i();
      var _unary__edvuaz = index;
      index = _unary__edvuaz + 1 | 0;
      // Inline function 'kotlin.collections.ArrayList.addAll.<anonymous>' call
      var index_0 = checkIndexOverflow(_unary__edvuaz);
      this.n_1[offset + index_0 | 0] = item;
    }
    this.e3_1 = this.e3_1 + 1 | 0;
    return true;
  };
  protoOf(ArrayList).f3 = function (index) {
    this.x2();
    rangeCheck(this, index);
    this.e3_1 = this.e3_1 + 1 | 0;
    var tmp;
    if (index === get_lastIndex_0(this)) {
      // Inline function 'kotlin.js.asDynamic' call
      tmp = this.n_1.pop();
    } else {
      // Inline function 'kotlin.js.asDynamic' call
      tmp = this.n_1.splice(index, 1)[0];
    }
    return tmp;
  };
  protoOf(ArrayList).a2 = function (element) {
    this.x2();
    var inductionVariable = 0;
    var last = this.n_1.length - 1 | 0;
    if (inductionVariable <= last)
      do {
        var index = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        if (equals(this.n_1[index], element)) {
          // Inline function 'kotlin.js.asDynamic' call
          this.n_1.splice(index, 1);
          this.e3_1 = this.e3_1 + 1 | 0;
          return true;
        }
      }
       while (inductionVariable <= last);
    return false;
  };
  protoOf(ArrayList).v3 = function (fromIndex, toIndex) {
    this.x2();
    this.e3_1 = this.e3_1 + 1 | 0;
    // Inline function 'kotlin.js.asDynamic' call
    this.n_1.splice(fromIndex, toIndex - fromIndex | 0);
  };
  protoOf(ArrayList).a3 = function () {
    this.x2();
    var tmp = this;
    // Inline function 'kotlin.emptyArray' call
    tmp.n_1 = [];
    this.e3_1 = this.e3_1 + 1 | 0;
  };
  protoOf(ArrayList).p1 = function (element) {
    return indexOf(this.n_1, element);
  };
  protoOf(ArrayList).toString = function () {
    return arrayToString(this.n_1);
  };
  protoOf(ArrayList).o4 = function () {
    return [].slice.call(this.n_1);
  };
  protoOf(ArrayList).toArray = function () {
    return this.o4();
  };
  protoOf(ArrayList).x2 = function () {
    if (this.o_1)
      throw UnsupportedOperationException_init_$Create$();
  };
  var _stableSortingIsSupported;
  function sortArrayWith(array, comparator) {
    if (getStableSortingIsSupported()) {
      var comparison = sortArrayWith$lambda(comparator);
      // Inline function 'kotlin.js.asDynamic' call
      array.sort(comparison);
    } else {
      // Inline function 'kotlin.js.unsafeCast' call
      // Inline function 'kotlin.js.asDynamic' call
      mergeSort(array, 0, get_lastIndex(array), comparator);
    }
  }
  function getStableSortingIsSupported() {
    var tmp0_safe_receiver = _stableSortingIsSupported;
    if (tmp0_safe_receiver == null)
      null;
    else {
      // Inline function 'kotlin.let' call
      return tmp0_safe_receiver;
    }
    _stableSortingIsSupported = false;
    // Inline function 'kotlin.js.unsafeCast' call
    var array = [];
    var inductionVariable = 0;
    if (inductionVariable < 600)
      do {
        var index = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        // Inline function 'kotlin.js.asDynamic' call
        array.push(index);
      }
       while (inductionVariable < 600);
    var comparison = getStableSortingIsSupported$lambda;
    // Inline function 'kotlin.js.asDynamic' call
    array.sort(comparison);
    var inductionVariable_0 = 1;
    var last = array.length;
    if (inductionVariable_0 < last)
      do {
        var index_0 = inductionVariable_0;
        inductionVariable_0 = inductionVariable_0 + 1 | 0;
        var a = array[index_0 - 1 | 0];
        var b = array[index_0];
        if ((a & 3) === (b & 3) && a >= b)
          return false;
      }
       while (inductionVariable_0 < last);
    _stableSortingIsSupported = true;
    return true;
  }
  function mergeSort(array, start, endInclusive, comparator) {
    // Inline function 'kotlin.arrayOfNulls' call
    var size = array.length;
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    var buffer = fillArrayVal(Array(size), null);
    var result = mergeSort_0(array, buffer, start, endInclusive, comparator);
    if (!(result === array)) {
      var inductionVariable = start;
      if (inductionVariable <= endInclusive)
        do {
          var i = inductionVariable;
          inductionVariable = inductionVariable + 1 | 0;
          array[i] = result[i];
        }
         while (!(i === endInclusive));
    }
  }
  function mergeSort_0(array, buffer, start, end, comparator) {
    if (start === end) {
      return array;
    }
    var median = (start + end | 0) / 2 | 0;
    var left = mergeSort_0(array, buffer, start, median, comparator);
    var right = mergeSort_0(array, buffer, median + 1 | 0, end, comparator);
    var target = left === buffer ? array : buffer;
    var leftIndex = start;
    var rightIndex = median + 1 | 0;
    var inductionVariable = start;
    if (inductionVariable <= end)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        if (leftIndex <= median && rightIndex <= end) {
          var leftValue = left[leftIndex];
          var rightValue = right[rightIndex];
          if (comparator.compare(leftValue, rightValue) <= 0) {
            target[i] = leftValue;
            leftIndex = leftIndex + 1 | 0;
          } else {
            target[i] = rightValue;
            rightIndex = rightIndex + 1 | 0;
          }
        } else if (leftIndex <= median) {
          target[i] = left[leftIndex];
          leftIndex = leftIndex + 1 | 0;
        } else {
          target[i] = right[rightIndex];
          rightIndex = rightIndex + 1 | 0;
        }
      }
       while (!(i === end));
    return target;
  }
  function sortArrayWith$lambda($comparator) {
    return function (a, b) {
      return $comparator.compare(a, b);
    };
  }
  function getStableSortingIsSupported$lambda(a, b) {
    return (a & 3) - (b & 3) | 0;
  }
  function HashMap_init_$Init$(internalMap, $this) {
    AbstractMutableMap.call($this);
    HashMap.call($this);
    $this.t4_1 = internalMap;
    return $this;
  }
  function HashMap_init_$Init$_0($this) {
    HashMap_init_$Init$(InternalHashMap_init_$Create$(), $this);
    return $this;
  }
  function HashMap_init_$Create$() {
    return HashMap_init_$Init$_0(objectCreate(protoOf(HashMap)));
  }
  function HashMap_init_$Init$_1(initialCapacity, loadFactor, $this) {
    HashMap_init_$Init$(InternalHashMap_init_$Create$_2(initialCapacity, loadFactor), $this);
    return $this;
  }
  function HashMap_init_$Init$_2(initialCapacity, $this) {
    HashMap_init_$Init$_1(initialCapacity, 1.0, $this);
    return $this;
  }
  function HashMap_init_$Init$_3(original, $this) {
    HashMap_init_$Init$(InternalHashMap_init_$Create$_1(original), $this);
    return $this;
  }
  protoOf(HashMap).a3 = function () {
    this.t4_1.a3();
  };
  protoOf(HashMap).u1 = function (key) {
    return this.t4_1.v4(key);
  };
  protoOf(HashMap).v1 = function (value) {
    return this.t4_1.v1(value);
  };
  protoOf(HashMap).d4 = function () {
    return new HashMapKeys(this.t4_1);
  };
  protoOf(HashMap).e4 = function () {
    return new HashMapValues(this.t4_1);
  };
  protoOf(HashMap).z1 = function () {
    var tmp0_elvis_lhs = this.u4_1;
    var tmp;
    if (tmp0_elvis_lhs == null) {
      // Inline function 'kotlin.also' call
      var this_0 = new HashMapEntrySet(this.t4_1);
      // Inline function 'kotlin.collections.HashMap.<get-entries>.<anonymous>' call
      this.u4_1 = this_0;
      tmp = this_0;
    } else {
      tmp = tmp0_elvis_lhs;
    }
    return tmp;
  };
  protoOf(HashMap).w1 = function (key) {
    return this.t4_1.w1(key);
  };
  protoOf(HashMap).f4 = function (key, value) {
    return this.t4_1.f4(key, value);
  };
  protoOf(HashMap).h4 = function (key) {
    return this.t4_1.h4(key);
  };
  protoOf(HashMap).j = function () {
    return this.t4_1.j();
  };
  protoOf(HashMap).g4 = function (from) {
    return this.t4_1.g4(from);
  };
  function HashMap() {
    this.u4_1 = null;
  }
  function HashMapKeys(backing) {
    AbstractMutableSet.call(this);
    this.w4_1 = backing;
  }
  protoOf(HashMapKeys).j = function () {
    return this.w4_1.j();
  };
  protoOf(HashMapKeys).l = function () {
    return this.w4_1.j() === 0;
  };
  protoOf(HashMapKeys).o1 = function (element) {
    return this.w4_1.v4(element);
  };
  protoOf(HashMapKeys).a3 = function () {
    return this.w4_1.a3();
  };
  protoOf(HashMapKeys).e = function (element) {
    throw UnsupportedOperationException_init_$Create$();
  };
  protoOf(HashMapKeys).p = function (elements) {
    throw UnsupportedOperationException_init_$Create$();
  };
  protoOf(HashMapKeys).a2 = function (element) {
    return this.w4_1.x4(element);
  };
  protoOf(HashMapKeys).g = function () {
    return this.w4_1.y4();
  };
  protoOf(HashMapKeys).x2 = function () {
    return this.w4_1.z4();
  };
  function HashMapValues(backing) {
    AbstractMutableCollection.call(this);
    this.a5_1 = backing;
  }
  protoOf(HashMapValues).j = function () {
    return this.a5_1.j();
  };
  protoOf(HashMapValues).l = function () {
    return this.a5_1.j() === 0;
  };
  protoOf(HashMapValues).b5 = function (element) {
    return this.a5_1.v1(element);
  };
  protoOf(HashMapValues).o1 = function (element) {
    if (!(element == null ? true : !(element == null)))
      return false;
    return this.b5((element == null ? true : !(element == null)) ? element : THROW_CCE());
  };
  protoOf(HashMapValues).c5 = function (element) {
    throw UnsupportedOperationException_init_$Create$();
  };
  protoOf(HashMapValues).e = function (element) {
    return this.c5((element == null ? true : !(element == null)) ? element : THROW_CCE());
  };
  protoOf(HashMapValues).d5 = function (elements) {
    throw UnsupportedOperationException_init_$Create$();
  };
  protoOf(HashMapValues).p = function (elements) {
    return this.d5(elements);
  };
  protoOf(HashMapValues).g = function () {
    return this.a5_1.e5();
  };
  protoOf(HashMapValues).f5 = function (element) {
    return this.a5_1.g5(element);
  };
  protoOf(HashMapValues).a2 = function (element) {
    if (!(element == null ? true : !(element == null)))
      return false;
    return this.f5((element == null ? true : !(element == null)) ? element : THROW_CCE());
  };
  protoOf(HashMapValues).x2 = function () {
    return this.a5_1.z4();
  };
  function HashMapEntrySet(backing) {
    HashMapEntrySetBase.call(this, backing);
  }
  protoOf(HashMapEntrySet).g = function () {
    return this.i5_1.j5();
  };
  function HashMapEntrySetBase(backing) {
    AbstractMutableSet.call(this);
    this.i5_1 = backing;
  }
  protoOf(HashMapEntrySetBase).j = function () {
    return this.i5_1.j();
  };
  protoOf(HashMapEntrySetBase).l = function () {
    return this.i5_1.j() === 0;
  };
  protoOf(HashMapEntrySetBase).k5 = function (element) {
    return this.i5_1.n5(element);
  };
  protoOf(HashMapEntrySetBase).o1 = function (element) {
    if (!(!(element == null) ? isInterface(element, Entry) : false))
      return false;
    return this.k5((!(element == null) ? isInterface(element, Entry) : false) ? element : THROW_CCE());
  };
  protoOf(HashMapEntrySetBase).a3 = function () {
    return this.i5_1.a3();
  };
  protoOf(HashMapEntrySetBase).l5 = function (element) {
    throw UnsupportedOperationException_init_$Create$();
  };
  protoOf(HashMapEntrySetBase).e = function (element) {
    return this.l5((!(element == null) ? isInterface(element, Entry) : false) ? element : THROW_CCE());
  };
  protoOf(HashMapEntrySetBase).p = function (elements) {
    throw UnsupportedOperationException_init_$Create$();
  };
  protoOf(HashMapEntrySetBase).m5 = function (element) {
    return this.i5_1.o5(element);
  };
  protoOf(HashMapEntrySetBase).a2 = function (element) {
    if (!(!(element == null) ? isInterface(element, Entry) : false))
      return false;
    return this.m5((!(element == null) ? isInterface(element, Entry) : false) ? element : THROW_CCE());
  };
  protoOf(HashMapEntrySetBase).r1 = function (elements) {
    return this.i5_1.p5(elements);
  };
  protoOf(HashMapEntrySetBase).x2 = function () {
    return this.i5_1.z4();
  };
  function HashMapKeysDefault$iterator$1($entryIterator) {
    this.q5_1 = $entryIterator;
  }
  protoOf(HashMapKeysDefault$iterator$1).h = function () {
    return this.q5_1.h();
  };
  protoOf(HashMapKeysDefault$iterator$1).i = function () {
    return this.q5_1.i().s1();
  };
  protoOf(HashMapKeysDefault$iterator$1).y2 = function () {
    return this.q5_1.y2();
  };
  function HashMapKeysDefault(backingMap) {
    AbstractMutableSet.call(this);
    this.r5_1 = backingMap;
  }
  protoOf(HashMapKeysDefault).s5 = function (element) {
    throw UnsupportedOperationException_init_$Create$_0('Add is not supported on keys');
  };
  protoOf(HashMapKeysDefault).e = function (element) {
    return this.s5((element == null ? true : !(element == null)) ? element : THROW_CCE());
  };
  protoOf(HashMapKeysDefault).a3 = function () {
    return this.r5_1.a3();
  };
  protoOf(HashMapKeysDefault).v4 = function (element) {
    return this.r5_1.u1(element);
  };
  protoOf(HashMapKeysDefault).o1 = function (element) {
    if (!(element == null ? true : !(element == null)))
      return false;
    return this.v4((element == null ? true : !(element == null)) ? element : THROW_CCE());
  };
  protoOf(HashMapKeysDefault).g = function () {
    var entryIterator = this.r5_1.z1().g();
    return new HashMapKeysDefault$iterator$1(entryIterator);
  };
  protoOf(HashMapKeysDefault).h4 = function (element) {
    this.x2();
    if (this.r5_1.u1(element)) {
      this.r5_1.h4(element);
      return true;
    }
    return false;
  };
  protoOf(HashMapKeysDefault).a2 = function (element) {
    if (!(element == null ? true : !(element == null)))
      return false;
    return this.h4((element == null ? true : !(element == null)) ? element : THROW_CCE());
  };
  protoOf(HashMapKeysDefault).j = function () {
    return this.r5_1.j();
  };
  protoOf(HashMapKeysDefault).x2 = function () {
    return this.r5_1.x2();
  };
  function HashMapValuesDefault$iterator$1($entryIterator) {
    this.t5_1 = $entryIterator;
  }
  protoOf(HashMapValuesDefault$iterator$1).h = function () {
    return this.t5_1.h();
  };
  protoOf(HashMapValuesDefault$iterator$1).i = function () {
    return this.t5_1.i().t1();
  };
  protoOf(HashMapValuesDefault$iterator$1).y2 = function () {
    return this.t5_1.y2();
  };
  function HashMapValuesDefault(backingMap) {
    AbstractMutableCollection.call(this);
    this.u5_1 = backingMap;
  }
  protoOf(HashMapValuesDefault).c5 = function (element) {
    throw UnsupportedOperationException_init_$Create$_0('Add is not supported on values');
  };
  protoOf(HashMapValuesDefault).e = function (element) {
    return this.c5((element == null ? true : !(element == null)) ? element : THROW_CCE());
  };
  protoOf(HashMapValuesDefault).b5 = function (element) {
    return this.u5_1.v1(element);
  };
  protoOf(HashMapValuesDefault).o1 = function (element) {
    if (!(element == null ? true : !(element == null)))
      return false;
    return this.b5((element == null ? true : !(element == null)) ? element : THROW_CCE());
  };
  protoOf(HashMapValuesDefault).g = function () {
    var entryIterator = this.u5_1.z1().g();
    return new HashMapValuesDefault$iterator$1(entryIterator);
  };
  protoOf(HashMapValuesDefault).j = function () {
    return this.u5_1.j();
  };
  protoOf(HashMapValuesDefault).x2 = function () {
    return this.u5_1.x2();
  };
  function HashSet_init_$Init$(map, $this) {
    AbstractMutableSet.call($this);
    HashSet.call($this);
    $this.v5_1 = map;
    return $this;
  }
  function HashSet_init_$Init$_0($this) {
    HashSet_init_$Init$(InternalHashMap_init_$Create$(), $this);
    return $this;
  }
  function HashSet_init_$Create$() {
    return HashSet_init_$Init$_0(objectCreate(protoOf(HashSet)));
  }
  function HashSet_init_$Init$_1(elements, $this) {
    HashSet_init_$Init$(InternalHashMap_init_$Create$_0(elements.j()), $this);
    var _iterator__ex2g4s = elements.g();
    while (_iterator__ex2g4s.h()) {
      var element = _iterator__ex2g4s.i();
      $this.v5_1.f4(element, true);
    }
    return $this;
  }
  function HashSet_init_$Init$_2(initialCapacity, loadFactor, $this) {
    HashSet_init_$Init$(InternalHashMap_init_$Create$_2(initialCapacity, loadFactor), $this);
    return $this;
  }
  function HashSet_init_$Init$_3(initialCapacity, $this) {
    HashSet_init_$Init$_2(initialCapacity, 1.0, $this);
    return $this;
  }
  function HashSet_init_$Create$_0(initialCapacity) {
    return HashSet_init_$Init$_3(initialCapacity, objectCreate(protoOf(HashSet)));
  }
  protoOf(HashSet).e = function (element) {
    return this.v5_1.f4(element, true) == null;
  };
  protoOf(HashSet).a3 = function () {
    this.v5_1.a3();
  };
  protoOf(HashSet).o1 = function (element) {
    return this.v5_1.v4(element);
  };
  protoOf(HashSet).l = function () {
    return this.v5_1.j() === 0;
  };
  protoOf(HashSet).g = function () {
    return this.v5_1.y4();
  };
  protoOf(HashSet).a2 = function (element) {
    return !(this.v5_1.h4(element) == null);
  };
  protoOf(HashSet).j = function () {
    return this.v5_1.j();
  };
  function HashSet() {
  }
  function computeHashSize($this, capacity) {
    return takeHighestOneBit(imul(coerceAtLeast(capacity, 1), 3));
  }
  function computeShift($this, hashSize) {
    // Inline function 'kotlin.countLeadingZeroBits' call
    return clz32(hashSize) + 1 | 0;
  }
  function checkForComodification($this) {
    if (!($this.g6_1.d6_1 === $this.i6_1))
      throw ConcurrentModificationException_init_$Create$_0('The backing map has been modified after this entry was obtained.');
  }
  function InternalHashMap_init_$Init$($this) {
    InternalHashMap_init_$Init$_0(8, $this);
    return $this;
  }
  function InternalHashMap_init_$Create$() {
    return InternalHashMap_init_$Init$(objectCreate(protoOf(InternalHashMap)));
  }
  function InternalHashMap_init_$Init$_0(initialCapacity, $this) {
    InternalHashMap.call($this, arrayOfUninitializedElements(initialCapacity), null, new Int32Array(initialCapacity), new Int32Array(computeHashSize(Companion_instance_3, initialCapacity)), 2, 0);
    return $this;
  }
  function InternalHashMap_init_$Create$_0(initialCapacity) {
    return InternalHashMap_init_$Init$_0(initialCapacity, objectCreate(protoOf(InternalHashMap)));
  }
  function InternalHashMap_init_$Init$_1(original, $this) {
    InternalHashMap_init_$Init$_0(original.j(), $this);
    $this.g4(original);
    return $this;
  }
  function InternalHashMap_init_$Create$_1(original) {
    return InternalHashMap_init_$Init$_1(original, objectCreate(protoOf(InternalHashMap)));
  }
  function InternalHashMap_init_$Init$_2(initialCapacity, loadFactor, $this) {
    InternalHashMap_init_$Init$_0(initialCapacity, $this);
    // Inline function 'kotlin.require' call
    if (!(loadFactor > 0)) {
      // Inline function 'kotlin.collections.InternalHashMap.<init>.<anonymous>' call
      var message = 'Non-positive load factor: ' + loadFactor;
      throw IllegalArgumentException_init_$Create$_0(toString_1(message));
    }
    return $this;
  }
  function InternalHashMap_init_$Create$_2(initialCapacity, loadFactor) {
    return InternalHashMap_init_$Init$_2(initialCapacity, loadFactor, objectCreate(protoOf(InternalHashMap)));
  }
  function _get_capacity__a9k9f3($this) {
    return $this.w5_1.length;
  }
  function _get_hashSize__tftcho($this) {
    return $this.z5_1.length;
  }
  function registerModification($this) {
    $this.d6_1 = $this.d6_1 + 1 | 0;
  }
  function ensureExtraCapacity($this, n) {
    if (shouldCompact($this, n)) {
      compact($this, true);
    } else {
      ensureCapacity($this, $this.b6_1 + n | 0);
    }
  }
  function shouldCompact($this, extraCapacity) {
    var spareCapacity = _get_capacity__a9k9f3($this) - $this.b6_1 | 0;
    var gaps = $this.b6_1 - $this.j() | 0;
    return spareCapacity < extraCapacity && (gaps + spareCapacity | 0) >= extraCapacity && gaps >= (_get_capacity__a9k9f3($this) / 4 | 0);
  }
  function ensureCapacity($this, minCapacity) {
    if (minCapacity < 0)
      throw RuntimeException_init_$Create$_0('too many elements');
    if (minCapacity > _get_capacity__a9k9f3($this)) {
      var newSize = Companion_instance_4.j6(_get_capacity__a9k9f3($this), minCapacity);
      $this.w5_1 = copyOfUninitializedElements($this.w5_1, newSize);
      var tmp = $this;
      var tmp0_safe_receiver = $this.x5_1;
      tmp.x5_1 = tmp0_safe_receiver == null ? null : copyOfUninitializedElements(tmp0_safe_receiver, newSize);
      $this.y5_1 = copyOf($this.y5_1, newSize);
      var newHashSize = computeHashSize(Companion_instance_3, newSize);
      if (newHashSize > _get_hashSize__tftcho($this)) {
        rehash($this, newHashSize);
      }
    }
  }
  function allocateValuesArray($this) {
    var curValuesArray = $this.x5_1;
    if (!(curValuesArray == null))
      return curValuesArray;
    var newValuesArray = arrayOfUninitializedElements(_get_capacity__a9k9f3($this));
    $this.x5_1 = newValuesArray;
    return newValuesArray;
  }
  function hash($this, key) {
    return key == null ? 0 : imul(hashCode(key), -1640531527) >>> $this.c6_1 | 0;
  }
  function compact($this, updateHashArray) {
    var i = 0;
    var j = 0;
    var valuesArray = $this.x5_1;
    while (i < $this.b6_1) {
      var hash = $this.y5_1[i];
      if (hash >= 0) {
        $this.w5_1[j] = $this.w5_1[i];
        if (!(valuesArray == null)) {
          valuesArray[j] = valuesArray[i];
        }
        if (updateHashArray) {
          $this.y5_1[j] = hash;
          $this.z5_1[hash] = j + 1 | 0;
        }
        j = j + 1 | 0;
      }
      i = i + 1 | 0;
    }
    resetRange($this.w5_1, j, $this.b6_1);
    if (valuesArray == null)
      null;
    else {
      resetRange(valuesArray, j, $this.b6_1);
    }
    $this.b6_1 = j;
  }
  function rehash($this, newHashSize) {
    registerModification($this);
    if ($this.b6_1 > $this.e6_1) {
      compact($this, false);
    }
    $this.z5_1 = new Int32Array(newHashSize);
    $this.c6_1 = computeShift(Companion_instance_3, newHashSize);
    var i = 0;
    while (i < $this.b6_1) {
      var _unary__edvuaz = i;
      i = _unary__edvuaz + 1 | 0;
      if (!putRehash($this, _unary__edvuaz)) {
        throw IllegalStateException_init_$Create$_0('This cannot happen with fixed magic multiplier and grow-only hash array. Have object hashCodes changed?');
      }
    }
  }
  function putRehash($this, i) {
    var hash_0 = hash($this, $this.w5_1[i]);
    var probesLeft = $this.a6_1;
    while (true) {
      var index = $this.z5_1[hash_0];
      if (index === 0) {
        $this.z5_1[hash_0] = i + 1 | 0;
        $this.y5_1[i] = hash_0;
        return true;
      }
      probesLeft = probesLeft - 1 | 0;
      if (probesLeft < 0)
        return false;
      var _unary__edvuaz = hash_0;
      hash_0 = _unary__edvuaz - 1 | 0;
      if (_unary__edvuaz === 0)
        hash_0 = _get_hashSize__tftcho($this) - 1 | 0;
    }
  }
  function findKey($this, key) {
    var hash_0 = hash($this, key);
    var probesLeft = $this.a6_1;
    while (true) {
      var index = $this.z5_1[hash_0];
      if (index === 0)
        return -1;
      if (index > 0 && equals($this.w5_1[index - 1 | 0], key))
        return index - 1 | 0;
      probesLeft = probesLeft - 1 | 0;
      if (probesLeft < 0)
        return -1;
      var _unary__edvuaz = hash_0;
      hash_0 = _unary__edvuaz - 1 | 0;
      if (_unary__edvuaz === 0)
        hash_0 = _get_hashSize__tftcho($this) - 1 | 0;
    }
  }
  function findValue($this, value) {
    var i = $this.b6_1;
    $l$loop: while (true) {
      i = i - 1 | 0;
      if (!(i >= 0)) {
        break $l$loop;
      }
      if ($this.y5_1[i] >= 0 && equals(ensureNotNull($this.x5_1)[i], value))
        return i;
    }
    return -1;
  }
  function addKey($this, key) {
    $this.z4();
    retry: while (true) {
      var hash_0 = hash($this, key);
      var tentativeMaxProbeDistance = coerceAtMost(imul($this.a6_1, 2), _get_hashSize__tftcho($this) / 2 | 0);
      var probeDistance = 0;
      while (true) {
        var index = $this.z5_1[hash_0];
        if (index <= 0) {
          if ($this.b6_1 >= _get_capacity__a9k9f3($this)) {
            ensureExtraCapacity($this, 1);
            continue retry;
          }
          var _unary__edvuaz = $this.b6_1;
          $this.b6_1 = _unary__edvuaz + 1 | 0;
          var putIndex = _unary__edvuaz;
          $this.w5_1[putIndex] = key;
          $this.y5_1[putIndex] = hash_0;
          $this.z5_1[hash_0] = putIndex + 1 | 0;
          $this.e6_1 = $this.e6_1 + 1 | 0;
          registerModification($this);
          if (probeDistance > $this.a6_1)
            $this.a6_1 = probeDistance;
          return putIndex;
        }
        if (equals($this.w5_1[index - 1 | 0], key)) {
          return -index | 0;
        }
        probeDistance = probeDistance + 1 | 0;
        if (probeDistance > tentativeMaxProbeDistance) {
          rehash($this, imul(_get_hashSize__tftcho($this), 2));
          continue retry;
        }
        var _unary__edvuaz_0 = hash_0;
        hash_0 = _unary__edvuaz_0 - 1 | 0;
        if (_unary__edvuaz_0 === 0)
          hash_0 = _get_hashSize__tftcho($this) - 1 | 0;
      }
    }
  }
  function removeEntryAt($this, index) {
    resetAt($this.w5_1, index);
    var tmp0_safe_receiver = $this.x5_1;
    if (tmp0_safe_receiver == null)
      null;
    else {
      resetAt(tmp0_safe_receiver, index);
    }
    removeHashAt($this, $this.y5_1[index]);
    $this.y5_1[index] = -1;
    $this.e6_1 = $this.e6_1 - 1 | 0;
    registerModification($this);
  }
  function removeHashAt($this, removedHash) {
    var hash_0 = removedHash;
    var hole = removedHash;
    var probeDistance = 0;
    var patchAttemptsLeft = coerceAtMost(imul($this.a6_1, 2), _get_hashSize__tftcho($this) / 2 | 0);
    while (true) {
      var _unary__edvuaz = hash_0;
      hash_0 = _unary__edvuaz - 1 | 0;
      if (_unary__edvuaz === 0)
        hash_0 = _get_hashSize__tftcho($this) - 1 | 0;
      probeDistance = probeDistance + 1 | 0;
      if (probeDistance > $this.a6_1) {
        $this.z5_1[hole] = 0;
        return Unit_instance;
      }
      var index = $this.z5_1[hash_0];
      if (index === 0) {
        $this.z5_1[hole] = 0;
        return Unit_instance;
      }
      if (index < 0) {
        $this.z5_1[hole] = -1;
        hole = hash_0;
        probeDistance = 0;
      } else {
        var otherHash = hash($this, $this.w5_1[index - 1 | 0]);
        if (((otherHash - hash_0 | 0) & (_get_hashSize__tftcho($this) - 1 | 0)) >= probeDistance) {
          $this.z5_1[hole] = index;
          $this.y5_1[index - 1 | 0] = hole;
          hole = hash_0;
          probeDistance = 0;
        }
      }
      patchAttemptsLeft = patchAttemptsLeft - 1 | 0;
      if (patchAttemptsLeft < 0) {
        $this.z5_1[hole] = -1;
        return Unit_instance;
      }
    }
  }
  function contentEquals($this, other) {
    return $this.e6_1 === other.j() && $this.p5(other.z1());
  }
  function putEntry($this, entry) {
    var index = addKey($this, entry.s1());
    var valuesArray = allocateValuesArray($this);
    if (index >= 0) {
      valuesArray[index] = entry.t1();
      return true;
    }
    var oldValue = valuesArray[(-index | 0) - 1 | 0];
    if (!equals(entry.t1(), oldValue)) {
      valuesArray[(-index | 0) - 1 | 0] = entry.t1();
      return true;
    }
    return false;
  }
  function putAllEntries($this, from) {
    if (from.l())
      return false;
    ensureExtraCapacity($this, from.j());
    var it = from.g();
    var updated = false;
    while (it.h()) {
      if (putEntry($this, it.i()))
        updated = true;
    }
    return updated;
  }
  function Companion_3() {
    this.k6_1 = -1640531527;
    this.l6_1 = 8;
    this.m6_1 = 2;
    this.n6_1 = -1;
  }
  var Companion_instance_3;
  function Companion_getInstance_3() {
    return Companion_instance_3;
  }
  function Itr(map) {
    this.o6_1 = map;
    this.p6_1 = 0;
    this.q6_1 = -1;
    this.r6_1 = this.o6_1.d6_1;
    this.s6();
  }
  protoOf(Itr).s6 = function () {
    while (this.p6_1 < this.o6_1.b6_1 && this.o6_1.y5_1[this.p6_1] < 0) {
      this.p6_1 = this.p6_1 + 1 | 0;
    }
  };
  protoOf(Itr).h = function () {
    return this.p6_1 < this.o6_1.b6_1;
  };
  protoOf(Itr).y2 = function () {
    this.t6();
    // Inline function 'kotlin.check' call
    if (!!(this.q6_1 === -1)) {
      // Inline function 'kotlin.collections.Itr.remove.<anonymous>' call
      var message = 'Call next() before removing element from the iterator.';
      throw IllegalStateException_init_$Create$_0(toString_1(message));
    }
    this.o6_1.z4();
    removeEntryAt(this.o6_1, this.q6_1);
    this.q6_1 = -1;
    this.r6_1 = this.o6_1.d6_1;
  };
  protoOf(Itr).t6 = function () {
    if (!(this.o6_1.d6_1 === this.r6_1))
      throw ConcurrentModificationException_init_$Create$();
  };
  function KeysItr(map) {
    Itr.call(this, map);
  }
  protoOf(KeysItr).i = function () {
    this.t6();
    if (this.p6_1 >= this.o6_1.b6_1)
      throw NoSuchElementException_init_$Create$();
    var tmp = this;
    var _unary__edvuaz = this.p6_1;
    this.p6_1 = _unary__edvuaz + 1 | 0;
    tmp.q6_1 = _unary__edvuaz;
    var result = this.o6_1.w5_1[this.q6_1];
    this.s6();
    return result;
  };
  function ValuesItr(map) {
    Itr.call(this, map);
  }
  protoOf(ValuesItr).i = function () {
    this.t6();
    if (this.p6_1 >= this.o6_1.b6_1)
      throw NoSuchElementException_init_$Create$();
    var tmp = this;
    var _unary__edvuaz = this.p6_1;
    this.p6_1 = _unary__edvuaz + 1 | 0;
    tmp.q6_1 = _unary__edvuaz;
    var result = ensureNotNull(this.o6_1.x5_1)[this.q6_1];
    this.s6();
    return result;
  };
  function EntriesItr(map) {
    Itr.call(this, map);
  }
  protoOf(EntriesItr).i = function () {
    this.t6();
    if (this.p6_1 >= this.o6_1.b6_1)
      throw NoSuchElementException_init_$Create$();
    var tmp = this;
    var _unary__edvuaz = this.p6_1;
    this.p6_1 = _unary__edvuaz + 1 | 0;
    tmp.q6_1 = _unary__edvuaz;
    var result = new EntryRef(this.o6_1, this.q6_1);
    this.s6();
    return result;
  };
  protoOf(EntriesItr).g7 = function () {
    if (this.p6_1 >= this.o6_1.b6_1)
      throw NoSuchElementException_init_$Create$();
    var tmp = this;
    var _unary__edvuaz = this.p6_1;
    this.p6_1 = _unary__edvuaz + 1 | 0;
    tmp.q6_1 = _unary__edvuaz;
    // Inline function 'kotlin.hashCode' call
    var tmp0_safe_receiver = this.o6_1.w5_1[this.q6_1];
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : hashCode(tmp0_safe_receiver);
    var tmp_0 = tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs;
    // Inline function 'kotlin.hashCode' call
    var tmp0_safe_receiver_0 = ensureNotNull(this.o6_1.x5_1)[this.q6_1];
    var tmp1_elvis_lhs_0 = tmp0_safe_receiver_0 == null ? null : hashCode(tmp0_safe_receiver_0);
    var result = tmp_0 ^ (tmp1_elvis_lhs_0 == null ? 0 : tmp1_elvis_lhs_0);
    this.s6();
    return result;
  };
  protoOf(EntriesItr).h7 = function (sb) {
    if (this.p6_1 >= this.o6_1.b6_1)
      throw NoSuchElementException_init_$Create$();
    var tmp = this;
    var _unary__edvuaz = this.p6_1;
    this.p6_1 = _unary__edvuaz + 1 | 0;
    tmp.q6_1 = _unary__edvuaz;
    var key = this.o6_1.w5_1[this.q6_1];
    if (equals(key, this.o6_1))
      sb.k7('(this Map)');
    else
      sb.j7(key);
    sb.l7(_Char___init__impl__6a9atx(61));
    var value = ensureNotNull(this.o6_1.x5_1)[this.q6_1];
    if (equals(value, this.o6_1))
      sb.k7('(this Map)');
    else
      sb.j7(value);
    this.s6();
  };
  function EntryRef(map, index) {
    this.g6_1 = map;
    this.h6_1 = index;
    this.i6_1 = this.g6_1.d6_1;
  }
  protoOf(EntryRef).s1 = function () {
    checkForComodification(this);
    return this.g6_1.w5_1[this.h6_1];
  };
  protoOf(EntryRef).t1 = function () {
    checkForComodification(this);
    return ensureNotNull(this.g6_1.x5_1)[this.h6_1];
  };
  protoOf(EntryRef).equals = function (other) {
    var tmp;
    var tmp_0;
    if (!(other == null) ? isInterface(other, Entry) : false) {
      tmp_0 = equals(other.s1(), this.s1());
    } else {
      tmp_0 = false;
    }
    if (tmp_0) {
      tmp = equals(other.t1(), this.t1());
    } else {
      tmp = false;
    }
    return tmp;
  };
  protoOf(EntryRef).hashCode = function () {
    // Inline function 'kotlin.hashCode' call
    var tmp0_safe_receiver = this.s1();
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : hashCode(tmp0_safe_receiver);
    var tmp = tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs;
    // Inline function 'kotlin.hashCode' call
    var tmp0_safe_receiver_0 = this.t1();
    var tmp1_elvis_lhs_0 = tmp0_safe_receiver_0 == null ? null : hashCode(tmp0_safe_receiver_0);
    return tmp ^ (tmp1_elvis_lhs_0 == null ? 0 : tmp1_elvis_lhs_0);
  };
  protoOf(EntryRef).toString = function () {
    return toString_0(this.s1()) + '=' + toString_0(this.t1());
  };
  function InternalHashMap(keysArray, valuesArray, presenceArray, hashArray, maxProbeDistance, length) {
    this.w5_1 = keysArray;
    this.x5_1 = valuesArray;
    this.y5_1 = presenceArray;
    this.z5_1 = hashArray;
    this.a6_1 = maxProbeDistance;
    this.b6_1 = length;
    this.c6_1 = computeShift(Companion_instance_3, _get_hashSize__tftcho(this));
    this.d6_1 = 0;
    this.e6_1 = 0;
    this.f6_1 = false;
  }
  protoOf(InternalHashMap).j = function () {
    return this.e6_1;
  };
  protoOf(InternalHashMap).v1 = function (value) {
    return findValue(this, value) >= 0;
  };
  protoOf(InternalHashMap).w1 = function (key) {
    var index = findKey(this, key);
    if (index < 0)
      return null;
    return ensureNotNull(this.x5_1)[index];
  };
  protoOf(InternalHashMap).v4 = function (key) {
    return findKey(this, key) >= 0;
  };
  protoOf(InternalHashMap).f4 = function (key, value) {
    var index = addKey(this, key);
    var valuesArray = allocateValuesArray(this);
    if (index < 0) {
      var oldValue = valuesArray[(-index | 0) - 1 | 0];
      valuesArray[(-index | 0) - 1 | 0] = value;
      return oldValue;
    } else {
      valuesArray[index] = value;
      return null;
    }
  };
  protoOf(InternalHashMap).g4 = function (from) {
    this.z4();
    putAllEntries(this, from.z1());
  };
  protoOf(InternalHashMap).h4 = function (key) {
    this.z4();
    var index = findKey(this, key);
    if (index < 0)
      return null;
    var oldValue = ensureNotNull(this.x5_1)[index];
    removeEntryAt(this, index);
    return oldValue;
  };
  protoOf(InternalHashMap).a3 = function () {
    this.z4();
    var inductionVariable = 0;
    var last = this.b6_1 - 1 | 0;
    if (inductionVariable <= last)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var hash = this.y5_1[i];
        if (hash >= 0) {
          this.z5_1[hash] = 0;
          this.y5_1[i] = -1;
        }
      }
       while (!(i === last));
    resetRange(this.w5_1, 0, this.b6_1);
    var tmp0_safe_receiver = this.x5_1;
    if (tmp0_safe_receiver == null)
      null;
    else {
      resetRange(tmp0_safe_receiver, 0, this.b6_1);
    }
    this.e6_1 = 0;
    this.b6_1 = 0;
    registerModification(this);
  };
  protoOf(InternalHashMap).equals = function (other) {
    var tmp;
    if (other === this) {
      tmp = true;
    } else {
      var tmp_0;
      if (!(other == null) ? isInterface(other, KtMap) : false) {
        tmp_0 = contentEquals(this, other);
      } else {
        tmp_0 = false;
      }
      tmp = tmp_0;
    }
    return tmp;
  };
  protoOf(InternalHashMap).hashCode = function () {
    var result = 0;
    var it = this.j5();
    while (it.h()) {
      result = result + it.g7() | 0;
    }
    return result;
  };
  protoOf(InternalHashMap).toString = function () {
    var sb = StringBuilder_init_$Create$(2 + imul(this.e6_1, 3) | 0);
    sb.k7('{');
    var i = 0;
    var it = this.j5();
    while (it.h()) {
      if (i > 0) {
        sb.k7(', ');
      }
      it.h7(sb);
      i = i + 1 | 0;
    }
    sb.k7('}');
    return sb.toString();
  };
  protoOf(InternalHashMap).z4 = function () {
    if (this.f6_1)
      throw UnsupportedOperationException_init_$Create$();
  };
  protoOf(InternalHashMap).x4 = function (key) {
    this.z4();
    var index = findKey(this, key);
    if (index < 0)
      return false;
    removeEntryAt(this, index);
    return true;
  };
  protoOf(InternalHashMap).n5 = function (entry) {
    var index = findKey(this, entry.s1());
    if (index < 0)
      return false;
    return equals(ensureNotNull(this.x5_1)[index], entry.t1());
  };
  protoOf(InternalHashMap).m7 = function (entry) {
    return this.n5(isInterface(entry, Entry) ? entry : THROW_CCE());
  };
  protoOf(InternalHashMap).o5 = function (entry) {
    this.z4();
    var index = findKey(this, entry.s1());
    if (index < 0)
      return false;
    if (!equals(ensureNotNull(this.x5_1)[index], entry.t1()))
      return false;
    removeEntryAt(this, index);
    return true;
  };
  protoOf(InternalHashMap).g5 = function (value) {
    this.z4();
    var index = findValue(this, value);
    if (index < 0)
      return false;
    removeEntryAt(this, index);
    return true;
  };
  protoOf(InternalHashMap).y4 = function () {
    return new KeysItr(this);
  };
  protoOf(InternalHashMap).e5 = function () {
    return new ValuesItr(this);
  };
  protoOf(InternalHashMap).j5 = function () {
    return new EntriesItr(this);
  };
  function InternalMap() {
  }
  function LinkedHashMap_init_$Init$($this) {
    HashMap_init_$Init$_0($this);
    LinkedHashMap.call($this);
    return $this;
  }
  function LinkedHashMap_init_$Create$() {
    return LinkedHashMap_init_$Init$(objectCreate(protoOf(LinkedHashMap)));
  }
  function LinkedHashMap_init_$Init$_0(initialCapacity, $this) {
    HashMap_init_$Init$_2(initialCapacity, $this);
    LinkedHashMap.call($this);
    return $this;
  }
  function LinkedHashMap_init_$Create$_0(initialCapacity) {
    return LinkedHashMap_init_$Init$_0(initialCapacity, objectCreate(protoOf(LinkedHashMap)));
  }
  function LinkedHashMap_init_$Init$_1(original, $this) {
    HashMap_init_$Init$_3(original, $this);
    LinkedHashMap.call($this);
    return $this;
  }
  function LinkedHashMap_init_$Create$_1(original) {
    return LinkedHashMap_init_$Init$_1(original, objectCreate(protoOf(LinkedHashMap)));
  }
  protoOf(LinkedHashMap).x2 = function () {
    return this.t4_1.z4();
  };
  function LinkedHashMap() {
  }
  function LinkedHashSet_init_$Init$($this) {
    HashSet_init_$Init$_0($this);
    LinkedHashSet.call($this);
    return $this;
  }
  function LinkedHashSet_init_$Create$() {
    return LinkedHashSet_init_$Init$(objectCreate(protoOf(LinkedHashSet)));
  }
  function LinkedHashSet_init_$Init$_0(elements, $this) {
    HashSet_init_$Init$_1(elements, $this);
    LinkedHashSet.call($this);
    return $this;
  }
  function LinkedHashSet_init_$Create$_0(elements) {
    return LinkedHashSet_init_$Init$_0(elements, objectCreate(protoOf(LinkedHashSet)));
  }
  function LinkedHashSet_init_$Init$_1(initialCapacity, loadFactor, $this) {
    HashSet_init_$Init$_2(initialCapacity, loadFactor, $this);
    LinkedHashSet.call($this);
    return $this;
  }
  function LinkedHashSet_init_$Init$_2(initialCapacity, $this) {
    LinkedHashSet_init_$Init$_1(initialCapacity, 1.0, $this);
    return $this;
  }
  function LinkedHashSet_init_$Create$_1(initialCapacity) {
    return LinkedHashSet_init_$Init$_2(initialCapacity, objectCreate(protoOf(LinkedHashSet)));
  }
  protoOf(LinkedHashSet).x2 = function () {
    return this.v5_1.z4();
  };
  function LinkedHashSet() {
  }
  function RandomAccess() {
  }
  function get_output() {
    _init_properties_console_kt__rfg7jv();
    return output;
  }
  var output;
  function BaseOutput() {
  }
  protoOf(BaseOutput).u7 = function () {
    this.v7('\n');
  };
  protoOf(BaseOutput).w7 = function (message) {
    this.v7(message);
    this.u7();
  };
  function NodeJsOutput(outputStream) {
    BaseOutput.call(this);
    this.x7_1 = outputStream;
  }
  protoOf(NodeJsOutput).v7 = function (message) {
    // Inline function 'kotlin.io.String' call
    var tmp1_elvis_lhs = message == null ? null : toString_1(message);
    var messageString = tmp1_elvis_lhs == null ? 'null' : tmp1_elvis_lhs;
    this.x7_1.write(messageString);
  };
  function BufferedOutputToConsoleLog() {
    BufferedOutput.call(this);
  }
  protoOf(BufferedOutputToConsoleLog).v7 = function (message) {
    // Inline function 'kotlin.io.String' call
    var tmp1_elvis_lhs = message == null ? null : toString_1(message);
    var s = tmp1_elvis_lhs == null ? 'null' : tmp1_elvis_lhs;
    // Inline function 'kotlin.text.nativeLastIndexOf' call
    // Inline function 'kotlin.js.asDynamic' call
    var i = s.lastIndexOf('\n', 0);
    if (i >= 0) {
      var tmp = this;
      var tmp_0 = this.z7_1;
      // Inline function 'kotlin.text.substring' call
      // Inline function 'kotlin.js.asDynamic' call
      tmp.z7_1 = tmp_0 + s.substring(0, i);
      this.a8();
      var tmp6 = s;
      // Inline function 'kotlin.text.substring' call
      var startIndex = i + 1 | 0;
      // Inline function 'kotlin.js.asDynamic' call
      s = tmp6.substring(startIndex);
    }
    this.z7_1 = this.z7_1 + s;
  };
  protoOf(BufferedOutputToConsoleLog).a8 = function () {
    console.log(this.z7_1);
    this.z7_1 = '';
  };
  function BufferedOutput() {
    BaseOutput.call(this);
    this.z7_1 = '';
  }
  protoOf(BufferedOutput).v7 = function (message) {
    var tmp = this;
    var tmp_0 = this.z7_1;
    // Inline function 'kotlin.io.String' call
    var tmp1_elvis_lhs = message == null ? null : toString_1(message);
    tmp.z7_1 = tmp_0 + (tmp1_elvis_lhs == null ? 'null' : tmp1_elvis_lhs);
  };
  function println(message) {
    _init_properties_console_kt__rfg7jv();
    get_output().w7(message);
  }
  var properties_initialized_console_kt_gll9dl;
  function _init_properties_console_kt__rfg7jv() {
    if (!properties_initialized_console_kt_gll9dl) {
      properties_initialized_console_kt_gll9dl = true;
      // Inline function 'kotlin.run' call
      // Inline function 'kotlin.io.output.<anonymous>' call
      var isNode = typeof process !== 'undefined' && process.versions && !!process.versions.node;
      output = isNode ? new NodeJsOutput(process.stdout) : new BufferedOutputToConsoleLog();
    }
  }
  function CoroutineImpl(resultContinuation) {
    InterceptedCoroutine.call(this);
    this.c8_1 = resultContinuation;
    this.d8_1 = 0;
    this.e8_1 = 0;
    this.f8_1 = null;
    this.g8_1 = null;
    this.h8_1 = null;
    var tmp = this;
    var tmp0_safe_receiver = this.c8_1;
    tmp.i8_1 = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.j8();
  }
  protoOf(CoroutineImpl).j8 = function () {
    return ensureNotNull(this.i8_1);
  };
  protoOf(CoroutineImpl).k8 = function (result) {
    var current = this;
    // Inline function 'kotlin.Result.getOrNull' call
    var tmp;
    if (_Result___get_isFailure__impl__jpiriv(result)) {
      tmp = null;
    } else {
      var tmp_0 = _Result___get_value__impl__bjfvqg(result);
      tmp = (tmp_0 == null ? true : !(tmp_0 == null)) ? tmp_0 : THROW_CCE();
    }
    var currentResult = tmp;
    var currentException = Result__exceptionOrNull_impl_p6xea9(result);
    while (true) {
      // Inline function 'kotlin.with' call
      // Inline function 'kotlin.coroutines.CoroutineImpl.resumeWith.<anonymous>' call
      var $this$with = current;
      if (currentException == null) {
        $this$with.f8_1 = currentResult;
      } else {
        $this$with.d8_1 = $this$with.e8_1;
        $this$with.g8_1 = currentException;
      }
      try {
        var outcome = $this$with.l8();
        if (outcome === get_COROUTINE_SUSPENDED())
          return Unit_instance;
        currentResult = outcome;
        currentException = null;
      } catch ($p) {
        var exception = $p;
        currentResult = null;
        // Inline function 'kotlin.js.unsafeCast' call
        currentException = exception;
      }
      $this$with.n8();
      var completion = ensureNotNull($this$with.c8_1);
      if (completion instanceof CoroutineImpl) {
        current = completion;
      } else {
        if (!(currentException == null)) {
          // Inline function 'kotlin.coroutines.resumeWithException' call
          // Inline function 'kotlin.Companion.failure' call
          var exception_0 = ensureNotNull(currentException);
          var tmp$ret$2 = _Result___init__impl__xyqfz8(createFailure(exception_0));
          completion.o8(tmp$ret$2);
        } else {
          // Inline function 'kotlin.coroutines.resume' call
          // Inline function 'kotlin.Companion.success' call
          var value = currentResult;
          var tmp$ret$4 = _Result___init__impl__xyqfz8(value);
          completion.o8(tmp$ret$4);
        }
        return Unit_instance;
      }
    }
  };
  protoOf(CoroutineImpl).o8 = function (result) {
    return this.k8(result);
  };
  function CompletedContinuation() {
  }
  protoOf(CompletedContinuation).j8 = function () {
    var message = 'This continuation is already complete';
    throw IllegalStateException_init_$Create$_0(toString_1(message));
  };
  protoOf(CompletedContinuation).k8 = function (result) {
    // Inline function 'kotlin.error' call
    var message = 'This continuation is already complete';
    throw IllegalStateException_init_$Create$_0(toString_1(message));
  };
  protoOf(CompletedContinuation).o8 = function (result) {
    return this.k8(result);
  };
  protoOf(CompletedContinuation).toString = function () {
    return 'This continuation is already complete';
  };
  var CompletedContinuation_instance;
  function CompletedContinuation_getInstance() {
    return CompletedContinuation_instance;
  }
  function InterceptedCoroutine() {
    this.m8_1 = null;
  }
  protoOf(InterceptedCoroutine).p8 = function () {
    var tmp0_elvis_lhs = this.m8_1;
    var tmp;
    if (tmp0_elvis_lhs == null) {
      var tmp1_safe_receiver = this.j8().q8(Key_instance);
      var tmp2_elvis_lhs = tmp1_safe_receiver == null ? null : tmp1_safe_receiver.r8(this);
      // Inline function 'kotlin.also' call
      var this_0 = tmp2_elvis_lhs == null ? this : tmp2_elvis_lhs;
      // Inline function 'kotlin.coroutines.InterceptedCoroutine.intercepted.<anonymous>' call
      this.m8_1 = this_0;
      tmp = this_0;
    } else {
      tmp = tmp0_elvis_lhs;
    }
    return tmp;
  };
  protoOf(InterceptedCoroutine).n8 = function () {
    var intercepted = this.m8_1;
    if (!(intercepted == null) && !(intercepted === this)) {
      ensureNotNull(this.j8().q8(Key_instance)).s8(intercepted);
    }
    this.m8_1 = CompletedContinuation_instance;
  };
  function CancellationException_init_$Init$($this) {
    IllegalStateException_init_$Init$($this);
    CancellationException.call($this);
    return $this;
  }
  function CancellationException_init_$Create$() {
    var tmp = CancellationException_init_$Init$(objectCreate(protoOf(CancellationException)));
    captureStack(tmp, CancellationException_init_$Create$);
    return tmp;
  }
  function CancellationException_init_$Init$_0(message, $this) {
    IllegalStateException_init_$Init$_0(message, $this);
    CancellationException.call($this);
    return $this;
  }
  function CancellationException_init_$Create$_0(message) {
    var tmp = CancellationException_init_$Init$_0(message, objectCreate(protoOf(CancellationException)));
    captureStack(tmp, CancellationException_init_$Create$_0);
    return tmp;
  }
  function CancellationException_init_$Init$_1(message, cause, $this) {
    IllegalStateException_init_$Init$_1(message, cause, $this);
    CancellationException.call($this);
    return $this;
  }
  function CancellationException() {
    captureStack(this, CancellationException);
  }
  function intercepted(_this__u8e3s4) {
    var tmp0_safe_receiver = _this__u8e3s4 instanceof InterceptedCoroutine ? _this__u8e3s4 : null;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.p8();
    return tmp1_elvis_lhs == null ? _this__u8e3s4 : tmp1_elvis_lhs;
  }
  function createCoroutineUnintercepted(_this__u8e3s4, receiver, completion) {
    // Inline function 'kotlin.coroutines.intrinsics.createCoroutineFromSuspendFunction' call
    return new createCoroutineUnintercepted$$inlined$createCoroutineFromSuspendFunction$1(completion, _this__u8e3s4, receiver, completion);
  }
  function invokeSuspendSuperTypeWithReceiver(_this__u8e3s4, receiver, completion) {
    throw new NotImplementedError('It is intrinsic method');
  }
  function startCoroutineUninterceptedOrReturnNonGeneratorVersion(_this__u8e3s4, receiver, completion) {
    var tmp;
    if (!(completion instanceof InterceptedCoroutine)) {
      tmp = createSimpleCoroutineForSuspendFunction(completion);
    } else {
      tmp = completion;
    }
    var wrappedCompletion = tmp;
    // Inline function 'kotlin.js.asDynamic' call
    var a = _this__u8e3s4;
    return typeof a === 'function' ? a(receiver, wrappedCompletion) : _this__u8e3s4.v8(receiver, wrappedCompletion);
  }
  function createSimpleCoroutineForSuspendFunction(completion) {
    return new createSimpleCoroutineForSuspendFunction$1(completion);
  }
  function createCoroutineUnintercepted$$inlined$createCoroutineFromSuspendFunction$1($completion, $this_createCoroutineUnintercepted, $receiver, $completion$1) {
    this.e9_1 = $this_createCoroutineUnintercepted;
    this.f9_1 = $receiver;
    this.g9_1 = $completion$1;
    CoroutineImpl.call(this, isInterface($completion, Continuation) ? $completion : THROW_CCE());
  }
  protoOf(createCoroutineUnintercepted$$inlined$createCoroutineFromSuspendFunction$1).l8 = function () {
    if (this.g8_1 != null)
      throw this.g8_1;
    // Inline function 'kotlin.coroutines.intrinsics.createCoroutineUnintercepted.<anonymous>' call
    // Inline function 'kotlin.js.asDynamic' call
    var a = this.e9_1;
    return typeof a === 'function' ? a(this.f9_1, this.g9_1) : this.e9_1.v8(this.f9_1, this.g9_1);
  };
  function createSimpleCoroutineForSuspendFunction$1($completion) {
    CoroutineImpl.call(this, isInterface($completion, Continuation) ? $completion : THROW_CCE());
  }
  protoOf(createSimpleCoroutineForSuspendFunction$1).l8 = function () {
    if (this.g8_1 != null)
      throw this.g8_1;
    return this.f8_1;
  };
  function Exception_init_$Init$($this) {
    extendThrowable($this);
    Exception.call($this);
    return $this;
  }
  function Exception_init_$Create$() {
    var tmp = Exception_init_$Init$(objectCreate(protoOf(Exception)));
    captureStack(tmp, Exception_init_$Create$);
    return tmp;
  }
  function Exception_init_$Init$_0(message, $this) {
    extendThrowable($this, message);
    Exception.call($this);
    return $this;
  }
  function Exception_init_$Create$_0(message) {
    var tmp = Exception_init_$Init$_0(message, objectCreate(protoOf(Exception)));
    captureStack(tmp, Exception_init_$Create$_0);
    return tmp;
  }
  function Exception_init_$Init$_1(message, cause, $this) {
    extendThrowable($this, message, cause);
    Exception.call($this);
    return $this;
  }
  function Exception() {
    captureStack(this, Exception);
  }
  function IllegalArgumentException_init_$Init$($this) {
    RuntimeException_init_$Init$($this);
    IllegalArgumentException.call($this);
    return $this;
  }
  function IllegalArgumentException_init_$Create$() {
    var tmp = IllegalArgumentException_init_$Init$(objectCreate(protoOf(IllegalArgumentException)));
    captureStack(tmp, IllegalArgumentException_init_$Create$);
    return tmp;
  }
  function IllegalArgumentException_init_$Init$_0(message, $this) {
    RuntimeException_init_$Init$_0(message, $this);
    IllegalArgumentException.call($this);
    return $this;
  }
  function IllegalArgumentException_init_$Create$_0(message) {
    var tmp = IllegalArgumentException_init_$Init$_0(message, objectCreate(protoOf(IllegalArgumentException)));
    captureStack(tmp, IllegalArgumentException_init_$Create$_0);
    return tmp;
  }
  function IllegalArgumentException_init_$Init$_1(message, cause, $this) {
    RuntimeException_init_$Init$_1(message, cause, $this);
    IllegalArgumentException.call($this);
    return $this;
  }
  function IllegalArgumentException_init_$Create$_1(message, cause) {
    var tmp = IllegalArgumentException_init_$Init$_1(message, cause, objectCreate(protoOf(IllegalArgumentException)));
    captureStack(tmp, IllegalArgumentException_init_$Create$_1);
    return tmp;
  }
  function IllegalArgumentException() {
    captureStack(this, IllegalArgumentException);
  }
  function IllegalStateException_init_$Init$($this) {
    RuntimeException_init_$Init$($this);
    IllegalStateException.call($this);
    return $this;
  }
  function IllegalStateException_init_$Create$() {
    var tmp = IllegalStateException_init_$Init$(objectCreate(protoOf(IllegalStateException)));
    captureStack(tmp, IllegalStateException_init_$Create$);
    return tmp;
  }
  function IllegalStateException_init_$Init$_0(message, $this) {
    RuntimeException_init_$Init$_0(message, $this);
    IllegalStateException.call($this);
    return $this;
  }
  function IllegalStateException_init_$Create$_0(message) {
    var tmp = IllegalStateException_init_$Init$_0(message, objectCreate(protoOf(IllegalStateException)));
    captureStack(tmp, IllegalStateException_init_$Create$_0);
    return tmp;
  }
  function IllegalStateException_init_$Init$_1(message, cause, $this) {
    RuntimeException_init_$Init$_1(message, cause, $this);
    IllegalStateException.call($this);
    return $this;
  }
  function IllegalStateException_init_$Create$_1(message, cause) {
    var tmp = IllegalStateException_init_$Init$_1(message, cause, objectCreate(protoOf(IllegalStateException)));
    captureStack(tmp, IllegalStateException_init_$Create$_1);
    return tmp;
  }
  function IllegalStateException() {
    captureStack(this, IllegalStateException);
  }
  function UnsupportedOperationException_init_$Init$($this) {
    RuntimeException_init_$Init$($this);
    UnsupportedOperationException.call($this);
    return $this;
  }
  function UnsupportedOperationException_init_$Create$() {
    var tmp = UnsupportedOperationException_init_$Init$(objectCreate(protoOf(UnsupportedOperationException)));
    captureStack(tmp, UnsupportedOperationException_init_$Create$);
    return tmp;
  }
  function UnsupportedOperationException_init_$Init$_0(message, $this) {
    RuntimeException_init_$Init$_0(message, $this);
    UnsupportedOperationException.call($this);
    return $this;
  }
  function UnsupportedOperationException_init_$Create$_0(message) {
    var tmp = UnsupportedOperationException_init_$Init$_0(message, objectCreate(protoOf(UnsupportedOperationException)));
    captureStack(tmp, UnsupportedOperationException_init_$Create$_0);
    return tmp;
  }
  function UnsupportedOperationException() {
    captureStack(this, UnsupportedOperationException);
  }
  function RuntimeException_init_$Init$($this) {
    Exception_init_$Init$($this);
    RuntimeException.call($this);
    return $this;
  }
  function RuntimeException_init_$Create$() {
    var tmp = RuntimeException_init_$Init$(objectCreate(protoOf(RuntimeException)));
    captureStack(tmp, RuntimeException_init_$Create$);
    return tmp;
  }
  function RuntimeException_init_$Init$_0(message, $this) {
    Exception_init_$Init$_0(message, $this);
    RuntimeException.call($this);
    return $this;
  }
  function RuntimeException_init_$Create$_0(message) {
    var tmp = RuntimeException_init_$Init$_0(message, objectCreate(protoOf(RuntimeException)));
    captureStack(tmp, RuntimeException_init_$Create$_0);
    return tmp;
  }
  function RuntimeException_init_$Init$_1(message, cause, $this) {
    Exception_init_$Init$_1(message, cause, $this);
    RuntimeException.call($this);
    return $this;
  }
  function RuntimeException_init_$Create$_1(message, cause) {
    var tmp = RuntimeException_init_$Init$_1(message, cause, objectCreate(protoOf(RuntimeException)));
    captureStack(tmp, RuntimeException_init_$Create$_1);
    return tmp;
  }
  function RuntimeException() {
    captureStack(this, RuntimeException);
  }
  function NoSuchElementException_init_$Init$($this) {
    RuntimeException_init_$Init$($this);
    NoSuchElementException.call($this);
    return $this;
  }
  function NoSuchElementException_init_$Create$() {
    var tmp = NoSuchElementException_init_$Init$(objectCreate(protoOf(NoSuchElementException)));
    captureStack(tmp, NoSuchElementException_init_$Create$);
    return tmp;
  }
  function NoSuchElementException_init_$Init$_0(message, $this) {
    RuntimeException_init_$Init$_0(message, $this);
    NoSuchElementException.call($this);
    return $this;
  }
  function NoSuchElementException_init_$Create$_0(message) {
    var tmp = NoSuchElementException_init_$Init$_0(message, objectCreate(protoOf(NoSuchElementException)));
    captureStack(tmp, NoSuchElementException_init_$Create$_0);
    return tmp;
  }
  function NoSuchElementException() {
    captureStack(this, NoSuchElementException);
  }
  function Error_init_$Init$($this) {
    extendThrowable($this);
    Error_0.call($this);
    return $this;
  }
  function Error_init_$Create$() {
    var tmp = Error_init_$Init$(objectCreate(protoOf(Error_0)));
    captureStack(tmp, Error_init_$Create$);
    return tmp;
  }
  function Error_init_$Init$_0(message, $this) {
    extendThrowable($this, message);
    Error_0.call($this);
    return $this;
  }
  function Error_init_$Init$_1(message, cause, $this) {
    extendThrowable($this, message, cause);
    Error_0.call($this);
    return $this;
  }
  function Error_0() {
    captureStack(this, Error_0);
  }
  function IndexOutOfBoundsException_init_$Init$($this) {
    RuntimeException_init_$Init$($this);
    IndexOutOfBoundsException.call($this);
    return $this;
  }
  function IndexOutOfBoundsException_init_$Create$() {
    var tmp = IndexOutOfBoundsException_init_$Init$(objectCreate(protoOf(IndexOutOfBoundsException)));
    captureStack(tmp, IndexOutOfBoundsException_init_$Create$);
    return tmp;
  }
  function IndexOutOfBoundsException_init_$Init$_0(message, $this) {
    RuntimeException_init_$Init$_0(message, $this);
    IndexOutOfBoundsException.call($this);
    return $this;
  }
  function IndexOutOfBoundsException_init_$Create$_0(message) {
    var tmp = IndexOutOfBoundsException_init_$Init$_0(message, objectCreate(protoOf(IndexOutOfBoundsException)));
    captureStack(tmp, IndexOutOfBoundsException_init_$Create$_0);
    return tmp;
  }
  function IndexOutOfBoundsException() {
    captureStack(this, IndexOutOfBoundsException);
  }
  function ConcurrentModificationException_init_$Init$($this) {
    RuntimeException_init_$Init$($this);
    ConcurrentModificationException.call($this);
    return $this;
  }
  function ConcurrentModificationException_init_$Create$() {
    var tmp = ConcurrentModificationException_init_$Init$(objectCreate(protoOf(ConcurrentModificationException)));
    captureStack(tmp, ConcurrentModificationException_init_$Create$);
    return tmp;
  }
  function ConcurrentModificationException_init_$Init$_0(message, $this) {
    RuntimeException_init_$Init$_0(message, $this);
    ConcurrentModificationException.call($this);
    return $this;
  }
  function ConcurrentModificationException_init_$Create$_0(message) {
    var tmp = ConcurrentModificationException_init_$Init$_0(message, objectCreate(protoOf(ConcurrentModificationException)));
    captureStack(tmp, ConcurrentModificationException_init_$Create$_0);
    return tmp;
  }
  function ConcurrentModificationException() {
    captureStack(this, ConcurrentModificationException);
  }
  function NumberFormatException_init_$Init$($this) {
    IllegalArgumentException_init_$Init$($this);
    NumberFormatException.call($this);
    return $this;
  }
  function NumberFormatException_init_$Create$() {
    var tmp = NumberFormatException_init_$Init$(objectCreate(protoOf(NumberFormatException)));
    captureStack(tmp, NumberFormatException_init_$Create$);
    return tmp;
  }
  function NumberFormatException_init_$Init$_0(message, $this) {
    IllegalArgumentException_init_$Init$_0(message, $this);
    NumberFormatException.call($this);
    return $this;
  }
  function NumberFormatException_init_$Create$_0(message) {
    var tmp = NumberFormatException_init_$Init$_0(message, objectCreate(protoOf(NumberFormatException)));
    captureStack(tmp, NumberFormatException_init_$Create$_0);
    return tmp;
  }
  function NumberFormatException() {
    captureStack(this, NumberFormatException);
  }
  function ArithmeticException_init_$Init$($this) {
    RuntimeException_init_$Init$($this);
    ArithmeticException.call($this);
    return $this;
  }
  function ArithmeticException_init_$Create$() {
    var tmp = ArithmeticException_init_$Init$(objectCreate(protoOf(ArithmeticException)));
    captureStack(tmp, ArithmeticException_init_$Create$);
    return tmp;
  }
  function ArithmeticException_init_$Init$_0(message, $this) {
    RuntimeException_init_$Init$_0(message, $this);
    ArithmeticException.call($this);
    return $this;
  }
  function ArithmeticException_init_$Create$_0(message) {
    var tmp = ArithmeticException_init_$Init$_0(message, objectCreate(protoOf(ArithmeticException)));
    captureStack(tmp, ArithmeticException_init_$Create$_0);
    return tmp;
  }
  function ArithmeticException() {
    captureStack(this, ArithmeticException);
  }
  function NullPointerException_init_$Init$($this) {
    RuntimeException_init_$Init$($this);
    NullPointerException.call($this);
    return $this;
  }
  function NullPointerException_init_$Create$() {
    var tmp = NullPointerException_init_$Init$(objectCreate(protoOf(NullPointerException)));
    captureStack(tmp, NullPointerException_init_$Create$);
    return tmp;
  }
  function NullPointerException() {
    captureStack(this, NullPointerException);
  }
  function NoWhenBranchMatchedException_init_$Init$($this) {
    RuntimeException_init_$Init$($this);
    NoWhenBranchMatchedException.call($this);
    return $this;
  }
  function NoWhenBranchMatchedException_init_$Create$() {
    var tmp = NoWhenBranchMatchedException_init_$Init$(objectCreate(protoOf(NoWhenBranchMatchedException)));
    captureStack(tmp, NoWhenBranchMatchedException_init_$Create$);
    return tmp;
  }
  function NoWhenBranchMatchedException() {
    captureStack(this, NoWhenBranchMatchedException);
  }
  function ClassCastException_init_$Init$($this) {
    RuntimeException_init_$Init$($this);
    ClassCastException.call($this);
    return $this;
  }
  function ClassCastException_init_$Create$() {
    var tmp = ClassCastException_init_$Init$(objectCreate(protoOf(ClassCastException)));
    captureStack(tmp, ClassCastException_init_$Create$);
    return tmp;
  }
  function ClassCastException() {
    captureStack(this, ClassCastException);
  }
  function UninitializedPropertyAccessException_init_$Init$($this) {
    RuntimeException_init_$Init$($this);
    UninitializedPropertyAccessException.call($this);
    return $this;
  }
  function UninitializedPropertyAccessException_init_$Create$() {
    var tmp = UninitializedPropertyAccessException_init_$Init$(objectCreate(protoOf(UninitializedPropertyAccessException)));
    captureStack(tmp, UninitializedPropertyAccessException_init_$Create$);
    return tmp;
  }
  function UninitializedPropertyAccessException_init_$Init$_0(message, $this) {
    RuntimeException_init_$Init$_0(message, $this);
    UninitializedPropertyAccessException.call($this);
    return $this;
  }
  function UninitializedPropertyAccessException_init_$Create$_0(message) {
    var tmp = UninitializedPropertyAccessException_init_$Init$_0(message, objectCreate(protoOf(UninitializedPropertyAccessException)));
    captureStack(tmp, UninitializedPropertyAccessException_init_$Create$_0);
    return tmp;
  }
  function UninitializedPropertyAccessException() {
    captureStack(this, UninitializedPropertyAccessException);
  }
  function lazy(initializer) {
    return new UnsafeLazyImpl(initializer);
  }
  function fillFrom(src, dst) {
    var srcLen = src.length;
    var dstLen = dst.length;
    var index = 0;
    // Inline function 'kotlin.js.unsafeCast' call
    var arr = dst;
    while (index < srcLen && index < dstLen) {
      var tmp = index;
      var _unary__edvuaz = index;
      index = _unary__edvuaz + 1 | 0;
      arr[tmp] = src[_unary__edvuaz];
    }
    return dst;
  }
  function arrayCopyResize(source, newSize, defaultValue) {
    // Inline function 'kotlin.js.unsafeCast' call
    var result = source.slice(0, newSize);
    // Inline function 'kotlin.copyArrayType' call
    if (source.$type$ !== undefined) {
      result.$type$ = source.$type$;
    }
    var index = source.length;
    if (newSize > index) {
      // Inline function 'kotlin.js.asDynamic' call
      result.length = newSize;
      while (index < newSize) {
        var _unary__edvuaz = index;
        index = _unary__edvuaz + 1 | 0;
        result[_unary__edvuaz] = defaultValue;
      }
    }
    return result;
  }
  function roundToInt(_this__u8e3s4) {
    var tmp;
    if (isNaN_0(_this__u8e3s4)) {
      throw IllegalArgumentException_init_$Create$_0('Cannot round NaN value.');
    } else if (_this__u8e3s4 > 2147483647) {
      tmp = 2147483647;
    } else if (_this__u8e3s4 < -2147483648) {
      tmp = -2147483648;
    } else {
      tmp = numberToInt(Math.round(_this__u8e3s4));
    }
    return tmp;
  }
  function round(x) {
    if (!(x % 0.5 === 0.0)) {
      return Math.round(x);
    }
    // Inline function 'kotlin.math.floor' call
    var floor = Math.floor(x);
    var tmp;
    if (floor % 2 === 0.0) {
      tmp = floor;
    } else {
      // Inline function 'kotlin.math.ceil' call
      tmp = Math.ceil(x);
    }
    return tmp;
  }
  var INV_2_26;
  var INV_2_53;
  function defaultPlatformRandom() {
    _init_properties_PlatformRandom_kt__6kjv62();
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp$ret$0 = Math.random() * Math.pow(2, 32) | 0;
    return Random_0(tmp$ret$0);
  }
  var properties_initialized_PlatformRandom_kt_uibhw8;
  function _init_properties_PlatformRandom_kt__6kjv62() {
    if (!properties_initialized_PlatformRandom_kt_uibhw8) {
      properties_initialized_PlatformRandom_kt_uibhw8 = true;
      // Inline function 'kotlin.math.pow' call
      INV_2_26 = Math.pow(2.0, -26);
      // Inline function 'kotlin.math.pow' call
      INV_2_53 = Math.pow(2.0, -53);
    }
  }
  function get_js(_this__u8e3s4) {
    return (_this__u8e3s4 instanceof KClassImpl ? _this__u8e3s4 : THROW_CCE()).q9();
  }
  function KClass() {
  }
  function KClassImpl(jClass) {
    this.p9_1 = jClass;
  }
  protoOf(KClassImpl).q9 = function () {
    return this.p9_1;
  };
  protoOf(KClassImpl).equals = function (other) {
    var tmp;
    if (other instanceof NothingKClassImpl) {
      tmp = false;
    } else {
      if (other instanceof ErrorKClass) {
        tmp = false;
      } else {
        if (other instanceof KClassImpl) {
          tmp = equals(this.q9(), other.q9());
        } else {
          tmp = false;
        }
      }
    }
    return tmp;
  };
  protoOf(KClassImpl).hashCode = function () {
    var tmp0_safe_receiver = this.r9();
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : getStringHashCode(tmp0_safe_receiver);
    return tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs;
  };
  protoOf(KClassImpl).toString = function () {
    return 'class ' + this.r9();
  };
  function NothingKClassImpl() {
    NothingKClassImpl_instance = this;
    KClassImpl.call(this, Object);
    this.t9_1 = 'Nothing';
  }
  protoOf(NothingKClassImpl).r9 = function () {
    return this.t9_1;
  };
  protoOf(NothingKClassImpl).q9 = function () {
    throw UnsupportedOperationException_init_$Create$_0("There's no native JS class for Nothing type");
  };
  protoOf(NothingKClassImpl).equals = function (other) {
    return other === this;
  };
  protoOf(NothingKClassImpl).hashCode = function () {
    return 0;
  };
  var NothingKClassImpl_instance;
  function NothingKClassImpl_getInstance() {
    if (NothingKClassImpl_instance == null)
      new NothingKClassImpl();
    return NothingKClassImpl_instance;
  }
  function ErrorKClass() {
  }
  protoOf(ErrorKClass).r9 = function () {
    var message = 'Unknown simpleName for ErrorKClass';
    throw IllegalStateException_init_$Create$_0(toString_1(message));
  };
  protoOf(ErrorKClass).equals = function (other) {
    return other === this;
  };
  protoOf(ErrorKClass).hashCode = function () {
    return 0;
  };
  function PrimitiveKClassImpl(jClass, givenSimpleName, isInstanceFunction) {
    KClassImpl.call(this, jClass);
    this.v9_1 = givenSimpleName;
    this.w9_1 = isInstanceFunction;
  }
  protoOf(PrimitiveKClassImpl).equals = function (other) {
    if (!(other instanceof PrimitiveKClassImpl))
      return false;
    return protoOf(KClassImpl).equals.call(this, other) && this.v9_1 === other.v9_1;
  };
  protoOf(PrimitiveKClassImpl).r9 = function () {
    return this.v9_1;
  };
  function SimpleKClassImpl(jClass) {
    KClassImpl.call(this, jClass);
    var tmp = this;
    // Inline function 'kotlin.js.asDynamic' call
    var tmp0_safe_receiver = jClass.$metadata$;
    // Inline function 'kotlin.js.unsafeCast' call
    tmp.y9_1 = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.simpleName;
  }
  protoOf(SimpleKClassImpl).r9 = function () {
    return this.y9_1;
  };
  function KProperty1() {
  }
  function KMutableProperty1() {
  }
  function get_functionClasses() {
    _init_properties_primitives_kt__3fums4();
    return functionClasses;
  }
  var functionClasses;
  function PrimitiveClasses$anyClass$lambda(it) {
    return !(it == null);
  }
  function PrimitiveClasses$numberClass$lambda(it) {
    return isNumber(it);
  }
  function PrimitiveClasses$booleanClass$lambda(it) {
    return !(it == null) ? typeof it === 'boolean' : false;
  }
  function PrimitiveClasses$byteClass$lambda(it) {
    return !(it == null) ? typeof it === 'number' : false;
  }
  function PrimitiveClasses$shortClass$lambda(it) {
    return !(it == null) ? typeof it === 'number' : false;
  }
  function PrimitiveClasses$intClass$lambda(it) {
    return !(it == null) ? typeof it === 'number' : false;
  }
  function PrimitiveClasses$floatClass$lambda(it) {
    return !(it == null) ? typeof it === 'number' : false;
  }
  function PrimitiveClasses$doubleClass$lambda(it) {
    return !(it == null) ? typeof it === 'number' : false;
  }
  function PrimitiveClasses$arrayClass$lambda(it) {
    return !(it == null) ? isArray(it) : false;
  }
  function PrimitiveClasses$stringClass$lambda(it) {
    return !(it == null) ? typeof it === 'string' : false;
  }
  function PrimitiveClasses$throwableClass$lambda(it) {
    return it instanceof Error;
  }
  function PrimitiveClasses$booleanArrayClass$lambda(it) {
    return !(it == null) ? isBooleanArray(it) : false;
  }
  function PrimitiveClasses$charArrayClass$lambda(it) {
    return !(it == null) ? isCharArray(it) : false;
  }
  function PrimitiveClasses$byteArrayClass$lambda(it) {
    return !(it == null) ? isByteArray(it) : false;
  }
  function PrimitiveClasses$shortArrayClass$lambda(it) {
    return !(it == null) ? isShortArray(it) : false;
  }
  function PrimitiveClasses$intArrayClass$lambda(it) {
    return !(it == null) ? isIntArray(it) : false;
  }
  function PrimitiveClasses$longArrayClass$lambda(it) {
    return !(it == null) ? isLongArray(it) : false;
  }
  function PrimitiveClasses$floatArrayClass$lambda(it) {
    return !(it == null) ? isFloatArray(it) : false;
  }
  function PrimitiveClasses$doubleArrayClass$lambda(it) {
    return !(it == null) ? isDoubleArray(it) : false;
  }
  function PrimitiveClasses$functionClass$lambda($arity) {
    return function (it) {
      var tmp;
      if (typeof it === 'function') {
        // Inline function 'kotlin.js.asDynamic' call
        tmp = it.length === $arity;
      } else {
        tmp = false;
      }
      return tmp;
    };
  }
  function PrimitiveClasses() {
    PrimitiveClasses_instance = this;
    var tmp = this;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp_0 = Object;
    tmp.anyClass = new PrimitiveKClassImpl(tmp_0, 'Any', PrimitiveClasses$anyClass$lambda);
    var tmp_1 = this;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp_2 = Number;
    tmp_1.numberClass = new PrimitiveKClassImpl(tmp_2, 'Number', PrimitiveClasses$numberClass$lambda);
    this.nothingClass = NothingKClassImpl_getInstance();
    var tmp_3 = this;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp_4 = Boolean;
    tmp_3.booleanClass = new PrimitiveKClassImpl(tmp_4, 'Boolean', PrimitiveClasses$booleanClass$lambda);
    var tmp_5 = this;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp_6 = Number;
    tmp_5.byteClass = new PrimitiveKClassImpl(tmp_6, 'Byte', PrimitiveClasses$byteClass$lambda);
    var tmp_7 = this;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp_8 = Number;
    tmp_7.shortClass = new PrimitiveKClassImpl(tmp_8, 'Short', PrimitiveClasses$shortClass$lambda);
    var tmp_9 = this;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp_10 = Number;
    tmp_9.intClass = new PrimitiveKClassImpl(tmp_10, 'Int', PrimitiveClasses$intClass$lambda);
    var tmp_11 = this;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp_12 = Number;
    tmp_11.floatClass = new PrimitiveKClassImpl(tmp_12, 'Float', PrimitiveClasses$floatClass$lambda);
    var tmp_13 = this;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp_14 = Number;
    tmp_13.doubleClass = new PrimitiveKClassImpl(tmp_14, 'Double', PrimitiveClasses$doubleClass$lambda);
    var tmp_15 = this;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp_16 = Array;
    tmp_15.arrayClass = new PrimitiveKClassImpl(tmp_16, 'Array', PrimitiveClasses$arrayClass$lambda);
    var tmp_17 = this;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp_18 = String;
    tmp_17.stringClass = new PrimitiveKClassImpl(tmp_18, 'String', PrimitiveClasses$stringClass$lambda);
    var tmp_19 = this;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp_20 = Error;
    tmp_19.throwableClass = new PrimitiveKClassImpl(tmp_20, 'Throwable', PrimitiveClasses$throwableClass$lambda);
    var tmp_21 = this;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp_22 = Array;
    tmp_21.booleanArrayClass = new PrimitiveKClassImpl(tmp_22, 'BooleanArray', PrimitiveClasses$booleanArrayClass$lambda);
    var tmp_23 = this;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp_24 = Uint16Array;
    tmp_23.charArrayClass = new PrimitiveKClassImpl(tmp_24, 'CharArray', PrimitiveClasses$charArrayClass$lambda);
    var tmp_25 = this;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp_26 = Int8Array;
    tmp_25.byteArrayClass = new PrimitiveKClassImpl(tmp_26, 'ByteArray', PrimitiveClasses$byteArrayClass$lambda);
    var tmp_27 = this;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp_28 = Int16Array;
    tmp_27.shortArrayClass = new PrimitiveKClassImpl(tmp_28, 'ShortArray', PrimitiveClasses$shortArrayClass$lambda);
    var tmp_29 = this;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp_30 = Int32Array;
    tmp_29.intArrayClass = new PrimitiveKClassImpl(tmp_30, 'IntArray', PrimitiveClasses$intArrayClass$lambda);
    var tmp_31 = this;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp_32 = Array;
    tmp_31.longArrayClass = new PrimitiveKClassImpl(tmp_32, 'LongArray', PrimitiveClasses$longArrayClass$lambda);
    var tmp_33 = this;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp_34 = Float32Array;
    tmp_33.floatArrayClass = new PrimitiveKClassImpl(tmp_34, 'FloatArray', PrimitiveClasses$floatArrayClass$lambda);
    var tmp_35 = this;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp_36 = Float64Array;
    tmp_35.doubleArrayClass = new PrimitiveKClassImpl(tmp_36, 'DoubleArray', PrimitiveClasses$doubleArrayClass$lambda);
  }
  protoOf(PrimitiveClasses).z9 = function () {
    return this.anyClass;
  };
  protoOf(PrimitiveClasses).aa = function () {
    return this.numberClass;
  };
  protoOf(PrimitiveClasses).ba = function () {
    return this.nothingClass;
  };
  protoOf(PrimitiveClasses).ca = function () {
    return this.booleanClass;
  };
  protoOf(PrimitiveClasses).da = function () {
    return this.byteClass;
  };
  protoOf(PrimitiveClasses).ea = function () {
    return this.shortClass;
  };
  protoOf(PrimitiveClasses).fa = function () {
    return this.intClass;
  };
  protoOf(PrimitiveClasses).ga = function () {
    return this.floatClass;
  };
  protoOf(PrimitiveClasses).ha = function () {
    return this.doubleClass;
  };
  protoOf(PrimitiveClasses).ia = function () {
    return this.arrayClass;
  };
  protoOf(PrimitiveClasses).ja = function () {
    return this.stringClass;
  };
  protoOf(PrimitiveClasses).ka = function () {
    return this.throwableClass;
  };
  protoOf(PrimitiveClasses).la = function () {
    return this.booleanArrayClass;
  };
  protoOf(PrimitiveClasses).ma = function () {
    return this.charArrayClass;
  };
  protoOf(PrimitiveClasses).na = function () {
    return this.byteArrayClass;
  };
  protoOf(PrimitiveClasses).oa = function () {
    return this.shortArrayClass;
  };
  protoOf(PrimitiveClasses).pa = function () {
    return this.intArrayClass;
  };
  protoOf(PrimitiveClasses).qa = function () {
    return this.longArrayClass;
  };
  protoOf(PrimitiveClasses).ra = function () {
    return this.floatArrayClass;
  };
  protoOf(PrimitiveClasses).sa = function () {
    return this.doubleArrayClass;
  };
  protoOf(PrimitiveClasses).functionClass = function (arity) {
    var tmp0_elvis_lhs = get_functionClasses()[arity];
    var tmp;
    if (tmp0_elvis_lhs == null) {
      // Inline function 'kotlin.run' call
      // Inline function 'kotlin.reflect.js.internal.PrimitiveClasses.functionClass.<anonymous>' call
      // Inline function 'kotlin.js.unsafeCast' call
      var tmp_0 = Function;
      var tmp_1 = 'Function' + arity;
      var result = new PrimitiveKClassImpl(tmp_0, tmp_1, PrimitiveClasses$functionClass$lambda(arity));
      // Inline function 'kotlin.js.asDynamic' call
      get_functionClasses()[arity] = result;
      tmp = result;
    } else {
      tmp = tmp0_elvis_lhs;
    }
    return tmp;
  };
  var PrimitiveClasses_instance;
  function PrimitiveClasses_getInstance() {
    if (PrimitiveClasses_instance == null)
      new PrimitiveClasses();
    return PrimitiveClasses_instance;
  }
  var properties_initialized_primitives_kt_jle18u;
  function _init_properties_primitives_kt__3fums4() {
    if (!properties_initialized_primitives_kt_jle18u) {
      properties_initialized_primitives_kt_jle18u = true;
      // Inline function 'kotlin.arrayOfNulls' call
      functionClasses = fillArrayVal(Array(0), null);
    }
  }
  function getKClass(jClass) {
    var tmp;
    if (Array.isArray(jClass)) {
      // Inline function 'kotlin.js.unsafeCast' call
      // Inline function 'kotlin.js.asDynamic' call
      tmp = getKClassM(jClass);
    } else {
      // Inline function 'kotlin.js.unsafeCast' call
      // Inline function 'kotlin.js.asDynamic' call
      tmp = getKClass1(jClass);
    }
    return tmp;
  }
  function getKClassM(jClasses) {
    var tmp;
    switch (jClasses.length) {
      case 1:
        tmp = getKClass1(jClasses[0]);
        break;
      case 0:
        // Inline function 'kotlin.js.unsafeCast' call

        // Inline function 'kotlin.js.asDynamic' call

        tmp = NothingKClassImpl_getInstance();
        break;
      default:
        // Inline function 'kotlin.js.unsafeCast' call

        // Inline function 'kotlin.js.asDynamic' call

        tmp = new ErrorKClass();
        break;
    }
    return tmp;
  }
  function getKClass1(jClass) {
    if (jClass === String) {
      // Inline function 'kotlin.js.unsafeCast' call
      // Inline function 'kotlin.js.asDynamic' call
      return PrimitiveClasses_getInstance().stringClass;
    }
    // Inline function 'kotlin.js.asDynamic' call
    var metadata = jClass.$metadata$;
    var tmp;
    if (metadata != null) {
      var tmp_0;
      if (metadata.$kClass$ == null) {
        var kClass = new SimpleKClassImpl(jClass);
        metadata.$kClass$ = kClass;
        tmp_0 = kClass;
      } else {
        tmp_0 = metadata.$kClass$;
      }
      tmp = tmp_0;
    } else {
      tmp = new SimpleKClassImpl(jClass);
    }
    return tmp;
  }
  function getKClassFromExpression(e) {
    var tmp;
    switch (typeof e) {
      case 'string':
        tmp = PrimitiveClasses_getInstance().stringClass;
        break;
      case 'number':
        var tmp_0;
        // Inline function 'kotlin.js.jsBitwiseOr' call

        // Inline function 'kotlin.js.asDynamic' call

        if ((e | 0) === e) {
          tmp_0 = PrimitiveClasses_getInstance().intClass;
        } else {
          tmp_0 = PrimitiveClasses_getInstance().doubleClass;
        }

        tmp = tmp_0;
        break;
      case 'boolean':
        tmp = PrimitiveClasses_getInstance().booleanClass;
        break;
      case 'function':
        var tmp_1 = PrimitiveClasses_getInstance();
        // Inline function 'kotlin.js.asDynamic' call

        tmp = tmp_1.functionClass(e.length);
        break;
      default:
        var tmp_2;
        if (isBooleanArray(e)) {
          tmp_2 = PrimitiveClasses_getInstance().booleanArrayClass;
        } else {
          if (isCharArray(e)) {
            tmp_2 = PrimitiveClasses_getInstance().charArrayClass;
          } else {
            if (isByteArray(e)) {
              tmp_2 = PrimitiveClasses_getInstance().byteArrayClass;
            } else {
              if (isShortArray(e)) {
                tmp_2 = PrimitiveClasses_getInstance().shortArrayClass;
              } else {
                if (isIntArray(e)) {
                  tmp_2 = PrimitiveClasses_getInstance().intArrayClass;
                } else {
                  if (isLongArray(e)) {
                    tmp_2 = PrimitiveClasses_getInstance().longArrayClass;
                  } else {
                    if (isFloatArray(e)) {
                      tmp_2 = PrimitiveClasses_getInstance().floatArrayClass;
                    } else {
                      if (isDoubleArray(e)) {
                        tmp_2 = PrimitiveClasses_getInstance().doubleArrayClass;
                      } else {
                        if (isInterface(e, KClass)) {
                          tmp_2 = getKClass(KClass);
                        } else {
                          if (isArray(e)) {
                            tmp_2 = PrimitiveClasses_getInstance().arrayClass;
                          } else {
                            var constructor = Object.getPrototypeOf(e).constructor;
                            var tmp_3;
                            if (constructor === Object) {
                              tmp_3 = PrimitiveClasses_getInstance().anyClass;
                            } else if (constructor === Error) {
                              tmp_3 = PrimitiveClasses_getInstance().throwableClass;
                            } else {
                              var jsClass = constructor;
                              tmp_3 = getKClass1(jsClass);
                            }
                            tmp_2 = tmp_3;
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }

        tmp = tmp_2;
        break;
    }
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return tmp;
  }
  function StringBuilder_init_$Init$(capacity, $this) {
    StringBuilder_init_$Init$_0($this);
    return $this;
  }
  function StringBuilder_init_$Create$(capacity) {
    return StringBuilder_init_$Init$(capacity, objectCreate(protoOf(StringBuilder)));
  }
  function StringBuilder_init_$Init$_0($this) {
    StringBuilder.call($this, '');
    return $this;
  }
  function StringBuilder_init_$Create$_0() {
    return StringBuilder_init_$Init$_0(objectCreate(protoOf(StringBuilder)));
  }
  function StringBuilder(content) {
    this.i7_1 = content;
  }
  protoOf(StringBuilder).a = function () {
    // Inline function 'kotlin.js.asDynamic' call
    return this.i7_1.length;
  };
  protoOf(StringBuilder).b = function (index) {
    // Inline function 'kotlin.text.getOrElse' call
    var this_0 = this.i7_1;
    var tmp;
    if (0 <= index ? index <= (charSequenceLength(this_0) - 1 | 0) : false) {
      tmp = charSequenceGet(this_0, index);
    } else {
      throw IndexOutOfBoundsException_init_$Create$_0('index: ' + index + ', length: ' + this.a() + '}');
    }
    return tmp;
  };
  protoOf(StringBuilder).c = function (startIndex, endIndex) {
    // Inline function 'kotlin.text.substring' call
    // Inline function 'kotlin.js.asDynamic' call
    return this.i7_1.substring(startIndex, endIndex);
  };
  protoOf(StringBuilder).l7 = function (value) {
    this.i7_1 = this.i7_1 + toString(value);
    return this;
  };
  protoOf(StringBuilder).f = function (value) {
    this.i7_1 = this.i7_1 + toString_0(value);
    return this;
  };
  protoOf(StringBuilder).j7 = function (value) {
    this.i7_1 = this.i7_1 + toString_0(value);
    return this;
  };
  protoOf(StringBuilder).k7 = function (value) {
    var tmp = this;
    var tmp_0 = this.i7_1;
    tmp.i7_1 = tmp_0 + (value == null ? 'null' : value);
    return this;
  };
  protoOf(StringBuilder).ta = function (newLength) {
    if (newLength < 0) {
      throw IllegalArgumentException_init_$Create$_0('Negative new length: ' + newLength + '.');
    }
    if (newLength <= this.a()) {
      var tmp = this;
      // Inline function 'kotlin.text.substring' call
      // Inline function 'kotlin.js.asDynamic' call
      tmp.i7_1 = this.i7_1.substring(0, newLength);
    } else {
      var inductionVariable = this.a();
      if (inductionVariable < newLength)
        do {
          var i = inductionVariable;
          inductionVariable = inductionVariable + 1 | 0;
          this.i7_1 = this.i7_1 + toString(_Char___init__impl__6a9atx(0));
        }
         while (inductionVariable < newLength);
    }
  };
  protoOf(StringBuilder).toString = function () {
    return this.i7_1;
  };
  protoOf(StringBuilder).ua = function (value, startIndex, endIndex) {
    this.i7_1 = this.i7_1 + concatToString_0(value, startIndex, endIndex);
    return this;
  };
  protoOf(StringBuilder).va = function (value, startIndex, endIndex) {
    var stringCsq = toString_1(value);
    Companion_instance_4.wa(startIndex, endIndex, stringCsq.length);
    var tmp = this;
    var tmp_0 = this.i7_1;
    // Inline function 'kotlin.text.substring' call
    // Inline function 'kotlin.js.asDynamic' call
    tmp.i7_1 = tmp_0 + stringCsq.substring(startIndex, endIndex);
    return this;
  };
  function uppercaseChar(_this__u8e3s4) {
    // Inline function 'kotlin.text.uppercase' call
    // Inline function 'kotlin.js.asDynamic' call
    // Inline function 'kotlin.js.unsafeCast' call
    var uppercase = toString(_this__u8e3s4).toUpperCase();
    return uppercase.length > 1 ? _this__u8e3s4 : charSequenceGet(uppercase, 0);
  }
  function isWhitespace(_this__u8e3s4) {
    return isWhitespaceImpl(_this__u8e3s4);
  }
  function checkRadix(radix) {
    if (!(2 <= radix ? radix <= 36 : false)) {
      throw IllegalArgumentException_init_$Create$_0('radix ' + radix + ' was not in valid range 2..36');
    }
    return radix;
  }
  function toInt(_this__u8e3s4, radix) {
    var tmp0_elvis_lhs = toIntOrNull(_this__u8e3s4, radix);
    var tmp;
    if (tmp0_elvis_lhs == null) {
      numberFormatError(_this__u8e3s4);
    } else {
      tmp = tmp0_elvis_lhs;
    }
    return tmp;
  }
  function toInt_0(_this__u8e3s4) {
    var tmp0_elvis_lhs = toIntOrNull_0(_this__u8e3s4);
    var tmp;
    if (tmp0_elvis_lhs == null) {
      numberFormatError(_this__u8e3s4);
    } else {
      tmp = tmp0_elvis_lhs;
    }
    return tmp;
  }
  function digitOf(char, radix) {
    // Inline function 'kotlin.let' call
    // Inline function 'kotlin.text.digitOf.<anonymous>' call
    var it = Char__compareTo_impl_ypi4mb(char, _Char___init__impl__6a9atx(48)) >= 0 && Char__compareTo_impl_ypi4mb(char, _Char___init__impl__6a9atx(57)) <= 0 ? Char__minus_impl_a2frrh(char, _Char___init__impl__6a9atx(48)) : Char__compareTo_impl_ypi4mb(char, _Char___init__impl__6a9atx(65)) >= 0 && Char__compareTo_impl_ypi4mb(char, _Char___init__impl__6a9atx(90)) <= 0 ? Char__minus_impl_a2frrh(char, _Char___init__impl__6a9atx(65)) + 10 | 0 : Char__compareTo_impl_ypi4mb(char, _Char___init__impl__6a9atx(97)) >= 0 && Char__compareTo_impl_ypi4mb(char, _Char___init__impl__6a9atx(122)) <= 0 ? Char__minus_impl_a2frrh(char, _Char___init__impl__6a9atx(97)) + 10 | 0 : Char__compareTo_impl_ypi4mb(char, _Char___init__impl__6a9atx(128)) < 0 ? -1 : Char__compareTo_impl_ypi4mb(char, _Char___init__impl__6a9atx(65313)) >= 0 && Char__compareTo_impl_ypi4mb(char, _Char___init__impl__6a9atx(65338)) <= 0 ? Char__minus_impl_a2frrh(char, _Char___init__impl__6a9atx(65313)) + 10 | 0 : Char__compareTo_impl_ypi4mb(char, _Char___init__impl__6a9atx(65345)) >= 0 && Char__compareTo_impl_ypi4mb(char, _Char___init__impl__6a9atx(65370)) <= 0 ? Char__minus_impl_a2frrh(char, _Char___init__impl__6a9atx(65345)) + 10 | 0 : digitToIntImpl(char);
    return it >= radix ? -1 : it;
  }
  function toDoubleOrNull(_this__u8e3s4) {
    // Inline function 'kotlin.js.asDynamic' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.takeIf' call
    var this_0 = +_this__u8e3s4;
    var tmp;
    // Inline function 'kotlin.text.toDoubleOrNull.<anonymous>' call
    if (!(isNaN_0(this_0) && !isNaN_1(_this__u8e3s4) || (this_0 === 0.0 && isBlank(_this__u8e3s4)))) {
      tmp = this_0;
    } else {
      tmp = null;
    }
    return tmp;
  }
  function toDouble(_this__u8e3s4) {
    // Inline function 'kotlin.js.asDynamic' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.also' call
    var this_0 = +_this__u8e3s4;
    // Inline function 'kotlin.text.toDouble.<anonymous>' call
    if (isNaN_0(this_0) && !isNaN_1(_this__u8e3s4) || (this_0 === 0.0 && isBlank(_this__u8e3s4))) {
      numberFormatError(_this__u8e3s4);
    }
    return this_0;
  }
  function isNaN_1(_this__u8e3s4) {
    // Inline function 'kotlin.text.lowercase' call
    // Inline function 'kotlin.js.asDynamic' call
    switch (_this__u8e3s4.toLowerCase()) {
      case 'nan':
      case '+nan':
      case '-nan':
        return true;
      default:
        return false;
    }
  }
  var STRING_CASE_INSENSITIVE_ORDER;
  function compareTo_0(_this__u8e3s4, other, ignoreCase) {
    ignoreCase = ignoreCase === VOID ? false : ignoreCase;
    _init_properties_stringJs_kt__bg7zye();
    if (ignoreCase) {
      var n1 = _this__u8e3s4.length;
      var n2 = other.length;
      // Inline function 'kotlin.comparisons.minOf' call
      var min = Math.min(n1, n2);
      if (min === 0)
        return n1 - n2 | 0;
      var inductionVariable = 0;
      if (inductionVariable < min)
        do {
          var index = inductionVariable;
          inductionVariable = inductionVariable + 1 | 0;
          var thisChar = charSequenceGet(_this__u8e3s4, index);
          var otherChar = charSequenceGet(other, index);
          if (!(thisChar === otherChar)) {
            thisChar = uppercaseChar(thisChar);
            otherChar = uppercaseChar(otherChar);
            if (!(thisChar === otherChar)) {
              // Inline function 'kotlin.text.lowercaseChar' call
              // Inline function 'kotlin.text.lowercase' call
              var this_0 = thisChar;
              // Inline function 'kotlin.js.asDynamic' call
              // Inline function 'kotlin.js.unsafeCast' call
              var tmp$ret$3 = toString(this_0).toLowerCase();
              thisChar = charSequenceGet(tmp$ret$3, 0);
              // Inline function 'kotlin.text.lowercaseChar' call
              // Inline function 'kotlin.text.lowercase' call
              var this_1 = otherChar;
              // Inline function 'kotlin.js.asDynamic' call
              // Inline function 'kotlin.js.unsafeCast' call
              var tmp$ret$7 = toString(this_1).toLowerCase();
              otherChar = charSequenceGet(tmp$ret$7, 0);
              if (!(thisChar === otherChar)) {
                return Char__compareTo_impl_ypi4mb(thisChar, otherChar);
              }
            }
          }
        }
         while (inductionVariable < min);
      return n1 - n2 | 0;
    } else {
      return compareTo(_this__u8e3s4, other);
    }
  }
  function concatToString(_this__u8e3s4) {
    _init_properties_stringJs_kt__bg7zye();
    var result = '';
    var inductionVariable = 0;
    var last = _this__u8e3s4.length;
    while (inductionVariable < last) {
      var char = _this__u8e3s4[inductionVariable];
      inductionVariable = inductionVariable + 1 | 0;
      result = result + toString(char);
    }
    return result;
  }
  function concatToString_0(_this__u8e3s4, startIndex, endIndex) {
    startIndex = startIndex === VOID ? 0 : startIndex;
    endIndex = endIndex === VOID ? _this__u8e3s4.length : endIndex;
    _init_properties_stringJs_kt__bg7zye();
    Companion_instance_4.wa(startIndex, endIndex, _this__u8e3s4.length);
    var result = '';
    var inductionVariable = startIndex;
    if (inductionVariable < endIndex)
      do {
        var index = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        result = result + toString(_this__u8e3s4[index]);
      }
       while (inductionVariable < endIndex);
    return result;
  }
  function toCharArray(_this__u8e3s4, destination, destinationOffset, startIndex, endIndex) {
    destinationOffset = destinationOffset === VOID ? 0 : destinationOffset;
    startIndex = startIndex === VOID ? 0 : startIndex;
    endIndex = endIndex === VOID ? _this__u8e3s4.length : endIndex;
    _init_properties_stringJs_kt__bg7zye();
    Companion_instance_4.wa(startIndex, endIndex, _this__u8e3s4.length);
    Companion_instance_4.wa(destinationOffset, (destinationOffset + endIndex | 0) - startIndex | 0, destination.length);
    var destIndex = destinationOffset;
    var inductionVariable = startIndex;
    if (inductionVariable < endIndex)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var _unary__edvuaz = destIndex;
        destIndex = _unary__edvuaz + 1 | 0;
        destination[_unary__edvuaz] = charSequenceGet(_this__u8e3s4, i);
      }
       while (inductionVariable < endIndex);
    return destination;
  }
  function sam$kotlin_Comparator$0(function_0) {
    this.xa_1 = function_0;
  }
  protoOf(sam$kotlin_Comparator$0).ya = function (a, b) {
    return this.xa_1(a, b);
  };
  protoOf(sam$kotlin_Comparator$0).compare = function (a, b) {
    return this.ya(a, b);
  };
  protoOf(sam$kotlin_Comparator$0).q2 = function () {
    return this.xa_1;
  };
  protoOf(sam$kotlin_Comparator$0).equals = function (other) {
    var tmp;
    if (!(other == null) ? isInterface(other, Comparator) : false) {
      var tmp_0;
      if (!(other == null) ? isInterface(other, FunctionAdapter) : false) {
        tmp_0 = equals(this.q2(), other.q2());
      } else {
        tmp_0 = false;
      }
      tmp = tmp_0;
    } else {
      tmp = false;
    }
    return tmp;
  };
  protoOf(sam$kotlin_Comparator$0).hashCode = function () {
    return hashCode(this.q2());
  };
  function STRING_CASE_INSENSITIVE_ORDER$lambda(a, b) {
    _init_properties_stringJs_kt__bg7zye();
    return compareTo_0(a, b, true);
  }
  var properties_initialized_stringJs_kt_nta8o4;
  function _init_properties_stringJs_kt__bg7zye() {
    if (!properties_initialized_stringJs_kt_nta8o4) {
      properties_initialized_stringJs_kt_nta8o4 = true;
      var tmp = STRING_CASE_INSENSITIVE_ORDER$lambda;
      STRING_CASE_INSENSITIVE_ORDER = new sam$kotlin_Comparator$0(tmp);
    }
  }
  function startsWith(_this__u8e3s4, prefix, ignoreCase) {
    ignoreCase = ignoreCase === VOID ? false : ignoreCase;
    if (!ignoreCase) {
      // Inline function 'kotlin.text.nativeStartsWith' call
      // Inline function 'kotlin.js.asDynamic' call
      return _this__u8e3s4.startsWith(prefix, 0);
    } else
      return regionMatches(_this__u8e3s4, 0, prefix, 0, prefix.length, ignoreCase);
  }
  function repeat(_this__u8e3s4, n) {
    // Inline function 'kotlin.require' call
    if (!(n >= 0)) {
      // Inline function 'kotlin.text.repeat.<anonymous>' call
      var message = "Count 'n' must be non-negative, but was " + n + '.';
      throw IllegalArgumentException_init_$Create$_0(toString_1(message));
    }
    var tmp;
    switch (n) {
      case 0:
        tmp = '';
        break;
      case 1:
        tmp = toString_1(_this__u8e3s4);
        break;
      default:
        var result = '';
        // Inline function 'kotlin.text.isEmpty' call

        if (!(charSequenceLength(_this__u8e3s4) === 0)) {
          var s = toString_1(_this__u8e3s4);
          var count = n;
          $l$loop: while (true) {
            if ((count & 1) === 1) {
              result = result + s;
            }
            count = count >>> 1 | 0;
            if (count === 0) {
              break $l$loop;
            }
            s = s + s;
          }
        }

        return result;
    }
    return tmp;
  }
  function endsWith(_this__u8e3s4, suffix, ignoreCase) {
    ignoreCase = ignoreCase === VOID ? false : ignoreCase;
    if (!ignoreCase) {
      // Inline function 'kotlin.text.nativeEndsWith' call
      // Inline function 'kotlin.js.asDynamic' call
      return _this__u8e3s4.endsWith(suffix);
    } else
      return regionMatches(_this__u8e3s4, _this__u8e3s4.length - suffix.length | 0, suffix, 0, suffix.length, ignoreCase);
  }
  function regionMatches(_this__u8e3s4, thisOffset, other, otherOffset, length, ignoreCase) {
    ignoreCase = ignoreCase === VOID ? false : ignoreCase;
    return regionMatchesImpl(_this__u8e3s4, thisOffset, other, otherOffset, length, ignoreCase);
  }
  function addSuppressed(_this__u8e3s4, exception) {
    if (!(_this__u8e3s4 === exception)) {
      // Inline function 'kotlin.js.asDynamic' call
      // Inline function 'kotlin.js.unsafeCast' call
      var suppressed = _this__u8e3s4._suppressed;
      if (suppressed == null) {
        // Inline function 'kotlin.js.asDynamic' call
        _this__u8e3s4._suppressed = mutableListOf([exception]);
      } else {
        suppressed.e(exception);
      }
    }
  }
  function printStackTrace(_this__u8e3s4) {
    console.error(stackTraceToString(_this__u8e3s4));
  }
  function stackTraceToString(_this__u8e3s4) {
    return (new ExceptionTraceBuilder()).db(_this__u8e3s4);
  }
  function hasSeen($this, exception) {
    var tmp0 = $this.ab_1;
    var tmp$ret$1;
    $l$block: {
      // Inline function 'kotlin.collections.any' call
      var inductionVariable = 0;
      var last = tmp0.length;
      while (inductionVariable < last) {
        var element = tmp0[inductionVariable];
        inductionVariable = inductionVariable + 1 | 0;
        // Inline function 'kotlin.ExceptionTraceBuilder.hasSeen.<anonymous>' call
        if (element === exception) {
          tmp$ret$1 = true;
          break $l$block;
        }
      }
      tmp$ret$1 = false;
    }
    return tmp$ret$1;
  }
  function dumpFullTrace(_this__u8e3s4, $this, indent, qualifier) {
    if (dumpSelfTrace(_this__u8e3s4, $this, indent, qualifier))
      true;
    else
      return Unit_instance;
    var cause = _this__u8e3s4.cause;
    while (!(cause == null)) {
      if (dumpSelfTrace(cause, $this, indent, 'Caused by: '))
        true;
      else
        return Unit_instance;
      cause = cause.cause;
    }
  }
  function dumpSelfTrace(_this__u8e3s4, $this, indent, qualifier) {
    $this.za_1.k7(indent).k7(qualifier);
    var shortInfo = _this__u8e3s4.toString();
    if (hasSeen($this, _this__u8e3s4)) {
      $this.za_1.k7('[CIRCULAR REFERENCE, SEE ABOVE: ').k7(shortInfo).k7(']\n');
      return false;
    }
    // Inline function 'kotlin.js.asDynamic' call
    $this.ab_1.push(_this__u8e3s4);
    // Inline function 'kotlin.js.asDynamic' call
    var tmp = _this__u8e3s4.stack;
    var stack = (tmp == null ? true : typeof tmp === 'string') ? tmp : THROW_CCE();
    if (!(stack == null)) {
      // Inline function 'kotlin.let' call
      // Inline function 'kotlin.ExceptionTraceBuilder.dumpSelfTrace.<anonymous>' call
      var it = indexOf_0(stack, shortInfo);
      var stackStart = it < 0 ? 0 : it + shortInfo.length | 0;
      if (stackStart === 0) {
        $this.za_1.k7(shortInfo).k7('\n');
      }
      // Inline function 'kotlin.text.isEmpty' call
      var this_0 = $this.bb_1;
      if (charSequenceLength(this_0) === 0) {
        $this.bb_1 = stack;
        $this.cb_1 = stackStart;
      } else {
        stack = dropCommonFrames($this, stack, stackStart);
      }
      // Inline function 'kotlin.text.isNotEmpty' call
      if (charSequenceLength(indent) > 0) {
        var tmp_0;
        if (stackStart === 0) {
          tmp_0 = 0;
        } else {
          // Inline function 'kotlin.text.count' call
          var count = 0;
          var inductionVariable = 0;
          while (inductionVariable < charSequenceLength(shortInfo)) {
            var element = charSequenceGet(shortInfo, inductionVariable);
            inductionVariable = inductionVariable + 1 | 0;
            // Inline function 'kotlin.ExceptionTraceBuilder.dumpSelfTrace.<anonymous>' call
            if (element === _Char___init__impl__6a9atx(10)) {
              count = count + 1 | 0;
            }
          }
          tmp_0 = 1 + count | 0;
        }
        var messageLines = tmp_0;
        // Inline function 'kotlin.sequences.forEachIndexed' call
        var index = 0;
        var _iterator__ex2g4s = lineSequence(stack).g();
        while (_iterator__ex2g4s.h()) {
          var item = _iterator__ex2g4s.i();
          var _unary__edvuaz = index;
          index = _unary__edvuaz + 1 | 0;
          // Inline function 'kotlin.ExceptionTraceBuilder.dumpSelfTrace.<anonymous>' call
          if (checkIndexOverflow(_unary__edvuaz) >= messageLines) {
            $this.za_1.k7(indent);
          }
          $this.za_1.k7(item).k7('\n');
        }
      } else {
        $this.za_1.k7(stack).k7('\n');
      }
    } else {
      $this.za_1.k7(shortInfo).k7('\n');
    }
    var suppressed = get_suppressedExceptions(_this__u8e3s4);
    // Inline function 'kotlin.collections.isNotEmpty' call
    if (!suppressed.l()) {
      var suppressedIndent = indent + '    ';
      var _iterator__ex2g4s_0 = suppressed.g();
      while (_iterator__ex2g4s_0.h()) {
        var s = _iterator__ex2g4s_0.i();
        dumpFullTrace(s, $this, suppressedIndent, 'Suppressed: ');
      }
    }
    return true;
  }
  function dropCommonFrames($this, stack, stackStart) {
    var commonFrames = 0;
    var lastBreak = 0;
    var preLastBreak = 0;
    var inductionVariable = 0;
    var tmp0 = $this.bb_1.length - $this.cb_1 | 0;
    // Inline function 'kotlin.comparisons.minOf' call
    var b = stack.length - stackStart | 0;
    var last = Math.min(tmp0, b);
    if (inductionVariable < last)
      $l$loop: do {
        var pos = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var c = charSequenceGet(stack, get_lastIndex_1(stack) - pos | 0);
        if (!(c === charSequenceGet($this.bb_1, get_lastIndex_1($this.bb_1) - pos | 0)))
          break $l$loop;
        if (c === _Char___init__impl__6a9atx(10)) {
          commonFrames = commonFrames + 1 | 0;
          preLastBreak = lastBreak;
          lastBreak = pos;
        }
      }
       while (inductionVariable < last);
    if (commonFrames <= 1)
      return stack;
    while (preLastBreak > 0 && charSequenceGet(stack, get_lastIndex_1(stack) - (preLastBreak - 1 | 0) | 0) === _Char___init__impl__6a9atx(32))
      preLastBreak = preLastBreak - 1 | 0;
    return dropLast(stack, preLastBreak) + ('... and ' + (commonFrames - 1 | 0) + ' more common stack frames skipped');
  }
  function ExceptionTraceBuilder() {
    this.za_1 = StringBuilder_init_$Create$_0();
    var tmp = this;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    tmp.ab_1 = [];
    this.bb_1 = '';
    this.cb_1 = 0;
  }
  protoOf(ExceptionTraceBuilder).db = function (exception) {
    dumpFullTrace(exception, this, '', '');
    return this.za_1.toString();
  };
  function get_suppressedExceptions(_this__u8e3s4) {
    // Inline function 'kotlin.js.asDynamic' call
    var tmp0_safe_receiver = _this__u8e3s4._suppressed;
    var tmp;
    if (tmp0_safe_receiver == null) {
      tmp = null;
    } else {
      // Inline function 'kotlin.js.unsafeCast' call
      tmp = tmp0_safe_receiver;
    }
    var tmp1_elvis_lhs = tmp;
    return tmp1_elvis_lhs == null ? emptyList() : tmp1_elvis_lhs;
  }
  function AbstractCollection$toString$lambda(this$0) {
    return function (it) {
      return it === this$0 ? '(this Collection)' : toString_0(it);
    };
  }
  function AbstractCollection() {
  }
  protoOf(AbstractCollection).o1 = function (element) {
    var tmp$ret$0;
    $l$block_0: {
      // Inline function 'kotlin.collections.any' call
      var tmp;
      if (isInterface(this, Collection)) {
        tmp = this.l();
      } else {
        tmp = false;
      }
      if (tmp) {
        tmp$ret$0 = false;
        break $l$block_0;
      }
      var _iterator__ex2g4s = this.g();
      while (_iterator__ex2g4s.h()) {
        var element_0 = _iterator__ex2g4s.i();
        // Inline function 'kotlin.collections.AbstractCollection.contains.<anonymous>' call
        if (equals(element_0, element)) {
          tmp$ret$0 = true;
          break $l$block_0;
        }
      }
      tmp$ret$0 = false;
    }
    return tmp$ret$0;
  };
  protoOf(AbstractCollection).r1 = function (elements) {
    var tmp$ret$0;
    $l$block_0: {
      // Inline function 'kotlin.collections.all' call
      var tmp;
      if (isInterface(elements, Collection)) {
        tmp = elements.l();
      } else {
        tmp = false;
      }
      if (tmp) {
        tmp$ret$0 = true;
        break $l$block_0;
      }
      var _iterator__ex2g4s = elements.g();
      while (_iterator__ex2g4s.h()) {
        var element = _iterator__ex2g4s.i();
        // Inline function 'kotlin.collections.AbstractCollection.containsAll.<anonymous>' call
        if (!this.o1(element)) {
          tmp$ret$0 = false;
          break $l$block_0;
        }
      }
      tmp$ret$0 = true;
    }
    return tmp$ret$0;
  };
  protoOf(AbstractCollection).l = function () {
    return this.j() === 0;
  };
  protoOf(AbstractCollection).toString = function () {
    return joinToString_0(this, ', ', '[', ']', VOID, VOID, AbstractCollection$toString$lambda(this));
  };
  protoOf(AbstractCollection).toArray = function () {
    return collectionToArray(this);
  };
  function SubList_0(list, fromIndex, toIndex) {
    AbstractList.call(this);
    this.eb_1 = list;
    this.fb_1 = fromIndex;
    this.gb_1 = 0;
    Companion_instance_4.u2(this.fb_1, toIndex, this.eb_1.j());
    this.gb_1 = toIndex - this.fb_1 | 0;
  }
  protoOf(SubList_0).k = function (index) {
    Companion_instance_4.u3(index, this.gb_1);
    return this.eb_1.k(this.fb_1 + index | 0);
  };
  protoOf(SubList_0).j = function () {
    return this.gb_1;
  };
  function IteratorImpl_0($outer) {
    this.ib_1 = $outer;
    this.hb_1 = 0;
  }
  protoOf(IteratorImpl_0).h = function () {
    return this.hb_1 < this.ib_1.j();
  };
  protoOf(IteratorImpl_0).i = function () {
    if (!this.h())
      throw NoSuchElementException_init_$Create$();
    var _unary__edvuaz = this.hb_1;
    this.hb_1 = _unary__edvuaz + 1 | 0;
    return this.ib_1.k(_unary__edvuaz);
  };
  function ListIteratorImpl_0($outer, index) {
    this.lb_1 = $outer;
    IteratorImpl_0.call(this, $outer);
    Companion_instance_4.k3(index, this.lb_1.j());
    this.hb_1 = index;
  }
  protoOf(ListIteratorImpl_0).l3 = function () {
    return this.hb_1 > 0;
  };
  protoOf(ListIteratorImpl_0).n3 = function () {
    if (!this.l3())
      throw NoSuchElementException_init_$Create$();
    this.hb_1 = this.hb_1 - 1 | 0;
    return this.lb_1.k(this.hb_1);
  };
  function Companion_4() {
    this.t2_1 = 2147483639;
  }
  protoOf(Companion_4).u3 = function (index, size) {
    if (index < 0 || index >= size) {
      throw IndexOutOfBoundsException_init_$Create$_0('index: ' + index + ', size: ' + size);
    }
  };
  protoOf(Companion_4).k3 = function (index, size) {
    if (index < 0 || index > size) {
      throw IndexOutOfBoundsException_init_$Create$_0('index: ' + index + ', size: ' + size);
    }
  };
  protoOf(Companion_4).u2 = function (fromIndex, toIndex, size) {
    if (fromIndex < 0 || toIndex > size) {
      throw IndexOutOfBoundsException_init_$Create$_0('fromIndex: ' + fromIndex + ', toIndex: ' + toIndex + ', size: ' + size);
    }
    if (fromIndex > toIndex) {
      throw IllegalArgumentException_init_$Create$_0('fromIndex: ' + fromIndex + ' > toIndex: ' + toIndex);
    }
  };
  protoOf(Companion_4).wa = function (startIndex, endIndex, size) {
    if (startIndex < 0 || endIndex > size) {
      throw IndexOutOfBoundsException_init_$Create$_0('startIndex: ' + startIndex + ', endIndex: ' + endIndex + ', size: ' + size);
    }
    if (startIndex > endIndex) {
      throw IllegalArgumentException_init_$Create$_0('startIndex: ' + startIndex + ' > endIndex: ' + endIndex);
    }
  };
  protoOf(Companion_4).j6 = function (oldCapacity, minCapacity) {
    var newCapacity = oldCapacity + (oldCapacity >> 1) | 0;
    if ((newCapacity - minCapacity | 0) < 0)
      newCapacity = minCapacity;
    if ((newCapacity - 2147483639 | 0) > 0)
      newCapacity = minCapacity > 2147483639 ? 2147483647 : 2147483639;
    return newCapacity;
  };
  protoOf(Companion_4).y3 = function (c) {
    var hashCode_0 = 1;
    var _iterator__ex2g4s = c.g();
    while (_iterator__ex2g4s.h()) {
      var e = _iterator__ex2g4s.i();
      var tmp = imul(31, hashCode_0);
      var tmp1_elvis_lhs = e == null ? null : hashCode(e);
      hashCode_0 = tmp + (tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs) | 0;
    }
    return hashCode_0;
  };
  protoOf(Companion_4).x3 = function (c, other) {
    if (!(c.j() === other.j()))
      return false;
    var otherIterator = other.g();
    var _iterator__ex2g4s = c.g();
    while (_iterator__ex2g4s.h()) {
      var elem = _iterator__ex2g4s.i();
      var elemOther = otherIterator.i();
      if (!equals(elem, elemOther)) {
        return false;
      }
    }
    return true;
  };
  var Companion_instance_4;
  function Companion_getInstance_4() {
    return Companion_instance_4;
  }
  function AbstractList() {
    AbstractCollection.call(this);
  }
  protoOf(AbstractList).g = function () {
    return new IteratorImpl_0(this);
  };
  protoOf(AbstractList).p1 = function (element) {
    var tmp$ret$1;
    $l$block: {
      // Inline function 'kotlin.collections.indexOfFirst' call
      var index = 0;
      var _iterator__ex2g4s = this.g();
      while (_iterator__ex2g4s.h()) {
        var item = _iterator__ex2g4s.i();
        // Inline function 'kotlin.collections.AbstractList.indexOf.<anonymous>' call
        if (equals(item, element)) {
          tmp$ret$1 = index;
          break $l$block;
        }
        index = index + 1 | 0;
      }
      tmp$ret$1 = -1;
    }
    return tmp$ret$1;
  };
  protoOf(AbstractList).q1 = function (index) {
    return new ListIteratorImpl_0(this, index);
  };
  protoOf(AbstractList).v = function (fromIndex, toIndex) {
    return new SubList_0(this, fromIndex, toIndex);
  };
  protoOf(AbstractList).equals = function (other) {
    if (other === this)
      return true;
    if (!(!(other == null) ? isInterface(other, KtList) : false))
      return false;
    return Companion_instance_4.x3(this, other);
  };
  protoOf(AbstractList).hashCode = function () {
    return Companion_instance_4.y3(this);
  };
  function AbstractMap$keys$1$iterator$1($entryIterator) {
    this.mb_1 = $entryIterator;
  }
  protoOf(AbstractMap$keys$1$iterator$1).h = function () {
    return this.mb_1.h();
  };
  protoOf(AbstractMap$keys$1$iterator$1).i = function () {
    return this.mb_1.i().s1();
  };
  function toString_2($this, entry) {
    return toString_3($this, entry.s1()) + '=' + toString_3($this, entry.t1());
  }
  function toString_3($this, o) {
    return o === $this ? '(this Map)' : toString_0(o);
  }
  function implFindEntry($this, key) {
    var tmp0 = $this.z1();
    var tmp$ret$1;
    $l$block: {
      // Inline function 'kotlin.collections.firstOrNull' call
      var _iterator__ex2g4s = tmp0.g();
      while (_iterator__ex2g4s.h()) {
        var element = _iterator__ex2g4s.i();
        // Inline function 'kotlin.collections.AbstractMap.implFindEntry.<anonymous>' call
        if (equals(element.s1(), key)) {
          tmp$ret$1 = element;
          break $l$block;
        }
      }
      tmp$ret$1 = null;
    }
    return tmp$ret$1;
  }
  function Companion_5() {
  }
  var Companion_instance_5;
  function Companion_getInstance_5() {
    return Companion_instance_5;
  }
  function AbstractMap$keys$1(this$0) {
    this.nb_1 = this$0;
    AbstractSet.call(this);
  }
  protoOf(AbstractMap$keys$1).v4 = function (element) {
    return this.nb_1.u1(element);
  };
  protoOf(AbstractMap$keys$1).o1 = function (element) {
    if (!(element == null ? true : !(element == null)))
      return false;
    return this.v4((element == null ? true : !(element == null)) ? element : THROW_CCE());
  };
  protoOf(AbstractMap$keys$1).g = function () {
    var entryIterator = this.nb_1.z1().g();
    return new AbstractMap$keys$1$iterator$1(entryIterator);
  };
  protoOf(AbstractMap$keys$1).j = function () {
    return this.nb_1.j();
  };
  function AbstractMap$toString$lambda(this$0) {
    return function (it) {
      return toString_2(this$0, it);
    };
  }
  function AbstractMap() {
    this.i4_1 = null;
    this.j4_1 = null;
  }
  protoOf(AbstractMap).u1 = function (key) {
    return !(implFindEntry(this, key) == null);
  };
  protoOf(AbstractMap).v1 = function (value) {
    var tmp0 = this.z1();
    var tmp$ret$0;
    $l$block_0: {
      // Inline function 'kotlin.collections.any' call
      var tmp;
      if (isInterface(tmp0, Collection)) {
        tmp = tmp0.l();
      } else {
        tmp = false;
      }
      if (tmp) {
        tmp$ret$0 = false;
        break $l$block_0;
      }
      var _iterator__ex2g4s = tmp0.g();
      while (_iterator__ex2g4s.h()) {
        var element = _iterator__ex2g4s.i();
        // Inline function 'kotlin.collections.AbstractMap.containsValue.<anonymous>' call
        if (equals(element.t1(), value)) {
          tmp$ret$0 = true;
          break $l$block_0;
        }
      }
      tmp$ret$0 = false;
    }
    return tmp$ret$0;
  };
  protoOf(AbstractMap).k4 = function (entry) {
    if (!(!(entry == null) ? isInterface(entry, Entry) : false))
      return false;
    var key = entry.s1();
    var value = entry.t1();
    // Inline function 'kotlin.collections.get' call
    var ourValue = (isInterface(this, KtMap) ? this : THROW_CCE()).w1(key);
    if (!equals(value, ourValue)) {
      return false;
    }
    var tmp;
    if (ourValue == null) {
      // Inline function 'kotlin.collections.containsKey' call
      tmp = !(isInterface(this, KtMap) ? this : THROW_CCE()).u1(key);
    } else {
      tmp = false;
    }
    if (tmp) {
      return false;
    }
    return true;
  };
  protoOf(AbstractMap).equals = function (other) {
    if (other === this)
      return true;
    if (!(!(other == null) ? isInterface(other, KtMap) : false))
      return false;
    if (!(this.j() === other.j()))
      return false;
    var tmp0 = other.z1();
    var tmp$ret$0;
    $l$block_0: {
      // Inline function 'kotlin.collections.all' call
      var tmp;
      if (isInterface(tmp0, Collection)) {
        tmp = tmp0.l();
      } else {
        tmp = false;
      }
      if (tmp) {
        tmp$ret$0 = true;
        break $l$block_0;
      }
      var _iterator__ex2g4s = tmp0.g();
      while (_iterator__ex2g4s.h()) {
        var element = _iterator__ex2g4s.i();
        // Inline function 'kotlin.collections.AbstractMap.equals.<anonymous>' call
        if (!this.k4(element)) {
          tmp$ret$0 = false;
          break $l$block_0;
        }
      }
      tmp$ret$0 = true;
    }
    return tmp$ret$0;
  };
  protoOf(AbstractMap).w1 = function (key) {
    var tmp0_safe_receiver = implFindEntry(this, key);
    return tmp0_safe_receiver == null ? null : tmp0_safe_receiver.t1();
  };
  protoOf(AbstractMap).hashCode = function () {
    return hashCode(this.z1());
  };
  protoOf(AbstractMap).l = function () {
    return this.j() === 0;
  };
  protoOf(AbstractMap).j = function () {
    return this.z1().j();
  };
  protoOf(AbstractMap).x1 = function () {
    if (this.i4_1 == null) {
      var tmp = this;
      tmp.i4_1 = new AbstractMap$keys$1(this);
    }
    return ensureNotNull(this.i4_1);
  };
  protoOf(AbstractMap).toString = function () {
    var tmp = this.z1();
    return joinToString_0(tmp, ', ', '{', '}', VOID, VOID, AbstractMap$toString$lambda(this));
  };
  function Companion_6() {
  }
  protoOf(Companion_6).m4 = function (c) {
    var hashCode_0 = 0;
    var _iterator__ex2g4s = c.g();
    while (_iterator__ex2g4s.h()) {
      var element = _iterator__ex2g4s.i();
      var tmp = hashCode_0;
      var tmp1_elvis_lhs = element == null ? null : hashCode(element);
      hashCode_0 = tmp + (tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs) | 0;
    }
    return hashCode_0;
  };
  protoOf(Companion_6).l4 = function (c, other) {
    if (!(c.j() === other.j()))
      return false;
    return c.r1(other);
  };
  var Companion_instance_6;
  function Companion_getInstance_6() {
    return Companion_instance_6;
  }
  function AbstractSet() {
    AbstractCollection.call(this);
  }
  protoOf(AbstractSet).equals = function (other) {
    if (other === this)
      return true;
    if (!(!(other == null) ? isInterface(other, KtSet) : false))
      return false;
    return Companion_instance_6.l4(this, other);
  };
  protoOf(AbstractSet).hashCode = function () {
    return Companion_instance_6.m4(this);
  };
  function ArrayDeque_init_$Init$($this) {
    AbstractMutableList.call($this);
    ArrayDeque.call($this);
    $this.qb_1 = Companion_getInstance_7().sb_1;
    return $this;
  }
  function ArrayDeque_init_$Create$() {
    return ArrayDeque_init_$Init$(objectCreate(protoOf(ArrayDeque)));
  }
  function ensureCapacity_0($this, minCapacity) {
    if (minCapacity < 0)
      throw IllegalStateException_init_$Create$_0('Deque is too big.');
    if (minCapacity <= $this.qb_1.length)
      return Unit_instance;
    if ($this.qb_1 === Companion_getInstance_7().sb_1) {
      var tmp = $this;
      // Inline function 'kotlin.arrayOfNulls' call
      var size = coerceAtLeast(minCapacity, 10);
      tmp.qb_1 = fillArrayVal(Array(size), null);
      return Unit_instance;
    }
    var newCapacity = Companion_instance_4.j6($this.qb_1.length, minCapacity);
    copyElements($this, newCapacity);
  }
  function copyElements($this, newCapacity) {
    // Inline function 'kotlin.arrayOfNulls' call
    var newElements = fillArrayVal(Array(newCapacity), null);
    var tmp1 = $this.qb_1;
    var tmp4 = $this.pb_1;
    // Inline function 'kotlin.collections.copyInto' call
    var endIndex = $this.qb_1.length;
    arrayCopy(tmp1, newElements, 0, tmp4, endIndex);
    var tmp6 = $this.qb_1;
    var tmp8 = $this.qb_1.length - $this.pb_1 | 0;
    // Inline function 'kotlin.collections.copyInto' call
    var endIndex_0 = $this.pb_1;
    arrayCopy(tmp6, newElements, tmp8, 0, endIndex_0);
    $this.pb_1 = 0;
    $this.qb_1 = newElements;
  }
  function positiveMod($this, index) {
    return index >= $this.qb_1.length ? index - $this.qb_1.length | 0 : index;
  }
  function negativeMod($this, index) {
    return index < 0 ? index + $this.qb_1.length | 0 : index;
  }
  function incremented($this, index) {
    return index === get_lastIndex($this.qb_1) ? 0 : index + 1 | 0;
  }
  function decremented($this, index) {
    return index === 0 ? get_lastIndex($this.qb_1) : index - 1 | 0;
  }
  function copyCollectionElements($this, internalIndex, elements) {
    var iterator = elements.g();
    var inductionVariable = internalIndex;
    var last = $this.qb_1.length;
    if (inductionVariable < last)
      $l$loop: do {
        var index = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        if (!iterator.h())
          break $l$loop;
        $this.qb_1[index] = iterator.i();
      }
       while (inductionVariable < last);
    var inductionVariable_0 = 0;
    var last_0 = $this.pb_1;
    if (inductionVariable_0 < last_0)
      $l$loop_0: do {
        var index_0 = inductionVariable_0;
        inductionVariable_0 = inductionVariable_0 + 1 | 0;
        if (!iterator.h())
          break $l$loop_0;
        $this.qb_1[index_0] = iterator.i();
      }
       while (inductionVariable_0 < last_0);
    $this.rb_1 = $this.rb_1 + elements.j() | 0;
  }
  function removeRangeShiftPreceding($this, fromIndex, toIndex) {
    // Inline function 'kotlin.collections.ArrayDeque.internalIndex' call
    var index = fromIndex - 1 | 0;
    var copyFromIndex = positiveMod($this, $this.pb_1 + index | 0);
    // Inline function 'kotlin.collections.ArrayDeque.internalIndex' call
    var index_0 = toIndex - 1 | 0;
    var copyToIndex = positiveMod($this, $this.pb_1 + index_0 | 0);
    var copyCount = fromIndex;
    while (copyCount > 0) {
      var tmp0 = copyCount;
      var tmp1 = copyFromIndex + 1 | 0;
      // Inline function 'kotlin.comparisons.minOf' call
      var c = copyToIndex + 1 | 0;
      var segmentLength = Math.min(tmp0, tmp1, c);
      var tmp3 = $this.qb_1;
      var tmp4 = $this.qb_1;
      var tmp5 = (copyToIndex - segmentLength | 0) + 1 | 0;
      var tmp6 = (copyFromIndex - segmentLength | 0) + 1 | 0;
      // Inline function 'kotlin.collections.copyInto' call
      var endIndex = copyFromIndex + 1 | 0;
      arrayCopy(tmp3, tmp4, tmp5, tmp6, endIndex);
      copyFromIndex = negativeMod($this, copyFromIndex - segmentLength | 0);
      copyToIndex = negativeMod($this, copyToIndex - segmentLength | 0);
      copyCount = copyCount - segmentLength | 0;
    }
  }
  function removeRangeShiftSucceeding($this, fromIndex, toIndex) {
    // Inline function 'kotlin.collections.ArrayDeque.internalIndex' call
    var copyFromIndex = positiveMod($this, $this.pb_1 + toIndex | 0);
    // Inline function 'kotlin.collections.ArrayDeque.internalIndex' call
    var copyToIndex = positiveMod($this, $this.pb_1 + fromIndex | 0);
    var copyCount = $this.rb_1 - toIndex | 0;
    while (copyCount > 0) {
      var tmp0 = copyCount;
      var tmp1 = $this.qb_1.length - copyFromIndex | 0;
      // Inline function 'kotlin.comparisons.minOf' call
      var c = $this.qb_1.length - copyToIndex | 0;
      var segmentLength = Math.min(tmp0, tmp1, c);
      var tmp3 = $this.qb_1;
      var tmp4 = $this.qb_1;
      var tmp5 = copyToIndex;
      var tmp6 = copyFromIndex;
      // Inline function 'kotlin.collections.copyInto' call
      var endIndex = copyFromIndex + segmentLength | 0;
      arrayCopy(tmp3, tmp4, tmp5, tmp6, endIndex);
      copyFromIndex = positiveMod($this, copyFromIndex + segmentLength | 0);
      copyToIndex = positiveMod($this, copyToIndex + segmentLength | 0);
      copyCount = copyCount - segmentLength | 0;
    }
  }
  function nullifyNonEmpty($this, internalFromIndex, internalToIndex) {
    if (internalFromIndex < internalToIndex) {
      fill($this.qb_1, null, internalFromIndex, internalToIndex);
    } else {
      fill($this.qb_1, null, internalFromIndex, $this.qb_1.length);
      fill($this.qb_1, null, 0, internalToIndex);
    }
  }
  function registerModification_0($this) {
    $this.e3_1 = $this.e3_1 + 1 | 0;
  }
  function Companion_7() {
    Companion_instance_7 = this;
    var tmp = this;
    // Inline function 'kotlin.emptyArray' call
    tmp.sb_1 = [];
    this.tb_1 = 10;
  }
  var Companion_instance_7;
  function Companion_getInstance_7() {
    if (Companion_instance_7 == null)
      new Companion_7();
    return Companion_instance_7;
  }
  protoOf(ArrayDeque).j = function () {
    return this.rb_1;
  };
  protoOf(ArrayDeque).l = function () {
    return this.rb_1 === 0;
  };
  protoOf(ArrayDeque).ub = function (element) {
    registerModification_0(this);
    ensureCapacity_0(this, this.rb_1 + 1 | 0);
    this.pb_1 = decremented(this, this.pb_1);
    this.qb_1[this.pb_1] = element;
    this.rb_1 = this.rb_1 + 1 | 0;
  };
  protoOf(ArrayDeque).vb = function (element) {
    registerModification_0(this);
    ensureCapacity_0(this, this.rb_1 + 1 | 0);
    var tmp = this.qb_1;
    // Inline function 'kotlin.collections.ArrayDeque.internalIndex' call
    var index = this.rb_1;
    tmp[positiveMod(this, this.pb_1 + index | 0)] = element;
    this.rb_1 = this.rb_1 + 1 | 0;
  };
  protoOf(ArrayDeque).wb = function () {
    if (this.l())
      throw NoSuchElementException_init_$Create$_0('ArrayDeque is empty.');
    registerModification_0(this);
    // Inline function 'kotlin.collections.ArrayDeque.internalGet' call
    var internalIndex = this.pb_1;
    var tmp = this.qb_1[internalIndex];
    var element = (tmp == null ? true : !(tmp == null)) ? tmp : THROW_CCE();
    this.qb_1[this.pb_1] = null;
    this.pb_1 = incremented(this, this.pb_1);
    this.rb_1 = this.rb_1 - 1 | 0;
    return element;
  };
  protoOf(ArrayDeque).xb = function () {
    return this.l() ? null : this.wb();
  };
  protoOf(ArrayDeque).yb = function () {
    if (this.l())
      throw NoSuchElementException_init_$Create$_0('ArrayDeque is empty.');
    registerModification_0(this);
    // Inline function 'kotlin.collections.ArrayDeque.internalIndex' call
    var index = get_lastIndex_0(this);
    var internalLastIndex = positiveMod(this, this.pb_1 + index | 0);
    // Inline function 'kotlin.collections.ArrayDeque.internalGet' call
    var tmp = this.qb_1[internalLastIndex];
    var element = (tmp == null ? true : !(tmp == null)) ? tmp : THROW_CCE();
    this.qb_1[internalLastIndex] = null;
    this.rb_1 = this.rb_1 - 1 | 0;
    return element;
  };
  protoOf(ArrayDeque).e = function (element) {
    this.vb(element);
    return true;
  };
  protoOf(ArrayDeque).t3 = function (index, element) {
    Companion_instance_4.k3(index, this.rb_1);
    if (index === this.rb_1) {
      this.vb(element);
      return Unit_instance;
    } else if (index === 0) {
      this.ub(element);
      return Unit_instance;
    }
    registerModification_0(this);
    ensureCapacity_0(this, this.rb_1 + 1 | 0);
    // Inline function 'kotlin.collections.ArrayDeque.internalIndex' call
    var internalIndex = positiveMod(this, this.pb_1 + index | 0);
    if (index < (this.rb_1 + 1 | 0) >> 1) {
      var decrementedInternalIndex = decremented(this, internalIndex);
      var decrementedHead = decremented(this, this.pb_1);
      if (decrementedInternalIndex >= this.pb_1) {
        this.qb_1[decrementedHead] = this.qb_1[this.pb_1];
        var tmp0 = this.qb_1;
        var tmp1 = this.qb_1;
        var tmp2 = this.pb_1;
        var tmp3 = this.pb_1 + 1 | 0;
        // Inline function 'kotlin.collections.copyInto' call
        var endIndex = decrementedInternalIndex + 1 | 0;
        arrayCopy(tmp0, tmp1, tmp2, tmp3, endIndex);
      } else {
        var tmp5 = this.qb_1;
        var tmp6 = this.qb_1;
        var tmp7 = this.pb_1 - 1 | 0;
        var tmp8 = this.pb_1;
        // Inline function 'kotlin.collections.copyInto' call
        var endIndex_0 = this.qb_1.length;
        arrayCopy(tmp5, tmp6, tmp7, tmp8, endIndex_0);
        this.qb_1[this.qb_1.length - 1 | 0] = this.qb_1[0];
        var tmp10 = this.qb_1;
        var tmp11 = this.qb_1;
        // Inline function 'kotlin.collections.copyInto' call
        var endIndex_1 = decrementedInternalIndex + 1 | 0;
        arrayCopy(tmp10, tmp11, 0, 1, endIndex_1);
      }
      this.qb_1[decrementedInternalIndex] = element;
      this.pb_1 = decrementedHead;
    } else {
      // Inline function 'kotlin.collections.ArrayDeque.internalIndex' call
      var index_0 = this.rb_1;
      var tail = positiveMod(this, this.pb_1 + index_0 | 0);
      if (internalIndex < tail) {
        var tmp15 = this.qb_1;
        var tmp16 = this.qb_1;
        // Inline function 'kotlin.collections.copyInto' call
        var destinationOffset = internalIndex + 1 | 0;
        arrayCopy(tmp15, tmp16, destinationOffset, internalIndex, tail);
      } else {
        var tmp20 = this.qb_1;
        // Inline function 'kotlin.collections.copyInto' call
        var destination = this.qb_1;
        arrayCopy(tmp20, destination, 1, 0, tail);
        this.qb_1[0] = this.qb_1[this.qb_1.length - 1 | 0];
        var tmp25 = this.qb_1;
        var tmp26 = this.qb_1;
        var tmp27 = internalIndex + 1 | 0;
        // Inline function 'kotlin.collections.copyInto' call
        var endIndex_2 = this.qb_1.length - 1 | 0;
        arrayCopy(tmp25, tmp26, tmp27, internalIndex, endIndex_2);
      }
      this.qb_1[internalIndex] = element;
    }
    this.rb_1 = this.rb_1 + 1 | 0;
  };
  protoOf(ArrayDeque).p = function (elements) {
    if (elements.l())
      return false;
    registerModification_0(this);
    ensureCapacity_0(this, this.rb_1 + elements.j() | 0);
    // Inline function 'kotlin.collections.ArrayDeque.internalIndex' call
    var index = this.rb_1;
    var tmp$ret$0 = positiveMod(this, this.pb_1 + index | 0);
    copyCollectionElements(this, tmp$ret$0, elements);
    return true;
  };
  protoOf(ArrayDeque).k = function (index) {
    Companion_instance_4.u3(index, this.rb_1);
    // Inline function 'kotlin.collections.ArrayDeque.internalIndex' call
    // Inline function 'kotlin.collections.ArrayDeque.internalGet' call
    var internalIndex = positiveMod(this, this.pb_1 + index | 0);
    var tmp = this.qb_1[internalIndex];
    return (tmp == null ? true : !(tmp == null)) ? tmp : THROW_CCE();
  };
  protoOf(ArrayDeque).w2 = function (index, element) {
    Companion_instance_4.u3(index, this.rb_1);
    // Inline function 'kotlin.collections.ArrayDeque.internalIndex' call
    var internalIndex = positiveMod(this, this.pb_1 + index | 0);
    // Inline function 'kotlin.collections.ArrayDeque.internalGet' call
    var tmp = this.qb_1[internalIndex];
    var oldElement = (tmp == null ? true : !(tmp == null)) ? tmp : THROW_CCE();
    this.qb_1[internalIndex] = element;
    return oldElement;
  };
  protoOf(ArrayDeque).o1 = function (element) {
    return !(this.p1(element) === -1);
  };
  protoOf(ArrayDeque).p1 = function (element) {
    // Inline function 'kotlin.collections.ArrayDeque.internalIndex' call
    var index = this.rb_1;
    var tail = positiveMod(this, this.pb_1 + index | 0);
    if (this.pb_1 < tail) {
      var inductionVariable = this.pb_1;
      if (inductionVariable < tail)
        do {
          var index_0 = inductionVariable;
          inductionVariable = inductionVariable + 1 | 0;
          if (equals(element, this.qb_1[index_0]))
            return index_0 - this.pb_1 | 0;
        }
         while (inductionVariable < tail);
    } else if (this.pb_1 >= tail) {
      var inductionVariable_0 = this.pb_1;
      var last = this.qb_1.length;
      if (inductionVariable_0 < last)
        do {
          var index_1 = inductionVariable_0;
          inductionVariable_0 = inductionVariable_0 + 1 | 0;
          if (equals(element, this.qb_1[index_1]))
            return index_1 - this.pb_1 | 0;
        }
         while (inductionVariable_0 < last);
      var inductionVariable_1 = 0;
      if (inductionVariable_1 < tail)
        do {
          var index_2 = inductionVariable_1;
          inductionVariable_1 = inductionVariable_1 + 1 | 0;
          if (equals(element, this.qb_1[index_2]))
            return (index_2 + this.qb_1.length | 0) - this.pb_1 | 0;
        }
         while (inductionVariable_1 < tail);
    }
    return -1;
  };
  protoOf(ArrayDeque).a2 = function (element) {
    var index = this.p1(element);
    if (index === -1)
      return false;
    this.f3(index);
    return true;
  };
  protoOf(ArrayDeque).f3 = function (index) {
    Companion_instance_4.u3(index, this.rb_1);
    if (index === get_lastIndex_0(this)) {
      return this.yb();
    } else if (index === 0) {
      return this.wb();
    }
    registerModification_0(this);
    // Inline function 'kotlin.collections.ArrayDeque.internalIndex' call
    var internalIndex = positiveMod(this, this.pb_1 + index | 0);
    // Inline function 'kotlin.collections.ArrayDeque.internalGet' call
    var tmp = this.qb_1[internalIndex];
    var element = (tmp == null ? true : !(tmp == null)) ? tmp : THROW_CCE();
    if (index < this.rb_1 >> 1) {
      if (internalIndex >= this.pb_1) {
        var tmp0 = this.qb_1;
        var tmp1 = this.qb_1;
        var tmp2 = this.pb_1 + 1 | 0;
        // Inline function 'kotlin.collections.copyInto' call
        var startIndex = this.pb_1;
        arrayCopy(tmp0, tmp1, tmp2, startIndex, internalIndex);
      } else {
        var tmp5 = this.qb_1;
        // Inline function 'kotlin.collections.copyInto' call
        var destination = this.qb_1;
        arrayCopy(tmp5, destination, 1, 0, internalIndex);
        this.qb_1[0] = this.qb_1[this.qb_1.length - 1 | 0];
        var tmp10 = this.qb_1;
        var tmp11 = this.qb_1;
        var tmp12 = this.pb_1 + 1 | 0;
        var tmp13 = this.pb_1;
        // Inline function 'kotlin.collections.copyInto' call
        var endIndex = this.qb_1.length - 1 | 0;
        arrayCopy(tmp10, tmp11, tmp12, tmp13, endIndex);
      }
      this.qb_1[this.pb_1] = null;
      this.pb_1 = incremented(this, this.pb_1);
    } else {
      // Inline function 'kotlin.collections.ArrayDeque.internalIndex' call
      var index_0 = get_lastIndex_0(this);
      var internalLastIndex = positiveMod(this, this.pb_1 + index_0 | 0);
      if (internalIndex <= internalLastIndex) {
        var tmp15 = this.qb_1;
        var tmp16 = this.qb_1;
        var tmp18 = internalIndex + 1 | 0;
        // Inline function 'kotlin.collections.copyInto' call
        var endIndex_0 = internalLastIndex + 1 | 0;
        arrayCopy(tmp15, tmp16, internalIndex, tmp18, endIndex_0);
      } else {
        var tmp20 = this.qb_1;
        var tmp21 = this.qb_1;
        var tmp23 = internalIndex + 1 | 0;
        // Inline function 'kotlin.collections.copyInto' call
        var endIndex_1 = this.qb_1.length;
        arrayCopy(tmp20, tmp21, internalIndex, tmp23, endIndex_1);
        this.qb_1[this.qb_1.length - 1 | 0] = this.qb_1[0];
        var tmp25 = this.qb_1;
        var tmp26 = this.qb_1;
        // Inline function 'kotlin.collections.copyInto' call
        var endIndex_2 = internalLastIndex + 1 | 0;
        arrayCopy(tmp25, tmp26, 0, 1, endIndex_2);
      }
      this.qb_1[internalLastIndex] = null;
    }
    this.rb_1 = this.rb_1 - 1 | 0;
    return element;
  };
  protoOf(ArrayDeque).z2 = function (elements) {
    var tmp$ret$1;
    $l$block: {
      // Inline function 'kotlin.collections.ArrayDeque.filterInPlace' call
      var tmp;
      if (this.l()) {
        tmp = true;
      } else {
        // Inline function 'kotlin.collections.isEmpty' call
        tmp = this.qb_1.length === 0;
      }
      if (tmp) {
        tmp$ret$1 = false;
        break $l$block;
      }
      // Inline function 'kotlin.collections.ArrayDeque.internalIndex' call
      var index = this.rb_1;
      var tail = positiveMod(this, this.pb_1 + index | 0);
      var newTail = this.pb_1;
      var modified = false;
      if (this.pb_1 < tail) {
        var inductionVariable = this.pb_1;
        if (inductionVariable < tail)
          do {
            var index_0 = inductionVariable;
            inductionVariable = inductionVariable + 1 | 0;
            var element = this.qb_1[index_0];
            // Inline function 'kotlin.collections.ArrayDeque.removeAll.<anonymous>' call
            var it = (element == null ? true : !(element == null)) ? element : THROW_CCE();
            if (!elements.o1(it)) {
              var tmp_0 = this.qb_1;
              var _unary__edvuaz = newTail;
              newTail = _unary__edvuaz + 1 | 0;
              tmp_0[_unary__edvuaz] = element;
            } else {
              modified = true;
            }
          }
           while (inductionVariable < tail);
        fill(this.qb_1, null, newTail, tail);
      } else {
        var inductionVariable_0 = this.pb_1;
        var last = this.qb_1.length;
        if (inductionVariable_0 < last)
          do {
            var index_1 = inductionVariable_0;
            inductionVariable_0 = inductionVariable_0 + 1 | 0;
            var element_0 = this.qb_1[index_1];
            this.qb_1[index_1] = null;
            // Inline function 'kotlin.collections.ArrayDeque.removeAll.<anonymous>' call
            var it_0 = (element_0 == null ? true : !(element_0 == null)) ? element_0 : THROW_CCE();
            if (!elements.o1(it_0)) {
              var tmp_1 = this.qb_1;
              var _unary__edvuaz_0 = newTail;
              newTail = _unary__edvuaz_0 + 1 | 0;
              tmp_1[_unary__edvuaz_0] = element_0;
            } else {
              modified = true;
            }
          }
           while (inductionVariable_0 < last);
        newTail = positiveMod(this, newTail);
        var inductionVariable_1 = 0;
        if (inductionVariable_1 < tail)
          do {
            var index_2 = inductionVariable_1;
            inductionVariable_1 = inductionVariable_1 + 1 | 0;
            var element_1 = this.qb_1[index_2];
            this.qb_1[index_2] = null;
            // Inline function 'kotlin.collections.ArrayDeque.removeAll.<anonymous>' call
            var it_1 = (element_1 == null ? true : !(element_1 == null)) ? element_1 : THROW_CCE();
            if (!elements.o1(it_1)) {
              this.qb_1[newTail] = element_1;
              newTail = incremented(this, newTail);
            } else {
              modified = true;
            }
          }
           while (inductionVariable_1 < tail);
      }
      if (modified) {
        registerModification_0(this);
        this.rb_1 = negativeMod(this, newTail - this.pb_1 | 0);
      }
      tmp$ret$1 = modified;
    }
    return tmp$ret$1;
  };
  protoOf(ArrayDeque).a3 = function () {
    // Inline function 'kotlin.collections.isNotEmpty' call
    if (!this.l()) {
      registerModification_0(this);
      // Inline function 'kotlin.collections.ArrayDeque.internalIndex' call
      var index = this.rb_1;
      var tail = positiveMod(this, this.pb_1 + index | 0);
      nullifyNonEmpty(this, this.pb_1, tail);
    }
    this.pb_1 = 0;
    this.rb_1 = 0;
  };
  protoOf(ArrayDeque).zb = function (array) {
    var tmp = array.length >= this.rb_1 ? array : arrayOfNulls(array, this.rb_1);
    var dest = isArray(tmp) ? tmp : THROW_CCE();
    // Inline function 'kotlin.collections.ArrayDeque.internalIndex' call
    var index = this.rb_1;
    var tail = positiveMod(this, this.pb_1 + index | 0);
    if (this.pb_1 < tail) {
      var tmp0 = this.qb_1;
      // Inline function 'kotlin.collections.copyInto' call
      var startIndex = this.pb_1;
      arrayCopy(tmp0, dest, 0, startIndex, tail);
    } else {
      // Inline function 'kotlin.collections.isNotEmpty' call
      if (!this.l()) {
        var tmp6 = this.qb_1;
        var tmp9 = this.pb_1;
        // Inline function 'kotlin.collections.copyInto' call
        var endIndex = this.qb_1.length;
        arrayCopy(tmp6, dest, 0, tmp9, endIndex);
        var tmp11 = this.qb_1;
        // Inline function 'kotlin.collections.copyInto' call
        var destinationOffset = this.qb_1.length - this.pb_1 | 0;
        arrayCopy(tmp11, dest, destinationOffset, 0, tail);
      }
    }
    var tmp_0 = terminateCollectionToArray(this.rb_1, dest);
    return isArray(tmp_0) ? tmp_0 : THROW_CCE();
  };
  protoOf(ArrayDeque).o4 = function () {
    // Inline function 'kotlin.arrayOfNulls' call
    var size = this.rb_1;
    var tmp$ret$0 = fillArrayVal(Array(size), null);
    return this.zb(tmp$ret$0);
  };
  protoOf(ArrayDeque).toArray = function () {
    return this.o4();
  };
  protoOf(ArrayDeque).v3 = function (fromIndex, toIndex) {
    Companion_instance_4.u2(fromIndex, toIndex, this.rb_1);
    var length = toIndex - fromIndex | 0;
    if (length === 0)
      return Unit_instance;
    else if (length === this.rb_1) {
      this.a3();
      return Unit_instance;
    } else if (length === 1) {
      this.f3(fromIndex);
      return Unit_instance;
    }
    registerModification_0(this);
    if (fromIndex < (this.rb_1 - toIndex | 0)) {
      removeRangeShiftPreceding(this, fromIndex, toIndex);
      var newHead = positiveMod(this, this.pb_1 + length | 0);
      nullifyNonEmpty(this, this.pb_1, newHead);
      this.pb_1 = newHead;
    } else {
      removeRangeShiftSucceeding(this, fromIndex, toIndex);
      // Inline function 'kotlin.collections.ArrayDeque.internalIndex' call
      var index = this.rb_1;
      var tail = positiveMod(this, this.pb_1 + index | 0);
      nullifyNonEmpty(this, negativeMod(this, tail - length | 0), tail);
    }
    this.rb_1 = this.rb_1 - length | 0;
  };
  function ArrayDeque() {
    Companion_getInstance_7();
    this.pb_1 = 0;
    this.rb_1 = 0;
  }
  function collectionToArrayCommonImpl(collection) {
    if (collection.l()) {
      // Inline function 'kotlin.emptyArray' call
      return [];
    }
    // Inline function 'kotlin.arrayOfNulls' call
    var size = collection.j();
    var destination = fillArrayVal(Array(size), null);
    var iterator = collection.g();
    var index = 0;
    while (iterator.h()) {
      var _unary__edvuaz = index;
      index = _unary__edvuaz + 1 | 0;
      destination[_unary__edvuaz] = iterator.i();
    }
    return destination;
  }
  function emptyList() {
    return EmptyList_getInstance();
  }
  function listOf_0(elements) {
    return elements.length > 0 ? asList(elements) : emptyList();
  }
  function mutableListOf(elements) {
    return elements.length === 0 ? ArrayList_init_$Create$() : ArrayList_init_$Create$_1(new ArrayAsCollection(elements, true));
  }
  function EmptyList() {
    EmptyList_instance = this;
    this.ac_1 = new Long(-1478467534, -1720727600);
  }
  protoOf(EmptyList).equals = function (other) {
    var tmp;
    if (!(other == null) ? isInterface(other, KtList) : false) {
      tmp = other.l();
    } else {
      tmp = false;
    }
    return tmp;
  };
  protoOf(EmptyList).hashCode = function () {
    return 1;
  };
  protoOf(EmptyList).toString = function () {
    return '[]';
  };
  protoOf(EmptyList).j = function () {
    return 0;
  };
  protoOf(EmptyList).l = function () {
    return true;
  };
  protoOf(EmptyList).bc = function (element) {
    return false;
  };
  protoOf(EmptyList).o1 = function (element) {
    if (!false)
      return false;
    var tmp;
    if (false) {
      tmp = element;
    } else {
      tmp = THROW_CCE();
    }
    return this.bc(tmp);
  };
  protoOf(EmptyList).k = function (index) {
    throw IndexOutOfBoundsException_init_$Create$_0("Empty list doesn't contain element at index " + index + '.');
  };
  protoOf(EmptyList).cc = function (element) {
    return -1;
  };
  protoOf(EmptyList).p1 = function (element) {
    if (!false)
      return -1;
    var tmp;
    if (false) {
      tmp = element;
    } else {
      tmp = THROW_CCE();
    }
    return this.cc(tmp);
  };
  protoOf(EmptyList).g = function () {
    return EmptyIterator_instance;
  };
  protoOf(EmptyList).q1 = function (index) {
    if (!(index === 0))
      throw IndexOutOfBoundsException_init_$Create$_0('Index: ' + index);
    return EmptyIterator_instance;
  };
  protoOf(EmptyList).v = function (fromIndex, toIndex) {
    if (fromIndex === 0 && toIndex === 0)
      return this;
    throw IndexOutOfBoundsException_init_$Create$_0('fromIndex: ' + fromIndex + ', toIndex: ' + toIndex);
  };
  var EmptyList_instance;
  function EmptyList_getInstance() {
    if (EmptyList_instance == null)
      new EmptyList();
    return EmptyList_instance;
  }
  function ArrayAsCollection(values, isVarargs) {
    this.dc_1 = values;
    this.ec_1 = isVarargs;
  }
  protoOf(ArrayAsCollection).j = function () {
    return this.dc_1.length;
  };
  protoOf(ArrayAsCollection).l = function () {
    // Inline function 'kotlin.collections.isEmpty' call
    return this.dc_1.length === 0;
  };
  protoOf(ArrayAsCollection).fc = function (element) {
    return contains(this.dc_1, element);
  };
  protoOf(ArrayAsCollection).o1 = function (element) {
    if (!(element == null ? true : !(element == null)))
      return false;
    return this.fc((element == null ? true : !(element == null)) ? element : THROW_CCE());
  };
  protoOf(ArrayAsCollection).g = function () {
    return arrayIterator(this.dc_1);
  };
  function EmptyIterator() {
  }
  protoOf(EmptyIterator).h = function () {
    return false;
  };
  protoOf(EmptyIterator).l3 = function () {
    return false;
  };
  protoOf(EmptyIterator).i = function () {
    throw NoSuchElementException_init_$Create$();
  };
  protoOf(EmptyIterator).n3 = function () {
    throw NoSuchElementException_init_$Create$();
  };
  var EmptyIterator_instance;
  function EmptyIterator_getInstance() {
    return EmptyIterator_instance;
  }
  function optimizeReadOnlyList(_this__u8e3s4) {
    switch (_this__u8e3s4.j()) {
      case 0:
        return emptyList();
      case 1:
        return listOf(_this__u8e3s4.k(0));
      default:
        return _this__u8e3s4;
    }
  }
  function get_lastIndex_0(_this__u8e3s4) {
    return _this__u8e3s4.j() - 1 | 0;
  }
  function arrayListOf(elements) {
    return elements.length === 0 ? ArrayList_init_$Create$() : ArrayList_init_$Create$_1(new ArrayAsCollection(elements, true));
  }
  function asCollection(_this__u8e3s4) {
    return new ArrayAsCollection(_this__u8e3s4, false);
  }
  function throwIndexOverflow() {
    throw ArithmeticException_init_$Create$_0('Index overflow has happened.');
  }
  function collectionSizeOrDefault(_this__u8e3s4, default_0) {
    var tmp;
    if (isInterface(_this__u8e3s4, Collection)) {
      tmp = _this__u8e3s4.j();
    } else {
      tmp = default_0;
    }
    return tmp;
  }
  function mapOf(pairs) {
    return pairs.length > 0 ? toMap_0(pairs, LinkedHashMap_init_$Create$_0(mapCapacity(pairs.length))) : emptyMap();
  }
  function toMap(_this__u8e3s4) {
    var tmp;
    switch (_this__u8e3s4.j()) {
      case 0:
        tmp = emptyMap();
        break;
      case 1:
        // Inline function 'kotlin.collections.toSingletonMap' call

        tmp = toMutableMap(_this__u8e3s4);
        break;
      default:
        tmp = toMutableMap(_this__u8e3s4);
        break;
    }
    return tmp;
  }
  function emptyMap() {
    var tmp = EmptyMap_getInstance();
    return isInterface(tmp, KtMap) ? tmp : THROW_CCE();
  }
  function toMap_0(_this__u8e3s4, destination) {
    // Inline function 'kotlin.apply' call
    // Inline function 'kotlin.collections.toMap.<anonymous>' call
    putAll(destination, _this__u8e3s4);
    return destination;
  }
  function toMutableMap(_this__u8e3s4) {
    return LinkedHashMap_init_$Create$_1(_this__u8e3s4);
  }
  function EmptyMap() {
    EmptyMap_instance = this;
    this.gc_1 = new Long(-888910638, 1920087921);
  }
  protoOf(EmptyMap).equals = function (other) {
    var tmp;
    if (!(other == null) ? isInterface(other, KtMap) : false) {
      tmp = other.l();
    } else {
      tmp = false;
    }
    return tmp;
  };
  protoOf(EmptyMap).hashCode = function () {
    return 0;
  };
  protoOf(EmptyMap).toString = function () {
    return '{}';
  };
  protoOf(EmptyMap).j = function () {
    return 0;
  };
  protoOf(EmptyMap).l = function () {
    return true;
  };
  protoOf(EmptyMap).hc = function (key) {
    return false;
  };
  protoOf(EmptyMap).u1 = function (key) {
    if (!(key == null ? true : !(key == null)))
      return false;
    return this.hc((key == null ? true : !(key == null)) ? key : THROW_CCE());
  };
  protoOf(EmptyMap).ic = function (key) {
    return null;
  };
  protoOf(EmptyMap).w1 = function (key) {
    if (!(key == null ? true : !(key == null)))
      return null;
    return this.ic((key == null ? true : !(key == null)) ? key : THROW_CCE());
  };
  protoOf(EmptyMap).z1 = function () {
    return EmptySet_getInstance();
  };
  protoOf(EmptyMap).x1 = function () {
    return EmptySet_getInstance();
  };
  var EmptyMap_instance;
  function EmptyMap_getInstance() {
    if (EmptyMap_instance == null)
      new EmptyMap();
    return EmptyMap_instance;
  }
  function putAll(_this__u8e3s4, pairs) {
    var inductionVariable = 0;
    var last = pairs.length;
    while (inductionVariable < last) {
      var _destruct__k2r9zo = pairs[inductionVariable];
      inductionVariable = inductionVariable + 1 | 0;
      var key = _destruct__k2r9zo.lc();
      var value = _destruct__k2r9zo.mc();
      _this__u8e3s4.f4(key, value);
    }
  }
  function putAll_0(_this__u8e3s4, pairs) {
    var _iterator__ex2g4s = pairs.g();
    while (_iterator__ex2g4s.h()) {
      var _destruct__k2r9zo = _iterator__ex2g4s.i();
      var key = _destruct__k2r9zo.lc();
      var value = _destruct__k2r9zo.mc();
      _this__u8e3s4.f4(key, value);
    }
  }
  function removeFirstOrNull(_this__u8e3s4) {
    return _this__u8e3s4.l() ? null : _this__u8e3s4.f3(0);
  }
  function removeLast(_this__u8e3s4) {
    var tmp;
    if (_this__u8e3s4.l()) {
      throw NoSuchElementException_init_$Create$_0('List is empty.');
    } else {
      tmp = _this__u8e3s4.f3(get_lastIndex_0(_this__u8e3s4));
    }
    return tmp;
  }
  function addAll(_this__u8e3s4, elements) {
    return _this__u8e3s4.p(asList(elements));
  }
  function removeAll(_this__u8e3s4, predicate) {
    return filterInPlace(_this__u8e3s4, predicate, true);
  }
  function removeAll_0(_this__u8e3s4, predicate) {
    return filterInPlace_0(_this__u8e3s4, predicate, true);
  }
  function filterInPlace(_this__u8e3s4, predicate, predicateResultToRemove) {
    if (!isInterface(_this__u8e3s4, RandomAccess)) {
      return filterInPlace_0(isInterface(_this__u8e3s4, MutableIterable) ? _this__u8e3s4 : THROW_CCE(), predicate, predicateResultToRemove);
    }
    var writeIndex = 0;
    var inductionVariable = 0;
    var last = get_lastIndex_0(_this__u8e3s4);
    if (inductionVariable <= last)
      $l$loop: do {
        var readIndex = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var element = _this__u8e3s4.k(readIndex);
        if (predicate(element) === predicateResultToRemove)
          continue $l$loop;
        if (!(writeIndex === readIndex)) {
          _this__u8e3s4.w2(writeIndex, element);
        }
        writeIndex = writeIndex + 1 | 0;
      }
       while (!(readIndex === last));
    if (writeIndex < _this__u8e3s4.j()) {
      var inductionVariable_0 = get_lastIndex_0(_this__u8e3s4);
      var last_0 = writeIndex;
      if (last_0 <= inductionVariable_0)
        do {
          var removeIndex = inductionVariable_0;
          inductionVariable_0 = inductionVariable_0 + -1 | 0;
          _this__u8e3s4.f3(removeIndex);
        }
         while (!(removeIndex === last_0));
      return true;
    } else {
      return false;
    }
  }
  function filterInPlace_0(_this__u8e3s4, predicate, predicateResultToRemove) {
    var result = false;
    // Inline function 'kotlin.with' call
    // Inline function 'kotlin.collections.filterInPlace.<anonymous>' call
    var $this$with = _this__u8e3s4.g();
    while ($this$with.h())
      if (predicate($this$with.i()) === predicateResultToRemove) {
        $this$with.y2();
        result = true;
      }
    return result;
  }
  function addAll_0(_this__u8e3s4, elements) {
    if (isInterface(elements, Collection))
      return _this__u8e3s4.p(elements);
    else {
      var result = false;
      var _iterator__ex2g4s = elements.g();
      while (_iterator__ex2g4s.h()) {
        var item = _iterator__ex2g4s.i();
        if (_this__u8e3s4.e(item))
          result = true;
      }
      return result;
    }
  }
  function IntIterator() {
  }
  protoOf(IntIterator).i = function () {
    return this.nc();
  };
  function asReversed(_this__u8e3s4) {
    return new ReversedListReadOnly(_this__u8e3s4);
  }
  function asReversed_0(_this__u8e3s4) {
    return new ReversedList(_this__u8e3s4);
  }
  function ReversedListReadOnly$listIterator$1(this$0, $index) {
    this.pc_1 = this$0;
    this.oc_1 = this$0.qc_1.q1(reversePositionIndex(this$0, $index));
  }
  protoOf(ReversedListReadOnly$listIterator$1).h = function () {
    return this.oc_1.l3();
  };
  protoOf(ReversedListReadOnly$listIterator$1).l3 = function () {
    return this.oc_1.h();
  };
  protoOf(ReversedListReadOnly$listIterator$1).i = function () {
    return this.oc_1.n3();
  };
  protoOf(ReversedListReadOnly$listIterator$1).n3 = function () {
    return this.oc_1.i();
  };
  function ReversedListReadOnly(delegate) {
    AbstractList.call(this);
    this.qc_1 = delegate;
  }
  protoOf(ReversedListReadOnly).j = function () {
    return this.qc_1.j();
  };
  protoOf(ReversedListReadOnly).k = function (index) {
    return this.qc_1.k(reverseElementIndex(this, index));
  };
  protoOf(ReversedListReadOnly).g = function () {
    return this.q1(0);
  };
  protoOf(ReversedListReadOnly).q1 = function (index) {
    return new ReversedListReadOnly$listIterator$1(this, index);
  };
  function ReversedList$listIterator$1(this$0, $index) {
    this.sc_1 = this$0;
    this.rc_1 = this$0.uc_1.q1(reversePositionIndex(this$0, $index));
  }
  protoOf(ReversedList$listIterator$1).h = function () {
    return this.rc_1.l3();
  };
  protoOf(ReversedList$listIterator$1).l3 = function () {
    return this.rc_1.h();
  };
  protoOf(ReversedList$listIterator$1).i = function () {
    return this.rc_1.n3();
  };
  protoOf(ReversedList$listIterator$1).m3 = function () {
    return reverseIteratorIndex(this.sc_1, this.rc_1.o3());
  };
  protoOf(ReversedList$listIterator$1).n3 = function () {
    return this.rc_1.i();
  };
  protoOf(ReversedList$listIterator$1).o3 = function () {
    return reverseIteratorIndex(this.sc_1, this.rc_1.m3());
  };
  protoOf(ReversedList$listIterator$1).y2 = function () {
    return this.rc_1.y2();
  };
  function ReversedList(delegate) {
    AbstractMutableList.call(this);
    this.uc_1 = delegate;
  }
  protoOf(ReversedList).j = function () {
    return this.uc_1.j();
  };
  protoOf(ReversedList).k = function (index) {
    return this.uc_1.k(reverseElementIndex(this, index));
  };
  protoOf(ReversedList).a3 = function () {
    return this.uc_1.a3();
  };
  protoOf(ReversedList).f3 = function (index) {
    return this.uc_1.f3(reverseElementIndex(this, index));
  };
  protoOf(ReversedList).vc = function (index, element) {
    return this.uc_1.w2(reverseElementIndex(this, index), element);
  };
  protoOf(ReversedList).w2 = function (index, element) {
    return this.vc(index, (element == null ? true : !(element == null)) ? element : THROW_CCE());
  };
  protoOf(ReversedList).wc = function (index, element) {
    this.uc_1.t3(reversePositionIndex(this, index), element);
  };
  protoOf(ReversedList).t3 = function (index, element) {
    return this.wc(index, (element == null ? true : !(element == null)) ? element : THROW_CCE());
  };
  protoOf(ReversedList).g = function () {
    return this.q1(0);
  };
  protoOf(ReversedList).w3 = function () {
    return this.q1(0);
  };
  protoOf(ReversedList).q1 = function (index) {
    return new ReversedList$listIterator$1(this, index);
  };
  function reverseElementIndex(_this__u8e3s4, index) {
    var tmp;
    if (0 <= index ? index <= get_lastIndex_0(_this__u8e3s4) : false) {
      tmp = get_lastIndex_0(_this__u8e3s4) - index | 0;
    } else {
      throw IndexOutOfBoundsException_init_$Create$_0('Element index ' + index + ' must be in range [' + numberRangeToNumber(0, get_lastIndex_0(_this__u8e3s4)).toString() + '].');
    }
    return tmp;
  }
  function reversePositionIndex(_this__u8e3s4, index) {
    var tmp;
    if (0 <= index ? index <= _this__u8e3s4.j() : false) {
      tmp = _this__u8e3s4.j() - index | 0;
    } else {
      throw IndexOutOfBoundsException_init_$Create$_0('Position index ' + index + ' must be in range [' + numberRangeToNumber(0, _this__u8e3s4.j()).toString() + '].');
    }
    return tmp;
  }
  function reverseIteratorIndex(_this__u8e3s4, index) {
    return get_lastIndex_0(_this__u8e3s4) - index | 0;
  }
  function emptySet() {
    return EmptySet_getInstance();
  }
  function setOf_0(elements) {
    return toSet(elements);
  }
  function EmptySet() {
    EmptySet_instance = this;
    this.xc_1 = new Long(1993859828, 793161749);
  }
  protoOf(EmptySet).equals = function (other) {
    var tmp;
    if (!(other == null) ? isInterface(other, KtSet) : false) {
      tmp = other.l();
    } else {
      tmp = false;
    }
    return tmp;
  };
  protoOf(EmptySet).hashCode = function () {
    return 0;
  };
  protoOf(EmptySet).toString = function () {
    return '[]';
  };
  protoOf(EmptySet).j = function () {
    return 0;
  };
  protoOf(EmptySet).l = function () {
    return true;
  };
  protoOf(EmptySet).bc = function (element) {
    return false;
  };
  protoOf(EmptySet).o1 = function (element) {
    if (!false)
      return false;
    var tmp;
    if (false) {
      tmp = element;
    } else {
      tmp = THROW_CCE();
    }
    return this.bc(tmp);
  };
  protoOf(EmptySet).yc = function (elements) {
    return elements.l();
  };
  protoOf(EmptySet).r1 = function (elements) {
    return this.yc(elements);
  };
  protoOf(EmptySet).g = function () {
    return EmptyIterator_instance;
  };
  var EmptySet_instance;
  function EmptySet_getInstance() {
    if (EmptySet_instance == null)
      new EmptySet();
    return EmptySet_instance;
  }
  function hashSetOf(elements) {
    return toCollection(elements, HashSet_init_$Create$_0(mapCapacity(elements.length)));
  }
  function optimizeReadOnlySet(_this__u8e3s4) {
    switch (_this__u8e3s4.j()) {
      case 0:
        return emptySet();
      case 1:
        return setOf(_this__u8e3s4.g().i());
      default:
        return _this__u8e3s4;
    }
  }
  function compareValues(a, b) {
    if (a === b)
      return 0;
    if (a == null)
      return -1;
    if (b == null)
      return 1;
    return compareTo((!(a == null) ? isComparable(a) : false) ? a : THROW_CCE(), b);
  }
  function Continuation() {
  }
  function startCoroutine(_this__u8e3s4, receiver, completion) {
    // Inline function 'kotlin.coroutines.resume' call
    var this_0 = intercepted(createCoroutineUnintercepted(_this__u8e3s4, receiver, completion));
    // Inline function 'kotlin.Companion.success' call
    var tmp$ret$0 = _Result___init__impl__xyqfz8(Unit_instance);
    this_0.o8(tmp$ret$0);
  }
  function Key() {
  }
  var Key_instance;
  function Key_getInstance() {
    return Key_instance;
  }
  function ContinuationInterceptor() {
  }
  function Element() {
  }
  function CoroutineContext$plus$lambda(acc, element) {
    var removed = acc.dd(element.s1());
    var tmp;
    if (removed === EmptyCoroutineContext_getInstance()) {
      tmp = element;
    } else {
      var interceptor = removed.q8(Key_instance);
      var tmp_0;
      if (interceptor == null) {
        tmp_0 = new CombinedContext(removed, element);
      } else {
        var left = removed.dd(Key_instance);
        tmp_0 = left === EmptyCoroutineContext_getInstance() ? new CombinedContext(element, interceptor) : new CombinedContext(new CombinedContext(left, element), interceptor);
      }
      tmp = tmp_0;
    }
    return tmp;
  }
  function CoroutineContext() {
  }
  function EmptyCoroutineContext() {
    EmptyCoroutineContext_instance = this;
    this.gd_1 = new Long(0, 0);
  }
  protoOf(EmptyCoroutineContext).q8 = function (key) {
    return null;
  };
  protoOf(EmptyCoroutineContext).ed = function (initial, operation) {
    return initial;
  };
  protoOf(EmptyCoroutineContext).fd = function (context) {
    return context;
  };
  protoOf(EmptyCoroutineContext).dd = function (key) {
    return this;
  };
  protoOf(EmptyCoroutineContext).hashCode = function () {
    return 0;
  };
  protoOf(EmptyCoroutineContext).toString = function () {
    return 'EmptyCoroutineContext';
  };
  var EmptyCoroutineContext_instance;
  function EmptyCoroutineContext_getInstance() {
    if (EmptyCoroutineContext_instance == null)
      new EmptyCoroutineContext();
    return EmptyCoroutineContext_instance;
  }
  function size($this) {
    var cur = $this;
    var size = 2;
    while (true) {
      var tmp = cur.hd_1;
      var tmp0_elvis_lhs = tmp instanceof CombinedContext ? tmp : null;
      var tmp_0;
      if (tmp0_elvis_lhs == null) {
        return size;
      } else {
        tmp_0 = tmp0_elvis_lhs;
      }
      cur = tmp_0;
      size = size + 1 | 0;
    }
  }
  function contains_0($this, element) {
    return equals($this.q8(element.s1()), element);
  }
  function containsAll($this, context) {
    var cur = context;
    while (true) {
      if (!contains_0($this, cur.id_1))
        return false;
      var next = cur.hd_1;
      if (next instanceof CombinedContext) {
        cur = next;
      } else {
        return contains_0($this, isInterface(next, Element) ? next : THROW_CCE());
      }
    }
  }
  function CombinedContext$toString$lambda(acc, element) {
    var tmp;
    // Inline function 'kotlin.text.isEmpty' call
    if (charSequenceLength(acc) === 0) {
      tmp = toString_1(element);
    } else {
      tmp = acc + ', ' + toString_1(element);
    }
    return tmp;
  }
  function CombinedContext(left, element) {
    this.hd_1 = left;
    this.id_1 = element;
  }
  protoOf(CombinedContext).q8 = function (key) {
    var cur = this;
    while (true) {
      var tmp0_safe_receiver = cur.id_1.q8(key);
      if (tmp0_safe_receiver == null)
        null;
      else {
        // Inline function 'kotlin.let' call
        return tmp0_safe_receiver;
      }
      var next = cur.hd_1;
      if (next instanceof CombinedContext) {
        cur = next;
      } else {
        return next.q8(key);
      }
    }
  };
  protoOf(CombinedContext).ed = function (initial, operation) {
    return operation(this.hd_1.ed(initial, operation), this.id_1);
  };
  protoOf(CombinedContext).dd = function (key) {
    if (this.id_1.q8(key) == null)
      null;
    else {
      // Inline function 'kotlin.let' call
      return this.hd_1;
    }
    var newLeft = this.hd_1.dd(key);
    return newLeft === this.hd_1 ? this : newLeft === EmptyCoroutineContext_getInstance() ? this.id_1 : new CombinedContext(newLeft, this.id_1);
  };
  protoOf(CombinedContext).equals = function (other) {
    var tmp;
    if (this === other) {
      tmp = true;
    } else {
      var tmp_0;
      var tmp_1;
      if (other instanceof CombinedContext) {
        tmp_1 = size(other) === size(this);
      } else {
        tmp_1 = false;
      }
      if (tmp_1) {
        tmp_0 = containsAll(other, this);
      } else {
        tmp_0 = false;
      }
      tmp = tmp_0;
    }
    return tmp;
  };
  protoOf(CombinedContext).hashCode = function () {
    return hashCode(this.hd_1) + hashCode(this.id_1) | 0;
  };
  protoOf(CombinedContext).toString = function () {
    return '[' + this.ed('', CombinedContext$toString$lambda) + ']';
  };
  function AbstractCoroutineContextKey(baseKey, safeCast) {
    this.zc_1 = safeCast;
    var tmp = this;
    var tmp_0;
    if (baseKey instanceof AbstractCoroutineContextKey) {
      tmp_0 = baseKey.ad_1;
    } else {
      tmp_0 = baseKey;
    }
    tmp.ad_1 = tmp_0;
  }
  protoOf(AbstractCoroutineContextKey).bd = function (element) {
    return this.zc_1(element);
  };
  protoOf(AbstractCoroutineContextKey).cd = function (key) {
    return key === this || this.ad_1 === key;
  };
  function AbstractCoroutineContextElement(key) {
    this.jd_1 = key;
  }
  protoOf(AbstractCoroutineContextElement).s1 = function () {
    return this.jd_1;
  };
  function get_COROUTINE_SUSPENDED() {
    return CoroutineSingletons_COROUTINE_SUSPENDED_getInstance();
  }
  var CoroutineSingletons_COROUTINE_SUSPENDED_instance;
  var CoroutineSingletons_UNDECIDED_instance;
  var CoroutineSingletons_RESUMED_instance;
  var CoroutineSingletons_entriesInitialized;
  function CoroutineSingletons_initEntries() {
    if (CoroutineSingletons_entriesInitialized)
      return Unit_instance;
    CoroutineSingletons_entriesInitialized = true;
    CoroutineSingletons_COROUTINE_SUSPENDED_instance = new CoroutineSingletons('COROUTINE_SUSPENDED', 0);
    CoroutineSingletons_UNDECIDED_instance = new CoroutineSingletons('UNDECIDED', 1);
    CoroutineSingletons_RESUMED_instance = new CoroutineSingletons('RESUMED', 2);
  }
  function CoroutineSingletons(name, ordinal) {
    Enum.call(this, name, ordinal);
  }
  function CoroutineSingletons_COROUTINE_SUSPENDED_getInstance() {
    CoroutineSingletons_initEntries();
    return CoroutineSingletons_COROUTINE_SUSPENDED_instance;
  }
  function enumEntries(entries) {
    return new EnumEntriesList(entries);
  }
  function EnumEntriesList(entries) {
    AbstractList.call(this);
    this.kd_1 = entries;
  }
  protoOf(EnumEntriesList).j = function () {
    return this.kd_1.length;
  };
  protoOf(EnumEntriesList).k = function (index) {
    Companion_instance_4.u3(index, this.kd_1.length);
    return this.kd_1[index];
  };
  protoOf(EnumEntriesList).ld = function (element) {
    if (element === null)
      return false;
    var target = getOrNull(this.kd_1, element.c2_1);
    return target === element;
  };
  protoOf(EnumEntriesList).o1 = function (element) {
    if (!(element instanceof Enum))
      return false;
    return this.ld(element instanceof Enum ? element : THROW_CCE());
  };
  protoOf(EnumEntriesList).md = function (element) {
    if (element === null)
      return -1;
    var ordinal = element.c2_1;
    var target = getOrNull(this.kd_1, ordinal);
    return target === element ? ordinal : -1;
  };
  protoOf(EnumEntriesList).p1 = function (element) {
    if (!(element instanceof Enum))
      return -1;
    return this.md(element instanceof Enum ? element : THROW_CCE());
  };
  function getProgressionLastElement(start, end, step) {
    var tmp;
    if (step > 0) {
      tmp = start >= end ? end : end - differenceModulo(end, start, step) | 0;
    } else if (step < 0) {
      tmp = start <= end ? end : end + differenceModulo(start, end, -step | 0) | 0;
    } else {
      throw IllegalArgumentException_init_$Create$_0('Step is zero.');
    }
    return tmp;
  }
  function differenceModulo(a, b, c) {
    return mod(mod(a, c) - mod(b, c) | 0, c);
  }
  function mod(a, b) {
    var mod = a % b | 0;
    return mod >= 0 ? mod : mod + b | 0;
  }
  function Default() {
    Default_instance = this;
    Random.call(this);
    this.nd_1 = defaultPlatformRandom();
  }
  protoOf(Default).od = function (bitCount) {
    return this.nd_1.od(bitCount);
  };
  protoOf(Default).nc = function () {
    return this.nd_1.nc();
  };
  protoOf(Default).pd = function (until) {
    return this.nd_1.pd(until);
  };
  protoOf(Default).qd = function (from, until) {
    return this.nd_1.qd(from, until);
  };
  var Default_instance;
  function Default_getInstance() {
    if (Default_instance == null)
      new Default();
    return Default_instance;
  }
  function Random() {
    Default_getInstance();
  }
  protoOf(Random).nc = function () {
    return this.od(32);
  };
  protoOf(Random).pd = function (until) {
    return this.qd(0, until);
  };
  protoOf(Random).qd = function (from, until) {
    checkRangeBounds(from, until);
    var n = until - from | 0;
    if (n > 0 || n === -2147483648) {
      var tmp;
      if ((n & (-n | 0)) === n) {
        var bitCount = fastLog2(n);
        tmp = this.od(bitCount);
      } else {
        var v;
        do {
          var bits = this.nc() >>> 1 | 0;
          v = bits % n | 0;
        }
         while (((bits - v | 0) + (n - 1 | 0) | 0) < 0);
        tmp = v;
      }
      var rnd = tmp;
      return from + rnd | 0;
    } else {
      while (true) {
        var rnd_0 = this.nc();
        if (from <= rnd_0 ? rnd_0 < until : false)
          return rnd_0;
      }
    }
  };
  function checkRangeBounds(from, until) {
    var tmp;
    if (!(until > from)) {
      // Inline function 'kotlin.random.checkRangeBounds.<anonymous>' call
      var message = boundsErrorMessage(from, until);
      throw IllegalArgumentException_init_$Create$_0(toString_1(message));
    }
    return tmp;
  }
  function fastLog2(value) {
    // Inline function 'kotlin.countLeadingZeroBits' call
    return 31 - clz32(value) | 0;
  }
  function boundsErrorMessage(from, until) {
    return 'Random range is empty: [' + toString_1(from) + ', ' + toString_1(until) + ').';
  }
  function Random_0(seed) {
    return XorWowRandom_init_$Create$(seed, seed >> 31);
  }
  function takeUpperBits(_this__u8e3s4, bitCount) {
    return (_this__u8e3s4 >>> (32 - bitCount | 0) | 0) & (-bitCount | 0) >> 31;
  }
  function XorWowRandom_init_$Init$(seed1, seed2, $this) {
    XorWowRandom.call($this, seed1, seed2, 0, 0, ~seed1, seed1 << 10 ^ (seed2 >>> 4 | 0));
    return $this;
  }
  function XorWowRandom_init_$Create$(seed1, seed2) {
    return XorWowRandom_init_$Init$(seed1, seed2, objectCreate(protoOf(XorWowRandom)));
  }
  function Companion_8() {
    Companion_instance_8 = this;
    this.rd_1 = new Long(0, 0);
  }
  var Companion_instance_8;
  function Companion_getInstance_8() {
    if (Companion_instance_8 == null)
      new Companion_8();
    return Companion_instance_8;
  }
  function XorWowRandom(x, y, z, w, v, addend) {
    Companion_getInstance_8();
    Random.call(this);
    this.sd_1 = x;
    this.td_1 = y;
    this.ud_1 = z;
    this.vd_1 = w;
    this.wd_1 = v;
    this.xd_1 = addend;
    // Inline function 'kotlin.require' call
    if (!!((this.sd_1 | this.td_1 | this.ud_1 | this.vd_1 | this.wd_1) === 0)) {
      // Inline function 'kotlin.random.XorWowRandom.<anonymous>' call
      var message = 'Initial state must have at least one non-zero element.';
      throw IllegalArgumentException_init_$Create$_0(toString_1(message));
    }
    // Inline function 'kotlin.repeat' call
    var inductionVariable = 0;
    if (inductionVariable < 64)
      do {
        var index = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        // Inline function 'kotlin.random.XorWowRandom.<anonymous>' call
        this.nc();
      }
       while (inductionVariable < 64);
  }
  protoOf(XorWowRandom).nc = function () {
    var t = this.sd_1;
    t = t ^ (t >>> 2 | 0);
    this.sd_1 = this.td_1;
    this.td_1 = this.ud_1;
    this.ud_1 = this.vd_1;
    var v0 = this.wd_1;
    this.vd_1 = v0;
    t = t ^ t << 1 ^ v0 ^ v0 << 4;
    this.wd_1 = t;
    this.xd_1 = this.xd_1 + 362437 | 0;
    return t + this.xd_1 | 0;
  };
  protoOf(XorWowRandom).od = function (bitCount) {
    return takeUpperBits(this.nc(), bitCount);
  };
  function Companion_9() {
    Companion_instance_9 = this;
    this.w_1 = new IntRange(1, 0);
  }
  var Companion_instance_9;
  function Companion_getInstance_9() {
    if (Companion_instance_9 == null)
      new Companion_9();
    return Companion_instance_9;
  }
  function IntRange(start, endInclusive) {
    Companion_getInstance_9();
    IntProgression.call(this, start, endInclusive, 1);
  }
  protoOf(IntRange).t = function () {
    return this.yd_1;
  };
  protoOf(IntRange).u = function () {
    return this.zd_1;
  };
  protoOf(IntRange).l = function () {
    return this.yd_1 > this.zd_1;
  };
  protoOf(IntRange).equals = function (other) {
    var tmp;
    if (other instanceof IntRange) {
      tmp = this.l() && other.l() || (this.yd_1 === other.yd_1 && this.zd_1 === other.zd_1);
    } else {
      tmp = false;
    }
    return tmp;
  };
  protoOf(IntRange).hashCode = function () {
    return this.l() ? -1 : imul(31, this.yd_1) + this.zd_1 | 0;
  };
  protoOf(IntRange).toString = function () {
    return '' + this.yd_1 + '..' + this.zd_1;
  };
  function IntProgressionIterator(first, last, step) {
    IntIterator.call(this);
    this.be_1 = step;
    this.ce_1 = last;
    this.de_1 = this.be_1 > 0 ? first <= last : first >= last;
    this.ee_1 = this.de_1 ? first : this.ce_1;
  }
  protoOf(IntProgressionIterator).h = function () {
    return this.de_1;
  };
  protoOf(IntProgressionIterator).nc = function () {
    var value = this.ee_1;
    if (value === this.ce_1) {
      if (!this.de_1)
        throw NoSuchElementException_init_$Create$();
      this.de_1 = false;
    } else {
      this.ee_1 = this.ee_1 + this.be_1 | 0;
    }
    return value;
  };
  function Companion_10() {
  }
  protoOf(Companion_10).x = function (rangeStart, rangeEnd, step) {
    return new IntProgression(rangeStart, rangeEnd, step);
  };
  var Companion_instance_10;
  function Companion_getInstance_10() {
    return Companion_instance_10;
  }
  function IntProgression(start, endInclusive, step) {
    if (step === 0)
      throw IllegalArgumentException_init_$Create$_0('Step must be non-zero.');
    if (step === -2147483648)
      throw IllegalArgumentException_init_$Create$_0('Step must be greater than Int.MIN_VALUE to avoid overflow on negation.');
    this.yd_1 = start;
    this.zd_1 = getProgressionLastElement(start, endInclusive, step);
    this.ae_1 = step;
  }
  protoOf(IntProgression).g = function () {
    return new IntProgressionIterator(this.yd_1, this.zd_1, this.ae_1);
  };
  protoOf(IntProgression).l = function () {
    return this.ae_1 > 0 ? this.yd_1 > this.zd_1 : this.yd_1 < this.zd_1;
  };
  protoOf(IntProgression).equals = function (other) {
    var tmp;
    if (other instanceof IntProgression) {
      tmp = this.l() && other.l() || (this.yd_1 === other.yd_1 && this.zd_1 === other.zd_1 && this.ae_1 === other.ae_1);
    } else {
      tmp = false;
    }
    return tmp;
  };
  protoOf(IntProgression).hashCode = function () {
    return this.l() ? -1 : imul(31, imul(31, this.yd_1) + this.zd_1 | 0) + this.ae_1 | 0;
  };
  protoOf(IntProgression).toString = function () {
    return this.ae_1 > 0 ? '' + this.yd_1 + '..' + this.zd_1 + ' step ' + this.ae_1 : '' + this.yd_1 + ' downTo ' + this.zd_1 + ' step ' + (-this.ae_1 | 0);
  };
  function appendElement(_this__u8e3s4, element, transform) {
    if (!(transform == null))
      _this__u8e3s4.f(transform(element));
    else {
      if (element == null ? true : isCharSequence(element))
        _this__u8e3s4.f(element);
      else {
        if (element instanceof Char)
          _this__u8e3s4.l7(element.c1_1);
        else {
          _this__u8e3s4.f(toString_1(element));
        }
      }
    }
  }
  function equals_0(_this__u8e3s4, other, ignoreCase) {
    ignoreCase = ignoreCase === VOID ? false : ignoreCase;
    if (_this__u8e3s4 === other)
      return true;
    if (!ignoreCase)
      return false;
    var thisUpper = uppercaseChar(_this__u8e3s4);
    var otherUpper = uppercaseChar(other);
    var tmp;
    if (thisUpper === otherUpper) {
      tmp = true;
    } else {
      // Inline function 'kotlin.text.lowercaseChar' call
      // Inline function 'kotlin.text.lowercase' call
      // Inline function 'kotlin.js.asDynamic' call
      // Inline function 'kotlin.js.unsafeCast' call
      var tmp$ret$2 = toString(thisUpper).toLowerCase();
      var tmp_0 = charSequenceGet(tmp$ret$2, 0);
      // Inline function 'kotlin.text.lowercaseChar' call
      // Inline function 'kotlin.text.lowercase' call
      // Inline function 'kotlin.js.asDynamic' call
      // Inline function 'kotlin.js.unsafeCast' call
      var tmp$ret$6 = toString(otherUpper).toLowerCase();
      tmp = tmp_0 === charSequenceGet(tmp$ret$6, 0);
    }
    return tmp;
  }
  function toIntOrNull(_this__u8e3s4, radix) {
    checkRadix(radix);
    var length = _this__u8e3s4.length;
    if (length === 0)
      return null;
    var start;
    var isNegative;
    var limit;
    var firstChar = charSequenceGet(_this__u8e3s4, 0);
    if (Char__compareTo_impl_ypi4mb(firstChar, _Char___init__impl__6a9atx(48)) < 0) {
      if (length === 1)
        return null;
      start = 1;
      if (firstChar === _Char___init__impl__6a9atx(45)) {
        isNegative = true;
        limit = -2147483648;
      } else if (firstChar === _Char___init__impl__6a9atx(43)) {
        isNegative = false;
        limit = -2147483647;
      } else
        return null;
    } else {
      start = 0;
      isNegative = false;
      limit = -2147483647;
    }
    var limitForMaxRadix = -59652323;
    var limitBeforeMul = limitForMaxRadix;
    var result = 0;
    var inductionVariable = start;
    if (inductionVariable < length)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var digit = digitOf(charSequenceGet(_this__u8e3s4, i), radix);
        if (digit < 0)
          return null;
        if (result < limitBeforeMul) {
          if (limitBeforeMul === limitForMaxRadix) {
            limitBeforeMul = limit / radix | 0;
            if (result < limitBeforeMul) {
              return null;
            }
          } else {
            return null;
          }
        }
        result = imul(result, radix);
        if (result < (limit + digit | 0))
          return null;
        result = result - digit | 0;
      }
       while (inductionVariable < length);
    return isNegative ? result : -result | 0;
  }
  function numberFormatError(input) {
    throw NumberFormatException_init_$Create$_0("Invalid number format: '" + input + "'");
  }
  function toIntOrNull_0(_this__u8e3s4) {
    return toIntOrNull(_this__u8e3s4, 10);
  }
  function isBlank(_this__u8e3s4) {
    var tmp$ret$1;
    $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 'kotlin.text.isBlank.<anonymous>' call
        if (!isWhitespace(element)) {
          tmp$ret$1 = false;
          break $l$block;
        }
      }
      tmp$ret$1 = true;
    }
    return tmp$ret$1;
  }
  function contains_1(_this__u8e3s4, char, ignoreCase) {
    ignoreCase = ignoreCase === VOID ? false : ignoreCase;
    return indexOf_1(_this__u8e3s4, char, VOID, ignoreCase) >= 0;
  }
  function split(_this__u8e3s4, delimiters, ignoreCase, limit) {
    ignoreCase = ignoreCase === VOID ? false : ignoreCase;
    limit = limit === VOID ? 0 : limit;
    if (delimiters.length === 1) {
      var delimiter = delimiters[0];
      // Inline function 'kotlin.text.isEmpty' call
      if (!(charSequenceLength(delimiter) === 0)) {
        return split_0(_this__u8e3s4, delimiter, ignoreCase, limit);
      }
    }
    // Inline function 'kotlin.collections.map' call
    var this_0 = asIterable(rangesDelimitedBy(_this__u8e3s4, delimiters, VOID, ignoreCase, limit));
    // Inline function 'kotlin.collections.mapTo' call
    var destination = ArrayList_init_$Create$_0(collectionSizeOrDefault(this_0, 10));
    var _iterator__ex2g4s = this_0.g();
    while (_iterator__ex2g4s.h()) {
      var item = _iterator__ex2g4s.i();
      // Inline function 'kotlin.text.split.<anonymous>' call
      var tmp$ret$1 = substring(_this__u8e3s4, item);
      destination.e(tmp$ret$1);
    }
    return destination;
  }
  function startsWith_0(_this__u8e3s4, char, ignoreCase) {
    ignoreCase = ignoreCase === VOID ? false : ignoreCase;
    return charSequenceLength(_this__u8e3s4) > 0 && equals_0(charSequenceGet(_this__u8e3s4, 0), char, ignoreCase);
  }
  function indexOf_0(_this__u8e3s4, string, startIndex, ignoreCase) {
    startIndex = startIndex === VOID ? 0 : startIndex;
    ignoreCase = ignoreCase === VOID ? false : ignoreCase;
    var tmp;
    var tmp_0;
    if (ignoreCase) {
      tmp_0 = true;
    } else {
      tmp_0 = !(typeof _this__u8e3s4 === 'string');
    }
    if (tmp_0) {
      tmp = indexOf_2(_this__u8e3s4, string, startIndex, charSequenceLength(_this__u8e3s4), ignoreCase);
    } else {
      // Inline function 'kotlin.text.nativeIndexOf' call
      // Inline function 'kotlin.js.asDynamic' call
      tmp = _this__u8e3s4.indexOf(string, startIndex);
    }
    return tmp;
  }
  function lineSequence(_this__u8e3s4) {
    // Inline function 'kotlin.sequences.Sequence' call
    return new lineSequence$$inlined$Sequence$1(_this__u8e3s4);
  }
  function get_lastIndex_1(_this__u8e3s4) {
    return charSequenceLength(_this__u8e3s4) - 1 | 0;
  }
  function regionMatchesImpl(_this__u8e3s4, thisOffset, other, otherOffset, length, ignoreCase) {
    if (otherOffset < 0 || thisOffset < 0 || thisOffset > (charSequenceLength(_this__u8e3s4) - length | 0) || otherOffset > (charSequenceLength(other) - length | 0)) {
      return false;
    }
    var inductionVariable = 0;
    if (inductionVariable < length)
      do {
        var index = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        if (!equals_0(charSequenceGet(_this__u8e3s4, thisOffset + index | 0), charSequenceGet(other, otherOffset + index | 0), ignoreCase))
          return false;
      }
       while (inductionVariable < length);
    return true;
  }
  function indexOf_1(_this__u8e3s4, char, startIndex, ignoreCase) {
    startIndex = startIndex === VOID ? 0 : startIndex;
    ignoreCase = ignoreCase === VOID ? false : ignoreCase;
    var tmp;
    var tmp_0;
    if (ignoreCase) {
      tmp_0 = true;
    } else {
      tmp_0 = !(typeof _this__u8e3s4 === 'string');
    }
    if (tmp_0) {
      // Inline function 'kotlin.charArrayOf' call
      var tmp$ret$0 = charArrayOf([char]);
      tmp = indexOfAny(_this__u8e3s4, tmp$ret$0, startIndex, ignoreCase);
    } else {
      // Inline function 'kotlin.text.nativeIndexOf' call
      // Inline function 'kotlin.text.nativeIndexOf' call
      var str = toString(char);
      // Inline function 'kotlin.js.asDynamic' call
      tmp = _this__u8e3s4.indexOf(str, startIndex);
    }
    return tmp;
  }
  function split_0(_this__u8e3s4, delimiter, ignoreCase, limit) {
    requireNonNegativeLimit(limit);
    var currentOffset = 0;
    var nextIndex = indexOf_0(_this__u8e3s4, delimiter, currentOffset, ignoreCase);
    if (nextIndex === -1 || limit === 1) {
      return listOf(toString_1(_this__u8e3s4));
    }
    var isLimited = limit > 0;
    var result = ArrayList_init_$Create$_0(isLimited ? coerceAtMost(limit, 10) : 10);
    $l$loop: do {
      var tmp1 = currentOffset;
      // Inline function 'kotlin.text.substring' call
      var endIndex = nextIndex;
      var tmp$ret$0 = toString_1(charSequenceSubSequence(_this__u8e3s4, tmp1, endIndex));
      result.e(tmp$ret$0);
      currentOffset = nextIndex + delimiter.length | 0;
      if (isLimited && result.j() === (limit - 1 | 0))
        break $l$loop;
      nextIndex = indexOf_0(_this__u8e3s4, delimiter, currentOffset, ignoreCase);
    }
     while (!(nextIndex === -1));
    var tmp4 = currentOffset;
    // Inline function 'kotlin.text.substring' call
    var endIndex_0 = charSequenceLength(_this__u8e3s4);
    var tmp$ret$1 = toString_1(charSequenceSubSequence(_this__u8e3s4, tmp4, endIndex_0));
    result.e(tmp$ret$1);
    return result;
  }
  function substring(_this__u8e3s4, range) {
    return toString_1(charSequenceSubSequence(_this__u8e3s4, range.t(), range.u() + 1 | 0));
  }
  function rangesDelimitedBy(_this__u8e3s4, delimiters, startIndex, ignoreCase, limit) {
    startIndex = startIndex === VOID ? 0 : startIndex;
    ignoreCase = ignoreCase === VOID ? false : ignoreCase;
    limit = limit === VOID ? 0 : limit;
    requireNonNegativeLimit(limit);
    var delimitersList = asList(delimiters);
    return new DelimitedRangesSequence(_this__u8e3s4, startIndex, limit, rangesDelimitedBy$lambda(delimitersList, ignoreCase));
  }
  function indexOf_2(_this__u8e3s4, other, startIndex, endIndex, ignoreCase, last) {
    last = last === VOID ? false : last;
    var indices = !last ? numberRangeToNumber(coerceAtLeast(startIndex, 0), coerceAtMost(endIndex, charSequenceLength(_this__u8e3s4))) : downTo(coerceAtMost(startIndex, get_lastIndex_1(_this__u8e3s4)), coerceAtLeast(endIndex, 0));
    var tmp;
    if (typeof _this__u8e3s4 === 'string') {
      tmp = typeof other === 'string';
    } else {
      tmp = false;
    }
    if (tmp) {
      var inductionVariable = indices.yd_1;
      var last_0 = indices.zd_1;
      var step = indices.ae_1;
      if (step > 0 && inductionVariable <= last_0 || (step < 0 && last_0 <= inductionVariable))
        do {
          var index = inductionVariable;
          inductionVariable = inductionVariable + step | 0;
          if (regionMatches(other, 0, _this__u8e3s4, index, other.length, ignoreCase))
            return index;
        }
         while (!(index === last_0));
    } else {
      var inductionVariable_0 = indices.yd_1;
      var last_1 = indices.zd_1;
      var step_0 = indices.ae_1;
      if (step_0 > 0 && inductionVariable_0 <= last_1 || (step_0 < 0 && last_1 <= inductionVariable_0))
        do {
          var index_0 = inductionVariable_0;
          inductionVariable_0 = inductionVariable_0 + step_0 | 0;
          if (regionMatchesImpl(other, 0, _this__u8e3s4, index_0, charSequenceLength(other), ignoreCase))
            return index_0;
        }
         while (!(index_0 === last_1));
    }
    return -1;
  }
  function State() {
    this.fe_1 = 0;
    this.ge_1 = 1;
    this.he_1 = 2;
  }
  var State_instance;
  function State_getInstance() {
    return State_instance;
  }
  function LinesIterator(string) {
    this.ie_1 = string;
    this.je_1 = 0;
    this.ke_1 = 0;
    this.le_1 = 0;
    this.me_1 = 0;
  }
  protoOf(LinesIterator).h = function () {
    if (!(this.je_1 === 0)) {
      return this.je_1 === 1;
    }
    if (this.me_1 < 0) {
      this.je_1 = 2;
      return false;
    }
    var _delimiterLength = -1;
    var _delimiterStartIndex = charSequenceLength(this.ie_1);
    var inductionVariable = this.ke_1;
    var last = charSequenceLength(this.ie_1);
    if (inductionVariable < last)
      $l$loop: do {
        var idx = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var c = charSequenceGet(this.ie_1, idx);
        if (c === _Char___init__impl__6a9atx(10) || c === _Char___init__impl__6a9atx(13)) {
          _delimiterLength = c === _Char___init__impl__6a9atx(13) && (idx + 1 | 0) < charSequenceLength(this.ie_1) && charSequenceGet(this.ie_1, idx + 1 | 0) === _Char___init__impl__6a9atx(10) ? 2 : 1;
          _delimiterStartIndex = idx;
          break $l$loop;
        }
      }
       while (inductionVariable < last);
    this.je_1 = 1;
    this.me_1 = _delimiterLength;
    this.le_1 = _delimiterStartIndex;
    return true;
  };
  protoOf(LinesIterator).i = function () {
    if (!this.h()) {
      throw NoSuchElementException_init_$Create$();
    }
    this.je_1 = 0;
    var lastIndex = this.le_1;
    var firstIndex = this.ke_1;
    this.ke_1 = this.le_1 + this.me_1 | 0;
    // Inline function 'kotlin.text.substring' call
    var this_0 = this.ie_1;
    return toString_1(charSequenceSubSequence(this_0, firstIndex, lastIndex));
  };
  function indexOfAny(_this__u8e3s4, chars, startIndex, ignoreCase) {
    startIndex = startIndex === VOID ? 0 : startIndex;
    ignoreCase = ignoreCase === VOID ? false : ignoreCase;
    var tmp;
    if (!ignoreCase && chars.length === 1) {
      tmp = typeof _this__u8e3s4 === 'string';
    } else {
      tmp = false;
    }
    if (tmp) {
      var char = single(chars);
      // Inline function 'kotlin.text.nativeIndexOf' call
      // Inline function 'kotlin.text.nativeIndexOf' call
      var str = toString(char);
      // Inline function 'kotlin.js.asDynamic' call
      return _this__u8e3s4.indexOf(str, startIndex);
    }
    var inductionVariable = coerceAtLeast(startIndex, 0);
    var last = get_lastIndex_1(_this__u8e3s4);
    if (inductionVariable <= last)
      do {
        var index = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var charAtIndex = charSequenceGet(_this__u8e3s4, index);
        var tmp$ret$4;
        $l$block: {
          // Inline function 'kotlin.collections.any' call
          var inductionVariable_0 = 0;
          var last_0 = chars.length;
          while (inductionVariable_0 < last_0) {
            var element = chars[inductionVariable_0];
            inductionVariable_0 = inductionVariable_0 + 1 | 0;
            // Inline function 'kotlin.text.indexOfAny.<anonymous>' call
            if (equals_0(element, charAtIndex, ignoreCase)) {
              tmp$ret$4 = true;
              break $l$block;
            }
          }
          tmp$ret$4 = false;
        }
        if (tmp$ret$4)
          return index;
      }
       while (!(index === last));
    return -1;
  }
  function requireNonNegativeLimit(limit) {
    var tmp;
    if (!(limit >= 0)) {
      // Inline function 'kotlin.text.requireNonNegativeLimit.<anonymous>' call
      var message = 'Limit must be non-negative, but was ' + limit;
      throw IllegalArgumentException_init_$Create$_0(toString_1(message));
    }
    return tmp;
  }
  function calcNext($this) {
    if ($this.pe_1 < 0) {
      $this.ne_1 = 0;
      $this.qe_1 = null;
    } else {
      var tmp;
      var tmp_0;
      if ($this.se_1.ve_1 > 0) {
        $this.re_1 = $this.re_1 + 1 | 0;
        tmp_0 = $this.re_1 >= $this.se_1.ve_1;
      } else {
        tmp_0 = false;
      }
      if (tmp_0) {
        tmp = true;
      } else {
        tmp = $this.pe_1 > charSequenceLength($this.se_1.te_1);
      }
      if (tmp) {
        $this.qe_1 = numberRangeToNumber($this.oe_1, get_lastIndex_1($this.se_1.te_1));
        $this.pe_1 = -1;
      } else {
        var match = $this.se_1.we_1($this.se_1.te_1, $this.pe_1);
        if (match == null) {
          $this.qe_1 = numberRangeToNumber($this.oe_1, get_lastIndex_1($this.se_1.te_1));
          $this.pe_1 = -1;
        } else {
          var index = match.lc();
          var length = match.mc();
          $this.qe_1 = until($this.oe_1, index);
          $this.oe_1 = index + length | 0;
          $this.pe_1 = $this.oe_1 + (length === 0 ? 1 : 0) | 0;
        }
      }
      $this.ne_1 = 1;
    }
  }
  function DelimitedRangesSequence$iterator$1(this$0) {
    this.se_1 = this$0;
    this.ne_1 = -1;
    this.oe_1 = coerceIn_0(this$0.ue_1, 0, charSequenceLength(this$0.te_1));
    this.pe_1 = this.oe_1;
    this.qe_1 = null;
    this.re_1 = 0;
  }
  protoOf(DelimitedRangesSequence$iterator$1).i = function () {
    if (this.ne_1 === -1) {
      calcNext(this);
    }
    if (this.ne_1 === 0)
      throw NoSuchElementException_init_$Create$();
    var tmp = this.qe_1;
    var result = tmp instanceof IntRange ? tmp : THROW_CCE();
    this.qe_1 = null;
    this.ne_1 = -1;
    return result;
  };
  protoOf(DelimitedRangesSequence$iterator$1).h = function () {
    if (this.ne_1 === -1) {
      calcNext(this);
    }
    return this.ne_1 === 1;
  };
  function DelimitedRangesSequence(input, startIndex, limit, getNextMatch) {
    this.te_1 = input;
    this.ue_1 = startIndex;
    this.ve_1 = limit;
    this.we_1 = getNextMatch;
  }
  protoOf(DelimitedRangesSequence).g = function () {
    return new DelimitedRangesSequence$iterator$1(this);
  };
  function findAnyOf(_this__u8e3s4, strings, startIndex, ignoreCase, last) {
    if (!ignoreCase && strings.j() === 1) {
      var string = single_0(strings);
      var index = !last ? indexOf_0(_this__u8e3s4, string, startIndex) : lastIndexOf(_this__u8e3s4, string, startIndex);
      return index < 0 ? null : to(index, string);
    }
    var indices = !last ? numberRangeToNumber(coerceAtLeast(startIndex, 0), charSequenceLength(_this__u8e3s4)) : downTo(coerceAtMost(startIndex, get_lastIndex_1(_this__u8e3s4)), 0);
    if (typeof _this__u8e3s4 === 'string') {
      var inductionVariable = indices.yd_1;
      var last_0 = indices.zd_1;
      var step = indices.ae_1;
      if (step > 0 && inductionVariable <= last_0 || (step < 0 && last_0 <= inductionVariable))
        do {
          var index_0 = inductionVariable;
          inductionVariable = inductionVariable + step | 0;
          var tmp$ret$1;
          $l$block: {
            // Inline function 'kotlin.collections.firstOrNull' call
            var _iterator__ex2g4s = strings.g();
            while (_iterator__ex2g4s.h()) {
              var element = _iterator__ex2g4s.i();
              // Inline function 'kotlin.text.findAnyOf.<anonymous>' call
              if (regionMatches(element, 0, _this__u8e3s4, index_0, element.length, ignoreCase)) {
                tmp$ret$1 = element;
                break $l$block;
              }
            }
            tmp$ret$1 = null;
          }
          var matchingString = tmp$ret$1;
          if (!(matchingString == null))
            return to(index_0, matchingString);
        }
         while (!(index_0 === last_0));
    } else {
      var inductionVariable_0 = indices.yd_1;
      var last_1 = indices.zd_1;
      var step_0 = indices.ae_1;
      if (step_0 > 0 && inductionVariable_0 <= last_1 || (step_0 < 0 && last_1 <= inductionVariable_0))
        do {
          var index_1 = inductionVariable_0;
          inductionVariable_0 = inductionVariable_0 + step_0 | 0;
          var tmp$ret$3;
          $l$block_0: {
            // Inline function 'kotlin.collections.firstOrNull' call
            var _iterator__ex2g4s_0 = strings.g();
            while (_iterator__ex2g4s_0.h()) {
              var element_0 = _iterator__ex2g4s_0.i();
              // Inline function 'kotlin.text.findAnyOf.<anonymous>' call
              if (regionMatchesImpl(element_0, 0, _this__u8e3s4, index_1, element_0.length, ignoreCase)) {
                tmp$ret$3 = element_0;
                break $l$block_0;
              }
            }
            tmp$ret$3 = null;
          }
          var matchingString_0 = tmp$ret$3;
          if (!(matchingString_0 == null))
            return to(index_1, matchingString_0);
        }
         while (!(index_1 === last_1));
    }
    return null;
  }
  function lastIndexOf(_this__u8e3s4, string, startIndex, ignoreCase) {
    startIndex = startIndex === VOID ? get_lastIndex_1(_this__u8e3s4) : startIndex;
    ignoreCase = ignoreCase === VOID ? false : ignoreCase;
    var tmp;
    var tmp_0;
    if (ignoreCase) {
      tmp_0 = true;
    } else {
      tmp_0 = !(typeof _this__u8e3s4 === 'string');
    }
    if (tmp_0) {
      tmp = indexOf_2(_this__u8e3s4, string, startIndex, 0, ignoreCase, true);
    } else {
      // Inline function 'kotlin.text.nativeLastIndexOf' call
      // Inline function 'kotlin.js.asDynamic' call
      tmp = _this__u8e3s4.lastIndexOf(string, startIndex);
    }
    return tmp;
  }
  function lastIndexOf_0(_this__u8e3s4, char, startIndex, ignoreCase) {
    startIndex = startIndex === VOID ? get_lastIndex_1(_this__u8e3s4) : startIndex;
    ignoreCase = ignoreCase === VOID ? false : ignoreCase;
    var tmp;
    var tmp_0;
    if (ignoreCase) {
      tmp_0 = true;
    } else {
      tmp_0 = !(typeof _this__u8e3s4 === 'string');
    }
    if (tmp_0) {
      // Inline function 'kotlin.charArrayOf' call
      var tmp$ret$0 = charArrayOf([char]);
      tmp = lastIndexOfAny(_this__u8e3s4, tmp$ret$0, startIndex, ignoreCase);
    } else {
      // Inline function 'kotlin.text.nativeLastIndexOf' call
      // Inline function 'kotlin.text.nativeLastIndexOf' call
      var str = toString(char);
      // Inline function 'kotlin.js.asDynamic' call
      tmp = _this__u8e3s4.lastIndexOf(str, startIndex);
    }
    return tmp;
  }
  function contains_2(_this__u8e3s4, other, ignoreCase) {
    ignoreCase = ignoreCase === VOID ? false : ignoreCase;
    var tmp;
    if (typeof other === 'string') {
      tmp = indexOf_0(_this__u8e3s4, other, VOID, ignoreCase) >= 0;
    } else {
      tmp = indexOf_2(_this__u8e3s4, other, 0, charSequenceLength(_this__u8e3s4), ignoreCase) >= 0;
    }
    return tmp;
  }
  function lastIndexOfAny(_this__u8e3s4, chars, startIndex, ignoreCase) {
    startIndex = startIndex === VOID ? get_lastIndex_1(_this__u8e3s4) : startIndex;
    ignoreCase = ignoreCase === VOID ? false : ignoreCase;
    var tmp;
    if (!ignoreCase && chars.length === 1) {
      tmp = typeof _this__u8e3s4 === 'string';
    } else {
      tmp = false;
    }
    if (tmp) {
      var char = single(chars);
      // Inline function 'kotlin.text.nativeLastIndexOf' call
      // Inline function 'kotlin.text.nativeLastIndexOf' call
      var str = toString(char);
      // Inline function 'kotlin.js.asDynamic' call
      return _this__u8e3s4.lastIndexOf(str, startIndex);
    }
    var inductionVariable = coerceAtMost(startIndex, get_lastIndex_1(_this__u8e3s4));
    if (0 <= inductionVariable)
      do {
        var index = inductionVariable;
        inductionVariable = inductionVariable + -1 | 0;
        var charAtIndex = charSequenceGet(_this__u8e3s4, index);
        var tmp$ret$4;
        $l$block: {
          // Inline function 'kotlin.collections.any' call
          var inductionVariable_0 = 0;
          var last = chars.length;
          while (inductionVariable_0 < last) {
            var element = chars[inductionVariable_0];
            inductionVariable_0 = inductionVariable_0 + 1 | 0;
            // Inline function 'kotlin.text.lastIndexOfAny.<anonymous>' call
            if (equals_0(element, charAtIndex, ignoreCase)) {
              tmp$ret$4 = true;
              break $l$block;
            }
          }
          tmp$ret$4 = false;
        }
        if (tmp$ret$4)
          return index;
      }
       while (0 <= inductionVariable);
    return -1;
  }
  function lineSequence$$inlined$Sequence$1($this_lineSequence) {
    this.xe_1 = $this_lineSequence;
  }
  protoOf(lineSequence$$inlined$Sequence$1).g = function () {
    // Inline function 'kotlin.text.lineSequence.<anonymous>' call
    return new LinesIterator(this.xe_1);
  };
  function rangesDelimitedBy$lambda($delimitersList, $ignoreCase) {
    return function ($this$DelimitedRangesSequence, currentIndex) {
      var tmp0_safe_receiver = findAnyOf($this$DelimitedRangesSequence, $delimitersList, currentIndex, $ignoreCase, false);
      var tmp;
      if (tmp0_safe_receiver == null) {
        tmp = null;
      } else {
        // Inline function 'kotlin.let' call
        // Inline function 'kotlin.text.rangesDelimitedBy.<anonymous>.<anonymous>' call
        tmp = to(tmp0_safe_receiver.jc_1, tmp0_safe_receiver.kc_1.length);
      }
      return tmp;
    };
  }
  function UnsafeLazyImpl(initializer) {
    this.ye_1 = initializer;
    this.ze_1 = UNINITIALIZED_VALUE_instance;
  }
  protoOf(UnsafeLazyImpl).t1 = function () {
    if (this.ze_1 === UNINITIALIZED_VALUE_instance) {
      this.ze_1 = ensureNotNull(this.ye_1)();
      this.ye_1 = null;
    }
    var tmp = this.ze_1;
    return (tmp == null ? true : !(tmp == null)) ? tmp : THROW_CCE();
  };
  protoOf(UnsafeLazyImpl).af = function () {
    return !(this.ze_1 === UNINITIALIZED_VALUE_instance);
  };
  protoOf(UnsafeLazyImpl).toString = function () {
    return this.af() ? toString_0(this.t1()) : 'Lazy value not initialized yet.';
  };
  function UNINITIALIZED_VALUE() {
  }
  var UNINITIALIZED_VALUE_instance;
  function UNINITIALIZED_VALUE_getInstance() {
    return UNINITIALIZED_VALUE_instance;
  }
  function _Result___init__impl__xyqfz8(value) {
    return value;
  }
  function _Result___get_value__impl__bjfvqg($this) {
    return $this;
  }
  function _Result___get_isFailure__impl__jpiriv($this) {
    var tmp = _Result___get_value__impl__bjfvqg($this);
    return tmp instanceof Failure;
  }
  function Result__exceptionOrNull_impl_p6xea9($this) {
    var tmp;
    if (_Result___get_value__impl__bjfvqg($this) instanceof Failure) {
      tmp = _Result___get_value__impl__bjfvqg($this).bf_1;
    } else {
      tmp = null;
    }
    return tmp;
  }
  function Companion_11() {
  }
  var Companion_instance_11;
  function Companion_getInstance_11() {
    return Companion_instance_11;
  }
  function Failure(exception) {
    this.bf_1 = exception;
  }
  protoOf(Failure).equals = function (other) {
    var tmp;
    if (other instanceof Failure) {
      tmp = equals(this.bf_1, other.bf_1);
    } else {
      tmp = false;
    }
    return tmp;
  };
  protoOf(Failure).hashCode = function () {
    return hashCode(this.bf_1);
  };
  protoOf(Failure).toString = function () {
    return 'Failure(' + this.bf_1.toString() + ')';
  };
  function createFailure(exception) {
    return new Failure(exception);
  }
  function NotImplementedError(message) {
    message = message === VOID ? 'An operation is not implemented.' : message;
    Error_init_$Init$_0(message, this);
    captureStack(this, NotImplementedError);
  }
  function Pair(first, second) {
    this.jc_1 = first;
    this.kc_1 = second;
  }
  protoOf(Pair).toString = function () {
    return '(' + toString_0(this.jc_1) + ', ' + toString_0(this.kc_1) + ')';
  };
  protoOf(Pair).lc = function () {
    return this.jc_1;
  };
  protoOf(Pair).mc = function () {
    return this.kc_1;
  };
  protoOf(Pair).hashCode = function () {
    var result = this.jc_1 == null ? 0 : hashCode(this.jc_1);
    result = imul(result, 31) + (this.kc_1 == null ? 0 : hashCode(this.kc_1)) | 0;
    return result;
  };
  protoOf(Pair).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof Pair))
      return false;
    var tmp0_other_with_cast = other instanceof Pair ? other : THROW_CCE();
    if (!equals(this.jc_1, tmp0_other_with_cast.jc_1))
      return false;
    if (!equals(this.kc_1, tmp0_other_with_cast.kc_1))
      return false;
    return true;
  };
  function to(_this__u8e3s4, that) {
    return new Pair(_this__u8e3s4, that);
  }
  function Triple(first, second, third) {
    this.cf_1 = first;
    this.df_1 = second;
    this.ef_1 = third;
  }
  protoOf(Triple).toString = function () {
    return '(' + toString_0(this.cf_1) + ', ' + toString_0(this.df_1) + ', ' + toString_0(this.ef_1) + ')';
  };
  protoOf(Triple).lc = function () {
    return this.cf_1;
  };
  protoOf(Triple).mc = function () {
    return this.df_1;
  };
  protoOf(Triple).ff = function () {
    return this.ef_1;
  };
  protoOf(Triple).hashCode = function () {
    var result = this.cf_1 == null ? 0 : hashCode(this.cf_1);
    result = imul(result, 31) + (this.df_1 == null ? 0 : hashCode(this.df_1)) | 0;
    result = imul(result, 31) + (this.ef_1 == null ? 0 : hashCode(this.ef_1)) | 0;
    return result;
  };
  protoOf(Triple).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof Triple))
      return false;
    var tmp0_other_with_cast = other instanceof Triple ? other : THROW_CCE();
    if (!equals(this.cf_1, tmp0_other_with_cast.cf_1))
      return false;
    if (!equals(this.df_1, tmp0_other_with_cast.df_1))
      return false;
    if (!equals(this.ef_1, tmp0_other_with_cast.ef_1))
      return false;
    return true;
  };
  function _UShort___init__impl__jigrne(data) {
    return data;
  }
  function _UShort___get_data__impl__g0245($this) {
    return $this;
  }
  //region block: post-declaration
  protoOf(InternalHashMap).p5 = containsAllEntries;
  protoOf(CombinedContext).fd = plus;
  protoOf(AbstractCoroutineContextElement).q8 = get;
  protoOf(AbstractCoroutineContextElement).ed = fold;
  protoOf(AbstractCoroutineContextElement).dd = minusKey;
  protoOf(AbstractCoroutineContextElement).fd = plus;
  //endregion
  //region block: init
  Companion_instance_0 = new Companion_0();
  Unit_instance = new Unit();
  _stableSortingIsSupported = null;
  Companion_instance_3 = new Companion_3();
  CompletedContinuation_instance = new CompletedContinuation();
  Companion_instance_4 = new Companion_4();
  Companion_instance_5 = new Companion_5();
  Companion_instance_6 = new Companion_6();
  EmptyIterator_instance = new EmptyIterator();
  Key_instance = new Key();
  Companion_instance_10 = new Companion_10();
  State_instance = new State();
  UNINITIALIZED_VALUE_instance = new UNINITIALIZED_VALUE();
  Companion_instance_11 = new Companion_11();
  //endregion
  //region block: exports
  _.$_$ = _.$_$ || {};
  _.$_$.a = getKClassFromExpression;
  _.$_$.b = getKClass;
  _.$_$.c = VOID;
  _.$_$.d = ArrayDeque_init_$Create$;
  _.$_$.e = ArrayList_init_$Create$_0;
  _.$_$.f = ArrayList_init_$Create$;
  _.$_$.g = HashSet_init_$Create$_0;
  _.$_$.h = LinkedHashMap_init_$Create$_0;
  _.$_$.i = LinkedHashMap_init_$Create$;
  _.$_$.j = LinkedHashSet_init_$Create$;
  _.$_$.k = CancellationException_init_$Create$_0;
  _.$_$.l = CancellationException_init_$Init$_1;
  _.$_$.m = StringBuilder_init_$Create$_0;
  _.$_$.n = Error_init_$Init$_1;
  _.$_$.o = Exception_init_$Init$;
  _.$_$.p = Exception_init_$Init$_0;
  _.$_$.q = Exception_init_$Create$_0;
  _.$_$.r = Exception_init_$Init$_1;
  _.$_$.s = IllegalArgumentException_init_$Create$_0;
  _.$_$.t = IllegalArgumentException_init_$Create$_1;
  _.$_$.u = IllegalStateException_init_$Create$_0;
  _.$_$.v = IllegalStateException_init_$Create$_1;
  _.$_$.w = NoSuchElementException_init_$Create$;
  _.$_$.x = RuntimeException_init_$Init$_0;
  _.$_$.y = RuntimeException_init_$Init$_1;
  _.$_$.z = RuntimeException_init_$Create$_1;
  _.$_$.a1 = UnsupportedOperationException_init_$Create$;
  _.$_$.b1 = UnsupportedOperationException_init_$Create$_0;
  _.$_$.c1 = _Char___init__impl__6a9atx;
  _.$_$.d1 = Char__compareTo_impl_ypi4mb;
  _.$_$.e1 = Char__toInt_impl_vasixd;
  _.$_$.f1 = toString;
  _.$_$.g1 = _Result___init__impl__xyqfz8;
  _.$_$.h1 = Result__exceptionOrNull_impl_p6xea9;
  _.$_$.i1 = _Result___get_value__impl__bjfvqg;
  _.$_$.j1 = Key_instance;
  _.$_$.k1 = EmptyCoroutineContext_getInstance;
  _.$_$.l1 = Default_getInstance;
  _.$_$.m1 = PrimitiveClasses_getInstance;
  _.$_$.n1 = Companion_instance_11;
  _.$_$.o1 = Unit_instance;
  _.$_$.p1 = ArrayList;
  _.$_$.q1 = KtList;
  _.$_$.r1 = KtMap;
  _.$_$.s1 = MutableCollection;
  _.$_$.t1 = MutableEntry;
  _.$_$.u1 = RandomAccess;
  _.$_$.v1 = KtSet;
  _.$_$.w1 = addAll_0;
  _.$_$.x1 = asReversed_0;
  _.$_$.y1 = asReversed;
  _.$_$.z1 = collectionSizeOrDefault;
  _.$_$.a2 = copyToArray;
  _.$_$.b2 = emptyList;
  _.$_$.c2 = emptySet;
  _.$_$.d2 = firstOrNull;
  _.$_$.e2 = first;
  _.$_$.f2 = joinToString_0;
  _.$_$.g2 = lastOrNull;
  _.$_$.h2 = last;
  _.$_$.i2 = listOf;
  _.$_$.j2 = listOf_0;
  _.$_$.k2 = mapCapacity;
  _.$_$.l2 = mapOf;
  _.$_$.m2 = max;
  _.$_$.n2 = mutableListOf;
  _.$_$.o2 = plus_0;
  _.$_$.p2 = plus_1;
  _.$_$.q2 = putAll_0;
  _.$_$.r2 = removeAll;
  _.$_$.s2 = removeFirstOrNull;
  _.$_$.t2 = removeLast;
  _.$_$.u2 = setOf;
  _.$_$.v2 = setOf_0;
  _.$_$.w2 = slice;
  _.$_$.x2 = sortWith_0;
  _.$_$.y2 = sortedWith;
  _.$_$.z2 = toList_0;
  _.$_$.a3 = toList;
  _.$_$.b3 = toMap;
  _.$_$.c3 = toMutableList_0;
  _.$_$.d3 = toMutableSet;
  _.$_$.e3 = toSet_0;
  _.$_$.f3 = compareValues;
  _.$_$.g3 = CancellationException;
  _.$_$.h3 = get_COROUTINE_SUSPENDED;
  _.$_$.i3 = createCoroutineUnintercepted;
  _.$_$.j3 = intercepted;
  _.$_$.k3 = startCoroutineUninterceptedOrReturnNonGeneratorVersion;
  _.$_$.l3 = AbstractCoroutineContextElement;
  _.$_$.m3 = AbstractCoroutineContextKey;
  _.$_$.n3 = get_0;
  _.$_$.o3 = minusKey_0;
  _.$_$.p3 = ContinuationInterceptor;
  _.$_$.q3 = Continuation;
  _.$_$.r3 = fold;
  _.$_$.s3 = get;
  _.$_$.t3 = minusKey;
  _.$_$.u3 = Element;
  _.$_$.v3 = plus;
  _.$_$.w3 = CoroutineImpl;
  _.$_$.x3 = startCoroutine;
  _.$_$.y3 = enumEntries;
  _.$_$.z3 = println;
  _.$_$.a4 = FunctionAdapter;
  _.$_$.b4 = anyToString;
  _.$_$.c4 = captureStack;
  _.$_$.d4 = charArrayOf;
  _.$_$.e4 = charArray;
  _.$_$.f4 = charSequenceGet;
  _.$_$.g4 = charSequenceLength;
  _.$_$.h4 = compareTo;
  _.$_$.i4 = defineProp;
  _.$_$.j4 = equals;
  _.$_$.k4 = fillArrayVal;
  _.$_$.l4 = getBooleanHashCode;
  _.$_$.m4 = getNumberHashCode;
  _.$_$.n4 = getPropertyCallableRef;
  _.$_$.o4 = getStringHashCode;
  _.$_$.p4 = hashCode;
  _.$_$.q4 = initMetadataForClass;
  _.$_$.r4 = initMetadataForCompanion;
  _.$_$.s4 = initMetadataForInterface;
  _.$_$.t4 = initMetadataForLambda;
  _.$_$.u4 = initMetadataForObject;
  _.$_$.v4 = isInterface;
  _.$_$.w4 = get_js;
  _.$_$.x4 = numberRangeToNumber;
  _.$_$.y4 = numberToChar;
  _.$_$.z4 = numberToDouble;
  _.$_$.a5 = numberToInt;
  _.$_$.b5 = numberToLong;
  _.$_$.c5 = objectCreate;
  _.$_$.d5 = protoOf;
  _.$_$.e5 = toByte;
  _.$_$.f5 = toString_1;
  _.$_$.g5 = roundToInt;
  _.$_$.h5 = round;
  _.$_$.i5 = coerceIn;
  _.$_$.j5 = until;
  _.$_$.k5 = KMutableProperty1;
  _.$_$.l5 = KProperty1;
  _.$_$.m5 = concatToString;
  _.$_$.n5 = concatToString_0;
  _.$_$.o5 = contains_2;
  _.$_$.p5 = contains_1;
  _.$_$.q5 = endsWith;
  _.$_$.r5 = firstOrNull_0;
  _.$_$.s5 = isBlank;
  _.$_$.t5 = lastIndexOf_0;
  _.$_$.u5 = repeat;
  _.$_$.v5 = split;
  _.$_$.w5 = startsWith;
  _.$_$.x5 = startsWith_0;
  _.$_$.y5 = toCharArray;
  _.$_$.z5 = toDoubleOrNull;
  _.$_$.a6 = toDouble;
  _.$_$.b6 = toInt_0;
  _.$_$.c6 = toInt;
  _.$_$.d6 = Char;
  _.$_$.e6 = Comparable;
  _.$_$.f6 = Comparator;
  _.$_$.g6 = Enum;
  _.$_$.h6 = Error_0;
  _.$_$.i6 = Exception;
  _.$_$.j6 = Long;
  _.$_$.k6 = NotImplementedError;
  _.$_$.l6 = Pair;
  _.$_$.m6 = RuntimeException;
  _.$_$.n6 = THROW_CCE;
  _.$_$.o6 = THROW_IAE;
  _.$_$.p6 = Triple;
  _.$_$.q6 = UnsupportedOperationException;
  _.$_$.r6 = addSuppressed;
  _.$_$.s6 = createFailure;
  _.$_$.t6 = ensureNotNull;
  _.$_$.u6 = lazy;
  _.$_$.v6 = noWhenBranchMatchedException;
  _.$_$.w6 = printStackTrace;
  _.$_$.x6 = throwUninitializedPropertyAccessException;
  _.$_$.y6 = toString_0;
  _.$_$.z6 = to;
  //endregion
  return _;
}));

//# sourceMappingURL=kotlin-kotlin-stdlib.js.map