kotlin-uom
Version:
1,531 lines (1,530 loc) • 1.79 MB
JavaScript
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
define('kotlin', ['exports'], factory);
}
else if (typeof exports === 'object') {
factory(module.exports);
}
else {
root.kotlin = {};
factory(root.kotlin);
}
}(this, function (Kotlin) {
var _ = Kotlin;
Kotlin.isBooleanArray = function (a) {
return (Array.isArray(a) || a instanceof Int8Array) && a.$type$ === 'BooleanArray';
};
Kotlin.isByteArray = function (a) {
return a instanceof Int8Array && a.$type$ !== 'BooleanArray';
};
Kotlin.isShortArray = function (a) {
return a instanceof Int16Array;
};
Kotlin.isCharArray = function (a) {
return a instanceof Uint16Array && a.$type$ === 'CharArray';
};
Kotlin.isIntArray = function (a) {
return a instanceof Int32Array;
};
Kotlin.isFloatArray = function (a) {
return a instanceof Float32Array;
};
Kotlin.isDoubleArray = function (a) {
return a instanceof Float64Array;
};
Kotlin.isLongArray = function (a) {
return Array.isArray(a) && a.$type$ === 'LongArray';
};
Kotlin.isArray = function (a) {
return Array.isArray(a) && !a.$type$;
};
Kotlin.isArrayish = function (a) {
return Array.isArray(a) || ArrayBuffer.isView(a);
};
Kotlin.arrayToString = function (a) {
var toString = Kotlin.isCharArray(a) ? String.fromCharCode : Kotlin.toString;
return '[' + Array.prototype.map.call(a, function (e) {
return toString(e);
}).join(', ') + ']';
};
Kotlin.arrayDeepToString = function (arr) {
return Kotlin.kotlin.collections.contentDeepToStringImpl(arr);
};
Kotlin.arrayEquals = function (a, b) {
if (a === b) {
return true;
}
if (!Kotlin.isArrayish(b) || a.length !== b.length) {
return false;
}
for (var i = 0, n = a.length; i < n; i++) {
if (!Kotlin.equals(a[i], b[i])) {
return false;
}
}
return true;
};
Kotlin.arrayDeepEquals = function (a, b) {
return Kotlin.kotlin.collections.contentDeepEqualsImpl(a, b);
};
Kotlin.arrayHashCode = function (arr) {
var result = 1;
for (var i = 0, n = arr.length; i < n; i++) {
result = (31 * result | 0) + Kotlin.hashCode(arr[i]) | 0;
}
return result;
};
Kotlin.arrayDeepHashCode = function (arr) {
return Kotlin.kotlin.collections.contentDeepHashCodeImpl(arr);
};
Kotlin.primitiveArraySort = function (array) {
array.sort(Kotlin.doubleCompareTo);
};
Kotlin.getCallableRef = function (name, f) {
f.callableName = name;
return f;
};
Kotlin.getPropertyCallableRef = function (name, paramCount, getter, setter) {
getter.get = getter;
getter.set = setter;
getter.callableName = name;
return getPropertyRefClass(getter, setter, propertyRefClassMetadataCache[paramCount]);
};
function getPropertyRefClass(obj, setter, cache) {
obj.$metadata$ = getPropertyRefMetadata(typeof setter === 'function' ? cache.mutable : cache.immutable);
obj.constructor = obj;
return obj;
}
var propertyRefClassMetadataCache = [{mutable: {value: null, implementedInterface: function () {
return Kotlin.kotlin.reflect.KMutableProperty0;
}}, immutable: {value: null, implementedInterface: function () {
return Kotlin.kotlin.reflect.KProperty0;
}}}, {mutable: {value: null, implementedInterface: function () {
return Kotlin.kotlin.reflect.KMutableProperty1;
}}, immutable: {value: null, implementedInterface: function () {
return Kotlin.kotlin.reflect.KProperty1;
}}}];
function getPropertyRefMetadata(cache) {
if (cache.value === null) {
cache.value = {interfaces: [cache.implementedInterface()], baseClass: null, functions: {}, properties: {}, types: {}, staticMembers: {}};
}
return cache.value;
}
Kotlin.toShort = function (a) {
return (a & 65535) << 16 >> 16;
};
Kotlin.toByte = function (a) {
return (a & 255) << 24 >> 24;
};
Kotlin.toChar = function (a) {
return a & 65535;
};
Kotlin.numberToLong = function (a) {
return a instanceof Kotlin.Long ? a : Kotlin.Long.fromNumber(a);
};
Kotlin.numberToInt = function (a) {
return a instanceof Kotlin.Long ? a.toInt() : Kotlin.doubleToInt(a);
};
Kotlin.numberToShort = function (a) {
return Kotlin.toShort(Kotlin.numberToInt(a));
};
Kotlin.numberToByte = function (a) {
return Kotlin.toByte(Kotlin.numberToInt(a));
};
Kotlin.numberToDouble = function (a) {
return +a;
};
Kotlin.numberToChar = function (a) {
return Kotlin.toChar(Kotlin.numberToInt(a));
};
Kotlin.doubleToInt = function (a) {
if (a > 2147483647)
return 2147483647;
if (a < -2147483648)
return -2147483648;
return a | 0;
};
Kotlin.toBoxedChar = function (a) {
if (a == null)
return a;
if (a instanceof Kotlin.BoxedChar)
return a;
return new Kotlin.BoxedChar(a);
};
Kotlin.unboxChar = function (a) {
if (a == null)
return a;
return Kotlin.toChar(a);
};
Kotlin.equals = function (obj1, obj2) {
if (obj1 == null) {
return obj2 == null;
}
if (obj2 == null) {
return false;
}
if (obj1 !== obj1) {
return obj2 !== obj2;
}
if (typeof obj1 === 'object' && typeof obj1.equals === 'function') {
return obj1.equals(obj2);
}
if (typeof obj1 === 'number' && typeof obj2 === 'number') {
return obj1 === obj2 && (obj1 !== 0 || 1 / obj1 === 1 / obj2);
}
return obj1 === obj2;
};
Kotlin.hashCode = function (obj) {
if (obj == null) {
return 0;
}
var objType = typeof obj;
if ('object' === objType) {
return 'function' === typeof obj.hashCode ? obj.hashCode() : getObjectHashCode(obj);
}
if ('function' === objType) {
return getObjectHashCode(obj);
}
if ('number' === objType) {
return Kotlin.numberHashCode(obj);
}
if ('boolean' === objType) {
return Number(obj);
}
var str = String(obj);
return getStringHashCode(str);
};
Kotlin.toString = function (o) {
if (o == null) {
return 'null';
}
else if (Kotlin.isArrayish(o)) {
return '[...]';
}
else {
return o.toString();
}
};
var POW_2_32 = 4.294967296E9;
var OBJECT_HASH_CODE_PROPERTY_NAME = 'kotlinHashCodeValue$';
function getObjectHashCode(obj) {
if (!(OBJECT_HASH_CODE_PROPERTY_NAME in obj)) {
var hash = Math.random() * POW_2_32 | 0;
Object.defineProperty(obj, OBJECT_HASH_CODE_PROPERTY_NAME, {value: hash, enumerable: false});
}
return obj[OBJECT_HASH_CODE_PROPERTY_NAME];
}
function getStringHashCode(str) {
var hash = 0;
for (var i = 0; i < str.length; i++) {
var code = str.charCodeAt(i);
hash = hash * 31 + code | 0;
}
return hash;
}
Kotlin.identityHashCode = getObjectHashCode;
Kotlin.Long = function (low, high) {
this.low_ = low | 0;
this.high_ = high | 0;
};
Kotlin.Long.$metadata$ = {kind: 'class', simpleName: 'Long', interfaces: []};
Kotlin.Long.IntCache_ = {};
Kotlin.Long.fromInt = function (value) {
if (-128 <= value && value < 128) {
var cachedObj = Kotlin.Long.IntCache_[value];
if (cachedObj) {
return cachedObj;
}
}
var obj = new Kotlin.Long(value | 0, value < 0 ? -1 : 0);
if (-128 <= value && value < 128) {
Kotlin.Long.IntCache_[value] = obj;
}
return obj;
};
Kotlin.Long.fromNumber = function (value) {
if (isNaN(value) || !isFinite(value)) {
return Kotlin.Long.ZERO;
}
else if (value <= -Kotlin.Long.TWO_PWR_63_DBL_) {
return Kotlin.Long.MIN_VALUE;
}
else if (value + 1 >= Kotlin.Long.TWO_PWR_63_DBL_) {
return Kotlin.Long.MAX_VALUE;
}
else if (value < 0) {
return Kotlin.Long.fromNumber(-value).negate();
}
else {
return new Kotlin.Long(value % Kotlin.Long.TWO_PWR_32_DBL_ | 0, value / Kotlin.Long.TWO_PWR_32_DBL_ | 0);
}
};
Kotlin.Long.fromBits = function (lowBits, highBits) {
return new Kotlin.Long(lowBits, highBits);
};
Kotlin.Long.fromString = function (str, opt_radix) {
if (str.length == 0) {
throw Error('number format error: empty string');
}
var radix = opt_radix || 10;
if (radix < 2 || 36 < radix) {
throw Error('radix out of range: ' + radix);
}
if (str.charAt(0) == '-') {
return Kotlin.Long.fromString(str.substring(1), radix).negate();
}
else if (str.indexOf('-') >= 0) {
throw Error('number format error: interior "-" character: ' + str);
}
var radixToPower = Kotlin.Long.fromNumber(Math.pow(radix, 8));
var result = Kotlin.Long.ZERO;
for (var i = 0; i < str.length; i += 8) {
var size = Math.min(8, str.length - i);
var value = parseInt(str.substring(i, i + size), radix);
if (size < 8) {
var power = Kotlin.Long.fromNumber(Math.pow(radix, size));
result = result.multiply(power).add(Kotlin.Long.fromNumber(value));
}
else {
result = result.multiply(radixToPower);
result = result.add(Kotlin.Long.fromNumber(value));
}
}
return result;
};
Kotlin.Long.TWO_PWR_16_DBL_ = 1 << 16;
Kotlin.Long.TWO_PWR_24_DBL_ = 1 << 24;
Kotlin.Long.TWO_PWR_32_DBL_ = Kotlin.Long.TWO_PWR_16_DBL_ * Kotlin.Long.TWO_PWR_16_DBL_;
Kotlin.Long.TWO_PWR_31_DBL_ = Kotlin.Long.TWO_PWR_32_DBL_ / 2;
Kotlin.Long.TWO_PWR_48_DBL_ = Kotlin.Long.TWO_PWR_32_DBL_ * Kotlin.Long.TWO_PWR_16_DBL_;
Kotlin.Long.TWO_PWR_64_DBL_ = Kotlin.Long.TWO_PWR_32_DBL_ * Kotlin.Long.TWO_PWR_32_DBL_;
Kotlin.Long.TWO_PWR_63_DBL_ = Kotlin.Long.TWO_PWR_64_DBL_ / 2;
Kotlin.Long.ZERO = Kotlin.Long.fromInt(0);
Kotlin.Long.ONE = Kotlin.Long.fromInt(1);
Kotlin.Long.NEG_ONE = Kotlin.Long.fromInt(-1);
Kotlin.Long.MAX_VALUE = Kotlin.Long.fromBits(4.294967295E9 | 0, 2147483647 | 0);
Kotlin.Long.MIN_VALUE = Kotlin.Long.fromBits(0, 2.147483648E9 | 0);
Kotlin.Long.TWO_PWR_24_ = Kotlin.Long.fromInt(1 << 24);
Kotlin.Long.prototype.toInt = function () {
return this.low_;
};
Kotlin.Long.prototype.toNumber = function () {
return this.high_ * Kotlin.Long.TWO_PWR_32_DBL_ + this.getLowBitsUnsigned();
};
Kotlin.Long.prototype.hashCode = function () {
return this.high_ ^ this.low_;
};
Kotlin.Long.prototype.toString = function (opt_radix) {
var radix = opt_radix || 10;
if (radix < 2 || 36 < radix) {
throw Error('radix out of range: ' + radix);
}
if (this.isZero()) {
return '0';
}
if (this.isNegative()) {
if (this.equalsLong(Kotlin.Long.MIN_VALUE)) {
var radixLong = Kotlin.Long.fromNumber(radix);
var div = this.div(radixLong);
var rem = div.multiply(radixLong).subtract(this);
return div.toString(radix) + rem.toInt().toString(radix);
}
else {
return '-' + this.negate().toString(radix);
}
}
var radixToPower = Kotlin.Long.fromNumber(Math.pow(radix, 6));
var rem = this;
var result = '';
while (true) {
var remDiv = rem.div(radixToPower);
var intval = rem.subtract(remDiv.multiply(radixToPower)).toInt();
var digits = intval.toString(radix);
rem = remDiv;
if (rem.isZero()) {
return digits + result;
}
else {
while (digits.length < 6) {
digits = '0' + digits;
}
result = '' + digits + result;
}
}
};
Kotlin.Long.prototype.getHighBits = function () {
return this.high_;
};
Kotlin.Long.prototype.getLowBits = function () {
return this.low_;
};
Kotlin.Long.prototype.getLowBitsUnsigned = function () {
return this.low_ >= 0 ? this.low_ : Kotlin.Long.TWO_PWR_32_DBL_ + this.low_;
};
Kotlin.Long.prototype.getNumBitsAbs = function () {
if (this.isNegative()) {
if (this.equalsLong(Kotlin.Long.MIN_VALUE)) {
return 64;
}
else {
return this.negate().getNumBitsAbs();
}
}
else {
var val = this.high_ != 0 ? this.high_ : this.low_;
for (var bit = 31; bit > 0; bit--) {
if ((val & 1 << bit) != 0) {
break;
}
}
return this.high_ != 0 ? bit + 33 : bit + 1;
}
};
Kotlin.Long.prototype.isZero = function () {
return this.high_ == 0 && this.low_ == 0;
};
Kotlin.Long.prototype.isNegative = function () {
return this.high_ < 0;
};
Kotlin.Long.prototype.isOdd = function () {
return (this.low_ & 1) == 1;
};
Kotlin.Long.prototype.equalsLong = function (other) {
return this.high_ == other.high_ && this.low_ == other.low_;
};
Kotlin.Long.prototype.notEqualsLong = function (other) {
return this.high_ != other.high_ || this.low_ != other.low_;
};
Kotlin.Long.prototype.lessThan = function (other) {
return this.compare(other) < 0;
};
Kotlin.Long.prototype.lessThanOrEqual = function (other) {
return this.compare(other) <= 0;
};
Kotlin.Long.prototype.greaterThan = function (other) {
return this.compare(other) > 0;
};
Kotlin.Long.prototype.greaterThanOrEqual = function (other) {
return this.compare(other) >= 0;
};
Kotlin.Long.prototype.compare = function (other) {
if (this.equalsLong(other)) {
return 0;
}
var thisNeg = this.isNegative();
var otherNeg = other.isNegative();
if (thisNeg && !otherNeg) {
return -1;
}
if (!thisNeg && otherNeg) {
return 1;
}
if (this.subtract(other).isNegative()) {
return -1;
}
else {
return 1;
}
};
Kotlin.Long.prototype.negate = function () {
if (this.equalsLong(Kotlin.Long.MIN_VALUE)) {
return Kotlin.Long.MIN_VALUE;
}
else {
return this.not().add(Kotlin.Long.ONE);
}
};
Kotlin.Long.prototype.add = function (other) {
var a48 = this.high_ >>> 16;
var a32 = this.high_ & 65535;
var a16 = this.low_ >>> 16;
var a00 = this.low_ & 65535;
var b48 = other.high_ >>> 16;
var b32 = other.high_ & 65535;
var b16 = other.low_ >>> 16;
var b00 = other.low_ & 65535;
var c48 = 0, c32 = 0, c16 = 0, c00 = 0;
c00 += a00 + b00;
c16 += c00 >>> 16;
c00 &= 65535;
c16 += a16 + b16;
c32 += c16 >>> 16;
c16 &= 65535;
c32 += a32 + b32;
c48 += c32 >>> 16;
c32 &= 65535;
c48 += a48 + b48;
c48 &= 65535;
return Kotlin.Long.fromBits(c16 << 16 | c00, c48 << 16 | c32);
};
Kotlin.Long.prototype.subtract = function (other) {
return this.add(other.negate());
};
Kotlin.Long.prototype.multiply = function (other) {
if (this.isZero()) {
return Kotlin.Long.ZERO;
}
else if (other.isZero()) {
return Kotlin.Long.ZERO;
}
if (this.equalsLong(Kotlin.Long.MIN_VALUE)) {
return other.isOdd() ? Kotlin.Long.MIN_VALUE : Kotlin.Long.ZERO;
}
else if (other.equalsLong(Kotlin.Long.MIN_VALUE)) {
return this.isOdd() ? Kotlin.Long.MIN_VALUE : Kotlin.Long.ZERO;
}
if (this.isNegative()) {
if (other.isNegative()) {
return this.negate().multiply(other.negate());
}
else {
return this.negate().multiply(other).negate();
}
}
else if (other.isNegative()) {
return this.multiply(other.negate()).negate();
}
if (this.lessThan(Kotlin.Long.TWO_PWR_24_) && other.lessThan(Kotlin.Long.TWO_PWR_24_)) {
return Kotlin.Long.fromNumber(this.toNumber() * other.toNumber());
}
var a48 = this.high_ >>> 16;
var a32 = this.high_ & 65535;
var a16 = this.low_ >>> 16;
var a00 = this.low_ & 65535;
var b48 = other.high_ >>> 16;
var b32 = other.high_ & 65535;
var b16 = other.low_ >>> 16;
var b00 = other.low_ & 65535;
var c48 = 0, c32 = 0, c16 = 0, c00 = 0;
c00 += a00 * b00;
c16 += c00 >>> 16;
c00 &= 65535;
c16 += a16 * b00;
c32 += c16 >>> 16;
c16 &= 65535;
c16 += a00 * b16;
c32 += c16 >>> 16;
c16 &= 65535;
c32 += a32 * b00;
c48 += c32 >>> 16;
c32 &= 65535;
c32 += a16 * b16;
c48 += c32 >>> 16;
c32 &= 65535;
c32 += a00 * b32;
c48 += c32 >>> 16;
c32 &= 65535;
c48 += a48 * b00 + a32 * b16 + a16 * b32 + a00 * b48;
c48 &= 65535;
return Kotlin.Long.fromBits(c16 << 16 | c00, c48 << 16 | c32);
};
Kotlin.Long.prototype.div = function (other) {
if (other.isZero()) {
throw Error('division by zero');
}
else if (this.isZero()) {
return Kotlin.Long.ZERO;
}
if (this.equalsLong(Kotlin.Long.MIN_VALUE)) {
if (other.equalsLong(Kotlin.Long.ONE) || other.equalsLong(Kotlin.Long.NEG_ONE)) {
return Kotlin.Long.MIN_VALUE;
}
else if (other.equalsLong(Kotlin.Long.MIN_VALUE)) {
return Kotlin.Long.ONE;
}
else {
var halfThis = this.shiftRight(1);
var approx = halfThis.div(other).shiftLeft(1);
if (approx.equalsLong(Kotlin.Long.ZERO)) {
return other.isNegative() ? Kotlin.Long.ONE : Kotlin.Long.NEG_ONE;
}
else {
var rem = this.subtract(other.multiply(approx));
var result = approx.add(rem.div(other));
return result;
}
}
}
else if (other.equalsLong(Kotlin.Long.MIN_VALUE)) {
return Kotlin.Long.ZERO;
}
if (this.isNegative()) {
if (other.isNegative()) {
return this.negate().div(other.negate());
}
else {
return this.negate().div(other).negate();
}
}
else if (other.isNegative()) {
return this.div(other.negate()).negate();
}
var res = Kotlin.Long.ZERO;
var rem = this;
while (rem.greaterThanOrEqual(other)) {
var approx = Math.max(1, Math.floor(rem.toNumber() / other.toNumber()));
var log2 = Math.ceil(Math.log(approx) / Math.LN2);
var delta = log2 <= 48 ? 1 : Math.pow(2, log2 - 48);
var approxRes = Kotlin.Long.fromNumber(approx);
var approxRem = approxRes.multiply(other);
while (approxRem.isNegative() || approxRem.greaterThan(rem)) {
approx -= delta;
approxRes = Kotlin.Long.fromNumber(approx);
approxRem = approxRes.multiply(other);
}
if (approxRes.isZero()) {
approxRes = Kotlin.Long.ONE;
}
res = res.add(approxRes);
rem = rem.subtract(approxRem);
}
return res;
};
Kotlin.Long.prototype.modulo = function (other) {
return this.subtract(this.div(other).multiply(other));
};
Kotlin.Long.prototype.not = function () {
return Kotlin.Long.fromBits(~this.low_, ~this.high_);
};
Kotlin.Long.prototype.and = function (other) {
return Kotlin.Long.fromBits(this.low_ & other.low_, this.high_ & other.high_);
};
Kotlin.Long.prototype.or = function (other) {
return Kotlin.Long.fromBits(this.low_ | other.low_, this.high_ | other.high_);
};
Kotlin.Long.prototype.xor = function (other) {
return Kotlin.Long.fromBits(this.low_ ^ other.low_, this.high_ ^ other.high_);
};
Kotlin.Long.prototype.shiftLeft = function (numBits) {
numBits &= 63;
if (numBits == 0) {
return this;
}
else {
var low = this.low_;
if (numBits < 32) {
var high = this.high_;
return Kotlin.Long.fromBits(low << numBits, high << numBits | low >>> 32 - numBits);
}
else {
return Kotlin.Long.fromBits(0, low << numBits - 32);
}
}
};
Kotlin.Long.prototype.shiftRight = function (numBits) {
numBits &= 63;
if (numBits == 0) {
return this;
}
else {
var high = this.high_;
if (numBits < 32) {
var low = this.low_;
return Kotlin.Long.fromBits(low >>> numBits | high << 32 - numBits, high >> numBits);
}
else {
return Kotlin.Long.fromBits(high >> numBits - 32, high >= 0 ? 0 : -1);
}
}
};
Kotlin.Long.prototype.shiftRightUnsigned = function (numBits) {
numBits &= 63;
if (numBits == 0) {
return this;
}
else {
var high = this.high_;
if (numBits < 32) {
var low = this.low_;
return Kotlin.Long.fromBits(low >>> numBits | high << 32 - numBits, high >>> numBits);
}
else if (numBits == 32) {
return Kotlin.Long.fromBits(high, 0);
}
else {
return Kotlin.Long.fromBits(high >>> numBits - 32, 0);
}
}
};
Kotlin.Long.prototype.equals = function (other) {
return other instanceof Kotlin.Long && this.equalsLong(other);
};
Kotlin.Long.prototype.compareTo_11rb$ = Kotlin.Long.prototype.compare;
Kotlin.Long.prototype.inc = function () {
return this.add(Kotlin.Long.ONE);
};
Kotlin.Long.prototype.dec = function () {
return this.add(Kotlin.Long.NEG_ONE);
};
Kotlin.Long.prototype.valueOf = function () {
return this.toNumber();
};
Kotlin.Long.prototype.unaryPlus = function () {
return this;
};
Kotlin.Long.prototype.unaryMinus = Kotlin.Long.prototype.negate;
Kotlin.Long.prototype.inv = Kotlin.Long.prototype.not;
Kotlin.Long.prototype.rangeTo = function (other) {
return new Kotlin.kotlin.ranges.LongRange(this, other);
};
Kotlin.defineModule = function (id, declaration) {
};
Kotlin.defineInlineFunction = function (tag, fun) {
return fun;
};
Kotlin.wrapFunction = function (fun) {
var f = function () {
f = fun();
return f.apply(this, arguments);
};
return function () {
return f.apply(this, arguments);
};
};
Kotlin.isTypeOf = function (type) {
return function (object) {
return typeof object === type;
};
};
Kotlin.isInstanceOf = function (klass) {
return function (object) {
return Kotlin.isType(object, klass);
};
};
Kotlin.orNull = function (fn) {
return function (object) {
return object == null || fn(object);
};
};
Kotlin.andPredicate = function (a, b) {
return function (object) {
return a(object) && b(object);
};
};
Kotlin.kotlinModuleMetadata = function (abiVersion, moduleName, data) {
};
Kotlin.suspendCall = function (value) {
return value;
};
Kotlin.coroutineResult = function (qualifier) {
throwMarkerError();
};
Kotlin.coroutineController = function (qualifier) {
throwMarkerError();
};
Kotlin.coroutineReceiver = function (qualifier) {
throwMarkerError();
};
Kotlin.setCoroutineResult = function (value, qualifier) {
throwMarkerError();
};
function throwMarkerError() {
throw new Error('This marker function should never been called. ' + 'Looks like compiler did not eliminate it properly. ' + 'Please, report an issue if you caught this exception.');
}
Kotlin.getFunctionById = function (id, defaultValue) {
return function () {
return defaultValue;
};
};
Kotlin.compareTo = function (a, b) {
var typeA = typeof a;
if (typeA === 'number') {
if (typeof b === 'number') {
return Kotlin.doubleCompareTo(a, b);
}
return Kotlin.primitiveCompareTo(a, b);
}
if (typeA === 'string' || typeA === 'boolean') {
return Kotlin.primitiveCompareTo(a, b);
}
return a.compareTo_11rb$(b);
};
Kotlin.primitiveCompareTo = function (a, b) {
return a < b ? -1 : a > b ? 1 : 0;
};
Kotlin.doubleCompareTo = function (a, b) {
if (a < b)
return -1;
if (a > b)
return 1;
if (a === b) {
if (a !== 0)
return 0;
var ia = 1 / a;
return ia === 1 / b ? 0 : ia < 0 ? -1 : 1;
}
return a !== a ? b !== b ? 0 : 1 : -1;
};
Kotlin.charInc = function (value) {
return Kotlin.toChar(value + 1);
};
Kotlin.charDec = function (value) {
return Kotlin.toChar(value - 1);
};
Kotlin.imul = Math.imul || imul;
Kotlin.imulEmulated = imul;
function imul(a, b) {
return (a & 4.29490176E9) * (b & 65535) + (a & 65535) * (b | 0) | 0;
}
(function () {
var buf = new ArrayBuffer(8);
var bufFloat64 = new Float64Array(buf);
var bufFloat32 = new Float32Array(buf);
var bufInt32 = new Int32Array(buf);
var lowIndex = 0;
var highIndex = 1;
bufFloat64[0] = -1;
if (bufInt32[lowIndex] !== 0) {
lowIndex = 1;
highIndex = 0;
}
Kotlin.doubleToBits = function (value) {
return Kotlin.doubleToRawBits(isNaN(value) ? NaN : value);
};
Kotlin.doubleToRawBits = function (value) {
bufFloat64[0] = value;
return Kotlin.Long.fromBits(bufInt32[lowIndex], bufInt32[highIndex]);
};
Kotlin.doubleFromBits = function (value) {
bufInt32[lowIndex] = value.low_;
bufInt32[highIndex] = value.high_;
return bufFloat64[0];
};
Kotlin.floatToBits = function (value) {
return Kotlin.floatToRawBits(isNaN(value) ? NaN : value);
};
Kotlin.floatToRawBits = function (value) {
bufFloat32[0] = value;
return bufInt32[0];
};
Kotlin.floatFromBits = function (value) {
bufInt32[0] = value;
return bufFloat32[0];
};
Kotlin.doubleSignBit = function (value) {
bufFloat64[0] = value;
return bufInt32[highIndex] & 2.147483648E9;
};
Kotlin.numberHashCode = function (obj) {
if ((obj | 0) === obj) {
return obj | 0;
}
else {
bufFloat64[0] = obj;
return (bufInt32[highIndex] * 31 | 0) + bufInt32[lowIndex] | 0;
}
};
}());
Kotlin.ensureNotNull = function (x) {
return x != null ? x : Kotlin.throwNPE();
};
if (typeof String.prototype.startsWith === 'undefined') {
String.prototype.startsWith = function (searchString, position) {
position = position || 0;
return this.lastIndexOf(searchString, position) === position;
};
}
if (typeof String.prototype.endsWith === 'undefined') {
String.prototype.endsWith = function (searchString, position) {
var subjectString = this.toString();
if (position === undefined || position > subjectString.length) {
position = subjectString.length;
}
position -= searchString.length;
var lastIndex = subjectString.indexOf(searchString, position);
return lastIndex !== -1 && lastIndex === position;
};
}
if (typeof Math.sign === 'undefined') {
Math.sign = function (x) {
x = +x;
if (x === 0 || isNaN(x)) {
return Number(x);
}
return x > 0 ? 1 : -1;
};
}
if (typeof Math.trunc === 'undefined') {
Math.trunc = function (x) {
if (isNaN(x)) {
return NaN;
}
if (x > 0) {
return Math.floor(x);
}
return Math.ceil(x);
};
}
(function () {
var epsilon = 2.220446049250313E-16;
var taylor_2_bound = Math.sqrt(epsilon);
var taylor_n_bound = Math.sqrt(taylor_2_bound);
var upper_taylor_2_bound = 1 / taylor_2_bound;
var upper_taylor_n_bound = 1 / taylor_n_bound;
if (typeof Math.sinh === 'undefined') {
Math.sinh = function (x) {
if (Math.abs(x) < taylor_n_bound) {
var result = x;
if (Math.abs(x) > taylor_2_bound) {
result += x * x * x / 6;
}
return result;
}
else {
var y = Math.exp(x);
var y1 = 1 / y;
if (!isFinite(y))
return Math.exp(x - Math.LN2);
if (!isFinite(y1))
return -Math.exp(-x - Math.LN2);
return (y - y1) / 2;
}
};
}
if (typeof Math.cosh === 'undefined') {
Math.cosh = function (x) {
var y = Math.exp(x);
var y1 = 1 / y;
if (!isFinite(y) || !isFinite(y1))
return Math.exp(Math.abs(x) - Math.LN2);
return (y + y1) / 2;
};
}
if (typeof Math.tanh === 'undefined') {
Math.tanh = function (x) {
if (Math.abs(x) < taylor_n_bound) {
var result = x;
if (Math.abs(x) > taylor_2_bound) {
result -= x * x * x / 3;
}
return result;
}
else {
var a = Math.exp(+x), b = Math.exp(-x);
return a === Infinity ? 1 : b === Infinity ? -1 : (a - b) / (a + b);
}
};
}
if (typeof Math.asinh === 'undefined') {
var asinh = function (x) {
if (x >= +taylor_n_bound) {
if (x > upper_taylor_n_bound) {
if (x > upper_taylor_2_bound) {
return Math.log(x) + Math.LN2;
}
else {
return Math.log(x * 2 + 1 / (x * 2));
}
}
else {
return Math.log(x + Math.sqrt(x * x + 1));
}
}
else if (x <= -taylor_n_bound) {
return -asinh(-x);
}
else {
var result = x;
if (Math.abs(x) >= taylor_2_bound) {
var x3 = x * x * x;
result -= x3 / 6;
}
return result;
}
};
Math.asinh = asinh;
}
if (typeof Math.acosh === 'undefined') {
Math.acosh = function (x) {
if (x < 1) {
return NaN;
}
else if (x - 1 >= taylor_n_bound) {
if (x > upper_taylor_2_bound) {
return Math.log(x) + Math.LN2;
}
else {
return Math.log(x + Math.sqrt(x * x - 1));
}
}
else {
var y = Math.sqrt(x - 1);
var result = y;
if (y >= taylor_2_bound) {
var y3 = y * y * y;
result -= y3 / 12;
}
return Math.sqrt(2) * result;
}
};
}
if (typeof Math.atanh === 'undefined') {
Math.atanh = function (x) {
if (Math.abs(x) < taylor_n_bound) {
var result = x;
if (Math.abs(x) > taylor_2_bound) {
result += x * x * x / 3;
}
return result;
}
return Math.log((1 + x) / (1 - x)) / 2;
};
}
if (typeof Math.log1p === 'undefined') {
Math.log1p = function (x) {
if (Math.abs(x) < taylor_n_bound) {
var x2 = x * x;
var x3 = x2 * x;
var x4 = x3 * x;
return -x4 / 4 + x3 / 3 - x2 / 2 + x;
}
return Math.log(x + 1);
};
}
if (typeof Math.expm1 === 'undefined') {
Math.expm1 = function (x) {
if (Math.abs(x) < taylor_n_bound) {
var x2 = x * x;
var x3 = x2 * x;
var x4 = x3 * x;
return x4 / 24 + x3 / 6 + x2 / 2 + x;
}
return Math.exp(x) - 1;
};
}
}());
if (typeof Math.hypot === 'undefined') {
Math.hypot = function () {
var y = 0;
var length = arguments.length;
for (var i = 0; i < length; i++) {
if (arguments[i] === Infinity || arguments[i] === -Infinity) {
return Infinity;
}
y += arguments[i] * arguments[i];
}
return Math.sqrt(y);
};
}
if (typeof Math.log10 === 'undefined') {
Math.log10 = function (x) {
return Math.log(x) * Math.LOG10E;
};
}
if (typeof Math.log2 === 'undefined') {
Math.log2 = function (x) {
return Math.log(x) * Math.LOG2E;
};
}
if (typeof ArrayBuffer.isView === 'undefined') {
ArrayBuffer.isView = function (a) {
return a != null && a.__proto__ != null && a.__proto__.__proto__ === Int8Array.prototype.__proto__;
};
}
(function () {
function normalizeOffset(offset, length) {
if (offset < 0)
return Math.max(0, offset + length);
return Math.min(offset, length);
}
function typedArraySlice(begin, end) {
if (typeof end === 'undefined') {
end = this.length;
}
begin = normalizeOffset(begin || 0, this.length);
end = Math.max(begin, normalizeOffset(end, this.length));
return new this.constructor(this.subarray(begin, end));
}
var arrays = [Int8Array, Int16Array, Uint16Array, Int32Array, Float32Array, Float64Array];
for (var i = 0; i < arrays.length; ++i) {
var TypedArray = arrays[i];
if (typeof TypedArray.prototype.slice === 'undefined') {
Object.defineProperty(TypedArray.prototype, 'slice', {value: typedArraySlice});
}
}
try {
(function () {
}.apply(null, new Int32Array(0)));
}
catch (e) {
var apply = Function.prototype.apply;
Object.defineProperty(Function.prototype, 'apply', {value: function (self, array) {
return apply.call(this, self, [].slice.call(array));
}});
}
for (var i = 0; i < arrays.length; ++i) {
var TypedArray = arrays[i];
if (typeof TypedArray.prototype.map === 'undefined') {
Object.defineProperty(TypedArray.prototype, 'map', {value: function (callback, self) {
return [].slice.call(this).map(callback, self);
}});
}
}
var totalOrderComparator = function (a, b) {
if (a < b)
return -1;
if (a > b)
return 1;
if (a === b) {
if (a !== 0)
return 0;
var ia = 1 / a;
return ia === 1 / b ? 0 : ia < 0 ? -1 : 1;
}
return a !== a ? b !== b ? 0 : 1 : -1;
};
for (var i = 0; i < arrays.length; ++i) {
var TypedArray = arrays[i];
if (typeof TypedArray.prototype.sort === 'undefined') {
Object.defineProperty(TypedArray.prototype, 'sort', {value: function (compareFunction) {
return Array.prototype.sort.call(this, compareFunction || totalOrderComparator);
}});
}
}
}());
Kotlin.Kind = {CLASS: 'class', INTERFACE: 'interface', OBJECT: 'object'};
Kotlin.callGetter = function (thisObject, klass, propertyName) {
var propertyDescriptor = Object.getOwnPropertyDescriptor(klass, propertyName);
if (propertyDescriptor != null && propertyDescriptor.get != null) {
return propertyDescriptor.get.call(thisObject);
}
propertyDescriptor = Object.getOwnPropertyDescriptor(thisObject, propertyName);
if (propertyDescriptor != null && 'value' in propertyDescriptor) {
return thisObject[propertyName];
}
return Kotlin.callGetter(thisObject, Object.getPrototypeOf(klass), propertyName);
};
Kotlin.callSetter = function (thisObject, klass, propertyName, value) {
var propertyDescriptor = Object.getOwnPropertyDescriptor(klass, propertyName);
if (propertyDescriptor != null && propertyDescriptor.set != null) {
propertyDescriptor.set.call(thisObject, value);
return;
}
propertyDescriptor = Object.getOwnPropertyDescriptor(thisObject, propertyName);
if (propertyDescriptor != null && 'value' in propertyDescriptor) {
thisObject[propertyName] = value;
return;
}
Kotlin.callSetter(thisObject, Object.getPrototypeOf(klass), propertyName, value);
};
function isInheritanceFromInterface(ctor, iface) {
if (ctor === iface)
return true;
var metadata = ctor.$metadata$;
if (metadata != null) {
var interfaces = metadata.interfaces;
for (var i = 0; i < interfaces.length; i++) {
if (isInheritanceFromInterface(interfaces[i], iface)) {
return true;
}
}
}
var superPrototype = ctor.prototype != null ? Object.getPrototypeOf(ctor.prototype) : null;
var superConstructor = superPrototype != null ? superPrototype.constructor : null;
return superConstructor != null && isInheritanceFromInterface(superConstructor, iface);
}
Kotlin.isType = function (object, klass) {
if (klass === Object) {
switch (typeof object) {
case 'string':
case 'number':
case 'boolean':
case 'function':
return true;
default:return object instanceof Object;
}
}
if (object == null || klass == null || (typeof object !== 'object' && typeof object !== 'function')) {
return false;
}
if (typeof klass === 'function' && object instanceof klass) {
return true;
}
var proto = Object.getPrototypeOf(klass);
var constructor = proto != null ? proto.constructor : null;
if (constructor != null && '$metadata$' in constructor) {
var metadata = constructor.$metadata$;
if (metadata.kind === Kotlin.Kind.OBJECT) {
return object === klass;
}
}
var klassMetadata = klass.$metadata$;
if (klassMetadata == null) {
return object instanceof klass;
}
if (klassMetadata.kind === Kotlin.Kind.INTERFACE && object.constructor != null) {
return isInheritanceFromInterface(object.constructor, klass);
}
return false;
};
Kotlin.isNumber = function (a) {
return typeof a == 'number' || a instanceof Kotlin.Long;
};
Kotlin.isChar = function (value) {
return value instanceof Kotlin.BoxedChar;
};
Kotlin.isComparable = function (value) {
var type = typeof value;
return type === 'string' || type === 'boolean' || Kotlin.isNumber(value) || Kotlin.isType(value, Kotlin.kotlin.Comparable);
};
Kotlin.isCharSequence = function (value) {
return typeof value === 'string' || Kotlin.isType(value, Kotlin.kotlin.CharSequence);
};
(function() {
'use strict';
var Kind_INTERFACE = Kotlin.Kind.INTERFACE;
var Kind_OBJECT = Kotlin.Kind.OBJECT;
var Kind_CLASS = Kotlin.Kind.CLASS;
var defineInlineFunction = Kotlin.defineInlineFunction;
var wrapFunction = Kotlin.wrapFunction;
var equals = Kotlin.equals;
var L0 = Kotlin.Long.ZERO;
function Comparable() {
}
Comparable.$metadata$ = {kind: Kind_INTERFACE, simpleName: 'Comparable', interfaces: []};
function Enum() {
Enum$Companion_getInstance();
this.name$ = '';
this.ordinal$ = 0;
}
Object.defineProperty(Enum.prototype, 'name', {get: function () {
return this.name$;
}});
Object.defineProperty(Enum.prototype, 'ordinal', {get: function () {
return this.ordinal$;
}});
Enum.prototype.compareTo_11rb$ = function (other) {
return Kotlin.primitiveCompareTo(this.ordinal, other.ordinal);
};
Enum.prototype.equals = function (other) {
return this === other;
};
Enum.prototype.hashCode = function () {
return Kotlin.identityHashCode(this);
};
Enum.prototype.toString = function () {
return this.name;
};
function Enum$Companion() {
Enum$Companion_instance = this;
}
Enum$Companion.$metadata$ = {kind: Kind_OBJECT, simpleName: 'Companion', interfaces: []};
var Enum$Companion_instance = null;
function Enum$Companion_getInstance() {
if (Enum$Companion_instance === null) {
new Enum$Companion();
}
return Enum$Companion_instance;
}
Enum.$metadata$ = {kind: Kind_CLASS, simpleName: 'Enum', interfaces: [Comparable]};
function newArray(size, initValue) {
return fillArrayVal(Array(size), initValue);
}
var arrayWithFun = defineInlineFunction('kotlin.newArrayF', wrapFunction(function () {
var Array_0 = Array;
return function (size, init) {
var array = Array_0(size);
var tmp$;
tmp$ = array.length - 1 | 0;
for (var i = 0; i <= tmp$; i++) {
array[i] = init(i);
}
return array;
};
}));
var fillArrayFun = defineInlineFunction('kotlin.fillArray', function (array, init) {
var tmp$;
tmp$ = array.length - 1 | 0;
for (var i = 0; i <= tmp$; i++) {
array[i] = init(i);
}
return array;
});
function booleanArray(size, init) {
var tmp$;
var result = Array(size);
result.$type$ = 'BooleanArray';
if (init == null || equals(init, true))
tmp$ = fillArrayVal(result, false);
else if (equals(init, false))
tmp$ = result;
else {
var tmp$_0;
tmp$_0 = result.length - 1 | 0;
for (var i = 0; i <= tmp$_0; i++) {
result[i] = init(i);
}
tmp$ = result;
}
return tmp$;
}
var booleanArrayWithFun = defineInlineFunction('kotlin.booleanArrayF', wrapFunction(function () {
var booleanArray = _.booleanArray;
return function (size, init) {
var array = booleanArray(size, false);
var tmp$;
tmp$ = array.length - 1 | 0;
for (var i = 0; i <= tmp$; i++) {
array[i] = init(i);
}
return array;
};
}));
function charArray(size, init) {
var tmp$;
var result = new Uint16Array(size);
result.$type$ = 'CharArray';
if (init == null || equals(init, true) || equals(init, false))
tmp$ = result;
else {
var tmp$_0;
tmp$_0 = result.length - 1 | 0;
for (var i = 0; i <= tmp$_0; i++) {
result[i] = init(i);
}
tmp$ = result;
}
return tmp$;
}
var charArrayWithFun = defineInlineFunction('kotlin.charArrayF', wrapFunction(function () {
var charArray = _.charArray;
var unboxChar = Kotlin.unboxChar;
return function (size, init) {
var tmp$;
var array = charArray(size, null);
tmp$ = array.length - 1 | 0;
for (var i = 0; i <= tmp$; i++) {
var value = unboxChar(init(i));
array[i] = value;
}
return array;
};
}));
var untypedCharArrayWithFun = defineInlineFunction('kotlin.untypedCharArrayF', wrapFunction(function () {
var Array_0 = Array;
var unboxChar = Kotlin.unboxChar;
return function (size, init) {
var tmp$;
var array = Array_0(size);
tmp$ = array.length - 1 | 0;
for (var i = 0; i <= tmp$; i++) {
var value = unboxChar(init(i));
array[i] = value;
}
return array;
};
}));
function longArray(size, init) {
var tmp$;
var result = Array(size);
result.$type$ = 'LongArray';
if (init == null || equals(init, true))
tmp$ = fillArrayVal(result, L0);
else if (equals(init, false))
tmp$ = result;
else {
var tmp$_0;
tmp$_0 = result.length - 1 | 0;
for (var i = 0; i <= tmp$_0; i++) {
result[i] = init(i);
}
tmp$ = result;
}
return tmp$;
}
var longArrayWithFun = defineInlineFunction('kotlin.longArrayF', wrapFunction(function () {
var longArray = _.longArray;
return function (size, init) {
var array = longArray(size, false);
var tmp$;
tmp$ = array.length - 1 | 0;
for (var i = 0; i <= tmp$; i++) {
array[i] = init(i);
}
return array;
};
}));
function fillArrayVal(array, initValue) {
var tmp$;
tmp$ = array.length - 1 | 0;
for (var i = 0; i <= tmp$; i++) {
array[i] = initValue;
}
return array;
}
function DoubleCompanionObject() {
DoubleCompanionObject_instance = this;
this.MIN_VALUE = Number.MIN_VALUE;
this.MAX_VALUE = Number.MAX_VALUE;
this.POSITIVE_INFINITY = Number.POSITIVE_INFINITY;
this.NEGATIVE_INFINITY = Number.NEGATIVE_INFINITY;
this.NaN = Number.NaN;
}
DoubleCompanionObject.$metadata$ = {kind: Kind_OBJECT, simpleName: 'DoubleCompanionObject', interfaces: []};
var DoubleCompanionObject_instance = null;
function DoubleCompanionObject_getInstance() {
if (DoubleCompanionObject_instance === null) {
new DoubleCompanionObject();
}
return DoubleCompanionObject_instance;
}
function FloatCompanionObject() {
FloatCompanionObject_instance = this;
this.MIN_VALUE = Number.MIN_VALUE;
this.MAX_VALUE = Number.MAX_VALUE;
this.POSITIVE_INFINITY = Number.POSITIVE_INFINITY;
this.NEGATIVE_INFINITY = Number.NEGATIVE_INFINITY;
this.NaN = Number.NaN;
}
FloatCompanionObject.$metadata$ = {kind: Kind_OBJECT, simpleName: 'FloatCompanionObject', interfaces: []};
var FloatCompanionObject_instance = null;
function FloatCompanionObject_getInstance() {
if (FloatCompanionObject_instance === null) {
new FloatCompanionObject();
}
return FloatCompanionObject_instance;
}
function IntCompanionObject() {
IntCompanionObject_instance = this;
this.MIN_VALUE = -2147483648;
this.MAX_VALUE = 2147483647;
this.SIZE_BYTES = 4;
this.SIZE_BITS = 32;
}
IntCompanionObject.$metadata$ = {kind: Kind_OBJECT, simpleName: 'IntCompanionObject', interfaces: []};
var IntCompanionObject_instance = null;
function IntCompanionObject_getInstance() {
if (IntCompanionObject_instance === null) {
new IntCompanionObject();
}
return IntCompanionObject_instance;
}
function LongCompanionObject() {
LongCompanionObject_instance = this;
this.MIN_VALUE = Kotlin.Long.MIN_VALUE;
this.MAX_VALUE = Kotlin.Long.MAX_VALUE;
this.SIZE_BYTES = 8;
this.SIZE_BITS = 64;
}
LongCompanionObject.$metadata$ = {kind: Kind_OBJECT, simpleName: 'LongCompanionObject', interfaces: []};
var LongCompanionObject_instance = null;
function LongCompanionObject_getInstance() {
if (LongCompanionObject_instance === null) {
new LongCompanionObject();
}
return LongCompanionObject_instance;
}
function ShortCompanionObject() {
ShortCompanionObject_instance = this;
this.MIN_VALUE = -32768 | 0;
this.MAX_VALUE = 32767;
this.SIZE_BYTES = 2;
this.SIZE_BITS = 16;
}
ShortCompanionObject.$metadata$ = {kind: Kind_OBJECT, simpleName: 'ShortCompanionObject', interfaces: []};
var ShortCompanionObject_instance = null;
function ShortCompanionObject_getInstance() {
if (ShortCompanionObject_instance === null) {
new ShortCompanionObject();
}
return ShortCompanionObject_instance;
}
function ByteCompanionObject() {
ByteCompanionObject_instance = this;
this.MIN_VALUE = -128 | 0;
this.MAX_VALUE = 127;
this.SIZE_BYTES = 1;
this.SIZE_BITS = 8;
}
ByteCompanionObject.$metadata$ = {kind: Kind_OBJECT, simpleName: 'ByteCompanionObject', interfaces: []};
var ByteCompanionObject_instance = null;
function ByteCompanionObject_getInstance() {
if (ByteCompanionObject_instance === null) {
new ByteCompanionObject();
}
return ByteCompanionObject_instance;
}
function CharCompanionObject() {
CharCompanionObject_instance = this;
this.MIN_VALUE = 0;
this.MAX_VALUE = 65535;
this.MIN_HIGH_SURROGATE = 55296;
this.MAX_HIGH_SURROGATE = 56319;
this.MIN_LOW_SURROGATE = 56320;
this.MAX_LOW_SURROGATE = 57343;
this.MIN_SURROGATE = this.MIN_HIGH_SURROGATE;
this.MAX_SURROGATE = this.MAX_LOW_SURROGATE;
this.SIZE_BYTES = 2;
this.SIZE_BITS = 16;
}
CharCompanionObject.$metadata$ = {kind: Kind_OBJECT, simpleName: 'CharCompanionObject', interfaces: []};
var CharCompanionObject_instance = null;
function CharCompanionObject_getInstance() {
if (CharCompanionObject_instance === null) {
new CharCompanionObject();
}
return CharCompanionObject_instance;
}
function StringCompanionObject() {
StringCompanionObject_instance = this;
}
StringCompanionObject.$metadata$ = {kind: Kind_OBJECT, simpleName: 'StringCompanionObject', interfaces: []};
var StringCompanionObject_instance = null;
function StringCompanionObject_getInstance() {
if (StringCompanionObject_instance === null) {
new StringCompanionObject();
}
return StringCompanionObject_instance;
}
function BooleanCompanionObject() {
BooleanCompanionObject_instance = this;
}
BooleanCompanionObject.$metadata$ = {kind: Kind_OBJECT, simpleName: 'BooleanCompanionObject', interfaces: []};
var BooleanCompanionObject_instance = null;
function BooleanCompanionObject_getInstance() {
if (BooleanCompanionObject_instance === null) {
new BooleanCompanionObject();
}
return BooleanCompanionObject_instance;
}
var package$kotlin = _.kotlin || (_.kotlin = {});
package$kotlin.Comparable = Comparable;
Object.defineProperty(Enum, 'Companion', {get: Enum$Companion_getInstance});
package$kotlin.Enum = Enum;
_.newArray = newArray;
_.fillArray = fillArrayFun;
_.newArrayF = arrayWithFun;
_.booleanArray = booleanArray;
_.booleanArrayF = booleanArrayWithFun;
_.charArray = charArray;
_.charArrayF = charArrayWithFun;
_.untypedCharArrayF = untypedCharArrayWithFun;
_.longArray = longArray;
_.longArrayF = longArrayWithFun;
var package$js = package$kotlin.js || (package$kotlin.js = {});
var package$internal = package$js.internal || (package$js.internal = {});
Object.defineProperty(package$internal, 'DoubleCompanionObject', {get: DoubleCompanionObject_getInstance});
Object.defineProperty(package$internal, 'FloatCompanionObject', {get: FloatCompanionObject_getInstance});
Object.defineProperty(package$internal, 'IntCompanionObject', {get: IntCompanionObject_getInstance});
Object.defineProperty(package$internal, 'LongCompanionObject', {get: LongCompanionObject_getInstance});
Object.defineProperty(package$internal, 'ShortCompanionObject', {get: ShortCompanionObject_getInstance});
Object.defineProperty(package$internal, 'ByteCompanionObject', {get: ByteCompanionObject_getInstance});
Object.defineProperty(package$internal, 'CharCompanionObject', {get: CharCompanionObject_getInstance});
Kotlin.defineModule('kotlin', _);
}());
(function() {
'use strict';
var defineInlineFunction = Kotlin.defineInlineFunction;
var wrapFunction = Kotlin.wrapFunction;
var equals = Kotlin.equals;
var Any = Object;
var toBoxedChar = Kotlin.toBoxedChar;
var unboxChar = Kotlin.unboxChar;
var sort = Kotlin.primitiveArraySort;
var kotlin_js_internal_DoubleCompanionObject = Kotlin.kotlin.js.internal.DoubleCompanionObject;
var L0 = Kotlin.Long.ZERO;
var toChar = Kotlin.toChar;
var L_1 = Kotlin.Long.NEG_ONE;
var toByte = Kotlin.toByte;
var L_128 = Kotlin.Long.fromInt(-128);
var L127 = Kotlin.Lon