(function (_, kotlin_kotlin) {
  'use strict';
  //region block: imports
  var imul = Math.imul;
  var protoOf = kotlin_kotlin.$_$.vf;
  var THROW_CCE = kotlin_kotlin.$_$.fm;
  var Annotation = kotlin_kotlin.$_$.il;
  var classMeta = kotlin_kotlin.$_$.ge;
  var setMetadataFor = kotlin_kotlin.$_$.wf;
  var VOID = kotlin_kotlin.$_$.g;
  var getStringHashCode = kotlin_kotlin.$_$.te;
  //endregion
  //region block: pre-declaration
  setMetadataFor(JsNative, 'JsNative', classMeta, VOID, [Annotation]);
  setMetadataFor(JsPrimitive, 'JsPrimitive', classMeta, VOID, [Annotation]);
  setMetadataFor(JsSpecialName, 'JsSpecialName', classMeta, VOID, [Annotation]);
  setMetadataFor(JsTypeGuard, 'JsTypeGuard', classMeta, VOID, [Annotation]);
  setMetadataFor(JsValue, 'JsValue', classMeta, VOID, [Annotation]);
  setMetadataFor(JsIntValue, 'JsIntValue', classMeta, VOID, [Annotation]);
  setMetadataFor(JsVirtual, 'JsVirtual', classMeta, VOID, [Annotation]);
  //endregion
  function JsNative() {
  }
  protoOf(JsNative).equals = function (other) {
    if (!(other instanceof JsNative))
      return false;
    other instanceof JsNative || THROW_CCE();
    return true;
  };
  protoOf(JsNative).hashCode = function () {
    return 0;
  };
  protoOf(JsNative).toString = function () {
    return '@seskar.js.JsNative()';
  };
  function JsPrimitive() {
  }
  protoOf(JsPrimitive).equals = function (other) {
    if (!(other instanceof JsPrimitive))
      return false;
    other instanceof JsPrimitive || THROW_CCE();
    return true;
  };
  protoOf(JsPrimitive).hashCode = function () {
    return 0;
  };
  protoOf(JsPrimitive).toString = function () {
    return '@seskar.js.JsPrimitive()';
  };
  function JsSpecialName(value) {
    this.value_1 = value;
  }
  protoOf(JsSpecialName).get_value_j01efc_k$ = function () {
    return this.value_1;
  };
  protoOf(JsSpecialName).equals = function (other) {
    if (!(other instanceof JsSpecialName))
      return false;
    var tmp0_other_with_cast = other instanceof JsSpecialName ? other : THROW_CCE();
    if (!(this.value_1 === tmp0_other_with_cast.value_1))
      return false;
    return true;
  };
  protoOf(JsSpecialName).hashCode = function () {
    return imul(getStringHashCode('value'), 127) ^ getStringHashCode(this.value_1);
  };
  protoOf(JsSpecialName).toString = function () {
    return '@seskar.js.JsSpecialName(value=' + this.value_1 + ')';
  };
  function JsTypeGuard(property, value) {
    this.property_1 = property;
    this.value_1 = value;
  }
  protoOf(JsTypeGuard).get_property_msvula_k$ = function () {
    return this.property_1;
  };
  protoOf(JsTypeGuard).get_value_j01efc_k$ = function () {
    return this.value_1;
  };
  protoOf(JsTypeGuard).equals = function (other) {
    if (!(other instanceof JsTypeGuard))
      return false;
    var tmp0_other_with_cast = other instanceof JsTypeGuard ? other : THROW_CCE();
    if (!(this.property_1 === tmp0_other_with_cast.property_1))
      return false;
    if (!(this.value_1 === tmp0_other_with_cast.value_1))
      return false;
    return true;
  };
  protoOf(JsTypeGuard).hashCode = function () {
    var result = imul(getStringHashCode('property'), 127) ^ getStringHashCode(this.property_1);
    result = result + (imul(getStringHashCode('value'), 127) ^ getStringHashCode(this.value_1)) | 0;
    return result;
  };
  protoOf(JsTypeGuard).toString = function () {
    return '@seskar.js.JsTypeGuard(property=' + this.property_1 + ', value=' + this.value_1 + ')';
  };
  function JsValue(value) {
    this.value_1 = value;
  }
  protoOf(JsValue).get_value_j01efc_k$ = function () {
    return this.value_1;
  };
  protoOf(JsValue).equals = function (other) {
    if (!(other instanceof JsValue))
      return false;
    var tmp0_other_with_cast = other instanceof JsValue ? other : THROW_CCE();
    if (!(this.value_1 === tmp0_other_with_cast.value_1))
      return false;
    return true;
  };
  protoOf(JsValue).hashCode = function () {
    return imul(getStringHashCode('value'), 127) ^ getStringHashCode(this.value_1);
  };
  protoOf(JsValue).toString = function () {
    return '@seskar.js.JsValue(value=' + this.value_1 + ')';
  };
  function JsIntValue(value) {
    this.value_1 = value;
  }
  protoOf(JsIntValue).get_value_j01efc_k$ = function () {
    return this.value_1;
  };
  protoOf(JsIntValue).equals = function (other) {
    if (!(other instanceof JsIntValue))
      return false;
    var tmp0_other_with_cast = other instanceof JsIntValue ? other : THROW_CCE();
    if (!(this.value_1 === tmp0_other_with_cast.value_1))
      return false;
    return true;
  };
  protoOf(JsIntValue).hashCode = function () {
    return imul(getStringHashCode('value'), 127) ^ this.value_1;
  };
  protoOf(JsIntValue).toString = function () {
    return '@seskar.js.JsIntValue(value=' + this.value_1 + ')';
  };
  function JsVirtual() {
  }
  protoOf(JsVirtual).equals = function (other) {
    if (!(other instanceof JsVirtual))
      return false;
    other instanceof JsVirtual || THROW_CCE();
    return true;
  };
  protoOf(JsVirtual).hashCode = function () {
    return 0;
  };
  protoOf(JsVirtual).toString = function () {
    return '@seskar.js.JsVirtual()';
  };
  return _;
}(module.exports, require('./kotlin-kotlin-stdlib.js')));

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