Exit Full View

Games Cupboard / gamescupboard-client / build / compileSync / main / productionExecutable / kotlin / korlibs-korio.js

(function (root, factory) {
  if (typeof define === 'function' && define.amd)
    define(['exports', './kotlin-kotlin-stdlib-js-ir.js', './kotlinx.coroutines-kotlinx-coroutines-core-js-ir.js', './korlibs-klogger.js', './korlibs-klock.js', './korlibs-kds.js', './korlibs-kmem.js', './korlibs-krypto.js'], factory);
  else if (typeof exports === 'object')
    factory(module.exports, require('./kotlin-kotlin-stdlib-js-ir.js'), require('./kotlinx.coroutines-kotlinx-coroutines-core-js-ir.js'), require('./korlibs-klogger.js'), require('./korlibs-klock.js'), require('./korlibs-kds.js'), require('./korlibs-kmem.js'), require('./korlibs-krypto.js'));
  else {
    if (typeof this['kotlin-kotlin-stdlib-js-ir'] === 'undefined') {
      throw new Error("Error loading module 'korlibs-korio'. Its dependency 'kotlin-kotlin-stdlib-js-ir' was not found. Please, check whether 'kotlin-kotlin-stdlib-js-ir' is loaded prior to 'korlibs-korio'.");
    }
    if (typeof this['kotlinx.coroutines-kotlinx-coroutines-core-js-ir'] === 'undefined') {
      throw new Error("Error loading module 'korlibs-korio'. Its dependency 'kotlinx.coroutines-kotlinx-coroutines-core-js-ir' was not found. Please, check whether 'kotlinx.coroutines-kotlinx-coroutines-core-js-ir' is loaded prior to 'korlibs-korio'.");
    }
    if (typeof this['korlibs-klogger'] === 'undefined') {
      throw new Error("Error loading module 'korlibs-korio'. Its dependency 'korlibs-klogger' was not found. Please, check whether 'korlibs-klogger' is loaded prior to 'korlibs-korio'.");
    }
    if (typeof this['korlibs-klock'] === 'undefined') {
      throw new Error("Error loading module 'korlibs-korio'. Its dependency 'korlibs-klock' was not found. Please, check whether 'korlibs-klock' is loaded prior to 'korlibs-korio'.");
    }
    if (typeof this['korlibs-kds'] === 'undefined') {
      throw new Error("Error loading module 'korlibs-korio'. Its dependency 'korlibs-kds' was not found. Please, check whether 'korlibs-kds' is loaded prior to 'korlibs-korio'.");
    }
    if (typeof this['korlibs-kmem'] === 'undefined') {
      throw new Error("Error loading module 'korlibs-korio'. Its dependency 'korlibs-kmem' was not found. Please, check whether 'korlibs-kmem' is loaded prior to 'korlibs-korio'.");
    }
    if (typeof this['korlibs-krypto'] === 'undefined') {
      throw new Error("Error loading module 'korlibs-korio'. Its dependency 'korlibs-krypto' was not found. Please, check whether 'korlibs-krypto' is loaded prior to 'korlibs-korio'.");
    }
    root['korlibs-korio'] = factory(typeof this['korlibs-korio'] === 'undefined' ? {} : this['korlibs-korio'], this['kotlin-kotlin-stdlib-js-ir'], this['kotlinx.coroutines-kotlinx-coroutines-core-js-ir'], this['korlibs-klogger'], this['korlibs-klock'], this['korlibs-kds'], this['korlibs-kmem'], this['korlibs-krypto']);
  }
}(this, function (_, kotlin_kotlin, kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core, kotlin_com_soywiz_korlibs_klogger_klogger, kotlin_com_soywiz_korlibs_klock_klock, kotlin_com_soywiz_korlibs_kds_kds, kotlin_com_soywiz_korlibs_kmem_kmem, kotlin_com_soywiz_korlibs_krypto_krypto) {
  'use strict';
  //region block: imports
  var imul = Math.imul;
  var interfaceMeta = kotlin_kotlin.$_$.yc;
  var Unit_getInstance = kotlin_kotlin.$_$.k5;
  var CoroutineScope = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.o1;
  var CoroutineStart_UNDISPATCHED_getInstance = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.b;
  var launch = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.h2;
  var async = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.a2;
  var CompletableDeferred$default = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.j;
  var startCoroutine = kotlin_kotlin.$_$.cc;
  var CoroutineStart_DEFAULT_getInstance = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.a;
  var CoroutineImpl = kotlin_kotlin.$_$.yb;
  var THROW_CCE = kotlin_kotlin.$_$.di;
  var CoroutineScope_0 = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.p1;
  var isInterface = kotlin_kotlin.$_$.id;
  var get_COROUTINE_SUSPENDED = kotlin_kotlin.$_$.gb;
  var Console_getInstance = kotlin_com_soywiz_korlibs_klogger_klogger.$_$.e;
  var printStackTrace = kotlin_kotlin.$_$.bj;
  var CancellationException = kotlin_kotlin.$_$.fb;
  var classMeta = kotlin_kotlin.$_$.pc;
  var completeWith = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.f2;
  var Continuation = kotlin_kotlin.$_$.qb;
  var Result__exceptionOrNull_impl_p6xea9 = kotlin_kotlin.$_$.a4;
  var _Result___get_isFailure__impl__jpiriv = kotlin_kotlin.$_$.b4;
  var KProperty0 = kotlin_kotlin.$_$.df;
  var getPropertyCallableRef = kotlin_kotlin.$_$.vc;
  var Companion_getInstance = kotlin_com_soywiz_korlibs_klock_klock.$_$.e1;
  var lazy = kotlin_kotlin.$_$.yi;
  var SuspendFunction1 = kotlin_kotlin.$_$.ac;
  var SuspendFunction0 = kotlin_kotlin.$_$.zb;
  var _TimeSpan___get_millisecondsLong__impl__v1fxun = kotlin_com_soywiz_korlibs_klock_klock.$_$.u;
  var delay = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.e;
  var withTimeout = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.h;
  var _TimeSpan___get_isNil__impl__cma714 = kotlin_com_soywiz_korlibs_klock_klock.$_$.q;
  var FastArrayList_init_$Create$ = kotlin_com_soywiz_korlibs_kds_kds.$_$.d2;
  var ensureNotNull = kotlin_kotlin.$_$.ri;
  var throwUninitializedPropertyAccessException = kotlin_kotlin.$_$.ej;
  var Companion_getInstance_0 = kotlin_kotlin.$_$.f5;
  var createFailure = kotlin_kotlin.$_$.qi;
  var _Result___init__impl__xyqfz8 = kotlin_kotlin.$_$.z3;
  var isObject = kotlin_kotlin.$_$.ld;
  var AbstractCoroutineContextElement = kotlin_kotlin.$_$.kb;
  var Key_getInstance = kotlin_kotlin.$_$.q4;
  var get = kotlin_kotlin.$_$.mb;
  var fold = kotlin_kotlin.$_$.rb;
  var minusKey = kotlin_kotlin.$_$.nb;
  var plus = kotlin_kotlin.$_$.wb;
  var releaseInterceptedContinuation = kotlin_kotlin.$_$.ob;
  var invokeOnTimeout = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.r1;
  var ContinuationInterceptor = kotlin_kotlin.$_$.pb;
  var Delay = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.s1;
  var throwOnFailure = kotlin_kotlin.$_$.dj;
  var _Result___get_value__impl__bjfvqg = kotlin_kotlin.$_$.c4;
  var ByteArrayBuilder_init_$Create$ = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.k3;
  var objectMeta = kotlin_kotlin.$_$.wd;
  var FixedSizeByteArrayBuilder_init_$Create$ = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.l3;
  var toByte = kotlin_kotlin.$_$.xd;
  var IllegalStateException_init_$Create$ = kotlin_kotlin.$_$.x2;
  var fill$default = kotlin_kotlin.$_$.j;
  var fill = kotlin_kotlin.$_$.z7;
  var toString = kotlin_kotlin.$_$.ae;
  var extract = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.j1;
  var NotImplementedError = kotlin_kotlin.$_$.zh;
  var get_hex = kotlin_com_soywiz_korlibs_krypto_krypto.$_$.c;
  var Long = kotlin_kotlin.$_$.xh;
  var get_nextPowerOfTwo = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.d2;
  var ilog2 = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.q1;
  var RingBuffer = kotlin_com_soywiz_korlibs_kds_kds.$_$.t;
  var readU16LE = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.t2;
  var readS32LE = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.n2;
  var readS32BE = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.m2;
  var numberToLong = kotlin_kotlin.$_$.vd;
  var toShort = kotlin_kotlin.$_$.zd;
  var until = kotlin_kotlin.$_$.ye;
  var step = kotlin_kotlin.$_$.we;
  var CoroutineDispatcher = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.l1;
  var isComparable = kotlin_kotlin.$_$.ed;
  var isNumber = kotlin_kotlin.$_$.kd;
  var numberToDouble = kotlin_kotlin.$_$.td;
  var compareTo = kotlin_kotlin.$_$.qc;
  var getKClassFromExpression = kotlin_kotlin.$_$.c;
  var toString_0 = kotlin_kotlin.$_$.hj;
  var MutableList = kotlin_kotlin.$_$.c6;
  var MutableMap = kotlin_kotlin.$_$.e6;
  var List = kotlin_kotlin.$_$.x5;
  var Map = kotlin_kotlin.$_$.z5;
  var NullPointerException_init_$Create$ = kotlin_kotlin.$_$.e3;
  var listOf = kotlin_kotlin.$_$.c9;
  var toList = kotlin_kotlin.$_$.na;
  var Iterable = kotlin_kotlin.$_$.s5;
  var emptyList = kotlin_kotlin.$_$.w7;
  var collectionSizeOrDefault = kotlin_kotlin.$_$.p6;
  var ArrayList_init_$Create$ = kotlin_kotlin.$_$.l1;
  var toIntOrNull = kotlin_kotlin.$_$.qg;
  var toDoubleOrNull = kotlin_kotlin.$_$.ng;
  var DoubleCompanionObject_getInstance = kotlin_kotlin.$_$.u4;
  var joinToString$default = kotlin_kotlin.$_$.m;
  var numberToInt = kotlin_kotlin.$_$.ud;
  var equals = kotlin_kotlin.$_$.rc;
  var hashCode = kotlin_kotlin.$_$.xc;
  var Comparable = kotlin_kotlin.$_$.oh;
  var toIntOrNull_0 = kotlin_kotlin.$_$.pg;
  var toLongOrNull = kotlin_kotlin.$_$.ug;
  var indexOf$default = kotlin_kotlin.$_$.v;
  var _Char___init__impl__6a9atx = kotlin_kotlin.$_$.p3;
  var replace$default = kotlin_kotlin.$_$.a1;
  var ArrayList_init_$Create$_0 = kotlin_kotlin.$_$.m1;
  var split$default = kotlin_kotlin.$_$.c1;
  var startsWith$default = kotlin_kotlin.$_$.d1;
  var charSequenceLength = kotlin_kotlin.$_$.nc;
  var charArrayOf = kotlin_kotlin.$_$.kc;
  var trimEnd = kotlin_kotlin.$_$.fh;
  var trim = kotlin_kotlin.$_$.jh;
  var substringBefore$default = kotlin_kotlin.$_$.i1;
  var contains$default = kotlin_kotlin.$_$.r;
  var substringAfterLast$default = kotlin_kotlin.$_$.f1;
  var IntCompanionObject_getInstance = kotlin_kotlin.$_$.w4;
  var toLong = kotlin_kotlin.$_$.yd;
  var Companion_getInstance_1 = kotlin_com_soywiz_korlibs_klock_klock.$_$.b1;
  var Enum = kotlin_kotlin.$_$.sh;
  var DateTime = kotlin_com_soywiz_korlibs_klock_klock.$_$.a;
  var getStringHashCode = kotlin_kotlin.$_$.wc;
  var DateTime__hashCode_impl_yf0bc9 = kotlin_com_soywiz_korlibs_klock_klock.$_$.i;
  var Key = kotlin_kotlin.$_$.vb;
  var get_0 = kotlin_kotlin.$_$.sb;
  var minusKey_0 = kotlin_kotlin.$_$.tb;
  var Element = kotlin_kotlin.$_$.ub;
  var Mixin_init_$Create$ = kotlin_com_soywiz_korlibs_kds_kds.$_$.k2;
  var Extra = kotlin_com_soywiz_korlibs_kds_kds.$_$.g;
  var withContext = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.f;
  var mapCapacity = kotlin_kotlin.$_$.e9;
  var coerceAtLeast = kotlin_kotlin.$_$.me;
  var LinkedHashMap_init_$Create$ = kotlin_kotlin.$_$.u1;
  var LinkedHashMap_init_$Create$_0 = kotlin_kotlin.$_$.v1;
  var FastStringMap = kotlin_com_soywiz_korlibs_kds_kds.$_$.k;
  var NotImplementedError_init_$Create$ = kotlin_kotlin.$_$.k1;
  var removeAll = kotlin_kotlin.$_$.o9;
  var sortWith = kotlin_kotlin.$_$.v9;
  var Comparator = kotlin_kotlin.$_$.ph;
  var compareValues = kotlin_kotlin.$_$.db;
  var to = kotlin_kotlin.$_$.ij;
  var until_0 = kotlin_kotlin.$_$.xe;
  var RuntimeException = kotlin_kotlin.$_$.ci;
  var linkedHashMapOf = kotlin_com_soywiz_korlibs_kds_kds.$_$.p1;
  var toLongOrNull_0 = kotlin_kotlin.$_$.vg;
  var Char = kotlin_kotlin.$_$.nh;
  var Pool_init_$Create$ = kotlin_com_soywiz_korlibs_kds_kds.$_$.f2;
  var AssertionError_init_$Create$ = kotlin_kotlin.$_$.i2;
  var StringBuilder_init_$Create$ = kotlin_kotlin.$_$.h2;
  var numberToChar = kotlin_kotlin.$_$.sd;
  var readS16 = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.k2;
  var IntIntMap_init_$Create$ = kotlin_com_soywiz_korlibs_kds_kds.$_$.q2;
  var charSequenceGet = kotlin_kotlin.$_$.mc;
  var Char__toInt_impl_vasixd = kotlin_kotlin.$_$.x3;
  var StringBuilder_init_$Create$_0 = kotlin_kotlin.$_$.g2;
  var insert = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.s1;
  var charArray = kotlin_kotlin.$_$.lc;
  var concatToString = kotlin_kotlin.$_$.lf;
  var NonRecursiveLock = kotlin_com_soywiz_korlibs_kds_kds.$_$.c;
  var CancellationException_init_$Create$ = kotlin_kotlin.$_$.b2;
  var UnsupportedOperationException_init_$Create$ = kotlin_kotlin.$_$.n3;
  var captureStack = kotlin_kotlin.$_$.jc;
  var Exception = kotlin_kotlin.$_$.uh;
  var Exception_init_$Init$ = kotlin_kotlin.$_$.n2;
  var Exception_init_$Create$ = kotlin_kotlin.$_$.o2;
  var stackTraceToString = kotlin_kotlin.$_$.cj;
  var clamp = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.d1;
  var concatToString_0 = kotlin_kotlin.$_$.mf;
  var lastIndexOf$default = kotlin_kotlin.$_$.x;
  var get_lastIndex = kotlin_kotlin.$_$.ag;
  var Regex_init_$Create$ = kotlin_kotlin.$_$.f2;
  var copyOf = kotlin_kotlin.$_$.p7;
  var copyOfRange = kotlin_kotlin.$_$.f7;
  var contentHashCode = kotlin_kotlin.$_$.z6;
  var contentEquals = kotlin_kotlin.$_$.y6;
  var split$default_0 = kotlin_kotlin.$_$.b1;
  var get_lastIndex_0 = kotlin_kotlin.$_$.w8;
  var dropLast = kotlin_kotlin.$_$.of;
  var substringAfter$default = kotlin_kotlin.$_$.g1;
  var substringBeforeLast$default = kotlin_kotlin.$_$.h1;
  var trimStart = kotlin_kotlin.$_$.ih;
  var ByteArrayBuilder_init_$Create$_0 = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.n3;
  var Char__toByte_impl_7s7yt0 = kotlin_kotlin.$_$.w3;
  var toInt = kotlin_kotlin.$_$.sg;
  var KProperty1 = kotlin_kotlin.$_$.ef;
  var listOf_0 = kotlin_kotlin.$_$.d9;
  var toMap = kotlin_kotlin.$_$.qa;
  var toList_0 = kotlin_kotlin.$_$.oa;
  var isCharSequence = kotlin_kotlin.$_$.dd;
  var trim_0 = kotlin_kotlin.$_$.kh;
  var filterNotNull = kotlin_kotlin.$_$.d8;
  var equals_0 = kotlin_kotlin.$_$.qf;
  var first = kotlin_kotlin.$_$.g8;
  var sortedWith = kotlin_kotlin.$_$.x9;
  var toSet = kotlin_kotlin.$_$.va;
  var plus_0 = kotlin_kotlin.$_$.m9;
  var Collection = kotlin_kotlin.$_$.o5;
  var linkedMapOf = kotlin_kotlin.$_$.b9;
  var DoubleArrayList_init_$Create$ = kotlin_com_soywiz_korlibs_kds_kds.$_$.j2;
  var Char__compareTo_impl_ypi4mb = kotlin_kotlin.$_$.q3;
  var IllegalArgumentException_init_$Create$ = kotlin_kotlin.$_$.s2;
  var sequence = kotlin_kotlin.$_$.if;
  var SequenceScope = kotlin_kotlin.$_$.gf;
  var firstOrNull = kotlin_kotlin.$_$.e8;
  var println = kotlin_kotlin.$_$.fc;
  var NoSuchElementException = kotlin_kotlin.$_$.yh;
  var copyToArray = kotlin_kotlin.$_$.q7;
  var flip = kotlin_com_soywiz_korlibs_kds_kds.$_$.c1;
  var toInt_0 = kotlin_kotlin.$_$.rg;
  var startsWith$default_0 = kotlin_kotlin.$_$.e1;
  var toCaseInsensitiveMap = kotlin_com_soywiz_korlibs_kds_kds.$_$.t1;
  var toList_1 = kotlin_kotlin.$_$.la;
  var noWhenBranchMatchedException = kotlin_kotlin.$_$.zi;
  var addAll = kotlin_kotlin.$_$.j6;
  var UnsupportedOperationException_init_$Create$_0 = kotlin_kotlin.$_$.m3;
  var UnsupportedOperationException = kotlin_kotlin.$_$.mi;
  var arraycopy = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.i;
  var ClosedRange = kotlin_kotlin.$_$.ke;
  var contains = kotlin_kotlin.$_$.se;
  var clamp_0 = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.f1;
  var Pair = kotlin_kotlin.$_$.ai;
  var nextAlignedTo = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.b2;
  var readU16BE = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.s2;
  var copyOf_0 = kotlin_kotlin.$_$.l7;
  var toIntClamp$default = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.j3;
  var Endian_LITTLE_ENDIAN_getInstance = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.g3;
  var readS16LE = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.j2;
  var readU32LE = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.x2;
  var coerceIn = kotlin_kotlin.$_$.qe;
  var copyOfRange_0 = kotlin_kotlin.$_$.g7;
  var readS8 = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.q2;
  var readU8 = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.y2;
  var readS16BE = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.i2;
  var readU24BE = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.v2;
  var readS64BE = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.p2;
  var readByteArray = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.e2;
  var readShortArrayBE = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.r2;
  var readCharArrayBE = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.f2;
  var readIntArrayLE = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.h2;
  var readIntArrayBE = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.g2;
  var ByteArrayBuilder_init_$Create$_1 = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.m3;
  var indexOf = kotlin_kotlin.$_$.q8;
  var fillArrayVal = kotlin_kotlin.$_$.tc;
  var isNanOrInfinite = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.x1;
  var indexOf$default_0 = kotlin_kotlin.$_$.w;
  var contains$default_0 = kotlin_kotlin.$_$.q;
  var abs = kotlin_kotlin.$_$.ce;
  var repeat = kotlin_kotlin.$_$.fg;
  var replace$default_0 = kotlin_kotlin.$_$.z;
  var round = kotlin_kotlin.$_$.fe;
  var Char__minus_impl_a2frrh = kotlin_kotlin.$_$.s3;
  var Companion_getInstance_2 = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.w3;
  var get_isWindows = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.a2;
  var get_isMac = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.w1;
  var get_isAndroid = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.t1;
  var get_isNative = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.y1;
  var get_isJsNodeJs = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.v1;
  var get_isJsBrowser = kotlin_com_soywiz_korlibs_kmem_kmem.$_$.u1;
  var Companion_getInstance_3 = kotlin_kotlin.$_$.e5;
  var sorted = kotlin_kotlin.$_$.y9;
  var reversed = kotlin_kotlin.$_$.q9;
  var distinct = kotlin_kotlin.$_$.t7;
  var joinToString$default_0 = kotlin_kotlin.$_$.n;
  var StringCompanionObject_getInstance = kotlin_kotlin.$_$.y4;
  var RuntimeException_init_$Create$ = kotlin_kotlin.$_$.i3;
  var Hex_getInstance = kotlin_com_soywiz_korlibs_krypto_krypto.$_$.f;
  var endsWith$default = kotlin_kotlin.$_$.s;
  var isArray = kotlin_kotlin.$_$.zc;
  var EmptyCoroutineContext_getInstance = kotlin_kotlin.$_$.r4;
  var Dispatchers_getInstance = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.x;
  var newThrowable = kotlin_kotlin.$_$.qd;
  var toMap_0 = kotlin_kotlin.$_$.pa;
  var endsWith$default_0 = kotlin_kotlin.$_$.t;
  var setOf = kotlin_kotlin.$_$.s9;
  var Job$default = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.m;
  var CompletableDeferred = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.i1;
  var intercepted = kotlin_kotlin.$_$.ib;
  var get_MODE_CANCELLABLE = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.w1;
  var CancellableContinuationImpl = kotlin_org_jetbrains_kotlinx_kotlinx_coroutines_core.$_$.g1;
  var toTypedArray = kotlin_kotlin.$_$.xa;
  var returnIfSuspended = kotlin_kotlin.$_$.h;
  var isByteArray = kotlin_kotlin.$_$.bd;
  //endregion
  //region block: pre-declaration
  _launch$slambda.prototype = Object.create(CoroutineImpl.prototype);
  _launch$slambda.prototype.constructor = _launch$slambda;
  _async$slambda.prototype = Object.create(CoroutineImpl.prototype);
  _async$slambda.prototype.constructor = _async$slambda;
  AsyncThread$sync$slambda.prototype = Object.create(CoroutineImpl.prototype);
  AsyncThread$sync$slambda.prototype.constructor = AsyncThread$sync$slambda;
  $withTimeoutCOROUTINE$11.prototype = Object.create(CoroutineImpl.prototype);
  $withTimeoutCOROUTINE$11.prototype.constructor = $withTimeoutCOROUTINE$11;
  Signal.prototype = Object.create(BaseSignal.prototype);
  Signal.prototype.constructor = Signal;
  $invokeCOROUTINE$12.prototype = Object.create(CoroutineImpl.prototype);
  $invokeCOROUTINE$12.prototype.constructor = $invokeCOROUTINE$12;
  AsyncSignal.prototype = Object.create(BaseSignal.prototype);
  AsyncSignal.prototype.constructor = AsyncSignal;
  runBlockingNoSuspensions$1$context$1.prototype = Object.create(AbstractCoroutineContextElement.prototype);
  runBlockingNoSuspensions$1$context$1.prototype.constructor = runBlockingNoSuspensions$1$context$1;
  function uncompress(reader, out, $cont) {
    unsupported$default(null, 1, null);
  }
  uncompress$slambda.prototype = Object.create(CoroutineImpl.prototype);
  uncompress$slambda.prototype.constructor = uncompress$slambda;
  $uncompressCOROUTINE$13.prototype = Object.create(CoroutineImpl.prototype);
  $uncompressCOROUTINE$13.prototype.constructor = $uncompressCOROUTINE$13;
  Companion_0.prototype = Object.create(DeflatePortable.prototype);
  Companion_0.prototype.constructor = Companion_0;
  $uncompressCOROUTINE$16.prototype = Object.create(CoroutineImpl.prototype);
  $uncompressCOROUTINE$16.prototype.constructor = $uncompressCOROUTINE$16;
  $writeCOROUTINE$25.prototype = Object.create(CoroutineImpl.prototype);
  $writeCOROUTINE$25.prototype.constructor = $writeCOROUTINE$25;
  Companion_1.prototype = Object.create(ZLib.prototype);
  Companion_1.prototype.constructor = Companion_1;
  $uncompressCOROUTINE$23.prototype = Object.create(CoroutineImpl.prototype);
  $uncompressCOROUTINE$23.prototype.constructor = $uncompressCOROUTINE$23;
  $forInputCOROUTINE$27.prototype = Object.create(CoroutineImpl.prototype);
  $forInputCOROUTINE$27.prototype.constructor = $forInputCOROUTINE$27;
  $prepareBytesUpToCOROUTINE$29.prototype = Object.create(CoroutineImpl.prototype);
  $prepareBytesUpToCOROUTINE$29.prototype.constructor = $prepareBytesUpToCOROUTINE$29;
  $abytesCOROUTINE$30.prototype = Object.create(CoroutineImpl.prototype);
  $abytesCOROUTINE$30.prototype.constructor = $abytesCOROUTINE$30;
  $readCOROUTINE$31.prototype = Object.create(CoroutineImpl.prototype);
  $readCOROUTINE$31.prototype.constructor = $readCOROUTINE$31;
  $hasLengthCOROUTINE$34.prototype = Object.create(CoroutineImpl.prototype);
  $hasLengthCOROUTINE$34.prototype.constructor = $hasLengthCOROUTINE$34;
  $getLengthCOROUTINE$35.prototype = Object.create(CoroutineImpl.prototype);
  $getLengthCOROUTINE$35.prototype.constructor = $getLengthCOROUTINE$35;
  function getPosition($cont) {
    throw UnsupportedOperationException_init_$Create$_0();
  }
  function hasLength($cont) {
    var tmp = new $hasLengthCOROUTINE$167(this, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  }
  function getLength($cont) {
    throw UnsupportedOperationException_init_$Create$_0();
  }
  createRedirectedDispatcher$1.prototype = Object.create(CoroutineDispatcher.prototype);
  createRedirectedDispatcher$1.prototype.constructor = createRedirectedDispatcher$1;
  function get_global() {
    return null;
  }
  Vfs$Proxy$initOnce$slambda.prototype = Object.create(CoroutineImpl.prototype);
  Vfs$Proxy$initOnce$slambda.prototype.constructor = Vfs$Proxy$initOnce$slambda;
  $getUnderlyingUnscapedFileCOROUTINE$50.prototype = Object.create(CoroutineImpl.prototype);
  $getUnderlyingUnscapedFileCOROUTINE$50.prototype.constructor = $getUnderlyingUnscapedFileCOROUTINE$50;
  $initOnceCOROUTINE$51.prototype = Object.create(CoroutineImpl.prototype);
  $initOnceCOROUTINE$51.prototype.constructor = $initOnceCOROUTINE$51;
  $openCOROUTINE$53.prototype = Object.create(CoroutineImpl.prototype);
  $openCOROUTINE$53.prototype.constructor = $openCOROUTINE$53;
  $readRangeCOROUTINE$54.prototype = Object.create(CoroutineImpl.prototype);
  $readRangeCOROUTINE$54.prototype.constructor = $readRangeCOROUTINE$54;
  $statCOROUTINE$57.prototype = Object.create(CoroutineImpl.prototype);
  $statCOROUTINE$57.prototype.constructor = $statCOROUTINE$57;
  Proxy.prototype = Object.create(Vfs.prototype);
  Proxy.prototype.constructor = Proxy;
  $readRangeCOROUTINE$41.prototype = Object.create(CoroutineImpl.prototype);
  $readRangeCOROUTINE$41.prototype.constructor = $readRangeCOROUTINE$41;
  VfsOpenMode.prototype = Object.create(Enum.prototype);
  VfsOpenMode.prototype.constructor = VfsOpenMode;
  $readStringCOROUTINE$72.prototype = Object.create(CoroutineImpl.prototype);
  $readStringCOROUTINE$72.prototype.constructor = $readStringCOROUTINE$72;
  $readAsSyncStreamCOROUTINE$74.prototype = Object.create(CoroutineImpl.prototype);
  $readAsSyncStreamCOROUTINE$74.prototype.constructor = $readAsSyncStreamCOROUTINE$74;
  $statCOROUTINE$75.prototype = Object.create(CoroutineImpl.prototype);
  $statCOROUTINE$75.prototype.constructor = $statCOROUTINE$75;
  VfsFile.prototype = Object.create(VfsNamed.prototype);
  VfsFile.prototype.constructor = VfsFile;
  $getLengthCOROUTINE$95.prototype = Object.create(CoroutineImpl.prototype);
  $getLengthCOROUTINE$95.prototype.constructor = $getLengthCOROUTINE$95;
  CatalogVfs$open$slambda.prototype = Object.create(CoroutineImpl.prototype);
  CatalogVfs$open$slambda.prototype.constructor = CatalogVfs$open$slambda;
  CatalogVfs$open$2.prototype = Object.create(AsyncStreamBase.prototype);
  CatalogVfs$open$2.prototype.constructor = CatalogVfs$open$2;
  $openCOROUTINE$88.prototype = Object.create(CoroutineImpl.prototype);
  $openCOROUTINE$88.prototype.constructor = $openCOROUTINE$88;
  $statCOROUTINE$89.prototype = Object.create(CoroutineImpl.prototype);
  $statCOROUTINE$89.prototype.constructor = $statCOROUTINE$89;
  $statOrNullCOROUTINE$90.prototype = Object.create(CoroutineImpl.prototype);
  $statOrNullCOROUTINE$90.prototype.constructor = $statOrNullCOROUTINE$90;
  $cachedListSimpleStatsOrNullCOROUTINE$93.prototype = Object.create(CoroutineImpl.prototype);
  $cachedListSimpleStatsOrNullCOROUTINE$93.prototype.constructor = $cachedListSimpleStatsOrNullCOROUTINE$93;
  $listSimpleStatsOrNullCOROUTINE$94.prototype = Object.create(CoroutineImpl.prototype);
  $listSimpleStatsOrNullCOROUTINE$94.prototype.constructor = $listSimpleStatsOrNullCOROUTINE$94;
  CatalogVfs.prototype = Object.create(Proxy.prototype);
  CatalogVfs.prototype.constructor = CatalogVfs;
  JailVfs.prototype = Object.create(Proxy.prototype);
  JailVfs.prototype.constructor = JailVfs;
  LocalVfs.prototype = Object.create(Vfs.prototype);
  LocalVfs.prototype.constructor = LocalVfs;
  $closeCOROUTINE$114.prototype = Object.create(CoroutineImpl.prototype);
  $closeCOROUTINE$114.prototype.constructor = $closeCOROUTINE$114;
  MountableVfs_0.prototype = Object.create(Proxy.prototype);
  MountableVfs_0.prototype.constructor = MountableVfs_0;
  $MountableVfsCOROUTINE$113.prototype = Object.create(CoroutineImpl.prototype);
  $MountableVfsCOROUTINE$113.prototype.constructor = $MountableVfsCOROUTINE$113;
  $readCOROUTINE$122.prototype = Object.create(CoroutineImpl.prototype);
  $readCOROUTINE$122.prototype.constructor = $readCOROUTINE$122;
  $getLengthCOROUTINE$123.prototype = Object.create(CoroutineImpl.prototype);
  $getLengthCOROUTINE$123.prototype.constructor = $getLengthCOROUTINE$123;
  UrlVfs$open$2.prototype = Object.create(AsyncStreamBase.prototype);
  UrlVfs$open$2.prototype.constructor = UrlVfs$open$2;
  $openCOROUTINE$116.prototype = Object.create(CoroutineImpl.prototype);
  $openCOROUTINE$116.prototype.constructor = $openCOROUTINE$116;
  $_readRangeBaseCOROUTINE$118.prototype = Object.create(CoroutineImpl.prototype);
  $_readRangeBaseCOROUTINE$118.prototype.constructor = $_readRangeBaseCOROUTINE$118;
  $readRangeCOROUTINE$119.prototype = Object.create(CoroutineImpl.prototype);
  $readRangeCOROUTINE$119.prototype.constructor = $readRangeCOROUTINE$119;
  $statCOROUTINE$121.prototype = Object.create(CoroutineImpl.prototype);
  $statCOROUTINE$121.prototype.constructor = $statCOROUTINE$121;
  UrlVfs_0.prototype = Object.create(Vfs.prototype);
  UrlVfs_0.prototype.constructor = UrlVfs_0;
  BaseSingleByteCharset.prototype = Object.create(Charset.prototype);
  BaseSingleByteCharset.prototype.constructor = BaseSingleByteCharset;
  SingleByteCharset.prototype = Object.create(BaseSingleByteCharset.prototype);
  SingleByteCharset.prototype.constructor = SingleByteCharset;
  ISO_8859_1.prototype = Object.create(SingleByteCharset.prototype);
  ISO_8859_1.prototype.constructor = ISO_8859_1;
  UTF16Charset.prototype = Object.create(Charset.prototype);
  UTF16Charset.prototype.constructor = UTF16Charset;
  UTC8CharsetBase.prototype = Object.create(Charset.prototype);
  UTC8CharsetBase.prototype.constructor = UTC8CharsetBase;
  ASCII.prototype = Object.create(SingleByteCharset.prototype);
  ASCII.prototype.constructor = ASCII;
  InvalidOperationException.prototype = Object.create(Exception.prototype);
  InvalidOperationException.prototype.constructor = InvalidOperationException;
  IOException.prototype = Object.create(Exception.prototype);
  IOException.prototype.constructor = IOException;
  FileAlreadyExistsException.prototype = Object.create(IOException.prototype);
  FileAlreadyExistsException.prototype.constructor = FileAlreadyExistsException;
  ReservedException.prototype = Object.create(Exception.prototype);
  ReservedException.prototype.constructor = ReservedException;
  UnreachableException.prototype = Object.create(Exception.prototype);
  UnreachableException.prototype.constructor = UnreachableException;
  UnexpectedException.prototype = Object.create(Exception.prototype);
  UnexpectedException.prototype.constructor = UnexpectedException;
  threadLocal$local$1.prototype = Object.create(NativeThreadLocal.prototype);
  threadLocal$local$1.prototype.constructor = threadLocal$local$1;
  Methods.prototype = Object.create(Enum.prototype);
  Methods.prototype.constructor = Methods;
  HttpException.prototype = Object.create(IOException.prototype);
  HttpException.prototype.constructor = HttpException;
  $readAllBytesCOROUTINE$127.prototype = Object.create(CoroutineImpl.prototype);
  $readAllBytesCOROUTINE$127.prototype.constructor = $readAllBytesCOROUTINE$127;
  $readAllStringCOROUTINE$128.prototype = Object.create(CoroutineImpl.prototype);
  $readAllStringCOROUTINE$128.prototype.constructor = $readAllStringCOROUTINE$128;
  $checkErrorsCOROUTINE$129.prototype = Object.create(CoroutineImpl.prototype);
  $checkErrorsCOROUTINE$129.prototype.constructor = $checkErrorsCOROUTINE$129;
  $requestCOROUTINE$132.prototype = Object.create(CoroutineImpl.prototype);
  $requestCOROUTINE$132.prototype.constructor = $requestCOROUTINE$132;
  $requestAsBytesCOROUTINE$134.prototype = Object.create(CoroutineImpl.prototype);
  $requestAsBytesCOROUTINE$134.prototype.constructor = $requestAsBytesCOROUTINE$134;
  $readBytesCOROUTINE$135.prototype = Object.create(CoroutineImpl.prototype);
  $readBytesCOROUTINE$135.prototype.constructor = $readBytesCOROUTINE$135;
  ProcessingInstructionTag.prototype = Object.create(Element_0.prototype);
  ProcessingInstructionTag.prototype.constructor = ProcessingInstructionTag;
  OpenCloseTag.prototype = Object.create(Element_0.prototype);
  OpenCloseTag.prototype.constructor = OpenCloseTag;
  OpenTag.prototype = Object.create(Element_0.prototype);
  OpenTag.prototype.constructor = OpenTag;
  CommentTag.prototype = Object.create(Element_0.prototype);
  CommentTag.prototype.constructor = CommentTag;
  CloseTag.prototype = Object.create(Element_0.prototype);
  CloseTag.prototype.constructor = CloseTag;
  Text.prototype = Object.create(Element_0.prototype);
  Text.prototype.constructor = Text;
  Xml$Stream$xmlSequence$slambda.prototype = Object.create(CoroutineImpl.prototype);
  Xml$Stream$xmlSequence$slambda.prototype.constructor = Xml$Stream$xmlSequence$slambda;
  Type.prototype = Object.create(Enum.prototype);
  Type.prototype.constructor = Type;
  AsyncStream$read$slambda.prototype = Object.create(CoroutineImpl.prototype);
  AsyncStream$read$slambda.prototype.constructor = AsyncStream$read$slambda;
  AsyncStream$write$slambda.prototype = Object.create(CoroutineImpl.prototype);
  AsyncStream$write$slambda.prototype.constructor = AsyncStream$write$slambda;
  $readCOROUTINE$156.prototype = Object.create(CoroutineImpl.prototype);
  $readCOROUTINE$156.prototype.constructor = $readCOROUTINE$156;
  $writeCOROUTINE$157.prototype = Object.create(CoroutineImpl.prototype);
  $writeCOROUTINE$157.prototype.constructor = $writeCOROUTINE$157;
  $readInternalCOROUTINE$158.prototype = Object.create(CoroutineImpl.prototype);
  $readInternalCOROUTINE$158.prototype.constructor = $readInternalCOROUTINE$158;
  $writeInternalCOROUTINE$159.prototype = Object.create(CoroutineImpl.prototype);
  $writeInternalCOROUTINE$159.prototype.constructor = $writeInternalCOROUTINE$159;
  $getAvailableCOROUTINE$160.prototype = Object.create(CoroutineImpl.prototype);
  $getAvailableCOROUTINE$160.prototype.constructor = $getAvailableCOROUTINE$160;
  $eofCOROUTINE$161.prototype = Object.create(CoroutineImpl.prototype);
  $eofCOROUTINE$161.prototype.constructor = $eofCOROUTINE$161;
  $hasLengthCOROUTINE$167.prototype = Object.create(CoroutineImpl.prototype);
  $hasLengthCOROUTINE$167.prototype.constructor = $hasLengthCOROUTINE$167;
  $_readCOROUTINE$171.prototype = Object.create(CoroutineImpl.prototype);
  $_readCOROUTINE$171.prototype.constructor = $_readCOROUTINE$171;
  BufferedStreamBase.prototype = Object.create(AsyncStreamBase.prototype);
  BufferedStreamBase.prototype.constructor = BufferedStreamBase;
  MemoryAsyncStreamBase.prototype = Object.create(AsyncStreamBase.prototype);
  MemoryAsyncStreamBase.prototype.constructor = MemoryAsyncStreamBase;
  $closeCOROUTINE$177.prototype = Object.create(CoroutineImpl.prototype);
  $closeCOROUTINE$177.prototype.constructor = $closeCOROUTINE$177;
  SliceAsyncStreamBase.prototype = Object.create(AsyncStreamBase.prototype);
  SliceAsyncStreamBase.prototype.constructor = SliceAsyncStreamBase;
  SyncAsyncStreamBase.prototype = Object.create(AsyncStreamBase.prototype);
  SyncAsyncStreamBase.prototype.constructor = SyncAsyncStreamBase;
  $getPositionCOROUTINE$203.prototype = Object.create(CoroutineImpl.prototype);
  $getPositionCOROUTINE$203.prototype.constructor = $getPositionCOROUTINE$203;
  $getLengthCOROUTINE$204.prototype = Object.create(CoroutineImpl.prototype);
  $getLengthCOROUTINE$204.prototype.constructor = $getLengthCOROUTINE$204;
  $readAllCOROUTINE$163.prototype = Object.create(CoroutineImpl.prototype);
  $readAllCOROUTINE$163.prototype.constructor = $readAllCOROUTINE$163;
  $readBytesExactCOROUTINE$166.prototype = Object.create(CoroutineImpl.prototype);
  $readBytesExactCOROUTINE$166.prototype.constructor = $readBytesExactCOROUTINE$166;
  $readU16BECOROUTINE$169.prototype = Object.create(CoroutineImpl.prototype);
  $readU16BECOROUTINE$169.prototype.constructor = $readU16BECOROUTINE$169;
  $readS32BECOROUTINE$170.prototype = Object.create(CoroutineImpl.prototype);
  $readS32BECOROUTINE$170.prototype.constructor = $readS32BECOROUTINE$170;
  $readExactCOROUTINE$172.prototype = Object.create(CoroutineImpl.prototype);
  $readExactCOROUTINE$172.prototype.constructor = $readExactCOROUTINE$172;
  $sliceWithBoundsCOROUTINE$173.prototype = Object.create(CoroutineImpl.prototype);
  $sliceWithBoundsCOROUTINE$173.prototype.constructor = $sliceWithBoundsCOROUTINE$173;
  $readBytesCOROUTINE$176.prototype = Object.create(CoroutineImpl.prototype);
  $readBytesCOROUTINE$176.prototype.constructor = $readBytesCOROUTINE$176;
  $readBytesUpToCOROUTINE$178.prototype = Object.create(CoroutineImpl.prototype);
  $readBytesUpToCOROUTINE$178.prototype.constructor = $readBytesUpToCOROUTINE$178;
  $readBytesUpToCopyCOROUTINE$183.prototype = Object.create(CoroutineImpl.prototype);
  $readBytesUpToCopyCOROUTINE$183.prototype.constructor = $readBytesUpToCopyCOROUTINE$183;
  $getAvailableCOROUTINE$184.prototype = Object.create(CoroutineImpl.prototype);
  $getAvailableCOROUTINE$184.prototype.constructor = $getAvailableCOROUTINE$184;
  $readBytesUpToCOROUTINE$185.prototype = Object.create(CoroutineImpl.prototype);
  $readBytesUpToCOROUTINE$185.prototype.constructor = $readBytesUpToCOROUTINE$185;
  $readStringCOROUTINE$188.prototype = Object.create(CoroutineImpl.prototype);
  $readStringCOROUTINE$188.prototype.constructor = $readStringCOROUTINE$188;
  $sliceHereCOROUTINE$189.prototype = Object.create(CoroutineImpl.prototype);
  $sliceHereCOROUTINE$189.prototype.constructor = $sliceHereCOROUTINE$189;
  $readU16COROUTINE$190.prototype = Object.create(CoroutineImpl.prototype);
  $readU16COROUTINE$190.prototype.constructor = $readU16COROUTINE$190;
  $readS32COROUTINE$191.prototype = Object.create(CoroutineImpl.prototype);
  $readS32COROUTINE$191.prototype.constructor = $readS32COROUTINE$191;
  $readStringzCOROUTINE$192.prototype = Object.create(CoroutineImpl.prototype);
  $readStringzCOROUTINE$192.prototype.constructor = $readStringzCOROUTINE$192;
  $sliceStartCOROUTINE$193.prototype = Object.create(CoroutineImpl.prototype);
  $sliceStartCOROUTINE$193.prototype.constructor = $sliceStartCOROUTINE$193;
  $readS16LECOROUTINE$194.prototype = Object.create(CoroutineImpl.prototype);
  $readS16LECOROUTINE$194.prototype.constructor = $readS16LECOROUTINE$194;
  $readS32LECOROUTINE$195.prototype = Object.create(CoroutineImpl.prototype);
  $readS32LECOROUTINE$195.prototype.constructor = $readS32LECOROUTINE$195;
  $readU32LECOROUTINE$196.prototype = Object.create(CoroutineImpl.prototype);
  $readU32LECOROUTINE$196.prototype.constructor = $readU32LECOROUTINE$196;
  $readSliceCOROUTINE$197.prototype = Object.create(CoroutineImpl.prototype);
  $readSliceCOROUTINE$197.prototype.constructor = $readSliceCOROUTINE$197;
  $readU16LECOROUTINE$198.prototype = Object.create(CoroutineImpl.prototype);
  $readU16LECOROUTINE$198.prototype.constructor = $readU16LECOROUTINE$198;
  function read() {
    var tmp$ret$2;
    $l$block: {
      // Inline function 'com.soywiz.kds.Pool.alloc' call
      var tmp0_alloc = get_smallBytesPool();
      var temp = tmp0_alloc.t4t();
      try {
        var tmp$ret$1;
        // Inline function 'com.soywiz.korio.stream.SyncInputStream.read.<anonymous>' call
        var tmp;
        if (this.a4v(temp, 0, 1) > 0) {
          var tmp$ret$0;
          // Inline function 'com.soywiz.kmem.unsigned' call
          var tmp0__get_unsigned__3e7on0 = temp[0];
          tmp$ret$0 = tmp0__get_unsigned__3e7on0 & 255;
          tmp = tmp$ret$0;
        } else {
          tmp = -1;
        }
        tmp$ret$1 = tmp;
        tmp$ret$2 = tmp$ret$1;
        break $l$block;
      }finally {
        tmp0_alloc.u4t(temp);
      }
    }
    return tmp$ret$2;
  }
  MemorySyncStreamBase.prototype = Object.create(SyncStreamBase.prototype);
  MemorySyncStreamBase.prototype.constructor = MemorySyncStreamBase;
  ReadonlySyncStreamBase.prototype = Object.create(SyncStreamBase.prototype);
  ReadonlySyncStreamBase.prototype.constructor = ReadonlySyncStreamBase;
  SliceSyncStreamBase.prototype = Object.create(SyncStreamBase.prototype);
  SliceSyncStreamBase.prototype.constructor = SliceSyncStreamBase;
  BlobAsyncBaseStream.prototype = Object.create(AsyncStreamBase.prototype);
  BlobAsyncBaseStream.prototype.constructor = BlobAsyncBaseStream;
  toVfs$1.prototype = Object.create(Vfs.prototype);
  toVfs$1.prototype.constructor = toVfs$1;
  standardVfs$1.prototype = Object.create(StandardVfs.prototype);
  standardVfs$1.prototype.constructor = standardVfs$1;
  FileNotFoundException.prototype = Object.create(IOException.prototype);
  FileNotFoundException.prototype.constructor = FileNotFoundException;
  EOFException.prototype = Object.create(IOException.prototype);
  EOFException.prototype.constructor = EOFException;
  UTF8$1.prototype = Object.create(UTC8CharsetBase.prototype);
  UTF8$1.prototype.constructor = UTF8$1;
  JsRuntimeBrowser.prototype = Object.create(JsRuntime.prototype);
  JsRuntimeBrowser.prototype.constructor = JsRuntimeBrowser;
  $requestInternalCOROUTINE$205.prototype = Object.create(CoroutineImpl.prototype);
  $requestInternalCOROUTINE$205.prototype.constructor = $requestInternalCOROUTINE$205;
  HttpClientBrowserJs.prototype = Object.create(HttpClient.prototype);
  HttpClientBrowserJs.prototype.constructor = HttpClientBrowserJs;
  JsRuntimeDeno.prototype = Object.create(JsRuntime.prototype);
  JsRuntimeDeno.prototype.constructor = JsRuntimeDeno;
  JsRuntimeNode.prototype = Object.create(JsRuntime.prototype);
  JsRuntimeNode.prototype.constructor = JsRuntimeNode;
  $openCOROUTINE$208.prototype = Object.create(CoroutineImpl.prototype);
  $openCOROUTINE$208.prototype.constructor = $openCOROUTINE$208;
  NodeJsLocalVfs.prototype = Object.create(LocalVfs.prototype);
  NodeJsLocalVfs.prototype.constructor = NodeJsLocalVfs;
  $requestInternalCOROUTINE$213.prototype = Object.create(CoroutineImpl.prototype);
  $requestInternalCOROUTINE$213.prototype.constructor = $requestInternalCOROUTINE$213;
  HttpClientNodeJs.prototype = Object.create(HttpClient.prototype);
  HttpClientNodeJs.prototype.constructor = HttpClientNodeJs;
  $closeCOROUTINE$216.prototype = Object.create(CoroutineImpl.prototype);
  $closeCOROUTINE$216.prototype.constructor = $closeCOROUTINE$216;
  NodeFDStream.prototype = Object.create(AsyncStreamBase.prototype);
  NodeFDStream.prototype.constructor = NodeFDStream;
  //endregion
  function AsyncCloseable() {
  }
  AsyncCloseable.$metadata$ = interfaceMeta('AsyncCloseable');
  var DEFAULT_SUSPEND_TEST_TIMEOUT;
  function get_DEBUG_ASYNC_LAUNCH_ERRORS() {
    init_properties_AsyncExt_kt_cok8ln();
    var tmp$ret$0;
    // Inline function 'kotlin.getValue' call
    var tmp0_getValue = DEBUG_ASYNC_LAUNCH_ERRORS$factory();
    tmp$ret$0 = DEBUG_ASYNC_LAUNCH_ERRORS$delegate.l1();
    return tmp$ret$0;
  }
  var DEBUG_ASYNC_LAUNCH_ERRORS$delegate;
  function launchImmediately(context, callback) {
    init_properties_AsyncExt_kt_cok8ln();
    return launchImmediately_0(CoroutineScope(context), callback);
  }
  function async_0(context, callback) {
    init_properties_AsyncExt_kt_cok8ln();
    return asyncImmediately(CoroutineScope(context), callback);
  }
  function launchImmediately_0(_this__u8e3s4, callback) {
    init_properties_AsyncExt_kt_cok8ln();
    return _launch(_this__u8e3s4, CoroutineStart_UNDISPATCHED_getInstance(), callback);
  }
  function asyncImmediately(_this__u8e3s4, callback) {
    init_properties_AsyncExt_kt_cok8ln();
    return _async(_this__u8e3s4, CoroutineStart_UNDISPATCHED_getInstance(), callback);
  }
  function _launch(_this__u8e3s4, start, callback) {
    init_properties_AsyncExt_kt_cok8ln();
    var tmp = _this__u8e3s4.b1u();
    return launch(_this__u8e3s4, tmp, start, _launch$slambda_0(callback, null));
  }
  function _async(_this__u8e3s4, start, callback) {
    init_properties_AsyncExt_kt_cok8ln();
    var tmp = _this__u8e3s4.b1u();
    return async(_this__u8e3s4, tmp, start, _async$slambda_0(callback, null));
  }
  function asyncImmediately_0(context, callback) {
    init_properties_AsyncExt_kt_cok8ln();
    return asyncImmediately(CoroutineScope(context), callback);
  }
  function launchAsap(context, callback) {
    init_properties_AsyncExt_kt_cok8ln();
    return launchAsap_0(CoroutineScope(context), callback);
  }
  function launchUnscopedAndWait(_this__u8e3s4, block, $cont) {
    var deferred = CompletableDeferred$default(null, 1, null);
    startCoroutine(block, new launchUnscopedAndWait$1(_this__u8e3s4, deferred));
    return deferred.y1w($cont);
  }
  function launchUnscoped(_this__u8e3s4, block) {
    init_properties_AsyncExt_kt_cok8ln();
    return launchUnscoped_0(_this__u8e3s4.b1u(), block);
  }
  function launchUnscoped_0(_this__u8e3s4, block) {
    init_properties_AsyncExt_kt_cok8ln();
    startCoroutine(block, new launchUnscoped$1(_this__u8e3s4));
  }
  function launch_0(_this__u8e3s4, callback) {
    init_properties_AsyncExt_kt_cok8ln();
    return _launch(_this__u8e3s4, CoroutineStart_UNDISPATCHED_getInstance(), callback);
  }
  function launchAsap_0(_this__u8e3s4, callback) {
    init_properties_AsyncExt_kt_cok8ln();
    return _launch(_this__u8e3s4, CoroutineStart_DEFAULT_getInstance(), callback);
  }
  function DEBUG_ASYNC_LAUNCH_ERRORS$delegate$lambda() {
    init_properties_AsyncExt_kt_cok8ln();
    return Companion_getInstance_16().c19('DEBUG_ASYNC_LAUNCH_ERRORS') === 'true';
  }
  function _launch$slambda($callback, resultContinuation) {
    this.g52_1 = $callback;
    CoroutineImpl.call(this, resultContinuation);
  }
  _launch$slambda.prototype.h2n = function ($this$launch, $cont) {
    var tmp = this.i2n($this$launch, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  _launch$slambda.prototype.w7 = function (p1, $cont) {
    return this.h2n((!(p1 == null) ? isInterface(p1, CoroutineScope_0) : false) ? p1 : THROW_CCE(), $cont);
  };
  _launch$slambda.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 3;
            this.p7_1 = 2;
            this.o7_1 = 1;
            suspendResult = this.g52_1(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.p7_1 = 3;
            this.o7_1 = 4;
            continue $sm;
          case 2:
            this.p7_1 = 3;
            var tmp_0 = this.r7_1;
            if (tmp_0 instanceof CancellationException) {
              var e = this.r7_1;
              throw e;
            } else {
              var tmp_1 = this.r7_1;
              if (tmp_1 instanceof Error) {
                var e_0 = this.r7_1;
                if (get_DEBUG_ASYNC_LAUNCH_ERRORS()) {
                  Console_getInstance().r50(['CoroutineScope._launch.catch:']);
                  printStackTrace(e_0);
                }
                throw e_0;
              } else {
                throw this.r7_1;
              }
            }

            break;
          case 3:
            throw this.r7_1;
          case 4:
            this.p7_1 = 3;
            return Unit_getInstance();
        }
      } catch ($p) {
        if (this.p7_1 === 3) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  _launch$slambda.prototype.i2n = function ($this$launch, completion) {
    var i = new _launch$slambda(this.g52_1, completion);
    i.h52_1 = $this$launch;
    return i;
  };
  _launch$slambda.$metadata$ = classMeta('_launch$slambda', undefined, undefined, undefined, [1], CoroutineImpl.prototype);
  function _launch$slambda_0($callback, resultContinuation) {
    var i = new _launch$slambda($callback, resultContinuation);
    var l = function ($this$launch, $cont) {
      return i.h2n($this$launch, $cont);
    };
    l.$arity = 1;
    return l;
  }
  function _async$slambda($callback, resultContinuation) {
    this.q52_1 = $callback;
    CoroutineImpl.call(this, resultContinuation);
  }
  _async$slambda.prototype.t52 = function ($this$async, $cont) {
    var tmp = this.i2n($this$async, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  _async$slambda.prototype.w7 = function (p1, $cont) {
    return this.t52((!(p1 == null) ? isInterface(p1, CoroutineScope_0) : false) ? p1 : THROW_CCE(), $cont);
  };
  _async$slambda.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 3;
            this.p7_1 = 2;
            this.o7_1 = 1;
            suspendResult = this.q52_1(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.s52_1 = suspendResult;
            this.p7_1 = 3;
            this.o7_1 = 4;
            continue $sm;
          case 2:
            this.p7_1 = 3;
            var tmp_0 = this.r7_1;
            if (tmp_0 instanceof Error) {
              var e = this.r7_1;
              var tmp_1 = this;
              if (e instanceof CancellationException)
                throw e;
              if (get_DEBUG_ASYNC_LAUNCH_ERRORS()) {
                Console_getInstance().r50(['CoroutineScope._async.catch:']);
                printStackTrace(e);
              }
              throw e;
            } else {
              throw this.r7_1;
            }

            break;
          case 3:
            throw this.r7_1;
          case 4:
            this.p7_1 = 3;
            return this.s52_1;
        }
      } catch ($p) {
        if (this.p7_1 === 3) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  _async$slambda.prototype.i2n = function ($this$async, completion) {
    var i = new _async$slambda(this.q52_1, completion);
    i.r52_1 = $this$async;
    return i;
  };
  _async$slambda.$metadata$ = classMeta('_async$slambda', undefined, undefined, undefined, [1], CoroutineImpl.prototype);
  function _async$slambda_0($callback, resultContinuation) {
    var i = new _async$slambda($callback, resultContinuation);
    var l = function ($this$async, $cont) {
      return i.t52($this$async, $cont);
    };
    l.$arity = 1;
    return l;
  }
  function launchUnscopedAndWait$1($this_launchUnscopedAndWait, $deferred) {
    this.v52_1 = $deferred;
    this.u52_1 = $this_launchUnscopedAndWait;
  }
  launchUnscopedAndWait$1.prototype.p5 = function () {
    return this.u52_1;
  };
  launchUnscopedAndWait$1.prototype.n5 = function (result) {
    completeWith(this.v52_1, result);
  };
  launchUnscopedAndWait$1.$metadata$ = classMeta(undefined, [Continuation]);
  function launchUnscoped$1($this_launchUnscoped) {
    this.w52_1 = $this_launchUnscoped;
  }
  launchUnscoped$1.prototype.p5 = function () {
    return this.w52_1;
  };
  launchUnscoped$1.prototype.o5 = function (result) {
    if (_Result___get_isFailure__impl__jpiriv(result)) {
      var tmp0_safe_receiver = Result__exceptionOrNull_impl_p6xea9(result);
      if (tmp0_safe_receiver == null)
        null;
      else {
        printStackTrace(tmp0_safe_receiver);
      }
    }
  };
  launchUnscoped$1.prototype.n5 = function (result) {
    return this.o5(result);
  };
  launchUnscoped$1.$metadata$ = classMeta(undefined, [Continuation]);
  function DEBUG_ASYNC_LAUNCH_ERRORS$factory() {
    return getPropertyCallableRef('DEBUG_ASYNC_LAUNCH_ERRORS', 0, KProperty0, function () {
      return get_DEBUG_ASYNC_LAUNCH_ERRORS();
    }, null);
  }
  var properties_initialized_AsyncExt_kt_7k2grr;
  function init_properties_AsyncExt_kt_cok8ln() {
    if (properties_initialized_AsyncExt_kt_7k2grr) {
    } else {
      properties_initialized_AsyncExt_kt_7k2grr = true;
      var tmp$ret$0;
      // Inline function 'com.soywiz.klock.seconds' call
      tmp$ret$0 = Companion_getInstance().c1i(20.0);
      DEFAULT_SUSPEND_TEST_TIMEOUT = tmp$ret$0;
      DEBUG_ASYNC_LAUNCH_ERRORS$delegate = lazy(DEBUG_ASYNC_LAUNCH_ERRORS$delegate$lambda);
    }
  }
  function AsyncThread$sync$slambda($oldPromise, $func, resultContinuation) {
    this.f53_1 = $oldPromise;
    this.g53_1 = $func;
    CoroutineImpl.call(this, resultContinuation);
  }
  AsyncThread$sync$slambda.prototype.j53 = function ($cont) {
    var tmp = this.k53($cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  AsyncThread$sync$slambda.prototype.to = function ($cont) {
    return this.j53($cont);
  };
  AsyncThread$sync$slambda.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 4;
            this.h53_1 = this.f53_1;
            if (this.h53_1 == null) {
              this.i53_1 = null;
              this.o7_1 = 2;
              continue $sm;
            } else {
              this.o7_1 = 1;
              suspendResult = this.h53_1.y1w(this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            }

            break;
          case 1:
            this.i53_1 = suspendResult;
            this.o7_1 = 2;
            continue $sm;
          case 2:
            ;
            this.o7_1 = 3;
            suspendResult = this.g53_1(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return suspendResult;
          case 4:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 4) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  AsyncThread$sync$slambda.prototype.k53 = function (completion) {
    var i = new AsyncThread$sync$slambda(this.f53_1, this.g53_1, completion);
    return i;
  };
  AsyncThread$sync$slambda.$metadata$ = classMeta('AsyncThread$sync$slambda', undefined, undefined, undefined, [0], CoroutineImpl.prototype);
  function AsyncThread$sync$slambda_0($oldPromise, $func, resultContinuation) {
    var i = new AsyncThread$sync$slambda($oldPromise, $func, resultContinuation);
    var l = function ($cont) {
      return i.j53($cont);
    };
    l.$arity = 0;
    return l;
  }
  function AsyncThread() {
    this.l53_1 = null;
  }
  AsyncThread.prototype.m53 = function (func, $cont) {
    var tmp$ret$0;
    // Inline function 'kotlin.js.getCoroutineContext' call
    tmp$ret$0 = $cont.p5();
    var task = this.n53(tmp$ret$0, func);
    return task.y1w($cont);
  };
  AsyncThread.prototype.n53 = function (context, func) {
    var oldPromise = this.l53_1;
    var promise = asyncImmediately_0(context, AsyncThread$sync$slambda_0(oldPromise, func, null));
    this.l53_1 = promise;
    return promise;
  };
  AsyncThread.$metadata$ = classMeta('AsyncThread', [AsyncInvokable]);
  function AsyncInvokable() {
  }
  AsyncInvokable.$metadata$ = interfaceMeta('AsyncInvokable');
  function delay_0(time, $cont) {
    return delay(_TimeSpan___get_millisecondsLong__impl__v1fxun(time), $cont);
  }
  function delay_1(_this__u8e3s4, time, $cont) {
    return delay(_TimeSpan___get_millisecondsLong__impl__v1fxun(time), $cont);
  }
  function withTimeout_0(time, block, $cont) {
    var tmp = new $withTimeoutCOROUTINE$11(time, block, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  }
  function $withTimeoutCOROUTINE$11(time, block, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.w53_1 = time;
    this.x53_1 = block;
  }
  $withTimeoutCOROUTINE$11.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 4;
            if (_TimeSpan___get_isNil__impl__cma714(this.w53_1)) {
              this.o7_1 = 2;
              suspendResult = this.x53_1(CoroutineScope(this.p5()), this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.o7_1 = 1;
              suspendResult = withTimeout(_TimeSpan___get_millisecondsLong__impl__v1fxun(this.w53_1), this.x53_1, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            }

            break;
          case 1:
            this.y53_1 = suspendResult;
            this.o7_1 = 3;
            continue $sm;
          case 2:
            this.y53_1 = suspendResult;
            this.o7_1 = 3;
            continue $sm;
          case 3:
            return this.y53_1;
          case 4:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 4) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $withTimeoutCOROUTINE$11.$metadata$ = classMeta('$withTimeoutCOROUTINE$11', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function Signal_init_$Init$(onRegister, $mask0, $marker, $this) {
    if (!(($mask0 & 1) === 0)) {
      onRegister = Signal$_init_$lambda_6vimhp;
    }
    Signal.call($this, onRegister);
    return $this;
  }
  function Signal_init_$Create$(onRegister, $mask0, $marker) {
    return Signal_init_$Init$(onRegister, $mask0, $marker, Object.create(Signal.prototype));
  }
  function Signal$_init_$lambda_6vimhp() {
    return Unit_getInstance();
  }
  function Signal(onRegister) {
    BaseSignal.call(this, onRegister);
  }
  Signal.prototype.d54 = function (handler) {
    return this.i54(false, handler);
  };
  Signal.prototype.j54 = function (handler) {
    return this.d54(handler);
  };
  Signal.prototype.k54 = function (value) {
    var tmp$ret$0;
    $l$block: {
      // Inline function 'com.soywiz.korio.async.BaseSignal.iterateCallbacks' call
      if (this.f54_1.p()) {
        tmp$ret$0 = Unit_getInstance();
        break $l$block;
      }
      try {
        var tmp0_this = this;
        var tmp1 = tmp0_this.h54_1;
        tmp0_this.h54_1 = tmp1 + 1 | 0;
        var tmp$ret$2;
        // Inline function 'com.soywiz.kds.iterators.fastIterateRemove' call
        var tmp0_fastIterateRemove = this.f54_1;
        var n = 0;
        var m = 0;
        while (n < tmp0_fastIterateRemove.i()) {
          if (m >= 0 ? !(m === n) : false) {
            tmp0_fastIterateRemove.a5(m, tmp0_fastIterateRemove.m(n));
          }
          var tmp$ret$1;
          // Inline function 'com.soywiz.korio.async.BaseSignal.iterateCallbacks.<anonymous>' call
          var tmp1__anonymous__uwfjfc = tmp0_fastIterateRemove.m(n);
          var remove = tmp1__anonymous__uwfjfc.l54_1;
          // Inline function 'com.soywiz.korio.async.Signal.invoke.<anonymous>' call
          var tmp5__anonymous__kpxxpo = tmp1__anonymous__uwfjfc.m54_1;
          tmp5__anonymous__kpxxpo(value);
          tmp$ret$1 = remove;
          if (tmp$ret$1) {
            var tmp0 = m;
            m = tmp0 - 1 | 0;
          }
          var tmp1_0 = n;
          n = tmp1_0 + 1 | 0;
          var tmp2 = m;
          m = tmp2 + 1 | 0;
        }
        while (tmp0_fastIterateRemove.i() > m) {
          tmp0_fastIterateRemove.z4(tmp0_fastIterateRemove.i() - 1 | 0);
        }
        tmp$ret$2 = tmp0_fastIterateRemove;
      }finally {
        var tmp2_this = this;
        var tmp3 = tmp2_this.h54_1;
        tmp2_this.h54_1 = tmp3 - 1 | 0;
        var tmp$ret$3;
        // Inline function 'kotlin.collections.isNotEmpty' call
        var tmp2_isNotEmpty = this.g54_1;
        tmp$ret$3 = !tmp2_isNotEmpty.p();
        if (tmp$ret$3) {
          var tmp$ret$5;
          // Inline function 'com.soywiz.kds.iterators.fastIterateRemove' call
          var tmp3_fastIterateRemove = this.g54_1;
          var n_0 = 0;
          var m_0 = 0;
          while (n_0 < tmp3_fastIterateRemove.i()) {
            if (m_0 >= 0 ? !(m_0 === n_0) : false) {
              tmp3_fastIterateRemove.a5(m_0, tmp3_fastIterateRemove.m(n_0));
            }
            var tmp$ret$4;
            // Inline function 'com.soywiz.korio.async.BaseSignal.iterateCallbacks.<anonymous>' call
            var tmp4__anonymous__pkmkx7 = tmp3_fastIterateRemove.m(n_0);
            this.f54_1.c5(tmp4__anonymous__pkmkx7);
            tmp$ret$4 = true;
            if (tmp$ret$4) {
              var tmp0_0 = m_0;
              m_0 = tmp0_0 - 1 | 0;
            }
            var tmp1_1 = n_0;
            n_0 = tmp1_1 + 1 | 0;
            var tmp2_0 = m_0;
            m_0 = tmp2_0 + 1 | 0;
          }
          while (tmp3_fastIterateRemove.i() > m_0) {
            tmp3_fastIterateRemove.z4(tmp3_fastIterateRemove.i() - 1 | 0);
          }
          tmp$ret$5 = tmp3_fastIterateRemove;
        }
      }
    }
    return tmp$ret$0;
  };
  Signal.$metadata$ = classMeta('Signal', undefined, undefined, undefined, undefined, BaseSignal.prototype);
  function Node($outer, once, item) {
    this.n54_1 = $outer;
    this.l54_1 = once;
    this.m54_1 = item;
  }
  Node.prototype.s54 = function () {
    return this.l54_1;
  };
  Node.prototype.t54 = function () {
    return this.m54_1;
  };
  Node.prototype.x2c = function () {
    if (this.n54_1.h54_1 > 0) {
      this.n54_1.g54_1.c(this);
    } else {
      this.n54_1.f54_1.c5(this);
    }
  };
  Node.$metadata$ = classMeta('Node', [Closeable]);
  function BaseSignal(onRegister) {
    this.e54_1 = onRegister;
    this.f54_1 = FastArrayList_init_$Create$();
    this.g54_1 = FastArrayList_init_$Create$();
    this.h54_1 = 0;
  }
  BaseSignal.prototype.o54 = function () {
    return this.f54_1;
  };
  BaseSignal.prototype.p54 = function () {
    return this.f54_1.i();
  };
  BaseSignal.prototype.q54 = function () {
    return this.p54() > 0;
  };
  BaseSignal.prototype.i54 = function (once, handler) {
    this.e54_1();
    var node = new Node(this, once, handler);
    this.f54_1.c(node);
    return node;
  };
  BaseSignal.prototype.r54 = function (callback) {
    if (this.f54_1.p())
      return Unit_getInstance();
    try {
      var tmp0_this = this;
      var tmp1 = tmp0_this.h54_1;
      tmp0_this.h54_1 = tmp1 + 1 | 0;
      var tmp$ret$1;
      // Inline function 'com.soywiz.kds.iterators.fastIterateRemove' call
      var tmp0_fastIterateRemove = this.f54_1;
      var n = 0;
      var m = 0;
      while (n < tmp0_fastIterateRemove.i()) {
        if (m >= 0 ? !(m === n) : false) {
          tmp0_fastIterateRemove.a5(m, tmp0_fastIterateRemove.m(n));
        }
        var tmp$ret$0;
        // Inline function 'com.soywiz.korio.async.BaseSignal.iterateCallbacks.<anonymous>' call
        var tmp1__anonymous__uwfjfc = tmp0_fastIterateRemove.m(n);
        var remove = tmp1__anonymous__uwfjfc.l54_1;
        callback(tmp1__anonymous__uwfjfc.m54_1);
        tmp$ret$0 = remove;
        if (tmp$ret$0) {
          var tmp0 = m;
          m = tmp0 - 1 | 0;
        }
        var tmp1_0 = n;
        n = tmp1_0 + 1 | 0;
        var tmp2 = m;
        m = tmp2 + 1 | 0;
      }
      while (tmp0_fastIterateRemove.i() > m) {
        tmp0_fastIterateRemove.z4(tmp0_fastIterateRemove.i() - 1 | 0);
      }
      tmp$ret$1 = tmp0_fastIterateRemove;
    }finally {
      var tmp2_this = this;
      var tmp3 = tmp2_this.h54_1;
      tmp2_this.h54_1 = tmp3 - 1 | 0;
      var tmp$ret$2;
      // Inline function 'kotlin.collections.isNotEmpty' call
      var tmp2_isNotEmpty = this.g54_1;
      tmp$ret$2 = !tmp2_isNotEmpty.p();
      if (tmp$ret$2) {
        var tmp$ret$4;
        // Inline function 'com.soywiz.kds.iterators.fastIterateRemove' call
        var tmp3_fastIterateRemove = this.g54_1;
        var n_0 = 0;
        var m_0 = 0;
        while (n_0 < tmp3_fastIterateRemove.i()) {
          if (m_0 >= 0 ? !(m_0 === n_0) : false) {
            tmp3_fastIterateRemove.a5(m_0, tmp3_fastIterateRemove.m(n_0));
          }
          var tmp$ret$3;
          // Inline function 'com.soywiz.korio.async.BaseSignal.iterateCallbacks.<anonymous>' call
          var tmp4__anonymous__pkmkx7 = tmp3_fastIterateRemove.m(n_0);
          this.f54_1.c5(tmp4__anonymous__pkmkx7);
          tmp$ret$3 = true;
          if (tmp$ret$3) {
            var tmp0_0 = m_0;
            m_0 = tmp0_0 - 1 | 0;
          }
          var tmp1_1 = n_0;
          n_0 = tmp1_1 + 1 | 0;
          var tmp2_0 = m_0;
          m_0 = tmp2_0 + 1 | 0;
        }
        while (tmp3_fastIterateRemove.i() > m_0) {
          tmp3_fastIterateRemove.z4(tmp3_fastIterateRemove.i() - 1 | 0);
        }
        tmp$ret$4 = tmp3_fastIterateRemove;
      }
    }
  };
  BaseSignal.$metadata$ = classMeta('BaseSignal');
  function AsyncSignal_init_$Init$(onRegister, $mask0, $marker, $this) {
    if (!(($mask0 & 1) === 0)) {
      onRegister = AsyncSignal$_init_$lambda_rsv6fb;
    }
    AsyncSignal.call($this, onRegister);
    return $this;
  }
  function AsyncSignal_init_$Create$(onRegister, $mask0, $marker) {
    return AsyncSignal_init_$Init$(onRegister, $mask0, $marker, Object.create(AsyncSignal.prototype));
  }
  function AsyncSignal$_init_$lambda_rsv6fb() {
    return Unit_getInstance();
  }
  function $invokeCOROUTINE$12(_this__u8e3s4, value, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.c55_1 = _this__u8e3s4;
    this.d55_1 = value;
  }
  $invokeCOROUTINE$12.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 11;
            this.o7_1 = 1;
            continue $sm;
          case 1:
            if (this.c55_1.f54_1.p()) {
              this.e55_1 = Unit_getInstance();
              this.o7_1 = 10;
              continue $sm;
            } else {
              this.o7_1 = 2;
              continue $sm;
            }

            break;
          case 2:
            this.o7_1 = 3;
            continue $sm;
          case 3:
            this.p7_1 = 9;
            var tmp0_this = this.c55_1;
            var tmp1 = tmp0_this.h54_1;
            tmp0_this.h54_1 = tmp1 + 1 | 0;
            ;
            var tmp_0 = this;
            tmp_0.g55_1 = this.c55_1.f54_1;
            this.h55_1 = 0;
            this.i55_1 = 0;
            this.o7_1 = 4;
            continue $sm;
          case 4:
            if (!(this.h55_1 < this.g55_1.i())) {
              this.o7_1 = 7;
              continue $sm;
            }

            if (this.i55_1 >= 0 ? !(this.i55_1 === this.h55_1) : false) {
              this.g55_1.a5(this.i55_1, this.g55_1.m(this.h55_1));
            }

            var tmp_1 = this;
            tmp_1.j55_1 = this.g55_1.m(this.h55_1);
            this.k55_1 = this.j55_1.l54_1;
            var tmp_2 = this;
            tmp_2.l55_1 = this.j55_1.m54_1;
            this.o7_1 = 5;
            suspendResult = this.l55_1(this.d55_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            if (this.k55_1) {
              var tmp0 = this.i55_1;
              this.i55_1 = tmp0 - 1 | 0;
              this.o7_1 = 6;
              continue $sm;
            } else {
              this.o7_1 = 6;
              continue $sm;
            }

            break;
          case 6:
            var tmp1_0 = this.h55_1;
            this.h55_1 = tmp1_0 + 1 | 0;
            ;
            var tmp2 = this.i55_1;
            this.i55_1 = tmp2 + 1 | 0;
            ;
            this.o7_1 = 4;
            continue $sm;
          case 7:
            while (this.g55_1.i() > this.i55_1) {
              this.g55_1.z4(this.g55_1.i() - 1 | 0);
            }

            var tmp_3 = this;
            tmp_3.f55_1 = Unit_getInstance();
            this.p7_1 = 11;
            this.o7_1 = 8;
            continue $sm;
          case 8:
            var tmp2_this = this.c55_1;
            var tmp3 = tmp2_this.h54_1;
            tmp2_this.h54_1 = tmp3 - 1 | 0;
            ;
            var tmp2_isNotEmpty = this.c55_1.g54_1;
            if (!tmp2_isNotEmpty.p()) {
              var tmp3_fastIterateRemove = this.c55_1.g54_1;
              var n = 0;
              var m = 0;
              while (n < tmp3_fastIterateRemove.i()) {
                if (m >= 0 ? !(m === n) : false) {
                  tmp3_fastIterateRemove.a5(m, tmp3_fastIterateRemove.m(n));
                }
                var tmp4__anonymous__pkmkx7 = tmp3_fastIterateRemove.m(n);
                this.c55_1.f54_1.c5(tmp4__anonymous__pkmkx7);
                {
                  var tmp0_0 = m;
                  m = tmp0_0 - 1 | 0;
                }
                var tmp1_1 = n;
                n = tmp1_1 + 1 | 0;
                var tmp2_0 = m;
                m = tmp2_0 + 1 | 0;
              }
              while (tmp3_fastIterateRemove.i() > m) {
                tmp3_fastIterateRemove.z4(tmp3_fastIterateRemove.i() - 1 | 0);
              }
            }

            if (false) {
              this.o7_1 = 1;
              continue $sm;
            }

            this.o7_1 = 10;
            continue $sm;
          case 9:
            this.p7_1 = 11;
            var t = this.r7_1;
            var tmp2_this_0 = this.c55_1;
            var tmp3_0 = tmp2_this_0.h54_1;
            tmp2_this_0.h54_1 = tmp3_0 - 1 | 0;
            ;
            var tmp2_isNotEmpty_0 = this.c55_1.g54_1;
            if (!tmp2_isNotEmpty_0.p()) {
              var tmp3_fastIterateRemove_0 = this.c55_1.g54_1;
              var n_0 = 0;
              var m_0 = 0;
              while (n_0 < tmp3_fastIterateRemove_0.i()) {
                if (m_0 >= 0 ? !(m_0 === n_0) : false) {
                  tmp3_fastIterateRemove_0.a5(m_0, tmp3_fastIterateRemove_0.m(n_0));
                }
                var tmp4__anonymous__pkmkx7_0 = tmp3_fastIterateRemove_0.m(n_0);
                this.c55_1.f54_1.c5(tmp4__anonymous__pkmkx7_0);
                {
                  var tmp0_1 = m_0;
                  m_0 = tmp0_1 - 1 | 0;
                }
                var tmp1_2 = n_0;
                n_0 = tmp1_2 + 1 | 0;
                var tmp2_1 = m_0;
                m_0 = tmp2_1 + 1 | 0;
              }
              while (tmp3_fastIterateRemove_0.i() > m_0) {
                tmp3_fastIterateRemove_0.z4(tmp3_fastIterateRemove_0.i() - 1 | 0);
              }
            }

            throw t;
          case 10:
            return Unit_getInstance();
          case 11:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 11) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $invokeCOROUTINE$12.$metadata$ = classMeta('$invokeCOROUTINE$12', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function AsyncSignal(onRegister) {
    BaseSignal.call(this, onRegister);
  }
  AsyncSignal.prototype.q55 = function (handler) {
    return this.i54(false, handler);
  };
  AsyncSignal.prototype.r55 = function (handler) {
    return this.q55(handler);
  };
  AsyncSignal.prototype.s55 = function (value, $cont) {
    var tmp = new $invokeCOROUTINE$12(this, value, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  AsyncSignal.$metadata$ = classMeta('AsyncSignal', undefined, undefined, undefined, undefined, BaseSignal.prototype);
  function invoke(_this__u8e3s4) {
    return _this__u8e3s4.k54(Unit_getInstance());
  }
  function runBlockingNoSuspensions(callback) {
    var completed = {_v: false};
    var rresult = {_v: null};
    var resultEx = {_v: null};
    var suspendCount = {_v: 0};
    startCoroutineUndispatched(callback, new runBlockingNoSuspensions$1(suspendCount, resultEx, completed, rresult));
    if (!completed._v) {
      invalidOp('runBlockingNoSuspensions was not completed synchronously! suspendCount=' + suspendCount._v);
    }
    if (!(resultEx._v == null))
      throw ensureNotNull(resultEx._v);
    var tmp;
    if (rresult._v == null) {
      throwUninitializedPropertyAccessException('rresult');
    } else {
      tmp = rresult._v;
    }
    return tmp;
  }
  function startCoroutineUndispatched(_this__u8e3s4, completion) {
    var tmp$ret$7;
    $l$block: {
      // Inline function 'com.soywiz.korio.async.startDirect' call
      var tmp;
      try {
        var tmp$ret$4;
        // Inline function 'com.soywiz.korio.async.startCoroutineUndispatched.<anonymous>' call
        var tmp$ret$3;
        // Inline function 'com.soywiz.korio.async.withCoroutineContext' call
        var tmp0_withCoroutineContext = completion.p5();
        var tmp$ret$2;
        // Inline function 'com.soywiz.korio.async.startCoroutineUndispatched.<anonymous>.<anonymous>' call
        var tmp$ret$1;
        // Inline function 'kotlin.coroutines.intrinsics.startCoroutineUninterceptedOrReturn' call
        var tmp$ret$0;
        // Inline function 'kotlin.js.asDynamic' call
        tmp$ret$0 = _this__u8e3s4;
        var a = tmp$ret$0;
        tmp$ret$1 = typeof a === 'function' ? a(completion) : _this__u8e3s4.to(completion);
        tmp$ret$2 = tmp$ret$1;
        tmp$ret$3 = tmp$ret$2;
        tmp$ret$4 = tmp$ret$3;
        tmp = tmp$ret$4;
      } catch ($p) {
        var tmp_0;
        if ($p instanceof Error) {
          var tmp$ret$6;
          // Inline function 'kotlin.coroutines.resumeWithException' call
          var tmp$ret$5;
          // Inline function 'kotlin.Companion.failure' call
          var tmp0_failure = Companion_getInstance_0();
          tmp$ret$5 = _Result___init__impl__xyqfz8(createFailure($p));
          completion.n5(tmp$ret$5);
          tmp$ret$6 = Unit_getInstance();
          tmp$ret$7 = Unit_getInstance();
          break $l$block;
        } else {
          throw $p;
        }
        tmp = tmp_0;
      }
      var value = tmp;
      if (!(value === get_COROUTINE_SUSPENDED())) {
        var tmp$ret$9;
        // Inline function 'kotlin.coroutines.resume' call
        var tmp0_resume = (value == null ? true : isObject(value)) ? value : THROW_CCE();
        var tmp$ret$8;
        // Inline function 'kotlin.Companion.success' call
        var tmp0_success = Companion_getInstance_0();
        tmp$ret$8 = _Result___init__impl__xyqfz8(tmp0_resume);
        completion.n5(tmp$ret$8);
        tmp$ret$9 = Unit_getInstance();
      }
    }
  }
  function startDirect(completion, block) {
    var tmp;
    try {
      tmp = block();
    } catch ($p) {
      var tmp_0;
      if ($p instanceof Error) {
        var tmp$ret$1;
        // Inline function 'kotlin.coroutines.resumeWithException' call
        var tmp$ret$0;
        // Inline function 'kotlin.Companion.failure' call
        var tmp0_failure = Companion_getInstance_0();
        tmp$ret$0 = _Result___init__impl__xyqfz8(createFailure($p));
        completion.n5(tmp$ret$0);
        tmp$ret$1 = Unit_getInstance();
        return Unit_getInstance();
      } else {
        throw $p;
      }
      tmp = tmp_0;
    }
    var value = tmp;
    if (!(value === get_COROUTINE_SUSPENDED())) {
      var tmp$ret$3;
      // Inline function 'kotlin.coroutines.resume' call
      var tmp0_resume = (value == null ? true : isObject(value)) ? value : THROW_CCE();
      var tmp$ret$2;
      // Inline function 'kotlin.Companion.success' call
      var tmp0_success = Companion_getInstance_0();
      tmp$ret$2 = _Result___init__impl__xyqfz8(tmp0_resume);
      completion.n5(tmp$ret$2);
      tmp$ret$3 = Unit_getInstance();
    }
  }
  function withCoroutineContext(context, countOrElement, block) {
    return block();
  }
  function _get_unitInstance__yoa8mq($this) {
    return Unit_getInstance();
  }
  function runBlockingNoSuspensions$1$context$1($suspendCount) {
    this.v55_1 = $suspendCount;
    AbstractCoroutineContextElement.call(this, Key_getInstance());
    this.u55_1 = Key_getInstance();
  }
  runBlockingNoSuspensions$1$context$1.prototype.k1 = function () {
    return this.u55_1;
  };
  runBlockingNoSuspensions$1$context$1.prototype.g8 = function (continuation) {
    var tmp$ret$0;
    // Inline function 'kotlin.also' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.soywiz.korio.async.<no name provided>.interceptContinuation.<anonymous>' call
    var tmp0 = this.v55_1._v;
    this.v55_1._v = tmp0 + 1 | 0;
    tmp$ret$0 = continuation;
    return tmp$ret$0;
  };
  runBlockingNoSuspensions$1$context$1.prototype.b21 = function (timeMillis, continuation) {
    var tmp$ret$1;
    // Inline function 'kotlin.coroutines.resume' call
    var tmp$ret$0;
    // Inline function 'kotlin.Companion.success' call
    var tmp0_success = Companion_getInstance_0();
    tmp$ret$0 = _Result___init__impl__xyqfz8(Unit_getInstance());
    continuation.n5(tmp$ret$0);
    tmp$ret$1 = Unit_getInstance();
    return tmp$ret$1;
  };
  runBlockingNoSuspensions$1$context$1.$metadata$ = classMeta(undefined, [ContinuationInterceptor, Delay], undefined, undefined, undefined, AbstractCoroutineContextElement.prototype);
  function runBlockingNoSuspensions$1($suspendCount, $resultEx, $completed, $rresult) {
    this.x55_1 = $resultEx;
    this.y55_1 = $completed;
    this.z55_1 = $rresult;
    var tmp = this;
    tmp.w55_1 = new runBlockingNoSuspensions$1$context$1($suspendCount);
  }
  runBlockingNoSuspensions$1.prototype.p5 = function () {
    return this.w55_1;
  };
  runBlockingNoSuspensions$1.prototype.a56 = function (result) {
    var exception = Result__exceptionOrNull_impl_p6xea9(result);
    if (!(exception == null)) {
      this.x55_1._v = exception;
      this.y55_1._v = true;
      printStackTrace(exception);
    } else {
      var tmp$ret$0;
      // Inline function 'kotlin.getOrThrow' call
      throwOnFailure(result);
      var tmp = _Result___get_value__impl__bjfvqg(result);
      tmp$ret$0 = (tmp == null ? true : isObject(tmp)) ? tmp : THROW_CCE();
      var tmp0_elvis_lhs = tmp$ret$0;
      var tmp_0;
      if (tmp0_elvis_lhs == null) {
        _get_unitInstance__yoa8mq(this);
        var tmp_1 = Unit_getInstance();
        var tmp_2;
        if (isObject(Unit_getInstance())) {
          tmp_2 = Unit_getInstance();
        } else {
          tmp_2 = THROW_CCE();
        }
        tmp_0 = tmp_2;
      } else {
        tmp_0 = tmp0_elvis_lhs;
      }
      var rvalue = tmp_0;
      this.z55_1._v = rvalue;
      this.y55_1._v = true;
    }
  };
  runBlockingNoSuspensions$1.prototype.n5 = function (result) {
    return this.a56(result);
  };
  runBlockingNoSuspensions$1.$metadata$ = classMeta(undefined, [Continuation]);
  function CompressionMethod() {
  }
  CompressionMethod.$metadata$ = interfaceMeta('CompressionMethod');
  function uncompress_0(_this__u8e3s4, i, o, $cont) {
    var tmp = new $uncompressCOROUTINE$13(_this__u8e3s4, i, o, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  }
  function uncompress_1(_this__u8e3s4, method, outputSizeHint) {
    var tmp$ret$0;
    // Inline function 'com.soywiz.korio.stream.MemorySyncStreamToByteArray' call
    var buffer = ByteArrayBuilder_init_$Create$(outputSizeHint);
    var s = MemorySyncStream(buffer);
    // Inline function 'com.soywiz.korio.compression.uncompress.<anonymous>' call
    uncompress_2(method, openSync$default(_this__u8e3s4, null, 1, null), s);
    tmp$ret$0 = buffer.g4w();
    return tmp$ret$0;
  }
  function uncompress$default(_this__u8e3s4, method, outputSizeHint, $mask0, $handler) {
    if (!(($mask0 & 2) === 0))
      outputSizeHint = imul(_this__u8e3s4.length, 2);
    return uncompress_1(_this__u8e3s4, method, outputSizeHint);
  }
  function uncompress_2(_this__u8e3s4, i, o) {
    return runBlockingNoSuspensions(uncompress$slambda_0(_this__u8e3s4, i, o, null));
  }
  function uncompress$slambda($this_uncompress, $i, $o, resultContinuation) {
    this.w56_1 = $this_uncompress;
    this.x56_1 = $i;
    this.y56_1 = $o;
    CoroutineImpl.call(this, resultContinuation);
  }
  uncompress$slambda.prototype.z56 = function ($cont) {
    var tmp = this.k53($cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  uncompress$slambda.prototype.to = function ($cont) {
    return this.z56($cont);
  };
  uncompress$slambda.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 2;
            this.o7_1 = 1;
            suspendResult = uncompress_0(this.w56_1, toAsyncInputStream(this.x56_1), toAsyncOutputStream(this.y56_1), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_getInstance();
          case 2:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 2) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  uncompress$slambda.prototype.k53 = function (completion) {
    var i = new uncompress$slambda(this.w56_1, this.x56_1, this.y56_1, completion);
    return i;
  };
  uncompress$slambda.$metadata$ = classMeta('uncompress$slambda', undefined, undefined, undefined, [0], CoroutineImpl.prototype);
  function uncompress$slambda_0($this_uncompress, $i, $o, resultContinuation) {
    var i = new uncompress$slambda($this_uncompress, $i, $o, resultContinuation);
    var l = function ($cont) {
      return i.z56($cont);
    };
    l.$arity = 0;
    return l;
  }
  function $uncompressCOROUTINE$13(_this__u8e3s4, i, o, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.k56_1 = _this__u8e3s4;
    this.l56_1 = i;
    this.m56_1 = o;
  }
  $uncompressCOROUTINE$13.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 3;
            this.o7_1 = 1;
            suspendResult = Companion_getInstance_7().c57(this.l56_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.n56_1 = suspendResult;
            this.o7_1 = 2;
            suspendResult = this.k56_1.b56(this.n56_1, this.m56_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            return Unit_getInstance();
          case 3:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 3) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $uncompressCOROUTINE$13.$metadata$ = classMeta('$uncompressCOROUTINE$13', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function Companion() {
    Companion_instance = this;
    this.d57_1 = 8388608;
    this.e57_1 = 131072;
  }
  Companion.$metadata$ = objectMeta('Companion');
  var Companion_instance;
  function Companion_getInstance_4() {
    if (Companion_instance == null)
      new Companion();
    return Companion_instance;
  }
  function SlidingWindowWithOutput(sliding, out, flushSize, extraSize) {
    Companion_getInstance_4();
    this.f57_1 = sliding;
    this.g57_1 = out;
    this.h57_1 = flushSize;
    this.i57_1 = extraSize;
    this.j57_1 = FixedSizeByteArrayBuilder_init_$Create$(this.h57_1 + this.i57_1 | 0);
  }
  SlidingWindowWithOutput.prototype.k57 = function () {
    return this.j57_1.m4y_1 >= this.h57_1;
  };
  SlidingWindowWithOutput.prototype.l57 = function (distance, length) {
    var inductionVariable = 0;
    if (inductionVariable < length)
      do {
        var n = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var v = this.f57_1.q57(distance);
        this.j57_1.e4w(toByte(v));
      }
       while (inductionVariable < length);
  };
  SlidingWindowWithOutput.prototype.r57 = function (bytes, offset, len) {
    this.j57_1.c4w(bytes, offset, len);
    this.f57_1.s57(bytes, offset, len);
  };
  SlidingWindowWithOutput.prototype.t57 = function (byte) {
    this.j57_1.e4w(byte);
    var tmp$ret$0;
    // Inline function 'com.soywiz.kmem.unsigned' call
    tmp$ret$0 = byte & 255;
    this.f57_1.u57(tmp$ret$0);
  };
  SlidingWindowWithOutput.$metadata$ = classMeta('SlidingWindowWithOutput');
  function Companion_0() {
    Companion_instance_0 = this;
    DeflatePortable.call(this, 15);
    var tmp = this;
    var tmp_0 = new HuffmanTree();
    var tmp$ret$0;
    // Inline function 'kotlin.apply' call
    var tmp0_apply = new Int32Array(288);
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.soywiz.korio.compression.deflate.Companion.FIXED_TREE.<anonymous>' call
    var inductionVariable = 0;
    if (inductionVariable <= 143)
      do {
        var n = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        tmp0_apply[n] = 8;
      }
       while (inductionVariable <= 143);
    var inductionVariable_0 = 144;
    if (inductionVariable_0 <= 255)
      do {
        var n_0 = inductionVariable_0;
        inductionVariable_0 = inductionVariable_0 + 1 | 0;
        tmp0_apply[n_0] = 9;
      }
       while (inductionVariable_0 <= 255);
    var inductionVariable_1 = 256;
    if (inductionVariable_1 <= 279)
      do {
        var n_1 = inductionVariable_1;
        inductionVariable_1 = inductionVariable_1 + 1 | 0;
        tmp0_apply[n_1] = 7;
      }
       while (inductionVariable_1 <= 279);
    var inductionVariable_2 = 280;
    if (inductionVariable_2 <= 287)
      do {
        var n_2 = inductionVariable_2;
        inductionVariable_2 = inductionVariable_2 + 1 | 0;
        tmp0_apply[n_2] = 8;
      }
       while (inductionVariable_2 <= 287);
    tmp$ret$0 = tmp0_apply;
    var tmp_1 = tmp$ret$0;
    tmp.w57_1 = tmp_0.p58(tmp_1, 0, 0, 6, null);
    var tmp_2 = this;
    var tmp_3 = new HuffmanTree();
    var tmp_4 = 0;
    var tmp_5 = 32;
    var tmp_6 = new Int32Array(tmp_5);
    while (tmp_4 < tmp_5) {
      var tmp_7 = tmp_4;
      var tmp$ret$1;
      // Inline function 'com.soywiz.korio.compression.deflate.Companion.FIXED_DIST.<anonymous>' call
      tmp$ret$1 = 5;
      tmp_6[tmp_7] = tmp$ret$1;
      tmp_4 = tmp_4 + 1 | 0;
    }
    tmp_2.x57_1 = tmp_3.p58(tmp_6, 0, 0, 6, null);
    var tmp_8 = this;
    var tmp$ret$2;
    // Inline function 'kotlin.intArrayOf' call
    tmp$ret$2 = new Int32Array([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 0, 0]);
    tmp_8.y57_1 = tmp$ret$2;
    var tmp_9 = this;
    var tmp$ret$3;
    // Inline function 'kotlin.intArrayOf' call
    tmp$ret$3 = new Int32Array([3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0]);
    tmp_9.z57_1 = tmp$ret$3;
    var tmp_10 = this;
    var tmp$ret$4;
    // Inline function 'kotlin.intArrayOf' call
    tmp$ret$4 = new Int32Array([0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13]);
    tmp_10.a58_1 = tmp$ret$4;
    var tmp_11 = this;
    var tmp$ret$5;
    // Inline function 'kotlin.intArrayOf' call
    tmp$ret$5 = new Int32Array([1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577, 0, 0]);
    tmp_11.b58_1 = tmp$ret$5;
    var tmp_12 = this;
    var tmp$ret$6;
    // Inline function 'kotlin.intArrayOf' call
    tmp$ret$6 = new Int32Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);
    tmp_12.c58_1 = tmp$ret$6;
  }
  Companion_0.$metadata$ = objectMeta('Companion', undefined, undefined, undefined, undefined, DeflatePortable.prototype);
  var Companion_instance_0;
  function Companion_getInstance_5() {
    if (Companion_instance_0 == null)
      new Companion_0();
    return Companion_instance_0;
  }
  function $uncompressCOROUTINE$16(_this__u8e3s4, reader, out, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.z58_1 = _this__u8e3s4;
    this.a59_1 = reader;
    this.b59_1 = out;
  }
  $uncompressCOROUTINE$16.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 20;
            this.c59_1 = new SlidingWindowWithOutput(new SlidingWindow(this.z58_1.q58_1), this.b59_1, this.a59_1.s59_1, this.a59_1.t59_1);
            this.d59_1 = false;
            this.e59_1 = new HuffmanTree();
            this.f59_1 = new HuffmanTree();
            this.g59_1 = new Int32Array(32);
            this.h59_1 = new Int32Array(512);
            this.o7_1 = 1;
            continue $sm;
          case 1:
            if (!!this.d59_1) {
              this.o7_1 = 17;
              continue $sm;
            }

            if (false ? true : this.c59_1.k57()) {
              this.o7_1 = 2;
              suspendResult = this.c59_1.g57_1.a5a(this.c59_1.j57_1.l4y_1, 0, this.c59_1.j57_1.m4y_1, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.o7_1 = 3;
              continue $sm;
            }

            break;
          case 2:
            this.c59_1.j57_1.x7();
            this.o7_1 = 3;
            continue $sm;
          case 3:
            if (this.a59_1.c5a()) {
              this.o7_1 = 4;
              suspendResult = this.a59_1.b5a(this.a59_1.s59_1, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.o7_1 = 5;
              continue $sm;
            }

            break;
          case 4:
            this.o7_1 = 5;
            continue $sm;
          case 5:
            this.d59_1 = this.a59_1.d5a();
            this.i59_1 = this.a59_1.e5a(2);
            var containsArg = this.i59_1;
            if (!(0 <= containsArg ? containsArg <= 2 : false)) {
              throw IllegalStateException_init_$Create$('invalid bit');
            }

            if (this.i59_1 === 0) {
              this.j59_1 = this.a59_1.i5a();
              this.k59_1 = this.a59_1.i5a();
              this.l59_1 = ~this.k59_1 & 65535;
              if (!(this.j59_1 === this.l59_1)) {
                var tmp_0 = this;
                tmp_0.m59_1 = 'Invalid deflate stream: len(' + this.j59_1 + ') != ~nlen(' + this.l59_1 + ') :: nlen=' + this.k59_1;
                throw IllegalStateException_init_$Create$(toString(this.m59_1));
              }
              this.o7_1 = 13;
              suspendResult = this.a59_1.j5a(this.j59_1, null, this, 2, null);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              if (this.i59_1 === 1) {
                this.n59_1 = Companion_getInstance_5().w57_1;
                this.o59_1 = Companion_getInstance_5().x57_1;
              } else {
                var hlit = this.a59_1.e5a(5) + 257 | 0;
                var hdist = this.a59_1.e5a(5) + 1 | 0;
                var hclen = this.a59_1.e5a(4) + 4 | 0;
                fill$default(this.g59_1, 0, 0, 0, 6, null);
                var inductionVariable = 0;
                if (inductionVariable < hclen)
                  do {
                    var i = inductionVariable;
                    inductionVariable = inductionVariable + 1 | 0;
                    this.g59_1[Companion_getInstance_5().c58_1[i]] = this.a59_1.e5a(3);
                  }
                   while (inductionVariable < hclen);
                this.e59_1.f5a(this.g59_1, 0, 0, 6, null);
                var codeLen = this.e59_1;
                var hlithdist = hlit + hdist | 0;
                var n = 0;
                fill$default(this.h59_1, 0, 0, 0, 6, null);
                while (n < hlithdist) {
                  var value = codeLen.g5a(this.a59_1);
                  if (!(0 <= value ? value <= 18 : false)) {
                    throw IllegalStateException_init_$Create$('Invalid');
                  }
                  var tmp1_subject = value;
                  {
                    var len;
                    switch (tmp1_subject) {
                      case 16:
                        len = this.a59_1.e5a(2) + 3 | 0;
                        break;
                      case 17:
                        len = this.a59_1.e5a(3) + 3 | 0;
                        break;
                      case 18:
                        len = this.a59_1.e5a(7) + 11 | 0;
                        break;
                      default:
                        len = 1;
                        break;
                    }
                  }
                  var tmp2_subject = value;
                  {
                    var vv;
                    switch (tmp2_subject) {
                      case 16:
                        vv = this.h59_1[n - 1 | 0];
                        break;
                      case 17:
                        vv = 0;
                        break;
                      case 18:
                        vv = 0;
                        break;
                      default:
                        vv = value;
                        break;
                    }
                  }
                  fill(this.h59_1, vv, n, n + len | 0);
                  n = n + len | 0;
                }
                this.e59_1.h5a(this.h59_1, 0, hlit);
                this.f59_1.h5a(this.h59_1, hlit, hlithdist);
                this.n59_1 = this.e59_1;
                this.o59_1 = this.f59_1;
              }
              this.o7_1 = 6;
              continue $sm;
            }

            break;
          case 6:
            if (false) {
              this.o7_1 = 12;
              continue $sm;
            }

            if (this.a59_1.c5a()) {
              this.o7_1 = 7;
              suspendResult = this.a59_1.b5a(this.a59_1.s59_1, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.o7_1 = 8;
              continue $sm;
            }

            break;
          case 7:
            this.o7_1 = 8;
            continue $sm;
          case 8:
            this.p59_1 = this.n59_1.g5a(this.a59_1);
            if (this.p59_1 === 256) {
              this.o7_1 = 12;
              continue $sm;
            } else {
              this.o7_1 = 9;
              continue $sm;
            }

            break;
          case 9:
            if (this.p59_1 < 256) {
              this.c59_1.t57(toByte(this.p59_1));
            } else {
              var zlenof = this.p59_1 - 257 | 0;
              var lengthExtra = this.a59_1.e5a(Companion_getInstance_5().y57_1[zlenof]);
              var distanceData = this.o59_1.g5a(this.a59_1);
              var distanceExtra = this.a59_1.e5a(Companion_getInstance_5().a58_1[distanceData]);
              var distance = Companion_getInstance_5().b58_1[distanceData] + distanceExtra | 0;
              var length = Companion_getInstance_5().z57_1[zlenof] + lengthExtra | 0;
              this.c59_1.l57(distance, length);
            }

            if (false ? true : this.c59_1.k57()) {
              this.o7_1 = 10;
              suspendResult = this.c59_1.g57_1.a5a(this.c59_1.j57_1.l4y_1, 0, this.c59_1.j57_1.m4y_1, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.o7_1 = 11;
              continue $sm;
            }

            break;
          case 10:
            this.c59_1.j57_1.x7();
            this.o7_1 = 11;
            continue $sm;
          case 11:
            this.o7_1 = 6;
            continue $sm;
          case 12:
            this.o7_1 = 16;
            continue $sm;
          case 13:
            this.q59_1 = suspendResult;
            this.c59_1.r57(this.q59_1, 0, this.j59_1);
            if (false ? true : this.c59_1.k57()) {
              this.o7_1 = 14;
              suspendResult = this.c59_1.g57_1.a5a(this.c59_1.j57_1.l4y_1, 0, this.c59_1.j57_1.m4y_1, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.o7_1 = 15;
              continue $sm;
            }

            break;
          case 14:
            this.c59_1.j57_1.x7();
            this.o7_1 = 15;
            continue $sm;
          case 15:
            this.o7_1 = 16;
            continue $sm;
          case 16:
            this.o7_1 = 1;
            continue $sm;
          case 17:
            if (true) {
              this.o7_1 = 18;
              suspendResult = this.c59_1.g57_1.a5a(this.c59_1.j57_1.l4y_1, 0, this.c59_1.j57_1.m4y_1, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.o7_1 = 19;
              continue $sm;
            }

            break;
          case 18:
            this.c59_1.j57_1.x7();
            this.o7_1 = 19;
            continue $sm;
          case 19:
            return Unit_getInstance();
          case 20:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 20) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $uncompressCOROUTINE$16.$metadata$ = classMeta('$uncompressCOROUTINE$16', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function DeflatePortable(windowBits) {
    Companion_getInstance_5();
    this.q58_1 = windowBits;
  }
  DeflatePortable.prototype.b56 = function (reader, out, $cont) {
    var tmp = new $uncompressCOROUTINE$16(this, reader, out, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  DeflatePortable.$metadata$ = classMeta('DeflatePortable', [CompressionMethod]);
  function ZLib$Companion$_init_$lambda_nrgg4o(it) {
    return Deflate(it);
  }
  function $writeCOROUTINE$25(_this__u8e3s4, buffer, offset, len, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.s5a_1 = _this__u8e3s4;
    this.t5a_1 = buffer;
    this.u5a_1 = offset;
    this.v5a_1 = len;
  }
  $writeCOROUTINE$25.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 2;
            this.o7_1 = 1;
            suspendResult = this.s5a_1.w5a_1.a5a(this.t5a_1, this.u5a_1, this.v5a_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.s5a_1.x5a_1._v = Adler32_getInstance().a5b(this.s5a_1.x5a_1._v, this.t5a_1, this.u5a_1, this.v5a_1);
            return Unit_getInstance();
          case 2:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 2) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $writeCOROUTINE$25.$metadata$ = classMeta('$writeCOROUTINE$25', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function Companion_1() {
    Companion_instance_1 = this;
    ZLib.call(this, ZLib$Companion$_init_$lambda_nrgg4o);
  }
  Companion_1.$metadata$ = objectMeta('Companion', undefined, undefined, undefined, undefined, ZLib.prototype);
  var Companion_instance_1;
  function Companion_getInstance_6() {
    if (Companion_instance_1 == null)
      new Companion_1();
    return Companion_instance_1;
  }
  function ZLib$uncompress$2($o, $chash) {
    this.w5a_1 = $o;
    this.x5a_1 = $chash;
  }
  ZLib$uncompress$2.prototype.x51 = function ($cont) {
    return this.w5a_1.x51($cont);
  };
  ZLib$uncompress$2.prototype.a5a = function (buffer, offset, len, $cont) {
    var tmp = new $writeCOROUTINE$25(this, buffer, offset, len, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  ZLib$uncompress$2.$metadata$ = classMeta(undefined, [AsyncOutputStream]);
  function $uncompressCOROUTINE$23(_this__u8e3s4, reader, out, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.k5b_1 = _this__u8e3s4;
    this.l5b_1 = reader;
    this.m5b_1 = out;
  }
  $uncompressCOROUTINE$23.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 6;
            this.n5b_1 = this.l5b_1;
            this.o5b_1 = this.m5b_1;
            if (this.n5b_1.c5a()) {
              this.o7_1 = 1;
              suspendResult = this.n5b_1.b5a(this.n5b_1.s59_1, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.o7_1 = 2;
              continue $sm;
            }

            break;
          case 1:
            this.o7_1 = 2;
            continue $sm;
          case 2:
            this.p5b_1 = this.n5b_1.z5b();
            this.q5b_1 = this.n5b_1.z5b();
            if (!(((imul(this.p5b_1, 256) + this.q5b_1 | 0) % 31 | 0) === 0)) {
              throw IllegalStateException_init_$Create$('bad zlib header');
            }

            this.r5b_1 = extract(this.p5b_1, 0, 4);
            if (!(this.r5b_1 === 8)) {
              var tmp_0 = this;
              tmp_0.s5b_1 = 'Invalid zlib stream compressionMethod=' + this.r5b_1;
              throw IllegalStateException_init_$Create$(toString(this.s5b_1));
            }

            this.t5b_1 = extract(this.p5b_1, 4, 4) + 8 | 0;
            this.u5b_1 = extract(this.q5b_1, 0, 5);
            var tmp_1 = this;
            tmp_1.v5b_1 = !(((this.q5b_1 >>> 5 | 0) & 1) === 0);
            this.w5b_1 = extract(this.q5b_1, 6, 2);
            this.x5b_1 = 0;
            if (this.v5b_1) {
              this.x5b_1 = this.n5b_1.a5c();
              var tmp1_TODO = 'Unsupported custom dictionaries (Provided DICTID=' + this.x5b_1 + ')';
              throw new NotImplementedError('An operation is not implemented: ' + tmp1_TODO);
            }

            this.y5b_1 = {_v: Adler32_getInstance().z5a_1};
            this.o7_1 = 3;
            var tmp_2 = this.k5b_1.b5b_1(this.t5b_1);
            suspendResult = tmp_2.b56(this.n5b_1, new ZLib$uncompress$2(this.o5b_1, this.y5b_1), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            if (this.n5b_1.c5a()) {
              this.o7_1 = 4;
              suspendResult = this.n5b_1.b5a(this.n5b_1.s59_1, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.o7_1 = 5;
              continue $sm;
            }

            break;
          case 4:
            this.o7_1 = 5;
            continue $sm;
          case 5:
            var adler32 = this.n5b_1.b5c();
            if (!(this.y5b_1._v === adler32)) {
              invalidOp("Adler32 doesn't match " + get_hex(this.y5b_1._v) + ' != ' + get_hex(adler32));
            }

            return Unit_getInstance();
          case 6:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 6) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $uncompressCOROUTINE$23.$metadata$ = classMeta('$uncompressCOROUTINE$23', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function ZLib(deflater) {
    Companion_getInstance_6();
    this.b5b_1 = deflater;
  }
  ZLib.prototype.b56 = function (reader, out, $cont) {
    var tmp = new $uncompressCOROUTINE$23(this, reader, out, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  ZLib.$metadata$ = classMeta('ZLib', [CompressionMethod]);
  function $forInputCOROUTINE$27(_this__u8e3s4, s, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.k5c_1 = _this__u8e3s4;
    this.l5c_1 = s;
  }
  $forInputCOROUTINE$27.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 5;
            var tmp_0 = this.l5c_1;
            if (isInterface(tmp_0, AsyncGetLengthStream)) {
              this.o7_1 = 1;
              suspendResult = this.l5c_1.o5c(this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.m5c_1 = false;
              this.o7_1 = 2;
              continue $sm;
            }

            break;
          case 1:
            this.m5c_1 = suspendResult;
            this.o7_1 = 2;
            continue $sm;
          case 2:
            if (this.m5c_1) {
              var tmp_1 = this;
              tmp_1.n5c_1 = 32768;
              this.o7_1 = 4;
              suspendResult = this.l5c_1.p5c(this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.o7_1 = 3;
              continue $sm;
            }

            ;
            break;
          case 3:
            return BitReader_init_$Create$(this.l5c_1, 0, 0, 6, null);
          case 4:
            var tmp0_min = suspendResult;
            var tmp1_min = new Long(8388608, 0);
            var ARGUMENT = tmp0_min.x1(tmp1_min) <= 0 ? tmp0_min : tmp1_min;
            var tmp3_max = ARGUMENT.d2();
            var bigChunkSize = Math.max(this.n5c_1, tmp3_max);
            var tmp4_max = bigChunkSize / 2 | 0;
            var tmp5_max = 32768;
            var readWithSize = Math.max(tmp4_max, tmp5_max);
            return new BitReader(this.l5c_1, bigChunkSize, readWithSize);
          case 5:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 5) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $forInputCOROUTINE$27.$metadata$ = classMeta('$forInputCOROUTINE$27', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function BitReader_init_$Init$(s, bigChunkSize, readWithSize, $mask0, $marker, $this) {
    if (!(($mask0 & 2) === 0)) {
      Companion_getInstance_7();
      bigChunkSize = 8388608;
    }
    if (!(($mask0 & 4) === 0)) {
      Companion_getInstance_7();
      readWithSize = 32768;
    }
    BitReader.call($this, s, bigChunkSize, readWithSize);
    return $this;
  }
  function BitReader_init_$Create$(s, bigChunkSize, readWithSize, $mask0, $marker) {
    return BitReader_init_$Init$(s, bigChunkSize, readWithSize, $mask0, $marker, Object.create(BitReader.prototype));
  }
  function Companion_2() {
    Companion_instance_2 = this;
    this.a57_1 = 8388608;
    this.b57_1 = 32768;
  }
  Companion_2.prototype.c57 = function (s, $cont) {
    var tmp = new $forInputCOROUTINE$27(this, s, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  Companion_2.$metadata$ = objectMeta('Companion');
  var Companion_instance_2;
  function Companion_getInstance_7() {
    if (Companion_instance_2 == null)
      new Companion_2();
    return Companion_instance_2;
  }
  function $prepareBytesUpToCOROUTINE$29(_this__u8e3s4, expectedBytes, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.y5c_1 = _this__u8e3s4;
    this.z5c_1 = expectedBytes;
  }
  $prepareBytesUpToCOROUTINE$29.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 6;
            this.o7_1 = 1;
            continue $sm;
          case 1:
            if (!(this.y5c_1.w59_1.m4l_1 < this.z5c_1)) {
              this.o7_1 = 5;
              continue $sm;
            }

            var tmp_0 = this;
            var tmp_1 = this;
            tmp_1.a5d_1 = this.y5c_1.w59_1.z4u();
            tmp_0.b5d_1 = Math.min(this.z5c_1, this.a5d_1);
            if (this.b5d_1 <= 0) {
              this.o7_1 = 5;
              continue $sm;
            } else {
              this.o7_1 = 2;
              continue $sm;
            }

            break;
          case 2:
            this.o7_1 = 3;
            suspendResult = this.y5c_1.r59_1.c5d(this.y5c_1.w59_1.t4u(), this.y5c_1.w59_1.v4u(), this.b5d_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            var transferred = suspendResult;
            if (transferred <= 0) {
              this.o7_1 = 5;
              continue $sm;
            } else {
              this.o7_1 = 4;
              continue $sm;
            }

            break;
          case 4:
            this.y5c_1.w59_1.w4u(transferred);
            var tmp0_this = this.y5c_1;
            tmp0_this.y59_1 = tmp0_this.y59_1 + transferred;
            this.o7_1 = 1;
            continue $sm;
          case 5:
            return Unit_getInstance();
          case 6:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 6) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $prepareBytesUpToCOROUTINE$29.$metadata$ = classMeta('$prepareBytesUpToCOROUTINE$29', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $abytesCOROUTINE$30(_this__u8e3s4, count, out, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.l5d_1 = _this__u8e3s4;
    this.m5d_1 = count;
    this.n5d_1 = out;
  }
  $abytesCOROUTINE$30.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 2;
            this.o7_1 = 1;
            suspendResult = this.l5d_1.b5a(this.m5d_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return this.l5d_1.o5d(this.m5d_1, this.n5d_1);
          case 2:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 2) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $abytesCOROUTINE$30.$metadata$ = classMeta('$abytesCOROUTINE$30', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $readCOROUTINE$31(_this__u8e3s4, buffer, offset, len, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.x5d_1 = _this__u8e3s4;
    this.y5d_1 = buffer;
    this.z5d_1 = offset;
    this.a5e_1 = len;
  }
  $readCOROUTINE$31.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 2;
            this.o7_1 = 1;
            suspendResult = this.x5d_1.b5a(this.a5e_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var out = this.x5d_1.w59_1.a4v(this.y5d_1, this.z5d_1, this.a5e_1);
            var tmp0_this = this.x5d_1;
            tmp0_this.x59_1 = tmp0_this.x59_1 + out;
            return out;
          case 2:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 2) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $readCOROUTINE$31.$metadata$ = classMeta('$readCOROUTINE$31', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $hasLengthCOROUTINE$34(_this__u8e3s4, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.j5e_1 = _this__u8e3s4;
  }
  $hasLengthCOROUTINE$34.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 3;
            var tmp_0 = this;
            var tmp_1 = this.j5e_1.r59_1;
            tmp_0.k5e_1 = isInterface(tmp_1, AsyncGetLengthStream) ? tmp_1 : null;
            if (this.k5e_1 == null) {
              this.l5e_1 = null;
              this.o7_1 = 2;
              continue $sm;
            } else {
              this.o7_1 = 1;
              suspendResult = this.k5e_1.o5c(this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            }

            break;
          case 1:
            this.l5e_1 = suspendResult;
            this.o7_1 = 2;
            continue $sm;
          case 2:
            var tmp1_elvis_lhs = this.l5e_1;
            return tmp1_elvis_lhs == null ? false : tmp1_elvis_lhs;
          case 3:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 3) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $hasLengthCOROUTINE$34.$metadata$ = classMeta('$hasLengthCOROUTINE$34', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $getLengthCOROUTINE$35(_this__u8e3s4, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.u5e_1 = _this__u8e3s4;
  }
  $getLengthCOROUTINE$35.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 3;
            var tmp_0 = this;
            var tmp_1 = this.u5e_1.r59_1;
            tmp_0.v5e_1 = isInterface(tmp_1, AsyncGetLengthStream) ? tmp_1 : null;
            if (this.v5e_1 == null) {
              this.w5e_1 = null;
              this.o7_1 = 2;
              continue $sm;
            } else {
              this.o7_1 = 1;
              suspendResult = this.v5e_1.p5c(this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            }

            break;
          case 1:
            this.w5e_1 = suspendResult;
            this.o7_1 = 2;
            continue $sm;
          case 2:
            var tmp1_elvis_lhs = this.w5e_1;
            var tmp_2;
            if (tmp1_elvis_lhs == null) {
              throw IllegalStateException_init_$Create$('Length not available on Stream');
            } else {
              tmp_2 = tmp1_elvis_lhs;
            }

            return tmp_2;
          case 3:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 3) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $getLengthCOROUTINE$35.$metadata$ = classMeta('$getLengthCOROUTINE$35', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function BitReader(s, bigChunkSize, readWithSize) {
    Companion_getInstance_7();
    this.r59_1 = s;
    this.s59_1 = bigChunkSize;
    this.t59_1 = readWithSize;
    this.u59_1 = 0;
    this.v59_1 = 0;
    this.w59_1 = new RingBuffer(ilog2(get_nextPowerOfTwo(this.s59_1)));
    this.x59_1 = 0.0;
    this.y59_1 = 0.0;
    this.z59_1 = new Int8Array(4);
  }
  BitReader.prototype.toString = function () {
    return 'BitReader(' + this.r59_1 + ', bigChunkSize=' + this.s59_1 + ', readWithSize=' + this.t59_1 + ')';
  };
  BitReader.prototype.x5e = function () {
    this.u59_1 = 0;
    this.v59_1 = 0;
    return this;
  };
  BitReader.prototype.c5a = function () {
    return this.w59_1.m4l_1 < this.t59_1;
  };
  BitReader.prototype.b5a = function (expectedBytes, $cont) {
    var tmp = new $prepareBytesUpToCOROUTINE$29(this, expectedBytes, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  BitReader.prototype.y5e = function (bitcount) {
    while (this.v59_1 < bitcount) {
      var tmp = this;
      var tmp_0 = this.u59_1;
      var tmp$ret$0;
      // Inline function 'com.soywiz.korio.compression.util.BitReader._su8' call
      var tmp0_this = this;
      var tmp1 = tmp0_this.x59_1;
      tmp0_this.x59_1 = tmp1 + 1;
      tmp$ret$0 = this.w59_1.b2p();
      tmp.u59_1 = tmp_0 | tmp$ret$0 << this.v59_1;
      var tmp0_this_0 = this;
      tmp0_this_0.v59_1 = tmp0_this_0.v59_1 + 8 | 0;
    }
  };
  BitReader.prototype.z5e = function (bitcount) {
    return this.u59_1 & ((1 << bitcount) - 1 | 0);
  };
  BitReader.prototype.a5f = function (bitcount) {
    this.u59_1 = this.u59_1 >>> bitcount | 0;
    var tmp0_this = this;
    tmp0_this.v59_1 = tmp0_this.v59_1 - bitcount | 0;
  };
  BitReader.prototype.e5a = function (bitcount) {
    this.y5e(bitcount);
    var readed = this.z5e(bitcount);
    this.a5f(bitcount);
    return readed;
  };
  BitReader.prototype.d5a = function () {
    return !(this.e5a(1) === 0);
  };
  BitReader.prototype.b5f = function (count, out) {
    var offset = 0;
    var count_0 = count;
    if (this.v59_1 >= 8) {
      if (!((this.v59_1 % 8 | 0) === 0)) {
        var bits = this.v59_1 % 8 | 0;
        this.a5f(bits);
      }
      while (this.v59_1 >= 8) {
        var byte = toByte(this.e5a(8));
        var tmp0 = offset;
        offset = tmp0 + 1 | 0;
        out[tmp0] = byte;
        var tmp1 = count_0;
        count_0 = tmp1 - 1 | 0;
      }
    }
    var tmp$ret$0;
    // Inline function 'com.soywiz.korio.compression.util.BitReader.discardBits' call
    this.u59_1 = 0;
    this.v59_1 = 0;
    tmp$ret$0 = this;
    var readCount = this.w59_1.a4v(out, offset, count_0);
    if (readCount > 0) {
      var tmp2_this = this;
      tmp2_this.x59_1 = tmp2_this.x59_1 + readCount;
    }
  };
  BitReader.prototype.o5d = function (count, out) {
    this.b5f(count, out);
    return out;
  };
  BitReader.prototype.z5b = function () {
    var tmp$ret$1;
    // Inline function 'com.soywiz.korio.compression.util.BitReader._su8' call
    var tmp$ret$0;
    // Inline function 'com.soywiz.korio.compression.util.BitReader.discardBits' call
    this.u59_1 = 0;
    this.v59_1 = 0;
    tmp$ret$0 = this;
    var tmp0__su8 = tmp$ret$0;
    var tmp0_this = tmp0__su8;
    var tmp1 = tmp0_this.x59_1;
    tmp0_this.x59_1 = tmp1 + 1;
    tmp$ret$1 = tmp0__su8.w59_1.b2p();
    return tmp$ret$1;
  };
  BitReader.prototype.i5a = function () {
    this.b5f(2, this.z59_1);
    return readU16LE(this.z59_1, 0);
  };
  BitReader.prototype.a5c = function () {
    this.b5f(4, this.z59_1);
    return readS32LE(this.z59_1, 0);
  };
  BitReader.prototype.b5c = function () {
    this.b5f(4, this.z59_1);
    return readS32BE(this.z59_1, 0);
  };
  BitReader.prototype.c5f = function (count, out, $cont) {
    var tmp = new $abytesCOROUTINE$30(this, count, out, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  BitReader.prototype.j5a = function (count, out, $cont, $mask0, $handler) {
    if (!(($mask0 & 2) === 0))
      out = new Int8Array(count);
    return this.c5f(count, out, $cont);
  };
  BitReader.prototype.c5d = function (buffer, offset, len, $cont) {
    var tmp = new $readCOROUTINE$31(this, buffer, offset, len, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  BitReader.prototype.x51 = function ($cont) {
    return this.r59_1.x51($cont);
  };
  BitReader.prototype.d5f = function ($cont) {
    return numberToLong(this.x59_1);
  };
  BitReader.prototype.o5c = function ($cont) {
    var tmp = new $hasLengthCOROUTINE$34(this, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  BitReader.prototype.p5c = function ($cont) {
    var tmp = new $getLengthCOROUTINE$35(this, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  BitReader.$metadata$ = classMeta('BitReader', [AsyncInputStreamWithLength]);
  function Companion_3() {
    Companion_instance_3 = this;
    this.e5f_1 = -1;
    this.f5f_1 = -2;
    this.g5f_1 = 1023;
    this.h5f_1 = 16;
    this.i5f_1 = 288;
    this.j5f_1 = true;
    this.k5f_1 = true;
    this.l5f_1 = 10;
  }
  Companion_3.$metadata$ = objectMeta('Companion');
  var Companion_instance_3;
  function Companion_getInstance_8() {
    if (Companion_instance_3 == null)
      new Companion_3();
    return Companion_instance_3;
  }
  function resetAlloc($this) {
    $this.g58_1 = 0;
  }
  function alloc($this, value, left, right) {
    var tmp$ret$0;
    // Inline function 'kotlin.apply' call
    var tmp0_this = $this;
    var tmp1 = tmp0_this.g58_1;
    tmp0_this.g58_1 = tmp1 + 1 | 0;
    var tmp0_apply = tmp1;
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.soywiz.korio.compression.util.HuffmanTree.alloc.<anonymous>' call
    $this.d58_1[tmp0_apply] = value;
    $this.e58_1[tmp0_apply] = left;
    $this.f58_1[tmp0_apply] = right;
    tmp$ret$0 = tmp0_apply;
    return tmp$ret$0;
  }
  function allocLeaf($this, value) {
    Companion_getInstance_8();
    Companion_getInstance_8();
    return alloc($this, value, 1023, 1023);
  }
  function allocNode($this, left, right) {
    Companion_getInstance_8();
    return alloc($this, -1, left, right);
  }
  function computeFastLookup($this) {
    Companion_getInstance_8();
    {
      Companion_getInstance_8();
      fill$default($this.j58_1, -1, 0, 0, 6, null);
      computeEncodedValues($this, $this.h58_1, 0, 0);
    }
  }
  function computeEncodedValues($this, node, encoded, encodedBits) {
    var tmp$ret$0;
    // Inline function 'com.soywiz.korio.compression.util.HuffmanTree.value' call
    tmp$ret$0 = $this.d58_1[node];
    var tmp = tmp$ret$0;
    Companion_getInstance_8();
    if (tmp === -1) {
      Companion_getInstance_8();
      if (encodedBits < 10) {
        var tmp$ret$1;
        // Inline function 'com.soywiz.korio.compression.util.HuffmanTree.left' call
        tmp$ret$1 = $this.e58_1[node];
        computeEncodedValues($this, tmp$ret$1, encoded, encodedBits + 1 | 0);
        var tmp$ret$2;
        // Inline function 'com.soywiz.korio.compression.util.HuffmanTree.right' call
        tmp$ret$2 = $this.f58_1[node];
        computeEncodedValues($this, tmp$ret$2, encoded | 1 << encodedBits, encodedBits + 1 | 0);
      } else {
        Companion_getInstance_8();
        writeVariants($this, encoded, encodedBits, node, -2);
      }
    } else {
      var tmp$ret$3;
      // Inline function 'com.soywiz.korio.compression.util.HuffmanTree.value' call
      tmp$ret$3 = $this.d58_1[node];
      writeVariants($this, encoded, encodedBits, node, tmp$ret$3);
    }
  }
  function writeVariants($this, encoded, encodedBits, node, nvalue) {
    var encodedInfo = nvalue & 65535 | encodedBits << 16;
    Companion_getInstance_8();
    var rangeCount = 1 << (10 - encodedBits | 0);
    var inductionVariable = 0;
    if (inductionVariable < rangeCount)
      do {
        var n = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var i = encoded | n << encodedBits;
        $this.j58_1[i] = encodedInfo;
        $this.k58_1[i] = node;
      }
       while (inductionVariable < rangeCount);
  }
  function HuffmanTree() {
    Companion_getInstance_8();
    this.d58_1 = new Int32Array(1024);
    this.e58_1 = new Int32Array(1024);
    this.f58_1 = new Int32Array(1024);
    this.g58_1 = 0;
    var tmp = this;
    Companion_getInstance_8();
    tmp.h58_1 = 1023;
    this.i58_1 = 0;
    var tmp_0 = this;
    var tmp_1 = 0;
    Companion_getInstance_8();
    var tmp_2 = 1 << 10;
    var tmp_3 = new Int32Array(tmp_2);
    while (tmp_1 < tmp_2) {
      var tmp_4 = tmp_1;
      var tmp$ret$0;
      // Inline function 'com.soywiz.korio.compression.util.HuffmanTree.FAST_INFO.<anonymous>' call
      Companion_getInstance_8();
      tmp$ret$0 = -1;
      tmp_3[tmp_4] = tmp$ret$0;
      tmp_1 = tmp_1 + 1 | 0;
    }
    tmp_0.j58_1 = tmp_3;
    var tmp_5 = this;
    var tmp_6 = 0;
    Companion_getInstance_8();
    var tmp_7 = 1 << 10;
    var tmp_8 = new Int32Array(tmp_7);
    while (tmp_6 < tmp_7) {
      var tmp_9 = tmp_6;
      var tmp$ret$1;
      // Inline function 'com.soywiz.korio.compression.util.HuffmanTree.FAST_NODE.<anonymous>' call
      tmp$ret$1 = 0;
      tmp_8[tmp_9] = tmp$ret$1;
      tmp_6 = tmp_6 + 1 | 0;
    }
    tmp_5.k58_1 = tmp_8;
    var tmp_10 = this;
    Companion_getInstance_8();
    tmp_10.l58_1 = new Int32Array(16 + 1 | 0);
    var tmp_11 = this;
    Companion_getInstance_8();
    tmp_11.m58_1 = new Int32Array(16 + 1 | 0);
    var tmp_12 = this;
    Companion_getInstance_8();
    tmp_12.n58_1 = new Int32Array(16 + 1 | 0);
    var tmp_13 = this;
    Companion_getInstance_8();
    tmp_13.o58_1 = new Int32Array(288);
  }
  HuffmanTree.prototype.g5a = function (reader) {
    Companion_getInstance_8();
    {
      Companion_getInstance_8();
      reader.y5e(10);
    }
    var node = this.h58_1;
    var tmp;
    Companion_getInstance_8();
    {
      var tmp_0 = reader.v59_1;
      Companion_getInstance_8();
      tmp = tmp_0 >= 10;
    }
    if (tmp) {
      Companion_getInstance_8();
      var bits = reader.z5e(10);
      var raw = this.j58_1[bits];
      var value = toShort(raw);
      var len = raw >> 16;
      if (len > 0) {
        reader.a5f(len);
        Companion_getInstance_8();
        if (value === -2) {
          node = this.k58_1[bits];
        } else {
          return value;
        }
      }
    }
    $l$1: do {
      $l$0: do {
        var tmp_1;
        if (reader.d5a()) {
          var tmp$ret$0;
          // Inline function 'com.soywiz.korio.compression.util.HuffmanTree.right' call
          var tmp0__get_right__ll61w1 = node;
          tmp$ret$0 = this.f58_1[tmp0__get_right__ll61w1];
          tmp_1 = tmp$ret$0;
        } else {
          var tmp$ret$1;
          // Inline function 'com.soywiz.korio.compression.util.HuffmanTree.left' call
          var tmp1__get_left__aid1ft = node;
          tmp$ret$1 = this.e58_1[tmp1__get_left__aid1ft];
          tmp_1 = tmp$ret$1;
        }
        node = tmp_1;
      }
       while (false);
      var tmp_2;
      var tmp_3 = node;
      Companion_getInstance_8();
      if (!(tmp_3 === 1023)) {
        var tmp$ret$2;
        // Inline function 'com.soywiz.korio.compression.util.HuffmanTree.value' call
        var tmp2__get_value__tinr9g = node;
        tmp$ret$2 = this.d58_1[tmp2__get_value__tinr9g];
        var tmp_4 = tmp$ret$2;
        Companion_getInstance_8();
        tmp_2 = tmp_4 === -1;
      } else {
        tmp_2 = false;
      }
    }
     while (tmp_2);
    var tmp$ret$3;
    // Inline function 'com.soywiz.korio.compression.util.HuffmanTree.value' call
    var tmp3__get_value__ydcegz = node;
    tmp$ret$3 = this.d58_1[tmp3__get_value__ydcegz];
    return tmp$ret$3;
  };
  HuffmanTree.prototype.m5f = function (codeLengths, start, end) {
    this.h5a(codeLengths, start, end);
    return this;
  };
  HuffmanTree.prototype.p58 = function (codeLengths, start, end, $mask0, $handler) {
    if (!(($mask0 & 2) === 0))
      start = 0;
    if (!(($mask0 & 4) === 0))
      end = codeLengths.length;
    return this.m5f(codeLengths, start, end);
  };
  HuffmanTree.prototype.h5a = function (codeLengths, start, end) {
    var oldOffset = 0;
    var oldCount = 0;
    var ncodes = end - start | 0;
    resetAlloc(this);
    fill$default(this.l58_1, 0, 0, 0, 6, null);
    var inductionVariable = start;
    if (inductionVariable < end)
      do {
        var n = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var codeLen = codeLengths[n];
        var tmp;
        if (0 <= codeLen) {
          Companion_getInstance_8();
          tmp = codeLen <= 16;
        } else {
          tmp = false;
        }
        if (!tmp) {
          // Inline function 'kotlin.error' call
          var tmp0_error = 'Invalid HuffmanTree.codeLengths ' + codeLen;
          throw IllegalStateException_init_$Create$(toString(tmp0_error));
        }
        var tmp1_array = this.l58_1;
        var tmp2_index0 = codeLen;
        var tmp3 = tmp1_array[tmp2_index0];
        tmp1_array[tmp2_index0] = tmp3 + 1 | 0;
      }
       while (inductionVariable < end);
    var currentOffset = 0;
    var inductionVariable_0 = 0;
    Companion_getInstance_8();
    var last = 16;
    if (inductionVariable_0 < last)
      do {
        var n_0 = inductionVariable_0;
        inductionVariable_0 = inductionVariable_0 + 1 | 0;
        var count = this.l58_1[n_0];
        this.m58_1[n_0] = currentOffset;
        this.n58_1[n_0] = currentOffset;
        currentOffset = currentOffset + count | 0;
      }
       while (inductionVariable_0 < last);
    var inductionVariable_1 = start;
    if (inductionVariable_1 < end)
      do {
        var n_1 = inductionVariable_1;
        inductionVariable_1 = inductionVariable_1 + 1 | 0;
        var codeLen_0 = codeLengths[n_1];
        var tmp6_array = this.n58_1;
        var tmp7_index0 = codeLen_0;
        var tmp8 = tmp6_array[tmp7_index0];
        tmp6_array[tmp7_index0] = tmp8 + 1 | 0;
        this.o58_1[tmp8] = n_1 - start | 0;
      }
       while (inductionVariable_1 < end);
    Companion_getInstance_8();
    var inductionVariable_2 = 16;
    if (1 <= inductionVariable_2)
      do {
        var i = inductionVariable_2;
        inductionVariable_2 = inductionVariable_2 + -1 | 0;
        var newOffset = this.g58_1;
        var OFFSET = this.m58_1[i];
        var SIZE = this.l58_1[i];
        var inductionVariable_3 = 0;
        if (inductionVariable_3 < SIZE)
          do {
            var j = inductionVariable_3;
            inductionVariable_3 = inductionVariable_3 + 1 | 0;
            allocLeaf(this, this.o58_1[OFFSET + j | 0]);
          }
           while (inductionVariable_3 < SIZE);
        var progression = step(until(0, oldCount), 2);
        var inductionVariable_4 = progression.r1_1;
        var last_0 = progression.s1_1;
        var step_0 = progression.t1_1;
        if ((step_0 > 0 ? inductionVariable_4 <= last_0 : false) ? true : step_0 < 0 ? last_0 <= inductionVariable_4 : false)
          do {
            var j_0 = inductionVariable_4;
            inductionVariable_4 = inductionVariable_4 + step_0 | 0;
            allocNode(this, oldOffset + j_0 | 0, (oldOffset + j_0 | 0) + 1 | 0);
          }
           while (!(j_0 === last_0));
        oldOffset = newOffset;
        oldCount = SIZE + (oldCount / 2 | 0) | 0;
        if (oldCount >= 2 ? !((oldCount % 2 | 0) === 0) : false) {
          // Inline function 'kotlin.error' call
          var tmp1_error = 'This canonical code does not represent a Huffman code tree: ' + oldCount;
          throw IllegalStateException_init_$Create$(toString(tmp1_error));
        }
      }
       while (1 <= inductionVariable_2);
    if (!(oldCount === 2)) {
      // Inline function 'kotlin.error' call
      throw IllegalStateException_init_$Create$('This canonical code does not represent a Huffman code tree');
    }
    this.h58_1 = allocNode(this, this.g58_1 - 2 | 0, this.g58_1 - 1 | 0);
    this.i58_1 = ncodes;
    Companion_getInstance_8();
    {
      computeFastLookup(this);
    }
  };
  HuffmanTree.prototype.f5a = function (codeLengths, start, end, $mask0, $handler) {
    if (!(($mask0 & 2) === 0))
      start = 0;
    if (!(($mask0 & 4) === 0))
      end = codeLengths.length;
    return this.h5a(codeLengths, start, end);
  };
  HuffmanTree.$metadata$ = classMeta('HuffmanTree');
  function SlidingWindow(nbits) {
    this.m57_1 = nbits;
    this.n57_1 = new Int8Array(1 << this.m57_1);
    this.o57_1 = this.n57_1.length - 1 | 0;
    this.p57_1 = 0;
  }
  SlidingWindow.prototype.m = function (offset) {
    return this.n57_1[(this.p57_1 - offset | 0) & this.o57_1] & 255;
  };
  SlidingWindow.prototype.q57 = function (offset) {
    return this.u57(this.m(offset));
  };
  SlidingWindow.prototype.u57 = function (value) {
    this.n57_1[this.p57_1] = toByte(value);
    this.p57_1 = (this.p57_1 + 1 | 0) & this.o57_1;
    return value;
  };
  SlidingWindow.prototype.s57 = function (bytes, offset, len) {
    var inductionVariable = 0;
    if (inductionVariable < len)
      do {
        var n = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var tmp$ret$0;
        // Inline function 'com.soywiz.kmem.unsigned' call
        var tmp0__get_unsigned__3e7on0 = bytes[offset + n | 0];
        tmp$ret$0 = tmp0__get_unsigned__3e7on0 & 255;
        this.u57(tmp$ret$0);
      }
       while (inductionVariable < len);
  };
  SlidingWindow.$metadata$ = classMeta('SlidingWindow');
  function createSingleThreadedDispatcher(_this__u8e3s4, name) {
    return createFixedThreadDispatcher(_this__u8e3s4, name, 1);
  }
  function createRedirectedDispatcher(_this__u8e3s4, name, parent) {
    return new createRedirectedDispatcher$1(parent, name);
  }
  function createRedirectedDispatcher$1($parent, $name) {
    this.o5f_1 = $parent;
    this.p5f_1 = $name;
    CoroutineDispatcher.call(this);
  }
  createRedirectedDispatcher$1.prototype.x2c = function () {
    return Unit_getInstance();
  };
  createRedirectedDispatcher$1.prototype.q20 = function (context, block) {
    return this.o5f_1.q20(context, block);
  };
  createRedirectedDispatcher$1.prototype.p20 = function (context) {
    return this.o5f_1.p20(context);
  };
  createRedirectedDispatcher$1.prototype.toString = function () {
    return 'Dispatcher-' + this.p5f_1;
  };
  createRedirectedDispatcher$1.$metadata$ = classMeta(undefined, [Closeable], undefined, undefined, undefined, CoroutineDispatcher.prototype);
  function KorAtomicRef(initial, dummy) {
    this.q5f_1 = initial;
  }
  KorAtomicRef.prototype.r5f = function (_set____db54di) {
    this.q5f_1 = _set____db54di;
  };
  KorAtomicRef.prototype.l1 = function () {
    return this.q5f_1;
  };
  KorAtomicRef.prototype.toString = function () {
    return '' + this.l1();
  };
  KorAtomicRef.$metadata$ = classMeta('KorAtomicRef', [KorAtomicBase]);
  function KorAtomicRef_0(initial) {
    return korAtomic(initial);
  }
  function KorAtomicBase() {
  }
  KorAtomicBase.$metadata$ = interfaceMeta('KorAtomicBase');
  function getValue(_this__u8e3s4, obj, prop) {
    return _this__u8e3s4.l1();
  }
  function _Dyn___init__impl__6cuxxc(value) {
    return value;
  }
  function _Dyn___get_value__impl__bemnlg($this) {
    return $this;
  }
  function Dyn__toComparable_impl_pfql3z($this) {
    var tmp0_subject = _Dyn___get_value__impl__bemnlg($this);
    var tmp;
    if (tmp0_subject == null) {
      tmp = isComparable(0) ? 0 : THROW_CCE();
    } else {
      if (!(tmp0_subject == null) ? isComparable(tmp0_subject) : false) {
        var tmp_0 = _Dyn___get_value__impl__bemnlg($this);
        tmp = (!(tmp_0 == null) ? isComparable(tmp_0) : false) ? tmp_0 : THROW_CCE();
      } else {
        var tmp_1 = toString(_Dyn___get_value__impl__bemnlg($this));
        tmp = isComparable(tmp_1) ? tmp_1 : THROW_CCE();
      }
    }
    return tmp;
  }
  function Dyn__compareTo_impl_7znl52($this, other) {
    var l = $this;
    var r = other;
    var tmp;
    var tmp_0 = _Dyn___get_value__impl__bemnlg(l);
    if (isNumber(tmp_0)) {
      var tmp_1 = _Dyn___get_value__impl__bemnlg(r);
      tmp = isNumber(tmp_1);
    } else {
      tmp = false;
    }
    if (tmp) {
      return compareTo(numberToDouble(_Dyn___get_value__impl__bemnlg(l)), numberToDouble(_Dyn___get_value__impl__bemnlg(r)));
    }
    var lc = Dyn__toComparable_impl_pfql3z(l);
    var rc = Dyn__toComparable_impl_pfql3z(r);
    return getKClassFromExpression(lc).uj(rc) ? compareTo(lc, rc) : -1;
  }
  function Dyn__compareTo_impl_7znl52_0($this, other) {
    var tmp = $this.s5f_1;
    return Dyn__compareTo_impl_7znl52(tmp, other instanceof Dyn ? other.s5f_1 : THROW_CCE());
  }
  function Dyn__toString_impl_9l0v3s($this) {
    return toString_1($this, _Dyn___get_value__impl__bemnlg($this));
  }
  function Companion_4() {
    Companion_instance_4 = this;
  }
  Companion_4.prototype.t5f = function () {
    return get_dyn(get_dynApi().u5f());
  };
  Companion_4.$metadata$ = objectMeta('Companion');
  var Companion_instance_4;
  function Companion_getInstance_9() {
    if (Companion_instance_4 == null)
      new Companion_4();
    return Companion_instance_4;
  }
  function Dyn__set_impl_2ozvx8($this, key, value) {
    var tmp0_subject = value;
    if (!(tmp0_subject == null) ? isInterface(tmp0_subject, MutableMap) : false) {
      // Inline function 'kotlin.collections.set' call
      var tmp = _Dyn___get_value__impl__bemnlg($this);
      var tmp0_set = (!(tmp == null) ? isInterface(tmp, MutableMap) : false) ? tmp : THROW_CCE();
      tmp0_set.a(key, value);
    } else {
      if (!(tmp0_subject == null) ? isInterface(tmp0_subject, MutableList) : false) {
        var tmp_0 = _Dyn___get_value__impl__bemnlg($this);
        ((!(tmp_0 == null) ? isInterface(tmp_0, MutableList) : false) ? tmp_0 : THROW_CCE()).a5(Dyn__toInt_impl_nu3u6q(get_dyn(key)), value);
      } else {
        get_dynApi().v5f(_Dyn___get_value__impl__bemnlg($this), toString_0(key), value);
      }
    }
  }
  function Dyn__get_impl_6l2p80($this, key) {
    return _getOrThrow($this, key, false);
  }
  function _getOrThrow($this, key, doThrow) {
    var tmp0_subject = _Dyn___get_value__impl__bemnlg($this);
    var tmp;
    if (tmp0_subject == null) {
      var tmp_0;
      if (doThrow) {
        throw NullPointerException_init_$Create$("Trying to access '" + toString_0(key) + "'");
      } else {
        tmp_0 = get_dyn(null);
      }
      tmp = tmp_0;
    } else {
      if (!(tmp0_subject == null) ? isInterface(tmp0_subject, Map) : false) {
        var tmp_1 = _Dyn___get_value__impl__bemnlg($this);
        tmp = get_dyn(((!(tmp_1 == null) ? isInterface(tmp_1, Map) : false) ? tmp_1 : THROW_CCE()).q(key));
      } else {
        if (!(tmp0_subject == null) ? isInterface(tmp0_subject, List) : false) {
          tmp = get_dyn(_Dyn___get_value__impl__bemnlg($this).m(Dyn__toInt_impl_nu3u6q(get_dyn(key))));
        } else {
          tmp = get_dyn(get_dynApi().w5f(_Dyn___get_value__impl__bemnlg($this), toString_0(key)));
        }
      }
    }
    return tmp;
  }
  function _Dyn___get_listAny__impl__vrilgp($this) {
    var tmp;
    if (_Dyn___get_value__impl__bemnlg($this) == null) {
      var tmp$ret$0;
      // Inline function 'kotlin.collections.listOf' call
      tmp$ret$0 = emptyList();
      tmp = tmp$ret$0;
    } else {
      var tmp_0 = _Dyn___get_value__impl__bemnlg($this);
      if (!(tmp_0 == null) ? isInterface(tmp_0, List) : false) {
        tmp = _Dyn___get_value__impl__bemnlg($this);
      } else {
        var tmp_1 = _Dyn___get_value__impl__bemnlg($this);
        if (!(tmp_1 == null) ? isInterface(tmp_1, Iterable) : false) {
          tmp = toList(_Dyn___get_value__impl__bemnlg($this));
        } else {
          tmp = listOf(_Dyn___get_value__impl__bemnlg($this));
        }
      }
    }
    return tmp;
  }
  function _Dyn___get_list__impl__qpwjp($this) {
    var tmp$ret$2;
    // Inline function 'kotlin.collections.map' call
    var tmp0_map = _Dyn___get_listAny__impl__vrilgp($this);
    var tmp$ret$1;
    // Inline function 'kotlin.collections.mapTo' call
    var tmp0_mapTo = ArrayList_init_$Create$(collectionSizeOrDefault(tmp0_map, 10));
    var tmp0_iterator = tmp0_map.j();
    while (tmp0_iterator.k()) {
      var item = tmp0_iterator.l();
      var tmp$ret$0;
      // Inline function 'com.soywiz.korio.dynamic.Dyn.<get-list>.<anonymous>' call
      tmp$ret$0 = get_dyn(item);
      tmp0_mapTo.c(new Dyn(tmp$ret$0));
    }
    tmp$ret$1 = tmp0_mapTo;
    tmp$ret$2 = tmp$ret$1;
    return tmp$ret$2;
  }
  function Dyn__toNumber_impl_rlhtn4($this, $receiver) {
    var tmp = toIntOrNull($receiver);
    var tmp0_elvis_lhs = (tmp == null ? true : isNumber(tmp)) ? tmp : null;
    var tmp1_elvis_lhs = tmp0_elvis_lhs == null ? toDoubleOrNull($receiver) : tmp0_elvis_lhs;
    var tmp_0;
    if (tmp1_elvis_lhs == null) {
      DoubleCompanionObject_getInstance();
      tmp_0 = NaN;
    } else {
      tmp_0 = tmp1_elvis_lhs;
    }
    return tmp_0;
  }
  function Dyn__toNumber_impl_rlhtn4_0($this) {
    var tmp0_subject = _Dyn___get_value__impl__bemnlg($this);
    var tmp;
    if (tmp0_subject == null) {
      tmp = 0;
    } else {
      if (isNumber(tmp0_subject)) {
        tmp = _Dyn___get_value__impl__bemnlg($this);
      } else {
        if (!(tmp0_subject == null) ? typeof tmp0_subject === 'boolean' : false) {
          tmp = _Dyn___get_value__impl__bemnlg($this) ? 1 : 0;
        } else {
          if (!(tmp0_subject == null) ? typeof tmp0_subject === 'string' : false) {
            var tmp_0 = _Dyn___get_value__impl__bemnlg($this);
            var tmp1_elvis_lhs = toIntSafe$default(tmp_0, 0, 1, null);
            var tmp2_elvis_lhs = tmp1_elvis_lhs == null ? toDoubleSafe(_Dyn___get_value__impl__bemnlg($this)) : tmp1_elvis_lhs;
            tmp = tmp2_elvis_lhs == null ? 0 : tmp2_elvis_lhs;
          } else {
            tmp = Dyn__toNumber_impl_rlhtn4($this, toString(_Dyn___get_value__impl__bemnlg($this)));
          }
        }
      }
    }
    return tmp;
  }
  function toString_1($this, value) {
    var tmp0_subject = value;
    var tmp;
    if (tmp0_subject == null) {
      tmp = '';
    } else {
      if (!(tmp0_subject == null) ? typeof tmp0_subject === 'string' : false) {
        tmp = value;
      } else {
        if (!(tmp0_subject == null) ? typeof tmp0_subject === 'number' : false) {
          var tmp_0;
          if (value === numberToInt(value)) {
            tmp_0 = numberToInt(value).toString();
          } else {
            tmp_0 = toString(value);
          }
          tmp = tmp_0;
        } else {
          if (!(tmp0_subject == null) ? isInterface(tmp0_subject, Iterable) : false) {
            tmp = '[' + joinToString$default(value, ', ', null, null, 0, null, Dyn$toString$lambda($this), 30, null) + ']';
          } else {
            if (!(tmp0_subject == null) ? isInterface(tmp0_subject, Map) : false) {
              var tmp$ret$3;
              // Inline function 'kotlin.collections.map' call
              var tmp0_map = value;
              var tmp$ret$2;
              // Inline function 'kotlin.collections.mapTo' call
              var tmp0_mapTo = ArrayList_init_$Create$(tmp0_map.i());
              var tmp$ret$0;
              // Inline function 'kotlin.collections.iterator' call
              tmp$ret$0 = tmp0_map.j1().j();
              var tmp0_iterator = tmp$ret$0;
              while (tmp0_iterator.k()) {
                var item = tmp0_iterator.l();
                var tmp$ret$1;
                // Inline function 'com.soywiz.korio.dynamic.Dyn.toString.<anonymous>' call
                tmp$ret$1 = quote(toString_1($this, item.k1())) + ': ' + toString_1($this, item.l1());
                tmp0_mapTo.c(tmp$ret$1);
              }
              tmp$ret$2 = tmp0_mapTo;
              tmp$ret$3 = tmp$ret$2;
              var tmp_1 = tmp$ret$3;
              tmp = '{' + joinToString$default(tmp_1, ', ', null, null, 0, null, null, 62, null) + '}';
            } else {
              tmp = toString(value);
            }
          }
        }
      }
    }
    return tmp;
  }
  function Dyn__toInt_impl_nu3u6q($this) {
    return numberToInt(Dyn__toNumber_impl_rlhtn4_0($this));
  }
  function Dyn__toLong_impl_mq8zcz($this) {
    return numberToLong(Dyn__toNumber_impl_rlhtn4_0($this));
  }
  function Dyn__toBoolOrNull_impl_2dk92d($this) {
    var tmp0_subject = _Dyn___get_value__impl__bemnlg($this);
    var tmp;
    if (!(tmp0_subject == null) ? typeof tmp0_subject === 'boolean' : false) {
      tmp = _Dyn___get_value__impl__bemnlg($this);
    } else {
      if (!(tmp0_subject == null) ? typeof tmp0_subject === 'string' : false) {
        tmp = (equals(_Dyn___get_value__impl__bemnlg($this), '1') ? true : equals(_Dyn___get_value__impl__bemnlg($this), 'true')) ? true : equals(_Dyn___get_value__impl__bemnlg($this), 'on');
      } else {
        if (isNumber(tmp0_subject)) {
          tmp = !(Dyn__toInt_impl_nu3u6q($this) === 0);
        } else {
          tmp = null;
        }
      }
    }
    return tmp;
  }
  function Dyn__toIntDefault_impl_x52w9z($this, default_0) {
    var tmp0_subject = _Dyn___get_value__impl__bemnlg($this);
    var tmp;
    if (isNumber(tmp0_subject)) {
      tmp = Dyn__toInt_impl_nu3u6q($this);
    } else {
      if (!(tmp0_subject == null) ? typeof tmp0_subject === 'string' : false) {
        var tmp1_elvis_lhs = toIntSafe(_Dyn___get_value__impl__bemnlg($this), 10);
        tmp = tmp1_elvis_lhs == null ? default_0 : tmp1_elvis_lhs;
      } else {
        tmp = default_0;
      }
    }
    return tmp;
  }
  function Dyn__toIntDefault$default_impl_hr0tbe($this, default_0, $mask0, $handler) {
    if (!(($mask0 & 1) === 0))
      default_0 = 0;
    return Dyn__toIntDefault_impl_x52w9z($this, default_0);
  }
  function Dyn__toLongDefault_impl_auunl0($this, default_0) {
    var tmp0_subject = _Dyn___get_value__impl__bemnlg($this);
    var tmp;
    if (isNumber(tmp0_subject)) {
      tmp = Dyn__toLong_impl_mq8zcz($this);
    } else {
      if (!(tmp0_subject == null) ? typeof tmp0_subject === 'string' : false) {
        var tmp1_elvis_lhs = toLongSafe(_Dyn___get_value__impl__bemnlg($this), 10);
        tmp = tmp1_elvis_lhs == null ? default_0 : tmp1_elvis_lhs;
      } else {
        tmp = default_0;
      }
    }
    return tmp;
  }
  function Dyn__toLongDefault$default_impl_w5acm9($this, default_0, $mask0, $handler) {
    if (!(($mask0 & 1) === 0))
      default_0 = new Long(0, 0);
    return Dyn__toLongDefault_impl_auunl0($this, default_0);
  }
  function _Dyn___get_str__impl__dup4cs($this) {
    return Dyn__toString_impl_9l0v3s($this);
  }
  function _Dyn___get_int__impl__sh8lhm($this) {
    return Dyn__toIntDefault$default_impl_hr0tbe($this, 0, 1, null);
  }
  function _Dyn___get_bool__impl__nv3iun($this) {
    var tmp0_elvis_lhs = Dyn__toBoolOrNull_impl_2dk92d($this);
    return tmp0_elvis_lhs == null ? false : tmp0_elvis_lhs;
  }
  function _Dyn___get_long__impl__wdxl7n($this) {
    return Dyn__toLongDefault$default_impl_w5acm9($this, new Long(0, 0), 1, null);
  }
  function Dyn__hashCode_impl_vc6rwn($this) {
    return $this == null ? 0 : hashCode($this);
  }
  function Dyn__equals_impl_sp125n($this, other) {
    if (!(other instanceof Dyn))
      return false;
    var tmp0_other_with_cast = other instanceof Dyn ? other.s5f_1 : THROW_CCE();
    if (!equals($this, tmp0_other_with_cast))
      return false;
    return true;
  }
  function Dyn$toString$lambda(this$0) {
    return function (it) {
      return toString_1(this$0, it);
    };
  }
  function Dyn(value) {
    Companion_getInstance_9();
    this.s5f_1 = value;
  }
  Dyn.prototype.x5f = function (other) {
    return Dyn__compareTo_impl_7znl52(this.s5f_1, other);
  };
  Dyn.prototype.kc = function (other) {
    return Dyn__compareTo_impl_7znl52_0(this, other);
  };
  Dyn.prototype.toString = function () {
    return Dyn__toString_impl_9l0v3s(this.s5f_1);
  };
  Dyn.prototype.hashCode = function () {
    return Dyn__hashCode_impl_vc6rwn(this.s5f_1);
  };
  Dyn.prototype.equals = function (other) {
    return Dyn__equals_impl_sp125n(this.s5f_1, other);
  };
  Dyn.$metadata$ = classMeta('Dyn', [Comparable]);
  function get_dyn(_this__u8e3s4) {
    return _Dyn___init__impl__6cuxxc(_this__u8e3s4);
  }
  function toIntSafe(_this__u8e3s4, radix) {
    return toIntOrNull_0(_this__u8e3s4, radix);
  }
  function toIntSafe$default(_this__u8e3s4, radix, $mask0, $handler) {
    if (!(($mask0 & 1) === 0))
      radix = 10;
    return toIntSafe(_this__u8e3s4, radix);
  }
  function toDoubleSafe(_this__u8e3s4) {
    return toDoubleOrNull(_this__u8e3s4);
  }
  function toLongSafe(_this__u8e3s4, radix) {
    return toLongOrNull(_this__u8e3s4, radix);
  }
  function get_dynApi() {
    init_properties_DynApi_kt_fkb0m1();
    return dynApi;
  }
  var dynApi;
  function DynApi() {
  }
  DynApi.$metadata$ = interfaceMeta('DynApi');
  var properties_initialized_DynApi_kt_kcoydf;
  function init_properties_DynApi_kt_fkb0m1() {
    if (properties_initialized_DynApi_kt_kcoydf) {
    } else {
      properties_initialized_DynApi_kt_kcoydf = true;
      dynApi = DynamicInternal_getInstance();
    }
  }
  function normalize(_this__u8e3s4) {
    var path = _PathInfo___get_fullPath__impl__21fx6x(_this__u8e3s4);
    var schemeIndex = indexOf$default(path, ':', 0, false, 6, null);
    var tmp;
    if (schemeIndex >= 0) {
      var tmp_0;
      var tmp$ret$1;
      // Inline function 'kotlin.text.substring' call
      var tmp$ret$0;
      // Inline function 'kotlin.js.asDynamic' call
      tmp$ret$0 = path;
      tmp$ret$1 = tmp$ret$0.substring(schemeIndex);
      var tmp_1 = tmp$ret$1;
      if (startsWith$default(tmp_1, '://', false, 2, null)) {
        tmp_0 = 3;
      } else {
        tmp_0 = 1;
      }
      var take = tmp_0;
      var tmp$ret$3;
      // Inline function 'kotlin.text.substring' call
      var tmp0_substring = schemeIndex + take | 0;
      var tmp$ret$2;
      // Inline function 'kotlin.js.asDynamic' call
      tmp$ret$2 = path;
      tmp$ret$3 = tmp$ret$2.substring(0, tmp0_substring);
      var tmp_2 = tmp$ret$3;
      var tmp$ret$5;
      // Inline function 'kotlin.text.substring' call
      var tmp1_substring = schemeIndex + take | 0;
      var tmp$ret$4;
      // Inline function 'kotlin.js.asDynamic' call
      tmp$ret$4 = path;
      tmp$ret$5 = tmp$ret$4.substring(tmp1_substring);
      tmp = tmp_2 + normalize(get_pathInfo(tmp$ret$5));
    } else {
      var tmp_3 = _Char___init__impl__6a9atx(92);
      var tmp_4 = _Char___init__impl__6a9atx(47);
      var path2 = replace$default(path, tmp_3, tmp_4, false, 4, null);
      var out = ArrayList_init_$Create$_0();
      // Inline function 'com.soywiz.kds.iterators.fastForEach' call
      var tmp2_fastForEach = split$default(path2, ['/'], false, 0, 6, null);
      var n = 0;
      while (n < tmp2_fastForEach.i()) {
        // Inline function 'com.soywiz.korio.file.normalize.<anonymous>' call
        var tmp0 = n;
        n = tmp0 + 1 | 0;
        var tmp3__anonymous__ufb84q = tmp2_fastForEach.m(tmp0);
        var tmp0_subject = tmp3__anonymous__ufb84q;
        switch (tmp0_subject) {
          case '':
          case '.':
            if (out.p()) {
              // Inline function 'kotlin.collections.plusAssign' call
              out.c('');
            } else
            ;
            break;
          case '..':
            var tmp$ret$6;
            // Inline function 'kotlin.collections.isNotEmpty' call
            tmp$ret$6 = !out.p();

            if (tmp$ret$6) {
              out.z4(out.i() - 1 | 0);
            }

            break;
          default:
            // Inline function 'kotlin.collections.plusAssign' call

            out.c(tmp3__anonymous__ufb84q);
            ;
            break;
        }
      }
      tmp = joinToString$default(out, '/', null, null, 0, null, null, 62, null);
    }
    return tmp;
  }
  function _PathInfo___init__impl__vpw96a(fullPath) {
    return fullPath;
  }
  function _PathInfo___get_fullPath__impl__21fx6x($this) {
    return $this;
  }
  function get_pathInfo(_this__u8e3s4) {
    return _PathInfo___init__impl__vpw96a(_this__u8e3s4);
  }
  function VfsNamed(pathInfo) {
    this.y5f_1 = pathInfo;
  }
  VfsNamed.prototype.z5f = function () {
    return this.y5f_1;
  };
  VfsNamed.$metadata$ = classMeta('VfsNamed', [Path]);
  function get_folder(_this__u8e3s4) {
    return get_folder_0(_this__u8e3s4.z5f());
  }
  function combine(_this__u8e3s4, access) {
    var base = _PathInfo___get_fullPath__impl__21fx6x(_this__u8e3s4);
    var access_0 = _PathInfo___get_fullPath__impl__21fx6x(access);
    return get_pathInfo(isAbsolute(get_pathInfo(access_0)) ? normalize(get_pathInfo(access_0)) : normalize(get_pathInfo(base + '/' + access_0)));
  }
  function get_baseName(_this__u8e3s4) {
    return get_baseName_0(_this__u8e3s4.z5f());
  }
  function lightCombine(_this__u8e3s4, access) {
    var base = _PathInfo___get_fullPath__impl__21fx6x(_this__u8e3s4);
    var access_0 = _PathInfo___get_fullPath__impl__21fx6x(access);
    var tmp;
    var tmp$ret$0;
    // Inline function 'kotlin.text.isNotEmpty' call
    tmp$ret$0 = charSequenceLength(base) > 0;
    if (tmp$ret$0) {
      tmp = trimEnd(base, charArrayOf([_Char___init__impl__6a9atx(47)])) + '/' + trim(access_0, charArrayOf([_Char___init__impl__6a9atx(47)]));
    } else {
      tmp = access_0;
    }
    var res = tmp;
    return get_pathInfo(res);
  }
  function get_parent(_this__u8e3s4) {
    return _PathInfo___init__impl__vpw96a(get_folder_0(_this__u8e3s4));
  }
  function Path() {
  }
  Path.$metadata$ = interfaceMeta('Path');
  function get_folder_0(_this__u8e3s4) {
    var tmp$ret$1;
    // Inline function 'kotlin.text.substring' call
    var tmp0_substring = _PathInfo___get_fullPath__impl__21fx6x(_this__u8e3s4);
    var tmp = get_fullPathNormalized(_this__u8e3s4);
    var tmp_0 = _Char___init__impl__6a9atx(47);
    var tmp0_elvis_lhs = lastIndexOfOrNull$default(tmp, tmp_0, 0, 2, null);
    var tmp1_substring = tmp0_elvis_lhs == null ? 0 : tmp0_elvis_lhs;
    var tmp$ret$0;
    // Inline function 'kotlin.js.asDynamic' call
    tmp$ret$0 = tmp0_substring;
    tmp$ret$1 = tmp$ret$0.substring(0, tmp1_substring);
    return tmp$ret$1;
  }
  function isAbsolute(_this__u8e3s4) {
    var base = _PathInfo___get_fullPath__impl__21fx6x(_this__u8e3s4);
    var tmp$ret$0;
    // Inline function 'kotlin.text.isEmpty' call
    tmp$ret$0 = charSequenceLength(base) === 0;
    if (tmp$ret$0)
      return false;
    var tmp = _Char___init__impl__6a9atx(92);
    var tmp_0 = _Char___init__impl__6a9atx(47);
    var tmp_1 = replace$default(base, tmp, tmp_0, false, 4, null);
    var tmp_2 = _Char___init__impl__6a9atx(47);
    var b = substringBefore$default(tmp_1, tmp_2, null, 2, null);
    var tmp$ret$1;
    // Inline function 'kotlin.text.isEmpty' call
    tmp$ret$1 = charSequenceLength(b) === 0;
    if (tmp$ret$1)
      return true;
    var tmp_3 = _Char___init__impl__6a9atx(58);
    if (contains$default(b, tmp_3, false, 2, null))
      return true;
    return false;
  }
  function get_baseName_0(_this__u8e3s4) {
    var tmp = get_fullPathNormalized(_this__u8e3s4);
    var tmp_0 = _Char___init__impl__6a9atx(47);
    return substringAfterLast$default(tmp, tmp_0, null, 2, null);
  }
  function get_fullPathNormalized(_this__u8e3s4) {
    var tmp = _PathInfo___get_fullPath__impl__21fx6x(_this__u8e3s4);
    var tmp_0 = _Char___init__impl__6a9atx(92);
    var tmp_1 = _Char___init__impl__6a9atx(47);
    return replace$default(tmp, tmp_0, tmp_1, false, 4, null);
  }
  function Vfs$Proxy$initOnce$slambda(this$0, resultContinuation) {
    this.i5g_1 = this$0;
    CoroutineImpl.call(this, resultContinuation);
  }
  Vfs$Proxy$initOnce$slambda.prototype.z56 = function ($cont) {
    var tmp = this.k53($cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  Vfs$Proxy$initOnce$slambda.prototype.to = function ($cont) {
    return this.z56($cont);
  };
  Vfs$Proxy$initOnce$slambda.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 3;
            this.p7_1 = 2;
            this.o7_1 = 1;
            suspendResult = this.i5g_1.k5g(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.p7_1 = 3;
            this.o7_1 = 4;
            continue $sm;
          case 2:
            this.p7_1 = 3;
            var tmp_0 = this.r7_1;
            if (tmp_0 instanceof Error) {
              var e = this.r7_1;
              Console_getInstance().r50(['Error initializing ' + this.i5g_1]);
              printStackTrace(e);
              this.o7_1 = 4;
              continue $sm;
            } else {
              throw this.r7_1;
            }

            break;
          case 3:
            throw this.r7_1;
          case 4:
            this.p7_1 = 3;
            return Unit_getInstance();
        }
      } catch ($p) {
        if (this.p7_1 === 3) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  Vfs$Proxy$initOnce$slambda.prototype.k53 = function (completion) {
    var i = new Vfs$Proxy$initOnce$slambda(this.i5g_1, completion);
    return i;
  };
  Vfs$Proxy$initOnce$slambda.$metadata$ = classMeta('Vfs$Proxy$initOnce$slambda', undefined, undefined, undefined, [0], CoroutineImpl.prototype);
  function Vfs$Proxy$initOnce$slambda_0(this$0, resultContinuation) {
    var i = new Vfs$Proxy$initOnce$slambda(this$0, resultContinuation);
    var l = function ($cont) {
      return i.z56($cont);
    };
    l.$arity = 0;
    return l;
  }
  function $getUnderlyingUnscapedFileCOROUTINE$50(_this__u8e3s4, path, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.t5g_1 = _this__u8e3s4;
    this.u5g_1 = path;
  }
  $getUnderlyingUnscapedFileCOROUTINE$50.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 4;
            this.o7_1 = 1;
            suspendResult = this.t5g_1.x5g(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.v5g_1 = suspendResult;
            this.o7_1 = 2;
            suspendResult = this.v5g_1.y5g(this.u5g_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.w5g_1 = suspendResult;
            this.o7_1 = 3;
            suspendResult = this.w5g_1.e5h(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return suspendResult;
          case 4:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 4) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $getUnderlyingUnscapedFileCOROUTINE$50.$metadata$ = classMeta('$getUnderlyingUnscapedFileCOROUTINE$50', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $initOnceCOROUTINE$51(_this__u8e3s4, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.n5h_1 = _this__u8e3s4;
  }
  $initOnceCOROUTINE$51.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 2;
            if (this.n5h_1.j5g_1 == null) {
              var tmp_0 = this.n5h_1;
              var tmp_1 = this.p5();
              tmp_0.j5g_1 = async_0(tmp_1, Vfs$Proxy$initOnce$slambda_0(this.n5h_1, null));
            }

            this.o7_1 = 1;
            suspendResult = ensureNotNull(this.n5h_1.j5g_1).y1w(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return this.n5h_1;
          case 2:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 2) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $initOnceCOROUTINE$51.$metadata$ = classMeta('$initOnceCOROUTINE$51', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $openCOROUTINE$53(_this__u8e3s4, path, mode, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.w5h_1 = _this__u8e3s4;
    this.x5h_1 = path;
    this.y5h_1 = mode;
  }
  $openCOROUTINE$53.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 4;
            this.o7_1 = 1;
            suspendResult = this.w5h_1.x5g(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.z5h_1 = suspendResult;
            this.o7_1 = 2;
            suspendResult = this.z5h_1.y5g(this.x5h_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.a5i_1 = suspendResult;
            this.o7_1 = 3;
            suspendResult = this.a5i_1.b5i(this.y5h_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return suspendResult;
          case 4:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 4) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $openCOROUTINE$53.$metadata$ = classMeta('$openCOROUTINE$53', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $readRangeCOROUTINE$54(_this__u8e3s4, path, range, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.k5i_1 = _this__u8e3s4;
    this.l5i_1 = path;
    this.m5i_1 = range;
  }
  $readRangeCOROUTINE$54.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 4;
            this.o7_1 = 1;
            suspendResult = this.k5i_1.x5g(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.n5i_1 = suspendResult;
            this.o7_1 = 2;
            suspendResult = this.n5i_1.y5g(this.l5i_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.o5i_1 = suspendResult;
            this.o7_1 = 3;
            suspendResult = this.o5i_1.p5i(this.m5i_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return suspendResult;
          case 4:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 4) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $readRangeCOROUTINE$54.$metadata$ = classMeta('$readRangeCOROUTINE$54', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $statCOROUTINE$57(_this__u8e3s4, path, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.y5i_1 = _this__u8e3s4;
    this.z5i_1 = path;
  }
  $statCOROUTINE$57.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 4;
            this.o7_1 = 1;
            suspendResult = this.y5i_1.x5g(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.a5j_1 = suspendResult;
            this.o7_1 = 2;
            suspendResult = this.a5j_1.y5g(this.z5i_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.b5j_1 = suspendResult;
            this.o7_1 = 3;
            suspendResult = this.b5j_1.c5j(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            var ARGUMENT = suspendResult;
            var tmp_0 = this.y5i_1.d5j(this.z5i_1);
            var tmp_1 = new Long(0, 0);
            var tmp_2 = new Long(0, 0);
            var tmp_3 = new Long(0, 0);
            return ARGUMENT.t5j(tmp_0, false, false, tmp_1, tmp_2, tmp_3, 0, null, null, null, null, null, null, null, null, 32766, null);
          case 4:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 4) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $statCOROUTINE$57.$metadata$ = classMeta('$statCOROUTINE$57', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function Proxy() {
    Vfs.call(this);
    this.j5g_1 = null;
  }
  Proxy.prototype.u5j = function (path, $cont) {
    var tmp = new $getUnderlyingUnscapedFileCOROUTINE$50(this, path, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  Proxy.prototype.k5g = function ($cont) {
    return Unit_getInstance();
  };
  Proxy.prototype.x5g = function ($cont) {
    var tmp = new $initOnceCOROUTINE$51(this, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  Proxy.prototype.v5j = function (path, mode, $cont) {
    var tmp = new $openCOROUTINE$53(this, path, mode, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  Proxy.prototype.w5j = function (path, range, $cont) {
    var tmp = new $readRangeCOROUTINE$54(this, path, range, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  Proxy.prototype.x5j = function (path, $cont) {
    var tmp = new $statCOROUTINE$57(this, path, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  Proxy.$metadata$ = classMeta('Proxy', undefined, undefined, undefined, undefined, Vfs.prototype);
  function $readRangeCOROUTINE$41(_this__u8e3s4, path, range, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.n5k_1 = _this__u8e3s4;
    this.o5k_1 = path;
    this.p5k_1 = range;
  }
  $readRangeCOROUTINE$41.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 6;
            this.o7_1 = 1;
            suspendResult = this.n5k_1.v5j(this.o5k_1, VfsOpenMode_READ_getInstance(), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.q5k_1 = suspendResult;
            this.r5k_1 = null;
            this.p7_1 = 3;
            this.q5k_1.y5k_1 = this.p5k_1.v();
            this.o7_1 = 2;
            var tmp_0 = this;
            var tmp0_minus = toLong(IntCompanionObject_getInstance().o1_1);
            tmp_0.t5k_1 = tmp0_minus.a2(new Long(1, 0));
            var tmp_1 = this;
            tmp_1.u5k_1 = this.p5k_1.w().a2(this.p5k_1.v());
            suspendResult = readBytesUpTo(this.q5k_1, (this.t5k_1.x1(this.u5k_1) <= 0 ? this.t5k_1 : this.u5k_1).d2() + 1 | 0, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.s5k_1 = suspendResult;
            this.p7_1 = 6;
            this.o7_1 = 4;
            continue $sm;
          case 3:
            this.p7_1 = 6;
            var tmp_2 = this.r7_1;
            if (tmp_2 instanceof Error) {
              this.v5k_1 = this.r7_1;
              var tmp_3 = this;
              this.r5k_1 = this.v5k_1;
              tmp_3.s5k_1 = null;
              this.o7_1 = 4;
              continue $sm;
            } else {
              throw this.r7_1;
            }

            break;
          case 4:
            this.p7_1 = 6;
            this.w5k_1 = this.s5k_1;
            this.o7_1 = 5;
            suspendResult = this.q5k_1.x51(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            if (!(this.r5k_1 == null))
              throw this.r5k_1;
            var tmp_4 = this.w5k_1;
            return (tmp_4 == null ? true : isObject(tmp_4)) ? tmp_4 : THROW_CCE();
          case 6:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 6) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $readRangeCOROUTINE$41.$metadata$ = classMeta('$readRangeCOROUTINE$41', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function Vfs() {
  }
  Vfs.prototype.y5j = function () {
    return '';
  };
  Vfs.prototype.z5j = function (path) {
    return _PathInfo___get_fullPath__impl__21fx6x(lightCombine(get_pathInfo(this.y5j()), get_pathInfo(path)));
  };
  Vfs.prototype.a5k = function () {
    return new VfsFile(this, '');
  };
  Vfs.prototype.c19 = function (path) {
    return this.a5k().c19(path);
  };
  Vfs.prototype.d5j = function (path) {
    return this.a5k().c19(path);
  };
  Vfs.prototype.x51 = function ($cont) {
    return Unit_getInstance();
  };
  Vfs.prototype.b5k = function (path, isDirectory, size, device, inode, mode, owner, group, createTime, modifiedTime, lastAccessTime, extraInfo, id, cache) {
    var tmp$ret$0;
    // Inline function 'kotlin.also' call
    var tmp = this.d5j(path);
    var tmp0_also = VfsStat_init_$Create$(tmp, true, isDirectory, size, device, inode, mode, owner, group, createTime, modifiedTime, lastAccessTime, extraInfo, null, id, 8192, null);
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.soywiz.korio.file.Vfs.createExistsStat.<anonymous>' call
    if (cache)
      tmp0_also.e5j_1.d5h_1 = tmp0_also;
    tmp$ret$0 = tmp0_also;
    return tmp$ret$0;
  };
  Vfs.prototype.c5k = function (path, isDirectory, size, device, inode, mode, owner, group, createTime, modifiedTime, lastAccessTime, extraInfo, id, cache, $mask0, $handler) {
    if (!(($mask0 & 8) === 0))
      device = new Long(-1, -1);
    if (!(($mask0 & 16) === 0))
      inode = new Long(-1, -1);
    if (!(($mask0 & 32) === 0))
      mode = 511;
    if (!(($mask0 & 64) === 0))
      owner = 'nobody';
    if (!(($mask0 & 128) === 0))
      group = 'nobody';
    if (!(($mask0 & 256) === 0))
      createTime = Companion_getInstance_1().z1g_1;
    if (!(($mask0 & 512) === 0))
      modifiedTime = Companion_getInstance_1().z1g_1;
    if (!(($mask0 & 1024) === 0))
      lastAccessTime = modifiedTime;
    if (!(($mask0 & 2048) === 0))
      extraInfo = null;
    if (!(($mask0 & 4096) === 0))
      id = null;
    if (!(($mask0 & 8192) === 0))
      cache = false;
    return this.b5k(path, isDirectory, size, device, inode, mode, owner, group, createTime, modifiedTime, lastAccessTime, extraInfo, id, cache);
  };
  Vfs.prototype.d5k = function (path, extraInfo, cache) {
    var tmp = this.d5j(path);
    var tmp_0 = new Long(0, 0);
    var tmp_1 = new Long(-1, -1);
    var tmp_2 = new Long(-1, -1);
    var tmp_3 = Companion_getInstance_1().z1g_1;
    var tmp_4 = Companion_getInstance_1().z1g_1;
    var tmp_5 = Companion_getInstance_1().z1g_1;
    return VfsStat_init_$Create$(tmp, false, false, tmp_0, tmp_1, tmp_2, 511, 'nobody', 'nobody', tmp_3, tmp_4, tmp_5, extraInfo, null, null, 24576, null);
  };
  Vfs.prototype.e5k = function (path, extraInfo, cache, $mask0, $handler) {
    if (!(($mask0 & 2) === 0))
      extraInfo = null;
    if (!(($mask0 & 4) === 0))
      cache = false;
    return this.d5k(path, extraInfo, cache);
  };
  Vfs.prototype.v5j = function (path, mode, $cont) {
    unsupported$default(null, 1, null);
  };
  Vfs.prototype.w5j = function (path, range, $cont) {
    var tmp = new $readRangeCOROUTINE$41(this, path, range, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  Vfs.prototype.x5j = function (path, $cont) {
    return this.e5k(path, null, false, 6, null);
  };
  Vfs.prototype.u5j = function (path, $cont) {
    return FinalVfsFile_init_$Create$(this, path);
  };
  Vfs.prototype.toString = function () {
    return get_portableSimpleName(getKClassFromExpression(this));
  };
  Vfs.$metadata$ = classMeta('Vfs', [AsyncCloseable]);
  function VfsOpenMode_init_$Init$(name, ordinal, cmode, write, createIfNotExists, truncate, $mask0, $marker, $this) {
    if (!(($mask0 & 16) === 0))
      createIfNotExists = false;
    if (!(($mask0 & 32) === 0))
      truncate = false;
    VfsOpenMode.call($this, name, ordinal, cmode, write, createIfNotExists, truncate);
    return $this;
  }
  function VfsOpenMode_init_$Create$(name, ordinal, cmode, write, createIfNotExists, truncate, $mask0, $marker) {
    return VfsOpenMode_init_$Init$(name, ordinal, cmode, write, createIfNotExists, truncate, $mask0, $marker, Object.create(VfsOpenMode.prototype));
  }
  var VfsOpenMode_READ_instance;
  var VfsOpenMode_WRITE_instance;
  var VfsOpenMode_APPEND_instance;
  var VfsOpenMode_CREATE_OR_TRUNCATE_instance;
  var VfsOpenMode_CREATE_instance;
  var VfsOpenMode_CREATE_NEW_instance;
  var VfsOpenMode_entriesInitialized;
  function VfsOpenMode_initEntries() {
    if (VfsOpenMode_entriesInitialized)
      return Unit_getInstance();
    VfsOpenMode_entriesInitialized = true;
    VfsOpenMode_READ_instance = VfsOpenMode_init_$Create$('READ', 0, 'rb', false, false, false, 48, null);
    VfsOpenMode_WRITE_instance = VfsOpenMode_init_$Create$('WRITE', 1, 'r+b', true, true, false, 32, null);
    VfsOpenMode_APPEND_instance = VfsOpenMode_init_$Create$('APPEND', 2, 'a+b', true, true, false, 32, null);
    VfsOpenMode_CREATE_OR_TRUNCATE_instance = new VfsOpenMode('CREATE_OR_TRUNCATE', 3, 'w+b', true, true, true);
    VfsOpenMode_CREATE_instance = VfsOpenMode_init_$Create$('CREATE', 4, 'w+b', true, true, false, 32, null);
    VfsOpenMode_CREATE_NEW_instance = VfsOpenMode_init_$Create$('CREATE_NEW', 5, 'w+b', true, false, false, 48, null);
  }
  function VfsOpenMode(name, ordinal, cmode, write, createIfNotExists, truncate) {
    Enum.call(this, name, ordinal);
    this.f5l_1 = cmode;
    this.g5l_1 = write;
    this.h5l_1 = createIfNotExists;
    this.i5l_1 = truncate;
  }
  VfsOpenMode.$metadata$ = classMeta('VfsOpenMode', undefined, undefined, undefined, undefined, Enum.prototype);
  function VfsStat_init_$Init$(file, exists, isDirectory, size, device, inode, mode, owner, group, createTime, modifiedTime, lastAccessTime, extraInfo, kind, id, $mask0, $marker, $this) {
    if (!(($mask0 & 16) === 0))
      device = new Long(-1, -1);
    if (!(($mask0 & 32) === 0))
      inode = new Long(-1, -1);
    if (!(($mask0 & 64) === 0))
      mode = 511;
    if (!(($mask0 & 128) === 0))
      owner = 'nobody';
    if (!(($mask0 & 256) === 0))
      group = 'nobody';
    if (!(($mask0 & 512) === 0))
      createTime = Companion_getInstance_1().z1g_1;
    if (!(($mask0 & 1024) === 0))
      modifiedTime = createTime;
    if (!(($mask0 & 2048) === 0))
      lastAccessTime = modifiedTime;
    if (!(($mask0 & 4096) === 0))
      extraInfo = null;
    if (!(($mask0 & 8192) === 0))
      kind = null;
    if (!(($mask0 & 16384) === 0))
      id = null;
    VfsStat.call($this, file, exists, isDirectory, size, device, inode, mode, owner, group, createTime, modifiedTime, lastAccessTime, extraInfo, kind, id);
    return $this;
  }
  function VfsStat_init_$Create$(file, exists, isDirectory, size, device, inode, mode, owner, group, createTime, modifiedTime, lastAccessTime, extraInfo, kind, id, $mask0, $marker) {
    return VfsStat_init_$Init$(file, exists, isDirectory, size, device, inode, mode, owner, group, createTime, modifiedTime, lastAccessTime, extraInfo, kind, id, $mask0, $marker, Object.create(VfsStat.prototype));
  }
  function VfsStat(file, exists, isDirectory, size, device, inode, mode, owner, group, createTime, modifiedTime, lastAccessTime, extraInfo, kind, id) {
    this.e5j_1 = file;
    this.f5j_1 = exists;
    this.g5j_1 = isDirectory;
    this.h5j_1 = size;
    this.i5j_1 = device;
    this.j5j_1 = inode;
    this.k5j_1 = mode;
    this.l5j_1 = owner;
    this.m5j_1 = group;
    this.n5j_1 = createTime;
    this.o5j_1 = modifiedTime;
    this.p5j_1 = lastAccessTime;
    this.q5j_1 = extraInfo;
    this.r5j_1 = kind;
    this.s5j_1 = id;
  }
  VfsStat.prototype.j5l = function () {
    return this.e5j_1;
  };
  VfsStat.prototype.k5l = function () {
    return this.f5j_1;
  };
  VfsStat.prototype.l5l = function () {
    return this.g5j_1;
  };
  VfsStat.prototype.i = function () {
    return this.h5j_1;
  };
  VfsStat.prototype.m5l = function () {
    return this.i5j_1;
  };
  VfsStat.prototype.n5l = function () {
    return this.j5j_1;
  };
  VfsStat.prototype.o5l = function () {
    return this.k5j_1;
  };
  VfsStat.prototype.p5l = function () {
    return this.l5j_1;
  };
  VfsStat.prototype.q5l = function () {
    return this.m5j_1;
  };
  VfsStat.prototype.r5l = function () {
    return this.n5j_1;
  };
  VfsStat.prototype.s5l = function () {
    return this.o5j_1;
  };
  VfsStat.prototype.t5l = function () {
    return this.p5j_1;
  };
  VfsStat.prototype.u5l = function () {
    return this.q5j_1;
  };
  VfsStat.prototype.pr = function () {
    return this.r5j_1;
  };
  VfsStat.prototype.c1n = function () {
    return this.s5j_1;
  };
  VfsStat.prototype.z5f = function () {
    return this.e5j_1.z5f();
  };
  VfsStat.prototype.v5l = function (showFile) {
    var tmp$ret$0;
    // Inline function 'kotlin.also' call
    var tmp0_also = ArrayList_init_$Create$(16);
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.soywiz.korio.file.VfsStat.toString.<anonymous>' call
    if (showFile) {
      tmp0_also.c('file=' + this.e5j_1);
    } else {
      tmp0_also.c('file=' + this.e5j_1.y5j());
    }
    tmp0_also.c('exists=' + this.f5j_1);
    tmp0_also.c('isDirectory=' + this.g5j_1);
    tmp0_also.c('size=' + toString(this.h5j_1));
    tmp0_also.c('device=' + toString(this.i5j_1));
    tmp0_also.c('inode=' + toString(this.j5j_1));
    tmp0_also.c('mode=' + this.k5j_1);
    tmp0_also.c('owner=' + this.l5j_1);
    tmp0_also.c('group=' + this.m5j_1);
    tmp0_also.c('createTime=' + new DateTime(this.n5j_1));
    tmp0_also.c('modifiedTime=' + new DateTime(this.o5j_1));
    tmp0_also.c('lastAccessTime=' + new DateTime(this.p5j_1));
    tmp0_also.c('extraInfo=' + toString_0(this.q5j_1));
    if (!(this.r5j_1 == null)) {
      tmp0_also.c('kind=' + this.r5j_1);
    }
    tmp0_also.c('id=' + this.s5j_1);
    tmp$ret$0 = tmp0_also;
    var tmp = tmp$ret$0;
    return 'VfsStat(' + joinToString$default(tmp, ', ', null, null, 0, null, null, 62, null) + ')';
  };
  VfsStat.prototype.toString = function () {
    return this.v5l(true);
  };
  VfsStat.prototype.w5l = function (file, exists, isDirectory, size, device, inode, mode, owner, group, createTime, modifiedTime, lastAccessTime, extraInfo, kind, id) {
    return new VfsStat(file, exists, isDirectory, size, device, inode, mode, owner, group, createTime, modifiedTime, lastAccessTime, extraInfo, kind, id);
  };
  VfsStat.prototype.t5j = function (file, exists, isDirectory, size, device, inode, mode, owner, group, createTime, modifiedTime, lastAccessTime, extraInfo, kind, id, $mask0, $handler) {
    if (!(($mask0 & 1) === 0))
      file = this.e5j_1;
    if (!(($mask0 & 2) === 0))
      exists = this.f5j_1;
    if (!(($mask0 & 4) === 0))
      isDirectory = this.g5j_1;
    if (!(($mask0 & 8) === 0))
      size = this.h5j_1;
    if (!(($mask0 & 16) === 0))
      device = this.i5j_1;
    if (!(($mask0 & 32) === 0))
      inode = this.j5j_1;
    if (!(($mask0 & 64) === 0))
      mode = this.k5j_1;
    if (!(($mask0 & 128) === 0))
      owner = this.l5j_1;
    if (!(($mask0 & 256) === 0))
      group = this.m5j_1;
    if (!(($mask0 & 512) === 0))
      createTime = this.n5j_1;
    if (!(($mask0 & 1024) === 0))
      modifiedTime = this.o5j_1;
    if (!(($mask0 & 2048) === 0))
      lastAccessTime = this.p5j_1;
    if (!(($mask0 & 4096) === 0))
      extraInfo = this.q5j_1;
    if (!(($mask0 & 8192) === 0))
      kind = this.r5j_1;
    if (!(($mask0 & 16384) === 0))
      id = this.s5j_1;
    return this.w5l(file, exists, isDirectory, size, device, inode, mode, owner, group, createTime, modifiedTime, lastAccessTime, extraInfo, kind, id);
  };
  VfsStat.prototype.hashCode = function () {
    var result = this.e5j_1.hashCode();
    result = imul(result, 31) + (this.f5j_1 | 0) | 0;
    result = imul(result, 31) + (this.g5j_1 | 0) | 0;
    result = imul(result, 31) + this.h5j_1.hashCode() | 0;
    result = imul(result, 31) + this.i5j_1.hashCode() | 0;
    result = imul(result, 31) + this.j5j_1.hashCode() | 0;
    result = imul(result, 31) + this.k5j_1 | 0;
    result = imul(result, 31) + getStringHashCode(this.l5j_1) | 0;
    result = imul(result, 31) + getStringHashCode(this.m5j_1) | 0;
    result = imul(result, 31) + DateTime__hashCode_impl_yf0bc9(this.n5j_1) | 0;
    result = imul(result, 31) + DateTime__hashCode_impl_yf0bc9(this.o5j_1) | 0;
    result = imul(result, 31) + DateTime__hashCode_impl_yf0bc9(this.p5j_1) | 0;
    result = imul(result, 31) + (this.q5j_1 == null ? 0 : hashCode(this.q5j_1)) | 0;
    result = imul(result, 31) + (this.r5j_1 == null ? 0 : hashCode(this.r5j_1)) | 0;
    result = imul(result, 31) + (this.s5j_1 == null ? 0 : getStringHashCode(this.s5j_1)) | 0;
    return result;
  };
  VfsStat.prototype.equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof VfsStat))
      return false;
    var tmp0_other_with_cast = other instanceof VfsStat ? other : THROW_CCE();
    if (!this.e5j_1.equals(tmp0_other_with_cast.e5j_1))
      return false;
    if (!(this.f5j_1 === tmp0_other_with_cast.f5j_1))
      return false;
    if (!(this.g5j_1 === tmp0_other_with_cast.g5j_1))
      return false;
    if (!this.h5j_1.equals(tmp0_other_with_cast.h5j_1))
      return false;
    if (!this.i5j_1.equals(tmp0_other_with_cast.i5j_1))
      return false;
    if (!this.j5j_1.equals(tmp0_other_with_cast.j5j_1))
      return false;
    if (!(this.k5j_1 === tmp0_other_with_cast.k5j_1))
      return false;
    if (!(this.l5j_1 === tmp0_other_with_cast.l5j_1))
      return false;
    if (!(this.m5j_1 === tmp0_other_with_cast.m5j_1))
      return false;
    if (!equals(this.n5j_1, tmp0_other_with_cast.n5j_1))
      return false;
    if (!equals(this.o5j_1, tmp0_other_with_cast.o5j_1))
      return false;
    if (!equals(this.p5j_1, tmp0_other_with_cast.p5j_1))
      return false;
    if (!equals(this.q5j_1, tmp0_other_with_cast.q5j_1))
      return false;
    if (!equals(this.r5j_1, tmp0_other_with_cast.r5j_1))
      return false;
    if (!(this.s5j_1 == tmp0_other_with_cast.s5j_1))
      return false;
    return true;
  };
  VfsStat.$metadata$ = classMeta('VfsStat', [Path]);
  function Companion_5() {
    Companion_instance_5 = this;
  }
  Companion_5.$metadata$ = objectMeta('Companion', [Key]);
  var Companion_instance_5;
  function Companion_getInstance_10() {
    if (Companion_instance_5 == null)
      new Companion_5();
    return Companion_instance_5;
  }
  function VfsCachedStatContext(stat) {
    Companion_getInstance_10();
    this.x5l_1 = stat;
  }
  VfsCachedStatContext.prototype.k1 = function () {
    return Companion_getInstance_10();
  };
  VfsCachedStatContext.$metadata$ = classMeta('VfsCachedStatContext', [Element]);
  function VfsOpenMode_READ_getInstance() {
    VfsOpenMode_initEntries();
    return VfsOpenMode_READ_instance;
  }
  function $readStringCOROUTINE$72(_this__u8e3s4, charset, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.g5m_1 = _this__u8e3s4;
    this.h5m_1 = charset;
  }
  $readStringCOROUTINE$72.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 2;
            this.o7_1 = 1;
            suspendResult = this.g5m_1.i5m(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return toString$default(ARGUMENT, this.h5m_1, 0, 0, 6, null);
          case 2:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 2) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $readStringCOROUTINE$72.$metadata$ = classMeta('$readStringCOROUTINE$72', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $readAsSyncStreamCOROUTINE$74(_this__u8e3s4, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.r5m_1 = _this__u8e3s4;
  }
  $readAsSyncStreamCOROUTINE$74.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 2;
            this.o7_1 = 1;
            suspendResult = this.r5m_1.i5m(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return openSync$default(ARGUMENT, null, 1, null);
          case 2:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 2) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $readAsSyncStreamCOROUTINE$74.$metadata$ = classMeta('$readAsSyncStreamCOROUTINE$74', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $statCOROUTINE$75(_this__u8e3s4, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.a5n_1 = _this__u8e3s4;
  }
  $statCOROUTINE$75.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 3;
            this.b5n_1 = this.a5n_1.d5h_1;
            if (this.b5n_1 == null) {
              this.o7_1 = 1;
              suspendResult = this.a5n_1.a5h_1.x5j(this.a5n_1.b5h_1, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.c5n_1 = this.b5n_1;
              this.o7_1 = 2;
              continue $sm;
            }

            break;
          case 1:
            this.c5n_1 = suspendResult;
            this.o7_1 = 2;
            continue $sm;
          case 2:
            return this.c5n_1;
          case 3:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 3) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $statCOROUTINE$75.$metadata$ = classMeta('$statCOROUTINE$75', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function VfsFile(vfs, path) {
    VfsNamed.call(this, get_pathInfo(path));
    this.a5h_1 = vfs;
    this.b5h_1 = path;
    var tmp = this;
    tmp.c5h_1 = Mixin_init_$Create$(null, 1, null);
    this.d5h_1 = null;
  }
  VfsFile.prototype.e4v = function (_set____db54di) {
    this.c5h_1.e4v(_set____db54di);
  };
  VfsFile.prototype.f4v = function () {
    return this.c5h_1.f4v();
  };
  VfsFile.prototype.d5n = function (_set____db54di) {
    this.d5h_1 = _set____db54di;
  };
  VfsFile.prototype.e5n = function () {
    return new VfsFile(this.a5h_1, get_folder(this));
  };
  VfsFile.prototype.a5k = function () {
    return this.a5h_1.a5k();
  };
  VfsFile.prototype.y5j = function () {
    return this.a5h_1.z5j(this.b5h_1);
  };
  VfsFile.prototype.c19 = function (path) {
    return new VfsFile(this.a5h_1, _PathInfo___get_fullPath__impl__21fx6x(combine(get_pathInfo(this.b5h_1), get_pathInfo(path))));
  };
  VfsFile.prototype.b5i = function (mode, $cont) {
    return this.a5h_1.v5j(this.b5h_1, mode, $cont);
  };
  VfsFile.prototype.f5n = function (mode, $cont, $mask0, $handler) {
    if (!(($mask0 & 1) === 0))
      mode = VfsOpenMode_READ_getInstance();
    return this.b5i(mode, $cont);
  };
  VfsFile.prototype.p5i = function (range, $cont) {
    return this.a5h_1.w5j(this.b5h_1, range, $cont);
  };
  VfsFile.prototype.g5n = function (range, $cont) {
    return this.a5h_1.w5j(this.b5h_1, toLongRange(range), $cont);
  };
  VfsFile.prototype.h5n = function ($cont) {
    return this.a5h_1.w5j(this.b5h_1, get_LONG_ZERO_TO_MAX_RANGE(), $cont);
  };
  VfsFile.prototype.i5m = function ($cont) {
    return this.h5n($cont);
  };
  VfsFile.prototype.i5n = function ($cont) {
    return this.h5n($cont);
  };
  VfsFile.prototype.j5n = function (charset, $cont) {
    var tmp = new $readStringCOROUTINE$72(this, charset, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  VfsFile.prototype.k5n = function (charset, $cont, $mask0, $handler) {
    if (!(($mask0 & 1) === 0))
      charset = get_UTF8();
    return this.j5n(charset, $cont);
  };
  VfsFile.prototype.l5n = function ($cont) {
    var tmp = new $readAsSyncStreamCOROUTINE$74(this, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  VfsFile.prototype.c5j = function ($cont) {
    var tmp = new $statCOROUTINE$75(this, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  VfsFile.prototype.m5n = function () {
    return Companion_getInstance_11().n5n(this);
  };
  VfsFile.prototype.e5h = function ($cont) {
    return this.a5h_1.u5j(this.b5h_1, $cont);
  };
  VfsFile.prototype.toString = function () {
    return '' + this.a5h_1 + '[' + this.b5h_1 + ']';
  };
  VfsFile.prototype.hashCode = function () {
    var result = hashCode(this.a5h_1);
    result = imul(result, 31) + getStringHashCode(this.b5h_1) | 0;
    return result;
  };
  VfsFile.prototype.equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof VfsFile))
      return false;
    var tmp0_other_with_cast = other instanceof VfsFile ? other : THROW_CCE();
    if (!equals(this.a5h_1, tmp0_other_with_cast.a5h_1))
      return false;
    if (!(this.b5h_1 === tmp0_other_with_cast.b5h_1))
      return false;
    return true;
  };
  VfsFile.$metadata$ = classMeta('VfsFile', [AsyncInputOpenable, Extra], undefined, undefined, undefined, VfsNamed.prototype);
  function FinalVfsFile_init_$Init$(vfs, path, $this) {
    FinalVfsFile.call($this, vfs.c19(path));
    return $this;
  }
  function FinalVfsFile_init_$Create$(vfs, path) {
    return FinalVfsFile_init_$Init$(vfs, path, Object.create(FinalVfsFile.prototype));
  }
  function FinalVfsFile(file) {
    this.o5n_1 = file;
  }
  FinalVfsFile.prototype.p5n = function () {
    return this.o5n_1.a5h_1;
  };
  FinalVfsFile.prototype.q5n = function () {
    return this.o5n_1.b5h_1;
  };
  FinalVfsFile.prototype.toString = function () {
    return 'FinalVfsFile(file=' + this.o5n_1 + ')';
  };
  FinalVfsFile.prototype.hashCode = function () {
    return this.o5n_1.hashCode();
  };
  FinalVfsFile.prototype.equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof FinalVfsFile))
      return false;
    var tmp0_other_with_cast = other instanceof FinalVfsFile ? other : THROW_CCE();
    if (!this.o5n_1.equals(tmp0_other_with_cast.o5n_1))
      return false;
    return true;
  };
  FinalVfsFile.$metadata$ = classMeta('FinalVfsFile');
  function withCatalogJail(_this__u8e3s4) {
    return (new CatalogVfs(_this__u8e3s4.m5n())).a5k();
  }
  function $getLengthCOROUTINE$95(_this__u8e3s4, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.z5n_1 = _this__u8e3s4;
  }
  $getLengthCOROUTINE$95.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 3;
            var tmp0_safe_receiver = this.z5n_1.c5o_1;
            if ((tmp0_safe_receiver == null ? null : tmp0_safe_receiver.f5j_1) === true) {
              this.a5o_1 = this.z5n_1.c5o_1.h5j_1;
              this.o7_1 = 2;
              continue $sm;
            } else {
              this.o7_1 = 1;
              suspendResult = this.z5n_1.b5o_1.p5c(this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            }

            break;
          case 1:
            this.a5o_1 = suspendResult;
            this.o7_1 = 2;
            continue $sm;
          case 2:
            return this.a5o_1;
          case 3:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 3) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $getLengthCOROUTINE$95.$metadata$ = classMeta('$getLengthCOROUTINE$95', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function CatalogVfs$open$slambda(this$0, $path, $mode, resultContinuation) {
    this.l5o_1 = this$0;
    this.m5o_1 = $path;
    this.n5o_1 = $mode;
    CoroutineImpl.call(this, resultContinuation);
  }
  CatalogVfs$open$slambda.prototype.p5o = function ($this$withContext, $cont) {
    var tmp = this.i2n($this$withContext, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  CatalogVfs$open$slambda.prototype.w7 = function (p1, $cont) {
    return this.p5o((!(p1 == null) ? isInterface(p1, CoroutineScope_0) : false) ? p1 : THROW_CCE(), $cont);
  };
  CatalogVfs$open$slambda.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 2;
            this.o7_1 = 1;
            suspendResult = Proxy.prototype.v5j.call(this.l5o_1, this.m5o_1, this.n5o_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return ARGUMENT.x5k_1;
          case 2:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 2) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  CatalogVfs$open$slambda.prototype.i2n = function ($this$withContext, completion) {
    var i = new CatalogVfs$open$slambda(this.l5o_1, this.m5o_1, this.n5o_1, completion);
    i.o5o_1 = $this$withContext;
    return i;
  };
  CatalogVfs$open$slambda.$metadata$ = classMeta('CatalogVfs$open$slambda', undefined, undefined, undefined, [1], CoroutineImpl.prototype);
  function CatalogVfs$open$slambda_0(this$0, $path, $mode, resultContinuation) {
    var i = new CatalogVfs$open$slambda(this$0, $path, $mode, resultContinuation);
    var l = function ($this$withContext, $cont) {
      return i.p5o($this$withContext, $cont);
    };
    l.$arity = 1;
    return l;
  }
  function CatalogVfs$open$2($base, $fstat) {
    this.b5o_1 = $base;
    this.c5o_1 = $fstat;
    AsyncStreamBase.call(this);
  }
  CatalogVfs$open$2.prototype.q5o = function (position, buffer, offset, len, $cont) {
    return this.b5o_1.q5o(position, buffer, offset, len, $cont);
  };
  CatalogVfs$open$2.prototype.r5o = function (position, buffer, offset, len, $cont) {
    return this.b5o_1.r5o(position, buffer, offset, len, $cont);
  };
  CatalogVfs$open$2.prototype.p5c = function ($cont) {
    var tmp = new $getLengthCOROUTINE$95(this, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  CatalogVfs$open$2.prototype.x51 = function ($cont) {
    return this.b5o_1.x51($cont);
  };
  CatalogVfs$open$2.$metadata$ = classMeta(undefined, undefined, undefined, undefined, undefined, AsyncStreamBase.prototype);
  function $openCOROUTINE$88(_this__u8e3s4, path, mode, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.a5p_1 = _this__u8e3s4;
    this.b5p_1 = path;
    this.c5p_1 = mode;
  }
  $openCOROUTINE$88.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 3;
            this.o7_1 = 1;
            suspendResult = this.a5p_1.i5p(this.b5p_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.d5p_1 = suspendResult;
            this.o7_1 = 2;
            var tmp_0 = new VfsCachedStatContext(this.d5p_1);
            suspendResult = withContext(tmp_0, CatalogVfs$open$slambda_0(this.a5p_1, this.b5p_1, this.c5p_1, null), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            var base = suspendResult;
            var tmp_1 = new CatalogVfs$open$2(base, this.d5p_1);
            var tmp_2 = toAsyncStream$default(tmp_1, new Long(0, 0), 1, null);
            return buffered$default(tmp_2, 0, 0, 3, null);
          case 3:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 3) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $openCOROUTINE$88.$metadata$ = classMeta('$openCOROUTINE$88', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $statCOROUTINE$89(_this__u8e3s4, path, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.r5p_1 = _this__u8e3s4;
    this.s5p_1 = path;
  }
  $statCOROUTINE$89.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 2;
            this.o7_1 = 1;
            suspendResult = this.r5p_1.i5p(this.s5p_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var tmp0_elvis_lhs = suspendResult;
            var tmp_0;
            if (tmp0_elvis_lhs == null) {
              var tmp_1 = normalize(_PathInfo___init__impl__vpw96a(this.s5p_1));
              tmp_0 = this.r5p_1.e5k(tmp_1, null, true, 2, null);
            } else {
              tmp_0 = tmp0_elvis_lhs;
            }

            return tmp_0;
          case 2:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 2) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $statCOROUTINE$89.$metadata$ = classMeta('$statCOROUTINE$89', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $statOrNullCOROUTINE$90(_this__u8e3s4, path, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.b5q_1 = _this__u8e3s4;
    this.c5q_1 = path;
  }
  $statOrNullCOROUTINE$90.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 5;
            this.d5q_1 = normalize(_PathInfo___init__impl__vpw96a(this.c5q_1));
            if (this.d5q_1 === '/' ? true : this.d5q_1 === '') {
              var tmp_0 = new Long(0, 0);
              var tmp_1 = new Long(0, 0);
              var tmp_2 = new Long(0, 0);
              return this.b5q_1.c5k('/', true, tmp_0, tmp_1, tmp_2, 0, null, null, null, null, null, null, null, true, 8184, null);
            }

            this.e5q_1 = get_baseName_0(_PathInfo___init__impl__vpw96a(this.d5q_1));
            this.o7_1 = 1;
            suspendResult = this.b5q_1.k5q(_PathInfo___get_fullPath__impl__21fx6x(get_parent(_PathInfo___init__impl__vpw96a(this.d5q_1))), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.f5q_1 = suspendResult;
            if (this.f5q_1 == null) {
              var tmp_3 = this;
              tmp_3.h5q_1 = this.b5q_1.g5p_1;
              this.i5q_1 = this.h5q_1.q(this.c5q_1);
              if (this.i5q_1 == null) {
                this.o7_1 = 2;
                suspendResult = this.b5q_1.f5p_1.c19(this.c5q_1).c5j(this);
                if (suspendResult === get_COROUTINE_SUSPENDED()) {
                  return suspendResult;
                }
                continue $sm;
              } else {
                var tmp_4 = this;
                tmp_4.j5q_1 = this.i5q_1;
                this.o7_1 = 3;
                continue $sm;
              }
            } else {
              this.g5q_1 = this.f5q_1;
              this.o7_1 = 4;
              continue $sm;
            }

            break;
          case 2:
            var answer = suspendResult;
            this.h5q_1.a(this.c5q_1, answer);
            ;
            this.j5q_1 = answer;
            this.o7_1 = 3;
            continue $sm;
          case 3:
            var tmp_5 = this;
            return this.j5q_1;
          case 4:
            var info = this.g5q_1;
            var tmp1_elvis_lhs = info.q(this.e5q_1);
            var tmp_6;
            if (tmp1_elvis_lhs == null) {
              tmp_6 = this.b5q_1.e5k(this.d5q_1, null, true, 2, null);
            } else {
              tmp_6 = tmp1_elvis_lhs;
            }

            return tmp_6;
          case 5:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 5) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $statOrNullCOROUTINE$90.$metadata$ = classMeta('$statOrNullCOROUTINE$90', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $cachedListSimpleStatsOrNullCOROUTINE$93(_this__u8e3s4, path, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.t5q_1 = _this__u8e3s4;
    this.u5q_1 = path;
  }
  $cachedListSimpleStatsOrNullCOROUTINE$93.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 5;
            this.v5q_1 = normalize(_PathInfo___init__impl__vpw96a(this.u5q_1));
            this.o7_1 = 1;
            continue $sm;
          case 1:
            var tmp_0 = this;
            tmp_0.x5q_1 = this.t5q_1.h5p_1;
            var tmp_1 = this;
            tmp_1.y5q_1 = this.x5q_1.get(this.v5q_1);
            if (!(this.y5q_1 == null)) {
              this.w5q_1 = this.y5q_1;
              this.o7_1 = 4;
              continue $sm;
            } else {
              this.o7_1 = 2;
              continue $sm;
            }

            break;
          case 2:
            this.o7_1 = 3;
            suspendResult = this.t5q_1.z5q(this.v5q_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            var out = suspendResult;
            this.x5q_1.set(this.v5q_1, out);
            this.w5q_1 = out;
            if (false) {
              this.o7_1 = 1;
              continue $sm;
            }

            this.o7_1 = 4;
            continue $sm;
          case 4:
            return this.w5q_1;
          case 5:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 5) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $cachedListSimpleStatsOrNullCOROUTINE$93.$metadata$ = classMeta('$cachedListSimpleStatsOrNullCOROUTINE$93', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $listSimpleStatsOrNullCOROUTINE$94(_this__u8e3s4, path, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.i5r_1 = _this__u8e3s4;
    this.j5r_1 = path;
  }
  $listSimpleStatsOrNullCOROUTINE$94.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 3;
            this.p7_1 = 2;
            this.o7_1 = 1;
            var tmp_0 = this.i5r_1.f5p_1.c19(this.j5r_1).c19('$catalog.json');
            suspendResult = tmp_0.k5n(null, this, 1, null);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.k5r_1 = suspendResult;
            this.p7_1 = 3;
            this.o7_1 = 4;
            continue $sm;
          case 2:
            this.p7_1 = 3;
            var tmp_1 = this.r7_1;
            if (tmp_1 instanceof Error) {
              var e = this.r7_1;
              var tmp_2 = this;
              if (!(e instanceof FileNotFoundException)) {
                Console_getInstance().r50([e]);
              }
              return null;
            } else {
              throw this.r7_1;
            }

            break;
          case 3:
            throw this.r7_1;
          case 4:
            this.p7_1 = 3;
            var catalogJsonString = this.k5r_1;
            var tmp_3 = Json_getInstance();
            var data = get_dyn(tmp_3.l5r(catalogJsonString, null, 2, null));
            var tmp0_map = _Dyn___get_list__impl__qpwjp(data);
            var tmp0_mapTo = ArrayList_init_$Create$(collectionSizeOrDefault(tmp0_map, 10));
            var tmp0_iterator = tmp0_map.j();
            while (tmp0_iterator.k()) {
              var item = tmp0_iterator.l().s5f_1;
              var localName = get_baseName_0(_PathInfo___init__impl__vpw96a(_Dyn___get_str__impl__dup4cs(Dyn__get_impl_6l2p80(item, 'name'))));
              var tmp_4 = this.j5r_1 + '/' + localName;
              var tmp_5 = _Dyn___get_bool__impl__nv3iun(Dyn__get_impl_6l2p80(item, 'isDirectory'));
              var tmp_6 = _Dyn___get_long__impl__wdxl7n(Dyn__get_impl_6l2p80(item, 'size'));
              var tmp_7 = new Long(0, 0);
              var tmp_8 = new Long(0, 0);
              var tmp_9 = Companion_getInstance_1().c1h(_Dyn___get_long__impl__wdxl7n(Dyn__get_impl_6l2p80(item, 'createTime')));
              var tmp_10 = Companion_getInstance_1().c1h(_Dyn___get_long__impl__wdxl7n(Dyn__get_impl_6l2p80(item, 'modifiedTime')));
              tmp0_mapTo.c(this.i5r_1.c5k(tmp_4, tmp_5, tmp_6, tmp_7, tmp_8, 0, null, null, tmp_9, tmp_10, null, null, null, true, 7416, null));
            }

            var tmp1_associateBy = tmp0_mapTo;
            var capacity = coerceAtLeast(mapCapacity(collectionSizeOrDefault(tmp1_associateBy, 10)), 16);
            var tmp0_associateByTo = LinkedHashMap_init_$Create$(capacity);
            var tmp0_iterator_0 = tmp1_associateBy.j();
            while (tmp0_iterator_0.k()) {
              var element = tmp0_iterator_0.l();
              tmp0_associateByTo.a(get_baseName(element), element);
            }

            return tmp0_associateByTo;
        }
      } catch ($p) {
        if (this.p7_1 === 3) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $listSimpleStatsOrNullCOROUTINE$94.$metadata$ = classMeta('$listSimpleStatsOrNullCOROUTINE$94', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function CatalogVfs(parent) {
    Proxy.call(this);
    this.f5p_1 = parent;
    this.g5p_1 = LinkedHashMap_init_$Create$_0();
    this.h5p_1 = FastStringMap();
  }
  CatalogVfs.prototype.v5j = function (path, mode, $cont) {
    var tmp = new $openCOROUTINE$88(this, path, mode, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  CatalogVfs.prototype.y5g = function (path, $cont) {
    return this.f5p_1.c19(path);
  };
  CatalogVfs.prototype.x5j = function (path, $cont) {
    var tmp = new $statCOROUTINE$89(this, path, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  CatalogVfs.prototype.i5p = function (path, $cont) {
    var tmp = new $statOrNullCOROUTINE$90(this, path, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  CatalogVfs.prototype.k5q = function (path, $cont) {
    var tmp = new $cachedListSimpleStatsOrNullCOROUTINE$93(this, path, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  CatalogVfs.prototype.z5q = function (path, $cont) {
    var tmp = new $listSimpleStatsOrNullCOROUTINE$94(this, path, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  CatalogVfs.$metadata$ = classMeta('CatalogVfs', undefined, undefined, undefined, undefined, Proxy.prototype);
  function Companion_6() {
    Companion_instance_6 = this;
  }
  Companion_6.prototype.n5n = function (jailRoot) {
    return (new JailVfs(jailRoot, Unit_getInstance())).a5k();
  };
  Companion_6.$metadata$ = objectMeta('Companion');
  var Companion_instance_6;
  function Companion_getInstance_11() {
    if (Companion_instance_6 == null)
      new Companion_6();
    return Companion_instance_6;
  }
  function JailVfs(jailRoot, dummy) {
    Companion_getInstance_11();
    Proxy.call(this);
    this.n5r_1 = jailRoot;
    this.o5r_1 = normalize(this.n5r_1.z5f());
  }
  JailVfs.prototype.y5g = function (path, $cont) {
    return this.n5r_1.c19(trim(normalize(get_pathInfo(path)), charArrayOf([_Char___init__impl__6a9atx(47)])));
  };
  JailVfs.prototype.y5j = function () {
    return this.n5r_1.y5j();
  };
  JailVfs.prototype.toString = function () {
    return 'JailVfs(' + this.n5r_1 + ')';
  };
  JailVfs.$metadata$ = classMeta('JailVfs', undefined, undefined, undefined, undefined, Proxy.prototype);
  var resourcesVfsDebug;
  function get_rootLocalVfs() {
    return get_standardVfs().p5r();
  }
  function StandardVfs() {
  }
  StandardVfs.prototype.q5r = function () {
    throw NotImplementedError_init_$Create$(null, 1, null);
  };
  StandardVfs.prototype.p5r = function () {
    throw NotImplementedError_init_$Create$(null, 1, null);
  };
  StandardVfs.$metadata$ = classMeta('StandardVfs');
  function Companion_7() {
    Companion_instance_7 = this;
  }
  Companion_7.$metadata$ = objectMeta('Companion');
  var Companion_instance_7;
  function Companion_getInstance_12() {
    if (Companion_instance_7 == null)
      new Companion_7();
    return Companion_instance_7;
  }
  function LocalVfs() {
    Companion_getInstance_12();
    Vfs.call(this);
  }
  LocalVfs.prototype.toString = function () {
    return 'LocalVfs';
  };
  LocalVfs.$metadata$ = classMeta('LocalVfs', undefined, undefined, undefined, undefined, Vfs.prototype);
  function get_resourcesVfs() {
    return get_standardVfs().q5r();
  }
  function get_localCurrentDirVfs() {
    return get_applicationVfs();
  }
  function Mountable() {
  }
  Mountable.$metadata$ = interfaceMeta('Mountable');
  function MountableVfs(closeMounts, callback, $cont) {
    var tmp = new $MountableVfsCOROUTINE$113(closeMounts, callback, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  }
  function MountableVfs$default(closeMounts, callback, $cont, $mask0, $handler) {
    if (!(($mask0 & 1) === 0))
      closeMounts = false;
    return MountableVfs(closeMounts, callback, $cont);
  }
  function unmountInternal($this, folder) {
    removeAll($this.f5s_1, MountableVfs$unmountInternal$lambda(folder));
  }
  function resort($this) {
    // Inline function 'kotlin.collections.sortByDescending' call
    var tmp0_sortByDescending = $this.f5s_1;
    if (tmp0_sortByDescending.i() > 1) {
      var tmp$ret$0;
      // Inline function 'kotlin.comparisons.compareByDescending' call
      var tmp = MountableVfs$resort$lambda;
      tmp$ret$0 = new sam$kotlin_Comparator$0(tmp);
      sortWith(tmp0_sortByDescending, tmp$ret$0);
    }
  }
  function sam$kotlin_Comparator$0(function_0) {
    this.g5s_1 = function_0;
  }
  sam$kotlin_Comparator$0.prototype.b1 = function (a, b) {
    return this.g5s_1(a, b);
  };
  sam$kotlin_Comparator$0.prototype.compare = function (a, b) {
    return this.b1(a, b);
  };
  sam$kotlin_Comparator$0.$metadata$ = classMeta('sam$kotlin_Comparator$0', [Comparator]);
  function MountableVfs$unmountInternal$lambda($folder) {
    return function (it) {
      return it.d_1 === normalize(get_pathInfo($folder));
    };
  }
  function MountableVfs$resort$lambda(a, b) {
    var tmp$ret$2;
    // Inline function 'kotlin.comparisons.compareValuesBy' call
    var tmp$ret$0;
    // Inline function 'com.soywiz.korio.file.std.MountableVfs.resort.<anonymous>' call
    tmp$ret$0 = b.d_1.length;
    var tmp = tmp$ret$0;
    var tmp$ret$1;
    // Inline function 'com.soywiz.korio.file.std.MountableVfs.resort.<anonymous>' call
    tmp$ret$1 = a.d_1.length;
    tmp$ret$2 = compareValues(tmp, tmp$ret$1);
    return tmp$ret$2;
  }
  function $closeCOROUTINE$114(_this__u8e3s4, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.p5s_1 = _this__u8e3s4;
  }
  $closeCOROUTINE$114.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 5;
            if (this.p5s_1.e5s_1) {
              var tmp_0 = this;
              tmp_0.q5s_1 = this.p5s_1.f5s_1;
              this.r5s_1 = 0;
              this.o7_1 = 1;
              continue $sm;
            } else {
              this.o7_1 = 4;
              continue $sm;
            }

            break;
          case 1:
            if (!(this.r5s_1 < this.q5s_1.i())) {
              this.o7_1 = 3;
              continue $sm;
            }

            var tmp_1 = this;
            var tmp0 = this.r5s_1;
            this.r5s_1 = tmp0 + 1 | 0;
            tmp_1.s5s_1 = this.q5s_1.m(tmp0);
            this.o7_1 = 2;
            suspendResult = this.s5s_1.e_1.a5h_1.x51(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.o7_1 = 1;
            continue $sm;
          case 3:
            this.o7_1 = 4;
            continue $sm;
          case 4:
            return Unit_getInstance();
          case 5:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 5) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $closeCOROUTINE$114.$metadata$ = classMeta('$closeCOROUTINE$114', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function MountableVfs_0(closeMounts) {
    Proxy.call(this);
    this.e5s_1 = closeMounts;
    this.f5s_1 = ArrayList_init_$Create$_0();
  }
  MountableVfs_0.prototype.x51 = function ($cont) {
    var tmp = new $closeCOROUTINE$114(this, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  MountableVfs_0.prototype.r5r = function (folder, file) {
    var tmp$ret$0;
    // Inline function 'kotlin.apply' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.soywiz.korio.file.std.MountableVfs.mount.<anonymous>' call
    unmountInternal(this, folder);
    var tmp0_this = this;
    // Inline function 'kotlin.collections.plusAssign' call
    var tmp0_plusAssign = tmp0_this.f5s_1;
    var tmp1_plusAssign = to(normalize(get_pathInfo(folder)), file);
    tmp0_plusAssign.c(tmp1_plusAssign);
    resort(this);
    tmp$ret$0 = this;
    return tmp$ret$0;
  };
  MountableVfs_0.prototype.y5g = function (path, $cont) {
    var rpath = normalize(get_pathInfo(path));
    // Inline function 'com.soywiz.kds.iterators.fastForEach' call
    var tmp0_fastForEach = this.f5s_1;
    var n = 0;
    while (n < tmp0_fastForEach.i()) {
      // Inline function 'com.soywiz.korio.file.std.MountableVfs.access.<anonymous>' call
      var tmp0 = n;
      n = tmp0 + 1 | 0;
      var tmp1__anonymous__uwfjfc = tmp0_fastForEach.m(tmp0);
      var base = tmp1__anonymous__uwfjfc.n4();
      var file = tmp1__anonymous__uwfjfc.o4();
      if (startsWith$default(rpath, base, false, 2, null)) {
        var tmp$ret$1;
        // Inline function 'kotlin.text.substring' call
        var tmp0_substring = base.length;
        var tmp$ret$0;
        // Inline function 'kotlin.js.asDynamic' call
        tmp$ret$0 = rpath;
        tmp$ret$1 = tmp$ret$0.substring(tmp0_substring);
        return file.c19(tmp$ret$1);
      }
    }
    throw new FileNotFoundException(path);
  };
  MountableVfs_0.prototype.toString = function () {
    return 'MountableVfs';
  };
  MountableVfs_0.$metadata$ = classMeta('MountableVfs', [Mountable], undefined, undefined, undefined, Proxy.prototype);
  function $MountableVfsCOROUTINE$113(closeMounts, callback, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.a5s_1 = closeMounts;
    this.b5s_1 = callback;
  }
  $MountableVfsCOROUTINE$113.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 2;
            var tmp_0 = this;
            tmp_0.c5s_1 = new MountableVfs_0(this.a5s_1);
            this.o7_1 = 1;
            suspendResult = this.b5s_1(this.c5s_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = this.c5s_1;
            return ARGUMENT.a5k();
          case 2:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 2) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $MountableVfsCOROUTINE$113.$metadata$ = classMeta('$MountableVfsCOROUTINE$113', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function get_defaultUniSchema() {
    init_properties_UniversalVfs_kt_a8qfmq();
    return defaultUniSchema;
  }
  var defaultUniSchema;
  function UniSchemaProviders_init_$Init$(providers, $this) {
    var tmp$ret$2;
    // Inline function 'kotlin.collections.associateBy' call
    var capacity = coerceAtLeast(mapCapacity(providers.length), 16);
    var tmp$ret$1;
    // Inline function 'kotlin.collections.associateByTo' call
    var tmp0_associateByTo = LinkedHashMap_init_$Create$(capacity);
    var indexedObject = providers;
    var inductionVariable = 0;
    var last = indexedObject.length;
    while (inductionVariable < last) {
      var element = indexedObject[inductionVariable];
      inductionVariable = inductionVariable + 1 | 0;
      var tmp$ret$0;
      // Inline function 'com.soywiz.korio.file.std.UniSchemaProviders.<init>.<anonymous>' call
      tmp$ret$0 = element.t5s_1;
      tmp0_associateByTo.a(tmp$ret$0, element);
    }
    tmp$ret$1 = tmp0_associateByTo;
    tmp$ret$2 = tmp$ret$1;
    UniSchemaProviders.call($this, tmp$ret$2);
    return $this;
  }
  function UniSchemaProviders_init_$Create$(providers) {
    return UniSchemaProviders_init_$Init$(providers, Object.create(UniSchemaProviders.prototype));
  }
  function UniSchemaProviders(providers) {
    this.v5s_1 = providers;
  }
  UniSchemaProviders.$metadata$ = classMeta('UniSchemaProviders');
  function UniSchema(name, provider) {
    this.t5s_1 = name;
    this.u5s_1 = provider;
  }
  UniSchema.prototype.t2 = function () {
    return this.t5s_1;
  };
  UniSchema.$metadata$ = classMeta('UniSchema');
  function get_uniVfs(_this__u8e3s4) {
    init_properties_UniversalVfs_kt_a8qfmq();
    var tmp = UniversalVfs_getInstance();
    var tmp_0 = get_defaultUniSchema();
    return tmp.w5s(_this__u8e3s4, tmp_0, null, 4, null);
  }
  function UniversalVfs() {
    UniversalVfs_instance = this;
  }
  UniversalVfs.prototype.x5s = function (uri, providers, base) {
    var tmp;
    if (Companion_getInstance_18().l5t(uri)) {
      var uriUri = Companion_getInstance_18().h51(uri);
      var tmp$ret$0;
      // Inline function 'kotlin.collections.get' call
      var tmp0_get = providers.v5s_1;
      var tmp1_get = uriUri.b5t_1;
      tmp$ret$0 = (isInterface(tmp0_get, Map) ? tmp0_get : THROW_CCE()).q(tmp1_get);
      var builder = tmp$ret$0;
      var tmp_0;
      if (!(builder == null)) {
        tmp_0 = builder.u5s_1(uriUri);
      } else {
        invalidOp("Unsupported scheme '" + uriUri.b5t_1 + "'");
      }
      tmp = tmp_0;
    } else if (!(base == null)) {
      tmp = base.c19(uri);
    } else {
      tmp = get_localCurrentDirVfs().c19(uri);
    }
    return tmp;
  };
  UniversalVfs.prototype.w5s = function (uri, providers, base, $mask0, $handler) {
    if (!(($mask0 & 4) === 0))
      base = null;
    return this.x5s(uri, providers, base);
  };
  UniversalVfs.$metadata$ = objectMeta('UniversalVfs');
  var UniversalVfs_instance;
  function UniversalVfs_getInstance() {
    if (UniversalVfs_instance == null)
      new UniversalVfs();
    return UniversalVfs_instance;
  }
  function defaultUniSchema$lambda(it) {
    init_properties_UniversalVfs_kt_a8qfmq();
    return UrlVfs$default(it, null, false, 6, null);
  }
  function defaultUniSchema$lambda_0(it) {
    init_properties_UniversalVfs_kt_a8qfmq();
    return UrlVfs$default(it, null, false, 6, null);
  }
  function defaultUniSchema$lambda_1(it) {
    init_properties_UniversalVfs_kt_a8qfmq();
    return get_rootLocalVfs().c19(it.e5t_1);
  }
  var properties_initialized_UniversalVfs_kt_xbisau;
  function init_properties_UniversalVfs_kt_a8qfmq() {
    if (properties_initialized_UniversalVfs_kt_xbisau) {
    } else {
      properties_initialized_UniversalVfs_kt_xbisau = true;
      var tmp = new UniSchema('http', defaultUniSchema$lambda);
      var tmp_0 = new UniSchema('https', defaultUniSchema$lambda_0);
      defaultUniSchema = UniSchemaProviders_init_$Create$([tmp, tmp_0, new UniSchema('file', defaultUniSchema$lambda_1)]);
    }
  }
  function UrlVfs(url, client, failFromStatus) {
    return (new UrlVfs_0(url.m5t(false, null, null, null, '', null, null, 0, 207, null).n5t(), Unit_getInstance(), client, failFromStatus)).c19(url.e5t_1);
  }
  function UrlVfs$default(url, client, failFromStatus, $mask0, $handler) {
    if (!(($mask0 & 2) === 0))
      client = createHttpClient();
    if (!(($mask0 & 4) === 0))
      failFromStatus = true;
    return UrlVfs(url, client, failFromStatus);
  }
  function $readCOROUTINE$122(_this__u8e3s4, position, buffer, offset, len, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.w5t_1 = _this__u8e3s4;
    this.x5t_1 = position;
    this.y5t_1 = buffer;
    this.z5t_1 = offset;
    this.a5u_1 = len;
  }
  $readCOROUTINE$122.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 6;
            if (this.a5u_1 === 0)
              return 0;
            this.o7_1 = 1;
            suspendResult = _readRangeBase(this.w5t_1.g5u_1, this.w5t_1.h5u_1, until_0(this.x5t_1, this.x5t_1.v8(toLong(this.a5u_1))), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.b5u_1 = suspendResult;
            this.c5u_1 = this.b5u_1.n5u_1;
            this.d5u_1 = this.z5t_1;
            this.e5u_1 = this.a5u_1;
            this.f5u_1 = 0;
            this.o7_1 = 2;
            continue $sm;
          case 2:
            if (!(this.e5u_1 > 0)) {
              this.o7_1 = 5;
              continue $sm;
            }

            this.o7_1 = 3;
            suspendResult = this.c5u_1.c5d(this.y5t_1, this.d5u_1, this.e5u_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            var read = suspendResult;
            if (read < 0 ? this.f5u_1 === 0 : false)
              return read;
            if (read <= 0) {
              this.o7_1 = 5;
              continue $sm;
            } else {
              this.o7_1 = 4;
              continue $sm;
            }

            break;
          case 4:
            this.e5u_1 = this.e5u_1 - read | 0;
            this.f5u_1 = this.f5u_1 + read | 0;
            this.d5u_1 = this.d5u_1 + read | 0;
            this.o7_1 = 2;
            continue $sm;
          case 5:
            return this.f5u_1;
          case 6:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 6) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $readCOROUTINE$122.$metadata$ = classMeta('$readCOROUTINE$122', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $getLengthCOROUTINE$123(_this__u8e3s4, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.y5u_1 = _this__u8e3s4;
  }
  $getLengthCOROUTINE$123.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 3;
            this.o7_1 = 1;
            suspendResult = this.y5u_1.o5c(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            if (suspendResult) {
              this.z5u_1 = this.y5u_1.i5u_1.h5j_1;
              this.o7_1 = 2;
              continue $sm;
            } else {
              var tmp_0 = this;
              unsupported$default(null, 1, null);
            }

            break;
          case 2:
            return this.z5u_1;
          case 3:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 3) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $getLengthCOROUTINE$123.$metadata$ = classMeta('$getLengthCOROUTINE$123', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function _readRangeBase($this, fullUrl, range, $cont) {
    var tmp = new $_readRangeBaseCOROUTINE$118($this, fullUrl, range, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  }
  function UrlVfs$open$2(this$0, $fullUrl, $stat) {
    this.g5u_1 = this$0;
    this.h5u_1 = $fullUrl;
    this.i5u_1 = $stat;
    AsyncStreamBase.call(this);
  }
  UrlVfs$open$2.prototype.q5o = function (position, buffer, offset, len, $cont) {
    var tmp = new $readCOROUTINE$122(this, position, buffer, offset, len, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  UrlVfs$open$2.prototype.o5c = function ($cont) {
    return this.i5u_1.h5j_1.x1(new Long(0, 0)) >= 0;
  };
  UrlVfs$open$2.prototype.p5c = function ($cont) {
    var tmp = new $getLengthCOROUTINE$123(this, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  UrlVfs$open$2.$metadata$ = classMeta(undefined, undefined, undefined, undefined, undefined, AsyncStreamBase.prototype);
  function $openCOROUTINE$116(_this__u8e3s4, path, mode, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.u5v_1 = _this__u8e3s4;
    this.v5v_1 = path;
    this.w5v_1 = mode;
  }
  $openCOROUTINE$116.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 6;
            this.p7_1 = 5;
            this.x5v_1 = this.u5v_1.f5w(this.v5v_1);
            if (startsWith$default(this.x5v_1, 'file:', false, 2, null)) {
              this.o7_1 = 4;
              suspendResult = this.u5v_1.c5w_1.h5w(this.x5v_1, null, this, 2, null);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.o7_1 = 1;
              continue $sm;
            }

            break;
          case 1:
            var tmp_0 = this;
            var tmp0_safe_receiver = this.p5().i8(Companion_getInstance_10());
            tmp_0.y5v_1 = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.x5l_1;
            if (this.y5v_1 == null) {
              this.o7_1 = 2;
              suspendResult = this.u5v_1.x5j(this.v5v_1, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.z5v_1 = this.y5v_1;
              this.o7_1 = 3;
              continue $sm;
            }

            break;
          case 2:
            this.z5v_1 = suspendResult;
            this.o7_1 = 3;
            continue $sm;
          case 3:
            var stat = this.z5v_1;
            var tmp_1 = stat.q5j_1;
            var response = tmp_1 instanceof Response ? tmp_1 : null;
            if (!stat.f5j_1) {
              throw new FileNotFoundException('Unexistant ' + this.x5v_1 + ' : ' + response);
            }

            var tmp_2 = new UrlVfs$open$2(this.u5v_1, this.x5v_1, stat);
            var tmp_3 = toAsyncStream$default(tmp_2, new Long(0, 0), 1, null);
            return buffered$default(tmp_3, 0, 0, 3, null);
          case 4:
            var ARGUMENT = suspendResult;
            return openAsync$default(ARGUMENT, null, 1, null);
          case 5:
            this.p7_1 = 6;
            var tmp_4 = this.r7_1;
            if (tmp_4 instanceof RuntimeException) {
              var e = this.r7_1;
              var tmp2_elvis_lhs = e.message;
              throw new FileNotFoundException(tmp2_elvis_lhs == null ? 'error' : tmp2_elvis_lhs);
            } else {
              throw this.r7_1;
            }

            break;
          case 6:
            throw this.r7_1;
          case 7:
            this.p7_1 = 6;
            return Unit_getInstance();
        }
      } catch ($p) {
        if (this.p7_1 === 6) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $openCOROUTINE$116.$metadata$ = classMeta('$openCOROUTINE$116', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $_readRangeBaseCOROUTINE$118(_this__u8e3s4, fullUrl, range, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.i5v_1 = _this__u8e3s4;
    this.j5v_1 = fullUrl;
    this.k5v_1 = range;
  }
  $_readRangeBaseCOROUTINE$118.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 4;
            this.o7_1 = 1;
            var tmp_0 = Companion_getInstance_19().j5w_1;
            var tmp_1 = Headers_init_$Create$_0(this.k5v_1.equals(get_LONG_ZERO_TO_MAX_RANGE()) ? LinkedHashMap_init_$Create$_0() : linkedHashMapOf([to('range', 'bytes=' + toString(this.k5v_1.v()) + '-' + toString(this.k5v_1.w()))]));
            suspendResult = this.i5v_1.c5w_1.t5w(tmp_0, this.j5v_1, tmp_1, null, null, this, 24, null);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.l5v_1 = suspendResult;
            if (this.i5v_1.d5w_1) {
              if (this.l5v_1.j5u_1 === 404)
                throw new FileNotFoundException(this.j5v_1 + ' not found');
              this.o7_1 = 2;
              suspendResult = this.l5v_1.u5w(this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.o7_1 = 3;
              continue $sm;
            }

            break;
          case 2:
            ;
            this.o7_1 = 3;
            continue $sm;
          case 3:
            return this.l5v_1;
          case 4:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 4) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $_readRangeBaseCOROUTINE$118.$metadata$ = classMeta('$_readRangeBaseCOROUTINE$118', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $readRangeCOROUTINE$119(_this__u8e3s4, path, range, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.d5x_1 = _this__u8e3s4;
    this.e5x_1 = path;
    this.f5x_1 = range;
  }
  $readRangeCOROUTINE$119.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 3;
            this.o7_1 = 1;
            suspendResult = _readRangeBase(this.d5x_1, this.d5x_1.f5w(this.e5x_1), this.f5x_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.g5x_1 = suspendResult;
            this.h5x_1 = this.g5x_1.n5u_1;
            this.o7_1 = 2;
            suspendResult = readAll(this.h5x_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            return suspendResult;
          case 3:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 3) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $readRangeCOROUTINE$119.$metadata$ = classMeta('$readRangeCOROUTINE$119', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $statCOROUTINE$121(_this__u8e3s4, path, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.q5x_1 = _this__u8e3s4;
    this.r5x_1 = path;
  }
  $statCOROUTINE$121.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 6;
            this.s5x_1 = this.q5x_1.f5w(this.r5x_1);
            if (startsWith$default(this.s5x_1, 'file:', false, 2, null)) {
              this.p7_1 = 3;
              this.o7_1 = 2;
              suspendResult = this.q5x_1.c5w_1.h5w(this.s5x_1, null, this, 2, null);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.o7_1 = 1;
              var tmp_0 = Companion_getInstance_19().k5w_1;
              suspendResult = this.q5x_1.c5w_1.t5w(tmp_0, this.s5x_1, null, null, null, this, 28, null);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            }

            break;
          case 1:
            var result = suspendResult;
            var tmp_1 = this;
            var tmp_2;
            if (result.o5u_1) {
              var tmp0_safe_receiver = result.l5u_1.c19(Companion_getInstance_21().v5x_1);
              var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : toLongOrNull_0(tmp0_safe_receiver);
              var tmp_3 = tmp1_elvis_lhs == null ? new Long(-1, -1) : tmp1_elvis_lhs;
              var tmp_4 = new Long(0, 0);
              var tmp_5 = new Long(0, 0);
              tmp_2 = this.q5x_1.c5k(this.r5x_1, false, tmp_3, tmp_4, tmp_5, 0, null, null, null, null, null, result, null, false, 14328, null);
            } else {
              tmp_2 = this.q5x_1.e5k(this.r5x_1, result, false, 4, null);
            }

            tmp_1.t5x_1 = tmp_2;
            this.o7_1 = 5;
            continue $sm;
          case 2:
            var ARGUMENT = suspendResult;
            var ARGUMENT_0 = ARGUMENT.length;
            var size = toLong(ARGUMENT_0);
            var tmp_6 = this;
            var tmp_7 = new Long(0, 0);
            var tmp_8 = new Long(0, 0);
            tmp_6.u5x_1 = this.q5x_1.c5k(this.r5x_1, false, size, tmp_7, tmp_8, 0, null, null, null, null, null, null, null, false, 14328, null);
            this.p7_1 = 6;
            this.o7_1 = 4;
            continue $sm;
          case 3:
            this.p7_1 = 6;
            var tmp_9 = this.r7_1;
            if (tmp_9 instanceof Error) {
              var e = this.r7_1;
              var tmp_10 = this;
              printStackTrace(e);
              tmp_10.u5x_1 = this.q5x_1.e5k(this.r5x_1, null, false, 6, null);
              this.o7_1 = 4;
              continue $sm;
            } else {
              throw this.r7_1;
            }

            break;
          case 4:
            this.p7_1 = 6;
            this.t5x_1 = this.u5x_1;
            this.o7_1 = 5;
            continue $sm;
          case 5:
            return this.t5x_1;
          case 6:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 6) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $statCOROUTINE$121.$metadata$ = classMeta('$statCOROUTINE$121', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function UrlVfs_0(url, dummy, client, failFromStatus) {
    Vfs.call(this);
    this.a5w_1 = url;
    this.b5w_1 = dummy;
    this.c5w_1 = client;
    this.d5w_1 = failFromStatus;
    this.e5w_1 = this.a5w_1;
  }
  UrlVfs_0.prototype.y5j = function () {
    return this.e5w_1;
  };
  UrlVfs_0.prototype.f5w = function (path) {
    var result = trim(this.a5w_1, charArrayOf([_Char___init__impl__6a9atx(47)])) + new Char(_Char___init__impl__6a9atx(47)) + trim(path, charArrayOf([_Char___init__impl__6a9atx(47)]));
    return result;
  };
  UrlVfs_0.prototype.v5j = function (path, mode, $cont) {
    var tmp = new $openCOROUTINE$116(this, path, mode, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  UrlVfs_0.prototype.w5j = function (path, range, $cont) {
    var tmp = new $readRangeCOROUTINE$119(this, path, range, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  UrlVfs_0.prototype.x5j = function (path, $cont) {
    var tmp = new $statCOROUTINE$121(this, path, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  UrlVfs_0.prototype.toString = function () {
    return 'UrlVfs';
  };
  UrlVfs_0.$metadata$ = classMeta('UrlVfs', undefined, undefined, undefined, undefined, Vfs.prototype);
  function UrlVfs_1(url, client, failFromStatus) {
    return UrlVfs(Companion_getInstance_18().h51(url), client, failFromStatus);
  }
  function UrlVfs$default_0(url, client, failFromStatus, $mask0, $handler) {
    if (!(($mask0 & 2) === 0))
      client = createHttpClient();
    if (!(($mask0 & 4) === 0))
      failFromStatus = true;
    return UrlVfs_1(url, client, failFromStatus);
  }
  var bytesTempPool$delegate;
  function get_smallBytesPool() {
    init_properties_TempBytes_kt_59ffxf();
    var tmp$ret$0;
    // Inline function 'com.soywiz.korio.lang.threadLocal.getValue' call
    var tmp0_getValue = smallBytesPool$factory();
    tmp$ret$0 = smallBytesPool$delegate.z5x_1.x21();
    return tmp$ret$0;
  }
  var smallBytesPool$delegate;
  function bytesTempPool$delegate$lambda() {
    init_properties_TempBytes_kt_59ffxf();
    return Pool_init_$Create$(1, bytesTempPool$delegate$lambda$lambda);
  }
  function bytesTempPool$delegate$lambda$lambda(it) {
    init_properties_TempBytes_kt_59ffxf();
    return new Int8Array(65536);
  }
  function smallBytesPool$delegate$lambda() {
    init_properties_TempBytes_kt_59ffxf();
    return Pool_init_$Create$(16, smallBytesPool$delegate$lambda$lambda);
  }
  function smallBytesPool$delegate$lambda$lambda(it) {
    init_properties_TempBytes_kt_59ffxf();
    return new Int8Array(16);
  }
  function smallBytesPool$factory() {
    return getPropertyCallableRef('smallBytesPool', 0, KProperty0, function () {
      return get_smallBytesPool();
    }, null);
  }
  var properties_initialized_TempBytes_kt_bjneux;
  function init_properties_TempBytes_kt_59ffxf() {
    if (properties_initialized_TempBytes_kt_bjneux) {
    } else {
      properties_initialized_TempBytes_kt_bjneux = true;
      bytesTempPool$delegate = new threadLocal(bytesTempPool$delegate$lambda);
      smallBytesPool$delegate = new threadLocal(smallBytesPool$delegate$lambda);
    }
  }
  function assert(cond) {
    if (!cond)
      throw AssertionError_init_$Create$();
  }
  var CHARSET_PROVIDERS;
  var CHARSET_PROVIDERS_LOCK;
  function get_LATIN1() {
    init_properties_Charset_kt_9saaoo();
    return LATIN1;
  }
  var LATIN1;
  var UTF16_LE;
  function get_UTF16_BE() {
    init_properties_Charset_kt_9saaoo();
    return UTF16_BE;
  }
  var UTF16_BE;
  function ISO_8859_1() {
    ISO_8859_1_instance = this;
    var tmp$ret$1;
    // Inline function 'kotlin.text.buildString' call
    // Inline function 'kotlin.contracts.contract' call
    var tmp$ret$0;
    // Inline function 'kotlin.apply' call
    var tmp0_apply = StringBuilder_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.soywiz.korio.lang.ISO_8859_1.<init>.<anonymous>' call
    var inductionVariable = 0;
    if (inductionVariable < 256)
      do {
        var n = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        tmp0_apply.g2(numberToChar(n));
      }
       while (inductionVariable < 256);
    tmp$ret$0 = tmp0_apply;
    tmp$ret$1 = tmp$ret$0.toString();
    SingleByteCharset.call(this, 'ISO-8859-1', tmp$ret$1);
  }
  ISO_8859_1.$metadata$ = objectMeta('ISO_8859_1', undefined, undefined, undefined, undefined, SingleByteCharset.prototype);
  var ISO_8859_1_instance;
  function ISO_8859_1_getInstance() {
    if (ISO_8859_1_instance == null)
      new ISO_8859_1();
    return ISO_8859_1_instance;
  }
  function UTF16Charset(le) {
    Charset.call(this, 'UTF-16-' + (le ? 'LE' : 'BE'));
    this.j5y_1 = le;
  }
  UTF16Charset.prototype.h5y = function (nbytes) {
    return imul(nbytes, 2);
  };
  UTF16Charset.prototype.f5y = function (out, src, start, end) {
    var progression = step(until(start, end), 2);
    var inductionVariable = progression.r1_1;
    var last = progression.s1_1;
    var step_0 = progression.t1_1;
    if ((step_0 > 0 ? inductionVariable <= last : false) ? true : step_0 < 0 ? last <= inductionVariable : false)
      do {
        var n = inductionVariable;
        inductionVariable = inductionVariable + step_0 | 0;
        var char = numberToChar(readS16(src, n, this.j5y_1));
        out.g2(char);
      }
       while (!(n === last));
  };
  UTF16Charset.$metadata$ = classMeta('UTF16Charset', undefined, undefined, undefined, undefined, Charset.prototype);
  function Companion_8() {
    Companion_instance_8 = this;
  }
  Companion_8.prototype.k5y = function (_this__u8e3s4, codePoint) {
    if ((55296 <= codePoint ? codePoint <= 57343 : false) ? true : codePoint > 65535) {
      var U0 = codePoint - 65536 | 0;
      var hs = extract(U0, 10, 10);
      var ls = extract(U0, 0, 10);
      _this__u8e3s4.g2(numberToChar(55296 | hs));
      _this__u8e3s4.g2(numberToChar(56320 | ls));
    } else {
      _this__u8e3s4.g2(numberToChar(codePoint));
    }
  };
  Companion_8.$metadata$ = objectMeta('Companion');
  var Companion_instance_8;
  function Companion_getInstance_13() {
    if (Companion_instance_8 == null)
      new Companion_8();
    return Companion_instance_8;
  }
  function Charset(name) {
    Companion_getInstance_13();
    this.l5y_1 = name;
  }
  Charset.prototype.h5y = function (nbytes) {
    return imul(nbytes, 2);
  };
  Charset.$metadata$ = classMeta('Charset');
  function SingleByteCharset(name, conv) {
    BaseSingleByteCharset.call(this, name);
    this.c5y_1 = conv;
    var tmp = this;
    var tmp$ret$1;
    // Inline function 'kotlin.apply' call
    var tmp0_apply = IntIntMap_init_$Create$(0, 0.0, 3, null);
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.soywiz.korio.lang.SingleByteCharset.v.<anonymous>' call
    var inductionVariable = 0;
    var last = this.c5y_1.length;
    if (inductionVariable < last)
      do {
        var n = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var tmp$ret$0;
        // Inline function 'kotlin.code' call
        var tmp0__get_code__88qj9g = charSequenceGet(this.c5y_1, n);
        tmp$ret$0 = Char__toInt_impl_vasixd(tmp0__get_code__88qj9g);
        tmp0_apply.e4s(tmp$ret$0, n);
      }
       while (inductionVariable < last);
    tmp$ret$1 = tmp0_apply;
    tmp.d5y_1 = tmp$ret$1;
  }
  SingleByteCharset.prototype.e5y = function () {
    return this.c5y_1;
  };
  SingleByteCharset.prototype.f5y = function (out, src, start, end) {
    var inductionVariable = start;
    if (inductionVariable < end)
      do {
        var n = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        out.g2(charSequenceGet(this.c5y_1, src[n] & 255));
      }
       while (inductionVariable < end);
  };
  SingleByteCharset.$metadata$ = classMeta('SingleByteCharset', undefined, undefined, undefined, undefined, BaseSingleByteCharset.prototype);
  function BaseSingleByteCharset(name) {
    Charset.call(this, name);
  }
  BaseSingleByteCharset.prototype.h5y = function (nbytes) {
    return nbytes;
  };
  BaseSingleByteCharset.$metadata$ = classMeta('BaseSingleByteCharset', undefined, undefined, undefined, undefined, Charset.prototype);
  function toString_2(_this__u8e3s4, charset, start, end) {
    init_properties_Charset_kt_9saaoo();
    var out = StringBuilder_init_$Create$_0(charset.h5y(end - start | 0));
    charset.f5y(out, _this__u8e3s4, start, end);
    return out.toString();
  }
  function toString$default(_this__u8e3s4, charset, start, end, $mask0, $handler) {
    if (!(($mask0 & 2) === 0))
      start = 0;
    if (!(($mask0 & 4) === 0))
      end = _this__u8e3s4.length;
    return toString_2(_this__u8e3s4, charset, start, end);
  }
  function UTC8CharsetBase(name) {
    Charset.call(this, name);
  }
  UTC8CharsetBase.prototype.h5y = function (nbytes) {
    return imul(nbytes, 2);
  };
  UTC8CharsetBase.prototype.f5y = function (out, src, start, end) {
    if ((start < 0 ? true : start > src.length) ? true : end < 0 ? true : end > src.length) {
      // Inline function 'kotlin.error' call
      throw IllegalStateException_init_$Create$('Out of bounds');
    }
    var i = start;
    while (i < end) {
      var c = src[i] & 255;
      var tmp0_subject = c >> 4;
      if (0 <= tmp0_subject ? tmp0_subject <= 7 : false) {
        Companion_getInstance_13().k5y(out, c);
        i = i + 1 | 0;
      } else if (12 <= tmp0_subject ? tmp0_subject <= 13 : false) {
        Companion_getInstance_13().k5y(out, (c & 31) << 6 | src[i + 1 | 0] & 63);
        i = i + 2 | 0;
      } else if (tmp0_subject === 14) {
        Companion_getInstance_13().k5y(out, (c & 15) << 12 | (src[i + 1 | 0] & 63) << 6 | src[i + 2 | 0] & 63);
        i = i + 3 | 0;
      } else if (tmp0_subject === 15) {
        Companion_getInstance_13().k5y(out, insert(insert(insert(insert(0, extract(src[i + 0 | 0], 0, 3), 18, 3), extract(src[i + 1 | 0], 0, 6), 12, 6), extract(src[i + 2 | 0], 0, 6), 6, 6), extract(src[i + 3 | 0], 0, 6), 0, 6));
        i = i + 4 | 0;
      } else {
        out.g2(_Char___init__impl__6a9atx(65533));
        i = i + 1 | 0;
      }
    }
  };
  UTC8CharsetBase.$metadata$ = classMeta('UTC8CharsetBase', undefined, undefined, undefined, undefined, Charset.prototype);
  function ASCII() {
    ASCII_instance = this;
    var tmp = 0;
    var tmp_0 = 128;
    var tmp_1 = charArray(tmp_0);
    while (tmp < tmp_0) {
      var tmp_2 = tmp;
      var tmp$ret$0;
      // Inline function 'com.soywiz.korio.lang.ASCII.<init>.<anonymous>' call
      tmp$ret$0 = numberToChar(tmp_2);
      tmp_1[tmp_2] = tmp$ret$0;
      tmp = tmp + 1 | 0;
    }
    SingleByteCharset.call(this, 'ASCII', concatToString(tmp_1) + '\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u0131\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0');
  }
  ASCII.$metadata$ = objectMeta('ASCII', undefined, undefined, undefined, undefined, SingleByteCharset.prototype);
  var ASCII_instance;
  function ASCII_getInstance() {
    if (ASCII_instance == null)
      new ASCII();
    return ASCII_instance;
  }
  function Charsets() {
    Charsets_instance = this;
  }
  Charsets.prototype.n5y = function () {
    return get_LATIN1();
  };
  Charsets.$metadata$ = objectMeta('Charsets');
  var Charsets_instance;
  function Charsets_getInstance() {
    if (Charsets_instance == null)
      new Charsets();
    return Charsets_instance;
  }
  var properties_initialized_Charset_kt_dajgec;
  function init_properties_Charset_kt_9saaoo() {
    if (properties_initialized_Charset_kt_dajgec) {
    } else {
      properties_initialized_Charset_kt_dajgec = true;
      var tmp$ret$0;
      // Inline function 'kotlin.collections.arrayListOf' call
      tmp$ret$0 = ArrayList_init_$Create$_0();
      CHARSET_PROVIDERS = tmp$ret$0;
      CHARSET_PROVIDERS_LOCK = new NonRecursiveLock();
      LATIN1 = ISO_8859_1_getInstance();
      UTF16_LE = new UTF16Charset(true);
      UTF16_BE = new UTF16Charset(false);
    }
  }
  function Closeable$Companion$invoke$1($callback) {
    this.o5y_1 = $callback;
  }
  Closeable$Companion$invoke$1.prototype.x2c = function () {
    return this.o5y_1();
  };
  Closeable$Companion$invoke$1.$metadata$ = classMeta(undefined, [Closeable]);
  function Companion_9() {
    Companion_instance_9 = this;
  }
  Companion_9.prototype.p5y = function (callback) {
    return new Closeable$Companion$invoke$1(callback);
  };
  Companion_9.$metadata$ = objectMeta('Companion');
  var Companion_instance_9;
  function Companion_getInstance_14() {
    if (Companion_instance_9 == null)
      new Companion_9();
    return Companion_instance_9;
  }
  function Closeable() {
  }
  Closeable.$metadata$ = interfaceMeta('Closeable');
  function OptionalCloseable() {
  }
  OptionalCloseable.$metadata$ = interfaceMeta('OptionalCloseable', [Closeable]);
  function Disposable$Companion$invoke$1($callback) {
    this.q5y_1 = $callback;
  }
  Disposable$Companion$invoke$1.$metadata$ = classMeta(undefined, [Disposable]);
  function Companion_10() {
    Companion_instance_10 = this;
  }
  Companion_10.prototype.p5y = function (callback) {
    return new Disposable$Companion$invoke$1(callback);
  };
  Companion_10.$metadata$ = objectMeta('Companion');
  var Companion_instance_10;
  function Companion_getInstance_15() {
    if (Companion_instance_10 == null)
      new Companion_10();
    return Companion_instance_10;
  }
  function Disposable() {
  }
  Disposable.$metadata$ = interfaceMeta('Disposable');
  function Cancellable() {
  }
  Cancellable.$metadata$ = interfaceMeta('Cancellable');
  function cancel(_this__u8e3s4) {
    return _this__u8e3s4.r5y(CancellationException_init_$Create$(''));
  }
  function CloseableCancellable() {
  }
  CloseableCancellable.$metadata$ = interfaceMeta('CloseableCancellable', [Closeable, Cancellable]);
  function CloseableCancellable_0(callback) {
    return new CloseableCancellable$1(callback);
  }
  function cancellable(_this__u8e3s4) {
    var tmp = cancellable$lambda(_this__u8e3s4);
    return new sam$com_soywiz_korio_lang_Cancellable$0(tmp);
  }
  function cancel_0(_this__u8e3s4, e) {
    var tmp$ret$0;
    // Inline function 'kotlin.run' call
    // Inline function 'kotlin.contracts.contract' call
    var tmp0_iterator = _this__u8e3s4.j();
    while (tmp0_iterator.k()) {
      var c = tmp0_iterator.l();
      c.r5y(e);
    }
    tmp$ret$0 = Unit_getInstance();
    return tmp$ret$0;
  }
  function sam$com_soywiz_korio_lang_Cancellable$0(function_0) {
    this.s5y_1 = function_0;
  }
  sam$com_soywiz_korio_lang_Cancellable$0.prototype.r5y = function (e) {
    return this.s5y_1(e);
  };
  sam$com_soywiz_korio_lang_Cancellable$0.$metadata$ = classMeta('sam$com_soywiz_korio_lang_Cancellable$0', [Cancellable]);
  function CloseableCancellable$1($callback) {
    this.t5y_1 = $callback;
  }
  CloseableCancellable$1.prototype.x2c = function () {
    return this.t5y_1(null);
  };
  CloseableCancellable$1.prototype.r5y = function (e) {
    return this.t5y_1(e);
  };
  CloseableCancellable$1.$metadata$ = classMeta(undefined, [CloseableCancellable]);
  function cancellable$lambda($this_cancellable) {
    return function (it) {
      $this_cancellable.x2c();
      return Unit_getInstance();
    };
  }
  function EnumLike() {
  }
  EnumLike.$metadata$ = interfaceMeta('EnumLike');
  var customEnvironments;
  function Companion_11() {
    Companion_instance_11 = this;
  }
  Companion_11.prototype.c19 = function (key) {
    var tmp0_safe_receiver = customEnvironments;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.q(key);
    return tmp1_elvis_lhs == null ? EnvironmentInternal_getInstance().c19(key) : tmp1_elvis_lhs;
  };
  Companion_11.$metadata$ = objectMeta('Companion', [Environment]);
  var Companion_instance_11;
  function Companion_getInstance_16() {
    if (Companion_instance_11 == null)
      new Companion_11();
    return Companion_instance_11;
  }
  function Environment() {
  }
  Environment.$metadata$ = interfaceMeta('Environment');
  function unsupported(msg) {
    throw UnsupportedOperationException_init_$Create$(msg);
  }
  function unsupported$default(msg, $mask0, $handler) {
    if (!(($mask0 & 1) === 0))
      msg = 'unsupported';
    return unsupported(msg);
  }
  function invalidOp(msg) {
    throw new InvalidOperationException(msg);
  }
  function InvalidOperationException_init_$Init$(str, $mask0, $marker, $this) {
    if (!(($mask0 & 1) === 0))
      str = 'Invalid Operation';
    InvalidOperationException.call($this, str);
    return $this;
  }
  function InvalidOperationException_init_$Create$(str, $mask0, $marker) {
    var tmp = InvalidOperationException_init_$Init$(str, $mask0, $marker, Object.create(InvalidOperationException.prototype));
    captureStack(tmp, InvalidOperationException_init_$Create$);
    return tmp;
  }
  function InvalidOperationException(str) {
    Exception_init_$Init$(str, this);
    captureStack(this, InvalidOperationException);
  }
  InvalidOperationException.$metadata$ = classMeta('InvalidOperationException', undefined, undefined, undefined, undefined, Exception.prototype);
  function FileAlreadyExistsException(msg) {
    IOException.call(this, msg);
    captureStack(this, FileAlreadyExistsException);
  }
  FileAlreadyExistsException.$metadata$ = classMeta('FileAlreadyExistsException', undefined, undefined, undefined, undefined, IOException.prototype);
  function runIgnoringExceptions(show, action) {
    var tmp;
    try {
      tmp = action();
    } catch ($p) {
      var tmp_0;
      if ($p instanceof Error) {
        if (show) {
          printStackTrace($p);
        }
        tmp_0 = null;
      } else {
        throw $p;
      }
      tmp = tmp_0;
    }
    return tmp;
  }
  function get_invalidOp() {
    throw InvalidOperationException_init_$Create$(null, 1, null);
  }
  function reserved(msg) {
    throw new ReservedException(msg);
  }
  function get_reserved() {
    throw ReservedException_init_$Create$(null, 1, null);
  }
  function get_unreachable() {
    throw UnreachableException_init_$Create$(null, 1, null);
  }
  function ReservedException_init_$Init$(str, $mask0, $marker, $this) {
    if (!(($mask0 & 1) === 0))
      str = 'Reserved';
    ReservedException.call($this, str);
    return $this;
  }
  function ReservedException_init_$Create$(str, $mask0, $marker) {
    var tmp = ReservedException_init_$Init$(str, $mask0, $marker, Object.create(ReservedException.prototype));
    captureStack(tmp, ReservedException_init_$Create$);
    return tmp;
  }
  function ReservedException(str) {
    Exception_init_$Init$(str, this);
    captureStack(this, ReservedException);
  }
  ReservedException.$metadata$ = classMeta('ReservedException', undefined, undefined, undefined, undefined, Exception.prototype);
  function UnreachableException_init_$Init$(str, $mask0, $marker, $this) {
    if (!(($mask0 & 1) === 0))
      str = 'Unreachable';
    UnreachableException.call($this, str);
    return $this;
  }
  function UnreachableException_init_$Create$(str, $mask0, $marker) {
    var tmp = UnreachableException_init_$Init$(str, $mask0, $marker, Object.create(UnreachableException.prototype));
    captureStack(tmp, UnreachableException_init_$Create$);
    return tmp;
  }
  function UnreachableException(str) {
    Exception_init_$Init$(str, this);
    captureStack(this, UnreachableException);
  }
  UnreachableException.$metadata$ = classMeta('UnreachableException', undefined, undefined, undefined, undefined, Exception.prototype);
  function unexpected(msg) {
    throw new UnexpectedException(msg);
  }
  function UnexpectedException(str) {
    Exception_init_$Init$(str, this);
    captureStack(this, UnexpectedException);
  }
  UnexpectedException.$metadata$ = classMeta('UnexpectedException', undefined, undefined, undefined, undefined, Exception.prototype);
  function printStackTrace_0(msg) {
    Console_getInstance().r50([currentStackTrace(msg)]);
  }
  function printStackTrace$default(msg, $mask0, $handler) {
    if (!(($mask0 & 1) === 0))
      msg = 'printStackTrace';
    return printStackTrace_0(msg);
  }
  function currentStackTrace(msg) {
    return stackTraceToString(Exception_init_$Create$(msg));
  }
  var formatRegex;
  var replaceNonPrintableCharactersRegex$delegate;
  function substr(_this__u8e3s4, start, length) {
    init_properties_StringExt_kt_bk6bac();
    var low = clamp(start >= 0 ? start : _this__u8e3s4.length + start | 0, 0, _this__u8e3s4.length);
    var high = clamp(length >= 0 ? low + length | 0 : _this__u8e3s4.length + length | 0, 0, _this__u8e3s4.length);
    var tmp;
    if (high >= low) {
      var tmp$ret$1;
      // Inline function 'kotlin.text.substring' call
      var tmp$ret$0;
      // Inline function 'kotlin.js.asDynamic' call
      tmp$ret$0 = _this__u8e3s4;
      tmp$ret$1 = tmp$ret$0.substring(low, high);
      tmp = tmp$ret$1;
    } else {
      tmp = '';
    }
    return tmp;
  }
  function substringEquals(_this__u8e3s4, a, aIndex, b, bIndex, count) {
    init_properties_StringExt_kt_bk6bac();
    if (count === 0)
      return true;
    if (aIndex < 0 ? true : bIndex < 0)
      return false;
    if ((aIndex + count | 0) > a.length)
      return false;
    if ((bIndex + count | 0) > b.length)
      return false;
    var inductionVariable = 0;
    if (inductionVariable < count)
      do {
        var n = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        if (!equals(new Char(charSequenceGet(a, aIndex + n | 0)), new Char(charSequenceGet(b, bIndex + n | 0))))
          return false;
      }
       while (inductionVariable < count);
    return true;
  }
  function String_fromCharArray(arrays, offset, size) {
    init_properties_StringExt_kt_bk6bac();
    return concatToString_0(arrays, offset, offset + size | 0);
  }
  function substr_0(_this__u8e3s4, start) {
    init_properties_StringExt_kt_bk6bac();
    return substr(_this__u8e3s4, start, _this__u8e3s4.length);
  }
  function lastIndexOfOrNull(_this__u8e3s4, char, startIndex) {
    init_properties_StringExt_kt_bk6bac();
    var tmp$ret$1;
    // Inline function 'kotlin.takeIf' call
    var tmp0_takeIf = lastIndexOf$default(_this__u8e3s4, char, startIndex, false, 4, null);
    // Inline function 'kotlin.contracts.contract' call
    var tmp;
    var tmp$ret$0;
    // Inline function 'com.soywiz.korio.lang.lastIndexOfOrNull.<anonymous>' call
    tmp$ret$0 = tmp0_takeIf >= 0;
    if (tmp$ret$0) {
      tmp = tmp0_takeIf;
    } else {
      tmp = null;
    }
    tmp$ret$1 = tmp;
    return tmp$ret$1;
  }
  function lastIndexOfOrNull$default(_this__u8e3s4, char, startIndex, $mask0, $handler) {
    if (!(($mask0 & 2) === 0))
      startIndex = get_lastIndex(_this__u8e3s4);
    return lastIndexOfOrNull(_this__u8e3s4, char, startIndex);
  }
  function withInsertion(_this__u8e3s4, index, insertedText) {
    init_properties_StringExt_kt_bk6bac();
    var before = substr(_this__u8e3s4, 0, index);
    var after = substr(_this__u8e3s4, index, _this__u8e3s4.length);
    return before + insertedText + after;
  }
  function withoutRange(_this__u8e3s4, range) {
    init_properties_StringExt_kt_bk6bac();
    return substr(_this__u8e3s4, 0, range.r1_1) + substr_0(_this__u8e3s4, range.s1_1 + 1 | 0);
  }
  function withoutIndex(_this__u8e3s4, index) {
    init_properties_StringExt_kt_bk6bac();
    return substr(_this__u8e3s4, 0, index) + substr_0(_this__u8e3s4, index + 1 | 0);
  }
  function eachBuilder(_this__u8e3s4, transform) {
    init_properties_StringExt_kt_bk6bac();
    var tmp$ret$1;
    // Inline function 'kotlin.text.buildString' call
    // Inline function 'kotlin.contracts.contract' call
    var tmp$ret$0;
    // Inline function 'kotlin.apply' call
    var tmp0_apply = StringBuilder_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.soywiz.korio.lang.eachBuilder.<anonymous>' call
    var inductionVariable = 0;
    var last = _this__u8e3s4.length;
    if (inductionVariable < last)
      do {
        var n = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        transform(tmp0_apply, new Char(charSequenceGet(_this__u8e3s4, n)));
      }
       while (inductionVariable < last);
    tmp$ret$0 = tmp0_apply;
    tmp$ret$1 = tmp$ret$0.toString();
    return tmp$ret$1;
  }
  function replaceNonPrintableCharactersRegex$delegate$lambda() {
    init_properties_StringExt_kt_bk6bac();
    return Regex_init_$Create$('[^ -~]');
  }
  var properties_initialized_StringExt_kt_sd962o;
  function init_properties_StringExt_kt_bk6bac() {
    if (properties_initialized_StringExt_kt_sd962o) {
    } else {
      properties_initialized_StringExt_kt_sd962o = true;
      formatRegex = Regex_init_$Create$('%([-]?\\d+)?(\\w)');
      replaceNonPrintableCharactersRegex$delegate = lazy(replaceNonPrintableCharactersRegex$delegate$lambda);
    }
  }
  function threadLocal$local$1(this$0) {
    this.v5y_1 = this$0;
    NativeThreadLocal.call(this);
  }
  threadLocal$local$1.prototype.w5y = function () {
    return this.v5y_1.y5x_1();
  };
  threadLocal$local$1.$metadata$ = classMeta(undefined, undefined, undefined, undefined, undefined, NativeThreadLocal.prototype);
  function threadLocal(gen) {
    this.y5x_1 = gen;
    var tmp = this;
    tmp.z5x_1 = new threadLocal$local$1(this);
  }
  threadLocal.prototype.d9 = function (thisRef, property) {
    return this.z5x_1.x21();
  };
  threadLocal.$metadata$ = classMeta('threadLocal');
  function WStringReader_init_$Init$(str, position, $mask0, $marker, $this) {
    if (!(($mask0 & 2) === 0))
      position = 0;
    WStringReader.call($this, str, position);
    return $this;
  }
  function WStringReader_init_$Create$(str, position, $mask0, $marker) {
    return WStringReader_init_$Init$(str, position, $mask0, $marker, Object.create(WStringReader.prototype));
  }
  function WStringReader(str, position) {
    this.x5y_1 = str;
    this.y5y_1 = position;
  }
  WStringReader.prototype.z5y = function () {
    return this.x5y_1.ze() - this.y5y_1 | 0;
  };
  WStringReader.prototype.e5z = function () {
    return this.y5y_1 >= this.x5y_1.ze();
  };
  WStringReader.prototype.f5z = function () {
    return !this.e5z();
  };
  WStringReader.prototype.g5z = function (offset) {
    var tmp$ret$1;
    $l$block: {
      // Inline function 'com.soywiz.korio.lang.WString.getOrElse' call
      var tmp0_getOrElse = this.x5y_1;
      var tmp1_getOrElse = this.y5y_1 + offset | 0;
      if (tmp1_getOrElse < 0 ? true : tmp1_getOrElse >= tmp0_getOrElse.ze()) {
        var tmp$ret$0;
        // Inline function 'com.soywiz.korio.lang.WStringReader.peek.<anonymous>' call
        tmp$ret$0 = _WChar___init__impl__4vbl4k(0);
        tmp$ret$1 = tmp$ret$0;
        break $l$block;
      }
      tmp$ret$1 = tmp0_getOrElse.h5z(tmp1_getOrElse);
    }
    return tmp$ret$1;
  };
  WStringReader.prototype.i5z = function (offset, $mask0, $handler) {
    if (!(($mask0 & 1) === 0))
      offset = 0;
    return this.g5z(offset);
  };
  WStringReader.prototype.j5z = function (count) {
    var tmp0_this = this;
    tmp0_this.y5y_1 = tmp0_this.y5y_1 + count | 0;
  };
  WStringReader.prototype.k5z = function (offset, len) {
    return substr_1(this.x5y_1, this.y5y_1 + offset | 0, len);
  };
  WStringReader.$metadata$ = classMeta('WStringReader');
  function _WChar___init__impl__4vbl4k(codePoint) {
    return codePoint;
  }
  function _WChar___get_codePoint__impl__c8brwu($this) {
    return $this;
  }
  function WChar__toString_impl_135atw($this) {
    return 'WChar(codePoint=' + $this + ')';
  }
  function WChar__hashCode_impl_ko0lyz($this) {
    return $this;
  }
  function WChar__equals_impl_nv9eg1($this, other) {
    if (!(other instanceof WChar))
      return false;
    var tmp0_other_with_cast = other instanceof WChar ? other.l5z_1 : THROW_CCE();
    if (!($this === tmp0_other_with_cast))
      return false;
    return true;
  }
  function WChar(codePoint) {
    this.l5z_1 = codePoint;
  }
  WChar.prototype.toString = function () {
    return WChar__toString_impl_135atw(this.l5z_1);
  };
  WChar.prototype.hashCode = function () {
    return WChar__hashCode_impl_ko0lyz(this.l5z_1);
  };
  WChar.prototype.equals = function (other) {
    return WChar__equals_impl_nv9eg1(this.l5z_1, other);
  };
  WChar.$metadata$ = classMeta('WChar');
  function Companion_12() {
    Companion_instance_12 = this;
    var tmp = this;
    var tmp$ret$0;
    // Inline function 'kotlin.intArrayOf' call
    tmp$ret$0 = new Int32Array([]);
    tmp.m5z_1 = new WString(tmp$ret$0, '');
  }
  Companion_12.prototype.n5z = function (codePoints) {
    return this.o5z(codePoints);
  };
  Companion_12.prototype.h51 = function (string) {
    return this.p5z(string);
  };
  Companion_12.prototype.p5z = function (string) {
    if (string === '')
      return this.m5z_1;
    var codePoints = new Int32Array(string.length);
    var tmp$ret$2;
    // Inline function 'com.soywiz.korio.lang.forEachCodePoint' call
    var string_0 = string;
    var m = 0;
    var n = 0;
    while (n < string_0.length) {
      var tmp$ret$0;
      // Inline function 'kotlin.code' call
      var tmp0 = n;
      n = tmp0 + 1 | 0;
      var tmp0__get_code__88qj9g = charSequenceGet(string_0, tmp0);
      tmp$ret$0 = Char__toInt_impl_vasixd(tmp0__get_code__88qj9g);
      var value = tmp$ret$0;
      var error = false;
      if ((value & 63488) === 55296 ? n < string_0.length : false) {
        var tmp$ret$1;
        // Inline function 'kotlin.code' call
        var tmp1 = n;
        n = tmp1 + 1 | 0;
        var tmp1__get_code__adl84j = charSequenceGet(string_0, tmp1);
        tmp$ret$1 = Char__toInt_impl_vasixd(tmp1__get_code__adl84j);
        var extra = tmp$ret$1;
        if (!((extra & 64512) === 56320)) {
          var tmp2 = n;
          n = tmp2 - 1 | 0;
          error = true;
        } else {
          var dataHigh = value & 1023;
          var dataLow = extra & 1023;
          value = (dataLow | dataHigh << 10) + 65536 | 0;
        }
      }
      // Inline function 'com.soywiz.korio.lang.Companion.fromString.<anonymous>' call
      var tmp3 = m;
      m = tmp3 + 1 | 0;
      var tmp2__anonymous__z9zvc9 = tmp3;
      var tmp3__anonymous__ufb84q = value;
      var tmp4__anonymous__pkmkx7 = error;
      codePoints[tmp2__anonymous__z9zvc9] = tmp3__anonymous__ufb84q;
    }
    tmp$ret$2 = m;
    var length = tmp$ret$2;
    return new WString(copyOf(codePoints, length), string);
  };
  Companion_12.prototype.o5z = function (codePoints) {
    var tmp$ret$1;
    // Inline function 'kotlin.collections.count' call
    var count = 0;
    var indexedObject = codePoints;
    var inductionVariable = 0;
    var last = indexedObject.length;
    while (inductionVariable < last) {
      var element = indexedObject[inductionVariable];
      inductionVariable = inductionVariable + 1 | 0;
      var tmp$ret$0;
      // Inline function 'com.soywiz.korio.lang.Companion.fromCodePoints.<anonymous>' call
      tmp$ret$0 = element >= 65536;
      if (tmp$ret$0) {
        count = count + 1 | 0;
      }
    }
    tmp$ret$1 = count;
    var surrogateCount = tmp$ret$1;
    var out = StringBuilder_init_$Create$_0(codePoints.length + surrogateCount | 0);
    var indexedObject_0 = codePoints;
    var inductionVariable_0 = 0;
    var last_0 = indexedObject_0.length;
    while (inductionVariable_0 < last_0) {
      var codePoint = indexedObject_0[inductionVariable_0];
      inductionVariable_0 = inductionVariable_0 + 1 | 0;
      if (codePoint > 65535) {
        var U1 = codePoint - 65536 | 0;
        var W1 = 55296 | (U1 >>> 10 | 0) & 1023;
        var W2 = 56320 | (U1 >>> 0 | 0) & 1023;
        out.g2(numberToChar(W1));
        out.g2(numberToChar(W2));
      } else {
        out.g2(numberToChar(codePoint));
      }
    }
    return new WString(codePoints, out.toString());
  };
  Companion_12.$metadata$ = objectMeta('Companion');
  var Companion_instance_12;
  function Companion_getInstance_17() {
    if (Companion_instance_12 == null)
      new Companion_12();
    return Companion_instance_12;
  }
  function WString(codePoints, string) {
    Companion_getInstance_17();
    this.a5z_1 = codePoints;
    this.b5z_1 = string;
    this.c5z_1 = 0;
    this.d5z_1 = false;
  }
  WString.prototype.ze = function () {
    return this.a5z_1.length;
  };
  WString.prototype.h5z = function (index) {
    return _WChar___init__impl__4vbl4k(this.a5z_1[index]);
  };
  WString.prototype.q5z = function (index, defaultValue) {
    if (index < 0 ? true : index >= this.ze())
      return defaultValue(index).l5z_1;
    return this.h5z(index);
  };
  WString.prototype.p1g = function (startIndex, endIndex) {
    var tmp = copyOfRange(this.a5z_1, startIndex, endIndex);
    var tmp$ret$1;
    // Inline function 'kotlin.text.substring' call
    var tmp0_substring = this.b5z_1;
    var tmp$ret$0;
    // Inline function 'kotlin.js.asDynamic' call
    tmp$ret$0 = tmp0_substring;
    tmp$ret$1 = tmp$ret$0.substring(startIndex, endIndex);
    return new WString(tmp, tmp$ret$1);
  };
  WString.prototype.hashCode = function () {
    if (!this.d5z_1) {
      this.d5z_1 = true;
      this.c5z_1 = contentHashCode(this.a5z_1);
    }
    return this.c5z_1;
  };
  WString.prototype.equals = function (other) {
    var tmp;
    if (other instanceof WString) {
      tmp = contentEquals(this.a5z_1, other.a5z_1);
    } else {
      tmp = false;
    }
    return tmp;
  };
  WString.prototype.toString = function () {
    return this.b5z_1;
  };
  WString.$metadata$ = classMeta('WString');
  function keep(_this__u8e3s4, block) {
    var tmp0_safe_receiver = _this__u8e3s4;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.y5y_1;
    var old = tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs;
    try {
      return block();
    }finally {
      var tmp2_safe_receiver = _this__u8e3s4;
      if (tmp2_safe_receiver == null) {
      } else
        tmp2_safe_receiver.y5y_1 = old;
    }
  }
  function substr_1(_this__u8e3s4, start, length) {
    var low = clamp(start >= 0 ? start : _this__u8e3s4.ze() + start | 0, 0, _this__u8e3s4.ze());
    var high = clamp(length >= 0 ? low + length | 0 : _this__u8e3s4.ze() + length | 0, 0, _this__u8e3s4.ze());
    return high < low ? Companion_getInstance_17().h51('') : _this__u8e3s4.p1g(low, high);
  }
  function forEachCodePoint(_this__u8e3s4, block) {
    var string = _this__u8e3s4;
    var m = 0;
    var n = 0;
    while (n < string.length) {
      var tmp$ret$0;
      // Inline function 'kotlin.code' call
      var tmp0 = n;
      n = tmp0 + 1 | 0;
      var tmp0__get_code__88qj9g = charSequenceGet(string, tmp0);
      tmp$ret$0 = Char__toInt_impl_vasixd(tmp0__get_code__88qj9g);
      var value = tmp$ret$0;
      var error = false;
      if ((value & 63488) === 55296 ? n < string.length : false) {
        var tmp$ret$1;
        // Inline function 'kotlin.code' call
        var tmp1 = n;
        n = tmp1 + 1 | 0;
        var tmp1__get_code__adl84j = charSequenceGet(string, tmp1);
        tmp$ret$1 = Char__toInt_impl_vasixd(tmp1__get_code__adl84j);
        var extra = tmp$ret$1;
        if (!((extra & 64512) === 56320)) {
          var tmp2 = n;
          n = tmp2 - 1 | 0;
          error = true;
        } else {
          var dataHigh = value & 1023;
          var dataLow = extra & 1023;
          value = (dataLow | dataHigh << 10) + 65536 | 0;
        }
      }
      var tmp3 = m;
      m = tmp3 + 1 | 0;
      block(tmp3, value, error);
    }
    return m;
  }
  function QueryString() {
    QueryString_instance = this;
  }
  QueryString.prototype.r5z = function (str) {
    var tmp$ret$0;
    // Inline function 'kotlin.collections.linkedMapOf' call
    tmp$ret$0 = LinkedHashMap_init_$Create$_0();
    var out = tmp$ret$0;
    // Inline function 'com.soywiz.kds.iterators.fastForEach' call
    var tmp = charArrayOf([_Char___init__impl__6a9atx(38)]);
    var tmp0_fastForEach = split$default_0(str, tmp, false, 0, 6, null);
    var n = 0;
    while (n < tmp0_fastForEach.i()) {
      // Inline function 'com.soywiz.korio.net.QueryString.decode.<anonymous>' call
      var tmp0 = n;
      n = tmp0 + 1 | 0;
      var tmp1__anonymous__uwfjfc = tmp0_fastForEach.m(tmp0);
      var tmp_0 = charArrayOf([_Char___init__impl__6a9atx(61)]);
      var parts = split$default_0(tmp1__anonymous__uwfjfc, tmp_0, false, 2, 2, null);
      var key = Companion_getInstance_18().s5z(parts.m(0), get_UTF8(), true);
      var tmp_1 = Companion_getInstance_18();
      var tmp$ret$2;
      // Inline function 'kotlin.collections.getOrElse' call
      var tmp_2;
      if (1 <= get_lastIndex_0(parts)) {
        tmp_2 = parts.m(1);
      } else {
        var tmp$ret$1;
        // Inline function 'com.soywiz.korio.net.QueryString.decode.<anonymous>.<anonymous>' call
        tmp$ret$1 = key;
        tmp_2 = tmp$ret$1;
      }
      tmp$ret$2 = tmp_2;
      var value = tmp_1.s5z(tmp$ret$2, get_UTF8(), true);
      var tmp$ret$5;
      // Inline function 'kotlin.collections.getOrPut' call
      var value_0 = out.q(key);
      var tmp_3;
      if (value_0 == null) {
        var tmp$ret$4;
        // Inline function 'com.soywiz.korio.net.QueryString.decode.<anonymous>.<anonymous>' call
        var tmp$ret$3;
        // Inline function 'kotlin.collections.arrayListOf' call
        tmp$ret$3 = ArrayList_init_$Create$_0();
        tmp$ret$4 = tmp$ret$3;
        var answer = tmp$ret$4;
        out.a(key, answer);
        tmp_3 = answer;
      } else {
        tmp_3 = value_0;
      }
      tmp$ret$5 = tmp_3;
      var list = tmp$ret$5;
      // Inline function 'kotlin.collections.plusAssign' call
      list.c(value);
    }
    return out;
  };
  QueryString.$metadata$ = objectMeta('QueryString');
  var QueryString_instance;
  function QueryString_getInstance() {
    if (QueryString_instance == null)
      new QueryString();
    return QueryString_instance;
  }
  function Companion_13() {
    Companion_instance_13 = this;
    this.y5s_1 = 0;
    this.z5s_1 = Regex_init_$Create$('\\w+:');
  }
  Companion_13.prototype.t5z = function (scheme) {
    var tmp0_subject = scheme;
    switch (tmp0_subject) {
      case 'ftp':
        return 21;
      case 'ftps':
        return 990;
      case 'http':
      case 'ws':
        return 80;
      case 'https':
      case 'wss':
        return 443;
      default:
        return -1;
    }
  };
  Companion_13.prototype.u5z = function (scheme, userInfo, host, path, query, fragment, opaque, port) {
    return new URL(opaque, scheme, userInfo, host, path, query, fragment, port);
  };
  Companion_13.prototype.v5z = function (scheme, userInfo, host, path, query, fragment, opaque, port, $mask0, $handler) {
    if (!(($mask0 & 64) === 0))
      opaque = false;
    if (!(($mask0 & 128) === 0))
      port = this.y5s_1;
    return this.u5z(scheme, userInfo, host, path, query, fragment, opaque, port);
  };
  Companion_13.prototype.h51 = function (url) {
    var r = StrReader_init_$Create$(url, null, 0, 6, null);
    var schemeColon = r.b60(this.z5s_1);
    var tmp;
    if (!(schemeColon == null)) {
      var isHierarchical = !(r.c60('//') == null);
      var nonScheme = r.d60();
      var scheme = dropLast(schemeColon, 1);
      var tmp_0 = _Char___init__impl__6a9atx(35);
      var nonFragment = substringBefore$default(nonScheme, tmp_0, null, 2, null);
      var fragment = substringAfterOrNull(nonScheme, _Char___init__impl__6a9atx(35));
      var tmp_1 = _Char___init__impl__6a9atx(63);
      var nonQuery = substringBefore$default(nonFragment, tmp_1, null, 2, null);
      var query = substringAfterOrNull(nonFragment, _Char___init__impl__6a9atx(63));
      var tmp_2 = _Char___init__impl__6a9atx(47);
      var authority = substringBefore$default(nonQuery, tmp_2, null, 2, null);
      var path = substringAfterOrNull(nonQuery, _Char___init__impl__6a9atx(47));
      var tmp_3 = _Char___init__impl__6a9atx(64);
      var hostWithPort = substringAfter$default(authority, tmp_3, null, 2, null);
      var userInfo = substringBeforeOrNull(authority, _Char___init__impl__6a9atx(64));
      var tmp_4 = _Char___init__impl__6a9atx(58);
      var host = substringBefore$default(hostWithPort, tmp_4, null, 2, null);
      var port = substringAfterOrNull(hostWithPort, _Char___init__impl__6a9atx(58));
      var tmp2_$this = Companion_getInstance_18();
      var tmp3_opaque = !isHierarchical;
      var tmp$ret$2;
      // Inline function 'kotlin.takeIf' call
      // Inline function 'kotlin.contracts.contract' call
      var tmp_5;
      var tmp$ret$1;
      // Inline function 'com.soywiz.korio.net.Companion.invoke.<anonymous>' call
      var tmp$ret$0;
      // Inline function 'kotlin.text.isNotEmpty' call
      tmp$ret$0 = charSequenceLength(host) > 0;
      tmp$ret$1 = tmp$ret$0;
      if (tmp$ret$1) {
        tmp_5 = host;
      } else {
        tmp_5 = null;
      }
      tmp$ret$2 = tmp_5;
      var tmp4_host = tmp$ret$2;
      var tmp5_path = !(path == null) ? '/' + path : '';
      var tmp0_safe_receiver = port;
      var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : toIntOrNull(tmp0_safe_receiver);
      var tmp6_port = tmp1_elvis_lhs == null ? this.y5s_1 : tmp1_elvis_lhs;
      tmp = tmp2_$this.u5z(scheme, userInfo, tmp4_host, tmp5_path, query, fragment, tmp3_opaque, tmp6_port);
    } else {
      var tmp_6 = _Char___init__impl__6a9atx(35);
      var nonFragment_0 = substringBefore$default(url, tmp_6, null, 2, null);
      var fragment_0 = substringAfterOrNull(url, _Char___init__impl__6a9atx(35));
      var tmp_7 = _Char___init__impl__6a9atx(63);
      var path_0 = substringBefore$default(nonFragment_0, tmp_7, null, 2, null);
      var query_0 = substringAfterOrNull(nonFragment_0, _Char___init__impl__6a9atx(63));
      var tmp_8 = Companion_getInstance_18();
      tmp = tmp_8.v5z(null, null, null, path_0, query_0, fragment_0, false, 0, 128, null);
    }
    return tmp;
  };
  Companion_13.prototype.l5t = function (url) {
    return !(StrReader_init_$Create$(url, null, 0, 6, null).b60(this.z5s_1) == null);
  };
  Companion_13.prototype.e60 = function (base, access) {
    var tmp;
    if (this.l5t(access)) {
      tmp = access;
    } else {
      if (startsWith$default(access, '/', false, 2, null)) {
        var tmp_0 = Companion_getInstance_18().h51(base);
        tmp = tmp_0.m5t(false, null, null, null, access, null, null, 0, 239, null).n5t();
      } else {
        var tmp$ret$1;
        // Inline function 'kotlin.run' call
        var tmp0_run = Companion_getInstance_18().h51(base);
        // Inline function 'kotlin.contracts.contract' call
        var tmp$ret$0;
        // Inline function 'com.soywiz.korio.net.Companion.resolve.<anonymous>' call
        var tmp_1 = _Char___init__impl__6a9atx(47);
        var tmp_2 = '/' + trimStart(normalize(get_pathInfo(substringBeforeLast$default(tmp0_run.e5t_1, tmp_1, null, 2, null) + '/' + access)), charArrayOf([_Char___init__impl__6a9atx(47)]));
        tmp$ret$0 = tmp0_run.m5t(false, null, null, null, tmp_2, null, null, 0, 239, null).n5t();
        tmp$ret$1 = tmp$ret$0;
        tmp = tmp$ret$1;
      }
    }
    return tmp;
  };
  Companion_13.prototype.s5z = function (s, charset, formUrlEncoded) {
    var bos = ByteArrayBuilder_init_$Create$_0(0, 1, null);
    var len = s.length;
    var n = 0;
    while (n < len) {
      var c = charSequenceGet(s, n);
      var tmp0_subject = c;
      if (equals(new Char(tmp0_subject), new Char(_Char___init__impl__6a9atx(37)))) {
        var tmp$ret$0;
        // Inline function 'com.soywiz.kmem.ByteArrayBuilder.append' call
        var tmp0_append = toByte(toInt(substr(s, n + 1 | 0, 2), 16));
        bos.e4w(tmp0_append);
        tmp$ret$0 = bos;
        n = n + 2 | 0;
      } else if (equals(new Char(tmp0_subject), new Char(_Char___init__impl__6a9atx(43))))
        if (formUrlEncoded) {
          var tmp$ret$1;
          // Inline function 'com.soywiz.kmem.ByteArrayBuilder.append' call
          var tmp1_append = 32;
          bos.e4w(tmp1_append);
          tmp$ret$1 = bos;
        } else {
          var tmp$ret$2;
          // Inline function 'com.soywiz.kmem.ByteArrayBuilder.append' call
          var tmp2_append = 43;
          bos.e4w(tmp2_append);
          tmp$ret$2 = bos;
        }
       else {
        var tmp$ret$3;
        // Inline function 'com.soywiz.kmem.ByteArrayBuilder.append' call
        var tmp3_append = Char__toByte_impl_7s7yt0(c);
        bos.e4w(tmp3_append);
        tmp$ret$3 = bos;
      }
      var tmp1 = n;
      n = tmp1 + 1 | 0;
    }
    var tmp = bos.g4w();
    return toString$default(tmp, charset, 0, 0, 6, null);
  };
  Companion_13.$metadata$ = objectMeta('Companion');
  var Companion_instance_13;
  function Companion_getInstance_18() {
    if (Companion_instance_13 == null)
      new Companion_13();
    return Companion_instance_13;
  }
  function URL$fullUrl$delegate$lambda(this$0) {
    return function () {
      return this$0.f60(false, null, 3, null).toString();
    };
  }
  function URL$fullUrlWithoutScheme$delegate$lambda(this$0) {
    return function () {
      return this$0.f60(false, null, 2, null).toString();
    };
  }
  function URL$pathWithQuery$delegate$lambda(this$0) {
    return function () {
      var tmp;
      if (!(this$0.f5t_1 == null)) {
        tmp = this$0.e5t_1 + '?' + this$0.f5t_1;
      } else {
        tmp = this$0.e5t_1;
      }
      return tmp;
    };
  }
  function URL(isOpaque, scheme, userInfo, host, path, query, fragment, defaultPort) {
    Companion_getInstance_18();
    this.a5t_1 = isOpaque;
    this.b5t_1 = scheme;
    this.c5t_1 = userInfo;
    this.d5t_1 = host;
    this.e5t_1 = path;
    this.f5t_1 = query;
    this.g5t_1 = fragment;
    this.h5t_1 = defaultPort;
    var tmp = this;
    tmp.i5t_1 = lazy(URL$fullUrl$delegate$lambda(this));
    var tmp_0 = this;
    tmp_0.j5t_1 = lazy(URL$fullUrlWithoutScheme$delegate$lambda(this));
    var tmp_1 = this;
    tmp_1.k5t_1 = lazy(URL$pathWithQuery$delegate$lambda(this));
  }
  URL.prototype.q5n = function () {
    return this.e5t_1;
  };
  URL.prototype.g60 = function () {
    return Companion_getInstance_18().t5z(this.b5t_1);
  };
  URL.prototype.s3b = function () {
    return this.h5t_1 === Companion_getInstance_18().y5s_1 ? this.g60() : this.h5t_1;
  };
  URL.prototype.n5t = function () {
    var tmp$ret$0;
    // Inline function 'kotlin.getValue' call
    var tmp0_getValue = fullUrl$factory();
    tmp$ret$0 = this.i5t_1.l1();
    return tmp$ret$0;
  };
  URL.prototype.h60 = function (includeScheme, out) {
    if (includeScheme ? !(this.b5t_1 == null) : false) {
      out.gc('' + this.b5t_1 + ':');
      if (!this.a5t_1) {
        out.gc('//');
      }
    }
    if (!(this.c5t_1 == null)) {
      out.gc('' + this.c5t_1 + '@');
    }
    if (!(this.d5t_1 == null)) {
      out.gc(this.d5t_1);
    }
    if (!(this.s3b() === Companion_getInstance_18().y5s_1) ? !(this.s3b() === this.g60()) : false) {
      out.g2(_Char___init__impl__6a9atx(58)).fc(this.s3b());
    }
    out.gc(this.e5t_1);
    if (!(this.f5t_1 == null)) {
      out.gc('?' + this.f5t_1);
    }
    if (!(this.g5t_1 == null)) {
      out.gc('#' + this.g5t_1);
    }
    return out;
  };
  URL.prototype.f60 = function (includeScheme, out, $mask0, $handler) {
    if (!(($mask0 & 1) === 0))
      includeScheme = true;
    if (!(($mask0 & 2) === 0))
      out = StringBuilder_init_$Create$();
    return this.h60(includeScheme, out);
  };
  URL.prototype.toString = function () {
    return this.n5t();
  };
  URL.prototype.i60 = function (isOpaque, scheme, userInfo, host, path, query, fragment, defaultPort) {
    return new URL(isOpaque, scheme, userInfo, host, path, query, fragment, defaultPort);
  };
  URL.prototype.m5t = function (isOpaque, scheme, userInfo, host, path, query, fragment, defaultPort, $mask0, $handler) {
    if (!(($mask0 & 1) === 0))
      isOpaque = this.a5t_1;
    if (!(($mask0 & 2) === 0))
      scheme = this.b5t_1;
    if (!(($mask0 & 4) === 0))
      userInfo = this.c5t_1;
    if (!(($mask0 & 8) === 0))
      host = this.d5t_1;
    if (!(($mask0 & 16) === 0))
      path = this.e5t_1;
    if (!(($mask0 & 32) === 0))
      query = this.f5t_1;
    if (!(($mask0 & 64) === 0))
      fragment = this.g5t_1;
    if (!(($mask0 & 128) === 0))
      defaultPort = this.h5t_1;
    return this.i60(isOpaque, scheme, userInfo, host, path, query, fragment, defaultPort);
  };
  URL.prototype.hashCode = function () {
    var result = this.a5t_1 | 0;
    result = imul(result, 31) + (this.b5t_1 == null ? 0 : getStringHashCode(this.b5t_1)) | 0;
    result = imul(result, 31) + (this.c5t_1 == null ? 0 : getStringHashCode(this.c5t_1)) | 0;
    result = imul(result, 31) + (this.d5t_1 == null ? 0 : getStringHashCode(this.d5t_1)) | 0;
    result = imul(result, 31) + getStringHashCode(this.e5t_1) | 0;
    result = imul(result, 31) + (this.f5t_1 == null ? 0 : getStringHashCode(this.f5t_1)) | 0;
    result = imul(result, 31) + (this.g5t_1 == null ? 0 : getStringHashCode(this.g5t_1)) | 0;
    result = imul(result, 31) + this.h5t_1 | 0;
    return result;
  };
  URL.prototype.equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof URL))
      return false;
    var tmp0_other_with_cast = other instanceof URL ? other : THROW_CCE();
    if (!(this.a5t_1 === tmp0_other_with_cast.a5t_1))
      return false;
    if (!(this.b5t_1 == tmp0_other_with_cast.b5t_1))
      return false;
    if (!(this.c5t_1 == tmp0_other_with_cast.c5t_1))
      return false;
    if (!(this.d5t_1 == tmp0_other_with_cast.d5t_1))
      return false;
    if (!(this.e5t_1 === tmp0_other_with_cast.e5t_1))
      return false;
    if (!(this.f5t_1 == tmp0_other_with_cast.f5t_1))
      return false;
    if (!(this.g5t_1 == tmp0_other_with_cast.g5t_1))
      return false;
    if (!(this.h5t_1 === tmp0_other_with_cast.h5t_1))
      return false;
    return true;
  };
  URL.$metadata$ = classMeta('URL');
  function fullUrl$factory() {
    return getPropertyCallableRef('fullUrl', 1, KProperty1, function (receiver) {
      return receiver.n5t();
    }, null);
  }
  var Methods_ALL_instance;
  var Methods_OPTIONS_instance;
  var Methods_GET_instance;
  var Methods_HEAD_instance;
  var Methods_POST_instance;
  var Methods_PUT_instance;
  var Methods_DELETE_instance;
  var Methods_TRACE_instance;
  var Methods_CONNECT_instance;
  var Methods_PATCH_instance;
  var Methods_entriesInitialized;
  function Methods_initEntries() {
    if (Methods_entriesInitialized)
      return Unit_getInstance();
    Methods_entriesInitialized = true;
    Methods_ALL_instance = new Methods('ALL', 0);
    Methods_OPTIONS_instance = new Methods('OPTIONS', 1);
    Methods_GET_instance = new Methods('GET', 2);
    Methods_HEAD_instance = new Methods('HEAD', 3);
    Methods_POST_instance = new Methods('POST', 4);
    Methods_PUT_instance = new Methods('PUT', 5);
    Methods_DELETE_instance = new Methods('DELETE', 6);
    Methods_TRACE_instance = new Methods('TRACE', 7);
    Methods_CONNECT_instance = new Methods('CONNECT', 8);
    Methods_PATCH_instance = new Methods('PATCH', 9);
  }
  function Companion_14() {
    Companion_instance_14 = this;
    this.i5w_1 = Methods_OPTIONS_getInstance();
    this.j5w_1 = Methods_GET_getInstance();
    this.k5w_1 = Methods_HEAD_getInstance();
    this.l5w_1 = Methods_POST_getInstance();
    this.m5w_1 = Methods_PUT_getInstance();
    this.n5w_1 = Methods_DELETE_getInstance();
    this.o5w_1 = Methods_TRACE_getInstance();
    this.p5w_1 = Methods_CONNECT_getInstance();
    this.q5w_1 = Methods_PATCH_getInstance();
    this.r5w_1 = listOf_0([this.i5w_1, this.j5w_1, this.k5w_1, this.l5w_1, this.m5w_1, this.n5w_1, this.o5w_1, this.p5w_1, this.q5w_1]);
    var tmp = this;
    var tmp$ret$2;
    // Inline function 'kotlin.collections.map' call
    var tmp0_map = this.r5w_1;
    var tmp$ret$1;
    // Inline function 'kotlin.collections.mapTo' call
    var tmp0_mapTo = ArrayList_init_$Create$(collectionSizeOrDefault(tmp0_map, 10));
    var tmp0_iterator = tmp0_map.j();
    while (tmp0_iterator.k()) {
      var item = tmp0_iterator.l();
      var tmp$ret$0;
      // Inline function 'com.soywiz.korio.net.http.Companion.valuesMap.<anonymous>' call
      tmp$ret$0 = to(item.p2_1, item);
      tmp0_mapTo.c(tmp$ret$0);
    }
    tmp$ret$1 = tmp0_mapTo;
    tmp$ret$2 = tmp$ret$1;
    tmp.s5w_1 = toMap(tmp$ret$2);
  }
  Companion_14.$metadata$ = objectMeta('Companion');
  var Companion_instance_14;
  function Companion_getInstance_19() {
    if (Companion_instance_14 == null)
      new Companion_14();
    return Companion_instance_14;
  }
  function HttpException_init_$Init$(statusCode, msg, statusText, headers, $mask0, $marker, $this) {
    if (!(($mask0 & 2) === 0))
      msg = 'Error' + statusCode;
    if (!(($mask0 & 4) === 0)) {
      var tmp0_elvis_lhs = HttpStatusMessage_getInstance().j60_1.q(statusCode);
      statusText = tmp0_elvis_lhs == null ? 'Error' + statusCode : tmp0_elvis_lhs;
    }
    if (!(($mask0 & 8) === 0))
      headers = Headers_init_$Create$([]);
    HttpException.call($this, statusCode, msg, statusText, headers);
    return $this;
  }
  function HttpException_init_$Create$(statusCode, msg, statusText, headers, $mask0, $marker) {
    var tmp = HttpException_init_$Init$(statusCode, msg, statusText, headers, $mask0, $marker, Object.create(HttpException.prototype));
    captureStack(tmp, HttpException_init_$Create$);
    return tmp;
  }
  function Companion_15() {
    Companion_instance_15 = this;
  }
  Companion_15.$metadata$ = objectMeta('Companion');
  var Companion_instance_15;
  function Companion_getInstance_20() {
    if (Companion_instance_15 == null)
      new Companion_15();
    return Companion_instance_15;
  }
  function Headers_init_$Init$(items, $this) {
    Headers.call($this, toList_0(items));
    return $this;
  }
  function Headers_init_$Create$(items) {
    return Headers_init_$Init$(items, Object.create(Headers.prototype));
  }
  function Headers_init_$Init$_0(map, $this) {
    var tmp$ret$3;
    // Inline function 'kotlin.collections.map' call
    var tmp$ret$2;
    // Inline function 'kotlin.collections.mapTo' call
    var tmp0_mapTo = ArrayList_init_$Create$(map.i());
    var tmp$ret$0;
    // Inline function 'kotlin.collections.iterator' call
    tmp$ret$0 = map.j1().j();
    var tmp0_iterator = tmp$ret$0;
    while (tmp0_iterator.k()) {
      var item = tmp0_iterator.l();
      var tmp$ret$1;
      // Inline function 'com.soywiz.korio.net.http.Headers.<init>.<anonymous>' call
      tmp$ret$1 = to(item.k1(), item.l1());
      tmp0_mapTo.c(tmp$ret$1);
    }
    tmp$ret$2 = tmp0_mapTo;
    tmp$ret$3 = tmp$ret$2;
    Headers.call($this, tmp$ret$3);
    return $this;
  }
  function Headers_init_$Create$_0(map) {
    return Headers_init_$Init$_0(map, Object.create(Headers.prototype));
  }
  function Headers_init_$Init$_1(str, $this) {
    Headers.call($this, Companion_getInstance_21().k60(str).x5x_1);
    return $this;
  }
  function Headers_init_$Create$_1(str) {
    return Headers_init_$Init$_1(str, Object.create(Headers.prototype));
  }
  function Companion_16() {
    Companion_instance_16 = this;
    this.v5x_1 = 'Content-Length';
    this.w5x_1 = 'Content-Type';
  }
  Companion_16.prototype.k60 = function (str) {
    if (str == null)
      return Headers_init_$Create$([]);
    var tmp$ret$5;
    // Inline function 'kotlin.collections.map' call
    var tmp0_map = split$default(str, ['\n'], false, 0, 6, null);
    var tmp$ret$4;
    // Inline function 'kotlin.collections.mapTo' call
    var tmp0_mapTo = ArrayList_init_$Create$(collectionSizeOrDefault(tmp0_map, 10));
    var tmp0_iterator = tmp0_map.j();
    while (tmp0_iterator.k()) {
      var item = tmp0_iterator.l();
      var tmp$ret$3;
      // Inline function 'com.soywiz.korio.net.http.Companion.parse.<anonymous>' call
      var tmp$ret$0;
      // Inline function 'kotlin.text.trim' call
      tmp$ret$0 = toString(trim_0(isCharSequence(item) ? item : THROW_CCE()));
      var tmp = tmp$ret$0;
      var tmp_0 = charArrayOf([_Char___init__impl__6a9atx(58)]);
      var parts = split$default_0(tmp, tmp_0, false, 2, 2, null);
      var tmp_1;
      if (parts.i() >= 2) {
        var tmp$ret$1;
        // Inline function 'kotlin.text.trim' call
        var tmp0_trim = parts.m(0);
        tmp$ret$1 = toString(trim_0(isCharSequence(tmp0_trim) ? tmp0_trim : THROW_CCE()));
        var tmp_2 = tmp$ret$1;
        var tmp$ret$2;
        // Inline function 'kotlin.text.trim' call
        var tmp1_trim = parts.m(1);
        tmp$ret$2 = toString(trim_0(isCharSequence(tmp1_trim) ? tmp1_trim : THROW_CCE()));
        tmp_1 = to(tmp_2, tmp$ret$2);
      } else {
        tmp_1 = null;
      }
      tmp$ret$3 = tmp_1;
      tmp0_mapTo.c(tmp$ret$3);
    }
    tmp$ret$4 = tmp0_mapTo;
    tmp$ret$5 = tmp$ret$4;
    return new Headers(filterNotNull(tmp$ret$5));
  };
  Companion_16.$metadata$ = objectMeta('Companion');
  var Companion_instance_16;
  function Companion_getInstance_21() {
    if (Companion_instance_16 == null)
      new Companion_16();
    return Companion_instance_16;
  }
  function sam$kotlin_Comparator$0_0(function_0) {
    this.l60_1 = function_0;
  }
  sam$kotlin_Comparator$0_0.prototype.b1 = function (a, b) {
    return this.l60_1(a, b);
  };
  sam$kotlin_Comparator$0_0.prototype.compare = function (a, b) {
    return this.b1(a, b);
  };
  sam$kotlin_Comparator$0_0.$metadata$ = classMeta('sam$kotlin_Comparator$0', [Comparator]);
  function Http$Headers$toListGrouped$lambda(a, b) {
    var tmp$ret$6;
    // Inline function 'kotlin.comparisons.compareValuesBy' call
    var tmp$ret$2;
    // Inline function 'com.soywiz.korio.net.http.Headers.toListGrouped.<anonymous>' call
    var tmp$ret$1;
    // Inline function 'kotlin.text.toLowerCase' call
    var tmp0_toLowerCase = a.d_1;
    var tmp$ret$0;
    // Inline function 'kotlin.js.asDynamic' call
    tmp$ret$0 = tmp0_toLowerCase;
    tmp$ret$1 = tmp$ret$0.toLowerCase();
    tmp$ret$2 = tmp$ret$1;
    var tmp = tmp$ret$2;
    var tmp$ret$5;
    // Inline function 'com.soywiz.korio.net.http.Headers.toListGrouped.<anonymous>' call
    var tmp$ret$4;
    // Inline function 'kotlin.text.toLowerCase' call
    var tmp0_toLowerCase_0 = b.d_1;
    var tmp$ret$3;
    // Inline function 'kotlin.js.asDynamic' call
    tmp$ret$3 = tmp0_toLowerCase_0;
    tmp$ret$4 = tmp$ret$3.toLowerCase();
    tmp$ret$5 = tmp$ret$4;
    tmp$ret$6 = compareValues(tmp, tmp$ret$5);
    return tmp$ret$6;
  }
  function Methods(name, ordinal) {
    Enum.call(this, name, ordinal);
  }
  Methods.$metadata$ = classMeta('Methods', [Method], undefined, undefined, undefined, Enum.prototype);
  function Method() {
  }
  Method.$metadata$ = interfaceMeta('Method');
  function HttpException(statusCode, msg, statusText, headers) {
    Companion_getInstance_20();
    IOException.call(this, '' + statusCode + ' ' + statusText + ' - ' + msg);
    this.m60_1 = statusCode;
    this.n60_1 = msg;
    this.o60_1 = statusText;
    this.p60_1 = headers;
    captureStack(this, HttpException);
  }
  HttpException.$metadata$ = classMeta('HttpException', undefined, undefined, undefined, undefined, IOException.prototype);
  function Headers(items) {
    Companion_getInstance_21();
    this.x5x_1 = items;
  }
  Headers.prototype.j = function () {
    return this.x5x_1.j();
  };
  Headers.prototype.c19 = function (key) {
    return this.q60(key);
  };
  Headers.prototype.q60 = function (key) {
    var tmp$ret$1;
    $l$block: {
      // Inline function 'kotlin.collections.firstOrNull' call
      var tmp0_firstOrNull = this.x5x_1;
      var tmp0_iterator = tmp0_firstOrNull.j();
      while (tmp0_iterator.k()) {
        var element = tmp0_iterator.l();
        var tmp$ret$0;
        // Inline function 'com.soywiz.korio.net.http.Headers.getFirst.<anonymous>' call
        tmp$ret$0 = equals_0(element.d_1, key, true);
        if (tmp$ret$0) {
          tmp$ret$1 = element;
          break $l$block;
        }
      }
      tmp$ret$1 = null;
    }
    var tmp0_safe_receiver = tmp$ret$1;
    return tmp0_safe_receiver == null ? null : tmp0_safe_receiver.e_1;
  };
  Headers.prototype.r60 = function () {
    var tmp$ret$15;
    // Inline function 'kotlin.collections.sortedBy' call
    var tmp$ret$13;
    // Inline function 'kotlin.collections.map' call
    var tmp$ret$6;
    // Inline function 'kotlin.collections.groupBy' call
    var tmp0_groupBy = this.x5x_1;
    var tmp$ret$5;
    // Inline function 'kotlin.collections.groupByTo' call
    var tmp0_groupByTo = LinkedHashMap_init_$Create$_0();
    var tmp0_iterator = tmp0_groupBy.j();
    while (tmp0_iterator.k()) {
      var element = tmp0_iterator.l();
      var tmp$ret$2;
      // Inline function 'com.soywiz.korio.net.http.Headers.toListGrouped.<anonymous>' call
      var tmp$ret$1;
      // Inline function 'kotlin.text.toLowerCase' call
      var tmp0_toLowerCase = element.d_1;
      var tmp$ret$0;
      // Inline function 'kotlin.js.asDynamic' call
      tmp$ret$0 = tmp0_toLowerCase;
      tmp$ret$1 = tmp$ret$0.toLowerCase();
      tmp$ret$2 = tmp$ret$1;
      var key = tmp$ret$2;
      var tmp$ret$4;
      // Inline function 'kotlin.collections.getOrPut' call
      var value = tmp0_groupByTo.q(key);
      var tmp;
      if (value == null) {
        var tmp$ret$3;
        // Inline function 'kotlin.collections.groupByTo.<anonymous>' call
        tmp$ret$3 = ArrayList_init_$Create$_0();
        var answer = tmp$ret$3;
        tmp0_groupByTo.a(key, answer);
        tmp = answer;
      } else {
        tmp = value;
      }
      tmp$ret$4 = tmp;
      var list = tmp$ret$4;
      list.c(element);
    }
    tmp$ret$5 = tmp0_groupByTo;
    tmp$ret$6 = tmp$ret$5;
    var tmp1_map = tmp$ret$6;
    var tmp$ret$12;
    // Inline function 'kotlin.collections.mapTo' call
    var tmp0_mapTo = ArrayList_init_$Create$(tmp1_map.i());
    var tmp$ret$7;
    // Inline function 'kotlin.collections.iterator' call
    tmp$ret$7 = tmp1_map.j1().j();
    var tmp0_iterator_0 = tmp$ret$7;
    while (tmp0_iterator_0.k()) {
      var item = tmp0_iterator_0.l();
      var tmp$ret$11;
      // Inline function 'com.soywiz.korio.net.http.Headers.toListGrouped.<anonymous>' call
      var tmp_0 = first(item.l1()).d_1;
      var tmp$ret$10;
      // Inline function 'kotlin.collections.map' call
      var tmp0_map = item.l1();
      var tmp$ret$9;
      // Inline function 'kotlin.collections.mapTo' call
      var tmp0_mapTo_0 = ArrayList_init_$Create$(collectionSizeOrDefault(tmp0_map, 10));
      var tmp0_iterator_1 = tmp0_map.j();
      while (tmp0_iterator_1.k()) {
        var item_0 = tmp0_iterator_1.l();
        var tmp$ret$8;
        // Inline function 'com.soywiz.korio.net.http.Headers.toListGrouped.<anonymous>.<anonymous>' call
        tmp$ret$8 = item_0.e_1;
        tmp0_mapTo_0.c(tmp$ret$8);
      }
      tmp$ret$9 = tmp0_mapTo_0;
      tmp$ret$10 = tmp$ret$9;
      tmp$ret$11 = to(tmp_0, tmp$ret$10);
      tmp0_mapTo.c(tmp$ret$11);
    }
    tmp$ret$12 = tmp0_mapTo;
    tmp$ret$13 = tmp$ret$12;
    var tmp2_sortedBy = tmp$ret$13;
    var tmp$ret$14;
    // Inline function 'kotlin.comparisons.compareBy' call
    var tmp_1 = Http$Headers$toListGrouped$lambda;
    tmp$ret$14 = new sam$kotlin_Comparator$0_0(tmp_1);
    tmp$ret$15 = sortedWith(tmp2_sortedBy, tmp$ret$14);
    return tmp$ret$15;
  };
  Headers.prototype.s60 = function (newHeaders) {
    var tmp$ret$4;
    // Inline function 'kotlin.collections.map' call
    var tmp$ret$3;
    // Inline function 'kotlin.collections.mapTo' call
    var tmp0_mapTo = ArrayList_init_$Create$(collectionSizeOrDefault(newHeaders, 10));
    var tmp0_iterator = newHeaders.j();
    while (tmp0_iterator.k()) {
      var item = tmp0_iterator.l();
      var tmp$ret$2;
      // Inline function 'com.soywiz.korio.net.http.Headers.withReplaceHeaders.<anonymous>' call
      var tmp$ret$1;
      // Inline function 'kotlin.text.toLowerCase' call
      var tmp0_toLowerCase = item.d_1;
      var tmp$ret$0;
      // Inline function 'kotlin.js.asDynamic' call
      tmp$ret$0 = tmp0_toLowerCase;
      tmp$ret$1 = tmp$ret$0.toLowerCase();
      tmp$ret$2 = tmp$ret$1;
      tmp0_mapTo.c(tmp$ret$2);
    }
    tmp$ret$3 = tmp0_mapTo;
    tmp$ret$4 = tmp$ret$3;
    var replaceKeys = toSet(tmp$ret$4);
    var tmp$ret$9;
    // Inline function 'kotlin.collections.filter' call
    var tmp0_filter = this.x5x_1;
    var tmp$ret$8;
    // Inline function 'kotlin.collections.filterTo' call
    var tmp0_filterTo = ArrayList_init_$Create$_0();
    var tmp0_iterator_0 = tmp0_filter.j();
    while (tmp0_iterator_0.k()) {
      var element = tmp0_iterator_0.l();
      var tmp$ret$7;
      // Inline function 'com.soywiz.korio.net.http.Headers.withReplaceHeaders.<anonymous>' call
      var tmp$ret$6;
      // Inline function 'kotlin.text.toLowerCase' call
      var tmp0_toLowerCase_0 = element.d_1;
      var tmp$ret$5;
      // Inline function 'kotlin.js.asDynamic' call
      tmp$ret$5 = tmp0_toLowerCase_0;
      tmp$ret$6 = tmp$ret$5.toLowerCase();
      tmp$ret$7 = !replaceKeys.r(tmp$ret$6);
      if (tmp$ret$7) {
        tmp0_filterTo.c(element);
      }
    }
    tmp$ret$8 = tmp0_filterTo;
    tmp$ret$9 = tmp$ret$8;
    return new Headers(plus_0(tmp$ret$9, toList(newHeaders)));
  };
  Headers.prototype.t60 = function (newHeaders) {
    return this.s60(toList_0(newHeaders));
  };
  Headers.prototype.u60 = function (newHeaders) {
    return this.s60(toList(newHeaders));
  };
  Headers.prototype.toString = function () {
    var tmp = this.r60();
    return 'Headers(' + joinToString$default(tmp, ', ', null, null, 0, null, null, 62, null) + ')';
  };
  Headers.prototype.hashCode = function () {
    return hashCode(this.x5x_1);
  };
  Headers.prototype.equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof Headers))
      return false;
    var tmp0_other_with_cast = other instanceof Headers ? other : THROW_CCE();
    if (!equals(this.x5x_1, tmp0_other_with_cast.x5x_1))
      return false;
    return true;
  };
  Headers.$metadata$ = classMeta('Headers', [Iterable]);
  function Methods_OPTIONS_getInstance() {
    Methods_initEntries();
    return Methods_OPTIONS_instance;
  }
  function Methods_GET_getInstance() {
    Methods_initEntries();
    return Methods_GET_instance;
  }
  function Methods_HEAD_getInstance() {
    Methods_initEntries();
    return Methods_HEAD_instance;
  }
  function Methods_POST_getInstance() {
    Methods_initEntries();
    return Methods_POST_instance;
  }
  function Methods_PUT_getInstance() {
    Methods_initEntries();
    return Methods_PUT_instance;
  }
  function Methods_DELETE_getInstance() {
    Methods_initEntries();
    return Methods_DELETE_instance;
  }
  function Methods_TRACE_getInstance() {
    Methods_initEntries();
    return Methods_TRACE_instance;
  }
  function Methods_CONNECT_getInstance() {
    Methods_initEntries();
    return Methods_CONNECT_instance;
  }
  function Methods_PATCH_getInstance() {
    Methods_initEntries();
    return Methods_PATCH_instance;
  }
  function get__defaultHttpFactory() {
    init_properties_HttpClient_kt_5dwvbb();
    var tmp$ret$0;
    // Inline function 'kotlin.getValue' call
    var tmp0_getValue = _defaultHttpFactory$factory();
    tmp$ret$0 = _defaultHttpFactory$delegate.l1();
    return tmp$ret$0;
  }
  var _defaultHttpFactory$delegate;
  function Companion_17() {
    Companion_instance_17 = this;
  }
  Companion_17.$metadata$ = objectMeta('Companion');
  var Companion_instance_17;
  function Companion_getInstance_22() {
    if (Companion_instance_17 == null)
      new Companion_17();
    return Companion_instance_17;
  }
  function HttpClient$Response$responseCharset$delegate$lambda() {
    return get_UTF8();
  }
  function $readAllBytesCOROUTINE$127(_this__u8e3s4, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.d61_1 = _this__u8e3s4;
  }
  $readAllBytesCOROUTINE$127.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 2;
            this.o7_1 = 1;
            suspendResult = readAll(this.d61_1.n5u_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var allContent = suspendResult;
            return allContent;
          case 2:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 2) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $readAllBytesCOROUTINE$127.$metadata$ = classMeta('$readAllBytesCOROUTINE$127', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $readAllStringCOROUTINE$128(_this__u8e3s4, charset, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.m61_1 = _this__u8e3s4;
    this.n61_1 = charset;
  }
  $readAllStringCOROUTINE$128.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 2;
            this.o7_1 = 1;
            suspendResult = this.m61_1.o61(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var bytes = suspendResult;
            return toString$default(bytes, this.n61_1, 0, 0, 6, null);
          case 2:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 2) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $readAllStringCOROUTINE$128.$metadata$ = classMeta('$readAllStringCOROUTINE$128', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $checkErrorsCOROUTINE$129(_this__u8e3s4, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.x61_1 = _this__u8e3s4;
  }
  $checkErrorsCOROUTINE$129.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 3;
            if (!this.x61_1.o5u_1) {
              this.y61_1 = this.x61_1.j5u_1;
              this.o7_1 = 2;
              suspendResult = this.x61_1.z61(null, this, 1, null);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.o7_1 = 1;
              continue $sm;
            }

            break;
          case 1:
            return this.x61_1;
          case 2:
            var ARGUMENT = suspendResult;
            throw HttpException_init_$Create$(this.y61_1, ARGUMENT, this.x61_1.k5u_1, null, 8, null);
          case 3:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 3) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $checkErrorsCOROUTINE$129.$metadata$ = classMeta('$checkErrorsCOROUTINE$129', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function RequestConfig_init_$Init$(followRedirects, throwErrors, maxRedirects, referer, simulateBrowser, $mask0, $marker, $this) {
    if (!(($mask0 & 1) === 0))
      followRedirects = true;
    if (!(($mask0 & 2) === 0))
      throwErrors = false;
    if (!(($mask0 & 4) === 0))
      maxRedirects = 10;
    if (!(($mask0 & 8) === 0))
      referer = null;
    if (!(($mask0 & 16) === 0))
      simulateBrowser = false;
    RequestConfig.call($this, followRedirects, throwErrors, maxRedirects, referer, simulateBrowser);
    return $this;
  }
  function RequestConfig_init_$Create$(followRedirects, throwErrors, maxRedirects, referer, simulateBrowser, $mask0, $marker) {
    return RequestConfig_init_$Init$(followRedirects, throwErrors, maxRedirects, referer, simulateBrowser, $mask0, $marker, Object.create(RequestConfig.prototype));
  }
  function Companion_18() {
    Companion_instance_18 = this;
    var tmp = this;
    tmp.a62_1 = RequestConfig_init_$Create$(false, false, 0, null, false, 31, null);
  }
  Companion_18.$metadata$ = objectMeta('Companion');
  var Companion_instance_18;
  function Companion_getInstance_23() {
    if (Companion_instance_18 == null)
      new Companion_18();
    return Companion_instance_18;
  }
  function Response(status, statusText, headers, rawContent, content) {
    Companion_getInstance_22();
    this.j5u_1 = status;
    this.k5u_1 = statusText;
    this.l5u_1 = headers;
    this.m5u_1 = rawContent;
    this.n5u_1 = content;
    this.o5u_1 = this.j5u_1 < 400;
    var tmp = this;
    tmp.p5u_1 = lazy(HttpClient$Response$responseCharset$delegate$lambda);
  }
  Response.prototype.o61 = function ($cont) {
    var tmp = new $readAllBytesCOROUTINE$127(this, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  Response.prototype.b62 = function () {
    var tmp$ret$0;
    // Inline function 'kotlin.getValue' call
    var tmp0_getValue = responseCharset$factory();
    tmp$ret$0 = this.p5u_1.l1();
    return tmp$ret$0;
  };
  Response.prototype.c62 = function (charset, $cont) {
    var tmp = new $readAllStringCOROUTINE$128(this, charset, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  Response.prototype.z61 = function (charset, $cont, $mask0, $handler) {
    if (!(($mask0 & 1) === 0))
      charset = this.b62();
    return this.c62(charset, $cont);
  };
  Response.prototype.u5w = function ($cont) {
    var tmp = new $checkErrorsCOROUTINE$129(this, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  Response.prototype.d62 = function (content) {
    return new CompletedResponse(this.j5u_1, this.k5u_1, this.l5u_1, content);
  };
  Response.prototype.toString = function () {
    return 'Response(status=' + this.j5u_1 + ', statusText=' + this.k5u_1 + ', headers=' + this.l5u_1 + ', rawContent=' + this.m5u_1 + ', content=' + this.n5u_1 + ')';
  };
  Response.prototype.hashCode = function () {
    var result = this.j5u_1;
    result = imul(result, 31) + getStringHashCode(this.k5u_1) | 0;
    result = imul(result, 31) + this.l5u_1.hashCode() | 0;
    result = imul(result, 31) + hashCode(this.m5u_1) | 0;
    result = imul(result, 31) + hashCode(this.n5u_1) | 0;
    return result;
  };
  Response.prototype.equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof Response))
      return false;
    var tmp0_other_with_cast = other instanceof Response ? other : THROW_CCE();
    if (!(this.j5u_1 === tmp0_other_with_cast.j5u_1))
      return false;
    if (!(this.k5u_1 === tmp0_other_with_cast.k5u_1))
      return false;
    if (!this.l5u_1.equals(tmp0_other_with_cast.l5u_1))
      return false;
    if (!equals(this.m5u_1, tmp0_other_with_cast.m5u_1))
      return false;
    if (!equals(this.n5u_1, tmp0_other_with_cast.n5u_1))
      return false;
    return true;
  };
  Response.$metadata$ = classMeta('Response');
  function CompletedResponse(status, statusText, headers, content) {
    this.e62_1 = status;
    this.f62_1 = statusText;
    this.g62_1 = headers;
    this.h62_1 = content;
    this.i62_1 = this.e62_1 < 400;
  }
  CompletedResponse.prototype.toString = function () {
    return 'CompletedResponse(status=' + this.e62_1 + ', statusText=' + this.f62_1 + ', headers=' + this.g62_1 + ', content=' + this.h62_1 + ')';
  };
  CompletedResponse.prototype.hashCode = function () {
    var result = this.e62_1;
    result = imul(result, 31) + getStringHashCode(this.f62_1) | 0;
    result = imul(result, 31) + this.g62_1.hashCode() | 0;
    result = imul(result, 31) + (this.h62_1 == null ? 0 : hashCode(this.h62_1)) | 0;
    return result;
  };
  CompletedResponse.prototype.equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CompletedResponse))
      return false;
    var tmp0_other_with_cast = other instanceof CompletedResponse ? other : THROW_CCE();
    if (!(this.e62_1 === tmp0_other_with_cast.e62_1))
      return false;
    if (!(this.f62_1 === tmp0_other_with_cast.f62_1))
      return false;
    if (!this.g62_1.equals(tmp0_other_with_cast.g62_1))
      return false;
    if (!equals(this.h62_1, tmp0_other_with_cast.h62_1))
      return false;
    return true;
  };
  CompletedResponse.$metadata$ = classMeta('CompletedResponse');
  function RequestConfig(followRedirects, throwErrors, maxRedirects, referer, simulateBrowser) {
    Companion_getInstance_23();
    this.j62_1 = followRedirects;
    this.k62_1 = throwErrors;
    this.l62_1 = maxRedirects;
    this.m62_1 = referer;
    this.n62_1 = simulateBrowser;
  }
  RequestConfig.prototype.o62 = function (followRedirects, throwErrors, maxRedirects, referer, simulateBrowser) {
    return new RequestConfig(followRedirects, throwErrors, maxRedirects, referer, simulateBrowser);
  };
  RequestConfig.prototype.p62 = function (followRedirects, throwErrors, maxRedirects, referer, simulateBrowser, $mask0, $handler) {
    if (!(($mask0 & 1) === 0))
      followRedirects = this.j62_1;
    if (!(($mask0 & 2) === 0))
      throwErrors = this.k62_1;
    if (!(($mask0 & 4) === 0))
      maxRedirects = this.l62_1;
    if (!(($mask0 & 8) === 0))
      referer = this.m62_1;
    if (!(($mask0 & 16) === 0))
      simulateBrowser = this.n62_1;
    return this.o62(followRedirects, throwErrors, maxRedirects, referer, simulateBrowser);
  };
  RequestConfig.prototype.toString = function () {
    return 'RequestConfig(followRedirects=' + this.j62_1 + ', throwErrors=' + this.k62_1 + ', maxRedirects=' + this.l62_1 + ', referer=' + this.m62_1 + ', simulateBrowser=' + this.n62_1 + ')';
  };
  RequestConfig.prototype.hashCode = function () {
    var result = this.j62_1 | 0;
    result = imul(result, 31) + (this.k62_1 | 0) | 0;
    result = imul(result, 31) + this.l62_1 | 0;
    result = imul(result, 31) + (this.m62_1 == null ? 0 : getStringHashCode(this.m62_1)) | 0;
    result = imul(result, 31) + (this.n62_1 | 0) | 0;
    return result;
  };
  RequestConfig.prototype.equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof RequestConfig))
      return false;
    var tmp0_other_with_cast = other instanceof RequestConfig ? other : THROW_CCE();
    if (!(this.j62_1 === tmp0_other_with_cast.j62_1))
      return false;
    if (!(this.k62_1 === tmp0_other_with_cast.k62_1))
      return false;
    if (!(this.l62_1 === tmp0_other_with_cast.l62_1))
      return false;
    if (!(this.m62_1 == tmp0_other_with_cast.m62_1))
      return false;
    if (!(this.n62_1 === tmp0_other_with_cast.n62_1))
      return false;
    return true;
  };
  RequestConfig.$metadata$ = classMeta('RequestConfig');
  function mergeUrls($this, base, append) {
    return Companion_getInstance_18().e60(base, append);
  }
  function Companion_19() {
    Companion_instance_19 = this;
    this.q62_1 = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.81 Safari/537.36';
    this.r62_1 = 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8';
    this.s62_1 = 'en-us';
    this.t62_1 = 'gzip, deflate';
    this.u62_1 = 'Close';
  }
  Companion_19.prototype.v62 = function (headers, host) {
    var out = Headers_init_$Create$([to('User-Agent', this.q62_1), to('Accept', this.r62_1), to('Accept-Language', this.s62_1), to('Accept-Encoding', this.t62_1), to('Connection', this.u62_1)]).u60(headers);
    return !(host == null) ? out.t60([to('Host', host)]) : out;
  };
  Companion_19.$metadata$ = objectMeta('Companion');
  var Companion_instance_19;
  function Companion_getInstance_24() {
    if (Companion_instance_19 == null)
      new Companion_19();
    return Companion_instance_19;
  }
  function $requestCOROUTINE$132(_this__u8e3s4, method, url, headers, content, config, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.e63_1 = _this__u8e3s4;
    this.f63_1 = method;
    this.g63_1 = url;
    this.h63_1 = headers;
    this.i63_1 = content;
    this.j63_1 = config;
  }
  $requestCOROUTINE$132.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 9;
            this.k63_1 = this.i63_1;
            if (this.k63_1 == null) {
              this.l63_1 = null;
              this.o7_1 = 2;
              continue $sm;
            } else {
              this.o7_1 = 1;
              suspendResult = this.k63_1.p5c(this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            }

            break;
          case 1:
            this.l63_1 = suspendResult;
            this.o7_1 = 2;
            continue $sm;
          case 2:
            this.m63_1 = this.l63_1;
            this.n63_1 = this.m63_1 == null ? new Long(0, 0) : this.m63_1;
            this.o63_1 = this.h63_1;
            var tmp_0;
            if (!(this.i63_1 == null)) {
              l$ret$1: do {
                var tmp_1;
                var tmp_2 = this.h63_1;
                if (isInterface(tmp_2, Collection)) {
                  tmp_1 = this.h63_1.p();
                } else {
                  tmp_1 = false;
                }
                if (tmp_1) {
                  this.p63_1 = false;
                  break l$ret$1;
                }
                var tmp0_iterator = this.h63_1.j();
                while (tmp0_iterator.k()) {
                  var element = tmp0_iterator.l();
                  if (equals_0(element.d_1, Companion_getInstance_21().v5x_1, true)) {
                    this.p63_1 = true;
                    break l$ret$1;
                  }
                }
                this.p63_1 = false;
              }
               while (false);
              tmp_0 = !this.p63_1;
            } else {
              tmp_0 = false;
            }

            if (tmp_0) {
              this.o63_1 = this.o63_1.t60([to(Companion_getInstance_21().v5x_1, toString(this.n63_1))]);
            }

            if (this.j63_1.n62_1) {
              this.o63_1 = Companion_getInstance_24().v62(this.o63_1, null);
            }

            this.o7_1 = 3;
            suspendResult = this.e63_1.t63(this.f63_1, this.g63_1, this.o63_1, this.i63_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            this.q63_1 = suspendResult;
            if (this.j63_1.k62_1) {
              this.o7_1 = 4;
              suspendResult = this.q63_1.u5w(this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.o7_1 = 5;
              continue $sm;
            }

            break;
          case 4:
            ;
            this.o7_1 = 5;
            continue $sm;
          case 5:
            this.r63_1 = this.q63_1;
            if (this.j63_1.j62_1 ? this.j63_1.l62_1 >= 0 : false) {
              this.s63_1 = this.r63_1.l5u_1.c19('location');
              if (!(this.s63_1 == null)) {
                this.o7_1 = 8;
                var tmp_3 = mergeUrls(this.e63_1, this.g63_1, this.s63_1);
                var tmp_4 = this.h63_1.t60([to('Referer', this.g63_1)]);
                var tmp_5 = this.j63_1.l62_1 - 1 | 0;
                suspendResult = this.e63_1.u63(this.f63_1, tmp_3, tmp_4, this.i63_1, this.j63_1.p62(false, false, tmp_5, null, false, 27, null), this);
                if (suspendResult === get_COROUTINE_SUSPENDED()) {
                  return suspendResult;
                }
                continue $sm;
              } else {
                this.o7_1 = 6;
                continue $sm;
              }
            } else {
              this.o7_1 = 7;
              continue $sm;
            }

            break;
          case 6:
            this.o7_1 = 7;
            continue $sm;
          case 7:
            return this.r63_1;
          case 8:
            return suspendResult;
          case 9:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 9) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $requestCOROUTINE$132.$metadata$ = classMeta('$requestCOROUTINE$132', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $requestAsBytesCOROUTINE$134(_this__u8e3s4, method, url, headers, content, config, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.d64_1 = _this__u8e3s4;
    this.e64_1 = method;
    this.f64_1 = url;
    this.g64_1 = headers;
    this.h64_1 = content;
    this.i64_1 = config;
  }
  $requestAsBytesCOROUTINE$134.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 3;
            this.o7_1 = 1;
            suspendResult = this.d64_1.u63(this.e64_1, this.f64_1, this.g64_1, this.h64_1, this.i64_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.j64_1 = suspendResult;
            this.o7_1 = 2;
            suspendResult = this.j64_1.o61(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            var ARGUMENT = suspendResult;
            return this.j64_1.d62(ARGUMENT);
          case 3:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 3) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $requestAsBytesCOROUTINE$134.$metadata$ = classMeta('$requestAsBytesCOROUTINE$134', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $readBytesCOROUTINE$135(_this__u8e3s4, url, config, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.s64_1 = _this__u8e3s4;
    this.t64_1 = url;
    this.u64_1 = config;
  }
  $readBytesCOROUTINE$135.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 2;
            this.o7_1 = 1;
            var tmp_0 = Companion_getInstance_19().j5w_1;
            suspendResult = this.s64_1.v64(tmp_0, this.t64_1, null, null, this.u64_1.p62(false, true, 0, null, false, 29, null), this, 12, null);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return ARGUMENT.h62_1;
          case 2:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 2) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $readBytesCOROUTINE$135.$metadata$ = classMeta('$readBytesCOROUTINE$135', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function HttpClient() {
    Companion_getInstance_24();
    this.g5w_1 = false;
  }
  HttpClient.prototype.u63 = function (method, url, headers, content, config, $cont) {
    var tmp = new $requestCOROUTINE$132(this, method, url, headers, content, config, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  HttpClient.prototype.t5w = function (method, url, headers, content, config, $cont, $mask0, $handler) {
    if (!(($mask0 & 4) === 0))
      headers = Headers_init_$Create$([]);
    if (!(($mask0 & 8) === 0))
      content = null;
    if (!(($mask0 & 16) === 0))
      config = Companion_getInstance_23().a62_1;
    return this.u63(method, url, headers, content, config, $cont);
  };
  HttpClient.prototype.w64 = function (method, url, headers, content, config, $cont) {
    var tmp = new $requestAsBytesCOROUTINE$134(this, method, url, headers, content, config, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  HttpClient.prototype.v64 = function (method, url, headers, content, config, $cont, $mask0, $handler) {
    if (!(($mask0 & 4) === 0))
      headers = Headers_init_$Create$([]);
    if (!(($mask0 & 8) === 0))
      content = null;
    if (!(($mask0 & 16) === 0)) {
      config = RequestConfig_init_$Create$(false, false, 0, null, false, 31, null);
    }
    return this.w64(method, url, headers, content, config, $cont);
  };
  HttpClient.prototype.x64 = function (url, config, $cont) {
    var tmp = new $readBytesCOROUTINE$135(this, url, config, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  HttpClient.prototype.h5w = function (url, config, $cont, $mask0, $handler) {
    if (!(($mask0 & 2) === 0)) {
      config = RequestConfig_init_$Create$(false, false, 0, null, false, 31, null);
    }
    return this.x64(url, config, $cont);
  };
  HttpClient.$metadata$ = classMeta('HttpClient');
  function createHttpClient() {
    init_properties_HttpClient_kt_5dwvbb();
    return get_defaultHttpFactory().y64();
  }
  function HttpStatusMessage() {
    HttpStatusMessage_instance = this;
    this.j60_1 = linkedMapOf([to(100, 'Continue'), to(101, 'Switching Protocols'), to(200, 'OK'), to(201, 'Created'), to(202, 'Accepted'), to(203, 'Non-Authoritative Information'), to(204, 'No Content'), to(205, 'Reset Content'), to(206, 'Partial Content'), to(300, 'Multiple Choices'), to(301, 'Moved Permanently'), to(302, 'Found'), to(303, 'See Other'), to(304, 'Not Modified'), to(305, 'Use Proxy'), to(307, 'Temporary Redirect'), to(400, 'Bad Request'), to(401, 'Unauthorized'), to(402, 'Payment Required'), to(403, 'Forbidden'), to(404, 'Not Found'), to(405, 'Method Not Allowed'), to(406, 'Not Acceptable'), to(407, 'Proxy Authentication Required'), to(408, 'Request Timeout'), to(409, 'Conflict'), to(410, 'Gone'), to(411, 'Length Required'), to(412, 'Precondition Failed'), to(413, 'Request Entity Too Large'), to(414, 'Request-URI Too Long'), to(415, 'Unsupported Media Type'), to(416, 'Requested Range Not Satisfiable'), to(417, 'Expectation Failed'), to(418, "I'm a teapot"), to(422, 'Unprocessable Entity (WebDAV - RFC 4918)'), to(423, 'Locked (WebDAV - RFC 4918)'), to(424, 'Failed Dependency (WebDAV) (RFC 4918)'), to(425, 'Unassigned'), to(426, 'Upgrade Required (RFC 7231)'), to(428, 'Precondition Required'), to(429, 'Too Many Requests'), to(431, 'Request Header Fileds Too Large)'), to(449, 'Error449'), to(451, 'Unavailable for Legal Reasons'), to(500, 'Internal Server Error'), to(501, 'Not Implemented'), to(502, 'Bad Gateway'), to(503, 'Service Unavailable'), to(504, 'Gateway Timeout'), to(505, 'HTTP Version Not Supported'), to(506, 'Variant Also Negotiates (RFC 2295)'), to(507, 'Insufficient Storage (WebDAV - RFC 4918)'), to(508, 'Loop Detected (WebDAV)'), to(509, 'Bandwidth Limit Exceeded'), to(510, 'Not Extended (RFC 2774)'), to(511, 'Network Authentication Required')]);
  }
  HttpStatusMessage.$metadata$ = objectMeta('HttpStatusMessage');
  var HttpStatusMessage_instance;
  function HttpStatusMessage_getInstance() {
    if (HttpStatusMessage_instance == null)
      new HttpStatusMessage();
    return HttpStatusMessage_instance;
  }
  function ProxiedHttpFactory(parent) {
    this.z64_1 = parent;
    this.a65_1 = parent;
  }
  ProxiedHttpFactory.prototype.y64 = function () {
    return this.a65_1.y64();
  };
  ProxiedHttpFactory.$metadata$ = classMeta('ProxiedHttpFactory', [HttpFactory]);
  function HttpFactory() {
  }
  HttpFactory.$metadata$ = interfaceMeta('HttpFactory');
  function get_defaultHttpFactory() {
    init_properties_HttpClient_kt_5dwvbb();
    return get__defaultHttpFactory();
  }
  function _defaultHttpFactory$delegate$lambda() {
    init_properties_HttpClient_kt_5dwvbb();
    return new ProxiedHttpFactory(get_httpFactory());
  }
  function _defaultHttpFactory$factory() {
    return getPropertyCallableRef('_defaultHttpFactory', 0, KProperty0, function () {
      return get__defaultHttpFactory();
    }, null);
  }
  function responseCharset$factory() {
    return getPropertyCallableRef('responseCharset', 1, KProperty1, function (receiver) {
      return receiver.b62();
    }, null);
  }
  var properties_initialized_HttpClient_kt_t7kzvv;
  function init_properties_HttpClient_kt_5dwvbb() {
    if (properties_initialized_HttpClient_kt_t7kzvv) {
    } else {
      properties_initialized_HttpClient_kt_t7kzvv = true;
      _defaultHttpFactory$delegate = lazy(_defaultHttpFactory$delegate$lambda);
    }
  }
  function Resourceable() {
  }
  Resourceable.$metadata$ = interfaceMeta('Resourceable');
  function ResourcesContainer() {
  }
  ResourcesContainer.$metadata$ = interfaceMeta('ResourcesContainer');
  function Resources_init_$Init$(coroutineContext, root, parent, $mask0, $marker, $this) {
    if (!(($mask0 & 2) === 0))
      root = get_resourcesVfs();
    if (!(($mask0 & 4) === 0))
      parent = null;
    Resources.call($this, coroutineContext, root, parent);
    return $this;
  }
  function Resources_init_$Create$(coroutineContext, root, parent, $mask0, $marker) {
    return Resources_init_$Init$(coroutineContext, root, parent, $mask0, $marker, Object.create(Resources.prototype));
  }
  function Resources(coroutineContext, root, parent) {
    this.c65_1 = coroutineContext;
    this.d65_1 = root;
    this.e65_1 = parent;
    this.f65_1 = LinkedHashMap_init_$Create$_0();
  }
  Resources.$metadata$ = classMeta('Resources', [ResourcesContainer]);
  function Companion_20() {
    Companion_instance_20 = this;
    this.g65_1 = new Context(false, false);
    this.h65_1 = new Context(true, true);
  }
  Companion_20.$metadata$ = objectMeta('Companion');
  var Companion_instance_20;
  function Companion_getInstance_25() {
    if (Companion_instance_20 == null)
      new Companion_20();
    return Companion_instance_20;
  }
  function Context(optimizedNumericLists, useFastArrayList) {
    Companion_getInstance_25();
    this.i65_1 = optimizedNumericLists;
    this.j65_1 = useFastArrayList;
  }
  Context.prototype.k65 = function () {
    return this.j65_1 ? FastArrayList_init_$Create$() : ArrayList_init_$Create$_0();
  };
  Context.prototype.toString = function () {
    return 'Context(optimizedNumericLists=' + this.i65_1 + ', useFastArrayList=' + this.j65_1 + ')';
  };
  Context.prototype.hashCode = function () {
    var result = this.i65_1 | 0;
    result = imul(result, 31) + (this.j65_1 | 0) | 0;
    return result;
  };
  Context.prototype.equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof Context))
      return false;
    var tmp0_other_with_cast = other instanceof Context ? other : THROW_CCE();
    if (!(this.i65_1 === tmp0_other_with_cast.i65_1))
      return false;
    if (!(this.j65_1 === tmp0_other_with_cast.j65_1))
      return false;
    return true;
  };
  Context.$metadata$ = classMeta('Context');
  function parseBooleanOrNull($this, s, context) {
    var tmp;
    if (s.l65('true')) {
      tmp = true;
    } else if (s.l65('false')) {
      tmp = false;
    } else if (s.l65('null')) {
      tmp = null;
    } else {
      invalidJson$default($this, null, 2, null);
    }
    return tmp;
  }
  function parseObject($this, s, context) {
    s.m65(_Char___init__impl__6a9atx(123));
    var tmp$ret$0;
    // Inline function 'kotlin.apply' call
    var tmp0_apply = LinkedHashMap_init_$Create$_0();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.soywiz.korio.serialization.json.Json.parseObject.<anonymous>' call
    obj: while (true) {
      var tmp0_subject = s.n65().o65();
      if (equals(new Char(tmp0_subject), new Char(_Char___init__impl__6a9atx(125))))
        break obj;
      else if (equals(new Char(tmp0_subject), new Char(_Char___init__impl__6a9atx(44))))
        continue obj;
      else {
        s.p65(0, 1, null);
      }
      var tmp = Json_getInstance().q65(s, context);
      var key = (!(tmp == null) ? typeof tmp === 'string' : false) ? tmp : THROW_CCE();
      s.n65().m65(_Char___init__impl__6a9atx(58));
      var value = Json_getInstance().q65(s, context);
      // Inline function 'kotlin.collections.set' call
      tmp0_apply.a(key, value);
    }
    tmp$ret$0 = tmp0_apply;
    return tmp$ret$0;
  }
  function parseArray($this, s, context) {
    var out = null;
    var outNumber = null;
    s.m65(_Char___init__impl__6a9atx(91));
    array: while (true) {
      var tmp0_subject = s.n65().o65();
      if (equals(new Char(tmp0_subject), new Char(_Char___init__impl__6a9atx(93))))
        break array;
      else if (equals(new Char(tmp0_subject), new Char(_Char___init__impl__6a9atx(44))))
        continue array;
      else {
        s.p65(0, 1, null);
      }
      var v = s.r65();
      if ((out == null ? context.i65_1 : false) ? (_Char___init__impl__6a9atx(48) <= v ? v <= _Char___init__impl__6a9atx(57) : false) ? true : equals(new Char(v), new Char(_Char___init__impl__6a9atx(45))) : false) {
        if (outNumber == null) {
          outNumber = DoubleArrayList_init_$Create$(0, 1, null);
        }
        outNumber.m4n(parseNumber($this, s));
      } else {
        if (out == null)
          out = context.k65();
        if (!(outNumber == null)) {
          // Inline function 'com.soywiz.kds.iterators.fastForEach' call
          var tmp0_fastForEach = outNumber;
          var n = 0;
          while (n < tmp0_fastForEach.i()) {
            // Inline function 'com.soywiz.korio.serialization.json.Json.parseArray.<anonymous>' call
            var tmp0 = n;
            n = tmp0 + 1 | 0;
            var tmp1__anonymous__uwfjfc = tmp0_fastForEach.t4n(tmp0);
            out.c(tmp1__anonymous__uwfjfc);
          }
          outNumber = null;
        }
        out.c($this.q65(s, context));
      }
    }
    var tmp1_elvis_lhs = outNumber;
    var tmp2_elvis_lhs = tmp1_elvis_lhs == null ? out : tmp1_elvis_lhs;
    return tmp2_elvis_lhs == null ? context.k65() : tmp2_elvis_lhs;
  }
  function parseNumber($this, s) {
    var start = s.y5z_1;
    // Inline function 'com.soywiz.korio.util.StrReader.skipWhile' call
    $l$loop: while (true) {
      var tmp;
      if (s.f5z()) {
        var tmp$ret$0;
        // Inline function 'com.soywiz.korio.serialization.json.Json.parseNumber.<anonymous>' call
        var tmp0__anonymous__q1qw7t = s.s65();
        tmp$ret$0 = (((((Char__compareTo_impl_ypi4mb(tmp0__anonymous__q1qw7t, _Char___init__impl__6a9atx(48)) >= 0 ? Char__compareTo_impl_ypi4mb(tmp0__anonymous__q1qw7t, _Char___init__impl__6a9atx(57)) <= 0 : false) ? true : equals(new Char(tmp0__anonymous__q1qw7t), new Char(_Char___init__impl__6a9atx(46)))) ? true : equals(new Char(tmp0__anonymous__q1qw7t), new Char(_Char___init__impl__6a9atx(101)))) ? true : equals(new Char(tmp0__anonymous__q1qw7t), new Char(_Char___init__impl__6a9atx(69)))) ? true : equals(new Char(tmp0__anonymous__q1qw7t), new Char(_Char___init__impl__6a9atx(45)))) ? true : equals(new Char(tmp0__anonymous__q1qw7t), new Char(_Char___init__impl__6a9atx(43)));
        tmp = tmp$ret$0;
      } else {
        tmp = false;
      }
      if (!tmp) {
        break $l$loop;
      }
      s.t65();
    }
    var end = s.y5z_1;
    return NumberParser_getInstance().u65(s.w5z_1, start, end);
  }
  function invalidJson($this, msg) {
    throw new IOException(msg);
  }
  function invalidJson$default($this, msg, $mask0, $handler) {
    if (!(($mask0 & 2) === 0))
      msg = 'Invalid JSON';
    return invalidJson($this, msg);
  }
  function Json() {
    Json_instance = this;
  }
  Json.prototype.v65 = function (s, context) {
    return this.q65(StrReader_init_$Create$(s, null, 0, 6, null), context);
  };
  Json.prototype.l5r = function (s, context, $mask0, $handler) {
    if (!(($mask0 & 2) === 0))
      context = Companion_getInstance_25().g65_1;
    return this.v65(s, context);
  };
  Json.prototype.q65 = function (s, context) {
    var ic = s.n65().r65();
    var tmp;
    if (equals(new Char(ic), new Char(_Char___init__impl__6a9atx(123)))) {
      tmp = parseObject(this, s, context);
    } else if (equals(new Char(ic), new Char(_Char___init__impl__6a9atx(91)))) {
      tmp = parseArray(this, s, context);
    } else if (((((((((((equals(new Char(ic), new Char(_Char___init__impl__6a9atx(45))) ? true : equals(new Char(ic), new Char(_Char___init__impl__6a9atx(43)))) ? true : equals(new Char(ic), new Char(_Char___init__impl__6a9atx(48)))) ? true : equals(new Char(ic), new Char(_Char___init__impl__6a9atx(49)))) ? true : equals(new Char(ic), new Char(_Char___init__impl__6a9atx(50)))) ? true : equals(new Char(ic), new Char(_Char___init__impl__6a9atx(51)))) ? true : equals(new Char(ic), new Char(_Char___init__impl__6a9atx(52)))) ? true : equals(new Char(ic), new Char(_Char___init__impl__6a9atx(53)))) ? true : equals(new Char(ic), new Char(_Char___init__impl__6a9atx(54)))) ? true : equals(new Char(ic), new Char(_Char___init__impl__6a9atx(55)))) ? true : equals(new Char(ic), new Char(_Char___init__impl__6a9atx(56)))) ? true : equals(new Char(ic), new Char(_Char___init__impl__6a9atx(57)))) {
      var dres = parseNumber(this, s);
      tmp = numberToInt(dres) === dres ? numberToInt(dres) : dres;
    } else if ((equals(new Char(ic), new Char(_Char___init__impl__6a9atx(116))) ? true : equals(new Char(ic), new Char(_Char___init__impl__6a9atx(102)))) ? true : equals(new Char(ic), new Char(_Char___init__impl__6a9atx(110)))) {
      tmp = parseBooleanOrNull(this, s, context);
    } else if (equals(new Char(ic), new Char(_Char___init__impl__6a9atx(34)))) {
      tmp = s.w65(false, 1, null);
    } else {
      invalidJson(this, "Not expected '" + new Char(ic) + "'");
    }
    return tmp;
  };
  Json.$metadata$ = objectMeta('Json');
  var Json_instance;
  function Json_getInstance() {
    if (Json_instance == null)
      new Json();
    return Json_instance;
  }
  function parse$level(stream) {
    var tmp$ret$0;
    // Inline function 'kotlin.collections.arrayListOf' call
    tmp$ret$0 = ArrayList_init_$Create$_0();
    var children = tmp$ret$0;
    while (stream.k()) {
      var tag = stream.l();
      var tmp0_subject = tag;
      if (tmp0_subject instanceof ProcessingInstructionTag)
      ;
      else {
        if (tmp0_subject instanceof CommentTag) {
          children.c(Companion_getInstance_26().o66(tag.n66_1));
        } else {
          if (tmp0_subject instanceof Text) {
            children.c(tag.k66_1 ? Companion_getInstance_26().m66(tag.j66_1) : Companion_getInstance_26().l66(tag.j66_1));
          } else {
            if (tmp0_subject instanceof OpenCloseTag) {
              var tmp = Companion_getInstance_26();
              var tmp$ret$1;
              // Inline function 'kotlin.collections.listOf' call
              tmp$ret$1 = emptyList();
              children.c(tmp.i66(tag.c66_1, tag.d66_1, tmp$ret$1));
            } else {
              if (tmp0_subject instanceof OpenTag) {
                var out = parse$level(stream);
                var tmp1_safe_receiver = out.y65_1;
                if (!((tmp1_safe_receiver == null ? null : tmp1_safe_receiver.b66_1) === tag.z65_1)) {
                  var tmp2_safe_receiver = out.y65_1;
                  throw IllegalArgumentException_init_$Create$('Expected ' + tag.z65_1 + ' but was ' + (tmp2_safe_receiver == null ? null : tmp2_safe_receiver.b66_1));
                }
                children.c(new Xml(Type_NODE_getInstance(), tag.z65_1, tag.a66_1, out.x65_1, ''));
              } else {
                if (tmp0_subject instanceof CloseTag)
                  return new Xml$Companion$parse$Level(children, tag);
                else {
                  throw IllegalArgumentException_init_$Create$('Unhandled ' + tag);
                }
              }
            }
          }
        }
      }
    }
    return new Xml$Companion$parse$Level(children, null);
  }
  function Xml$Companion$parse$Level(children, close) {
    this.x65_1 = children;
    this.y65_1 = close;
  }
  Xml$Companion$parse$Level.prototype.toString = function () {
    return 'Level(children=' + this.x65_1 + ', close=' + this.y65_1 + ')';
  };
  Xml$Companion$parse$Level.prototype.hashCode = function () {
    var result = hashCode(this.x65_1);
    result = imul(result, 31) + (this.y65_1 == null ? 0 : hashCode(this.y65_1)) | 0;
    return result;
  };
  Xml$Companion$parse$Level.prototype.equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof Xml$Companion$parse$Level))
      return false;
    var tmp0_other_with_cast = other instanceof Xml$Companion$parse$Level ? other : THROW_CCE();
    if (!equals(this.x65_1, tmp0_other_with_cast.x65_1))
      return false;
    if (!equals(this.y65_1, tmp0_other_with_cast.y65_1))
      return false;
    return true;
  };
  Xml$Companion$parse$Level.$metadata$ = classMeta('Level');
  var Type_NODE_instance;
  var Type_TEXT_instance;
  var Type_COMMENT_instance;
  var Type_entriesInitialized;
  function Type_initEntries() {
    if (Type_entriesInitialized)
      return Unit_getInstance();
    Type_entriesInitialized = true;
    Type_NODE_instance = new Type('NODE', 0);
    Type_TEXT_instance = new Type('TEXT', 1);
    Type_COMMENT_instance = new Type('COMMENT', 2);
  }
  function ProcessingInstructionTag(name, attributes) {
    Element_0.call(this);
    this.p66_1 = name;
    this.q66_1 = attributes;
  }
  ProcessingInstructionTag.$metadata$ = classMeta('ProcessingInstructionTag', undefined, undefined, undefined, undefined, Element_0.prototype);
  function OpenCloseTag(name, attributes) {
    Element_0.call(this);
    this.c66_1 = name;
    this.d66_1 = attributes;
  }
  OpenCloseTag.$metadata$ = classMeta('OpenCloseTag', undefined, undefined, undefined, undefined, Element_0.prototype);
  function OpenTag(name, attributes) {
    Element_0.call(this);
    this.z65_1 = name;
    this.a66_1 = attributes;
  }
  OpenTag.$metadata$ = classMeta('OpenTag', undefined, undefined, undefined, undefined, Element_0.prototype);
  function CommentTag(text) {
    Element_0.call(this);
    this.n66_1 = text;
  }
  CommentTag.$metadata$ = classMeta('CommentTag', undefined, undefined, undefined, undefined, Element_0.prototype);
  function CloseTag(name) {
    Element_0.call(this);
    this.b66_1 = name;
  }
  CloseTag.$metadata$ = classMeta('CloseTag', undefined, undefined, undefined, undefined, Element_0.prototype);
  function Text(text) {
    Element_0.call(this);
    this.j66_1 = text;
    this.k66_1 = false;
  }
  Text.$metadata$ = classMeta('Text', undefined, undefined, undefined, undefined, Element_0.prototype);
  function matchStringOrId(_this__u8e3s4, $this) {
    var tmp0_elvis_lhs = _this__u8e3s4.r66();
    return tmp0_elvis_lhs == null ? _this__u8e3s4.s66() : tmp0_elvis_lhs;
  }
  function xmlSequence($this, r) {
    return sequence(Xml$Stream$xmlSequence$slambda_0(r, null));
  }
  function Xml2Iterable(reader2) {
    this.t66_1 = reader2;
    this.u66_1 = this.t66_1.z4n();
  }
  Xml2Iterable.prototype.j = function () {
    return xmlSequence(Stream_getInstance(), this.u66_1).j();
  };
  Xml2Iterable.$metadata$ = classMeta('Xml2Iterable', [Iterable]);
  function Element_0() {
  }
  Element_0.$metadata$ = classMeta('Element');
  function Xml$Stream$xmlSequence$slambda($r, resultContinuation) {
    this.d67_1 = $r;
    CoroutineImpl.call(this, resultContinuation);
  }
  Xml$Stream$xmlSequence$slambda.prototype.h67 = function ($this$sequence, $cont) {
    var tmp = this.i67($this$sequence, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  Xml$Stream$xmlSequence$slambda.prototype.w7 = function (p1, $cont) {
    return this.h67(p1 instanceof SequenceScope ? p1 : THROW_CCE(), $cont);
  };
  Xml$Stream$xmlSequence$slambda.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 8;
            this.o7_1 = 1;
            continue $sm;
          case 1:
            if (!!this.d67_1.e5z()) {
              this.o7_1 = 7;
              continue $sm;
            }

            var tmp_0 = this;
            var tmp0_elvis_lhs = this.d67_1.j67(_Char___init__impl__6a9atx(60));
            tmp_0.f67_1 = tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs;
            if (charSequenceLength(this.f67_1) > 0) {
              this.o7_1 = 2;
              suspendResult = this.e67_1.h5(new Text(Entities_getInstance().n67(this.f67_1)), this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.o7_1 = 3;
              continue $sm;
            }

            break;
          case 2:
            this.o7_1 = 3;
            continue $sm;
          case 3:
            if (this.d67_1.e5z()) {
              this.o7_1 = 7;
              continue $sm;
            } else {
              this.o7_1 = 4;
              continue $sm;
            }

            break;
          case 4:
            this.d67_1.m65(_Char___init__impl__6a9atx(60));
            this.g67_1 = null;
            if (this.d67_1.p67('![CDATA[')) {
              var start = this.d67_1.y5z_1;
              $l$loop: while (!this.d67_1.e5z()) {
                var end = this.d67_1.y5z_1;
                if (this.d67_1.p67(']]>')) {
                  var tmp_1 = this;
                  var tmp0_also = new Text(this.d67_1.q67(start, end).u67());
                  tmp0_also.k66_1 = true;
                  tmp_1.g67_1 = tmp0_also;
                  break $l$loop;
                }
                this.d67_1.t65();
              }
            } else if (this.d67_1.p67('!--')) {
              var start_0 = this.d67_1.y5z_1;
              $l$loop_0: while (!this.d67_1.e5z()) {
                var end_0 = this.d67_1.y5z_1;
                if (this.d67_1.p67('-->')) {
                  this.g67_1 = new CommentTag(this.d67_1.q67(start_0, end_0).u67());
                  break $l$loop_0;
                }
                this.d67_1.t65();
              }
            } else {
              this.d67_1.n65();
              var processingInstruction = this.d67_1.o67(_Char___init__impl__6a9atx(63));
              var processingEntityOrDocType = this.d67_1.o67(_Char___init__impl__6a9atx(33));
              var close = this.d67_1.o67(_Char___init__impl__6a9atx(47)) ? true : processingEntityOrDocType;
              this.d67_1.n65();
              var tmp1_elvis_lhs = this.d67_1.s66();
              var tmp_2;
              if (tmp1_elvis_lhs == null) {
                var tmp1_error = "Couldn't match identifier after '<', offset=" + this.d67_1.y5z_1 + ", around='" + this.d67_1.b4v(10) + "'";
                throw IllegalStateException_init_$Create$(toString(tmp1_error));
              } else {
                tmp_2 = tmp1_elvis_lhs;
              }
              var name = tmp_2;
              this.d67_1.n65();
              var attributes = LinkedHashMap_init_$Create$_0();
              while ((!equals(new Char(this.d67_1.s65()), new Char(_Char___init__impl__6a9atx(63))) ? !equals(new Char(this.d67_1.s65()), new Char(_Char___init__impl__6a9atx(47))) : false) ? !equals(new Char(this.d67_1.s65()), new Char(_Char___init__impl__6a9atx(62))) : false) {
                var tmp2_elvis_lhs = matchStringOrId(this.d67_1, Stream_getInstance());
                var tmp_3;
                if (tmp2_elvis_lhs == null) {
                  throw IllegalArgumentException_init_$Create$('Malformed document or unsupported xml construct around ~' + this.d67_1.b4v(10) + "~ for name '" + name + "'");
                } else {
                  tmp_3 = tmp2_elvis_lhs;
                }
                var key = tmp_3;
                this.d67_1.n65();
                if (this.d67_1.p67('=')) {
                  this.d67_1.n65();
                  var argsQuote = matchStringOrId(this.d67_1, Stream_getInstance());
                  var tmp_4;
                  if (!(argsQuote == null)) {
                    var tmp_5 = Entities_getInstance();
                    var tmp2_substring = argsQuote.length - 1 | 0;
                    tmp_4 = tmp_5.n67(argsQuote.substring(1, tmp2_substring));
                  } else {
                    tmp_4 = Entities_getInstance().n67(ensureNotNull(this.d67_1.s66()));
                  }
                  var tmp3_set = tmp_4;
                  attributes.a(key, tmp3_set);
                } else {
                  attributes.a(key, key);
                }
                this.d67_1.n65();
              }
              var openclose = this.d67_1.o67(_Char___init__impl__6a9atx(47));
              var processingInstructionEnd = this.d67_1.o67(_Char___init__impl__6a9atx(63));
              this.d67_1.m65(_Char___init__impl__6a9atx(62));
              this.g67_1 = (processingInstruction ? true : processingEntityOrDocType) ? new ProcessingInstructionTag(name, attributes) : openclose ? new OpenCloseTag(name, attributes) : close ? new CloseTag(name) : new OpenTag(name, attributes);
            }

            if (!(this.g67_1 == null)) {
              this.o7_1 = 5;
              suspendResult = this.e67_1.h5(this.g67_1, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.o7_1 = 6;
              continue $sm;
            }

            break;
          case 5:
            this.o7_1 = 6;
            continue $sm;
          case 6:
            this.o7_1 = 1;
            continue $sm;
          case 7:
            return Unit_getInstance();
          case 8:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 8) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  Xml$Stream$xmlSequence$slambda.prototype.i67 = function ($this$sequence, completion) {
    var i = new Xml$Stream$xmlSequence$slambda(this.d67_1, completion);
    i.e67_1 = $this$sequence;
    return i;
  };
  Xml$Stream$xmlSequence$slambda.$metadata$ = classMeta('Xml$Stream$xmlSequence$slambda', undefined, undefined, undefined, [1], CoroutineImpl.prototype);
  function Xml$Stream$xmlSequence$slambda_0($r, resultContinuation) {
    var i = new Xml$Stream$xmlSequence$slambda($r, resultContinuation);
    var l = function ($this$sequence, $cont) {
      return i.h67($this$sequence, $cont);
    };
    l.$arity = 1;
    return l;
  }
  function Companion_21() {
    Companion_instance_21 = this;
    this.e66_1 = '_raw_';
    this.f66_1 = '_text_';
    this.g66_1 = '_cdata_';
    this.h66_1 = '_comment_';
  }
  Companion_21.prototype.i66 = function (tagName, attributes, children) {
    var tmp = Type_NODE_getInstance();
    var tmp$ret$7;
    // Inline function 'kotlin.collections.map' call
    var tmp$ret$3;
    // Inline function 'kotlin.collections.filter' call
    var tmp$ret$2;
    // Inline function 'kotlin.collections.filterTo' call
    var tmp0_filterTo = LinkedHashMap_init_$Create$_0();
    var tmp$ret$0;
    // Inline function 'kotlin.collections.iterator' call
    tmp$ret$0 = attributes.j1().j();
    var tmp0_iterator = tmp$ret$0;
    while (tmp0_iterator.k()) {
      var element = tmp0_iterator.l();
      var tmp$ret$1;
      // Inline function 'com.soywiz.korio.serialization.xml.Companion.Tag.<anonymous>' call
      tmp$ret$1 = !(element.l1() == null);
      if (tmp$ret$1) {
        tmp0_filterTo.a(element.k1(), element.l1());
      }
    }
    tmp$ret$2 = tmp0_filterTo;
    tmp$ret$3 = tmp$ret$2;
    var tmp0_map = tmp$ret$3;
    var tmp$ret$6;
    // Inline function 'kotlin.collections.mapTo' call
    var tmp0_mapTo = ArrayList_init_$Create$(tmp0_map.i());
    var tmp$ret$4;
    // Inline function 'kotlin.collections.iterator' call
    tmp$ret$4 = tmp0_map.j1().j();
    var tmp0_iterator_0 = tmp$ret$4;
    while (tmp0_iterator_0.k()) {
      var item = tmp0_iterator_0.l();
      var tmp$ret$5;
      // Inline function 'com.soywiz.korio.serialization.xml.Companion.Tag.<anonymous>' call
      tmp$ret$5 = to(item.k1(), toString_0(item.l1()));
      tmp0_mapTo.c(tmp$ret$5);
    }
    tmp$ret$6 = tmp0_mapTo;
    tmp$ret$7 = tmp$ret$6;
    return new Xml(tmp, tagName, toMap(tmp$ret$7), children, '');
  };
  Companion_21.prototype.l66 = function (text) {
    var tmp = Type_TEXT_getInstance();
    var tmp_0 = LinkedHashMap_init_$Create$_0();
    var tmp$ret$0;
    // Inline function 'kotlin.collections.listOf' call
    tmp$ret$0 = emptyList();
    return new Xml(tmp, '_text_', tmp_0, tmp$ret$0, text);
  };
  Companion_21.prototype.m66 = function (text) {
    var tmp = Type_TEXT_getInstance();
    var tmp_0 = LinkedHashMap_init_$Create$_0();
    var tmp$ret$0;
    // Inline function 'kotlin.collections.listOf' call
    tmp$ret$0 = emptyList();
    return new Xml(tmp, '_cdata_', tmp_0, tmp$ret$0, text);
  };
  Companion_21.prototype.o66 = function (text) {
    var tmp = Type_COMMENT_getInstance();
    var tmp_0 = LinkedHashMap_init_$Create$_0();
    var tmp$ret$0;
    // Inline function 'kotlin.collections.listOf' call
    tmp$ret$0 = emptyList();
    return new Xml(tmp, '_comment_', tmp_0, tmp$ret$0, text);
  };
  Companion_21.prototype.f31 = function (str) {
    try {
      var stream = Stream_getInstance().f31(str).j();
      var children = parse$level(stream).x65_1;
      var tmp$ret$1;
      $l$block: {
        // Inline function 'kotlin.collections.firstOrNull' call
        var tmp0_iterator = children.j();
        while (tmp0_iterator.k()) {
          var element = tmp0_iterator.l();
          var tmp$ret$0;
          // Inline function 'com.soywiz.korio.serialization.xml.Companion.parse.<anonymous>' call
          tmp$ret$0 = element.v67_1.equals(Type_NODE_getInstance());
          if (tmp$ret$0) {
            tmp$ret$1 = element;
            break $l$block;
          }
        }
        tmp$ret$1 = null;
      }
      var tmp0_elvis_lhs = tmp$ret$1;
      var tmp1_elvis_lhs = tmp0_elvis_lhs == null ? firstOrNull(children) : tmp0_elvis_lhs;
      return tmp1_elvis_lhs == null ? Companion_getInstance_26().l66('') : tmp1_elvis_lhs;
    } catch ($p) {
      if ($p instanceof NoSuchElementException) {
        println('ERROR: XML: ' + str + ' thrown a NoSuchElementException');
        return Companion_getInstance_26().l66('!!ERRORED!!');
      } else {
        throw $p;
      }
    }
  };
  Companion_21.$metadata$ = objectMeta('Companion');
  var Companion_instance_21;
  function Companion_getInstance_26() {
    if (Companion_instance_21 == null)
      new Companion_21();
    return Companion_instance_21;
  }
  function Type(name, ordinal) {
    Enum.call(this, name, ordinal);
  }
  Type.$metadata$ = classMeta('Type', undefined, undefined, undefined, undefined, Enum.prototype);
  function Entities() {
    Entities_instance = this;
    this.k67_1 = linkedMapOf([to(new Char(_Char___init__impl__6a9atx(34)), '&quot;'), to(new Char(_Char___init__impl__6a9atx(39)), '&apos;'), to(new Char(_Char___init__impl__6a9atx(60)), '&lt;'), to(new Char(_Char___init__impl__6a9atx(62)), '&gt;'), to(new Char(_Char___init__impl__6a9atx(38)), '&amp;')]);
    var tmp = this;
    var tmp_0 = Companion_getInstance_28();
    var tmp$ret$0;
    // Inline function 'kotlin.collections.toTypedArray' call
    var tmp0_toTypedArray = this.k67_1.lh();
    tmp$ret$0 = copyToArray(tmp0_toTypedArray);
    tmp.l67_1 = tmp_0.c68(tmp$ret$0);
    this.m67_1 = flip(this.k67_1);
  }
  Entities.prototype.d68 = function (str) {
    var tmp$ret$2;
    // Inline function 'com.soywiz.korio.lang.eachBuilder' call
    var tmp$ret$1;
    // Inline function 'kotlin.text.buildString' call
    // Inline function 'kotlin.contracts.contract' call
    var tmp$ret$0;
    // Inline function 'kotlin.apply' call
    var tmp0_apply = StringBuilder_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.soywiz.korio.lang.eachBuilder.<anonymous>' call
    var inductionVariable = 0;
    var last = str.length;
    if (inductionVariable < last)
      do {
        var n = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        // Inline function 'com.soywiz.korio.serialization.xml.Entities.encode.<anonymous>' call
        var tmp0__anonymous__q1qw7t = charSequenceGet(str, n);
        var entry = Entities_getInstance().k67_1.q(new Char(tmp0__anonymous__q1qw7t));
        if (!(entry == null)) {
          tmp0_apply.gc(entry);
        } else {
          tmp0_apply.g2(tmp0__anonymous__q1qw7t);
        }
      }
       while (inductionVariable < last);
    tmp$ret$0 = tmp0_apply;
    tmp$ret$1 = tmp$ret$0.toString();
    tmp$ret$2 = tmp$ret$1;
    return tmp$ret$2;
  };
  Entities.prototype.n67 = function (str) {
    return this.e68(StrReader_init_$Create$(str, null, 0, 6, null));
  };
  Entities.prototype.e68 = function (r) {
    var tmp$ret$5;
    // Inline function 'kotlin.text.buildString' call
    // Inline function 'kotlin.contracts.contract' call
    var tmp$ret$4;
    // Inline function 'kotlin.apply' call
    var tmp0_apply = StringBuilder_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.soywiz.korio.serialization.xml.Entities.decode.<anonymous>' call
    $l$loop: while (!r.e5z()) {
      var plain = r.j67(_Char___init__impl__6a9atx(38));
      if (!(plain == null)) {
        tmp0_apply.gc(plain);
      }
      if (r.e5z())
        break $l$loop;
      r.m65(_Char___init__impl__6a9atx(38));
      var tmp0_elvis_lhs = r.f68(_Char___init__impl__6a9atx(59));
      var value = tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs;
      var full = '&' + value;
      var tmp = _Char___init__impl__6a9atx(35);
      if (startsWith$default_0(value, tmp, false, 2, null)) {
        var tmp$ret$1;
        // Inline function 'kotlin.text.substring' call
        var tmp0_substring = value.length - 1 | 0;
        var tmp$ret$0;
        // Inline function 'kotlin.js.asDynamic' call
        tmp$ret$0 = value;
        tmp$ret$1 = tmp$ret$0.substring(1, tmp0_substring);
        tmp0_apply.g2(numberToChar(toInt_0(tmp$ret$1)));
      } else {
        var tmp$ret$3;
        // Inline function 'kotlin.collections.contains' call
        var tmp1_contains = Entities_getInstance().m67_1;
        var tmp$ret$2;
        // Inline function 'kotlin.collections.containsKey' call
        tmp$ret$2 = (isInterface(tmp1_contains, Map) ? tmp1_contains : THROW_CCE()).r3(full);
        tmp$ret$3 = tmp$ret$2;
        if (tmp$ret$3) {
          tmp0_apply.fc(Entities_getInstance().m67_1.q(full));
        } else {
          tmp0_apply.gc(full);
        }
      }
    }
    tmp$ret$4 = tmp0_apply;
    tmp$ret$5 = tmp$ret$4.toString();
    return tmp$ret$5;
  };
  Entities.$metadata$ = objectMeta('Entities');
  var Entities_instance;
  function Entities_getInstance() {
    if (Entities_instance == null)
      new Entities();
    return Entities_instance;
  }
  function Stream() {
    Stream_instance = this;
  }
  Stream.prototype.f31 = function (str) {
    return this.g68(StrReader_init_$Create$(str, null, 0, 6, null));
  };
  Stream.prototype.g68 = function (r) {
    return new Xml2Iterable(r);
  };
  Stream.$metadata$ = objectMeta('Stream');
  var Stream_instance;
  function Stream_getInstance() {
    if (Stream_instance == null)
      new Stream();
    return Stream_instance;
  }
  function Type_NODE_getInstance() {
    Type_initEntries();
    return Type_NODE_instance;
  }
  function Type_TEXT_getInstance() {
    Type_initEntries();
    return Type_TEXT_instance;
  }
  function Type_COMMENT_getInstance() {
    Type_initEntries();
    return Type_COMMENT_instance;
  }
  function Xml(type, name, attributes, allChildren, content) {
    Companion_getInstance_26();
    this.v67_1 = type;
    this.w67_1 = name;
    this.x67_1 = attributes;
    this.y67_1 = allChildren;
    this.z67_1 = content;
    this.a68_1 = toCaseInsensitiveMap(this.x67_1);
    var tmp = this;
    var tmp$ret$2;
    // Inline function 'kotlin.text.trim' call
    var tmp$ret$1;
    // Inline function 'kotlin.text.toLowerCase' call
    var tmp0_toLowerCase = this.w67_1;
    var tmp$ret$0;
    // Inline function 'kotlin.js.asDynamic' call
    tmp$ret$0 = tmp0_toLowerCase;
    tmp$ret$1 = tmp$ret$0.toLowerCase();
    var tmp1_trim = tmp$ret$1;
    tmp$ret$2 = toString(trim_0(isCharSequence(tmp1_trim) ? tmp1_trim : THROW_CCE()));
    tmp.b68_1 = tmp$ret$2;
  }
  Xml.prototype.h68 = function () {
    return this.v67_1;
  };
  Xml.prototype.t2 = function () {
    return this.w67_1;
  };
  Xml.prototype.i68 = function () {
    var tmp$ret$2;
    // Inline function 'kotlin.collections.map' call
    var tmp0_map = toList_1(this.x67_1);
    var tmp$ret$1;
    // Inline function 'kotlin.collections.mapTo' call
    var tmp0_mapTo = ArrayList_init_$Create$(collectionSizeOrDefault(tmp0_map, 10));
    var tmp0_iterator = tmp0_map.j();
    while (tmp0_iterator.k()) {
      var item = tmp0_iterator.l();
      var tmp$ret$0;
      // Inline function 'com.soywiz.korio.serialization.xml.Xml.<get-attributesStr>.<anonymous>' call
      tmp$ret$0 = ' ' + item.d_1 + '="' + item.e_1 + '"';
      tmp0_mapTo.c(tmp$ret$0);
    }
    tmp$ret$1 = tmp0_mapTo;
    tmp$ret$2 = tmp$ret$1;
    var tmp = tmp$ret$2;
    return joinToString$default(tmp, '', null, null, 0, null, null, 62, null);
  };
  Xml.prototype.j68 = function () {
    var tmp0_subject = this.v67_1;
    var tmp0 = tmp0_subject.q2_1;
    var tmp;
    switch (tmp0) {
      case 0:
        var tmp_0;
        if (this.y67_1.p()) {
          tmp_0 = '<' + this.w67_1 + this.i68() + '/>';
        } else {
          var tmp$ret$2;
          // Inline function 'kotlin.collections.map' call
          var tmp0_map = this.y67_1;
          var tmp$ret$1;
          // Inline function 'kotlin.collections.mapTo' call
          var tmp0_mapTo = ArrayList_init_$Create$(collectionSizeOrDefault(tmp0_map, 10));
          var tmp0_iterator = tmp0_map.j();
          while (tmp0_iterator.k()) {
            var item = tmp0_iterator.l();
            var tmp$ret$0;
            // Inline function 'com.soywiz.korio.serialization.xml.Xml.<get-outerXml>.<anonymous>' call
            tmp$ret$0 = item.j68();
            tmp0_mapTo.c(tmp$ret$0);
          }
          tmp$ret$1 = tmp0_mapTo;
          tmp$ret$2 = tmp$ret$1;
          var tmp_1 = tmp$ret$2;
          var children = joinToString$default(tmp_1, '', null, null, 0, null, null, 62, null);
          tmp_0 = '<' + this.w67_1 + this.i68() + '>' + children + '<\/' + this.w67_1 + '>';
        }

        tmp = tmp_0;
        break;
      case 1:
        var tmp1_subject = this.w67_1;
        var tmp_2;
        Companion_getInstance_26();
        if (tmp1_subject === '_text_') {
          tmp_2 = Entities_getInstance().d68(this.z67_1);
        } else {
          Companion_getInstance_26();
          if (tmp1_subject === '_cdata_') {
            tmp_2 = '<![CDATA[' + this.z67_1 + ']]>';
          } else {
            Companion_getInstance_26();
            if (tmp1_subject === '_raw_') {
              tmp_2 = this.z67_1;
            } else {
              tmp_2 = this.z67_1;
            }
          }
        }

        tmp = tmp_2;
        break;
      case 2:
        tmp = '<!--' + this.z67_1 + '-->';
        break;
      default:
        noWhenBranchMatchedException();
        break;
    }
    return tmp;
  };
  Xml.prototype.c19 = function (name) {
    return this.k68(name);
  };
  Xml.prototype.k68 = function (name) {
    var tmp$ret$2;
    // Inline function 'kotlin.collections.filter' call
    var tmp0_filter = this.y67_1;
    var tmp$ret$1;
    // Inline function 'kotlin.collections.filterTo' call
    var tmp0_filterTo = ArrayList_init_$Create$_0();
    var tmp0_iterator = tmp0_filter.j();
    while (tmp0_iterator.k()) {
      var element = tmp0_iterator.l();
      var tmp$ret$0;
      // Inline function 'com.soywiz.korio.serialization.xml.Xml.children.<anonymous>' call
      tmp$ret$0 = equals_0(element.w67_1, name, true);
      if (tmp$ret$0) {
        tmp0_filterTo.c(element);
      }
    }
    tmp$ret$1 = tmp0_filterTo;
    tmp$ret$2 = tmp$ret$1;
    return tmp$ret$2;
  };
  Xml.prototype.l68 = function (name, defaultValue) {
    var tmp0_safe_receiver = this.a68_1.q(name);
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : toDoubleOrNull(tmp0_safe_receiver);
    return tmp1_elvis_lhs == null ? defaultValue : tmp1_elvis_lhs;
  };
  Xml.prototype.m68 = function (name, defaultValue) {
    var tmp0_safe_receiver = this.a68_1.q(name);
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : toIntOrNull(tmp0_safe_receiver);
    return tmp1_elvis_lhs == null ? defaultValue : tmp1_elvis_lhs;
  };
  Xml.prototype.n68 = function (name, defaultValue, $mask0, $handler) {
    if (!(($mask0 & 2) === 0))
      defaultValue = 0;
    return this.m68(name, defaultValue);
  };
  Xml.prototype.o68 = function (name, defaultValue) {
    var tmp0_elvis_lhs = this.a68_1.q(name);
    return tmp0_elvis_lhs == null ? defaultValue : tmp0_elvis_lhs;
  };
  Xml.prototype.p68 = function (name, defaultValue, $mask0, $handler) {
    if (!(($mask0 & 2) === 0))
      defaultValue = '';
    return this.o68(name, defaultValue);
  };
  Xml.prototype.toString = function () {
    return this.j68();
  };
  Xml.prototype.hashCode = function () {
    var result = this.v67_1.hashCode();
    result = imul(result, 31) + getStringHashCode(this.w67_1) | 0;
    result = imul(result, 31) + hashCode(this.x67_1) | 0;
    result = imul(result, 31) + hashCode(this.y67_1) | 0;
    result = imul(result, 31) + getStringHashCode(this.z67_1) | 0;
    return result;
  };
  Xml.prototype.equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof Xml))
      return false;
    var tmp0_other_with_cast = other instanceof Xml ? other : THROW_CCE();
    if (!this.v67_1.equals(tmp0_other_with_cast.v67_1))
      return false;
    if (!(this.w67_1 === tmp0_other_with_cast.w67_1))
      return false;
    if (!equals(this.x67_1, tmp0_other_with_cast.x67_1))
      return false;
    if (!equals(this.y67_1, tmp0_other_with_cast.y67_1))
      return false;
    if (!(this.z67_1 === tmp0_other_with_cast.z67_1))
      return false;
    return true;
  };
  Xml.$metadata$ = classMeta('Xml');
  function Xml_0(str) {
    return Companion_getInstance_26().f31(str);
  }
  function get_1(_this__u8e3s4, name) {
    return children(_this__u8e3s4, name);
  }
  function children(_this__u8e3s4, name) {
    var tmp$ret$2;
    // Inline function 'kotlin.collections.flatMap' call
    var tmp$ret$1;
    // Inline function 'kotlin.collections.flatMapTo' call
    var tmp0_flatMapTo = ArrayList_init_$Create$_0();
    var tmp0_iterator = _this__u8e3s4.j();
    while (tmp0_iterator.k()) {
      var element = tmp0_iterator.l();
      var tmp$ret$0;
      // Inline function 'com.soywiz.korio.serialization.xml.children.<anonymous>' call
      tmp$ret$0 = element.k68(name);
      var list = tmp$ret$0;
      addAll(tmp0_flatMapTo, list);
    }
    tmp$ret$1 = tmp0_flatMapTo;
    tmp$ret$2 = tmp$ret$1;
    return tmp$ret$2;
  }
  function get_EMPTY_BYTE_ARRAY() {
    init_properties_AsyncStream_kt_qhrpjs();
    return EMPTY_BYTE_ARRAY;
  }
  var EMPTY_BYTE_ARRAY;
  function AsyncStream_init_$Init$(base, position, queue, $mask0, $marker, $this) {
    if (!(($mask0 & 2) === 0))
      position = new Long(0, 0);
    if (!(($mask0 & 4) === 0))
      queue = false;
    AsyncStream.call($this, base, position, queue);
    return $this;
  }
  function AsyncStream_init_$Create$(base, position, queue, $mask0, $marker) {
    return AsyncStream_init_$Init$(base, position, queue, $mask0, $marker, Object.create(AsyncStream.prototype));
  }
  function readInternal($this, buffer, offset, len, $cont) {
    var tmp = new $readInternalCOROUTINE$158($this, buffer, offset, len, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  }
  function writeInternal($this, buffer, offset, len, $cont) {
    var tmp = new $writeInternalCOROUTINE$159($this, buffer, offset, len, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  }
  function AsyncStream$read$slambda(this$0, $buffer, $offset, $len, resultContinuation) {
    this.w69_1 = this$0;
    this.x69_1 = $buffer;
    this.y69_1 = $offset;
    this.z69_1 = $len;
    CoroutineImpl.call(this, resultContinuation);
  }
  AsyncStream$read$slambda.prototype.a6a = function ($cont) {
    var tmp = this.k53($cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  AsyncStream$read$slambda.prototype.to = function ($cont) {
    return this.a6a($cont);
  };
  AsyncStream$read$slambda.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 2;
            this.o7_1 = 1;
            suspendResult = readInternal(this.w69_1, this.x69_1, this.y69_1, this.z69_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return suspendResult;
          case 2:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 2) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  AsyncStream$read$slambda.prototype.k53 = function (completion) {
    var i = new AsyncStream$read$slambda(this.w69_1, this.x69_1, this.y69_1, this.z69_1, completion);
    return i;
  };
  AsyncStream$read$slambda.$metadata$ = classMeta('AsyncStream$read$slambda', undefined, undefined, undefined, [0], CoroutineImpl.prototype);
  function AsyncStream$read$slambda_0(this$0, $buffer, $offset, $len, resultContinuation) {
    var i = new AsyncStream$read$slambda(this$0, $buffer, $offset, $len, resultContinuation);
    var l = function ($cont) {
      return i.a6a($cont);
    };
    l.$arity = 0;
    return l;
  }
  function AsyncStream$write$slambda(this$0, $buffer, $offset, $len, resultContinuation) {
    this.j6a_1 = this$0;
    this.k6a_1 = $buffer;
    this.l6a_1 = $offset;
    this.m6a_1 = $len;
    CoroutineImpl.call(this, resultContinuation);
  }
  AsyncStream$write$slambda.prototype.z56 = function ($cont) {
    var tmp = this.k53($cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  AsyncStream$write$slambda.prototype.to = function ($cont) {
    return this.z56($cont);
  };
  AsyncStream$write$slambda.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 2;
            this.o7_1 = 1;
            suspendResult = writeInternal(this.j6a_1, this.k6a_1, this.l6a_1, this.m6a_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return Unit_getInstance();
          case 2:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 2) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  AsyncStream$write$slambda.prototype.k53 = function (completion) {
    var i = new AsyncStream$write$slambda(this.j6a_1, this.k6a_1, this.l6a_1, this.m6a_1, completion);
    return i;
  };
  AsyncStream$write$slambda.$metadata$ = classMeta('AsyncStream$write$slambda', undefined, undefined, undefined, [0], CoroutineImpl.prototype);
  function AsyncStream$write$slambda_0(this$0, $buffer, $offset, $len, resultContinuation) {
    var i = new AsyncStream$write$slambda(this$0, $buffer, $offset, $len, resultContinuation);
    var l = function ($cont) {
      return i.z56($cont);
    };
    l.$arity = 0;
    return l;
  }
  function $readCOROUTINE$156(_this__u8e3s4, buffer, offset, len, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.v6a_1 = _this__u8e3s4;
    this.w6a_1 = buffer;
    this.x6a_1 = offset;
    this.y6a_1 = len;
  }
  $readCOROUTINE$156.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 4;
            if (this.v6a_1.z5k_1) {
              this.o7_1 = 2;
              suspendResult = this.v6a_1.b5l_1.m53(AsyncStream$read$slambda_0(this.v6a_1, this.w6a_1, this.x6a_1, this.y6a_1, null), this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.o7_1 = 1;
              suspendResult = readInternal(this.v6a_1, this.w6a_1, this.x6a_1, this.y6a_1, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            }

            break;
          case 1:
            this.z6a_1 = suspendResult;
            this.o7_1 = 3;
            continue $sm;
          case 2:
            this.z6a_1 = suspendResult;
            this.o7_1 = 3;
            continue $sm;
          case 3:
            return this.z6a_1;
          case 4:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 4) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $readCOROUTINE$156.$metadata$ = classMeta('$readCOROUTINE$156', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $writeCOROUTINE$157(_this__u8e3s4, buffer, offset, len, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.i6b_1 = _this__u8e3s4;
    this.j6b_1 = buffer;
    this.k6b_1 = offset;
    this.l6b_1 = len;
  }
  $writeCOROUTINE$157.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 4;
            if (this.i6b_1.z5k_1) {
              this.o7_1 = 2;
              suspendResult = this.i6b_1.c5l_1.m53(AsyncStream$write$slambda_0(this.i6b_1, this.j6b_1, this.k6b_1, this.l6b_1, null), this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.o7_1 = 1;
              suspendResult = writeInternal(this.i6b_1, this.j6b_1, this.k6b_1, this.l6b_1, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            }

            break;
          case 1:
            this.o7_1 = 3;
            continue $sm;
          case 2:
            this.o7_1 = 3;
            continue $sm;
          case 3:
            return Unit_getInstance();
          case 4:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 4) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $writeCOROUTINE$157.$metadata$ = classMeta('$writeCOROUTINE$157', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $readInternalCOROUTINE$158(_this__u8e3s4, buffer, offset, len, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.y68_1 = _this__u8e3s4;
    this.z68_1 = buffer;
    this.a69_1 = offset;
    this.b69_1 = len;
  }
  $readInternalCOROUTINE$158.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 2;
            this.o7_1 = 1;
            suspendResult = this.y68_1.x5k_1.q5o(this.y68_1.y5k_1, this.z68_1, this.a69_1, this.b69_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var read = suspendResult;
            if (read >= 0) {
              var tmp0_this = this.y68_1;
              var tmp_0 = tmp0_this;
              var tmp0_plus = tmp0_this.y5k_1;
              tmp_0.y5k_1 = tmp0_plus.v8(toLong(read));
            }

            return read;
          case 2:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 2) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $readInternalCOROUTINE$158.$metadata$ = classMeta('$readInternalCOROUTINE$158', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $writeInternalCOROUTINE$159(_this__u8e3s4, buffer, offset, len, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.k69_1 = _this__u8e3s4;
    this.l69_1 = buffer;
    this.m69_1 = offset;
    this.n69_1 = len;
  }
  $writeInternalCOROUTINE$159.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 2;
            this.o7_1 = 1;
            suspendResult = this.k69_1.x5k_1.r5o(this.k69_1.y5k_1, this.l69_1, this.m69_1, this.n69_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var tmp0_this = this.k69_1;
            var tmp_0 = tmp0_this;
            var tmp0_plus = tmp0_this.y5k_1;
            tmp_0.y5k_1 = tmp0_plus.v8(toLong(this.n69_1));
            return Unit_getInstance();
          case 2:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 2) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $writeInternalCOROUTINE$159.$metadata$ = classMeta('$writeInternalCOROUTINE$159', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $getAvailableCOROUTINE$160(_this__u8e3s4, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.u6b_1 = _this__u8e3s4;
  }
  $getAvailableCOROUTINE$160.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 3;
            this.o7_1 = 1;
            suspendResult = this.u6b_1.p5c(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.v6b_1 = suspendResult;
            this.o7_1 = 2;
            suspendResult = this.u6b_1.d5f(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            var ARGUMENT = suspendResult;
            return this.v6b_1.a2(ARGUMENT);
          case 3:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 3) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $getAvailableCOROUTINE$160.$metadata$ = classMeta('$getAvailableCOROUTINE$160', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $eofCOROUTINE$161(_this__u8e3s4, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.e6c_1 = _this__u8e3s4;
  }
  $eofCOROUTINE$161.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 4;
            this.o7_1 = 1;
            suspendResult = this.e6c_1.g6c(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            if (suspendResult) {
              this.o7_1 = 2;
              suspendResult = this.e6c_1.h6c(this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.f6c_1 = false;
              this.o7_1 = 3;
              continue $sm;
            }

            break;
          case 2:
            var ARGUMENT = suspendResult;
            this.f6c_1 = ARGUMENT.x1(new Long(0, 0)) <= 0;
            this.o7_1 = 3;
            continue $sm;
          case 3:
            return this.f6c_1;
          case 4:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 4) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $eofCOROUTINE$161.$metadata$ = classMeta('$eofCOROUTINE$161', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function AsyncStream(base, position, queue) {
    this.x5k_1 = base;
    this.y5k_1 = position;
    this.z5k_1 = queue;
    var tmp = this;
    tmp.a5l_1 = Mixin_init_$Create$(null, 1, null);
    this.b5l_1 = new AsyncThread();
    this.c5l_1 = new AsyncThread();
  }
  AsyncStream.prototype.i6c = function (_set____db54di) {
    this.y5k_1 = _set____db54di;
  };
  AsyncStream.prototype.fw = function () {
    return this.y5k_1;
  };
  AsyncStream.prototype.e4v = function (_set____db54di) {
    this.a5l_1.e4v(_set____db54di);
  };
  AsyncStream.prototype.f4v = function () {
    return this.a5l_1.f4v();
  };
  AsyncStream.prototype.toString = function () {
    return 'AsyncStream(' + this.x5k_1 + ', position=' + toString(this.y5k_1) + ')';
  };
  AsyncStream.prototype.c5d = function (buffer, offset, len, $cont) {
    var tmp = new $readCOROUTINE$156(this, buffer, offset, len, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  AsyncStream.prototype.a5a = function (buffer, offset, len, $cont) {
    var tmp = new $writeCOROUTINE$157(this, buffer, offset, len, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  AsyncStream.prototype.j6c = function (value, $cont) {
    this.y5k_1 = value;
    return Unit_getInstance();
  };
  AsyncStream.prototype.d5f = function ($cont) {
    return this.y5k_1;
  };
  AsyncStream.prototype.p5c = function ($cont) {
    return this.x5k_1.p5c($cont);
  };
  AsyncStream.prototype.g6c = function ($cont) {
    return this.o5c($cont);
  };
  AsyncStream.prototype.h6c = function ($cont) {
    var tmp = new $getAvailableCOROUTINE$160(this, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  AsyncStream.prototype.k6c = function ($cont) {
    var tmp = new $eofCOROUTINE$161(this, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  AsyncStream.prototype.x51 = function ($cont) {
    return this.x5k_1.x51($cont);
  };
  AsyncStream.prototype.y2n = function () {
    var tmp = this.y5k_1;
    return AsyncStream_init_$Create$(this.x5k_1, tmp, false, 4, null);
  };
  AsyncStream.$metadata$ = classMeta('AsyncStream', [Extra, AsyncInputStream, AsyncInputStreamWithLength, AsyncOutputStream, AsyncPositionLengthStream, AsyncCloseable]);
  function buffered(_this__u8e3s4, blockSize, blocksToRead) {
    init_properties_AsyncStream_kt_qhrpjs();
    return toAsyncStream(new BufferedStreamBase(_this__u8e3s4.x5k_1, blockSize, blocksToRead), _this__u8e3s4.y5k_1);
  }
  function buffered$default(_this__u8e3s4, blockSize, blocksToRead, $mask0, $handler) {
    if (!(($mask0 & 1) === 0))
      blockSize = 2048;
    if (!(($mask0 & 2) === 0))
      blocksToRead = 16;
    return buffered(_this__u8e3s4, blockSize, blocksToRead);
  }
  function toAsyncStream(_this__u8e3s4, position) {
    init_properties_AsyncStream_kt_qhrpjs();
    return AsyncStream_init_$Create$(_this__u8e3s4, position, false, 4, null);
  }
  function toAsyncStream$default(_this__u8e3s4, position, $mask0, $handler) {
    if (!(($mask0 & 1) === 0))
      position = new Long(0, 0);
    return toAsyncStream(_this__u8e3s4, position);
  }
  function AsyncStreamBase() {
  }
  AsyncStreamBase.prototype.q5o = function (position, buffer, offset, len, $cont) {
    throw UnsupportedOperationException_init_$Create$_0();
  };
  AsyncStreamBase.prototype.r5o = function (position, buffer, offset, len, $cont) {
    throw UnsupportedOperationException_init_$Create$_0();
  };
  AsyncStreamBase.prototype.p5c = function ($cont) {
    throw UnsupportedOperationException_init_$Create$_0();
  };
  AsyncStreamBase.prototype.x51 = function ($cont) {
    return Unit_getInstance();
  };
  AsyncStreamBase.$metadata$ = classMeta('AsyncStreamBase', [AsyncCloseable, AsyncRAInputStream, AsyncRAOutputStream, AsyncLengthStream]);
  function AsyncInputStream() {
  }
  AsyncInputStream.$metadata$ = interfaceMeta('AsyncInputStream', [AsyncBaseStream]);
  function readAll(_this__u8e3s4, $cont) {
    var tmp = new $readAllCOROUTINE$163(_this__u8e3s4, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  }
  function AsyncInputStreamWithLength() {
  }
  AsyncInputStreamWithLength.$metadata$ = interfaceMeta('AsyncInputStreamWithLength', [AsyncInputStream, AsyncGetPositionStream, AsyncGetLengthStream]);
  function AsyncOutputStream() {
  }
  AsyncOutputStream.$metadata$ = interfaceMeta('AsyncOutputStream', [AsyncBaseStream]);
  function readBytesExact(_this__u8e3s4, len, $cont) {
    var tmp = new $readBytesExactCOROUTINE$166(_this__u8e3s4, len, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  }
  function $hasLengthCOROUTINE$167(_this__u8e3s4, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.a6e_1 = _this__u8e3s4;
  }
  $hasLengthCOROUTINE$167.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 3;
            this.p7_1 = 2;
            this.o7_1 = 1;
            suspendResult = this.a6e_1.p5c(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            this.b6e_1 = ARGUMENT.x1(new Long(0, 0)) >= 0;
            this.p7_1 = 3;
            this.o7_1 = 4;
            continue $sm;
          case 2:
            this.p7_1 = 3;
            var tmp_0 = this.r7_1;
            if (tmp_0 instanceof UnsupportedOperationException) {
              var t = this.r7_1;
              var tmp_1 = this;
              tmp_1.b6e_1 = false;
              this.o7_1 = 4;
              continue $sm;
            } else {
              throw this.r7_1;
            }

            break;
          case 3:
            throw this.r7_1;
          case 4:
            this.p7_1 = 3;
            return this.b6e_1;
        }
      } catch ($p) {
        if (this.p7_1 === 3) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $hasLengthCOROUTINE$167.$metadata$ = classMeta('$hasLengthCOROUTINE$167', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function AsyncGetLengthStream() {
  }
  AsyncGetLengthStream.$metadata$ = interfaceMeta('AsyncGetLengthStream', [AsyncBaseStream]);
  function readU16BE_0(_this__u8e3s4, $cont) {
    var tmp = new $readU16BECOROUTINE$169(_this__u8e3s4, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  }
  function readS32BE_0(_this__u8e3s4, $cont) {
    var tmp = new $readS32BECOROUTINE$170(_this__u8e3s4, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  }
  function AsyncPositionLengthStream() {
  }
  AsyncPositionLengthStream.$metadata$ = interfaceMeta('AsyncPositionLengthStream', [AsyncPositionStream, AsyncLengthStream]);
  function $_readCOROUTINE$171(_this__u8e3s4, position, buffer, offset, len, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.k6f_1 = _this__u8e3s4;
    this.l6f_1 = position;
    this.m6f_1 = buffer;
    this.n6f_1 = offset;
    this.o6f_1 = len;
  }
  $_readCOROUTINE$171.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 7;
            this.o7_1 = 1;
            suspendResult = this.k6f_1.u6f_1.o5c(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            if (suspendResult) {
              this.o7_1 = 2;
              suspendResult = this.k6f_1.u6f_1.p5c(this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.p6f_1 = false;
              this.o7_1 = 3;
              continue $sm;
            }

            break;
          case 2:
            this.q6f_1 = suspendResult;
            this.p6f_1 = this.l6f_1.x1(this.q6f_1) >= 0;
            this.o7_1 = 3;
            continue $sm;
          case 3:
            if (this.p6f_1) {
              return -1;
            } else {
              this.o7_1 = 4;
              continue $sm;
            }

            ;
            break;
          case 4:
            var tmp_0 = this;
            var tmp_1 = this;
            tmp_1.r6f_1 = this.k6f_1.x6f_1;
            tmp_0.s6f_1 = this.l6f_1.kb(toLong(this.r6f_1));
            if (!this.k6f_1.z6f_1.equals(this.s6f_1)) {
              this.o7_1 = 5;
              var tmp_2 = this;
              tmp_2.t6f_1 = this.k6f_1.x6f_1;
              suspendResult = readBytes(this.k6f_1.u6f_1, this.s6f_1.sa(toLong(this.t6f_1)), this.k6f_1.x6f_1, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.o7_1 = 6;
              continue $sm;
            }

            break;
          case 5:
            var ARGUMENT = suspendResult;
            this.k6f_1.y6f_1 = ARGUMENT;
            this.k6f_1.z6f_1 = this.s6f_1;
            this.o7_1 = 6;
            continue $sm;
          case 6:
            var tmp2_rem = this.k6f_1.x6f_1;
            var soffset = this.l6f_1.w8(toLong(tmp2_rem)).d2();
            var available = this.k6f_1.y6f_1.length - soffset | 0;
            var toRead = Math.min(available, this.o6f_1);
            arraycopy(this.k6f_1.y6f_1, soffset, this.m6f_1, this.n6f_1, toRead);
            return toRead;
          case 7:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 7) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $_readCOROUTINE$171.$metadata$ = classMeta('$_readCOROUTINE$171', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function BufferedStreamBase(base, blockSize, blocksToRead) {
    AsyncStreamBase.call(this);
    this.u6f_1 = base;
    this.v6f_1 = blockSize;
    this.w6f_1 = blocksToRead;
    this.x6f_1 = imul(this.v6f_1, this.w6f_1);
    var tmp = this;
    var tmp$ret$0;
    // Inline function 'kotlin.byteArrayOf' call
    tmp$ret$0 = new Int8Array([]);
    tmp.y6f_1 = tmp$ret$0;
    this.z6f_1 = new Long(-1, -1);
  }
  BufferedStreamBase.prototype.q5o = function (position, buffer, offset, len, $cont) {
    return this.a6g(position, buffer, offset, len, $cont);
  };
  BufferedStreamBase.prototype.a6g = function (position, buffer, offset, len, $cont) {
    var tmp = new $_readCOROUTINE$171(this, position, buffer, offset, len, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  BufferedStreamBase.prototype.r5o = function (position, buffer, offset, len, $cont) {
    return this.u6f_1.r5o(position, buffer, offset, len, $cont);
  };
  BufferedStreamBase.prototype.p5c = function ($cont) {
    return this.u6f_1.p5c($cont);
  };
  BufferedStreamBase.prototype.x51 = function ($cont) {
    return this.u6f_1.x51($cont);
  };
  BufferedStreamBase.$metadata$ = classMeta('BufferedStreamBase', undefined, undefined, undefined, undefined, AsyncStreamBase.prototype);
  function AsyncRAInputStream() {
  }
  AsyncRAInputStream.$metadata$ = interfaceMeta('AsyncRAInputStream');
  function AsyncRAOutputStream() {
  }
  AsyncRAOutputStream.$metadata$ = interfaceMeta('AsyncRAOutputStream');
  function AsyncLengthStream() {
  }
  AsyncLengthStream.$metadata$ = interfaceMeta('AsyncLengthStream', [AsyncGetLengthStream]);
  function AsyncBaseStream() {
  }
  AsyncBaseStream.$metadata$ = interfaceMeta('AsyncBaseStream', [AsyncCloseable]);
  function AsyncGetPositionStream() {
  }
  AsyncGetPositionStream.$metadata$ = interfaceMeta('AsyncGetPositionStream', [AsyncBaseStream]);
  function readExact(_this__u8e3s4, buffer, offset, len, $cont) {
    var tmp = new $readExactCOROUTINE$172(_this__u8e3s4, buffer, offset, len, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  }
  function sliceWithBounds(_this__u8e3s4, start, end, closeParent, $cont) {
    var tmp = new $sliceWithBoundsCOROUTINE$173(_this__u8e3s4, start, end, closeParent, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  }
  function MemoryAsyncStreamBase(data) {
    AsyncStreamBase.call(this);
    this.d6h_1 = data;
  }
  MemoryAsyncStreamBase.prototype.s3l = function () {
    return this.d6h_1;
  };
  MemoryAsyncStreamBase.prototype.e6h = function () {
    return this.d6h_1.i();
  };
  MemoryAsyncStreamBase.prototype.p5c = function ($cont) {
    return toLong(this.e6h());
  };
  MemoryAsyncStreamBase.prototype.f6h = function (position) {
    if (position.x1(new Long(0, 0)) < 0) {
      invalidOp('Invalid position ' + toString(position));
    }
  };
  MemoryAsyncStreamBase.prototype.q5o = function (position, buffer, offset, len, $cont) {
    this.f6h(position);
    var tmp$ret$0;
    // Inline function 'kotlin.ranges.contains' call
    var tmp0_contains = until(0, this.e6h());
    tmp$ret$0 = contains(isInterface(tmp0_contains, ClosedRange) ? tmp0_contains : THROW_CCE(), position);
    if (!tmp$ret$0)
      return 0;
    var tmp$ret$2;
    // Inline function 'kotlin.math.min' call
    var tmp1_min = toLong(this.e6h());
    var tmp$ret$1;
    // Inline function 'kotlin.Long.plus' call
    tmp$ret$1 = position.v8(toLong(len));
    var tmp2_min = tmp$ret$1;
    tmp$ret$2 = tmp1_min.x1(tmp2_min) <= 0 ? tmp1_min : tmp2_min;
    var end = tmp$ret$2;
    var tmp$ret$3;
    // Inline function 'kotlin.math.max' call
    var tmp3_max = end.a2(position).d2();
    tmp$ret$3 = Math.max(tmp3_max, 0);
    var actualLen = tmp$ret$3;
    arraycopy(this.d6h_1.z4v_1, position.d2(), buffer, offset, actualLen);
    return actualLen;
  };
  MemoryAsyncStreamBase.prototype.r5o = function (position, buffer, offset, len, $cont) {
    this.f6h(position);
    var tmp = this.d6h_1;
    var tmp$ret$1;
    // Inline function 'kotlin.math.max' call
    var tmp0_max = this.d6h_1.i();
    var tmp$ret$0;
    // Inline function 'kotlin.Long.plus' call
    tmp$ret$0 = position.v8(toLong(len));
    var tmp1_max = tmp$ret$0.d2();
    tmp$ret$1 = Math.max(tmp0_max, tmp1_max);
    tmp.l4n(tmp$ret$1);
    arraycopy(buffer, offset, this.d6h_1.z4v_1, position.d2(), len);
    return Unit_getInstance();
  };
  MemoryAsyncStreamBase.prototype.x51 = function ($cont) {
    return Unit_getInstance();
  };
  MemoryAsyncStreamBase.prototype.toString = function () {
    return 'MemoryAsyncStreamBase(' + this.d6h_1.i() + ')';
  };
  MemoryAsyncStreamBase.$metadata$ = classMeta('MemoryAsyncStreamBase', undefined, undefined, undefined, undefined, AsyncStreamBase.prototype);
  function AsyncPositionStream() {
  }
  AsyncPositionStream.$metadata$ = interfaceMeta('AsyncPositionStream', [AsyncGetPositionStream]);
  function readBytes(_this__u8e3s4, position, count, $cont) {
    var tmp = new $readBytesCOROUTINE$176(_this__u8e3s4, position, count, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  }
  function clampPosition($this, position) {
    return clamp_0(position, $this.t6h_1, $this.u6h_1);
  }
  function clampPositionLen($this, position, len) {
    if (position.x1(new Long(0, 0)) < 0)
      throw IllegalArgumentException_init_$Create$('Invalid position');
    var targetStartPosition = clampPosition($this, $this.t6h_1.v8(position));
    var tmp$ret$0;
    // Inline function 'kotlin.Long.plus' call
    tmp$ret$0 = targetStartPosition.v8(toLong(len));
    var targetEndPosition = clampPosition($this, tmp$ret$0);
    var targetLen = targetEndPosition.a2(targetStartPosition).d2();
    return new Pair(targetStartPosition, targetLen);
  }
  function $closeCOROUTINE$177(_this__u8e3s4, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.f6i_1 = _this__u8e3s4;
  }
  $closeCOROUTINE$177.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 3;
            if (this.f6i_1.v6h_1) {
              this.o7_1 = 1;
              suspendResult = this.f6i_1.s6h_1.x51(this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.o7_1 = 2;
              continue $sm;
            }

            break;
          case 1:
            this.o7_1 = 2;
            continue $sm;
          case 2:
            return Unit_getInstance();
          case 3:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 3) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $closeCOROUTINE$177.$metadata$ = classMeta('$closeCOROUTINE$177', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function SliceAsyncStreamBase(base, baseStart, baseEnd, closeParent) {
    AsyncStreamBase.call(this);
    this.s6h_1 = base;
    this.t6h_1 = baseStart;
    this.u6h_1 = baseEnd;
    this.v6h_1 = closeParent;
    this.w6h_1 = this.u6h_1.a2(this.t6h_1);
  }
  SliceAsyncStreamBase.prototype.q5o = function (position, buffer, offset, len, $cont) {
    var tmp0_container = clampPositionLen(this, position, len);
    var targetStartPosition = tmp0_container.n4();
    var targetLen = tmp0_container.o4();
    return this.s6h_1.q5o(targetStartPosition, buffer, offset, targetLen, $cont);
  };
  SliceAsyncStreamBase.prototype.r5o = function (position, buffer, offset, len, $cont) {
    var tmp0_container = clampPositionLen(this, position, len);
    var targetStartPosition = tmp0_container.n4();
    var targetLen = tmp0_container.o4();
    return this.s6h_1.r5o(targetStartPosition, buffer, offset, targetLen, $cont);
  };
  SliceAsyncStreamBase.prototype.p5c = function ($cont) {
    return this.w6h_1;
  };
  SliceAsyncStreamBase.prototype.x51 = function ($cont) {
    var tmp = new $closeCOROUTINE$177(this, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  SliceAsyncStreamBase.prototype.toString = function () {
    return 'SliceAsyncStreamBase(' + this.s6h_1 + ', ' + toString(this.t6h_1) + ', ' + toString(this.u6h_1) + ')';
  };
  SliceAsyncStreamBase.$metadata$ = classMeta('SliceAsyncStreamBase', undefined, undefined, undefined, undefined, AsyncStreamBase.prototype);
  function AsyncInputOpenable() {
  }
  AsyncInputOpenable.$metadata$ = interfaceMeta('AsyncInputOpenable');
  function readBytesUpTo(_this__u8e3s4, len, $cont) {
    var tmp = new $readBytesUpToCOROUTINE$178(_this__u8e3s4, len, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  }
  function readBytesUpToCopy(_this__u8e3s4, out, $cont) {
    var tmp = new $readBytesUpToCopyCOROUTINE$183(_this__u8e3s4, out, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  }
  function getAvailable(_this__u8e3s4, $cont) {
    var tmp = new $getAvailableCOROUTINE$184(_this__u8e3s4, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  }
  function readBytesUpTo_0(_this__u8e3s4, out, offset, len, $cont) {
    var tmp = new $readBytesUpToCOROUTINE$185(_this__u8e3s4, out, offset, len, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  }
  function toAsync(_this__u8e3s4) {
    init_properties_AsyncStream_kt_qhrpjs();
    return toAsyncStream(toAsync_0(_this__u8e3s4.k6k_1), _this__u8e3s4.fw());
  }
  function toAsync_0(_this__u8e3s4) {
    init_properties_AsyncStream_kt_qhrpjs();
    var tmp0_subject = _this__u8e3s4;
    var tmp;
    if (tmp0_subject instanceof MemorySyncStreamBase) {
      tmp = new MemoryAsyncStreamBase(_this__u8e3s4.t6k_1);
    } else {
      tmp = new SyncAsyncStreamBase(_this__u8e3s4);
    }
    return tmp;
  }
  function SyncAsyncStreamBase(sync) {
    AsyncStreamBase.call(this);
    this.u6k_1 = sync;
  }
  SyncAsyncStreamBase.prototype.q5o = function (position, buffer, offset, len, $cont) {
    return this.u6k_1.w6k(position, buffer, offset, len);
  };
  SyncAsyncStreamBase.prototype.r5o = function (position, buffer, offset, len, $cont) {
    this.u6k_1.x6k(position, buffer, offset, len);
    return Unit_getInstance();
  };
  SyncAsyncStreamBase.prototype.p5c = function ($cont) {
    return this.u6k_1.ze();
  };
  SyncAsyncStreamBase.$metadata$ = classMeta('SyncAsyncStreamBase', undefined, undefined, undefined, undefined, AsyncStreamBase.prototype);
  function readStream(_this__u8e3s4, length, $cont) {
    return readSlice(_this__u8e3s4, toLong(length), $cont);
  }
  function readString(_this__u8e3s4, len, charset, $cont) {
    var tmp = new $readStringCOROUTINE$188(_this__u8e3s4, len, charset, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  }
  function readString$default(_this__u8e3s4, len, charset, $cont, $mask0, $handler) {
    if (!(($mask0 & 2) === 0))
      charset = get_UTF8();
    return readString(_this__u8e3s4, len, charset, $cont);
  }
  function sliceHere(_this__u8e3s4, closeParent, $cont) {
    var tmp = new $sliceHereCOROUTINE$189(_this__u8e3s4, closeParent, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  }
  function sliceHere$default(_this__u8e3s4, closeParent, $cont, $mask0, $handler) {
    if (!(($mask0 & 1) === 0))
      closeParent = false;
    return sliceHere(_this__u8e3s4, closeParent, $cont);
  }
  function readU16(_this__u8e3s4, endian, $cont) {
    var tmp = new $readU16COROUTINE$190(_this__u8e3s4, endian, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  }
  function readS32(_this__u8e3s4, endian, $cont) {
    var tmp = new $readS32COROUTINE$191(_this__u8e3s4, endian, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  }
  function readStringz(_this__u8e3s4, len, charset, $cont) {
    var tmp = new $readStringzCOROUTINE$192(_this__u8e3s4, len, charset, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  }
  function readStringz$default(_this__u8e3s4, len, charset, $cont, $mask0, $handler) {
    if (!(($mask0 & 2) === 0))
      charset = get_UTF8();
    return readStringz(_this__u8e3s4, len, charset, $cont);
  }
  function sliceStart(_this__u8e3s4, start, closeParent, $cont) {
    var tmp = new $sliceStartCOROUTINE$193(_this__u8e3s4, start, closeParent, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  }
  function sliceStart$default(_this__u8e3s4, start, closeParent, $cont, $mask0, $handler) {
    if (!(($mask0 & 1) === 0))
      start = new Long(0, 0);
    if (!(($mask0 & 2) === 0))
      closeParent = false;
    return sliceStart(_this__u8e3s4, start, closeParent, $cont);
  }
  function skipToAlign(_this__u8e3s4, alignment, offset) {
    init_properties_AsyncStream_kt_qhrpjs();
    var tmp = _this__u8e3s4;
    var tmp$ret$1;
    // Inline function 'kotlin.Long.minus' call
    var tmp$ret$0;
    // Inline function 'kotlin.Long.plus' call
    var tmp0_plus = _this__u8e3s4.y5k_1;
    tmp$ret$0 = tmp0_plus.v8(toLong(offset));
    var tmp1_minus = nextAlignedTo(tmp$ret$0, toLong(alignment));
    tmp$ret$1 = tmp1_minus.a2(toLong(offset));
    tmp.y5k_1 = tmp$ret$1;
  }
  function readS16LE_0(_this__u8e3s4, $cont) {
    var tmp = new $readS16LECOROUTINE$194(_this__u8e3s4, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  }
  function readS32LE_0(_this__u8e3s4, $cont) {
    var tmp = new $readS32LECOROUTINE$195(_this__u8e3s4, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  }
  function readU32LE_0(_this__u8e3s4, $cont) {
    var tmp = new $readU32LECOROUTINE$196(_this__u8e3s4, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  }
  function toSyncOrNull(_this__u8e3s4) {
    init_properties_AsyncStream_kt_qhrpjs();
    var tmp0_safe_receiver = _this__u8e3s4 instanceof SyncAsyncStreamBase ? _this__u8e3s4 : null;
    var tmp2_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.u6k_1;
    var tmp;
    if (tmp2_elvis_lhs == null) {
      var tmp1_safe_receiver = _this__u8e3s4 instanceof MemoryAsyncStreamBase ? _this__u8e3s4 : null;
      var tmp_0;
      if (tmp1_safe_receiver == null) {
        tmp_0 = null;
      } else {
        var tmp$ret$1;
        // Inline function 'kotlin.let' call
        // Inline function 'kotlin.contracts.contract' call
        var tmp$ret$0;
        // Inline function 'com.soywiz.korio.stream.toSyncOrNull.<anonymous>' call
        tmp$ret$0 = new MemorySyncStreamBase(tmp1_safe_receiver.d6h_1);
        tmp$ret$1 = tmp$ret$0;
        tmp_0 = tmp$ret$1;
      }
      tmp = tmp_0;
    } else {
      tmp = tmp2_elvis_lhs;
    }
    return tmp;
  }
  function readSlice(_this__u8e3s4, length, $cont) {
    var tmp = new $readSliceCOROUTINE$197(_this__u8e3s4, length, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  }
  function sliceWithSize(_this__u8e3s4, start, length, closeParent, $cont) {
    return sliceWithBounds(_this__u8e3s4, start, start.v8(length), closeParent, $cont);
  }
  function sliceWithSize$default(_this__u8e3s4, start, length, closeParent, $cont, $mask0, $handler) {
    if (!(($mask0 & 4) === 0))
      closeParent = false;
    return sliceWithSize(_this__u8e3s4, start, length, closeParent, $cont);
  }
  function readU16LE_0(_this__u8e3s4, $cont) {
    var tmp = new $readU16LECOROUTINE$198(_this__u8e3s4, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  }
  function toAsyncInputStream(_this__u8e3s4) {
    init_properties_AsyncStream_kt_qhrpjs();
    return new toAsyncInputStream$1(_this__u8e3s4);
  }
  function toAsyncOutputStream(_this__u8e3s4) {
    init_properties_AsyncStream_kt_qhrpjs();
    return new toAsyncOutputStream$1(_this__u8e3s4);
  }
  function $getPositionCOROUTINE$203(_this__u8e3s4, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.i6q_1 = _this__u8e3s4;
  }
  $getPositionCOROUTINE$203.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 3;
            var tmp_0 = this;
            var tmp_1 = this.i6q_1.l6q_1;
            var tmp0_safe_receiver = isInterface(tmp_1, SyncPositionStream) ? tmp_1 : null;
            tmp_0.j6q_1 = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.fw();
            if (this.j6q_1 == null) {
              this.o7_1 = 1;
              suspendResult = getPosition.call(this.i6q_1, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.k6q_1 = this.j6q_1;
              this.o7_1 = 2;
              continue $sm;
            }

            break;
          case 1:
            this.k6q_1 = suspendResult;
            this.o7_1 = 2;
            continue $sm;
          case 2:
            return this.k6q_1;
          case 3:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 3) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $getPositionCOROUTINE$203.$metadata$ = classMeta('$getPositionCOROUTINE$203', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $getLengthCOROUTINE$204(_this__u8e3s4, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.u6q_1 = _this__u8e3s4;
  }
  $getLengthCOROUTINE$204.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 3;
            var tmp_0 = this;
            var tmp_1 = this.u6q_1.l6q_1;
            var tmp0_safe_receiver = isInterface(tmp_1, SyncLengthStream) ? tmp_1 : null;
            tmp_0.v6q_1 = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.ze();
            if (this.v6q_1 == null) {
              this.o7_1 = 1;
              suspendResult = getLength.call(this.u6q_1, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.w6q_1 = this.v6q_1;
              this.o7_1 = 2;
              continue $sm;
            }

            break;
          case 1:
            this.w6q_1 = suspendResult;
            this.o7_1 = 2;
            continue $sm;
          case 2:
            return this.w6q_1;
          case 3:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 3) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $getLengthCOROUTINE$204.$metadata$ = classMeta('$getLengthCOROUTINE$204', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function toAsyncInputStream$1($this_toAsyncInputStream) {
    this.l6q_1 = $this_toAsyncInputStream;
  }
  toAsyncInputStream$1.prototype.c5d = function (buffer, offset, len, $cont) {
    return this.l6q_1.a4v(buffer, offset, len);
  };
  toAsyncInputStream$1.prototype.x51 = function ($cont) {
    var tmp = this.l6q_1;
    var tmp0_safe_receiver = isInterface(tmp, Closeable) ? tmp : null;
    if (tmp0_safe_receiver == null)
      null;
    else {
      tmp0_safe_receiver.x2c();
    }
    return Unit_getInstance();
  };
  toAsyncInputStream$1.prototype.d5f = function ($cont) {
    var tmp = new $getPositionCOROUTINE$203(this, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  toAsyncInputStream$1.prototype.p5c = function ($cont) {
    var tmp = new $getLengthCOROUTINE$204(this, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  toAsyncInputStream$1.$metadata$ = classMeta(undefined, [AsyncInputStreamWithLength]);
  function toAsyncOutputStream$1($this_toAsyncOutputStream) {
    this.x6q_1 = $this_toAsyncOutputStream;
  }
  toAsyncOutputStream$1.prototype.a5a = function (buffer, offset, len, $cont) {
    this.x6q_1.y6q(buffer, offset, len);
    return Unit_getInstance();
  };
  toAsyncOutputStream$1.prototype.x51 = function ($cont) {
    var tmp = this.x6q_1;
    var tmp0_safe_receiver = isInterface(tmp, Closeable) ? tmp : null;
    if (tmp0_safe_receiver == null)
      null;
    else {
      tmp0_safe_receiver.x2c();
    }
    return Unit_getInstance();
  };
  toAsyncOutputStream$1.$metadata$ = classMeta(undefined, [AsyncOutputStream]);
  function $readAllCOROUTINE$163(_this__u8e3s4, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.t6c_1 = _this__u8e3s4;
  }
  $readAllCOROUTINE$163.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 18;
            this.o7_1 = 1;
            continue $sm;
          case 1:
            this.p7_1 = 16;
            var tmp_0;
            var tmp_1 = this.t6c_1;
            if (isInterface(tmp_1, AsyncGetPositionStream)) {
              var tmp_2 = this.t6c_1;
              tmp_0 = isInterface(tmp_2, AsyncGetLengthStream);
            } else {
              tmp_0 = false;
            }

            if (tmp_0) {
              this.o7_1 = 10;
              suspendResult = this.t6c_1.p5c(this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              var tmp_3 = this.t6c_1;
              if (tmp_3 instanceof AsyncStream) {
                this.o7_1 = 2;
                suspendResult = this.t6c_1.g6c(this);
                if (suspendResult === get_COROUTINE_SUSPENDED()) {
                  return suspendResult;
                }
                continue $sm;
              } else {
                this.w6c_1 = false;
                this.o7_1 = 3;
                continue $sm;
              }
            }

            break;
          case 2:
            this.w6c_1 = suspendResult;
            this.o7_1 = 3;
            continue $sm;
          case 3:
            if (this.w6c_1) {
              this.o7_1 = 8;
              suspendResult = this.t6c_1.h6c(this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              var tmp_4 = this;
              tmp_4.x6c_1 = ByteArrayBuilder_init_$Create$_0(0, 1, null);
              this.y6c_1 = new Int8Array(4096);
              this.o7_1 = 4;
              continue $sm;
            }

            ;
            break;
          case 4:
            if (false) {
              this.o7_1 = 7;
              continue $sm;
            }

            this.o7_1 = 5;
            suspendResult = this.t6c_1.c5d(this.y6c_1, 0, this.y6c_1.length, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            this.z6c_1 = suspendResult;
            if (this.z6c_1 <= 0) {
              this.o7_1 = 7;
              continue $sm;
            } else {
              this.o7_1 = 6;
              continue $sm;
            }

            break;
          case 6:
            this.x6c_1.c4w(this.y6c_1, 0, this.z6c_1);
            this.o7_1 = 4;
            continue $sm;
          case 7:
            this.v6c_1 = this.x6c_1.g4w();
            this.o7_1 = 13;
            continue $sm;
          case 8:
            this.a6d_1 = suspendResult;
            this.b6d_1 = this.a6d_1.d2();
            this.o7_1 = 9;
            suspendResult = readBytesExact(this.t6c_1, this.b6d_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 9:
            this.v6c_1 = suspendResult;
            this.o7_1 = 13;
            continue $sm;
          case 10:
            this.c6d_1 = suspendResult;
            this.o7_1 = 11;
            suspendResult = this.t6c_1.d5f(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 11:
            this.d6d_1 = suspendResult;
            this.e6d_1 = this.c6d_1.a2(this.d6d_1);
            this.o7_1 = 12;
            suspendResult = readBytesExact(this.t6c_1, this.e6d_1.d2(), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 12:
            this.v6c_1 = suspendResult;
            this.o7_1 = 13;
            continue $sm;
          case 13:
            this.u6c_1 = this.v6c_1;
            this.p7_1 = 18;
            this.o7_1 = 14;
            continue $sm;
          case 14:
            this.f6d_1 = this.u6c_1;
            this.o7_1 = 15;
            suspendResult = this.t6c_1.x51(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 15:
            return this.f6d_1;
          case 16:
            this.p7_1 = 18;
            this.g6d_1 = this.r7_1;
            this.o7_1 = 17;
            suspendResult = this.t6c_1.x51(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 17:
            throw this.g6d_1;
          case 18:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 18) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $readAllCOROUTINE$163.$metadata$ = classMeta('$readAllCOROUTINE$163', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $readBytesExactCOROUTINE$166(_this__u8e3s4, len, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.p6d_1 = _this__u8e3s4;
    this.q6d_1 = len;
  }
  $readBytesExactCOROUTINE$166.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 2;
            var tmp_0 = this;
            tmp_0.r6d_1 = new Int8Array(this.q6d_1);
            this.o7_1 = 1;
            suspendResult = readExact(this.p6d_1, this.r6d_1, 0, this.q6d_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            return this.r6d_1;
          case 2:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 2) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $readBytesExactCOROUTINE$166.$metadata$ = classMeta('$readBytesExactCOROUTINE$166', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $readU16BECOROUTINE$169(_this__u8e3s4, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.k6e_1 = _this__u8e3s4;
  }
  $readU16BECOROUTINE$169.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 9;
            this.o7_1 = 1;
            continue $sm;
          case 1:
            var tmp_0 = this;
            tmp_0.m6e_1 = get_smallBytesPool();
            this.n6e_1 = this.m6e_1.t4t();
            this.o7_1 = 2;
            continue $sm;
          case 2:
            this.o7_1 = 3;
            continue $sm;
          case 3:
            this.p7_1 = 8;
            this.o7_1 = 4;
            suspendResult = this.k6e_1.c5d(this.n6e_1, 0, 2, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 4:
            var read = suspendResult;
            if (!(read === 2)) {
              var tmp0_error = "Couldn't read exact size=2 but read=" + read;
              throw IllegalStateException_init_$Create$(toString(tmp0_error));
            }

            var tmp_1 = this;
            tmp_1.o6e_1 = readU16BE(this.n6e_1, 0);
            this.p7_1 = 9;
            this.o7_1 = 5;
            var tmp_2 = this;
            continue $sm;
          case 5:
            var tmp_3 = this.o6e_1;
            this.m6e_1.u4t(this.n6e_1);
            ;
            this.l6e_1 = tmp_3;
            this.o7_1 = 7;
            continue $sm;
          case 6:
            this.m6e_1.u4t(this.n6e_1);
            ;
            if (false) {
              this.o7_1 = 1;
              continue $sm;
            }

            this.o7_1 = 7;
            continue $sm;
          case 7:
            return this.l6e_1;
          case 8:
            this.p7_1 = 9;
            var t = this.r7_1;
            this.m6e_1.u4t(this.n6e_1);
            ;
            throw t;
          case 9:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 9) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $readU16BECOROUTINE$169.$metadata$ = classMeta('$readU16BECOROUTINE$169', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $readS32BECOROUTINE$170(_this__u8e3s4, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.x6e_1 = _this__u8e3s4;
  }
  $readS32BECOROUTINE$170.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 9;
            this.o7_1 = 1;
            continue $sm;
          case 1:
            var tmp_0 = this;
            tmp_0.z6e_1 = get_smallBytesPool();
            this.a6f_1 = this.z6e_1.t4t();
            this.o7_1 = 2;
            continue $sm;
          case 2:
            this.o7_1 = 3;
            continue $sm;
          case 3:
            this.p7_1 = 8;
            this.o7_1 = 4;
            suspendResult = this.x6e_1.c5d(this.a6f_1, 0, 4, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 4:
            var read = suspendResult;
            if (!(read === 4)) {
              var tmp0_error = "Couldn't read exact size=4 but read=" + read;
              throw IllegalStateException_init_$Create$(toString(tmp0_error));
            }

            var tmp_1 = this;
            tmp_1.b6f_1 = readS32BE(this.a6f_1, 0);
            this.p7_1 = 9;
            this.o7_1 = 5;
            var tmp_2 = this;
            continue $sm;
          case 5:
            var tmp_3 = this.b6f_1;
            this.z6e_1.u4t(this.a6f_1);
            ;
            this.y6e_1 = tmp_3;
            this.o7_1 = 7;
            continue $sm;
          case 6:
            this.z6e_1.u4t(this.a6f_1);
            ;
            if (false) {
              this.o7_1 = 1;
              continue $sm;
            }

            this.o7_1 = 7;
            continue $sm;
          case 7:
            return this.y6e_1;
          case 8:
            this.p7_1 = 9;
            var t = this.r7_1;
            this.z6e_1.u4t(this.a6f_1);
            ;
            throw t;
          case 9:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 9) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $readS32BECOROUTINE$170.$metadata$ = classMeta('$readS32BECOROUTINE$170', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $readExactCOROUTINE$172(_this__u8e3s4, buffer, offset, len, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.j6g_1 = _this__u8e3s4;
    this.k6g_1 = buffer;
    this.l6g_1 = offset;
    this.m6g_1 = len;
  }
  $readExactCOROUTINE$172.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 5;
            this.n6g_1 = this.m6g_1;
            this.o6g_1 = this.l6g_1;
            this.p6g_1 = this.j6g_1;
            this.o7_1 = 1;
            continue $sm;
          case 1:
            if (!(this.n6g_1 > 0)) {
              this.o7_1 = 4;
              continue $sm;
            }

            this.o7_1 = 2;
            suspendResult = this.p6g_1.c5d(this.k6g_1, this.o6g_1, this.n6g_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            var read = suspendResult;
            if (read < 0) {
              this.o7_1 = 4;
              continue $sm;
            } else {
              this.o7_1 = 3;
              continue $sm;
            }

            break;
          case 3:
            if (read === 0)
              throw new EOFException('Not enough data. Expected=' + this.m6g_1 + ', Read=' + (this.m6g_1 - this.n6g_1 | 0) + ', Remaining=' + this.n6g_1);
            this.o6g_1 = this.o6g_1 + read | 0;
            this.n6g_1 = this.n6g_1 - read | 0;
            this.o7_1 = 1;
            continue $sm;
          case 4:
            return Unit_getInstance();
          case 5:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 5) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $readExactCOROUTINE$172.$metadata$ = classMeta('$readExactCOROUTINE$172', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $sliceWithBoundsCOROUTINE$173(_this__u8e3s4, start, end, closeParent, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.y6g_1 = _this__u8e3s4;
    this.z6g_1 = start;
    this.a6h_1 = end;
    this.b6h_1 = closeParent;
  }
  $sliceWithBoundsCOROUTINE$173.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 4;
            this.o7_1 = 1;
            suspendResult = this.y6g_1.o5c(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            if (suspendResult) {
              this.o7_1 = 2;
              suspendResult = this.y6g_1.p5c(this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.c6h_1 = this.a6h_1;
              this.o7_1 = 3;
              continue $sm;
            }

            break;
          case 2:
            this.c6h_1 = suspendResult;
            this.o7_1 = 3;
            continue $sm;
          case 3:
            var rlen = this.c6h_1;
            var len = rlen.x1(new Long(0, 0)) >= 0 ? rlen : this.a6h_1;
            var clampedStart = clamp_0(this.z6g_1, new Long(0, 0), len);
            var clampedEnd = clamp_0(this.a6h_1, new Long(0, 0), len);
            var tmp0_subject = this.y6g_1.x5k_1;
            var tmp_0;
            if (tmp0_subject instanceof SliceAsyncStreamBase) {
              tmp_0 = new SliceAsyncStreamBase(this.y6g_1.x5k_1.s6h_1, this.y6g_1.x5k_1.t6h_1.v8(clampedStart), this.y6g_1.x5k_1.t6h_1.v8(clampedEnd), this.b6h_1);
            } else {
              tmp_0 = new SliceAsyncStreamBase(this.y6g_1.x5k_1, clampedStart, clampedEnd, this.b6h_1);
            }

            var tmp_1 = tmp_0;
            return toAsyncStream$default(tmp_1, new Long(0, 0), 1, null);
          case 4:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 4) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $sliceWithBoundsCOROUTINE$173.$metadata$ = classMeta('$sliceWithBoundsCOROUTINE$173', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $readBytesCOROUTINE$176(_this__u8e3s4, position, count, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.o6h_1 = _this__u8e3s4;
    this.p6h_1 = position;
    this.q6h_1 = count;
  }
  $readBytesCOROUTINE$176.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 2;
            this.r6h_1 = new Int8Array(this.q6h_1);
            this.o7_1 = 1;
            suspendResult = this.o6h_1.q5o(this.p6h_1, this.r6h_1, 0, this.r6h_1.length, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var readLen = suspendResult;
            return copyOf_0(this.r6h_1, readLen);
          case 2:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 2) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $readBytesCOROUTINE$176.$metadata$ = classMeta('$readBytesCOROUTINE$176', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $readBytesUpToCOROUTINE$178(_this__u8e3s4, len, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.o6i_1 = _this__u8e3s4;
    this.p6i_1 = len;
  }
  $readBytesUpToCOROUTINE$178.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 10;
            this.q6i_1 = 4096;
            if (this.p6i_1 <= this.q6i_1) {
              this.o7_1 = 9;
              suspendResult = readBytesUpToCopy(this.o6i_1, new Int8Array(this.p6i_1), this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.o7_1 = 1;
              continue $sm;
            }

            break;
          case 1:
            var tmp_0 = this.o6i_1;
            if (isInterface(tmp_0, AsyncPositionLengthStream)) {
              this.o7_1 = 7;
              suspendResult = getAvailable(this.o6i_1, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.o7_1 = 2;
              continue $sm;
            }

            break;
          case 2:
            this.r6i_1 = this.p6i_1;
            this.s6i_1 = new Int8Array(this.q6i_1);
            var tmp_1 = this;
            tmp_1.t6i_1 = ByteArrayBuilder_init_$Create$_0(0, 1, null);
            this.o7_1 = 3;
            continue $sm;
          case 3:
            if (!(this.r6i_1 > 0)) {
              this.o7_1 = 6;
              continue $sm;
            }

            this.o7_1 = 4;
            var tmp_2 = this;
            tmp_2.u6i_1 = this.s6i_1.length;
            var tmp_3 = this;
            tmp_3.v6i_1 = this.r6i_1;
            suspendResult = this.o6i_1.c5d(this.s6i_1, 0, Math.min(this.u6i_1, this.v6i_1), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 4:
            this.w6i_1 = suspendResult;
            if (this.w6i_1 <= 0) {
              this.o7_1 = 6;
              continue $sm;
            } else {
              this.o7_1 = 5;
              continue $sm;
            }

            break;
          case 5:
            this.t6i_1.c4w(this.s6i_1, 0, this.w6i_1);
            this.r6i_1 = this.r6i_1 - this.w6i_1 | 0;
            this.o7_1 = 3;
            continue $sm;
          case 6:
            return this.t6i_1.g4w();
          case 7:
            this.x6i_1 = suspendResult;
            var tmp_4 = this;
            tmp_4.y6i_1 = toIntClamp$default(this.x6i_1, 0, 0, 3, null);
            this.z6i_1 = Math.min(this.p6i_1, this.y6i_1);
            this.a6j_1 = new Int8Array(this.z6i_1);
            this.o7_1 = 8;
            suspendResult = readBytesUpToCopy(this.o6i_1, this.a6j_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 8:
            return suspendResult;
          case 9:
            return suspendResult;
          case 10:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 10) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $readBytesUpToCOROUTINE$178.$metadata$ = classMeta('$readBytesUpToCOROUTINE$178', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $readBytesUpToCopyCOROUTINE$183(_this__u8e3s4, out, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.j6j_1 = _this__u8e3s4;
    this.k6j_1 = out;
  }
  $readBytesUpToCopyCOROUTINE$183.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 2;
            this.o7_1 = 1;
            suspendResult = readBytesUpTo_0(this.j6j_1, this.k6j_1, 0, this.k6j_1.length, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var pos = suspendResult;
            return this.k6j_1.length === pos ? this.k6j_1 : copyOf_0(this.k6j_1, pos);
          case 2:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 2) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $readBytesUpToCopyCOROUTINE$183.$metadata$ = classMeta('$readBytesUpToCopyCOROUTINE$183', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $getAvailableCOROUTINE$184(_this__u8e3s4, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.t6j_1 = _this__u8e3s4;
  }
  $getAvailableCOROUTINE$184.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 3;
            this.o7_1 = 1;
            suspendResult = this.t6j_1.p5c(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.u6j_1 = suspendResult;
            this.o7_1 = 2;
            suspendResult = this.t6j_1.d5f(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            var ARGUMENT = suspendResult;
            return this.u6j_1.a2(ARGUMENT);
          case 3:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 3) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $getAvailableCOROUTINE$184.$metadata$ = classMeta('$getAvailableCOROUTINE$184', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $readBytesUpToCOROUTINE$185(_this__u8e3s4, out, offset, len, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.d6k_1 = _this__u8e3s4;
    this.e6k_1 = out;
    this.f6k_1 = offset;
    this.g6k_1 = len;
  }
  $readBytesUpToCOROUTINE$185.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 4;
            this.h6k_1 = 0;
            this.i6k_1 = this.g6k_1;
            this.j6k_1 = this.f6k_1;
            this.o7_1 = 1;
            continue $sm;
          case 1:
            if (false) {
              this.o7_1 = 5;
              continue $sm;
            }

            this.o7_1 = 2;
            suspendResult = this.d6k_1.c5d(this.e6k_1, this.j6k_1, this.i6k_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            var result = suspendResult;
            if (result <= 0) {
              this.o7_1 = 5;
              continue $sm;
            } else {
              this.o7_1 = 3;
              continue $sm;
            }

            break;
          case 3:
            this.j6k_1 = this.j6k_1 + result | 0;
            this.i6k_1 = this.i6k_1 - result | 0;
            this.h6k_1 = this.h6k_1 + result | 0;
            this.o7_1 = 1;
            continue $sm;
          case 4:
            throw this.r7_1;
          case 5:
            return this.h6k_1;
        }
      } catch ($p) {
        if (this.p7_1 === 4) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $readBytesUpToCOROUTINE$185.$metadata$ = classMeta('$readBytesUpToCOROUTINE$185', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $readStringCOROUTINE$188(_this__u8e3s4, len, charset, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.g6l_1 = _this__u8e3s4;
    this.h6l_1 = len;
    this.i6l_1 = charset;
  }
  $readStringCOROUTINE$188.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 2;
            this.o7_1 = 1;
            suspendResult = readBytesExact(this.g6l_1, this.h6l_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var ARGUMENT = suspendResult;
            return toString$default(ARGUMENT, this.i6l_1, 0, 0, 6, null);
          case 2:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 2) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $readStringCOROUTINE$188.$metadata$ = classMeta('$readStringCOROUTINE$188', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $sliceHereCOROUTINE$189(_this__u8e3s4, closeParent, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.r6l_1 = _this__u8e3s4;
    this.s6l_1 = closeParent;
  }
  $sliceHereCOROUTINE$189.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 3;
            this.t6l_1 = this.r6l_1.y5k_1;
            this.o7_1 = 1;
            suspendResult = this.r6l_1.p5c(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.u6l_1 = suspendResult;
            this.o7_1 = 2;
            suspendResult = sliceWithSize(this.r6l_1, this.t6l_1, this.u6l_1, this.s6l_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            return suspendResult;
          case 3:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 3) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $sliceHereCOROUTINE$189.$metadata$ = classMeta('$sliceHereCOROUTINE$189', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $readU16COROUTINE$190(_this__u8e3s4, endian, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.d6m_1 = _this__u8e3s4;
    this.e6m_1 = endian;
  }
  $readU16COROUTINE$190.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 4;
            if (this.e6m_1.equals(Endian_LITTLE_ENDIAN_getInstance())) {
              this.o7_1 = 2;
              suspendResult = readU16LE_0(this.d6m_1, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.o7_1 = 1;
              suspendResult = readU16BE_0(this.d6m_1, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            }

            break;
          case 1:
            this.f6m_1 = suspendResult;
            this.o7_1 = 3;
            continue $sm;
          case 2:
            this.f6m_1 = suspendResult;
            this.o7_1 = 3;
            continue $sm;
          case 3:
            return this.f6m_1;
          case 4:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 4) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $readU16COROUTINE$190.$metadata$ = classMeta('$readU16COROUTINE$190', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $readS32COROUTINE$191(_this__u8e3s4, endian, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.o6m_1 = _this__u8e3s4;
    this.p6m_1 = endian;
  }
  $readS32COROUTINE$191.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 4;
            if (this.p6m_1.equals(Endian_LITTLE_ENDIAN_getInstance())) {
              this.o7_1 = 2;
              suspendResult = readS32LE_0(this.o6m_1, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.o7_1 = 1;
              suspendResult = readS32BE_0(this.o6m_1, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            }

            break;
          case 1:
            this.q6m_1 = suspendResult;
            this.o7_1 = 3;
            continue $sm;
          case 2:
            this.q6m_1 = suspendResult;
            this.o7_1 = 3;
            continue $sm;
          case 3:
            return this.q6m_1;
          case 4:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 4) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $readS32COROUTINE$191.$metadata$ = classMeta('$readS32COROUTINE$191', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $readStringzCOROUTINE$192(_this__u8e3s4, len, charset, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.z6m_1 = _this__u8e3s4;
    this.a6n_1 = len;
    this.b6n_1 = charset;
  }
  $readStringzCOROUTINE$192.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 2;
            this.o7_1 = 1;
            suspendResult = readBytesExact(this.z6m_1, this.a6n_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            var res = suspendResult;
            var index = indexOf$default_1(res, 0, 0, 0, 0, 14, null);
            var tmp_0 = copyOf_0(res, index < 0 ? this.a6n_1 : index);
            return toString$default(tmp_0, this.b6n_1, 0, 0, 6, null);
          case 2:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 2) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $readStringzCOROUTINE$192.$metadata$ = classMeta('$readStringzCOROUTINE$192', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $sliceStartCOROUTINE$193(_this__u8e3s4, start, closeParent, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.k6n_1 = _this__u8e3s4;
    this.l6n_1 = start;
    this.m6n_1 = closeParent;
  }
  $sliceStartCOROUTINE$193.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 3;
            this.o7_1 = 1;
            suspendResult = this.k6n_1.p5c(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.n6n_1 = suspendResult;
            this.o7_1 = 2;
            suspendResult = sliceWithBounds(this.k6n_1, this.l6n_1, this.n6n_1, this.m6n_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            return suspendResult;
          case 3:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 3) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $sliceStartCOROUTINE$193.$metadata$ = classMeta('$sliceStartCOROUTINE$193', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $readS16LECOROUTINE$194(_this__u8e3s4, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.w6n_1 = _this__u8e3s4;
  }
  $readS16LECOROUTINE$194.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 9;
            this.o7_1 = 1;
            continue $sm;
          case 1:
            var tmp_0 = this;
            tmp_0.y6n_1 = get_smallBytesPool();
            this.z6n_1 = this.y6n_1.t4t();
            this.o7_1 = 2;
            continue $sm;
          case 2:
            this.o7_1 = 3;
            continue $sm;
          case 3:
            this.p7_1 = 8;
            this.o7_1 = 4;
            suspendResult = this.w6n_1.c5d(this.z6n_1, 0, 2, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 4:
            var read = suspendResult;
            if (!(read === 2)) {
              var tmp0_error = "Couldn't read exact size=2 but read=" + read;
              throw IllegalStateException_init_$Create$(toString(tmp0_error));
            }

            var tmp_1 = this;
            tmp_1.a6o_1 = readS16LE(this.z6n_1, 0);
            this.p7_1 = 9;
            this.o7_1 = 5;
            var tmp_2 = this;
            continue $sm;
          case 5:
            var tmp_3 = this.a6o_1;
            this.y6n_1.u4t(this.z6n_1);
            ;
            this.x6n_1 = tmp_3;
            this.o7_1 = 7;
            continue $sm;
          case 6:
            this.y6n_1.u4t(this.z6n_1);
            ;
            if (false) {
              this.o7_1 = 1;
              continue $sm;
            }

            this.o7_1 = 7;
            continue $sm;
          case 7:
            return this.x6n_1;
          case 8:
            this.p7_1 = 9;
            var t = this.r7_1;
            this.y6n_1.u4t(this.z6n_1);
            ;
            throw t;
          case 9:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 9) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $readS16LECOROUTINE$194.$metadata$ = classMeta('$readS16LECOROUTINE$194', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $readS32LECOROUTINE$195(_this__u8e3s4, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.j6o_1 = _this__u8e3s4;
  }
  $readS32LECOROUTINE$195.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 9;
            this.o7_1 = 1;
            continue $sm;
          case 1:
            var tmp_0 = this;
            tmp_0.l6o_1 = get_smallBytesPool();
            this.m6o_1 = this.l6o_1.t4t();
            this.o7_1 = 2;
            continue $sm;
          case 2:
            this.o7_1 = 3;
            continue $sm;
          case 3:
            this.p7_1 = 8;
            this.o7_1 = 4;
            suspendResult = this.j6o_1.c5d(this.m6o_1, 0, 4, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 4:
            var read = suspendResult;
            if (!(read === 4)) {
              var tmp0_error = "Couldn't read exact size=4 but read=" + read;
              throw IllegalStateException_init_$Create$(toString(tmp0_error));
            }

            var tmp_1 = this;
            tmp_1.n6o_1 = readS32LE(this.m6o_1, 0);
            this.p7_1 = 9;
            this.o7_1 = 5;
            var tmp_2 = this;
            continue $sm;
          case 5:
            var tmp_3 = this.n6o_1;
            this.l6o_1.u4t(this.m6o_1);
            ;
            this.k6o_1 = tmp_3;
            this.o7_1 = 7;
            continue $sm;
          case 6:
            this.l6o_1.u4t(this.m6o_1);
            ;
            if (false) {
              this.o7_1 = 1;
              continue $sm;
            }

            this.o7_1 = 7;
            continue $sm;
          case 7:
            return this.k6o_1;
          case 8:
            this.p7_1 = 9;
            var t = this.r7_1;
            this.l6o_1.u4t(this.m6o_1);
            ;
            throw t;
          case 9:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 9) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $readS32LECOROUTINE$195.$metadata$ = classMeta('$readS32LECOROUTINE$195', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $readU32LECOROUTINE$196(_this__u8e3s4, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.w6o_1 = _this__u8e3s4;
  }
  $readU32LECOROUTINE$196.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 9;
            this.o7_1 = 1;
            continue $sm;
          case 1:
            var tmp_0 = this;
            tmp_0.y6o_1 = get_smallBytesPool();
            this.z6o_1 = this.y6o_1.t4t();
            this.o7_1 = 2;
            continue $sm;
          case 2:
            this.o7_1 = 3;
            continue $sm;
          case 3:
            this.p7_1 = 8;
            this.o7_1 = 4;
            suspendResult = this.w6o_1.c5d(this.z6o_1, 0, 4, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 4:
            var read = suspendResult;
            if (!(read === 4)) {
              var tmp0_error = "Couldn't read exact size=4 but read=" + read;
              throw IllegalStateException_init_$Create$(toString(tmp0_error));
            }

            var tmp_1 = this;
            tmp_1.a6p_1 = readU32LE(this.z6o_1, 0);
            this.p7_1 = 9;
            this.o7_1 = 5;
            var tmp_2 = this;
            continue $sm;
          case 5:
            var tmp_3 = this.a6p_1;
            this.y6o_1.u4t(this.z6o_1);
            ;
            this.x6o_1 = tmp_3;
            this.o7_1 = 7;
            continue $sm;
          case 6:
            this.y6o_1.u4t(this.z6o_1);
            ;
            if (false) {
              this.o7_1 = 1;
              continue $sm;
            }

            this.o7_1 = 7;
            continue $sm;
          case 7:
            return this.x6o_1;
          case 8:
            this.p7_1 = 9;
            var t = this.r7_1;
            this.y6o_1.u4t(this.z6o_1);
            ;
            throw t;
          case 9:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 9) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $readU32LECOROUTINE$196.$metadata$ = classMeta('$readU32LECOROUTINE$196', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $readSliceCOROUTINE$197(_this__u8e3s4, length, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.j6p_1 = _this__u8e3s4;
    this.k6p_1 = length;
  }
  $readSliceCOROUTINE$197.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 4;
            this.o7_1 = 1;
            suspendResult = this.j6p_1.d5f(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 1:
            this.l6p_1 = suspendResult;
            this.o7_1 = 2;
            suspendResult = sliceWithSize$default(this.j6p_1, this.l6p_1, this.k6p_1, false, this, 4, null);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.m6p_1 = suspendResult;
            this.o7_1 = 3;
            suspendResult = this.j6p_1.j6c(this.l6p_1.v8(this.k6p_1), this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 3:
            return this.m6p_1;
          case 4:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 4) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $readSliceCOROUTINE$197.$metadata$ = classMeta('$readSliceCOROUTINE$197', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function $readU16LECOROUTINE$198(_this__u8e3s4, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.v6p_1 = _this__u8e3s4;
  }
  $readU16LECOROUTINE$198.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 9;
            this.o7_1 = 1;
            continue $sm;
          case 1:
            var tmp_0 = this;
            tmp_0.x6p_1 = get_smallBytesPool();
            this.y6p_1 = this.x6p_1.t4t();
            this.o7_1 = 2;
            continue $sm;
          case 2:
            this.o7_1 = 3;
            continue $sm;
          case 3:
            this.p7_1 = 8;
            this.o7_1 = 4;
            suspendResult = this.v6p_1.c5d(this.y6p_1, 0, 2, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 4:
            var read = suspendResult;
            if (!(read === 2)) {
              var tmp0_error = "Couldn't read exact size=2 but read=" + read;
              throw IllegalStateException_init_$Create$(toString(tmp0_error));
            }

            var tmp_1 = this;
            tmp_1.z6p_1 = readU16LE(this.y6p_1, 0);
            this.p7_1 = 9;
            this.o7_1 = 5;
            var tmp_2 = this;
            continue $sm;
          case 5:
            var tmp_3 = this.z6p_1;
            this.x6p_1.u4t(this.y6p_1);
            ;
            this.w6p_1 = tmp_3;
            this.o7_1 = 7;
            continue $sm;
          case 6:
            this.x6p_1.u4t(this.y6p_1);
            ;
            if (false) {
              this.o7_1 = 1;
              continue $sm;
            }

            this.o7_1 = 7;
            continue $sm;
          case 7:
            return this.w6p_1;
          case 8:
            this.p7_1 = 9;
            var t = this.r7_1;
            this.x6p_1.u4t(this.y6p_1);
            ;
            throw t;
          case 9:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 9) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $readU16LECOROUTINE$198.$metadata$ = classMeta('$readU16LECOROUTINE$198', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  var properties_initialized_AsyncStream_kt_gaoyh8;
  function init_properties_AsyncStream_kt_qhrpjs() {
    if (properties_initialized_AsyncStream_kt_gaoyh8) {
    } else {
      properties_initialized_AsyncStream_kt_gaoyh8 = true;
      EMPTY_BYTE_ARRAY = new Int8Array(0);
    }
  }
  function FastByteArrayInputStream_init_$Init$(ba, offset, start, end, $mask0, $marker, $this) {
    if (!(($mask0 & 2) === 0))
      offset = 0;
    if (!(($mask0 & 4) === 0))
      start = 0;
    if (!(($mask0 & 8) === 0))
      end = ba.length;
    FastByteArrayInputStream.call($this, ba, offset, start, end);
    return $this;
  }
  function FastByteArrayInputStream_init_$Create$(ba, offset, start, end, $mask0, $marker) {
    return FastByteArrayInputStream_init_$Init$(ba, offset, start, end, $mask0, $marker, Object.create(FastByteArrayInputStream.prototype));
  }
  function offset($this, count) {
    var out = $this.c6r_1;
    var tmp0_this = $this;
    tmp0_this.c6r_1 = tmp0_this.c6r_1 + count | 0;
    return out;
  }
  function FastByteArrayInputStream(ba, offset, start, end) {
    this.z6q_1 = ba;
    this.a6r_1 = start;
    this.b6r_1 = end;
    this.c6r_1 = offset + this.a6r_1 | 0;
  }
  FastByteArrayInputStream.prototype.d6r = function () {
    return this.z6q_1;
  };
  FastByteArrayInputStream.prototype.e6r = function (value) {
    this.c6r_1 = this.a6r_1 + value | 0;
  };
  FastByteArrayInputStream.prototype.fw = function () {
    return this.c6r_1 - this.a6r_1 | 0;
  };
  FastByteArrayInputStream.prototype.ze = function () {
    return this.b6r_1 - this.a6r_1 | 0;
  };
  FastByteArrayInputStream.prototype.z5y = function () {
    return this.b6r_1 - this.c6r_1 | 0;
  };
  FastByteArrayInputStream.prototype.f5z = function () {
    return this.z5y() > 0;
  };
  FastByteArrayInputStream.prototype.f6r = function (_this__u8e3s4) {
    return coerceIn(_this__u8e3s4, this.a6r_1, this.b6r_1);
  };
  FastByteArrayInputStream.prototype.g6r = function (offset, length, charset) {
    var start = this.a6r_1 + offset | 0;
    var end = start + length | 0;
    return toString_2(this.z6q_1, charset, start, end);
  };
  FastByteArrayInputStream.prototype.h6r = function (size) {
    var out = this.i6r(this.fw(), size);
    var tmp0_this = this;
    tmp0_this.c6r_1 = tmp0_this.c6r_1 + size | 0;
    return out;
  };
  FastByteArrayInputStream.prototype.j6r = function (offset) {
    return new FastByteArrayInputStream(this.z6q_1, 0, this.f6r(this.a6r_1 + offset | 0), this.b6r_1);
  };
  FastByteArrayInputStream.prototype.k6r = function (offset, $mask0, $handler) {
    if (!(($mask0 & 1) === 0))
      offset = 0;
    return this.j6r(offset);
  };
  FastByteArrayInputStream.prototype.z4n = function () {
    return new FastByteArrayInputStream(this.z6q_1, this.fw(), this.a6r_1, this.b6r_1);
  };
  FastByteArrayInputStream.prototype.i6r = function (offset, len) {
    return new FastByteArrayInputStream(this.z6q_1, 0, this.f6r(this.a6r_1 + offset | 0), this.f6r((this.a6r_1 + offset | 0) + len | 0));
  };
  FastByteArrayInputStream.prototype.j5z = function (count) {
    this.c6r_1 = coerceIn(this.c6r_1 + count | 0, this.a6r_1, this.b6r_1);
  };
  FastByteArrayInputStream.prototype.l6r = function (count) {
    return this.j5z(-count | 0);
  };
  FastByteArrayInputStream.prototype.m6r = function (len) {
    var tmp$ret$1;
    // Inline function 'com.soywiz.korio.stream.FastByteArrayInputStream.increment' call
    var tmp$ret$0;
    // Inline function 'com.soywiz.korio.stream.FastByteArrayInputStream.readBytesExact.<anonymous>' call
    tmp$ret$0 = copyOfRange_0(this.z6q_1, this.c6r_1, this.c6r_1 + len | 0);
    var out = tmp$ret$0;
    var tmp0_this = this;
    tmp0_this.c6r_1 = tmp0_this.c6r_1 + len | 0;
    tmp$ret$1 = out;
    return tmp$ret$1;
  };
  FastByteArrayInputStream.prototype.n6r = function () {
    return readS8(this.z6q_1, offset(this, 1));
  };
  FastByteArrayInputStream.prototype.o6r = function () {
    return readU8(this.z6q_1, offset(this, 1));
  };
  FastByteArrayInputStream.prototype.p6r = function () {
    return readS16BE(this.z6q_1, offset(this, 2));
  };
  FastByteArrayInputStream.prototype.q6r = function () {
    return readU16BE(this.z6q_1, offset(this, 2));
  };
  FastByteArrayInputStream.prototype.r6r = function () {
    return readU24BE(this.z6q_1, offset(this, 3));
  };
  FastByteArrayInputStream.prototype.s6r = function () {
    return readS32BE(this.z6q_1, offset(this, 4));
  };
  FastByteArrayInputStream.prototype.t6r = function () {
    return readS64BE(this.z6q_1, offset(this, 8));
  };
  FastByteArrayInputStream.prototype.u6r = function (count) {
    return readByteArray(this.z6q_1, offset(this, count), count);
  };
  FastByteArrayInputStream.prototype.v6r = function (count) {
    return readShortArrayBE(this.z6q_1, offset(this, imul(count, 2)), count);
  };
  FastByteArrayInputStream.prototype.w6r = function (count) {
    return readCharArrayBE(this.z6q_1, offset(this, imul(count, 2)), count);
  };
  FastByteArrayInputStream.prototype.x6r = function (count) {
    return readIntArrayLE(this.z6q_1, offset(this, imul(count, 4)), count);
  };
  FastByteArrayInputStream.prototype.y6r = function (count) {
    return readIntArrayBE(this.z6q_1, offset(this, imul(count, 4)), count);
  };
  FastByteArrayInputStream.prototype.z6r = function (len, charset) {
    var res = this.u6r(len);
    var index = indexOf$default_1(res, 0, 0, 0, 0, 14, null);
    var tmp = copyOf_0(res, index < 0 ? len : index);
    return toString$default(tmp, charset, 0, 0, 6, null);
  };
  FastByteArrayInputStream.prototype.a6s = function (len, charset, $mask0, $handler) {
    if (!(($mask0 & 2) === 0))
      charset = get_UTF8();
    return this.z6r(len, charset);
  };
  FastByteArrayInputStream.$metadata$ = classMeta('FastByteArrayInputStream');
  function openFastStream(_this__u8e3s4, offset) {
    return FastByteArrayInputStream_init_$Create$(_this__u8e3s4, offset, 0, 0, 12, null);
  }
  function openFastStream$default(_this__u8e3s4, offset, $mask0, $handler) {
    if (!(($mask0 & 1) === 0))
      offset = 0;
    return openFastStream(_this__u8e3s4, offset);
  }
  function toSyncStream(_this__u8e3s4) {
    var tmp = new ReadonlySyncStreamBase(_this__u8e3s4.z6q_1, _this__u8e3s4.a6r_1, _this__u8e3s4.b6r_1 - _this__u8e3s4.a6r_1 | 0);
    return tmp.b6s(new Long(0, 0), 1, null);
  }
  function openAsync(_this__u8e3s4, mode) {
    return toAsyncStream(new MemoryAsyncStreamBase(ByteArrayBuilder_init_$Create$_1(_this__u8e3s4, 0, true, 2, null)), new Long(0, 0));
  }
  function openAsync$default(_this__u8e3s4, mode, $mask0, $handler) {
    if (!(($mask0 & 1) === 0))
      mode = 'r';
    return openAsync(_this__u8e3s4, mode);
  }
  function SyncStream(base, position) {
    this.k6k_1 = base;
    var tmp = this;
    tmp.l6k_1 = Mixin_init_$Create$(null, 1, null);
    this.m6k_1 = this.k6k_1.v6k_1;
    this.n6k_1 = this.k6k_1.c6s();
    this.o6k_1 = position;
    this.p6k_1 = position;
    this.q6k_1 = position;
    this.r6k_1 = new Long(0, 0);
  }
  SyncStream.prototype.e4v = function (_set____db54di) {
    this.l6k_1.e4v(_set____db54di);
  };
  SyncStream.prototype.f4v = function () {
    return this.l6k_1.f4v();
  };
  SyncStream.prototype.d6s = function (value) {
    if (this.n6k_1)
      this.o6k_1 = value;
    else {
      this.i6c(value);
    }
  };
  SyncStream.prototype.e6s = function () {
    return this.n6k_1 ? this.o6k_1 : this.fw();
  };
  SyncStream.prototype.f6s = function (value) {
    if (this.n6k_1)
      this.p6k_1 = value;
    else {
      this.i6c(value);
    }
  };
  SyncStream.prototype.g6s = function () {
    return this.n6k_1 ? this.p6k_1 : this.fw();
  };
  SyncStream.prototype.i6c = function (value) {
    var tmp;
    if (this.n6k_1) {
      this.d6s(value);
      tmp = Unit_getInstance();
    } else {
      this.q6k_1 = value;
      tmp = Unit_getInstance();
    }
    return tmp;
  };
  SyncStream.prototype.fw = function () {
    return this.n6k_1 ? this.e6s() : this.q6k_1;
  };
  SyncStream.prototype.a4v = function (buffer, offset, len) {
    var read = this.k6k_1.w6k(this.e6s(), buffer, offset, len);
    var tmp0_this = this;
    var tmp$ret$0;
    // Inline function 'kotlin.Long.plus' call
    var tmp0_plus = tmp0_this.e6s();
    tmp$ret$0 = tmp0_plus.v8(toLong(read));
    tmp0_this.d6s(tmp$ret$0);
    return read;
  };
  SyncStream.prototype.g1c = function () {
    var size = this.a4v(this.m6k_1, 0, 1);
    if (size <= 0)
      return -1;
    var tmp$ret$0;
    // Inline function 'com.soywiz.kmem.unsigned' call
    var tmp0__get_unsigned__3e7on0 = this.m6k_1[0];
    tmp$ret$0 = tmp0__get_unsigned__3e7on0 & 255;
    return tmp$ret$0;
  };
  SyncStream.prototype.y6q = function (buffer, offset, len) {
    this.k6k_1.x6k(this.g6s(), buffer, offset, len);
    var tmp0_this = this;
    var tmp$ret$0;
    // Inline function 'kotlin.Long.plus' call
    var tmp0_plus = tmp0_this.g6s();
    tmp$ret$0 = tmp0_plus.v8(toLong(len));
    tmp0_this.f6s(tmp$ret$0);
  };
  SyncStream.prototype.ze = function () {
    return this.k6k_1.ze();
  };
  SyncStream.prototype.u4l = function () {
    return this.ze().a2(this.e6s());
  };
  SyncStream.prototype.z5y = function () {
    return this.u4l();
  };
  SyncStream.prototype.x2c = function () {
    return this.k6k_1.x2c();
  };
  SyncStream.prototype.toString = function () {
    return 'SyncStream(' + this.k6k_1 + ', ' + toString(this.fw()) + ')';
  };
  SyncStream.$metadata$ = classMeta('SyncStream', [Extra, Closeable, SyncInputStream, SyncPositionStream, SyncOutputStream, SyncLengthStream, MarkableSyncInputStream]);
  function openSync(_this__u8e3s4, mode) {
    return toSyncStream_0(new MemorySyncStreamBase(ByteArrayBuilder_init_$Create$_1(_this__u8e3s4, 0, false, 6, null)), new Long(0, 0));
  }
  function openSync$default(_this__u8e3s4, mode, $mask0, $handler) {
    if (!(($mask0 & 1) === 0))
      mode = 'r';
    return openSync(_this__u8e3s4, mode);
  }
  function readString_0(_this__u8e3s4, len, charset) {
    var tmp = readBytes_0(_this__u8e3s4, len);
    return toString$default(tmp, charset, 0, 0, 6, null);
  }
  function readString$default_0(_this__u8e3s4, len, charset, $mask0, $handler) {
    if (!(($mask0 & 2) === 0))
      charset = get_UTF8();
    return readString_0(_this__u8e3s4, len, charset);
  }
  function MemorySyncStreamToByteArray(initialCapacity, callback) {
    var buffer = ByteArrayBuilder_init_$Create$(initialCapacity);
    var s = MemorySyncStream(buffer);
    callback(s);
    return buffer.g4w();
  }
  function SyncInputStream() {
  }
  SyncInputStream.$metadata$ = interfaceMeta('SyncInputStream', [OptionalCloseable]);
  function SyncPositionStream() {
  }
  SyncPositionStream.$metadata$ = interfaceMeta('SyncPositionStream');
  function SyncOutputStream() {
  }
  SyncOutputStream.$metadata$ = interfaceMeta('SyncOutputStream', [OptionalCloseable]);
  function SyncLengthStream() {
  }
  SyncLengthStream.$metadata$ = interfaceMeta('SyncLengthStream');
  function MarkableSyncInputStream() {
  }
  MarkableSyncInputStream.$metadata$ = interfaceMeta('MarkableSyncInputStream', [SyncInputStream]);
  function SyncStreamBase() {
    this.v6k_1 = new Int8Array(16);
  }
  SyncStreamBase.prototype.c6s = function () {
    return false;
  };
  SyncStreamBase.prototype.w6k = function (position, buffer, offset, len) {
    unsupported$default(null, 1, null);
  };
  SyncStreamBase.prototype.x6k = function (position, buffer, offset, len) {
    unsupported$default(null, 1, null);
  };
  SyncStreamBase.prototype.ze = function () {
    unsupported$default(null, 1, null);
  };
  SyncStreamBase.prototype.x2c = function () {
    return Unit_getInstance();
  };
  SyncStreamBase.prototype.h6s = function (position) {
    return new SyncStream(this, position);
  };
  SyncStreamBase.prototype.b6s = function (position, $mask0, $handler) {
    if (!(($mask0 & 1) === 0))
      position = new Long(0, 0);
    return this.h6s(position);
  };
  SyncStreamBase.$metadata$ = classMeta('SyncStreamBase', [Closeable, SyncRAInputStream, SyncRAOutputStream, SyncLengthStream]);
  function toSyncStream_0(_this__u8e3s4, position) {
    return new SyncStream(_this__u8e3s4, position);
  }
  function toSyncStream$default(_this__u8e3s4, position, $mask0, $handler) {
    if (!(($mask0 & 1) === 0))
      position = new Long(0, 0);
    return toSyncStream_0(_this__u8e3s4, position);
  }
  function MemorySyncStreamBase(data) {
    SyncStreamBase.call(this);
    this.t6k_1 = data;
  }
  MemorySyncStreamBase.prototype.e6h = function () {
    return this.t6k_1.i();
  };
  MemorySyncStreamBase.prototype.ze = function () {
    return toLong(this.t6k_1.i());
  };
  MemorySyncStreamBase.prototype.f6h = function (position) {
    if (position.x1(new Long(0, 0)) < 0) {
      invalidOp('Invalid position ' + toString(position));
    }
  };
  MemorySyncStreamBase.prototype.w6k = function (position, buffer, offset, len) {
    this.f6h(position);
    var ipos = position.d2();
    var tmp$ret$0;
    // Inline function 'kotlin.ranges.contains' call
    var tmp0_contains = until(0, this.e6h());
    tmp$ret$0 = contains(isInterface(tmp0_contains, ClosedRange) ? tmp0_contains : THROW_CCE(), position);
    if (!tmp$ret$0)
      return 0;
    var tmp$ret$1;
    // Inline function 'kotlin.math.min' call
    var tmp1_min = this.e6h();
    var tmp2_min = ipos + len | 0;
    tmp$ret$1 = Math.min(tmp1_min, tmp2_min);
    var end = tmp$ret$1;
    var tmp$ret$2;
    // Inline function 'kotlin.math.max' call
    var tmp3_max = end - ipos | 0;
    tmp$ret$2 = Math.max(tmp3_max, 0);
    var actualLen = tmp$ret$2;
    arraycopy(this.t6k_1.z4v_1, ipos, buffer, offset, actualLen);
    return actualLen;
  };
  MemorySyncStreamBase.prototype.x6k = function (position, buffer, offset, len) {
    this.f6h(position);
    var tmp = this.t6k_1;
    var tmp$ret$1;
    // Inline function 'kotlin.math.max' call
    var tmp0_max = this.t6k_1.i();
    var tmp$ret$0;
    // Inline function 'kotlin.Long.plus' call
    tmp$ret$0 = position.v8(toLong(len));
    var tmp1_max = tmp$ret$0.d2();
    tmp$ret$1 = Math.max(tmp0_max, tmp1_max);
    tmp.l4n(tmp$ret$1);
    arraycopy(buffer, offset, this.t6k_1.z4v_1, position.d2(), len);
  };
  MemorySyncStreamBase.prototype.x2c = function () {
    return Unit_getInstance();
  };
  MemorySyncStreamBase.prototype.toString = function () {
    return 'MemorySyncStreamBase(' + this.t6k_1.i() + ')';
  };
  MemorySyncStreamBase.$metadata$ = classMeta('MemorySyncStreamBase', undefined, undefined, undefined, undefined, SyncStreamBase.prototype);
  function readBytes_0(_this__u8e3s4, len) {
    var bytes = new Int8Array(len);
    var out = _this__u8e3s4.a4v(bytes, 0, len);
    return !(out === len) ? copyOf_0(bytes, out) : bytes;
  }
  function MemorySyncStream(data) {
    var tmp = new MemorySyncStreamBase(data);
    return toSyncStream$default(tmp, new Long(0, 0), 1, null);
  }
  function SyncRAInputStream() {
  }
  SyncRAInputStream.$metadata$ = interfaceMeta('SyncRAInputStream');
  function SyncRAOutputStream() {
  }
  SyncRAOutputStream.$metadata$ = interfaceMeta('SyncRAOutputStream');
  function readU8_0(_this__u8e3s4) {
    return _this__u8e3s4.g1c();
  }
  function MemorySyncStream_0(data) {
    var tmp = new MemorySyncStreamBase(ByteArrayBuilder_init_$Create$_1(data, 0, false, 6, null));
    return toSyncStream$default(tmp, new Long(0, 0), 1, null);
  }
  function MemorySyncStream$default(data, $mask0, $handler) {
    if (!(($mask0 & 1) === 0))
      data = get_EMPTY_BYTE_ARRAY();
    return MemorySyncStream_0(data);
  }
  function readS32BE_1(_this__u8e3s4) {
    return readU8_0(_this__u8e3s4) << 24 | readU8_0(_this__u8e3s4) << 16 | readU8_0(_this__u8e3s4) << 8 | readU8_0(_this__u8e3s4);
  }
  function get_eof(_this__u8e3s4) {
    return _this__u8e3s4.z5y().x1(new Long(0, 0)) <= 0;
  }
  function readStringz_0(_this__u8e3s4, len, charset) {
    var res = readBytes_0(_this__u8e3s4, len);
    var index = indexOf(res, 0);
    var tmp = copyOf_0(res, index < 0 ? len : index);
    return toString$default(tmp, charset, 0, 0, 6, null);
  }
  function readStringz$default_0(_this__u8e3s4, len, charset, $mask0, $handler) {
    if (!(($mask0 & 2) === 0))
      charset = get_UTF8();
    return readStringz_0(_this__u8e3s4, len, charset);
  }
  function readStream_0(_this__u8e3s4, length) {
    return readSlice_0(_this__u8e3s4, length);
  }
  function readAll_0(_this__u8e3s4) {
    return readBytes_0(_this__u8e3s4, _this__u8e3s4.z5y().d2());
  }
  function sliceStart_0(_this__u8e3s4, start) {
    return sliceWithBounds_0(_this__u8e3s4, start, _this__u8e3s4.ze());
  }
  function sliceStart$default_0(_this__u8e3s4, start, $mask0, $handler) {
    if (!(($mask0 & 1) === 0))
      start = new Long(0, 0);
    return sliceStart_0(_this__u8e3s4, start);
  }
  function ReadonlySyncStreamBase(data, offset, size) {
    SyncStreamBase.call(this);
    this.j6s_1 = data;
    this.k6s_1 = offset;
    this.l6s_1 = size;
  }
  ReadonlySyncStreamBase.prototype.e6h = function () {
    return this.l6s_1;
  };
  ReadonlySyncStreamBase.prototype.ze = function () {
    return toLong(this.j6s_1.length);
  };
  ReadonlySyncStreamBase.prototype.f6h = function (position) {
    if (position.x1(new Long(0, 0)) < 0) {
      invalidOp('Invalid position ' + toString(position));
    }
  };
  ReadonlySyncStreamBase.prototype.w6k = function (position, buffer, offset, len) {
    this.f6h(position);
    var ipos = position.d2();
    var tmp$ret$0;
    // Inline function 'kotlin.ranges.contains' call
    var tmp0_contains = until(0, this.e6h());
    tmp$ret$0 = contains(isInterface(tmp0_contains, ClosedRange) ? tmp0_contains : THROW_CCE(), position);
    if (!tmp$ret$0)
      return 0;
    var tmp$ret$1;
    // Inline function 'kotlin.math.min' call
    var tmp1_min = this.e6h();
    var tmp2_min = ipos + len | 0;
    tmp$ret$1 = Math.min(tmp1_min, tmp2_min);
    var end = tmp$ret$1;
    var tmp$ret$2;
    // Inline function 'kotlin.math.max' call
    var tmp3_max = end - ipos | 0;
    tmp$ret$2 = Math.max(tmp3_max, 0);
    var actualLen = tmp$ret$2;
    arraycopy(this.j6s_1, ipos + this.k6s_1 | 0, buffer, offset, actualLen);
    return actualLen;
  };
  ReadonlySyncStreamBase.prototype.x2c = function () {
    return Unit_getInstance();
  };
  ReadonlySyncStreamBase.prototype.toString = function () {
    return 'ReadonlySyncStreamBase(' + this.j6s_1.length + ')';
  };
  ReadonlySyncStreamBase.$metadata$ = classMeta('ReadonlySyncStreamBase', undefined, undefined, undefined, undefined, SyncStreamBase.prototype);
  function readSlice_0(_this__u8e3s4, length) {
    var tmp$ret$0;
    // Inline function 'kotlin.apply' call
    var tmp0_apply = sliceWithSize_0(_this__u8e3s4, _this__u8e3s4.fw(), length);
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.soywiz.korio.stream.readSlice.<anonymous>' call
    var tmp0_this = _this__u8e3s4;
    tmp0_this.i6c(tmp0_this.fw().v8(length));
    tmp$ret$0 = tmp0_apply;
    return tmp$ret$0;
  }
  function sliceWithBounds_0(_this__u8e3s4, start, end) {
    var len = _this__u8e3s4.ze();
    var clampedStart = clamp_0(start, new Long(0, 0), len);
    var clampedEnd = clamp_0(end, new Long(0, 0), len);
    var tmp = _this__u8e3s4.k6k_1;
    if (tmp instanceof SliceSyncStreamBase) {
      var tmp_0 = new SliceSyncStreamBase(_this__u8e3s4.k6k_1.n6s_1, _this__u8e3s4.k6k_1.o6s_1.v8(clampedStart), _this__u8e3s4.k6k_1.o6s_1.v8(clampedEnd));
      return toSyncStream$default(tmp_0, new Long(0, 0), 1, null);
    } else {
      var tmp_1 = new SliceSyncStreamBase(_this__u8e3s4.k6k_1, clampedStart, clampedEnd);
      return toSyncStream$default(tmp_1, new Long(0, 0), 1, null);
    }
  }
  function sliceWithSize_0(_this__u8e3s4, position, length) {
    return sliceWithBounds_0(_this__u8e3s4, position, position.v8(length));
  }
  function clampPosition_0($this, position) {
    return clamp_0(position, $this.o6s_1, $this.p6s_1);
  }
  function clampPositionLen_0($this, position, len) {
    if (position.x1(new Long(0, 0)) < 0)
      throw IllegalArgumentException_init_$Create$('Invalid position');
    var targetStartPosition = clampPosition_0($this, $this.o6s_1.v8(position));
    var tmp$ret$0;
    // Inline function 'kotlin.Long.plus' call
    tmp$ret$0 = targetStartPosition.v8(toLong(len));
    var targetEndPosition = clampPosition_0($this, tmp$ret$0);
    var targetLen = targetEndPosition.a2(targetStartPosition).d2();
    return new Pair(targetStartPosition, targetLen);
  }
  function SliceSyncStreamBase(base, baseStart, baseEnd) {
    SyncStreamBase.call(this);
    this.n6s_1 = base;
    this.o6s_1 = baseStart;
    this.p6s_1 = baseEnd;
    this.q6s_1 = this.p6s_1.a2(this.o6s_1);
  }
  SliceSyncStreamBase.prototype.c6s = function () {
    return this.n6s_1.c6s();
  };
  SliceSyncStreamBase.prototype.ze = function () {
    return this.q6s_1;
  };
  SliceSyncStreamBase.prototype.w6k = function (position, buffer, offset, len) {
    var tmp0_container = clampPositionLen_0(this, position, len);
    var targetStartPosition = tmp0_container.n4();
    var targetLen = tmp0_container.o4();
    return this.n6s_1.w6k(targetStartPosition, buffer, offset, targetLen);
  };
  SliceSyncStreamBase.prototype.x6k = function (position, buffer, offset, len) {
    var tmp0_container = clampPositionLen_0(this, position, len);
    var targetStartPosition = tmp0_container.n4();
    var targetLen = tmp0_container.o4();
    return this.n6s_1.x6k(targetStartPosition, buffer, offset, targetLen);
  };
  SliceSyncStreamBase.prototype.x2c = function () {
    return Unit_getInstance();
  };
  SliceSyncStreamBase.prototype.toString = function () {
    return 'SliceAsyncStreamBase(' + this.n6s_1 + ', ' + toString(this.o6s_1) + ', ' + toString(this.p6s_1) + ')';
  };
  SliceSyncStreamBase.$metadata$ = classMeta('SliceSyncStreamBase', undefined, undefined, undefined, undefined, SyncStreamBase.prototype);
  function indexOf_0(_this__u8e3s4, v, startOffset, endOffset, default_0) {
    var tmp$ret$1;
    $l$block: {
      // Inline function 'com.soywiz.korio.util._indexOf' call
      var inductionVariable = startOffset;
      if (inductionVariable < endOffset)
        do {
          var n = inductionVariable;
          inductionVariable = inductionVariable + 1 | 0;
          var tmp$ret$0;
          // Inline function 'com.soywiz.korio.util.indexOf.<anonymous>' call
          tmp$ret$0 = _this__u8e3s4[n];
          if (tmp$ret$0 === v) {
            tmp$ret$1 = n;
            break $l$block;
          }
        }
         while (inductionVariable < endOffset);
      tmp$ret$1 = default_0;
    }
    return tmp$ret$1;
  }
  function indexOf$default_1(_this__u8e3s4, v, startOffset, endOffset, default_0, $mask0, $handler) {
    if (!(($mask0 & 2) === 0))
      startOffset = 0;
    if (!(($mask0 & 4) === 0))
      endOffset = _this__u8e3s4.length;
    if (!(($mask0 & 8) === 0))
      default_0 = -1;
    return indexOf_0(_this__u8e3s4, v, startOffset, endOffset, default_0);
  }
  function _indexOf(array, access, v, startOffset, endOffset, default_0) {
    var inductionVariable = startOffset;
    if (inductionVariable < endOffset)
      do {
        var n = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        if (equals(access(array, n), v))
          return n;
      }
       while (inductionVariable < endOffset);
    return default_0;
  }
  function isWhitespaceFast(_this__u8e3s4) {
    return ((equals(new Char(_this__u8e3s4), new Char(_Char___init__impl__6a9atx(32))) ? true : equals(new Char(_this__u8e3s4), new Char(_Char___init__impl__6a9atx(9)))) ? true : equals(new Char(_this__u8e3s4), new Char(_Char___init__impl__6a9atx(13)))) ? true : equals(new Char(_this__u8e3s4), new Char(_Char___init__impl__6a9atx(10)));
  }
  function isLetterDigitOrUnderscore(_this__u8e3s4) {
    return (isLetterOrDigit(_this__u8e3s4) ? true : equals(new Char(_this__u8e3s4), new Char(_Char___init__impl__6a9atx(95)))) ? true : equals(new Char(_this__u8e3s4), new Char(_Char___init__impl__6a9atx(36)));
  }
  function isLetterOrDigit(_this__u8e3s4) {
    return isLetter(_this__u8e3s4) ? true : isDigit(_this__u8e3s4);
  }
  function isLetter(_this__u8e3s4) {
    return (_Char___init__impl__6a9atx(97) <= _this__u8e3s4 ? _this__u8e3s4 <= _Char___init__impl__6a9atx(122) : false) ? true : _Char___init__impl__6a9atx(65) <= _this__u8e3s4 ? _this__u8e3s4 <= _Char___init__impl__6a9atx(90) : false;
  }
  function isDigit(_this__u8e3s4) {
    return _Char___init__impl__6a9atx(48) <= _this__u8e3s4 ? _this__u8e3s4 <= _Char___init__impl__6a9atx(57) : false;
  }
  function Text_0() {
  }
  Text_0.$metadata$ = interfaceMeta('Text', [Action]);
  function Marker() {
  }
  Marker.prototype.s3l = function () {
    return this.s6s_1;
  };
  Marker.$metadata$ = classMeta('Marker', [Action]);
  function Line(str) {
    this.t6s_1 = str;
  }
  Line.prototype.r6s = function () {
    return this.t6s_1;
  };
  Line.prototype.toString = function () {
    return 'Line(str=' + this.t6s_1 + ')';
  };
  Line.prototype.hashCode = function () {
    return getStringHashCode(this.t6s_1);
  };
  Line.prototype.equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof Line))
      return false;
    var tmp0_other_with_cast = other instanceof Line ? other : THROW_CCE();
    if (!(this.t6s_1 === tmp0_other_with_cast.t6s_1))
      return false;
    return true;
  };
  Line.$metadata$ = classMeta('Line', [Text_0]);
  function LineDeferred() {
  }
  LineDeferred.prototype.v6s = function () {
    return this.u6s_1;
  };
  LineDeferred.$metadata$ = classMeta('LineDeferred', [Action]);
  function EmptyLineOnce() {
    EmptyLineOnce_instance = this;
  }
  EmptyLineOnce.$metadata$ = objectMeta('EmptyLineOnce', [Action]);
  var EmptyLineOnce_instance;
  function EmptyLineOnce_getInstance() {
    if (EmptyLineOnce_instance == null)
      new EmptyLineOnce();
    return EmptyLineOnce_instance;
  }
  function Indent() {
    Indent_instance = this;
  }
  Indent.$metadata$ = objectMeta('Indent', [Action]);
  var Indent_instance;
  function Indent_getInstance() {
    if (Indent_instance == null)
      new Indent();
    return Indent_instance;
  }
  function Unindent() {
    Unindent_instance = this;
  }
  Unindent.$metadata$ = objectMeta('Unindent', [Action]);
  var Unindent_instance;
  function Unindent_getInstance() {
    if (Unindent_instance == null)
      new Unindent();
    return Unindent_instance;
  }
  function Indenter_init_$Init$(actions, $mask0, $marker, $this) {
    if (!(($mask0 & 1) === 0)) {
      var tmp$ret$0;
      var tmp$ret$0_0;
      // Inline function 'kotlin.collections.arrayListOf' call
      tmp$ret$0 = ArrayList_init_$Create$_0();
      tmp$ret$0_0 = Unit_getInstance();
      actions = tmp$ret$0;
    }
    Indenter.call($this, actions);
    return $this;
  }
  function Indenter_init_$Create$(actions, $mask0, $marker) {
    return Indenter_init_$Init$(actions, $mask0, $marker, Object.create(Indenter.prototype));
  }
  function INDENTS() {
    INDENTS_instance = this;
    var tmp = this;
    var tmp$ret$2;
    // Inline function 'kotlin.apply' call
    var tmp_0 = 0;
    var tmp_1 = 1024;
    var tmp$ret$0;
    // Inline function 'kotlin.arrayOfNulls' call
    tmp$ret$0 = fillArrayVal(Array(tmp_1), null);
    var tmp_2 = tmp$ret$0;
    while (tmp_0 < tmp_1) {
      var tmp_3 = tmp_0;
      var tmp$ret$1;
      // Inline function 'com.soywiz.korio.util.INDENTS.INDENTS.<anonymous>' call
      tmp$ret$1 = '';
      tmp_2[tmp_3] = tmp$ret$1;
      tmp_0 = tmp_0 + 1 | 0;
    }
    var tmp0_apply = tmp_2;
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.soywiz.korio.util.INDENTS.INDENTS.<anonymous>' call
    var indent = StringBuilder_init_$Create$();
    var inductionVariable = 0;
    var last = tmp0_apply.length;
    if (inductionVariable < last)
      do {
        var n = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        tmp0_apply[n] = indent.toString();
        indent.gc('\t');
      }
       while (inductionVariable < last);
    tmp$ret$2 = tmp0_apply;
    tmp.w6s_1 = tmp$ret$2;
  }
  INDENTS.prototype.m = function (index) {
    if (index >= this.w6s_1.length) {
      // Inline function 'kotlin.TODO' call
      var tmp0_TODO = 'Too much indentation ' + index;
      throw new NotImplementedError('An operation is not implemented: ' + tmp0_TODO);
    }
    return index <= 0 ? '' : this.w6s_1[index];
  };
  INDENTS.$metadata$ = objectMeta('INDENTS');
  var INDENTS_instance;
  function INDENTS_getInstance() {
    if (INDENTS_instance == null)
      new INDENTS();
    return INDENTS_instance;
  }
  function Action() {
  }
  Action.$metadata$ = interfaceMeta('Action');
  function Companion_22() {
    Companion_instance_22 = this;
    var tmp = this;
    var tmp$ret$1;
    // Inline function 'com.soywiz.korio.util.Companion.gen' call
    var tmp0_gen = Companion_getInstance_27();
    var indenter = Indenter_init_$Create$(null, 1, null);
    var tmp$ret$0;
    // Inline function 'com.soywiz.korio.util.Companion.EMPTY.<anonymous>' call
    tmp$ret$0 = Unit_getInstance();
    tmp$ret$1 = indenter;
    tmp.x6s_1 = tmp$ret$1;
  }
  Companion_22.prototype.y6s = function (init) {
    var indenter = Indenter_init_$Create$(null, 1, null);
    init(indenter);
    return indenter;
  };
  Companion_22.prototype.z6s = function (init) {
    var tmp$ret$0;
    // Inline function 'com.soywiz.korio.util.Companion.gen' call
    var indenter = Indenter_init_$Create$(null, 1, null);
    init(indenter);
    tmp$ret$0 = indenter;
    return tmp$ret$0;
  };
  Companion_22.$metadata$ = objectMeta('Companion');
  var Companion_instance_22;
  function Companion_getInstance_27() {
    if (Companion_instance_22 == null)
      new Companion_22();
    return Companion_instance_22;
  }
  function IndenterEvaluator(markHandler, indentEmptyLines, doIndent) {
    this.a6t_1 = markHandler;
    this.b6t_1 = indentEmptyLines;
    this.c6t_1 = doIndent;
    this.d6t_1 = StringBuilder_init_$Create$();
    this.e6t_1 = 0;
    this.f6t_1 = true;
    this.g6t_1 = 0;
    this.h6t_1 = false;
  }
  IndenterEvaluator.prototype.i6t = function () {
    return this.a6t_1;
  };
  IndenterEvaluator.prototype.j6t = function () {
    return this.b6t_1;
  };
  IndenterEvaluator.prototype.k6t = function () {
    return this.c6t_1;
  };
  IndenterEvaluator.prototype.l6t = function () {
    return this.d6t_1;
  };
  IndenterEvaluator.prototype.m6t = function (_set____db54di) {
    this.e6t_1 = _set____db54di;
  };
  IndenterEvaluator.prototype.n6t = function () {
    return this.e6t_1;
  };
  IndenterEvaluator.prototype.o6t = function (_set____db54di) {
    this.f6t_1 = _set____db54di;
  };
  IndenterEvaluator.prototype.p6t = function () {
    return this.f6t_1;
  };
  IndenterEvaluator.prototype.q6t = function (_set____db54di) {
    this.g6t_1 = _set____db54di;
  };
  IndenterEvaluator.prototype.r6t = function () {
    return this.g6t_1;
  };
  IndenterEvaluator.prototype.s6t = function (_set____db54di) {
    this.h6t_1 = _set____db54di;
  };
  IndenterEvaluator.prototype.t6t = function () {
    return this.h6t_1;
  };
  IndenterEvaluator.prototype.u6t = function (str) {
    return this.d6t_1.gc(str);
  };
  IndenterEvaluator.prototype.v6t = function (str) {
    return this.d6t_1.g2(str);
  };
  IndenterEvaluator.prototype.w6t = function () {
    if (this.c6t_1) {
      this.v6t(_Char___init__impl__6a9atx(10));
    }
    var tmp0_this = this;
    var tmp1 = tmp0_this.e6t_1;
    tmp0_this.e6t_1 = tmp1 + 1 | 0;
    this.f6t_1 = true;
  };
  IndenterEvaluator.prototype.x6t = function (actions) {
    // Inline function 'com.soywiz.kds.iterators.fastForEach' call
    var n = 0;
    while (n < actions.i()) {
      // Inline function 'com.soywiz.korio.util.IndenterEvaluator.eval.<anonymous>' call
      var tmp0 = n;
      n = tmp0 + 1 | 0;
      var tmp0__anonymous__q1qw7t = actions.m(tmp0);
      var tmp0_subject = tmp0__anonymous__q1qw7t;
      if (isInterface(tmp0_subject, Text_0)) {
        if (this.f6t_1) {
          var tmp;
          if (!this.b6t_1) {
            var tmp$ret$0;
            // Inline function 'kotlin.text.isEmpty' call
            var tmp0_isEmpty = tmp0__anonymous__q1qw7t.r6s();
            tmp$ret$0 = charSequenceLength(tmp0_isEmpty) === 0;
            tmp = tmp$ret$0;
          } else {
            tmp = false;
          }
          if (tmp) {
            this.w6t();
          } else {
            if (this.c6t_1) {
              this.u6t(INDENTS_getInstance().m(this.g6t_1));
            } else {
              this.u6t(' ');
            }
          }
        }
        this.u6t(tmp0__anonymous__q1qw7t.r6s());
        if (tmp0__anonymous__q1qw7t instanceof Line) {
          var tmp1_this = this;
          var tmp_0 = tmp1_this;
          var tmp_1 = tmp1_this.e6t_1;
          var tmp$ret$2;
          // Inline function 'kotlin.text.count' call
          var tmp1_count = tmp0__anonymous__q1qw7t.r6s();
          var count = 0;
          var indexedObject = tmp1_count;
          var inductionVariable = 0;
          var last = indexedObject.length;
          while (inductionVariable < last) {
            var element = charSequenceGet(indexedObject, inductionVariable);
            inductionVariable = inductionVariable + 1 | 0;
            var tmp$ret$1;
            // Inline function 'com.soywiz.korio.util.IndenterEvaluator.eval.<anonymous>.<anonymous>' call
            tmp$ret$1 = equals(new Char(element), new Char(_Char___init__impl__6a9atx(10)));
            if (tmp$ret$1) {
              count = count + 1 | 0;
            }
          }
          tmp$ret$2 = count;
          tmp_0.e6t_1 = tmp_1 + tmp$ret$2 | 0;
          this.w6t();
        } else {
          this.f6t_1 = false;
        }
        this.h6t_1 = true;
      } else {
        if (tmp0_subject instanceof LineDeferred) {
          this.x6t(tmp0__anonymous__q1qw7t.u6s_1().y6t_1);
        } else {
          if (equals(tmp0_subject, Indent_getInstance()) ? true : equals(tmp0_subject, Unindent_getInstance())) {
            this.h6t_1 = false;
            var tmp2_this = this;
            tmp2_this.g6t_1 = tmp2_this.g6t_1 + (equals(tmp0__anonymous__q1qw7t, Indent_getInstance()) ? 1 : -1) | 0;
          } else {
            if (equals(tmp0_subject, EmptyLineOnce_getInstance())) {
              if (this.h6t_1) {
                this.w6t();
                this.h6t_1 = false;
              }
            } else {
              if (tmp0_subject instanceof Marker) {
                var tmp3_safe_receiver = this.a6t_1;
                if (tmp3_safe_receiver == null)
                  null;
                else
                  tmp3_safe_receiver(this.d6t_1, this.e6t_1, tmp0__anonymous__q1qw7t.s6s_1);
              }
            }
          }
        }
      }
    }
  };
  IndenterEvaluator.$metadata$ = classMeta('IndenterEvaluator');
  function Indenter(actions) {
    Companion_getInstance_27();
    this.y6t_1 = actions;
    this.z6t_1 = true;
    this.a6u_1 = '';
  }
  Indenter.prototype.b6u = function () {
    return this.y6t_1;
  };
  Indenter.prototype.c6u = function (indenter) {
    var tmp$ret$0;
    // Inline function 'kotlin.apply' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.soywiz.korio.util.Indenter.line.<anonymous>' call
    this.y6t_1.o(indenter.y6t_1);
    tmp$ret$0 = this;
    return tmp$ret$0;
  };
  Indenter.prototype.d6u = function (str) {
    var tmp$ret$0;
    // Inline function 'kotlin.apply' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.soywiz.korio.util.Indenter.line.<anonymous>' call
    this.y6t_1.c(new Line(str));
    tmp$ret$0 = this;
    return tmp$ret$0;
  };
  Indenter.prototype.e6u = function (str, callback) {
    var tmp;
    var tmp$ret$0;
    // Inline function 'kotlin.text.isEmpty' call
    tmp$ret$0 = charSequenceLength(str) === 0;
    if (tmp$ret$0) {
      tmp = '{';
    } else {
      tmp = str + ' {';
    }
    this.d6u(tmp);
    var tmp$ret$1;
    // Inline function 'com.soywiz.korio.util.Indenter.indent' call
    this.f6u();
    try {
      callback();
    }finally {
      this.g6u();
    }
    tmp$ret$1 = this;
    this.d6u('}');
    return this;
  };
  Indenter.prototype.h6u = function (callback) {
    this.f6u();
    try {
      callback();
    }finally {
      this.g6u();
    }
    return this;
  };
  Indenter.prototype.f6u = function () {
    this.y6t_1.c(Indent_getInstance());
  };
  Indenter.prototype.g6u = function () {
    this.y6t_1.c(Unindent_getInstance());
  };
  Indenter.prototype.i6u = function (markHandler, doIndent) {
    var tmp$ret$0;
    // Inline function 'kotlin.apply' call
    var tmp0_apply = new IndenterEvaluator(markHandler, this.z6t_1, doIndent);
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.soywiz.korio.util.Indenter.toString.<anonymous>' call
    tmp0_apply.x6t(this.y6t_1);
    tmp$ret$0 = tmp0_apply;
    return tmp$ret$0.d6t_1.toString();
  };
  Indenter.prototype.toString = function () {
    return this.i6u(null, true);
  };
  Indenter.$metadata$ = classMeta('Indenter');
  function get_niceStr(_this__u8e3s4) {
    var tmp$ret$1;
    // Inline function 'kotlin.text.buildString' call
    // Inline function 'kotlin.contracts.contract' call
    var tmp$ret$0;
    // Inline function 'kotlin.apply' call
    var tmp0_apply = StringBuilder_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.soywiz.korio.util.<get-niceStr>.<anonymous>' call
    appendNice(tmp0_apply, _this__u8e3s4);
    tmp$ret$0 = tmp0_apply;
    tmp$ret$1 = tmp$ret$0.toString();
    return tmp$ret$1;
  }
  function niceStr(_this__u8e3s4, decimalPlaces) {
    return get_niceStr_0(roundDecimalPlaces(_this__u8e3s4, decimalPlaces));
  }
  function toStringDecimal(_this__u8e3s4, decimalPlaces, skipTrailingZeros) {
    if (isNanOrInfinite(_this__u8e3s4))
      return _this__u8e3s4.toString();
    var res = normalizeZero(roundDecimalPlaces(_this__u8e3s4, decimalPlaces)).toString();
    var tmp = _Char___init__impl__6a9atx(69);
    var eup = indexOf$default_0(res, tmp, 0, false, 6, null);
    var tmp_0 = _Char___init__impl__6a9atx(101);
    var elo = indexOf$default_0(res, tmp_0, 0, false, 6, null);
    var eIndex = eup >= 0 ? eup : elo;
    var tmp_1;
    if (eIndex >= 0) {
      var tmp$ret$1;
      // Inline function 'kotlin.text.substring' call
      var tmp$ret$0;
      // Inline function 'kotlin.js.asDynamic' call
      tmp$ret$0 = res;
      tmp$ret$1 = tmp$ret$0.substring(0, eIndex);
      var base = tmp$ret$1;
      var tmp$ret$3;
      // Inline function 'kotlin.text.substring' call
      var tmp0_substring = eIndex + 1 | 0;
      var tmp$ret$2;
      // Inline function 'kotlin.js.asDynamic' call
      tmp$ret$2 = res;
      tmp$ret$3 = tmp$ret$2.substring(tmp0_substring);
      var exp = toInt_0(tmp$ret$3);
      var tmp_2;
      if (contains$default_0(base, '.', false, 2, null)) {
        tmp_2 = base;
      } else {
        tmp_2 = base + '.0';
      }
      var rbase = tmp_2;
      var tmp$ret$4;
      // Inline function 'kotlin.math.absoluteValue' call
      tmp$ret$4 = abs(exp);
      var zeros = repeat('0', tmp$ret$4 + 2 | 0);
      var part = exp > 0 ? rbase + zeros : zeros + rbase;
      var pointIndex2 = indexOf$default(part, '.', 0, false, 6, null);
      var pointIndex = pointIndex2 < 0 ? part.length : pointIndex2;
      var outIndex = pointIndex + exp | 0;
      var part2 = replace$default_0(part, '.', '', false, 4, null);
      var tmp$ret$8;
      // Inline function 'kotlin.text.buildString' call
      // Inline function 'kotlin.contracts.contract' call
      var tmp$ret$7;
      // Inline function 'kotlin.apply' call
      var tmp0_apply = StringBuilder_init_$Create$();
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.soywiz.korio.util.toStringDecimal.<anonymous>' call
      var tmp$ret$5;
      $l$block_0: {
        // Inline function 'kotlin.collections.all' call
        var tmp0_all = until(0, outIndex);
        var tmp_3;
        if (isInterface(tmp0_all, Collection)) {
          tmp_3 = tmp0_all.p();
        } else {
          tmp_3 = false;
        }
        if (tmp_3) {
          tmp$ret$5 = true;
          break $l$block_0;
        }
        var inductionVariable = tmp0_all.r1_1;
        var last = tmp0_all.s1_1;
        if (inductionVariable <= last)
          do {
            var element = inductionVariable;
            inductionVariable = inductionVariable + 1 | 0;
            var tmp$ret$6;
            // Inline function 'com.soywiz.korio.util.toStringDecimal.<anonymous>.<anonymous>' call
            tmp$ret$6 = equals(new Char(charSequenceGet(part2, element)), new Char(_Char___init__impl__6a9atx(48)));
            if (!tmp$ret$6) {
              tmp$ret$5 = false;
              break $l$block_0;
            }
          }
           while (!(element === last));
        tmp$ret$5 = true;
      }
      if (tmp$ret$5) {
        tmp0_apply.g2(_Char___init__impl__6a9atx(48));
      } else {
        tmp0_apply.xl(part2, 0, outIndex);
      }
      tmp0_apply.g2(_Char___init__impl__6a9atx(46));
      tmp0_apply.xl(part2, outIndex, part2.length);
      tmp$ret$7 = tmp0_apply;
      tmp$ret$8 = tmp$ret$7.toString();
      tmp_1 = tmp$ret$8;
    } else {
      tmp_1 = res;
    }
    var rez = tmp_1;
    var tmp_4 = _Char___init__impl__6a9atx(46);
    var pointIndex_0 = indexOf$default_0(rez, tmp_4, 0, false, 6, null);
    var tmp_5;
    if (pointIndex_0 >= 0) {
      var tmp$ret$10;
      // Inline function 'kotlin.text.substring' call
      var tmp$ret$9;
      // Inline function 'kotlin.js.asDynamic' call
      tmp$ret$9 = rez;
      tmp$ret$10 = tmp$ret$9.substring(0, pointIndex_0);
      tmp_5 = tmp$ret$10;
    } else {
      tmp_5 = rez;
    }
    var integral = tmp_5;
    if (decimalPlaces === 0)
      return integral;
    var tmp_6;
    if (pointIndex_0 >= 0) {
      var tmp$ret$12;
      // Inline function 'kotlin.text.substring' call
      var tmp1_substring = pointIndex_0 + 1 | 0;
      var tmp$ret$11;
      // Inline function 'kotlin.js.asDynamic' call
      tmp$ret$11 = rez;
      tmp$ret$12 = tmp$ret$11.substring(tmp1_substring);
      tmp_6 = trimEnd(tmp$ret$12, charArrayOf([_Char___init__impl__6a9atx(48)]));
    } else {
      tmp_6 = '';
    }
    var decimal = tmp_6;
    var tmp$ret$18;
    // Inline function 'kotlin.text.buildString' call
    var tmp2_buildString = (2 + integral.length | 0) + decimalPlaces | 0;
    // Inline function 'kotlin.contracts.contract' call
    var tmp$ret$17;
    // Inline function 'kotlin.apply' call
    var tmp0_apply_0 = StringBuilder_init_$Create$_0(tmp2_buildString);
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.soywiz.korio.util.toStringDecimal.<anonymous>' call
    tmp0_apply_0.gc(integral);
    var tmp_7;
    var tmp$ret$13;
    // Inline function 'kotlin.text.isNotEmpty' call
    tmp$ret$13 = charSequenceLength(decimal) > 0;
    if (tmp$ret$13) {
      tmp_7 = true;
    } else {
      tmp_7 = !skipTrailingZeros;
    }
    if (tmp_7) {
      var tmp$ret$14;
      // Inline function 'kotlin.math.min' call
      var tmp0_min = decimal.length;
      tmp$ret$14 = Math.min(tmp0_min, decimalPlaces);
      var decimalCount = tmp$ret$14;
      var tmp$ret$15;
      $l$block_2: {
        // Inline function 'kotlin.collections.all' call
        var tmp1_all = until(0, decimalCount);
        var tmp_8;
        if (isInterface(tmp1_all, Collection)) {
          tmp_8 = tmp1_all.p();
        } else {
          tmp_8 = false;
        }
        if (tmp_8) {
          tmp$ret$15 = true;
          break $l$block_2;
        }
        var inductionVariable_0 = tmp1_all.r1_1;
        var last_0 = tmp1_all.s1_1;
        if (inductionVariable_0 <= last_0)
          do {
            var element_0 = inductionVariable_0;
            inductionVariable_0 = inductionVariable_0 + 1 | 0;
            var tmp$ret$16;
            // Inline function 'com.soywiz.korio.util.toStringDecimal.<anonymous>.<anonymous>' call
            tmp$ret$16 = equals(new Char(charSequenceGet(decimal, element_0)), new Char(_Char___init__impl__6a9atx(48)));
            if (!tmp$ret$16) {
              tmp$ret$15 = false;
              break $l$block_2;
            }
          }
           while (!(element_0 === last_0));
        tmp$ret$15 = true;
      }
      var allZeros = tmp$ret$15;
      if (!skipTrailingZeros ? true : !allZeros) {
        tmp0_apply_0.g2(_Char___init__impl__6a9atx(46));
        tmp0_apply_0.xl(decimal, 0, decimalCount);
        if (!skipTrailingZeros) {
          // Inline function 'kotlin.repeat' call
          var tmp2_repeat = decimalPlaces - decimalCount | 0;
          // Inline function 'kotlin.contracts.contract' call
          var inductionVariable_1 = 0;
          if (inductionVariable_1 < tmp2_repeat)
            do {
              var index = inductionVariable_1;
              inductionVariable_1 = inductionVariable_1 + 1 | 0;
              // Inline function 'com.soywiz.korio.util.toStringDecimal.<anonymous>.<anonymous>' call
              tmp0_apply_0.g2(_Char___init__impl__6a9atx(48));
            }
             while (inductionVariable_1 < tmp2_repeat);
        }
      }
    }
    tmp$ret$17 = tmp0_apply_0;
    tmp$ret$18 = tmp$ret$17.toString();
    return tmp$ret$18;
  }
  function toStringDecimal$default(_this__u8e3s4, decimalPlaces, skipTrailingZeros, $mask0, $handler) {
    if (!(($mask0 & 2) === 0))
      skipTrailingZeros = false;
    return toStringDecimal(_this__u8e3s4, decimalPlaces, skipTrailingZeros);
  }
  function get_niceStr_0(_this__u8e3s4) {
    var tmp$ret$1;
    // Inline function 'kotlin.text.buildString' call
    // Inline function 'kotlin.contracts.contract' call
    var tmp$ret$0;
    // Inline function 'kotlin.apply' call
    var tmp0_apply = StringBuilder_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.soywiz.korio.util.<get-niceStr>.<anonymous>' call
    appendNice_0(tmp0_apply, _this__u8e3s4);
    tmp$ret$0 = tmp0_apply;
    tmp$ret$1 = tmp$ret$0.toString();
    return tmp$ret$1;
  }
  function appendNice(_this__u8e3s4, value) {
    var tmp$ret$0;
    // Inline function 'kotlin.math.round' call
    tmp$ret$0 = round(value);
    var tmp = tmp$ret$0;
    if (isAlmostEquals$default(tmp, value, 0.0, 2, null))
      if (value >= IntCompanionObject_getInstance().n1_1 ? value <= IntCompanionObject_getInstance().o1_1 : false) {
        _this__u8e3s4.fc(numberToInt(value));
      } else {
        _this__u8e3s4.fc(numberToLong(value));
      }
     else {
      _this__u8e3s4.fc(value);
    }
  }
  function roundDecimalPlaces(_this__u8e3s4, places) {
    if (places < 0)
      return _this__u8e3s4;
    var tmp$ret$0;
    // Inline function 'kotlin.math.pow' call
    var tmp0_pow = places;
    tmp$ret$0 = Math.pow(10.0, tmp0_pow);
    var placesFactor = tmp$ret$0;
    return round(_this__u8e3s4 * placesFactor) / placesFactor;
  }
  function normalizeZero(_this__u8e3s4) {
    return _this__u8e3s4 === -0.0 ? 0.0 : _this__u8e3s4;
  }
  function appendNice_0(_this__u8e3s4, value) {
    var tmp = round(value);
    if (isAlmostEquals$default_0(tmp, value, 0.0, 2, null))
      if (value >= IntCompanionObject_getInstance().n1_1 ? value <= IntCompanionObject_getInstance().o1_1 : false) {
        _this__u8e3s4.fc(numberToInt(value));
      } else {
        _this__u8e3s4.fc(numberToLong(value));
      }
     else {
      _this__u8e3s4.fc(value);
    }
  }
  function isAlmostEquals(_this__u8e3s4, other, epsilon) {
    var tmp$ret$0;
    // Inline function 'kotlin.math.absoluteValue' call
    var tmp0__get_absoluteValue__nukmtt = _this__u8e3s4 - other;
    tmp$ret$0 = Math.abs(tmp0__get_absoluteValue__nukmtt);
    return tmp$ret$0 < epsilon;
  }
  function isAlmostEquals$default(_this__u8e3s4, other, epsilon, $mask0, $handler) {
    if (!(($mask0 & 2) === 0))
      epsilon = 1.0E-6;
    return isAlmostEquals(_this__u8e3s4, other, epsilon);
  }
  function isAlmostEquals_0(_this__u8e3s4, other, epsilon) {
    var tmp$ret$0;
    // Inline function 'kotlin.math.absoluteValue' call
    var tmp0__get_absoluteValue__nukmtt = _this__u8e3s4 - other;
    tmp$ret$0 = Math.abs(tmp0__get_absoluteValue__nukmtt);
    return tmp$ret$0 < epsilon;
  }
  function isAlmostEquals$default_0(_this__u8e3s4, other, epsilon, $mask0, $handler) {
    if (!(($mask0 & 2) === 0))
      epsilon = 1.0E-6;
    return isAlmostEquals_0(_this__u8e3s4, other, epsilon);
  }
  function NumberParser() {
    NumberParser_instance = this;
  }
  NumberParser.prototype.j6u = function (str, start, end, radix) {
    var positive = true;
    var out = 0;
    var inductionVariable = start;
    if (inductionVariable < end)
      loop: do {
        var n = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var c = charSequenceGet(str, n);
        if (equals(new Char(c), new Char(_Char___init__impl__6a9atx(45))) ? true : equals(new Char(c), new Char(_Char___init__impl__6a9atx(43)))) {
          positive = equals(new Char(c), new Char(_Char___init__impl__6a9atx(43)));
        } else {
          var value = ctypeAsInt(c);
          if (value < 0)
            break loop;
          out = imul(out, radix);
          out = out + value | 0;
        }
      }
       while (inductionVariable < end);
    return positive ? out : -out | 0;
  };
  NumberParser.prototype.u65 = function (str, start, end) {
    var out = 0.0;
    var frac = 1.0;
    var pointSeen = false;
    var eSeen = false;
    var negate = false;
    var negateExponent = false;
    var exponent = 0;
    var inductionVariable = start;
    if (inductionVariable < end)
      do {
        var n = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var c = charSequenceGet(str, n);
        var tmp1_subject = c;
        if (equals(new Char(tmp1_subject), new Char(_Char___init__impl__6a9atx(101))) ? true : equals(new Char(tmp1_subject), new Char(_Char___init__impl__6a9atx(69))))
          eSeen = true;
        else if (equals(new Char(tmp1_subject), new Char(_Char___init__impl__6a9atx(45)))) {
          if (eSeen)
            negateExponent = true;
          else
            negate = true;
        } else if (equals(new Char(tmp1_subject), new Char(_Char___init__impl__6a9atx(46))))
          pointSeen = true;
        else {
          if (eSeen) {
            exponent = imul(exponent, 10);
            exponent = exponent + ctypeAsInt(c) | 0;
          } else {
            if (pointSeen)
              frac = frac / 10;
            out = out * 10;
            out = out + ctypeAsInt(c);
          }
        }
      }
       while (inductionVariable < end);
    var tmp = out * frac;
    var tmp$ret$0;
    // Inline function 'kotlin.math.pow' call
    var tmp0_pow = negateExponent ? -exponent | 0 : exponent;
    tmp$ret$0 = Math.pow(10.0, tmp0_pow);
    var res = tmp * tmp$ret$0;
    return negate ? -res : res;
  };
  NumberParser.$metadata$ = objectMeta('NumberParser');
  var NumberParser_instance;
  function NumberParser_getInstance() {
    if (NumberParser_instance == null)
      new NumberParser();
    return NumberParser_instance;
  }
  function ctypeAsInt(_this__u8e3s4) {
    return (Char__compareTo_impl_ypi4mb(_this__u8e3s4, _Char___init__impl__6a9atx(48)) >= 0 ? Char__compareTo_impl_ypi4mb(_this__u8e3s4, _Char___init__impl__6a9atx(57)) <= 0 : false) ? Char__minus_impl_a2frrh(_this__u8e3s4, _Char___init__impl__6a9atx(48)) : (Char__compareTo_impl_ypi4mb(_this__u8e3s4, _Char___init__impl__6a9atx(97)) >= 0 ? Char__compareTo_impl_ypi4mb(_this__u8e3s4, _Char___init__impl__6a9atx(122)) <= 0 : false) ? Char__minus_impl_a2frrh(_this__u8e3s4, _Char___init__impl__6a9atx(97)) + 10 | 0 : (Char__compareTo_impl_ypi4mb(_this__u8e3s4, _Char___init__impl__6a9atx(65)) >= 0 ? Char__compareTo_impl_ypi4mb(_this__u8e3s4, _Char___init__impl__6a9atx(90)) <= 0 : false) ? Char__minus_impl_a2frrh(_this__u8e3s4, _Char___init__impl__6a9atx(65)) + 10 | 0 : -1;
  }
  function OS$rawNameLC$delegate$lambda() {
    var tmp$ret$1;
    // Inline function 'kotlin.text.lowercase' call
    var tmp0_lowercase = OS_getInstance().m6u();
    var tmp$ret$0;
    // Inline function 'kotlin.js.asDynamic' call
    tmp$ret$0 = tmp0_lowercase;
    tmp$ret$1 = tmp$ret$0.toLowerCase();
    return tmp$ret$1;
  }
  function OS$platformNameLC$delegate$lambda() {
    var tmp$ret$1;
    // Inline function 'kotlin.text.lowercase' call
    var tmp0_lowercase = OS_getInstance().n6u();
    var tmp$ret$0;
    // Inline function 'kotlin.js.asDynamic' call
    tmp$ret$0 = tmp0_lowercase;
    tmp$ret$1 = tmp$ret$0.toLowerCase();
    return tmp$ret$1;
  }
  function OS() {
    OS_instance = this;
    var tmp = this;
    tmp.k6u_1 = lazy(OS$rawNameLC$delegate$lambda);
    var tmp_0 = this;
    tmp_0.l6u_1 = lazy(OS$platformNameLC$delegate$lambda);
  }
  OS.prototype.m6u = function () {
    return Companion_getInstance_2().c4z();
  };
  OS.prototype.n6u = function () {
    return Companion_getInstance_2().b4z();
  };
  OS.prototype.r4y = function () {
    return get_isWindows(Companion_getInstance_2());
  };
  OS.prototype.t4y = function () {
    return get_isMac(Companion_getInstance_2());
  };
  OS.prototype.s4y = function () {
    return get_isAndroid(Companion_getInstance_2());
  };
  OS.prototype.f4z = function () {
    return get_isNative(Companion_getInstance_2());
  };
  OS.prototype.o6u = function () {
    return get_isJsNodeJs(Companion_getInstance_2());
  };
  OS.prototype.p6u = function () {
    return get_isJsBrowser(Companion_getInstance_2());
  };
  OS.$metadata$ = objectMeta('OS');
  var OS_instance;
  function OS_getInstance() {
    if (OS_instance == null)
      new OS();
    return OS_instance;
  }
  function Once() {
    this.q6u_1 = false;
  }
  Once.prototype.r6u = function (callback) {
    if (!this.q6u_1) {
      this.q6u_1 = true;
      callback();
    }
  };
  Once.$metadata$ = classMeta('Once');
  function get_LONG_ZERO_TO_MAX_RANGE() {
    init_properties_RangeExt_kt_iv2hze();
    return LONG_ZERO_TO_MAX_RANGE;
  }
  var LONG_ZERO_TO_MAX_RANGE;
  function toLongRange(_this__u8e3s4) {
    init_properties_RangeExt_kt_iv2hze();
    return toLong(_this__u8e3s4.v()).c2(toLong(_this__u8e3s4.w()));
  }
  var properties_initialized_RangeExt_kt_dqkq5i;
  function init_properties_RangeExt_kt_iv2hze() {
    if (properties_initialized_RangeExt_kt_dqkq5i) {
    } else {
      properties_initialized_RangeExt_kt_dqkq5i = true;
      var tmp = new Long(0, 0);
      Companion_getInstance_3();
      LONG_ZERO_TO_MAX_RANGE = tmp.c2(new Long(-1, 2147483647));
    }
  }
  function get_length(_this__u8e3s4) {
    return (_this__u8e3s4.s1_1 - _this__u8e3s4.r1_1 | 0) + 1 | 0;
  }
  function Companion_23() {
    Companion_instance_23 = this;
  }
  Companion_23.prototype.c68 = function (lits) {
    var tmp$ret$3;
    // Inline function 'kotlin.collections.toTypedArray' call
    var tmp$ret$2;
    // Inline function 'kotlin.collections.map' call
    var tmp$ret$1;
    // Inline function 'kotlin.collections.mapTo' call
    var tmp0_mapTo = ArrayList_init_$Create$(lits.length);
    var indexedObject = lits;
    var inductionVariable = 0;
    var last = indexedObject.length;
    while (inductionVariable < last) {
      var item = indexedObject[inductionVariable];
      inductionVariable = inductionVariable + 1 | 0;
      var tmp$ret$0;
      // Inline function 'com.soywiz.korio.util.Companion.fromList.<anonymous>' call
      tmp$ret$0 = item.length;
      tmp0_mapTo.c(tmp$ret$0);
    }
    tmp$ret$1 = tmp0_mapTo;
    tmp$ret$2 = tmp$ret$1;
    var tmp0_toTypedArray = distinct(reversed(sorted(tmp$ret$2)));
    tmp$ret$3 = copyToArray(tmp0_toTypedArray);
    var lengths = tmp$ret$3;
    var tmp$ret$4;
    // Inline function 'kotlin.collections.linkedMapOf' call
    tmp$ret$4 = LinkedHashMap_init_$Create$_0();
    var map = tmp$ret$4;
    // Inline function 'com.soywiz.kds.iterators.fastForEach' call
    var n = 0;
    while (n < lits.length) {
      // Inline function 'com.soywiz.korio.util.Companion.fromList.<anonymous>' call
      var tmp0 = n;
      n = tmp0 + 1 | 0;
      var tmp1__anonymous__uwfjfc = lits[tmp0];
      // Inline function 'kotlin.collections.set' call
      map.a(tmp1__anonymous__uwfjfc, true);
    }
    return new Literals(lits, map, lengths);
  };
  Companion_23.$metadata$ = objectMeta('Companion');
  var Companion_instance_23;
  function Companion_getInstance_28() {
    if (Companion_instance_23 == null)
      new Companion_23();
    return Companion_instance_23;
  }
  function Companion_24() {
    Companion_instance_24 = this;
  }
  Companion_24.$metadata$ = objectMeta('Companion');
  var Companion_instance_24;
  function Companion_getInstance_29() {
    if (Companion_instance_24 == null)
      new Companion_24();
    return Companion_instance_24;
  }
  function StrReader_init_$Init$(str, file, pos, $mask0, $marker, $this) {
    if (!(($mask0 & 2) === 0))
      file = 'file';
    if (!(($mask0 & 4) === 0))
      pos = 0;
    StrReader.call($this, str, file, pos);
    return $this;
  }
  function StrReader_init_$Create$(str, file, pos, $mask0, $marker) {
    return StrReader_init_$Init$(str, file, pos, $mask0, $marker, Object.create(StrReader.prototype));
  }
  function Companion_25() {
    Companion_instance_25 = this;
  }
  Companion_25.$metadata$ = objectMeta('Companion');
  var Companion_instance_25;
  function Companion_getInstance_30() {
    if (Companion_instance_25 == null)
      new Companion_25();
    return Companion_instance_25;
  }
  function posSkip($this, count) {
    var out = $this.y5z_1;
    var tmp0_this = $this;
    tmp0_this.y5z_1 = tmp0_this.y5z_1 + count | 0;
    return out;
  }
  function substr_2($this, pos, length) {
    var tmp$ret$3;
    // Inline function 'kotlin.text.substring' call
    var tmp3_substring = $this.w5z_1;
    var tmp$ret$0;
    // Inline function 'kotlin.math.min' call
    var tmp0_min = $this.a60_1;
    tmp$ret$0 = Math.min(pos, tmp0_min);
    var tmp4_substring = tmp$ret$0;
    var tmp$ret$1;
    // Inline function 'kotlin.math.min' call
    var tmp1_min = pos + length | 0;
    var tmp2_min = $this.a60_1;
    tmp$ret$1 = Math.min(tmp1_min, tmp2_min);
    var tmp5_substring = tmp$ret$1;
    var tmp$ret$2;
    // Inline function 'kotlin.js.asDynamic' call
    tmp$ret$2 = tmp3_substring;
    tmp$ret$3 = tmp$ret$2.substring(tmp4_substring, tmp5_substring);
    return tmp$ret$3;
  }
  function Literals(lits, map, lengths) {
    Companion_getInstance_28();
    this.s6u_1 = lits;
    this.t6u_1 = map;
    this.u6u_1 = lengths;
  }
  Literals.prototype.toString = function () {
    return 'Literals(' + joinToString$default_0(this.s6u_1, ' ', null, null, 0, null, null, 62, null) + ')';
  };
  Literals.$metadata$ = classMeta('Literals');
  function TRange(min, max, reader) {
    Companion_getInstance_29();
    this.r67_1 = min;
    this.s67_1 = max;
    this.t67_1 = reader;
  }
  TRange.prototype.toString = function () {
    return '' + this.r67_1 + ':' + this.s67_1;
  };
  TRange.prototype.u67 = function () {
    return this.t67_1.r2u(this.r67_1, this.s67_1);
  };
  TRange.$metadata$ = classMeta('TRange');
  function StrReader(str, file, pos) {
    Companion_getInstance_30();
    this.w5z_1 = str;
    this.x5z_1 = file;
    this.y5z_1 = pos;
    this.z5z_1 = charArray(this.w5z_1.length);
    this.a60_1 = this.w5z_1.length;
  }
  StrReader.prototype.z5y = function () {
    return this.a60_1 - this.y5z_1 | 0;
  };
  StrReader.prototype.e5z = function () {
    return this.y5z_1 >= this.w5z_1.length;
  };
  StrReader.prototype.f5z = function () {
    return this.y5z_1 < this.w5z_1.length;
  };
  StrReader.prototype.q67 = function (start, end) {
    return new TRange(start, end, this);
  };
  StrReader.prototype.v6u = function (action) {
    var start = this.y5z_1;
    action();
    var end = this.y5z_1;
    return end > start ? this.r2u(start, end) : null;
  };
  StrReader.prototype.r2u = function (start, end) {
    var tmp$ret$1;
    // Inline function 'kotlin.text.substring' call
    var tmp0_substring = this.w5z_1;
    var tmp$ret$0;
    // Inline function 'kotlin.js.asDynamic' call
    tmp$ret$0 = tmp0_substring;
    tmp$ret$1 = tmp$ret$0.substring(start, end);
    return tmp$ret$1;
  };
  StrReader.prototype.b4v = function (count) {
    return substr_2(this, this.y5z_1, count);
  };
  StrReader.prototype.r65 = function () {
    return this.f5z() ? charSequenceGet(this.w5z_1, this.y5z_1) : _Char___init__impl__6a9atx(0);
  };
  StrReader.prototype.s65 = function () {
    return this.f5z() ? charSequenceGet(this.w5z_1, this.y5z_1) : _Char___init__impl__6a9atx(0);
  };
  StrReader.prototype.w6u = function (count) {
    var tmp$ret$0;
    // Inline function 'kotlin.apply' call
    var tmp0_apply = this.b4v(count);
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.soywiz.korio.util.StrReader.read.<anonymous>' call
    this.x4l(count);
    tmp$ret$0 = tmp0_apply;
    return tmp$ret$0;
  };
  StrReader.prototype.x6u = function (char) {
    var tmp = this.y5z_1;
    var skipPos = indexOf$default_0(this.w5z_1, char, tmp, false, 4, null);
    this.y5z_1 = skipPos >= 0 ? skipPos : this.a60_1;
  };
  StrReader.prototype.y6u = function (char) {
    this.x6u(char);
    if (this.f5z() ? equals(new Char(this.s65()), new Char(char)) : false) {
      this.x4l(1);
    }
  };
  StrReader.prototype.z6u = function (filter) {
    while (this.f5z() ? filter(new Char(this.s65())) : false) {
      this.t65();
    }
  };
  StrReader.prototype.a6v = function (check) {
    var tmp$ret$0;
    // Inline function 'com.soywiz.korio.util.StrReader.slice' call
    var start = this.y5z_1;
    // Inline function 'com.soywiz.korio.util.StrReader.matchWhile.<anonymous>' call
    // Inline function 'com.soywiz.korio.util.StrReader.skipWhile' call
    while (this.f5z() ? check(new Char(this.s65())) : false) {
      this.t65();
    }
    var end = this.y5z_1;
    tmp$ret$0 = end > start ? this.r2u(start, end) : null;
    return tmp$ret$0;
  };
  StrReader.prototype.j67 = function (char) {
    var tmp$ret$0;
    // Inline function 'com.soywiz.korio.util.StrReader.slice' call
    var start = this.y5z_1;
    // Inline function 'com.soywiz.korio.util.StrReader.readUntil.<anonymous>' call
    this.x6u(char);
    var end = this.y5z_1;
    tmp$ret$0 = end > start ? this.r2u(start, end) : null;
    return tmp$ret$0;
  };
  StrReader.prototype.f68 = function (char) {
    var tmp$ret$0;
    // Inline function 'com.soywiz.korio.util.StrReader.slice' call
    var start = this.y5z_1;
    // Inline function 'com.soywiz.korio.util.StrReader.readUntilIncluded.<anonymous>' call
    this.y6u(char);
    var end = this.y5z_1;
    tmp$ret$0 = end > start ? this.r2u(start, end) : null;
    return tmp$ret$0;
  };
  StrReader.prototype.b6v = function (count) {
    var tmp0_this = this;
    tmp0_this.y5z_1 = tmp0_this.y5z_1 - count | 0;
    return this;
  };
  StrReader.prototype.p65 = function (count, $mask0, $handler) {
    if (!(($mask0 & 1) === 0))
      count = 1;
    return this.b6v(count);
  };
  StrReader.prototype.t65 = function () {
    return this.f5z() ? charSequenceGet(this.w5z_1, posSkip(this, 1)) : _Char___init__impl__6a9atx(0);
  };
  StrReader.prototype.o65 = function () {
    return this.f5z() ? charSequenceGet(this.w5z_1, posSkip(this, 1)) : _Char___init__impl__6a9atx(0);
  };
  StrReader.prototype.d60 = function () {
    return this.w6u(this.z5y());
  };
  StrReader.prototype.m65 = function (expected) {
    var readed = this.t65();
    if (!equals(new Char(readed), new Char(expected)))
      throw IllegalArgumentException_init_$Create$("Expected '" + new Char(expected) + "' but found '" + new Char(readed) + "' at " + this.y5z_1);
  };
  StrReader.prototype.x4l = function (count) {
    var tmp0_this = this;
    tmp0_this.y5z_1 = tmp0_this.y5z_1 + count | 0;
    return this;
  };
  StrReader.prototype.c60 = function (lit) {
    if (!substringEquals(StringCompanionObject_getInstance(), this.w5z_1, this.y5z_1, lit, 0, lit.length))
      return null;
    var tmp0_this = this;
    tmp0_this.y5z_1 = tmp0_this.y5z_1 + lit.length | 0;
    return lit;
  };
  StrReader.prototype.n65 = function () {
    var tmp$ret$1;
    // Inline function 'kotlin.apply' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.soywiz.korio.util.StrReader.skipSpaces.<anonymous>' call
    // Inline function 'com.soywiz.korio.util.StrReader.skipWhile' call
    $l$loop: while (true) {
      var tmp;
      if (this.f5z()) {
        var tmp$ret$0;
        // Inline function 'com.soywiz.korio.util.StrReader.skipSpaces.<anonymous>.<anonymous>' call
        var tmp0__anonymous__q1qw7t = this.s65();
        tmp$ret$0 = isWhitespaceFast(tmp0__anonymous__q1qw7t);
        tmp = tmp$ret$0;
      } else {
        tmp = false;
      }
      if (!tmp) {
        break $l$loop;
      }
      this.t65();
    }
    tmp$ret$1 = this;
    return tmp$ret$1;
  };
  StrReader.prototype.s66 = function () {
    var tmp$ret$2;
    // Inline function 'com.soywiz.korio.util.StrReader.matchWhile' call
    var tmp$ret$1;
    // Inline function 'com.soywiz.korio.util.StrReader.slice' call
    var start = this.y5z_1;
    // Inline function 'com.soywiz.korio.util.StrReader.matchWhile.<anonymous>' call
    // Inline function 'com.soywiz.korio.util.StrReader.skipWhile' call
    $l$loop: while (true) {
      var tmp;
      if (this.f5z()) {
        var tmp$ret$0;
        // Inline function 'com.soywiz.korio.util.StrReader.matchIdentifier.<anonymous>' call
        var tmp0__anonymous__q1qw7t = this.s65();
        tmp$ret$0 = ((isLetterDigitOrUnderscore(tmp0__anonymous__q1qw7t) ? true : equals(new Char(tmp0__anonymous__q1qw7t), new Char(_Char___init__impl__6a9atx(45)))) ? true : equals(new Char(tmp0__anonymous__q1qw7t), new Char(_Char___init__impl__6a9atx(126)))) ? true : equals(new Char(tmp0__anonymous__q1qw7t), new Char(_Char___init__impl__6a9atx(58)));
        tmp = tmp$ret$0;
      } else {
        tmp = false;
      }
      if (!tmp) {
        break $l$loop;
      }
      this.t65();
    }
    var end = this.y5z_1;
    tmp$ret$1 = end > start ? this.r2u(start, end) : null;
    tmp$ret$2 = tmp$ret$1;
    return tmp$ret$2;
  };
  StrReader.prototype.r66 = function () {
    var tmp0_subject = this.s65();
    var tmp;
    if (equals(new Char(tmp0_subject), new Char(_Char___init__impl__6a9atx(39))) ? true : equals(new Char(tmp0_subject), new Char(_Char___init__impl__6a9atx(34)))) {
      var tmp$ret$0;
      // Inline function 'com.soywiz.korio.util.StrReader.slice' call
      var start = this.y5z_1;
      // Inline function 'com.soywiz.korio.util.StrReader.matchSingleOrDoubleQuoteString.<anonymous>' call
      var quoteType = this.t65();
      this.j67(quoteType);
      this.t65();
      var end = this.y5z_1;
      tmp$ret$0 = end > start ? this.r2u(start, end) : null;
      tmp = tmp$ret$0;
    } else {
      tmp = null;
    }
    return tmp;
  };
  StrReader.prototype.b60 = function (v) {
    var tmp$ret$1;
    // Inline function 'kotlin.text.substring' call
    var tmp0_substring = this.w5z_1;
    var tmp1_substring = this.y5z_1;
    var tmp$ret$0;
    // Inline function 'kotlin.js.asDynamic' call
    tmp$ret$0 = tmp0_substring;
    tmp$ret$1 = tmp$ret$0.substring(tmp1_substring);
    var tmp = tmp$ret$1;
    var tmp0_elvis_lhs = v.lm(tmp, 0, 2, null);
    var tmp_0;
    if (tmp0_elvis_lhs == null) {
      return null;
    } else {
      tmp_0 = tmp0_elvis_lhs;
    }
    var result = tmp_0;
    var m = ensureNotNull(result.yb().m(0)).nm_1;
    var tmp1_this = this;
    tmp1_this.y5z_1 = tmp1_this.y5z_1 + m.length | 0;
    return m;
  };
  StrReader.prototype.z4n = function () {
    return new StrReader(this.w5z_1, this.x5z_1, this.y5z_1);
  };
  StrReader.prototype.l65 = function (str) {
    if (substringEquals(StringCompanionObject_getInstance(), this.w5z_1, this.y5z_1, str, 0, str.length)) {
      this.x4l(str.length);
      return true;
    }
    return false;
  };
  StrReader.prototype.c6v = function (count, radix) {
    var tmp$ret$0;
    // Inline function 'kotlin.math.min' call
    var tmp0_min = this.z5y();
    tmp$ret$0 = Math.min(tmp0_min, count);
    var readCount = tmp$ret$0;
    this.x4l(readCount);
    return NumberParser_getInstance().j6u(this.w5z_1, this.y5z_1 - readCount | 0, this.y5z_1, radix);
  };
  StrReader.prototype.d6v = function (reportErrors) {
    var out = this.z5z_1;
    var outp = 0;
    var quotec = this.o65();
    var tmp0_subject = quotec;
    if (equals(new Char(tmp0_subject), new Char(_Char___init__impl__6a9atx(34))) ? true : equals(new Char(tmp0_subject), new Char(_Char___init__impl__6a9atx(39))))
    ;
    else {
      invalidOp('Invalid string literal');
    }
    var closed = false;
    loop: while (this.f5z()) {
      var c = this.o65();
      if (equals(new Char(c), new Char(_Char___init__impl__6a9atx(92)))) {
        var cc = this.o65();
        var tmp2 = outp;
        outp = tmp2 + 1 | 0;
        var tmp1_subject = cc;
        var tmp;
        if (equals(new Char(tmp1_subject), new Char(_Char___init__impl__6a9atx(92)))) {
          tmp = _Char___init__impl__6a9atx(92);
        } else if (equals(new Char(tmp1_subject), new Char(_Char___init__impl__6a9atx(47)))) {
          tmp = _Char___init__impl__6a9atx(47);
        } else if (equals(new Char(tmp1_subject), new Char(_Char___init__impl__6a9atx(39)))) {
          tmp = _Char___init__impl__6a9atx(39);
        } else if (equals(new Char(tmp1_subject), new Char(_Char___init__impl__6a9atx(34)))) {
          tmp = _Char___init__impl__6a9atx(34);
        } else if (equals(new Char(tmp1_subject), new Char(_Char___init__impl__6a9atx(98)))) {
          tmp = _Char___init__impl__6a9atx(8);
        } else if (equals(new Char(tmp1_subject), new Char(_Char___init__impl__6a9atx(102)))) {
          tmp = _Char___init__impl__6a9atx(12);
        } else if (equals(new Char(tmp1_subject), new Char(_Char___init__impl__6a9atx(110)))) {
          tmp = _Char___init__impl__6a9atx(10);
        } else if (equals(new Char(tmp1_subject), new Char(_Char___init__impl__6a9atx(114)))) {
          tmp = _Char___init__impl__6a9atx(13);
        } else if (equals(new Char(tmp1_subject), new Char(_Char___init__impl__6a9atx(116)))) {
          tmp = _Char___init__impl__6a9atx(9);
        } else if (equals(new Char(tmp1_subject), new Char(_Char___init__impl__6a9atx(117)))) {
          tmp = numberToChar(this.c6v(4, 16));
        } else {
          throw new IOException("Invalid char '" + new Char(cc) + "'");
        }
        out[tmp2] = tmp;
      } else if (equals(new Char(c), new Char(quotec))) {
        closed = true;
        break loop;
      } else {
        var tmp3 = outp;
        outp = tmp3 + 1 | 0;
        out[tmp3] = c;
      }
    }
    if (!closed ? reportErrors : false) {
      throw RuntimeException_init_$Create$("String literal not closed! '" + this.w5z_1 + "'");
    }
    return String_fromCharArray(out, 0, outp);
  };
  StrReader.prototype.w65 = function (reportErrors, $mask0, $handler) {
    if (!(($mask0 & 1) === 0))
      reportErrors = true;
    return this.d6v(reportErrors);
  };
  StrReader.prototype.p67 = function (str) {
    var inductionVariable = 0;
    var last = str.length;
    if (inductionVariable < last)
      do {
        var n = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        if (!equals(new Char(this.e6v(n)), new Char(charSequenceGet(str, n))))
          return false;
      }
       while (inductionVariable < last);
    this.x4l(str.length);
    return true;
  };
  StrReader.prototype.o67 = function (str) {
    if (!equals(new Char(this.s65()), new Char(str)))
      return false;
    this.x4l(1);
    return true;
  };
  StrReader.prototype.e6v = function (offset) {
    var tmp$ret$1;
    // Inline function 'kotlin.text.getOrElse' call
    var tmp0_getOrElse = this.w5z_1;
    var tmp1_getOrElse = this.y5z_1 + offset | 0;
    var tmp;
    if (tmp1_getOrElse >= 0 ? tmp1_getOrElse <= get_lastIndex(tmp0_getOrElse) : false) {
      tmp = charSequenceGet(tmp0_getOrElse, tmp1_getOrElse);
    } else {
      var tmp$ret$0;
      // Inline function 'com.soywiz.korio.util.StrReader.peekOffset.<anonymous>' call
      tmp$ret$0 = _Char___init__impl__6a9atx(0);
      tmp = tmp$ret$0;
    }
    tmp$ret$1 = tmp;
    return tmp$ret$1;
  };
  StrReader.$metadata$ = classMeta('StrReader');
  function quote(_this__u8e3s4) {
    return !(_this__u8e3s4 == null) ? '"' + escape(_this__u8e3s4) + '"' : 'null';
  }
  function escape(_this__u8e3s4) {
    var out = StringBuilder_init_$Create$();
    var inductionVariable = 0;
    var last = _this__u8e3s4.length;
    if (inductionVariable < last)
      do {
        var n = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var c = charSequenceGet(_this__u8e3s4, n);
        var tmp1_subject = c;
        if (equals(new Char(tmp1_subject), new Char(_Char___init__impl__6a9atx(92)))) {
          out.gc('\\\\');
        } else if (equals(new Char(tmp1_subject), new Char(_Char___init__impl__6a9atx(34)))) {
          out.gc('\\"');
        } else if (equals(new Char(tmp1_subject), new Char(_Char___init__impl__6a9atx(10)))) {
          out.gc('\\n');
        } else if (equals(new Char(tmp1_subject), new Char(_Char___init__impl__6a9atx(13)))) {
          out.gc('\\r');
        } else if (equals(new Char(tmp1_subject), new Char(_Char___init__impl__6a9atx(9)))) {
          out.gc('\\t');
        } else if (_Char___init__impl__6a9atx(0) <= tmp1_subject ? tmp1_subject <= _Char___init__impl__6a9atx(31) : false) {
          out.gc('\\x');
          out.g2(Hex_getInstance().y4z(extract(Char__toInt_impl_vasixd(c), 4, 4)));
          out.g2(Hex_getInstance().y4z(extract(Char__toInt_impl_vasixd(c), 0, 4)));
        } else {
          out.g2(c);
        }
      }
       while (inductionVariable < last);
    return out.toString();
  }
  function unescape(_this__u8e3s4) {
    var out = StringBuilder_init_$Create$();
    var n = 0;
    while (n < _this__u8e3s4.length) {
      var tmp0 = n;
      n = tmp0 + 1 | 0;
      var c = charSequenceGet(_this__u8e3s4, tmp0);
      var tmp1_subject = c;
      if (equals(new Char(tmp1_subject), new Char(_Char___init__impl__6a9atx(92)))) {
        var tmp2 = n;
        n = tmp2 + 1 | 0;
        var c2 = charSequenceGet(_this__u8e3s4, tmp2);
        var tmp3_subject = c2;
        if (equals(new Char(tmp3_subject), new Char(_Char___init__impl__6a9atx(92)))) {
          out.g2(_Char___init__impl__6a9atx(92));
        } else if (equals(new Char(tmp3_subject), new Char(_Char___init__impl__6a9atx(34)))) {
          out.g2(_Char___init__impl__6a9atx(34));
        } else if (equals(new Char(tmp3_subject), new Char(_Char___init__impl__6a9atx(110)))) {
          out.g2(_Char___init__impl__6a9atx(10));
        } else if (equals(new Char(tmp3_subject), new Char(_Char___init__impl__6a9atx(114)))) {
          out.g2(_Char___init__impl__6a9atx(13));
        } else if (equals(new Char(tmp3_subject), new Char(_Char___init__impl__6a9atx(116)))) {
          out.g2(_Char___init__impl__6a9atx(9));
        } else if (equals(new Char(tmp3_subject), new Char(_Char___init__impl__6a9atx(117)))) {
          var tmp$ret$1;
          // Inline function 'kotlin.text.substring' call
          var tmp0_substring = n;
          var tmp1_substring = n + 4 | 0;
          var tmp$ret$0;
          // Inline function 'kotlin.js.asDynamic' call
          tmp$ret$0 = _this__u8e3s4;
          tmp$ret$1 = tmp$ret$0.substring(tmp0_substring, tmp1_substring);
          var chars = tmp$ret$1;
          n = n + 4 | 0;
          out.g2(numberToChar(toInt(chars, 16)));
        } else {
          out.gc('\\' + new Char(c2));
        }
      } else {
        out.g2(c);
      }
    }
    return out.toString();
  }
  function unquote(_this__u8e3s4) {
    var tmp;
    if (isQuoted(_this__u8e3s4)) {
      var tmp$ret$1;
      // Inline function 'kotlin.text.substring' call
      var tmp0_substring = _this__u8e3s4.length - 1 | 0;
      var tmp$ret$0;
      // Inline function 'kotlin.js.asDynamic' call
      tmp$ret$0 = _this__u8e3s4;
      tmp$ret$1 = tmp$ret$0.substring(1, tmp0_substring);
      tmp = unescape(tmp$ret$1);
    } else {
      tmp = _this__u8e3s4;
    }
    return tmp;
  }
  function isQuoted(_this__u8e3s4) {
    var tmp;
    var tmp_0 = _Char___init__impl__6a9atx(34);
    if (startsWith$default_0(_this__u8e3s4, tmp_0, false, 2, null)) {
      var tmp_1 = _Char___init__impl__6a9atx(34);
      tmp = endsWith$default(_this__u8e3s4, tmp_1, false, 2, null);
    } else {
      tmp = false;
    }
    return tmp;
  }
  function substringAfterOrNull(_this__u8e3s4, delimiter) {
    var tmp;
    if (contains$default(_this__u8e3s4, delimiter, false, 2, null)) {
      tmp = substringAfter$default(_this__u8e3s4, delimiter, null, 2, null);
    } else {
      tmp = null;
    }
    return tmp;
  }
  function substringBeforeOrNull(_this__u8e3s4, delimiter) {
    var tmp;
    if (contains$default(_this__u8e3s4, delimiter, false, 2, null)) {
      tmp = substringBefore$default(_this__u8e3s4, delimiter, null, 2, null);
    } else {
      tmp = null;
    }
    return tmp;
  }
  function Adler32() {
    Adler32_instance = this;
    this.y5a_1 = 65521;
    this.z5a_1 = 1;
  }
  Adler32.prototype.a5b = function (old, data, offset, len) {
    var s1 = (old >>> 0 | 0) & 65535;
    var s2 = (old >>> 16 | 0) & 65535;
    var inductionVariable = offset;
    var last = offset + len | 0;
    if (inductionVariable < last)
      do {
        var n = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        s1 = (s1 + (data[n] & 255) | 0) % 65521 | 0;
        s2 = (s2 + s1 | 0) % 65521 | 0;
      }
       while (inductionVariable < last);
    return s2 << 16 | s1;
  };
  Adler32.$metadata$ = objectMeta('Adler32', [SimpleChecksum]);
  var Adler32_instance;
  function Adler32_getInstance() {
    if (Adler32_instance == null)
      new Adler32();
    return Adler32_instance;
  }
  function SimpleChecksum() {
  }
  SimpleChecksum.$metadata$ = interfaceMeta('SimpleChecksum');
  function get_jsGlobalDynamic() {
    init_properties_KorioNativeJs_kt_t1evog();
    return jsGlobalDynamic;
  }
  var jsGlobalDynamic;
  function get_jsGlobal() {
    init_properties_KorioNativeJs_kt_t1evog();
    return jsGlobal;
  }
  var jsGlobal;
  function get_isDenoJs() {
    init_properties_KorioNativeJs_kt_t1evog();
    var tmp$ret$0;
    // Inline function 'kotlin.getValue' call
    var tmp0_getValue = isDenoJs$factory();
    tmp$ret$0 = isDenoJs$delegate.l1();
    return tmp$ret$0;
  }
  var isDenoJs$delegate;
  function get_isWeb() {
    init_properties_KorioNativeJs_kt_t1evog();
    var tmp$ret$0;
    // Inline function 'kotlin.getValue' call
    var tmp0_getValue = isWeb$factory();
    tmp$ret$0 = isWeb$delegate.l1();
    return tmp$ret$0;
  }
  var isWeb$delegate;
  function get_isWorker() {
    init_properties_KorioNativeJs_kt_t1evog();
    var tmp$ret$0;
    // Inline function 'kotlin.getValue' call
    var tmp0_getValue = isWorker$factory();
    tmp$ret$0 = isWorker$delegate.l1();
    return tmp$ret$0;
  }
  var isWorker$delegate;
  function get_isNodeJs() {
    init_properties_KorioNativeJs_kt_t1evog();
    var tmp$ret$0;
    // Inline function 'kotlin.getValue' call
    var tmp0_getValue = isNodeJs$factory();
    tmp$ret$0 = isNodeJs$delegate.l1();
    return tmp$ret$0;
  }
  var isNodeJs$delegate;
  function get_jsRuntime() {
    init_properties_KorioNativeJs_kt_t1evog();
    var tmp$ret$0;
    // Inline function 'kotlin.getValue' call
    var tmp0_getValue = jsRuntime$factory();
    tmp$ret$0 = jsRuntime$delegate.l1();
    return tmp$ret$0;
  }
  var jsRuntime$delegate;
  function get_isShell() {
    init_properties_KorioNativeJs_kt_t1evog();
    return (!get_isWeb() ? !get_isNodeJs() : false) ? !get_isWorker() : false;
  }
  function jsObjectToMap(obj) {
    init_properties_KorioNativeJs_kt_t1evog();
    var tmp$ret$2;
    // Inline function 'kotlin.collections.associate' call
    var tmp0_associate = jsObjectKeysArray(obj);
    var capacity = coerceAtLeast(mapCapacity(tmp0_associate.length), 16);
    var tmp$ret$1;
    // Inline function 'kotlin.collections.associateTo' call
    var tmp1_associateTo = LinkedHashMap_init_$Create$(capacity);
    var indexedObject = tmp0_associate;
    var inductionVariable = 0;
    var last = indexedObject.length;
    while (inductionVariable < last) {
      var element = indexedObject[inductionVariable];
      inductionVariable = inductionVariable + 1 | 0;
      // Inline function 'kotlin.collections.plusAssign' call
      var tmp$ret$0;
      // Inline function 'com.soywiz.korio.jsObjectToMap.<anonymous>' call
      tmp$ret$0 = to(element, obj[element]);
      var tmp0_plusAssign = tmp$ret$0;
      tmp1_associateTo.a(tmp0_plusAssign.d_1, tmp0_plusAssign.e_1);
    }
    tmp$ret$1 = tmp1_associateTo;
    tmp$ret$2 = tmp$ret$1;
    return tmp$ret$2;
  }
  function jsEmptyObj() {
    init_properties_KorioNativeJs_kt_t1evog();
    return {};
  }
  function jsEmptyArray() {
    init_properties_KorioNativeJs_kt_t1evog();
    return [];
  }
  function jsToObjectMap(obj) {
    init_properties_KorioNativeJs_kt_t1evog();
    if (obj == null)
      return null;
    var tmp$ret$0;
    // Inline function 'kotlin.collections.linkedMapOf' call
    tmp$ret$0 = LinkedHashMap_init_$Create$_0();
    var out = tmp$ret$0;
    var keys = jsObjectKeys(obj);
    var inductionVariable = 0;
    var last = keys.length;
    if (inductionVariable < last)
      do {
        var n = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var key = keys[n];
        // Inline function 'kotlin.collections.set' call
        var tmp0_set = '' + key;
        var tmp1_set = obj[key];
        out.a(tmp0_set, tmp1_set);
      }
       while (inductionVariable < last);
    return out;
  }
  function jsToArray(obj) {
    init_properties_KorioNativeJs_kt_t1evog();
    var tmp = 0;
    var tmp_0 = obj.length;
    var tmp$ret$0;
    // Inline function 'kotlin.arrayOfNulls' call
    tmp$ret$0 = fillArrayVal(Array(tmp_0), null);
    var tmp_1 = tmp$ret$0;
    while (tmp < tmp_0) {
      var tmp_2 = tmp;
      var tmp$ret$1;
      // Inline function 'com.soywiz.korio.jsToArray.<anonymous>' call
      tmp$ret$1 = obj[tmp_2];
      tmp_1[tmp_2] = tmp$ret$1;
      tmp = tmp + 1 | 0;
    }
    return tmp_1;
  }
  function jsObjectKeysArray(obj) {
    init_properties_KorioNativeJs_kt_t1evog();
    var tmp = jsToArray(jsObjectKeys(obj));
    return isArray(tmp) ? tmp : THROW_CCE();
  }
  function jsObjectKeys(obj) {
    init_properties_KorioNativeJs_kt_t1evog();
    return Object.keys(obj);
  }
  function isDenoJs$delegate$lambda() {
    init_properties_KorioNativeJs_kt_t1evog();
    var tmp$ret$0;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp0_unsafeCast = typeof Deno === 'object' && Deno.statSync;
    tmp$ret$0 = tmp0_unsafeCast;
    return tmp$ret$0;
  }
  function isWeb$delegate$lambda() {
    init_properties_KorioNativeJs_kt_t1evog();
    var tmp$ret$0;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp0_unsafeCast = typeof window === 'object';
    tmp$ret$0 = tmp0_unsafeCast;
    return tmp$ret$0;
  }
  function isWorker$delegate$lambda() {
    init_properties_KorioNativeJs_kt_t1evog();
    var tmp$ret$0;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp0_unsafeCast = typeof importScripts === 'function';
    tmp$ret$0 = tmp0_unsafeCast;
    return tmp$ret$0;
  }
  function isNodeJs$delegate$lambda() {
    init_properties_KorioNativeJs_kt_t1evog();
    var tmp$ret$0;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp0_unsafeCast = typeof process !== 'undefined' && process.release && process.release.name.search(/node|io.js/) !== -1;
    tmp$ret$0 = tmp0_unsafeCast;
    return tmp$ret$0;
  }
  function jsRuntime$delegate$lambda() {
    init_properties_KorioNativeJs_kt_t1evog();
    return get_isDenoJs() ? JsRuntimeDeno_getInstance() : get_isNodeJs() ? JsRuntimeNode_getInstance() : JsRuntimeBrowser_getInstance();
  }
  function isDenoJs$factory() {
    return getPropertyCallableRef('isDenoJs', 0, KProperty0, function () {
      return get_isDenoJs();
    }, null);
  }
  function isWeb$factory() {
    return getPropertyCallableRef('isWeb', 0, KProperty0, function () {
      return get_isWeb();
    }, null);
  }
  function isWorker$factory() {
    return getPropertyCallableRef('isWorker', 0, KProperty0, function () {
      return get_isWorker();
    }, null);
  }
  function isNodeJs$factory() {
    return getPropertyCallableRef('isNodeJs', 0, KProperty0, function () {
      return get_isNodeJs();
    }, null);
  }
  function jsRuntime$factory() {
    return getPropertyCallableRef('jsRuntime', 0, KProperty0, function () {
      return get_jsRuntime();
    }, null);
  }
  var properties_initialized_KorioNativeJs_kt_y4p8os;
  function init_properties_KorioNativeJs_kt_t1evog() {
    if (properties_initialized_KorioNativeJs_kt_y4p8os) {
    } else {
      properties_initialized_KorioNativeJs_kt_y4p8os = true;
      jsGlobalDynamic = typeof globalThis !== 'undefined' ? globalThis : typeof global !== 'undefined' ? global : self;
      jsGlobal = get_jsGlobalDynamic();
      isDenoJs$delegate = lazy(isDenoJs$delegate$lambda);
      isWeb$delegate = lazy(isWeb$delegate$lambda);
      isWorker$delegate = lazy(isWorker$delegate$lambda);
      isNodeJs$delegate = lazy(isNodeJs$delegate$lambda);
      jsRuntime$delegate = lazy(jsRuntime$delegate$lambda);
    }
  }
  function runBlockingNoJs(context, block) {
    unexpected('Calling runBlockingNoJs on JavaScript');
  }
  function runBlockingNoJs$default(context, block, $mask0, $handler) {
    if (!(($mask0 & 1) === 0))
      context = EmptyCoroutineContext_getInstance();
    return runBlockingNoJs(context, block);
  }
  function Deflate(windowBits) {
    return new DeflatePortable(windowBits);
  }
  function korAtomic(initial) {
    return new KorAtomicRef(initial, true);
  }
  function createFixedThreadDispatcher(_this__u8e3s4, name, threadCount) {
    return createRedirectedDispatcher(_this__u8e3s4, name, Dispatchers_getInstance().a21());
  }
  function DynamicInternal() {
    DynamicInternal_instance = this;
  }
  DynamicInternal.prototype.u5f = function () {
    return get_jsGlobalDynamic();
  };
  DynamicInternal.prototype.w5f = function (instance, key) {
    var tmp$ret$0;
    // Inline function 'kotlin.js.asDynamic' call
    tmp$ret$0 = instance;
    return tmp$ret$0[key];
  };
  DynamicInternal.prototype.v5f = function (instance, key, value) {
    var tmp$ret$0;
    // Inline function 'kotlin.js.asDynamic' call
    tmp$ret$0 = instance;
    tmp$ret$0[key] = value;
  };
  DynamicInternal.$metadata$ = objectMeta('DynamicInternal', [DynApi]);
  var DynamicInternal_instance;
  function DynamicInternal_getInstance() {
    if (DynamicInternal_instance == null)
      new DynamicInternal();
    return DynamicInternal_instance;
  }
  function toVfs(_this__u8e3s4) {
    var file = _this__u8e3s4;
    return (new toVfs$1(file)).c19(file.name);
  }
  function openAsync_0(_this__u8e3s4) {
    var tmp = new BlobAsyncBaseStream(_this__u8e3s4);
    return buffered(toAsyncStream$default(tmp, new Long(0, 0), 1, null), 65536, 16);
  }
  function BlobAsyncBaseStream$read$lambda($reader, $len, $buffer, $offset, $deferred) {
    return function (it) {
      var tmp$ret$0;
      // Inline function 'kotlin.js.unsafeCast' call
      var tmp0_unsafeCast = $reader.result;
      tmp$ret$0 = tmp0_unsafeCast;
      var ab = tmp$ret$0;
      var tmp$ret$2;
      // Inline function 'kotlin.math.min' call
      var tmp$ret$1;
      // Inline function 'com.soywiz.kmem.size' call
      tmp$ret$1 = ab.byteLength;
      var tmp1_min = tmp$ret$1;
      tmp$ret$2 = Math.min(tmp1_min, $len);
      var minLen = tmp$ret$2;
      arraycopy(toByteArray(new Int8Array(ab)), 0, $buffer, $offset, minLen);
      return $deferred.x1z(minLen);
    };
  }
  function BlobAsyncBaseStream$read$lambda_0($deferred, $reader) {
    return function (it) {
      return $deferred.y1z(newThrowable('' + $reader.error, void 1));
    };
  }
  function BlobAsyncBaseStream(blob) {
    AsyncStreamBase.call(this);
    this.f6v_1 = blob;
  }
  BlobAsyncBaseStream.prototype.x51 = function ($cont) {
    return Unit_getInstance();
  };
  BlobAsyncBaseStream.prototype.q5o = function (position, buffer, offset, len, $cont) {
    var deferred = CompletableDeferred$default(null, 1, null);
    var reader = new FileReader();
    reader.onload = BlobAsyncBaseStream$read$lambda(reader, len, buffer, offset, deferred);
    reader.onerror = BlobAsyncBaseStream$read$lambda_0(deferred, reader);
    var tmp$ret$1;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp0_unsafeCast = this.f6v_1;
    var tmp$ret$0;
    // Inline function 'kotlin.js.asDynamic' call
    tmp$ret$0 = tmp0_unsafeCast;
    tmp$ret$1 = tmp$ret$0;
    reader.readAsArrayBuffer(tmp$ret$1.slice(position.cf(), position.cf() + len));
    return deferred.y1w($cont);
  };
  BlobAsyncBaseStream.prototype.p5c = function ($cont) {
    return numberToLong(this.f6v_1.size);
  };
  BlobAsyncBaseStream.$metadata$ = classMeta('BlobAsyncBaseStream', undefined, undefined, undefined, undefined, AsyncStreamBase.prototype);
  function toVfs$1($file) {
    this.h6v_1 = $file;
    Vfs.call(this);
    this.g6v_1 = $file.name;
  }
  toVfs$1.prototype.y5j = function () {
    return this.g6v_1;
  };
  toVfs$1.prototype.v5j = function (path, mode, $cont) {
    return openAsync_0(this.h6v_1);
  };
  toVfs$1.$metadata$ = classMeta(undefined, undefined, undefined, undefined, undefined, Vfs.prototype);
  var File_separatorChar;
  function get_standardVfs() {
    init_properties_LocalVfsJs_kt_is1yfb();
    return standardVfs;
  }
  var standardVfs;
  function get_applicationVfs() {
    init_properties_LocalVfsJs_kt_is1yfb();
    var tmp$ret$0;
    // Inline function 'kotlin.getValue' call
    var tmp0_getValue = applicationVfs$factory();
    tmp$ret$0 = applicationVfs$delegate.l1();
    return tmp$ret$0;
  }
  var applicationVfs$delegate;
  var applicationDataVfsOrNull;
  var cacheVfsOrNull;
  var externalStorageVfs$delegate;
  var userHomeVfs$delegate;
  var tempVfsOrNull;
  function localVfs(path, async) {
    init_properties_LocalVfsJs_kt_is1yfb();
    return get_jsRuntime().m6v(path);
  }
  function localVfs$default(path, async, $mask0, $handler) {
    if (!(($mask0 & 2) === 0))
      async = true;
    return localVfs(path, async);
  }
  function standardVfs$o$resourcesVfs$delegate$lambda() {
    return get_applicationVfs().m5n();
  }
  function standardVfs$o$rootLocalVfs$delegate$lambda() {
    return localVfs$default('.', false, 2, null);
  }
  function standardVfs$1() {
    StandardVfs.call(this);
    var tmp = this;
    tmp.n6v_1 = lazy(standardVfs$o$resourcesVfs$delegate$lambda);
    var tmp_0 = this;
    tmp_0.o6v_1 = lazy(standardVfs$o$rootLocalVfs$delegate$lambda);
  }
  standardVfs$1.prototype.q5r = function () {
    var tmp$ret$0;
    // Inline function 'kotlin.getValue' call
    var tmp0_getValue = resourcesVfs$factory();
    tmp$ret$0 = this.n6v_1.l1();
    return tmp$ret$0;
  };
  standardVfs$1.prototype.p5r = function () {
    var tmp$ret$0;
    // Inline function 'kotlin.getValue' call
    var tmp0_getValue = rootLocalVfs$factory();
    tmp$ret$0 = this.o6v_1.l1();
    return tmp$ret$0;
  };
  standardVfs$1.$metadata$ = classMeta(undefined, undefined, undefined, undefined, undefined, StandardVfs.prototype);
  function applicationVfs$delegate$lambda() {
    init_properties_LocalVfsJs_kt_is1yfb();
    return localVfs$default('.', false, 2, null);
  }
  function externalStorageVfs$delegate$lambda() {
    init_properties_LocalVfsJs_kt_is1yfb();
    return localVfs$default('.', false, 2, null);
  }
  function userHomeVfs$delegate$lambda() {
    init_properties_LocalVfsJs_kt_is1yfb();
    return localVfs$default('.', false, 2, null);
  }
  function applicationVfs$factory() {
    return getPropertyCallableRef('applicationVfs', 0, KProperty0, function () {
      return get_applicationVfs();
    }, null);
  }
  function resourcesVfs$factory() {
    return getPropertyCallableRef('resourcesVfs', 1, KProperty1, function (receiver) {
      return receiver.q5r();
    }, null);
  }
  function rootLocalVfs$factory() {
    return getPropertyCallableRef('rootLocalVfs', 1, KProperty1, function (receiver) {
      return receiver.p5r();
    }, null);
  }
  var properties_initialized_LocalVfsJs_kt_51m659;
  function init_properties_LocalVfsJs_kt_is1yfb() {
    if (properties_initialized_LocalVfsJs_kt_51m659) {
    } else {
      properties_initialized_LocalVfsJs_kt_51m659 = true;
      standardVfs = new standardVfs$1();
      applicationVfs$delegate = lazy(applicationVfs$delegate$lambda);
      applicationDataVfsOrNull = null;
      cacheVfsOrNull = null;
      externalStorageVfs$delegate = lazy(externalStorageVfs$delegate$lambda);
      userHomeVfs$delegate = lazy(userHomeVfs$delegate$lambda);
      tempVfsOrNull = null;
    }
  }
  function get_portableSimpleName(_this__u8e3s4) {
    var tmp0_elvis_lhs = _this__u8e3s4.tj();
    return tmp0_elvis_lhs == null ? 'unknown' : tmp0_elvis_lhs;
  }
  function EnvironmentInternal() {
    EnvironmentInternal_instance = this;
  }
  EnvironmentInternal.prototype.c19 = function (key) {
    return get_jsRuntime().p6v(key);
  };
  EnvironmentInternal.$metadata$ = objectMeta('EnvironmentInternal');
  var EnvironmentInternal_instance;
  function EnvironmentInternal_getInstance() {
    if (EnvironmentInternal_instance == null)
      new EnvironmentInternal();
    return EnvironmentInternal_instance;
  }
  function FileNotFoundException(msg) {
    IOException.call(this, msg);
    captureStack(this, FileNotFoundException);
  }
  FileNotFoundException.$metadata$ = classMeta('FileNotFoundException', undefined, undefined, undefined, undefined, IOException.prototype);
  function IOException(msg) {
    Exception_init_$Init$(msg, this);
    captureStack(this, IOException);
  }
  IOException.$metadata$ = classMeta('IOException', undefined, undefined, undefined, undefined, Exception.prototype);
  function EOFException(msg) {
    IOException.call(this, msg);
    captureStack(this, EOFException);
  }
  EOFException.$metadata$ = classMeta('EOFException', undefined, undefined, undefined, undefined, IOException.prototype);
  function NativeThreadLocal() {
    this.a5y_1 = this.w5y();
  }
  NativeThreadLocal.prototype.x21 = function () {
    return this.a5y_1;
  };
  NativeThreadLocal.$metadata$ = classMeta('NativeThreadLocal');
  function get_currentThreadId() {
    return new Long(1, 0);
  }
  function get_currentThreadName() {
    return 'Thread-' + toString(get_currentThreadId());
  }
  function get_UTF8() {
    init_properties_UTF8_kt_6k1udl();
    return UTF8;
  }
  var UTF8;
  function UTF8$1() {
    UTC8CharsetBase.call(this, 'UTF-8');
    var tmp = this;
    var tmp_0;
    try {
      tmp_0 = new TextDecoder('utf-8');
    } catch ($p) {
      var tmp_1;
      {
        tmp_1 = null;
      }
      tmp_0 = tmp_1;
    }
    tmp.r6v_1 = tmp_0;
    var tmp_2 = this;
    var tmp_3;
    try {
      tmp_3 = new TextEncoder('utf-8');
    } catch ($p) {
      var tmp_4;
      {
        tmp_4 = null;
      }
      tmp_3 = tmp_4;
    }
    tmp_2.s6v_1 = tmp_3;
  }
  UTF8$1.prototype.f5y = function (out, src, start, end) {
    if (!(this.r6v_1 == null)) {
      var tmp$ret$1;
      // Inline function 'kotlin.js.unsafeCast' call
      var tmp$ret$0;
      // Inline function 'kotlin.js.asDynamic' call
      tmp$ret$0 = src;
      tmp$ret$1 = tmp$ret$0;
      var srcBuffer = tmp$ret$1;
      out.gc(this.r6v_1.decode(new Int8Array(srcBuffer.buffer, start, end - start | 0)));
    } else {
      UTC8CharsetBase.prototype.f5y.call(this, out, src, start, end);
    }
  };
  UTF8$1.$metadata$ = classMeta(undefined, undefined, undefined, undefined, undefined, UTC8CharsetBase.prototype);
  var properties_initialized_UTF8_kt_emb36b;
  function init_properties_UTF8_kt_6k1udl() {
    if (properties_initialized_UTF8_kt_emb36b) {
    } else {
      properties_initialized_UTF8_kt_emb36b = true;
      UTF8 = new UTF8$1();
    }
  }
  function get_httpFactory() {
    init_properties_HttpFactoryJs_kt_jjrk95();
    var tmp$ret$0;
    // Inline function 'kotlin.getValue' call
    var tmp0_getValue = httpFactory$factory();
    tmp$ret$0 = httpFactory$delegate.l1();
    return tmp$ret$0;
  }
  var httpFactory$delegate;
  function httpFactory$delegate$lambda() {
    init_properties_HttpFactoryJs_kt_jjrk95();
    return new httpFactory$2$1();
  }
  function httpFactory$2$1() {
  }
  httpFactory$2$1.prototype.y64 = function () {
    return get_jsRuntime().t6v();
  };
  httpFactory$2$1.$metadata$ = classMeta(undefined, [HttpFactory]);
  function httpFactory$factory() {
    return getPropertyCallableRef('httpFactory', 0, KProperty0, function () {
      return get_httpFactory();
    }, null);
  }
  var properties_initialized_HttpFactoryJs_kt_on1x9h;
  function init_properties_HttpFactoryJs_kt_jjrk95() {
    if (properties_initialized_HttpFactoryJs_kt_on1x9h) {
    } else {
      properties_initialized_HttpFactoryJs_kt_on1x9h = true;
      httpFactory$delegate = lazy(httpFactory$delegate$lambda);
    }
  }
  function _get__envs__kxwcr8($this) {
    var tmp$ret$0;
    // Inline function 'kotlin.getValue' call
    var tmp0_getValue = _envs$factory();
    tmp$ret$0 = $this.k6v_1.l1();
    return tmp$ret$0;
  }
  function _get__envsUC__n5sgyq($this) {
    var tmp$ret$0;
    // Inline function 'kotlin.getValue' call
    var tmp0_getValue = _envsUC$factory();
    tmp$ret$0 = $this.l6v_1.l1();
    return tmp$ret$0;
  }
  function JsRuntime$_envs$delegate$lambda(this$0) {
    return function () {
      return this$0.u6v();
    };
  }
  function JsRuntime$_envsUC$delegate$lambda(this$0) {
    return function () {
      var tmp$ret$6;
      // Inline function 'kotlin.collections.mapKeys' call
      var tmp0_mapKeys = _get__envs__kxwcr8(this$0);
      var tmp$ret$5;
      // Inline function 'kotlin.collections.mapKeysTo' call
      var tmp1_mapKeysTo = LinkedHashMap_init_$Create$(mapCapacity(tmp0_mapKeys.i()));
      var tmp$ret$4;
      // Inline function 'kotlin.collections.associateByTo' call
      var tmp0_associateByTo = tmp0_mapKeys.j1();
      var tmp0_iterator = tmp0_associateByTo.j();
      while (tmp0_iterator.k()) {
        var element = tmp0_iterator.l();
        var tmp$ret$2;
        // Inline function 'com.soywiz.korio.runtime.JsRuntime._envsUC$delegate.<anonymous>.<anonymous>' call
        var tmp$ret$1;
        // Inline function 'kotlin.text.uppercase' call
        var tmp0_uppercase = element.k1();
        var tmp$ret$0;
        // Inline function 'kotlin.js.asDynamic' call
        tmp$ret$0 = tmp0_uppercase;
        tmp$ret$1 = tmp$ret$0.toUpperCase();
        tmp$ret$2 = tmp$ret$1;
        var tmp = tmp$ret$2;
        var tmp$ret$3;
        // Inline function 'kotlin.collections.mapKeysTo.<anonymous>' call
        tmp$ret$3 = element.l1();
        tmp1_mapKeysTo.a(tmp, tmp$ret$3);
      }
      tmp$ret$4 = tmp1_mapKeysTo;
      tmp$ret$5 = tmp$ret$4;
      tmp$ret$6 = tmp$ret$5;
      return toMap_0(tmp$ret$6);
    };
  }
  function JsRuntime() {
    this.i6v_1 = 'unknown';
    this.j6v_1 = get_isDenoJs() ? 'deno.js' : get_isWeb() ? 'web.js' : get_isNodeJs() ? 'node.js' : get_isWorker() ? 'worker.js' : get_isShell() ? 'shell.js' : 'js';
    var tmp = this;
    tmp.k6v_1 = lazy(JsRuntime$_envs$delegate$lambda(this));
    var tmp_0 = this;
    tmp_0.l6v_1 = lazy(JsRuntime$_envsUC$delegate$lambda(this));
  }
  JsRuntime.prototype.w6v = function () {
    return '.';
  };
  JsRuntime.prototype.p6v = function (key) {
    var tmp = _get__envsUC__n5sgyq(this);
    var tmp$ret$1;
    // Inline function 'kotlin.text.uppercase' call
    var tmp$ret$0;
    // Inline function 'kotlin.js.asDynamic' call
    tmp$ret$0 = key;
    tmp$ret$1 = tmp$ret$0.toUpperCase();
    return tmp.q(tmp$ret$1);
  };
  JsRuntime.prototype.m6v = function (path) {
    throw NotImplementedError_init_$Create$(null, 1, null);
  };
  JsRuntime.prototype.t6v = function () {
    throw NotImplementedError_init_$Create$(null, 1, null);
  };
  JsRuntime.$metadata$ = classMeta('JsRuntime');
  function _envs$factory() {
    return getPropertyCallableRef('_envs', 1, KProperty1, function (receiver) {
      return _get__envs__kxwcr8(receiver);
    }, null);
  }
  function _envsUC$factory() {
    return getPropertyCallableRef('_envsUC', 1, KProperty1, function (receiver) {
      return _get__envsUC__n5sgyq(receiver);
    }, null);
  }
  function JsRuntimeBrowser$href$delegate$lambda() {
    var tmp0_safe_receiver = document.location;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.href;
    return tmp1_elvis_lhs == null ? '.' : tmp1_elvis_lhs;
  }
  function JsRuntimeBrowser$baseUrl$delegate$lambda() {
    var tmp;
    var tmp_0 = JsRuntimeBrowser_getInstance().e6w();
    if (endsWith$default_0(tmp_0, '/', false, 2, null)) {
      tmp = JsRuntimeBrowser_getInstance().e6w();
    } else {
      var tmp_1 = JsRuntimeBrowser_getInstance().e6w();
      var tmp_2 = _Char___init__impl__6a9atx(47);
      tmp = substringBeforeLast$default(tmp_1, tmp_2, null, 2, null);
    }
    return tmp;
  }
  function JsRuntimeBrowser() {
    JsRuntimeBrowser_instance = this;
    JsRuntime.call(this);
    var tmp = this;
    var tmp$ret$0;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp0_unsafeCast = navigator.platform;
    tmp$ret$0 = tmp0_unsafeCast;
    tmp.b6w_1 = tmp$ret$0;
    var tmp_0 = this;
    tmp_0.c6w_1 = lazy(JsRuntimeBrowser$href$delegate$lambda);
    var tmp_1 = this;
    tmp_1.d6w_1 = lazy(JsRuntimeBrowser$baseUrl$delegate$lambda);
  }
  JsRuntimeBrowser.prototype.e6w = function () {
    var tmp$ret$0;
    // Inline function 'kotlin.getValue' call
    var tmp0_getValue = href$factory();
    tmp$ret$0 = this.c6w_1.l1();
    return tmp$ret$0;
  };
  JsRuntimeBrowser.prototype.f6w = function () {
    var tmp$ret$0;
    // Inline function 'kotlin.getValue' call
    var tmp0_getValue = baseUrl$factory();
    tmp$ret$0 = this.d6w_1.l1();
    return tmp$ret$0;
  };
  JsRuntimeBrowser.prototype.v6v = function (path) {
    // Inline function 'kotlin.TODO' call
    throw new NotImplementedError('An operation is not implemented: Not yet implemented');
  };
  JsRuntimeBrowser.prototype.w6v = function () {
    return this.f6w();
  };
  JsRuntimeBrowser.prototype.u6v = function () {
    var tmp$ret$3;
    // Inline function 'kotlin.collections.map' call
    var tmp = QueryString_getInstance();
    var tmp0_safe_receiver = document.location;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.search;
    var tmp0_map = tmp.r5z(trimStart(tmp1_elvis_lhs == null ? '' : tmp1_elvis_lhs, charArrayOf([_Char___init__impl__6a9atx(63)])));
    var tmp$ret$2;
    // Inline function 'kotlin.collections.mapTo' call
    var tmp0_mapTo = ArrayList_init_$Create$(tmp0_map.i());
    var tmp$ret$0;
    // Inline function 'kotlin.collections.iterator' call
    tmp$ret$0 = tmp0_map.j1().j();
    var tmp0_iterator = tmp$ret$0;
    while (tmp0_iterator.k()) {
      var item = tmp0_iterator.l();
      var tmp$ret$1;
      // Inline function 'com.soywiz.korio.runtime.browser.JsRuntimeBrowser.envs.<anonymous>' call
      var tmp_0 = item.k1();
      var tmp0_elvis_lhs = firstOrNull(item.l1());
      tmp$ret$1 = to(tmp_0, tmp0_elvis_lhs == null ? item.k1() : tmp0_elvis_lhs);
      tmp0_mapTo.c(tmp$ret$1);
    }
    tmp$ret$2 = tmp0_mapTo;
    tmp$ret$3 = tmp$ret$2;
    return toMap(tmp$ret$3);
  };
  JsRuntimeBrowser.prototype.m6v = function (path) {
    var tmp$ret$0;
    // Inline function 'kotlin.also' call
    var tmp = this.w6v();
    var tmp0_also = withCatalogJail(UrlVfs$default_0(tmp, null, false, 6, null).c19(path)).a5k();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.soywiz.korio.runtime.browser.JsRuntimeBrowser.openVfs.<anonymous>' call
    println('BROWSER openVfs: currentDir=' + JsRuntimeBrowser_getInstance().w6v() + ', path=' + path + ', urlVfs=' + tmp0_also);
    tmp$ret$0 = tmp0_also;
    return tmp$ret$0;
  };
  JsRuntimeBrowser.prototype.t6v = function () {
    return new HttpClientBrowserJs();
  };
  JsRuntimeBrowser.$metadata$ = objectMeta('JsRuntimeBrowser', undefined, undefined, undefined, undefined, JsRuntime.prototype);
  var JsRuntimeBrowser_instance;
  function JsRuntimeBrowser_getInstance() {
    if (JsRuntimeBrowser_instance == null)
      new JsRuntimeBrowser();
    return JsRuntimeBrowser_instance;
  }
  function Companion_26() {
    Companion_instance_26 = this;
    var tmp = this;
    var tmp$ret$1;
    // Inline function 'kotlin.text.lowercase' call
    var tmp0_lowercase = Companion_getInstance_21().v5x_1;
    var tmp$ret$0;
    // Inline function 'kotlin.js.asDynamic' call
    tmp$ret$0 = tmp0_lowercase;
    tmp$ret$1 = tmp$ret$0.toLowerCase();
    tmp.g6w_1 = setOf(['connection', tmp$ret$1]);
  }
  Companion_26.$metadata$ = objectMeta('Companion');
  var Companion_instance_26;
  function Companion_getInstance_31() {
    if (Companion_instance_26 == null)
      new Companion_26();
    return Companion_instance_26;
  }
  function HttpClientBrowserJs$requestInternal$lambda($xhr, $deferred) {
    return function (e) {
      var tmp$ret$3;
      // Inline function 'kotlin.js.unsafeCast' call
      var tmp$ret$1;
      // Inline function 'kotlin.js.unsafeCast' call
      var tmp0_unsafeCast = $xhr.response;
      var tmp$ret$0;
      // Inline function 'kotlin.js.asDynamic' call
      tmp$ret$0 = tmp0_unsafeCast;
      tmp$ret$1 = tmp$ret$0;
      var tmp1_unsafeCast = new Int8Array(tmp$ret$1);
      var tmp$ret$2;
      // Inline function 'kotlin.js.asDynamic' call
      tmp$ret$2 = tmp1_unsafeCast;
      tmp$ret$3 = tmp$ret$2;
      var out = tmp$ret$3;
      var tmp = $xhr.status;
      var tmp_0 = $xhr.statusText;
      var tmp_1 = Headers_init_$Create$_1($xhr.getAllResponseHeaders());
      var tmp_2 = openAsync$default(out, null, 1, null);
      return $deferred.x1z(new Response(tmp, tmp_0, tmp_1, tmp_2, openAsync$default(out, null, 1, null)));
    };
  }
  function HttpClientBrowserJs$requestInternal$lambda_0($deferred, $xhr, $url) {
    return function (e) {
      return $deferred.y1z(RuntimeException_init_$Create$('Error status=' + $xhr.status + ",'" + $xhr.statusText + "' opening " + $url));
    };
  }
  function HttpClientBrowserJs$requestInternal$lambda_1($deferred, $xhr) {
    return function (it) {
      var tmp;
      if ($deferred.h1x()) {
        $xhr.abort();
        tmp = Unit_getInstance();
      }
      return Unit_getInstance();
    };
  }
  function $requestInternalCOROUTINE$205(_this__u8e3s4, method, url, headers, content, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.p6w_1 = _this__u8e3s4;
    this.q6w_1 = method;
    this.r6w_1 = url;
    this.s6w_1 = headers;
    this.t6w_1 = content;
  }
  $requestInternalCOROUTINE$205.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 6;
            var tmp_0 = this;
            tmp_0.u6w_1 = CompletableDeferred(Job$default(null, 1, null));
            this.v6w_1 = new XMLHttpRequest();
            this.v6w_1.open(this.q6w_1.t2(), this.r6w_1, true);
            var tmp_1 = this;
            tmp_1.w6w_1 = null;
            var tmp_2 = this;
            tmp_2.x6w_1 = 'arraybuffer';
            this.v6w_1.responseType = this.x6w_1;
            this.v6w_1.onload = HttpClientBrowserJs$requestInternal$lambda(this.v6w_1, this.u6w_1);
            this.v6w_1.onerror = HttpClientBrowserJs$requestInternal$lambda_0(this.u6w_1, this.v6w_1, this.r6w_1);
            var tmp0_iterator = this.s6w_1.j();
            while (tmp0_iterator.k()) {
              var header = tmp0_iterator.l();
              var tmp1_lowercase = header.d_1;
              var tmp2_trim = tmp1_lowercase.toLowerCase();
              var hnname = toString(trim_0(isCharSequence(tmp2_trim) ? tmp2_trim : THROW_CCE()));
              if (!Companion_getInstance_31().g6w_1.r(hnname)) {
                this.v6w_1.setRequestHeader(header.d_1, header.e_1);
              }
            }

            this.u6w_1.c1v(HttpClientBrowserJs$requestInternal$lambda_1(this.u6w_1, this.v6w_1));
            ;
            if (!(this.t6w_1 == null)) {
              this.o7_1 = 1;
              suspendResult = readAll(this.t6w_1, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.v6w_1.send();
              this.o7_1 = 2;
              continue $sm;
            }

            break;
          case 1:
            this.y6w_1 = suspendResult;
            this.v6w_1.send(this.y6w_1);
            this.o7_1 = 2;
            continue $sm;
          case 2:
            this.z6w_1 = this.t6w_1;
            if (this.z6w_1 == null) {
              this.a6x_1 = null;
              this.o7_1 = 4;
              continue $sm;
            } else {
              this.o7_1 = 3;
              suspendResult = this.z6w_1.x51(this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            }

            break;
          case 3:
            var tmp_3 = this;
            tmp_3.a6x_1 = Unit_getInstance();
            this.o7_1 = 4;
            continue $sm;
          case 4:
            ;
            this.o7_1 = 5;
            suspendResult = this.u6w_1.y1w(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            return suspendResult;
          case 6:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 6) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $requestInternalCOROUTINE$205.$metadata$ = classMeta('$requestInternalCOROUTINE$205', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function HttpClientBrowserJs() {
    Companion_getInstance_31();
    HttpClient.call(this);
  }
  HttpClientBrowserJs.prototype.t63 = function (method, url, headers, content, $cont) {
    var tmp = new $requestInternalCOROUTINE$205(this, method, url, headers, content, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  HttpClientBrowserJs.$metadata$ = classMeta('HttpClientBrowserJs', undefined, undefined, undefined, undefined, HttpClient.prototype);
  function href$factory() {
    return getPropertyCallableRef('href', 1, KProperty1, function (receiver) {
      return receiver.e6w();
    }, null);
  }
  function baseUrl$factory() {
    return getPropertyCallableRef('baseUrl', 1, KProperty1, function (receiver) {
      return receiver.f6w();
    }, null);
  }
  function JsRuntimeDeno() {
    JsRuntimeDeno_instance = this;
    JsRuntime.call(this);
  }
  JsRuntimeDeno.prototype.v6v = function (path) {
    var tmp;
    try {
      Deno.statSync(path);
      tmp = true;
    } catch ($p) {
      var tmp_0;
      {
        tmp_0 = false;
      }
      tmp = tmp_0;
    }
    return tmp;
  };
  JsRuntimeDeno.prototype.w6v = function () {
    return Deno.cwd();
  };
  JsRuntimeDeno.prototype.p6v = function (key) {
    return Deno.env.get(key);
  };
  JsRuntimeDeno.prototype.u6v = function () {
    return jsObjectToMap(Deno.env.toObject());
  };
  JsRuntimeDeno.$metadata$ = objectMeta('JsRuntimeDeno', undefined, undefined, undefined, undefined, JsRuntime.prototype);
  var JsRuntimeDeno_instance;
  function JsRuntimeDeno_getInstance() {
    if (JsRuntimeDeno_instance == null)
      new JsRuntimeDeno();
    return JsRuntimeDeno_instance;
  }
  function get_nodeFS() {
    init_properties_JsRuntimeNode_kt_kd8zrx();
    var tmp$ret$0;
    // Inline function 'kotlin.getValue' call
    var tmp0_getValue = nodeFS$factory();
    tmp$ret$0 = nodeFS$delegate.l1();
    return tmp$ret$0;
  }
  var nodeFS$delegate;
  function _get_fs__ndc19a($this) {
    var tmp$ret$0;
    // Inline function 'kotlin.getValue' call
    var tmp0_getValue = fs$factory();
    tmp$ret$0 = $this.l6x_1.l1();
    return tmp$ret$0;
  }
  function _get_path__dbvv7q($this) {
    var tmp$ret$0;
    // Inline function 'kotlin.getValue' call
    var tmp0_getValue = path$factory();
    tmp$ret$0 = $this.m6x_1.l1();
    return tmp$ret$0;
  }
  function JsRuntimeNode$fs$delegate$lambda() {
    return require_node('fs');
  }
  function JsRuntimeNode$path$delegate$lambda() {
    return require_node('path');
  }
  function JsRuntimeNode() {
    JsRuntimeNode_instance = this;
    JsRuntime.call(this);
    var tmp = this;
    var tmp$ret$0;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp0_unsafeCast = process.platform;
    tmp$ret$0 = tmp0_unsafeCast;
    tmp.k6x_1 = tmp$ret$0;
    var tmp_0 = this;
    tmp_0.l6x_1 = lazy(JsRuntimeNode$fs$delegate$lambda);
    var tmp_1 = this;
    tmp_1.m6x_1 = lazy(JsRuntimeNode$path$delegate$lambda);
  }
  JsRuntimeNode.prototype.v6v = function (path) {
    return _get_fs__ndc19a(this).existsSync(path);
  };
  JsRuntimeNode.prototype.w6v = function () {
    return _get_path__dbvv7q(this).resolve('.');
  };
  JsRuntimeNode.prototype.p6v = function (key) {
    return process.env[key];
  };
  JsRuntimeNode.prototype.u6v = function () {
    return jsObjectToMap(process.env);
  };
  JsRuntimeNode.prototype.m6v = function (path) {
    var tmp;
    if (path === '.') {
      var path_0 = get_jsRuntime().w6v();
      tmp = ((get_jsRuntime().v6v(path_0 + '/node_modules') ? get_jsRuntime().v6v(path_0 + '/kotlin') : false) ? get_jsRuntime().v6v(path_0 + '/adapter-nodejs.js') : false) ? path_0 + '/kotlin' : path_0;
    } else {
      tmp = path;
    }
    var rpath = tmp;
    return (new NodeJsLocalVfs()).c19(rpath);
  };
  JsRuntimeNode.prototype.t6v = function () {
    return new HttpClientNodeJs();
  };
  JsRuntimeNode.$metadata$ = objectMeta('JsRuntimeNode', undefined, undefined, undefined, undefined, JsRuntime.prototype);
  var JsRuntimeNode_instance;
  function JsRuntimeNode_getInstance() {
    if (JsRuntimeNode_instance == null)
      new JsRuntimeNode();
    return JsRuntimeNode_instance;
  }
  function require_node(name) {
    init_properties_JsRuntimeNode_kt_kd8zrx();
    return eval('(' + get_REQ() + "uire('" + name + "'))");
  }
  function getFullPath($this, path) {
    return normalize(get_pathInfo(path));
  }
  function NodeJsLocalVfs$stat$lambda($deferred, this$0, $path) {
    return function (err, stats) {
      var tmp$ret$3;
      // Inline function 'kotlin.runCatching' call
      var tmp;
      try {
        var tmp$ret$1;
        // Inline function 'kotlin.Companion.success' call
        var tmp0_success = Companion_getInstance_0();
        var tmp$ret$0;
        // Inline function 'com.soywiz.korio.runtime.node.NodeJsLocalVfs.stat.<anonymous>.<anonymous>' call
        tmp$ret$0 = this$0.n6x(stats, $path);
        var tmp1_success = tmp$ret$0;
        tmp$ret$1 = _Result___init__impl__xyqfz8(tmp1_success);
        tmp = tmp$ret$1;
      } catch ($p) {
        var tmp_0;
        if ($p instanceof Error) {
          var tmp$ret$2;
          // Inline function 'kotlin.Companion.failure' call
          var tmp2_failure = Companion_getInstance_0();
          tmp$ret$2 = _Result___init__impl__xyqfz8(createFailure($p));
          tmp_0 = tmp$ret$2;
        } else {
          throw $p;
        }
        tmp = tmp_0;
      }
      tmp$ret$3 = tmp;
      completeWith($deferred, tmp$ret$3);
      return Unit_getInstance();
    };
  }
  function NodeJsLocalVfs$_open$lambda($path, $cmode, $cancellable, $file) {
    return function (err, fd) {
      var tmp;
      if (!(err == null) ? true : fd == null) {
        var tmp$ret$1;
        // Inline function 'kotlin.coroutines.resumeWithException' call
        var tmp0_resumeWithException = new FileNotFoundException("Can't open '" + $path + "' with mode '" + $cmode + "': err=" + err);
        var tmp$ret$0;
        // Inline function 'kotlin.Companion.failure' call
        var tmp0_failure = Companion_getInstance_0();
        tmp$ret$0 = _Result___init__impl__xyqfz8(createFailure(tmp0_resumeWithException));
        $cancellable.n5(tmp$ret$0);
        tmp$ret$1 = Unit_getInstance();
        tmp = tmp$ret$1;
      } else {
        var tmp$ret$3;
        // Inline function 'kotlin.coroutines.resume' call
        var tmp_0 = new NodeFDStream($file, fd);
        var tmp1_resume = toAsyncStream$default(tmp_0, new Long(0, 0), 1, null);
        var tmp$ret$2;
        // Inline function 'kotlin.Companion.success' call
        var tmp0_success = Companion_getInstance_0();
        tmp$ret$2 = _Result___init__impl__xyqfz8(tmp1_resume);
        $cancellable.n5(tmp$ret$2);
        tmp$ret$3 = Unit_getInstance();
        tmp = tmp$ret$3;
      }
      return Unit_getInstance();
    };
  }
  function NodeJsLocalVfs$_open$lambda_0(it) {
    return Unit_getInstance();
  }
  function $openCOROUTINE$208(_this__u8e3s4, path, mode, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.w6x_1 = _this__u8e3s4;
    this.x6x_1 = path;
    this.y6x_1 = mode;
  }
  $openCOROUTINE$208.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 5;
            this.z6x_1 = this.y6x_1;
            this.a6y_1 = this.z6x_1.q2_1;
            if (this.a6y_1 === 0) {
              this.b6y_1 = 'r';
              this.o7_1 = 3;
              continue $sm;
            } else {
              if (this.a6y_1 === 1) {
                this.b6y_1 = 'r+';
                this.o7_1 = 3;
                continue $sm;
              } else {
                if (this.a6y_1 === 3) {
                  this.b6y_1 = 'w+';
                  this.o7_1 = 3;
                  continue $sm;
                } else {
                  if (this.a6y_1 === 5) {
                    this.o7_1 = 1;
                    suspendResult = this.w6x_1.x5j(this.x6x_1, this);
                    if (suspendResult === get_COROUTINE_SUSPENDED()) {
                      return suspendResult;
                    }
                    continue $sm;
                  } else {
                    if (this.a6y_1 === 4) {
                      this.b6y_1 = 'wx+';
                      this.o7_1 = 3;
                      continue $sm;
                    } else {
                      if (this.a6y_1 === 2) {
                        this.b6y_1 = 'a';
                        this.o7_1 = 3;
                        continue $sm;
                      } else {
                        var tmp_0 = this;
                        noWhenBranchMatchedException();
                      }
                    }
                  }
                }
              }
            }

            break;
          case 1:
            this.c6y_1 = suspendResult;
            if (this.c6y_1.f5j_1) {
              throw new FileAlreadyExistsException(this.x6x_1);
            } else {
              this.o7_1 = 2;
              continue $sm;
            }

            break;
          case 2:
            this.b6y_1 = 'w+';
            this.o7_1 = 3;
            continue $sm;
          case 3:
            this.d6y_1 = this.b6y_1;
            this.o7_1 = 4;
            suspendResult = this.w6x_1.e6y(this.x6x_1, this.d6y_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 4:
            return suspendResult;
          case 5:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 5) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $openCOROUTINE$208.$metadata$ = classMeta('$openCOROUTINE$208', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function NodeJsLocalVfs() {
    LocalVfs.call(this);
  }
  NodeJsLocalVfs.prototype.n6x = function (_this__u8e3s4, path) {
    var tmp0_elvis_lhs = _this__u8e3s4;
    var tmp;
    if (tmp0_elvis_lhs == null) {
      return this.e5k(path, null, false, 6, null);
    } else {
      tmp = tmp0_elvis_lhs;
    }
    var stats = tmp;
    var tmp_0 = stats.isDirectory();
    var tmp_1 = numberToLong(stats.size);
    var tmp_2 = numberToLong(stats.dev);
    var tmp_3 = numberToLong(stats.ino);
    var tmp_4 = numberToInt(stats.mode);
    var tmp_5 = Companion_getInstance_1().b1h(stats.ctimeMs);
    var tmp_6 = Companion_getInstance_1().b1h(stats.mtimeMs);
    var tmp_7 = Companion_getInstance_1().b1h(stats.atimeMs);
    return this.c5k(path, tmp_0, tmp_1, tmp_2, tmp_3, tmp_4, null, null, tmp_5, tmp_6, tmp_7, null, null, false, 14528, null);
  };
  NodeJsLocalVfs.prototype.x5j = function (path, $cont) {
    var deferred = CompletableDeferred$default(null, 1, null);
    var tmp = get_nodeFS();
    tmp.stat(path, NodeJsLocalVfs$stat$lambda(deferred, this, path));
    return deferred.y1w($cont);
  };
  NodeJsLocalVfs.prototype.v5j = function (path, mode, $cont) {
    var tmp = new $openCOROUTINE$208(this, path, mode, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  NodeJsLocalVfs.prototype.e6y = function (path, cmode, $cont) {
    var file = this.d5j(path);
    var tmp$ret$0;
    // Inline function 'kotlinx.coroutines.suspendCancellableCoroutine.<anonymous>' call
    var tmp0__anonymous__q1qw7t = $cont;
    var cancellable = new CancellableContinuationImpl(intercepted(tmp0__anonymous__q1qw7t), get_MODE_CANCELLABLE());
    cancellable.d1z();
    // Inline function 'com.soywiz.korio.runtime.node.NodeJsLocalVfs._open.<anonymous>' call
    var tmp = get_nodeFS();
    var tmp_0 = getFullPath(this, path);
    tmp.open(tmp_0, cmode, NodeJsLocalVfs$_open$lambda(path, cmode, cancellable, file));
    cancellable.n1x(NodeJsLocalVfs$_open$lambda_0);
    tmp$ret$0 = cancellable.d1w();
    return tmp$ret$0;
  };
  NodeJsLocalVfs.prototype.toString = function () {
    return 'NodeJsLocalVfs';
  };
  NodeJsLocalVfs.$metadata$ = classMeta('NodeJsLocalVfs', undefined, undefined, undefined, undefined, LocalVfs.prototype);
  function HttpClientNodeJs$requestInternal$lambda$lambda($body) {
    return function (d) {
      return $body.push(d);
    };
  }
  function HttpClientNodeJs$requestInternal$lambda$lambda_0($body, $statusCode, $statusMessage, $jsHeadersObj, $deferred) {
    return function () {
      var tmp$ret$0;
      // Inline function 'kotlin.js.asDynamic' call
      var tmp0_asDynamic = get_jsGlobal();
      tmp$ret$0 = tmp0_asDynamic;
      var r = tmp$ret$0.Buffer.concat($body);
      var tmp$ret$1;
      // Inline function 'kotlin.js.unsafeCast' call
      tmp$ret$1 = r;
      var u8array = new Int8Array(tmp$ret$1);
      var out = new Int8Array(u8array.length);
      var inductionVariable = 0;
      var last = u8array.length;
      var tmp;
      if (inductionVariable < last) {
        do {
          var n = inductionVariable;
          inductionVariable = inductionVariable + 1 | 0;
          var tmp$ret$3;
          // Inline function 'org.khronos.webgl.get' call
          var tmp$ret$2;
          // Inline function 'kotlin.js.asDynamic' call
          tmp$ret$2 = u8array;
          tmp$ret$3 = tmp$ret$2[n];
          out[n] = tmp$ret$3;
        }
         while (inductionVariable < last);
        tmp = Unit_getInstance();
      }
      var tmp$ret$8;
      // Inline function 'kotlin.collections.mapValues' call
      var tmp1_elvis_lhs = jsToObjectMap($jsHeadersObj);
      var tmp1_mapValues = tmp1_elvis_lhs == null ? LinkedHashMap_init_$Create$_0() : tmp1_elvis_lhs;
      var tmp$ret$7;
      // Inline function 'kotlin.collections.mapValuesTo' call
      var tmp1_mapValuesTo = LinkedHashMap_init_$Create$(mapCapacity(tmp1_mapValues.i()));
      var tmp$ret$6;
      // Inline function 'kotlin.collections.associateByTo' call
      var tmp0_associateByTo = tmp1_mapValues.j1();
      var tmp0_iterator = tmp0_associateByTo.j();
      while (tmp0_iterator.k()) {
        var element = tmp0_iterator.l();
        var tmp$ret$4;
        // Inline function 'kotlin.collections.mapValuesTo.<anonymous>' call
        tmp$ret$4 = element.k1();
        var tmp_0 = tmp$ret$4;
        var tmp$ret$5;
        // Inline function 'com.soywiz.korio.runtime.node.HttpClientNodeJs.requestInternal.<anonymous>.<anonymous>.<anonymous>' call
        tmp$ret$5 = toString_0(element.l1());
        tmp1_mapValuesTo.a(tmp_0, tmp$ret$5);
      }
      tmp$ret$6 = tmp1_mapValuesTo;
      tmp$ret$7 = tmp$ret$6;
      tmp$ret$8 = tmp$ret$7;
      var tmp_1 = Headers_init_$Create$_0(tmp$ret$8);
      var tmp_2 = openAsync$default(out, null, 1, null);
      var response = new Response($statusCode, $statusMessage, tmp_1, tmp_2, openAsync$default(out, null, 1, null));
      return $deferred.x1z(response);
    };
  }
  function HttpClientNodeJs$requestInternal$lambda($deferred) {
    return function (res) {
      var statusCode = res.statusCode;
      var tmp0_elvis_lhs = res.statusMessage;
      var statusMessage = tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs;
      var jsHeadersObj = res.headers;
      var body = jsEmptyArray();
      res.on('data', HttpClientNodeJs$requestInternal$lambda$lambda(body));
      return res.on('end', HttpClientNodeJs$requestInternal$lambda$lambda_0(body, statusCode, statusMessage, jsHeadersObj, $deferred));
    };
  }
  function HttpClientNodeJs$requestInternal$lambda_0($deferred) {
    return function (e) {
      return $deferred.y1z(RuntimeException_init_$Create$('Error: ' + e));
    };
  }
  function HttpClientNodeJs$requestInternal$lambda_1($deferred, $r) {
    return function (it) {
      var tmp;
      if ($deferred.h1x()) {
        tmp = $r.abort();
      }
      return Unit_getInstance();
    };
  }
  function $requestInternalCOROUTINE$213(_this__u8e3s4, method, url, headers, content, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.n6y_1 = _this__u8e3s4;
    this.o6y_1 = method;
    this.p6y_1 = url;
    this.q6y_1 = headers;
    this.r6y_1 = content;
  }
  $requestInternalCOROUTINE$213.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 6;
            var tmp_0 = this;
            tmp_0.s6y_1 = CompletableDeferred(Job$default(null, 1, null));
            this.t6y_1 = require_node('http');
            this.u6y_1 = require_node('url');
            this.v6y_1 = this.u6y_1.parse(this.p6y_1);
            this.w6y_1 = jsEmptyObj();
            var tmp0_iterator = this.q6y_1.j();
            while (tmp0_iterator.k()) {
              var header = tmp0_iterator.l();
              this.w6y_1[header.d_1] = header.e_1;
            }

            this.x6y_1 = jsEmptyObj();
            this.x6y_1.method = this.o6y_1.t2();
            this.x6y_1.host = this.v6y_1['hostname'];
            this.x6y_1.port = this.v6y_1['port'];
            this.x6y_1.path = this.v6y_1['path'];
            this.x6y_1.agent = false;
            this.x6y_1.encoding = null;
            this.x6y_1.headers = this.w6y_1;
            var tmp_1 = this;
            tmp_1.y6y_1 = this.t6y_1.request(this.x6y_1, HttpClientNodeJs$requestInternal$lambda(this.s6y_1)).on('error', HttpClientNodeJs$requestInternal$lambda_0(this.s6y_1));
            this.s6y_1.c1v(HttpClientNodeJs$requestInternal$lambda_1(this.s6y_1, this.y6y_1));
            ;
            if (!(this.r6y_1 == null)) {
              this.y6y_1.end;
              this.o7_1 = 1;
              suspendResult = readAll(this.r6y_1, this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.y6y_1.end();
              this.o7_1 = 2;
              continue $sm;
            }

            break;
          case 1:
            this.z6y_1 = suspendResult;
            toTypedArray(this.z6y_1);
            this.o7_1 = 2;
            continue $sm;
          case 2:
            this.a6z_1 = this.r6y_1;
            if (this.a6z_1 == null) {
              this.b6z_1 = null;
              this.o7_1 = 4;
              continue $sm;
            } else {
              this.o7_1 = 3;
              suspendResult = this.a6z_1.x51(this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            }

            break;
          case 3:
            var tmp_2 = this;
            tmp_2.b6z_1 = Unit_getInstance();
            this.o7_1 = 4;
            continue $sm;
          case 4:
            ;
            this.o7_1 = 5;
            suspendResult = this.s6y_1.y1w(this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 5:
            return suspendResult;
          case 6:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 6) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $requestInternalCOROUTINE$213.$metadata$ = classMeta('$requestInternalCOROUTINE$213', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function HttpClientNodeJs() {
    HttpClient.call(this);
  }
  HttpClientNodeJs.prototype.t63 = function (method, url, headers, content, $cont) {
    var tmp = new $requestInternalCOROUTINE$213(this, method, url, headers, content, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  HttpClientNodeJs.$metadata$ = classMeta('HttpClientNodeJs', undefined, undefined, undefined, undefined, HttpClient.prototype);
  function get_REQ() {
    init_properties_JsRuntimeNode_kt_kd8zrx();
    return 'req';
  }
  function checkFd($this) {
    if ($this.e6z_1 == null) {
      // Inline function 'kotlin.error' call
      var tmp0_error = 'File ' + $this.d6z_1 + ' already closed';
      throw IllegalStateException_init_$Create$(toString(tmp0_error));
    }
  }
  function NodeFDStream$read$lambda(this$0, $cancellable) {
    return function (err, bytesRead, buf) {
      var tmp;
      if (!(err == null)) {
        var tmp$ret$1;
        // Inline function 'kotlin.coroutines.resumeWithException' call
        var tmp0_resumeWithException = new IOException('Error reading from ' + this$0.d6z_1 + ' :: err=' + err);
        var tmp$ret$0;
        // Inline function 'kotlin.Companion.failure' call
        var tmp0_failure = Companion_getInstance_0();
        tmp$ret$0 = _Result___init__impl__xyqfz8(createFailure(tmp0_resumeWithException));
        $cancellable.n5(tmp$ret$0);
        tmp$ret$1 = Unit_getInstance();
        tmp = tmp$ret$1;
      } else {
        var tmp$ret$3;
        // Inline function 'kotlin.coroutines.resume' call
        var tmp$ret$2;
        // Inline function 'kotlin.Companion.success' call
        var tmp0_success = Companion_getInstance_0();
        tmp$ret$2 = _Result___init__impl__xyqfz8(bytesRead);
        $cancellable.n5(tmp$ret$2);
        tmp$ret$3 = Unit_getInstance();
        tmp = tmp$ret$3;
      }
      return Unit_getInstance();
    };
  }
  function NodeFDStream$read$lambda_0(it) {
    return Unit_getInstance();
  }
  function NodeFDStream$write$lambda(this$0, $cancellable) {
    return function (err, bytesWritten, buffer) {
      var tmp;
      if (!(err == null)) {
        var tmp$ret$1;
        // Inline function 'kotlin.coroutines.resumeWithException' call
        var tmp0_resumeWithException = new IOException('Error writting to ' + this$0.d6z_1 + ' :: err=' + err);
        var tmp$ret$0;
        // Inline function 'kotlin.Companion.failure' call
        var tmp0_failure = Companion_getInstance_0();
        tmp$ret$0 = _Result___init__impl__xyqfz8(createFailure(tmp0_resumeWithException));
        $cancellable.n5(tmp$ret$0);
        tmp$ret$1 = Unit_getInstance();
        tmp = tmp$ret$1;
      } else {
        var tmp$ret$3;
        // Inline function 'kotlin.coroutines.resume' call
        var tmp$ret$2;
        // Inline function 'kotlin.Companion.success' call
        var tmp0_success = Companion_getInstance_0();
        tmp$ret$2 = _Result___init__impl__xyqfz8(Unit_getInstance());
        $cancellable.n5(tmp$ret$2);
        tmp$ret$3 = Unit_getInstance();
        tmp = tmp$ret$3;
      }
      return Unit_getInstance();
    };
  }
  function NodeFDStream$write$lambda_0(it) {
    return Unit_getInstance();
  }
  function NodeFDStream$getLength$lambda(this$0, $cancellable) {
    return function (err, stats) {
      var tmp;
      if (!(err == null)) {
        var tmp$ret$1;
        // Inline function 'kotlin.coroutines.resumeWithException' call
        var tmp0_resumeWithException = new IOException('Error getting length from ' + this$0.d6z_1 + ' :: err=' + err);
        var tmp$ret$0;
        // Inline function 'kotlin.Companion.failure' call
        var tmp0_failure = Companion_getInstance_0();
        tmp$ret$0 = _Result___init__impl__xyqfz8(createFailure(tmp0_resumeWithException));
        $cancellable.n5(tmp$ret$0);
        tmp$ret$1 = Unit_getInstance();
        tmp = tmp$ret$1;
      } else {
        var tmp$ret$3;
        // Inline function 'kotlin.coroutines.resume' call
        var tmp1_resume = numberToLong(stats.size);
        var tmp$ret$2;
        // Inline function 'kotlin.Companion.success' call
        var tmp0_success = Companion_getInstance_0();
        tmp$ret$2 = _Result___init__impl__xyqfz8(tmp1_resume);
        $cancellable.n5(tmp$ret$2);
        tmp$ret$3 = Unit_getInstance();
        tmp = tmp$ret$3;
      }
      return Unit_getInstance();
    };
  }
  function NodeFDStream$getLength$lambda_0(it) {
    return Unit_getInstance();
  }
  function NodeFDStream$close$lambda(this$0, $cancellable) {
    return function (err) {
      this$0.e6z_1 = null;
      var tmp;
      if (!(err == null)) {
        var tmp$ret$1;
        // Inline function 'kotlin.coroutines.resume' call
        var tmp$ret$0;
        // Inline function 'kotlin.Companion.success' call
        var tmp0_success = Companion_getInstance_0();
        tmp$ret$0 = _Result___init__impl__xyqfz8(Unit_getInstance());
        $cancellable.n5(tmp$ret$0);
        tmp$ret$1 = Unit_getInstance();
        tmp = tmp$ret$1;
      } else {
        var tmp$ret$3;
        // Inline function 'kotlin.coroutines.resume' call
        var tmp$ret$2;
        // Inline function 'kotlin.Companion.success' call
        var tmp0_success_0 = Companion_getInstance_0();
        tmp$ret$2 = _Result___init__impl__xyqfz8(Unit_getInstance());
        $cancellable.n5(tmp$ret$2);
        tmp$ret$3 = Unit_getInstance();
        tmp = tmp$ret$3;
      }
      return Unit_getInstance();
    };
  }
  function NodeFDStream$close$lambda_0(it) {
    return Unit_getInstance();
  }
  function $closeCOROUTINE$216(_this__u8e3s4, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this.n6z_1 = _this__u8e3s4;
  }
  $closeCOROUTINE$216.prototype.v7 = function () {
    var suspendResult = this.q7_1;
    $sm: do
      try {
        var tmp = this.o7_1;
        switch (tmp) {
          case 0:
            this.p7_1 = 3;
            if (!(this.n6z_1.e6z_1 == null)) {
              this.o7_1 = 2;
              var tmp_0 = this;
              tmp_0.o6z_1 = this;
              this.p6z_1 = new CancellableContinuationImpl(intercepted(this.o6z_1), get_MODE_CANCELLABLE());
              this.p6z_1.d1z();
              var tmp_1 = get_nodeFS();
              var tmp_2 = this.n6z_1.e6z_1;
              tmp_1.close(tmp_2, NodeFDStream$close$lambda(this.n6z_1, this.p6z_1));
              this.p6z_1.n1x(NodeFDStream$close$lambda_0);
              suspendResult = returnIfSuspended(this.p6z_1.d1w(), this);
              if (suspendResult === get_COROUTINE_SUSPENDED()) {
                return suspendResult;
              }
              continue $sm;
            } else {
              this.o7_1 = 1;
              continue $sm;
            }

            break;
          case 1:
            return Unit_getInstance();
          case 2:
            return Unit_getInstance();
          case 3:
            throw this.r7_1;
        }
      } catch ($p) {
        if (this.p7_1 === 3) {
          throw $p;
        } else {
          this.o7_1 = this.p7_1;
          this.r7_1 = $p;
        }
      }
     while (true);
  };
  $closeCOROUTINE$216.$metadata$ = classMeta('$closeCOROUTINE$216', undefined, undefined, undefined, undefined, CoroutineImpl.prototype);
  function NodeFDStream(file, fd) {
    AsyncStreamBase.call(this);
    this.d6z_1 = file;
    this.e6z_1 = fd;
  }
  NodeFDStream.prototype.j5l = function () {
    return this.d6z_1;
  };
  NodeFDStream.prototype.q6z = function () {
    return this.e6z_1;
  };
  NodeFDStream.prototype.q5o = function (position, buffer, offset, len, $cont) {
    var tmp$ret$0;
    // Inline function 'kotlinx.coroutines.suspendCancellableCoroutine.<anonymous>' call
    var tmp0__anonymous__q1qw7t = $cont;
    var cancellable = new CancellableContinuationImpl(intercepted(tmp0__anonymous__q1qw7t), get_MODE_CANCELLABLE());
    cancellable.d1z();
    // Inline function 'com.soywiz.korio.runtime.node.NodeFDStream.read.<anonymous>' call
    checkFd(this);
    var tmp = get_nodeFS();
    var tmp_0 = this.e6z_1;
    var tmp_1 = toNodeJsBuffer(buffer);
    var tmp_2 = position.cf();
    tmp.read(tmp_0, tmp_1, offset, len, tmp_2, NodeFDStream$read$lambda(this, cancellable));
    cancellable.n1x(NodeFDStream$read$lambda_0);
    tmp$ret$0 = cancellable.d1w();
    return tmp$ret$0;
  };
  NodeFDStream.prototype.r5o = function (position, buffer, offset, len, $cont) {
    var tmp$ret$0;
    // Inline function 'kotlinx.coroutines.suspendCancellableCoroutine.<anonymous>' call
    var tmp0__anonymous__q1qw7t = $cont;
    var cancellable = new CancellableContinuationImpl(intercepted(tmp0__anonymous__q1qw7t), get_MODE_CANCELLABLE());
    cancellable.d1z();
    // Inline function 'com.soywiz.korio.runtime.node.NodeFDStream.write.<anonymous>' call
    checkFd(this);
    var tmp = get_nodeFS();
    var tmp_0 = this.e6z_1;
    var tmp_1 = toNodeJsBuffer(buffer);
    var tmp_2 = position.cf();
    tmp.write(tmp_0, tmp_1, offset, len, tmp_2, NodeFDStream$write$lambda(this, cancellable));
    cancellable.n1x(NodeFDStream$write$lambda_0);
    tmp$ret$0 = cancellable.d1w();
    return tmp$ret$0;
  };
  NodeFDStream.prototype.p5c = function ($cont) {
    var tmp$ret$0;
    // Inline function 'kotlinx.coroutines.suspendCancellableCoroutine.<anonymous>' call
    var tmp0__anonymous__q1qw7t = $cont;
    var cancellable = new CancellableContinuationImpl(intercepted(tmp0__anonymous__q1qw7t), get_MODE_CANCELLABLE());
    cancellable.d1z();
    // Inline function 'com.soywiz.korio.runtime.node.NodeFDStream.getLength.<anonymous>' call
    checkFd(this);
    var tmp = get_nodeFS();
    var tmp_0 = this.e6z_1;
    tmp.fstat(tmp_0, NodeFDStream$getLength$lambda(this, cancellable));
    cancellable.n1x(NodeFDStream$getLength$lambda_0);
    tmp$ret$0 = cancellable.d1w();
    return tmp$ret$0;
  };
  NodeFDStream.prototype.x51 = function ($cont) {
    var tmp = new $closeCOROUTINE$216(this, $cont);
    tmp.q7_1 = Unit_getInstance();
    tmp.r7_1 = null;
    return tmp.v7();
  };
  NodeFDStream.$metadata$ = classMeta('NodeFDStream', undefined, undefined, undefined, undefined, AsyncStreamBase.prototype);
  function toNodeJsBuffer(_this__u8e3s4) {
    init_properties_JsRuntimeNode_kt_kd8zrx();
    var tmp$ret$1;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp0_unsafeCast = asUint8Array(_this__u8e3s4);
    var tmp$ret$0;
    // Inline function 'kotlin.js.asDynamic' call
    tmp$ret$0 = tmp0_unsafeCast;
    tmp$ret$1 = tmp$ret$0;
    return tmp$ret$1;
  }
  function asUint8Array(_this__u8e3s4) {
    init_properties_JsRuntimeNode_kt_kd8zrx();
    var i = asInt8Array(_this__u8e3s4);
    return new Uint8Array(i.buffer, i.byteOffset, i.length);
  }
  function asInt8Array(_this__u8e3s4) {
    init_properties_JsRuntimeNode_kt_kd8zrx();
    var tmp$ret$1;
    // Inline function 'kotlin.js.unsafeCast' call
    var tmp$ret$0;
    // Inline function 'kotlin.js.asDynamic' call
    tmp$ret$0 = _this__u8e3s4;
    tmp$ret$1 = tmp$ret$0;
    return tmp$ret$1;
  }
  function nodeFS$delegate$lambda() {
    init_properties_JsRuntimeNode_kt_kd8zrx();
    return require_node('fs');
  }
  function nodeFS$factory() {
    return getPropertyCallableRef('nodeFS', 0, KProperty0, function () {
      return get_nodeFS();
    }, null);
  }
  function fs$factory() {
    return getPropertyCallableRef('fs', 1, KProperty1, function (receiver) {
      return _get_fs__ndc19a(receiver);
    }, null);
  }
  function path$factory() {
    return getPropertyCallableRef('path', 1, KProperty1, function (receiver) {
      return _get_path__dbvv7q(receiver);
    }, null);
  }
  var properties_initialized_JsRuntimeNode_kt_f9ymrl;
  function init_properties_JsRuntimeNode_kt_kd8zrx() {
    if (properties_initialized_JsRuntimeNode_kt_f9ymrl) {
    } else {
      properties_initialized_JsRuntimeNode_kt_f9ymrl = true;
      nodeFS$delegate = lazy(nodeFS$delegate$lambda);
    }
  }
  function toByteArray(_this__u8e3s4) {
    var tmp$ret$0;
    // Inline function 'kotlin.js.asDynamic' call
    tmp$ret$0 = _this__u8e3s4;
    var tout = tmp$ret$0;
    var tmp;
    if (!(tout == null) ? isByteArray(tout) : false) {
      var tmp$ret$1;
      // Inline function 'kotlin.js.unsafeCast' call
      tmp$ret$1 = tout;
      tmp = tmp$ret$1;
    } else {
      var out = new Int8Array(_this__u8e3s4.length);
      var inductionVariable = 0;
      var last = out.length - 1 | 0;
      if (inductionVariable <= last)
        do {
          var n = inductionVariable;
          inductionVariable = inductionVariable + 1 | 0;
          var tmp$ret$3;
          // Inline function 'org.khronos.webgl.get' call
          var tmp$ret$2;
          // Inline function 'kotlin.js.asDynamic' call
          tmp$ret$2 = _this__u8e3s4;
          tmp$ret$3 = tmp$ret$2[n];
          out[n] = tmp$ret$3;
        }
         while (inductionVariable <= last);
      tmp = out;
    }
    return tmp;
  }
  //region block: post-declaration
  runBlockingNoSuspensions$1$context$1.prototype.i8 = get;
  runBlockingNoSuspensions$1$context$1.prototype.o8 = fold;
  runBlockingNoSuspensions$1$context$1.prototype.n8 = minusKey;
  runBlockingNoSuspensions$1$context$1.prototype.p8 = plus;
  runBlockingNoSuspensions$1$context$1.prototype.h8 = releaseInterceptedContinuation;
  runBlockingNoSuspensions$1$context$1.prototype.c21 = invokeOnTimeout;
  createRedirectedDispatcher$1.prototype.p8 = plus;
  createRedirectedDispatcher$1.prototype.i8 = get;
  createRedirectedDispatcher$1.prototype.o8 = fold;
  createRedirectedDispatcher$1.prototype.n8 = minusKey;
  VfsCachedStatContext.prototype.i8 = get_0;
  VfsCachedStatContext.prototype.o8 = fold;
  VfsCachedStatContext.prototype.n8 = minusKey_0;
  VfsCachedStatContext.prototype.p8 = plus;
  AsyncStreamBase.prototype.o5c = hasLength;
  CatalogVfs$open$2.prototype.o5c = hasLength;
  AsyncStream.prototype.o5c = hasLength;
  BufferedStreamBase.prototype.o5c = hasLength;
  MemoryAsyncStreamBase.prototype.o5c = hasLength;
  SliceAsyncStreamBase.prototype.o5c = hasLength;
  SyncAsyncStreamBase.prototype.o5c = hasLength;
  toAsyncInputStream$1.prototype.o5c = hasLength;
  BlobAsyncBaseStream.prototype.o5c = hasLength;
  NodeFDStream.prototype.o5c = hasLength;
  //endregion
  //region block: init
  resourcesVfsDebug = false;
  customEnvironments = null;
  File_separatorChar = _Char___init__impl__6a9atx(47);
  //endregion
  //region block: exports
  _.$_$ = _.$_$ || {};
  _.$_$.a = invoke;
  _.$_$.b = launchAsap;
  _.$_$.c = launchImmediately;
  _.$_$.d = launchImmediately_0;
  _.$_$.e = launchUnscoped;
  _.$_$.f = launchUnscoped_0;
  _.$_$.g = launch_0;
  _.$_$.h = runBlockingNoSuspensions;
  _.$_$.i = KorAtomicRef_0;
  _.$_$.j = createSingleThreadedDispatcher;
  _.$_$.k = get_dyn;
  _.$_$.l = LocalVfs;
  _.$_$.m = Mountable;
  _.$_$.n = UrlVfs_0;
  _.$_$.o = get_localCurrentDirVfs;
  _.$_$.p = get_resourcesVfs;
  _.$_$.q = get_uniVfs;
  _.$_$.r = get_baseName;
  _.$_$.s = toVfs;
  _.$_$.t = Cancellable;
  _.$_$.u = CloseableCancellable_0;
  _.$_$.v = CloseableCancellable;
  _.$_$.w = Closeable;
  _.$_$.x = Disposable;
  _.$_$.y = EnumLike;
  _.$_$.z = FileNotFoundException;
  _.$_$.a1 = get_UTF16_BE;
  _.$_$.b1 = get_UTF8;
  _.$_$.c1 = WString;
  _.$_$.d1 = cancellable;
  _.$_$.e1 = cancel_0;
  _.$_$.f1 = cancel;
  _.$_$.g1 = get_currentThreadId;
  _.$_$.h1 = get_currentThreadName;
  _.$_$.i1 = get_invalidOp;
  _.$_$.j1 = invalidOp;
  _.$_$.k1 = get_portableSimpleName;
  _.$_$.l1 = get_reserved;
  _.$_$.m1 = reserved;
  _.$_$.n1 = substr;
  _.$_$.o1 = substr_0;
  _.$_$.p1 = get_unreachable;
  _.$_$.q1 = unsupported;
  _.$_$.r1 = withInsertion;
  _.$_$.s1 = withoutIndex;
  _.$_$.t1 = withoutRange;
  _.$_$.u1 = Resourceable;
  _.$_$.v1 = ResourcesContainer;
  _.$_$.w1 = Resources;
  _.$_$.x1 = Xml_0;
  _.$_$.y1 = get_1;
  _.$_$.z1 = get_eof;
  _.$_$.a2 = readAll_0;
  _.$_$.b2 = readBytes_0;
  _.$_$.c2 = readS32BE_1;
  _.$_$.d2 = readStream_0;
  _.$_$.e2 = readString_0;
  _.$_$.f2 = readU8_0;
  _.$_$.g2 = skipToAlign;
  _.$_$.h2 = toAsync;
  _.$_$.i2 = toSyncOrNull;
  _.$_$.j2 = toSyncStream;
  _.$_$.k2 = Once;
  _.$_$.l2 = get_length;
  _.$_$.m2 = get_niceStr_0;
  _.$_$.n2 = get_niceStr;
  _.$_$.o2 = niceStr;
  _.$_$.p2 = toStringDecimal;
  _.$_$.q2 = unquote;
  _.$_$.r2 = delay_1;
  _.$_$.s2 = delay_0;
  _.$_$.t2 = launchUnscopedAndWait;
  _.$_$.u2 = withTimeout_0;
  _.$_$.v2 = readAll;
  _.$_$.w2 = readBytesExact;
  _.$_$.x2 = readBytesUpTo;
  _.$_$.y2 = readBytesUpTo_0;
  _.$_$.z2 = readS16LE_0;
  _.$_$.a3 = readS32LE_0;
  _.$_$.b3 = readS32;
  _.$_$.c3 = readStream;
  _.$_$.d3 = readString;
  _.$_$.e3 = readU16;
  _.$_$.f3 = readU32LE_0;
  _.$_$.g3 = runBlockingNoJs$default;
  _.$_$.h3 = uncompress$default;
  _.$_$.i3 = printStackTrace$default;
  _.$_$.j3 = toString$default;
  _.$_$.k3 = unsupported$default;
  _.$_$.l3 = MemorySyncStream$default;
  _.$_$.m3 = openAsync$default;
  _.$_$.n3 = openFastStream$default;
  _.$_$.o3 = openSync$default;
  _.$_$.p3 = readStringz$default_0;
  _.$_$.q3 = readString$default_0;
  _.$_$.r3 = sliceStart$default_0;
  _.$_$.s3 = toStringDecimal$default;
  _.$_$.t3 = MountableVfs$default;
  _.$_$.u3 = readStringz$default;
  _.$_$.v3 = readString$default;
  _.$_$.w3 = sliceHere$default;
  _.$_$.x3 = sliceStart$default;
  _.$_$.y3 = AsyncSignal_init_$Create$;
  _.$_$.z3 = Signal_init_$Create$;
  _.$_$.a4 = WStringReader_init_$Create$;
  _.$_$.b4 = Resources_init_$Create$;
  _.$_$.c4 = FastByteArrayInputStream_init_$Create$;
  _.$_$.d4 = Indenter_init_$Create$;
  _.$_$.e4 = Dyn__get_impl_6l2p80;
  _.$_$.f4 = _Dyn___get_int__impl__sh8lhm;
  _.$_$.g4 = Dyn__set_impl_2ozvx8;
  _.$_$.h4 = _WChar___get_codePoint__impl__c8brwu;
  _.$_$.i4 = Companion_getInstance_6;
  _.$_$.j4 = Companion_getInstance_9;
  _.$_$.k4 = ASCII_getInstance;
  _.$_$.l4 = Charsets_getInstance;
  _.$_$.m4 = Companion_getInstance_14;
  _.$_$.n4 = Companion_getInstance_16;
  _.$_$.o4 = Companion_getInstance_17;
  _.$_$.p4 = Companion_getInstance_27;
  _.$_$.q4 = OS_getInstance;
  //endregion
  return _;
}));

//# sourceMappingURL=korlibs-korio.js.map