[
  {
    "path": ".gitignore",
    "content": "node_modules\n*.swo\n*.swp\n"
  },
  {
    "path": "Makefile",
    "content": "all: dist/glua.js dist/glua.min.js\n\ndist/glua.js: main.go\n\tgopherjs build -o dist/glua.js\n\ndist/glua.min.js: main.go\n\tgopherjs build -m -o dist/glua.min.js\n"
  },
  {
    "path": "README.md",
    "content": "## glua [![npm badge](https://img.shields.io/npm/v/glua.svg)](https://www.npmjs.com/package/glua)\n\n`glua` is what happens when you compile https://github.com/J-J-J/goluajit, a Lua VM written in Go (based on https://github.com/yuin/gopher-lua), to Javascript. It works right now and you can use it for most awesomeness. You don't have to know Go or even click on the link above, just use this library in your favorite JS environment.\n\n### example:\n\n```js\nconst glua = require('glua')\n\nglua.run(`\n  print(12, 'lala', true)\n`) // will print these values\n\nvar result\n\nglua.runWithGlobals({\n  diff: function (a, b) {\n    return Math.abs(Math.abs(b) - Math.abs(a))\n  },\n  saveResult: function (value) {\n    result = value\n  }\n}, `\n  local a = 23\n  local b = 74\n  local difference = diff(a, b)\n  saveResult(difference)\n`)\n\nconsole.log('the result is: ', result)\n\nglua.runWithModules({\n  fooprinter: `\nlocal fooprinter = {}\n\nfunction fooprinter.print (foo)\n  print('foo value is: ', foo)\nend\n\nreturn fooprinter\n  `\n}, {\n  foo: 264857\n}, `\nlocal fooprinter = require('fooprinter')\nprint('printing foo...')\nfooprinter.print(foo)\n`)\n```\n\n### try it now\n\nVisit https://raw.githack.com/fiatjaf/glua/master/try.html and use your console.\n\n## how do I\n\n1. Return multiple values from a JavaScript function?\n\n  Return the special object `{_glua_multi: []}` with an array of the multiple values you want your function to return.\n\n2. Get values out from the Lua environment?\n\n  Call `.runWithGlobals` passing a function that takes the parameters from Lua and saves them to a JavaScript variable. It works.\n"
  },
  {
    "path": "dist/glua.js",
    "content": "\"use strict\";\n(function() {\n\nError.stackTraceLimit = Infinity;\n\nvar $global, $module;\nif (typeof window !== \"undefined\") { /* web page */\n  $global = window;\n} else if (typeof self !== \"undefined\") { /* web worker */\n  $global = self;\n} else if (typeof global !== \"undefined\") { /* Node.js */\n  $global = global;\n  $global.require = require;\n} else { /* others (e.g. Nashorn) */\n  $global = this;\n}\n\nif ($global === undefined || $global.Array === undefined) {\n  throw new Error(\"no global object found\");\n}\nif (typeof module !== \"undefined\") {\n  $module = module;\n}\n\nvar $packages = {}, $idCounter = 0;\nvar $keys = function(m) { return m ? Object.keys(m) : []; };\nvar $flushConsole = function() {};\nvar $throwRuntimeError; /* set by package \"runtime\" */\nvar $throwNilPointerError = function() { $throwRuntimeError(\"invalid memory address or nil pointer dereference\"); };\nvar $call = function(fn, rcvr, args) { return fn.apply(rcvr, args); };\nvar $makeFunc = function(fn) { return function() { return $externalize(fn(this, new ($sliceType($jsObjectPtr))($global.Array.prototype.slice.call(arguments, []))), $emptyInterface); }; };\nvar $unused = function(v) {};\n\nvar $mapArray = function(array, f) {\n  var newArray = new array.constructor(array.length);\n  for (var i = 0; i < array.length; i++) {\n    newArray[i] = f(array[i]);\n  }\n  return newArray;\n};\n\nvar $methodVal = function(recv, name) {\n  var vals = recv.$methodVals || {};\n  recv.$methodVals = vals; /* noop for primitives */\n  var f = vals[name];\n  if (f !== undefined) {\n    return f;\n  }\n  var method = recv[name];\n  f = function() {\n    $stackDepthOffset--;\n    try {\n      return method.apply(recv, arguments);\n    } finally {\n      $stackDepthOffset++;\n    }\n  };\n  vals[name] = f;\n  return f;\n};\n\nvar $methodExpr = function(typ, name) {\n  var method = typ.prototype[name];\n  if (method.$expr === undefined) {\n    method.$expr = function() {\n      $stackDepthOffset--;\n      try {\n        if (typ.wrapped) {\n          arguments[0] = new typ(arguments[0]);\n        }\n        return Function.call.apply(method, arguments);\n      } finally {\n        $stackDepthOffset++;\n      }\n    };\n  }\n  return method.$expr;\n};\n\nvar $ifaceMethodExprs = {};\nvar $ifaceMethodExpr = function(name) {\n  var expr = $ifaceMethodExprs[\"$\" + name];\n  if (expr === undefined) {\n    expr = $ifaceMethodExprs[\"$\" + name] = function() {\n      $stackDepthOffset--;\n      try {\n        return Function.call.apply(arguments[0][name], arguments);\n      } finally {\n        $stackDepthOffset++;\n      }\n    };\n  }\n  return expr;\n};\n\nvar $subslice = function(slice, low, high, max) {\n  if (high === undefined) {\n    high = slice.$length;\n  }\n  if (max === undefined) {\n    max = slice.$capacity;\n  }\n  if (low < 0 || high < low || max < high || high > slice.$capacity || max > slice.$capacity) {\n    $throwRuntimeError(\"slice bounds out of range\");\n  }\n  if (slice === slice.constructor.nil) {\n    return slice;\n  }\n  var s = new slice.constructor(slice.$array);\n  s.$offset = slice.$offset + low;\n  s.$length = high - low;\n  s.$capacity = max - low;\n  return s;\n};\n\nvar $substring = function(str, low, high) {\n  if (low < 0 || high < low || high > str.length) {\n    $throwRuntimeError(\"slice bounds out of range\");\n  }\n  return str.substring(low, high);\n};\n\nvar $sliceToArray = function(slice) {\n  if (slice.$array.constructor !== Array) {\n    return slice.$array.subarray(slice.$offset, slice.$offset + slice.$length);\n  }\n  return slice.$array.slice(slice.$offset, slice.$offset + slice.$length);\n};\n\nvar $decodeRune = function(str, pos) {\n  var c0 = str.charCodeAt(pos);\n\n  if (c0 < 0x80) {\n    return [c0, 1];\n  }\n\n  if (c0 !== c0 || c0 < 0xC0) {\n    return [0xFFFD, 1];\n  }\n\n  var c1 = str.charCodeAt(pos + 1);\n  if (c1 !== c1 || c1 < 0x80 || 0xC0 <= c1) {\n    return [0xFFFD, 1];\n  }\n\n  if (c0 < 0xE0) {\n    var r = (c0 & 0x1F) << 6 | (c1 & 0x3F);\n    if (r <= 0x7F) {\n      return [0xFFFD, 1];\n    }\n    return [r, 2];\n  }\n\n  var c2 = str.charCodeAt(pos + 2);\n  if (c2 !== c2 || c2 < 0x80 || 0xC0 <= c2) {\n    return [0xFFFD, 1];\n  }\n\n  if (c0 < 0xF0) {\n    var r = (c0 & 0x0F) << 12 | (c1 & 0x3F) << 6 | (c2 & 0x3F);\n    if (r <= 0x7FF) {\n      return [0xFFFD, 1];\n    }\n    if (0xD800 <= r && r <= 0xDFFF) {\n      return [0xFFFD, 1];\n    }\n    return [r, 3];\n  }\n\n  var c3 = str.charCodeAt(pos + 3);\n  if (c3 !== c3 || c3 < 0x80 || 0xC0 <= c3) {\n    return [0xFFFD, 1];\n  }\n\n  if (c0 < 0xF8) {\n    var r = (c0 & 0x07) << 18 | (c1 & 0x3F) << 12 | (c2 & 0x3F) << 6 | (c3 & 0x3F);\n    if (r <= 0xFFFF || 0x10FFFF < r) {\n      return [0xFFFD, 1];\n    }\n    return [r, 4];\n  }\n\n  return [0xFFFD, 1];\n};\n\nvar $encodeRune = function(r) {\n  if (r < 0 || r > 0x10FFFF || (0xD800 <= r && r <= 0xDFFF)) {\n    r = 0xFFFD;\n  }\n  if (r <= 0x7F) {\n    return String.fromCharCode(r);\n  }\n  if (r <= 0x7FF) {\n    return String.fromCharCode(0xC0 | r >> 6, 0x80 | (r & 0x3F));\n  }\n  if (r <= 0xFFFF) {\n    return String.fromCharCode(0xE0 | r >> 12, 0x80 | (r >> 6 & 0x3F), 0x80 | (r & 0x3F));\n  }\n  return String.fromCharCode(0xF0 | r >> 18, 0x80 | (r >> 12 & 0x3F), 0x80 | (r >> 6 & 0x3F), 0x80 | (r & 0x3F));\n};\n\nvar $stringToBytes = function(str) {\n  var array = new Uint8Array(str.length);\n  for (var i = 0; i < str.length; i++) {\n    array[i] = str.charCodeAt(i);\n  }\n  return array;\n};\n\nvar $bytesToString = function(slice) {\n  if (slice.$length === 0) {\n    return \"\";\n  }\n  var str = \"\";\n  for (var i = 0; i < slice.$length; i += 10000) {\n    str += String.fromCharCode.apply(undefined, slice.$array.subarray(slice.$offset + i, slice.$offset + Math.min(slice.$length, i + 10000)));\n  }\n  return str;\n};\n\nvar $stringToRunes = function(str) {\n  var array = new Int32Array(str.length);\n  var rune, j = 0;\n  for (var i = 0; i < str.length; i += rune[1], j++) {\n    rune = $decodeRune(str, i);\n    array[j] = rune[0];\n  }\n  return array.subarray(0, j);\n};\n\nvar $runesToString = function(slice) {\n  if (slice.$length === 0) {\n    return \"\";\n  }\n  var str = \"\";\n  for (var i = 0; i < slice.$length; i++) {\n    str += $encodeRune(slice.$array[slice.$offset + i]);\n  }\n  return str;\n};\n\nvar $copyString = function(dst, src) {\n  var n = Math.min(src.length, dst.$length);\n  for (var i = 0; i < n; i++) {\n    dst.$array[dst.$offset + i] = src.charCodeAt(i);\n  }\n  return n;\n};\n\nvar $copySlice = function(dst, src) {\n  var n = Math.min(src.$length, dst.$length);\n  $copyArray(dst.$array, src.$array, dst.$offset, src.$offset, n, dst.constructor.elem);\n  return n;\n};\n\nvar $copyArray = function(dst, src, dstOffset, srcOffset, n, elem) {\n  if (n === 0 || (dst === src && dstOffset === srcOffset)) {\n    return;\n  }\n\n  if (src.subarray) {\n    dst.set(src.subarray(srcOffset, srcOffset + n), dstOffset);\n    return;\n  }\n\n  switch (elem.kind) {\n  case $kindArray:\n  case $kindStruct:\n    if (dst === src && dstOffset > srcOffset) {\n      for (var i = n - 1; i >= 0; i--) {\n        elem.copy(dst[dstOffset + i], src[srcOffset + i]);\n      }\n      return;\n    }\n    for (var i = 0; i < n; i++) {\n      elem.copy(dst[dstOffset + i], src[srcOffset + i]);\n    }\n    return;\n  }\n\n  if (dst === src && dstOffset > srcOffset) {\n    for (var i = n - 1; i >= 0; i--) {\n      dst[dstOffset + i] = src[srcOffset + i];\n    }\n    return;\n  }\n  for (var i = 0; i < n; i++) {\n    dst[dstOffset + i] = src[srcOffset + i];\n  }\n};\n\nvar $clone = function(src, type) {\n  var clone = type.zero();\n  type.copy(clone, src);\n  return clone;\n};\n\nvar $pointerOfStructConversion = function(obj, type) {\n  if(obj.$proxies === undefined) {\n    obj.$proxies = {};\n    obj.$proxies[obj.constructor.string] = obj;\n  }\n  var proxy = obj.$proxies[type.string];\n  if (proxy === undefined) {\n    var properties = {};\n    for (var i = 0; i < type.elem.fields.length; i++) {\n      (function(fieldProp) {\n        properties[fieldProp] = {\n          get: function() { return obj[fieldProp]; },\n          set: function(value) { obj[fieldProp] = value; }\n        };\n      })(type.elem.fields[i].prop);\n    }\n    proxy = Object.create(type.prototype, properties);\n    proxy.$val = proxy;\n    obj.$proxies[type.string] = proxy;\n    proxy.$proxies = obj.$proxies;\n  }\n  return proxy;\n};\n\nvar $append = function(slice) {\n  return $internalAppend(slice, arguments, 1, arguments.length - 1);\n};\n\nvar $appendSlice = function(slice, toAppend) {\n  if (toAppend.constructor === String) {\n    var bytes = $stringToBytes(toAppend);\n    return $internalAppend(slice, bytes, 0, bytes.length);\n  }\n  return $internalAppend(slice, toAppend.$array, toAppend.$offset, toAppend.$length);\n};\n\nvar $internalAppend = function(slice, array, offset, length) {\n  if (length === 0) {\n    return slice;\n  }\n\n  var newArray = slice.$array;\n  var newOffset = slice.$offset;\n  var newLength = slice.$length + length;\n  var newCapacity = slice.$capacity;\n\n  if (newLength > newCapacity) {\n    newOffset = 0;\n    newCapacity = Math.max(newLength, slice.$capacity < 1024 ? slice.$capacity * 2 : Math.floor(slice.$capacity * 5 / 4));\n\n    if (slice.$array.constructor === Array) {\n      newArray = slice.$array.slice(slice.$offset, slice.$offset + slice.$length);\n      newArray.length = newCapacity;\n      var zero = slice.constructor.elem.zero;\n      for (var i = slice.$length; i < newCapacity; i++) {\n        newArray[i] = zero();\n      }\n    } else {\n      newArray = new slice.$array.constructor(newCapacity);\n      newArray.set(slice.$array.subarray(slice.$offset, slice.$offset + slice.$length));\n    }\n  }\n\n  $copyArray(newArray, array, newOffset + slice.$length, offset, length, slice.constructor.elem);\n\n  var newSlice = new slice.constructor(newArray);\n  newSlice.$offset = newOffset;\n  newSlice.$length = newLength;\n  newSlice.$capacity = newCapacity;\n  return newSlice;\n};\n\nvar $equal = function(a, b, type) {\n  if (type === $jsObjectPtr) {\n    return a === b;\n  }\n  switch (type.kind) {\n  case $kindComplex64:\n  case $kindComplex128:\n    return a.$real === b.$real && a.$imag === b.$imag;\n  case $kindInt64:\n  case $kindUint64:\n    return a.$high === b.$high && a.$low === b.$low;\n  case $kindArray:\n    if (a.length !== b.length) {\n      return false;\n    }\n    for (var i = 0; i < a.length; i++) {\n      if (!$equal(a[i], b[i], type.elem)) {\n        return false;\n      }\n    }\n    return true;\n  case $kindStruct:\n    for (var i = 0; i < type.fields.length; i++) {\n      var f = type.fields[i];\n      if (!$equal(a[f.prop], b[f.prop], f.typ)) {\n        return false;\n      }\n    }\n    return true;\n  case $kindInterface:\n    return $interfaceIsEqual(a, b);\n  default:\n    return a === b;\n  }\n};\n\nvar $interfaceIsEqual = function(a, b) {\n  if (a === $ifaceNil || b === $ifaceNil) {\n    return a === b;\n  }\n  if (a.constructor !== b.constructor) {\n    return false;\n  }\n  if (a.constructor === $jsObjectPtr) {\n    return a.object === b.object;\n  }\n  if (!a.constructor.comparable) {\n    $throwRuntimeError(\"comparing uncomparable type \" + a.constructor.string);\n  }\n  return $equal(a.$val, b.$val, a.constructor);\n};\n\nvar $min = Math.min;\nvar $mod = function(x, y) { return x % y; };\nvar $parseInt = parseInt;\nvar $parseFloat = function(f) {\n  if (f !== undefined && f !== null && f.constructor === Number) {\n    return f;\n  }\n  return parseFloat(f);\n};\n\nvar $froundBuf = new Float32Array(1);\nvar $fround = Math.fround || function(f) {\n  $froundBuf[0] = f;\n  return $froundBuf[0];\n};\n\nvar $imul = Math.imul || function(a, b) {\n  var ah = (a >>> 16) & 0xffff;\n  var al = a & 0xffff;\n  var bh = (b >>> 16) & 0xffff;\n  var bl = b & 0xffff;\n  return ((al * bl) + (((ah * bl + al * bh) << 16) >>> 0) >> 0);\n};\n\nvar $floatKey = function(f) {\n  if (f !== f) {\n    $idCounter++;\n    return \"NaN$\" + $idCounter;\n  }\n  return String(f);\n};\n\nvar $flatten64 = function(x) {\n  return x.$high * 4294967296 + x.$low;\n};\n\nvar $shiftLeft64 = function(x, y) {\n  if (y === 0) {\n    return x;\n  }\n  if (y < 32) {\n    return new x.constructor(x.$high << y | x.$low >>> (32 - y), (x.$low << y) >>> 0);\n  }\n  if (y < 64) {\n    return new x.constructor(x.$low << (y - 32), 0);\n  }\n  return new x.constructor(0, 0);\n};\n\nvar $shiftRightInt64 = function(x, y) {\n  if (y === 0) {\n    return x;\n  }\n  if (y < 32) {\n    return new x.constructor(x.$high >> y, (x.$low >>> y | x.$high << (32 - y)) >>> 0);\n  }\n  if (y < 64) {\n    return new x.constructor(x.$high >> 31, (x.$high >> (y - 32)) >>> 0);\n  }\n  if (x.$high < 0) {\n    return new x.constructor(-1, 4294967295);\n  }\n  return new x.constructor(0, 0);\n};\n\nvar $shiftRightUint64 = function(x, y) {\n  if (y === 0) {\n    return x;\n  }\n  if (y < 32) {\n    return new x.constructor(x.$high >>> y, (x.$low >>> y | x.$high << (32 - y)) >>> 0);\n  }\n  if (y < 64) {\n    return new x.constructor(0, x.$high >>> (y - 32));\n  }\n  return new x.constructor(0, 0);\n};\n\nvar $mul64 = function(x, y) {\n  var high = 0, low = 0;\n  if ((y.$low & 1) !== 0) {\n    high = x.$high;\n    low = x.$low;\n  }\n  for (var i = 1; i < 32; i++) {\n    if ((y.$low & 1<<i) !== 0) {\n      high += x.$high << i | x.$low >>> (32 - i);\n      low += (x.$low << i) >>> 0;\n    }\n  }\n  for (var i = 0; i < 32; i++) {\n    if ((y.$high & 1<<i) !== 0) {\n      high += x.$low << i;\n    }\n  }\n  return new x.constructor(high, low);\n};\n\nvar $div64 = function(x, y, returnRemainder) {\n  if (y.$high === 0 && y.$low === 0) {\n    $throwRuntimeError(\"integer divide by zero\");\n  }\n\n  var s = 1;\n  var rs = 1;\n\n  var xHigh = x.$high;\n  var xLow = x.$low;\n  if (xHigh < 0) {\n    s = -1;\n    rs = -1;\n    xHigh = -xHigh;\n    if (xLow !== 0) {\n      xHigh--;\n      xLow = 4294967296 - xLow;\n    }\n  }\n\n  var yHigh = y.$high;\n  var yLow = y.$low;\n  if (y.$high < 0) {\n    s *= -1;\n    yHigh = -yHigh;\n    if (yLow !== 0) {\n      yHigh--;\n      yLow = 4294967296 - yLow;\n    }\n  }\n\n  var high = 0, low = 0, n = 0;\n  while (yHigh < 2147483648 && ((xHigh > yHigh) || (xHigh === yHigh && xLow > yLow))) {\n    yHigh = (yHigh << 1 | yLow >>> 31) >>> 0;\n    yLow = (yLow << 1) >>> 0;\n    n++;\n  }\n  for (var i = 0; i <= n; i++) {\n    high = high << 1 | low >>> 31;\n    low = (low << 1) >>> 0;\n    if ((xHigh > yHigh) || (xHigh === yHigh && xLow >= yLow)) {\n      xHigh = xHigh - yHigh;\n      xLow = xLow - yLow;\n      if (xLow < 0) {\n        xHigh--;\n        xLow += 4294967296;\n      }\n      low++;\n      if (low === 4294967296) {\n        high++;\n        low = 0;\n      }\n    }\n    yLow = (yLow >>> 1 | yHigh << (32 - 1)) >>> 0;\n    yHigh = yHigh >>> 1;\n  }\n\n  if (returnRemainder) {\n    return new x.constructor(xHigh * rs, xLow * rs);\n  }\n  return new x.constructor(high * s, low * s);\n};\n\nvar $divComplex = function(n, d) {\n  var ninf = n.$real === Infinity || n.$real === -Infinity || n.$imag === Infinity || n.$imag === -Infinity;\n  var dinf = d.$real === Infinity || d.$real === -Infinity || d.$imag === Infinity || d.$imag === -Infinity;\n  var nnan = !ninf && (n.$real !== n.$real || n.$imag !== n.$imag);\n  var dnan = !dinf && (d.$real !== d.$real || d.$imag !== d.$imag);\n  if(nnan || dnan) {\n    return new n.constructor(NaN, NaN);\n  }\n  if (ninf && !dinf) {\n    return new n.constructor(Infinity, Infinity);\n  }\n  if (!ninf && dinf) {\n    return new n.constructor(0, 0);\n  }\n  if (d.$real === 0 && d.$imag === 0) {\n    if (n.$real === 0 && n.$imag === 0) {\n      return new n.constructor(NaN, NaN);\n    }\n    return new n.constructor(Infinity, Infinity);\n  }\n  var a = Math.abs(d.$real);\n  var b = Math.abs(d.$imag);\n  if (a <= b) {\n    var ratio = d.$real / d.$imag;\n    var denom = d.$real * ratio + d.$imag;\n    return new n.constructor((n.$real * ratio + n.$imag) / denom, (n.$imag * ratio - n.$real) / denom);\n  }\n  var ratio = d.$imag / d.$real;\n  var denom = d.$imag * ratio + d.$real;\n  return new n.constructor((n.$imag * ratio + n.$real) / denom, (n.$imag - n.$real * ratio) / denom);\n};\n\nvar $kindBool = 1;\nvar $kindInt = 2;\nvar $kindInt8 = 3;\nvar $kindInt16 = 4;\nvar $kindInt32 = 5;\nvar $kindInt64 = 6;\nvar $kindUint = 7;\nvar $kindUint8 = 8;\nvar $kindUint16 = 9;\nvar $kindUint32 = 10;\nvar $kindUint64 = 11;\nvar $kindUintptr = 12;\nvar $kindFloat32 = 13;\nvar $kindFloat64 = 14;\nvar $kindComplex64 = 15;\nvar $kindComplex128 = 16;\nvar $kindArray = 17;\nvar $kindChan = 18;\nvar $kindFunc = 19;\nvar $kindInterface = 20;\nvar $kindMap = 21;\nvar $kindPtr = 22;\nvar $kindSlice = 23;\nvar $kindString = 24;\nvar $kindStruct = 25;\nvar $kindUnsafePointer = 26;\n\nvar $methodSynthesizers = [];\nvar $addMethodSynthesizer = function(f) {\n  if ($methodSynthesizers === null) {\n    f();\n    return;\n  }\n  $methodSynthesizers.push(f);\n};\nvar $synthesizeMethods = function() {\n  $methodSynthesizers.forEach(function(f) { f(); });\n  $methodSynthesizers = null;\n};\n\nvar $ifaceKeyFor = function(x) {\n  if (x === $ifaceNil) {\n    return 'nil';\n  }\n  var c = x.constructor;\n  return c.string + '$' + c.keyFor(x.$val);\n};\n\nvar $identity = function(x) { return x; };\n\nvar $typeIDCounter = 0;\n\nvar $idKey = function(x) {\n  if (x.$id === undefined) {\n    $idCounter++;\n    x.$id = $idCounter;\n  }\n  return String(x.$id);\n};\n\nvar $newType = function(size, kind, string, named, pkg, exported, constructor) {\n  var typ;\n  switch(kind) {\n  case $kindBool:\n  case $kindInt:\n  case $kindInt8:\n  case $kindInt16:\n  case $kindInt32:\n  case $kindUint:\n  case $kindUint8:\n  case $kindUint16:\n  case $kindUint32:\n  case $kindUintptr:\n  case $kindUnsafePointer:\n    typ = function(v) { this.$val = v; };\n    typ.wrapped = true;\n    typ.keyFor = $identity;\n    break;\n\n  case $kindString:\n    typ = function(v) { this.$val = v; };\n    typ.wrapped = true;\n    typ.keyFor = function(x) { return \"$\" + x; };\n    break;\n\n  case $kindFloat32:\n  case $kindFloat64:\n    typ = function(v) { this.$val = v; };\n    typ.wrapped = true;\n    typ.keyFor = function(x) { return $floatKey(x); };\n    break;\n\n  case $kindInt64:\n    typ = function(high, low) {\n      this.$high = (high + Math.floor(Math.ceil(low) / 4294967296)) >> 0;\n      this.$low = low >>> 0;\n      this.$val = this;\n    };\n    typ.keyFor = function(x) { return x.$high + \"$\" + x.$low; };\n    break;\n\n  case $kindUint64:\n    typ = function(high, low) {\n      this.$high = (high + Math.floor(Math.ceil(low) / 4294967296)) >>> 0;\n      this.$low = low >>> 0;\n      this.$val = this;\n    };\n    typ.keyFor = function(x) { return x.$high + \"$\" + x.$low; };\n    break;\n\n  case $kindComplex64:\n    typ = function(real, imag) {\n      this.$real = $fround(real);\n      this.$imag = $fround(imag);\n      this.$val = this;\n    };\n    typ.keyFor = function(x) { return x.$real + \"$\" + x.$imag; };\n    break;\n\n  case $kindComplex128:\n    typ = function(real, imag) {\n      this.$real = real;\n      this.$imag = imag;\n      this.$val = this;\n    };\n    typ.keyFor = function(x) { return x.$real + \"$\" + x.$imag; };\n    break;\n\n  case $kindArray:\n    typ = function(v) { this.$val = v; };\n    typ.wrapped = true;\n    typ.ptr = $newType(4, $kindPtr, \"*\" + string, false, \"\", false, function(array) {\n      this.$get = function() { return array; };\n      this.$set = function(v) { typ.copy(this, v); };\n      this.$val = array;\n    });\n    typ.init = function(elem, len) {\n      typ.elem = elem;\n      typ.len = len;\n      typ.comparable = elem.comparable;\n      typ.keyFor = function(x) {\n        return Array.prototype.join.call($mapArray(x, function(e) {\n          return String(elem.keyFor(e)).replace(/\\\\/g, \"\\\\\\\\\").replace(/\\$/g, \"\\\\$\");\n        }), \"$\");\n      };\n      typ.copy = function(dst, src) {\n        $copyArray(dst, src, 0, 0, src.length, elem);\n      };\n      typ.ptr.init(typ);\n      Object.defineProperty(typ.ptr.nil, \"nilCheck\", { get: $throwNilPointerError });\n    };\n    break;\n\n  case $kindChan:\n    typ = function(v) { this.$val = v; };\n    typ.wrapped = true;\n    typ.keyFor = $idKey;\n    typ.init = function(elem, sendOnly, recvOnly) {\n      typ.elem = elem;\n      typ.sendOnly = sendOnly;\n      typ.recvOnly = recvOnly;\n    };\n    break;\n\n  case $kindFunc:\n    typ = function(v) { this.$val = v; };\n    typ.wrapped = true;\n    typ.init = function(params, results, variadic) {\n      typ.params = params;\n      typ.results = results;\n      typ.variadic = variadic;\n      typ.comparable = false;\n    };\n    break;\n\n  case $kindInterface:\n    typ = { implementedBy: {}, missingMethodFor: {} };\n    typ.keyFor = $ifaceKeyFor;\n    typ.init = function(methods) {\n      typ.methods = methods;\n      methods.forEach(function(m) {\n        $ifaceNil[m.prop] = $throwNilPointerError;\n      });\n    };\n    break;\n\n  case $kindMap:\n    typ = function(v) { this.$val = v; };\n    typ.wrapped = true;\n    typ.init = function(key, elem) {\n      typ.key = key;\n      typ.elem = elem;\n      typ.comparable = false;\n    };\n    break;\n\n  case $kindPtr:\n    typ = constructor || function(getter, setter, target) {\n      this.$get = getter;\n      this.$set = setter;\n      this.$target = target;\n      this.$val = this;\n    };\n    typ.keyFor = $idKey;\n    typ.init = function(elem) {\n      typ.elem = elem;\n      typ.wrapped = (elem.kind === $kindArray);\n      typ.nil = new typ($throwNilPointerError, $throwNilPointerError);\n    };\n    break;\n\n  case $kindSlice:\n    typ = function(array) {\n      if (array.constructor !== typ.nativeArray) {\n        array = new typ.nativeArray(array);\n      }\n      this.$array = array;\n      this.$offset = 0;\n      this.$length = array.length;\n      this.$capacity = array.length;\n      this.$val = this;\n    };\n    typ.init = function(elem) {\n      typ.elem = elem;\n      typ.comparable = false;\n      typ.nativeArray = $nativeArray(elem.kind);\n      typ.nil = new typ([]);\n    };\n    break;\n\n  case $kindStruct:\n    typ = function(v) { this.$val = v; };\n    typ.wrapped = true;\n    typ.ptr = $newType(4, $kindPtr, \"*\" + string, false, pkg, exported, constructor);\n    typ.ptr.elem = typ;\n    typ.ptr.prototype.$get = function() { return this; };\n    typ.ptr.prototype.$set = function(v) { typ.copy(this, v); };\n    typ.init = function(pkgPath, fields) {\n      typ.pkgPath = pkgPath;\n      typ.fields = fields;\n      fields.forEach(function(f) {\n        if (!f.typ.comparable) {\n          typ.comparable = false;\n        }\n      });\n      typ.keyFor = function(x) {\n        var val = x.$val;\n        return $mapArray(fields, function(f) {\n          return String(f.typ.keyFor(val[f.prop])).replace(/\\\\/g, \"\\\\\\\\\").replace(/\\$/g, \"\\\\$\");\n        }).join(\"$\");\n      };\n      typ.copy = function(dst, src) {\n        for (var i = 0; i < fields.length; i++) {\n          var f = fields[i];\n          switch (f.typ.kind) {\n          case $kindArray:\n          case $kindStruct:\n            f.typ.copy(dst[f.prop], src[f.prop]);\n            continue;\n          default:\n            dst[f.prop] = src[f.prop];\n            continue;\n          }\n        }\n      };\n      /* nil value */\n      var properties = {};\n      fields.forEach(function(f) {\n        properties[f.prop] = { get: $throwNilPointerError, set: $throwNilPointerError };\n      });\n      typ.ptr.nil = Object.create(constructor.prototype, properties);\n      typ.ptr.nil.$val = typ.ptr.nil;\n      /* methods for embedded fields */\n      $addMethodSynthesizer(function() {\n        var synthesizeMethod = function(target, m, f) {\n          if (target.prototype[m.prop] !== undefined) { return; }\n          target.prototype[m.prop] = function() {\n            var v = this.$val[f.prop];\n            if (f.typ === $jsObjectPtr) {\n              v = new $jsObjectPtr(v);\n            }\n            if (v.$val === undefined) {\n              v = new f.typ(v);\n            }\n            return v[m.prop].apply(v, arguments);\n          };\n        };\n        fields.forEach(function(f) {\n          if (f.embedded) {\n            $methodSet(f.typ).forEach(function(m) {\n              synthesizeMethod(typ, m, f);\n              synthesizeMethod(typ.ptr, m, f);\n            });\n            $methodSet($ptrType(f.typ)).forEach(function(m) {\n              synthesizeMethod(typ.ptr, m, f);\n            });\n          }\n        });\n      });\n    };\n    break;\n\n  default:\n    $panic(new $String(\"invalid kind: \" + kind));\n  }\n\n  switch (kind) {\n  case $kindBool:\n  case $kindMap:\n    typ.zero = function() { return false; };\n    break;\n\n  case $kindInt:\n  case $kindInt8:\n  case $kindInt16:\n  case $kindInt32:\n  case $kindUint:\n  case $kindUint8 :\n  case $kindUint16:\n  case $kindUint32:\n  case $kindUintptr:\n  case $kindUnsafePointer:\n  case $kindFloat32:\n  case $kindFloat64:\n    typ.zero = function() { return 0; };\n    break;\n\n  case $kindString:\n    typ.zero = function() { return \"\"; };\n    break;\n\n  case $kindInt64:\n  case $kindUint64:\n  case $kindComplex64:\n  case $kindComplex128:\n    var zero = new typ(0, 0);\n    typ.zero = function() { return zero; };\n    break;\n\n  case $kindPtr:\n  case $kindSlice:\n    typ.zero = function() { return typ.nil; };\n    break;\n\n  case $kindChan:\n    typ.zero = function() { return $chanNil; };\n    break;\n\n  case $kindFunc:\n    typ.zero = function() { return $throwNilPointerError; };\n    break;\n\n  case $kindInterface:\n    typ.zero = function() { return $ifaceNil; };\n    break;\n\n  case $kindArray:\n    typ.zero = function() {\n      var arrayClass = $nativeArray(typ.elem.kind);\n      if (arrayClass !== Array) {\n        return new arrayClass(typ.len);\n      }\n      var array = new Array(typ.len);\n      for (var i = 0; i < typ.len; i++) {\n        array[i] = typ.elem.zero();\n      }\n      return array;\n    };\n    break;\n\n  case $kindStruct:\n    typ.zero = function() { return new typ.ptr(); };\n    break;\n\n  default:\n    $panic(new $String(\"invalid kind: \" + kind));\n  }\n\n  typ.id = $typeIDCounter;\n  $typeIDCounter++;\n  typ.size = size;\n  typ.kind = kind;\n  typ.string = string;\n  typ.named = named;\n  typ.pkg = pkg;\n  typ.exported = exported;\n  typ.methods = [];\n  typ.methodSetCache = null;\n  typ.comparable = true;\n  return typ;\n};\n\nvar $methodSet = function(typ) {\n  if (typ.methodSetCache !== null) {\n    return typ.methodSetCache;\n  }\n  var base = {};\n\n  var isPtr = (typ.kind === $kindPtr);\n  if (isPtr && typ.elem.kind === $kindInterface) {\n    typ.methodSetCache = [];\n    return [];\n  }\n\n  var current = [{typ: isPtr ? typ.elem : typ, indirect: isPtr}];\n\n  var seen = {};\n\n  while (current.length > 0) {\n    var next = [];\n    var mset = [];\n\n    current.forEach(function(e) {\n      if (seen[e.typ.string]) {\n        return;\n      }\n      seen[e.typ.string] = true;\n\n      if (e.typ.named) {\n        mset = mset.concat(e.typ.methods);\n        if (e.indirect) {\n          mset = mset.concat($ptrType(e.typ).methods);\n        }\n      }\n\n      switch (e.typ.kind) {\n      case $kindStruct:\n        e.typ.fields.forEach(function(f) {\n          if (f.embedded) {\n            var fTyp = f.typ;\n            var fIsPtr = (fTyp.kind === $kindPtr);\n            next.push({typ: fIsPtr ? fTyp.elem : fTyp, indirect: e.indirect || fIsPtr});\n          }\n        });\n        break;\n\n      case $kindInterface:\n        mset = mset.concat(e.typ.methods);\n        break;\n      }\n    });\n\n    mset.forEach(function(m) {\n      if (base[m.name] === undefined) {\n        base[m.name] = m;\n      }\n    });\n\n    current = next;\n  }\n\n  typ.methodSetCache = [];\n  Object.keys(base).sort().forEach(function(name) {\n    typ.methodSetCache.push(base[name]);\n  });\n  return typ.methodSetCache;\n};\n\nvar $Bool          = $newType( 1, $kindBool,          \"bool\",           true, \"\", false, null);\nvar $Int           = $newType( 4, $kindInt,           \"int\",            true, \"\", false, null);\nvar $Int8          = $newType( 1, $kindInt8,          \"int8\",           true, \"\", false, null);\nvar $Int16         = $newType( 2, $kindInt16,         \"int16\",          true, \"\", false, null);\nvar $Int32         = $newType( 4, $kindInt32,         \"int32\",          true, \"\", false, null);\nvar $Int64         = $newType( 8, $kindInt64,         \"int64\",          true, \"\", false, null);\nvar $Uint          = $newType( 4, $kindUint,          \"uint\",           true, \"\", false, null);\nvar $Uint8         = $newType( 1, $kindUint8,         \"uint8\",          true, \"\", false, null);\nvar $Uint16        = $newType( 2, $kindUint16,        \"uint16\",         true, \"\", false, null);\nvar $Uint32        = $newType( 4, $kindUint32,        \"uint32\",         true, \"\", false, null);\nvar $Uint64        = $newType( 8, $kindUint64,        \"uint64\",         true, \"\", false, null);\nvar $Uintptr       = $newType( 4, $kindUintptr,       \"uintptr\",        true, \"\", false, null);\nvar $Float32       = $newType( 4, $kindFloat32,       \"float32\",        true, \"\", false, null);\nvar $Float64       = $newType( 8, $kindFloat64,       \"float64\",        true, \"\", false, null);\nvar $Complex64     = $newType( 8, $kindComplex64,     \"complex64\",      true, \"\", false, null);\nvar $Complex128    = $newType(16, $kindComplex128,    \"complex128\",     true, \"\", false, null);\nvar $String        = $newType( 8, $kindString,        \"string\",         true, \"\", false, null);\nvar $UnsafePointer = $newType( 4, $kindUnsafePointer, \"unsafe.Pointer\", true, \"\", false, null);\n\nvar $nativeArray = function(elemKind) {\n  switch (elemKind) {\n  case $kindInt:\n    return Int32Array;\n  case $kindInt8:\n    return Int8Array;\n  case $kindInt16:\n    return Int16Array;\n  case $kindInt32:\n    return Int32Array;\n  case $kindUint:\n    return Uint32Array;\n  case $kindUint8:\n    return Uint8Array;\n  case $kindUint16:\n    return Uint16Array;\n  case $kindUint32:\n    return Uint32Array;\n  case $kindUintptr:\n    return Uint32Array;\n  case $kindFloat32:\n    return Float32Array;\n  case $kindFloat64:\n    return Float64Array;\n  default:\n    return Array;\n  }\n};\nvar $toNativeArray = function(elemKind, array) {\n  var nativeArray = $nativeArray(elemKind);\n  if (nativeArray === Array) {\n    return array;\n  }\n  return new nativeArray(array);\n};\nvar $arrayTypes = {};\nvar $arrayType = function(elem, len) {\n  var typeKey = elem.id + \"$\" + len;\n  var typ = $arrayTypes[typeKey];\n  if (typ === undefined) {\n    typ = $newType(12, $kindArray, \"[\" + len + \"]\" + elem.string, false, \"\", false, null);\n    $arrayTypes[typeKey] = typ;\n    typ.init(elem, len);\n  }\n  return typ;\n};\n\nvar $chanType = function(elem, sendOnly, recvOnly) {\n  var string = (recvOnly ? \"<-\" : \"\") + \"chan\" + (sendOnly ? \"<- \" : \" \") + elem.string;\n  var field = sendOnly ? \"SendChan\" : (recvOnly ? \"RecvChan\" : \"Chan\");\n  var typ = elem[field];\n  if (typ === undefined) {\n    typ = $newType(4, $kindChan, string, false, \"\", false, null);\n    elem[field] = typ;\n    typ.init(elem, sendOnly, recvOnly);\n  }\n  return typ;\n};\nvar $Chan = function(elem, capacity) {\n  if (capacity < 0 || capacity > 2147483647) {\n    $throwRuntimeError(\"makechan: size out of range\");\n  }\n  this.$elem = elem;\n  this.$capacity = capacity;\n  this.$buffer = [];\n  this.$sendQueue = [];\n  this.$recvQueue = [];\n  this.$closed = false;\n};\nvar $chanNil = new $Chan(null, 0);\n$chanNil.$sendQueue = $chanNil.$recvQueue = { length: 0, push: function() {}, shift: function() { return undefined; }, indexOf: function() { return -1; } };\n\nvar $funcTypes = {};\nvar $funcType = function(params, results, variadic) {\n  var typeKey = $mapArray(params, function(p) { return p.id; }).join(\",\") + \"$\" + $mapArray(results, function(r) { return r.id; }).join(\",\") + \"$\" + variadic;\n  var typ = $funcTypes[typeKey];\n  if (typ === undefined) {\n    var paramTypes = $mapArray(params, function(p) { return p.string; });\n    if (variadic) {\n      paramTypes[paramTypes.length - 1] = \"...\" + paramTypes[paramTypes.length - 1].substr(2);\n    }\n    var string = \"func(\" + paramTypes.join(\", \") + \")\";\n    if (results.length === 1) {\n      string += \" \" + results[0].string;\n    } else if (results.length > 1) {\n      string += \" (\" + $mapArray(results, function(r) { return r.string; }).join(\", \") + \")\";\n    }\n    typ = $newType(4, $kindFunc, string, false, \"\", false, null);\n    $funcTypes[typeKey] = typ;\n    typ.init(params, results, variadic);\n  }\n  return typ;\n};\n\nvar $interfaceTypes = {};\nvar $interfaceType = function(methods) {\n  var typeKey = $mapArray(methods, function(m) { return m.pkg + \",\" + m.name + \",\" + m.typ.id; }).join(\"$\");\n  var typ = $interfaceTypes[typeKey];\n  if (typ === undefined) {\n    var string = \"interface {}\";\n    if (methods.length !== 0) {\n      string = \"interface { \" + $mapArray(methods, function(m) {\n        return (m.pkg !== \"\" ? m.pkg + \".\" : \"\") + m.name + m.typ.string.substr(4);\n      }).join(\"; \") + \" }\";\n    }\n    typ = $newType(8, $kindInterface, string, false, \"\", false, null);\n    $interfaceTypes[typeKey] = typ;\n    typ.init(methods);\n  }\n  return typ;\n};\nvar $emptyInterface = $interfaceType([]);\nvar $ifaceNil = {};\nvar $error = $newType(8, $kindInterface, \"error\", true, \"\", false, null);\n$error.init([{prop: \"Error\", name: \"Error\", pkg: \"\", typ: $funcType([], [$String], false)}]);\n\nvar $mapTypes = {};\nvar $mapType = function(key, elem) {\n  var typeKey = key.id + \"$\" + elem.id;\n  var typ = $mapTypes[typeKey];\n  if (typ === undefined) {\n    typ = $newType(4, $kindMap, \"map[\" + key.string + \"]\" + elem.string, false, \"\", false, null);\n    $mapTypes[typeKey] = typ;\n    typ.init(key, elem);\n  }\n  return typ;\n};\nvar $makeMap = function(keyForFunc, entries) {\n  var m = {};\n  for (var i = 0; i < entries.length; i++) {\n    var e = entries[i];\n    m[keyForFunc(e.k)] = e;\n  }\n  return m;\n};\n\nvar $ptrType = function(elem) {\n  var typ = elem.ptr;\n  if (typ === undefined) {\n    typ = $newType(4, $kindPtr, \"*\" + elem.string, false, \"\", elem.exported, null);\n    elem.ptr = typ;\n    typ.init(elem);\n  }\n  return typ;\n};\n\nvar $newDataPointer = function(data, constructor) {\n  if (constructor.elem.kind === $kindStruct) {\n    return data;\n  }\n  return new constructor(function() { return data; }, function(v) { data = v; });\n};\n\nvar $indexPtr = function(array, index, constructor) {\n  array.$ptr = array.$ptr || {};\n  return array.$ptr[index] || (array.$ptr[index] = new constructor(function() { return array[index]; }, function(v) { array[index] = v; }));\n};\n\nvar $sliceType = function(elem) {\n  var typ = elem.slice;\n  if (typ === undefined) {\n    typ = $newType(12, $kindSlice, \"[]\" + elem.string, false, \"\", false, null);\n    elem.slice = typ;\n    typ.init(elem);\n  }\n  return typ;\n};\nvar $makeSlice = function(typ, length, capacity) {\n  capacity = capacity || length;\n  if (length < 0 || length > 2147483647) {\n    $throwRuntimeError(\"makeslice: len out of range\");\n  }\n  if (capacity < 0 || capacity < length || capacity > 2147483647) {\n    $throwRuntimeError(\"makeslice: cap out of range\");\n  }\n  var array = new typ.nativeArray(capacity);\n  if (typ.nativeArray === Array) {\n    for (var i = 0; i < capacity; i++) {\n      array[i] = typ.elem.zero();\n    }\n  }\n  var slice = new typ(array);\n  slice.$length = length;\n  return slice;\n};\n\nvar $structTypes = {};\nvar $structType = function(pkgPath, fields) {\n  var typeKey = $mapArray(fields, function(f) { return f.name + \",\" + f.typ.id + \",\" + f.tag; }).join(\"$\");\n  var typ = $structTypes[typeKey];\n  if (typ === undefined) {\n    var string = \"struct { \" + $mapArray(fields, function(f) {\n      return f.name + \" \" + f.typ.string + (f.tag !== \"\" ? (\" \\\"\" + f.tag.replace(/\\\\/g, \"\\\\\\\\\").replace(/\"/g, \"\\\\\\\"\") + \"\\\"\") : \"\");\n    }).join(\"; \") + \" }\";\n    if (fields.length === 0) {\n      string = \"struct {}\";\n    }\n    typ = $newType(0, $kindStruct, string, false, \"\", false, function() {\n      this.$val = this;\n      for (var i = 0; i < fields.length; i++) {\n        var f = fields[i];\n        var arg = arguments[i];\n        this[f.prop] = arg !== undefined ? arg : f.typ.zero();\n      }\n    });\n    $structTypes[typeKey] = typ;\n    typ.init(pkgPath, fields);\n  }\n  return typ;\n};\n\nvar $assertType = function(value, type, returnTuple) {\n  var isInterface = (type.kind === $kindInterface), ok, missingMethod = \"\";\n  if (value === $ifaceNil) {\n    ok = false;\n  } else if (!isInterface) {\n    ok = value.constructor === type;\n  } else {\n    var valueTypeString = value.constructor.string;\n    ok = type.implementedBy[valueTypeString];\n    if (ok === undefined) {\n      ok = true;\n      var valueMethodSet = $methodSet(value.constructor);\n      var interfaceMethods = type.methods;\n      for (var i = 0; i < interfaceMethods.length; i++) {\n        var tm = interfaceMethods[i];\n        var found = false;\n        for (var j = 0; j < valueMethodSet.length; j++) {\n          var vm = valueMethodSet[j];\n          if (vm.name === tm.name && vm.pkg === tm.pkg && vm.typ === tm.typ) {\n            found = true;\n            break;\n          }\n        }\n        if (!found) {\n          ok = false;\n          type.missingMethodFor[valueTypeString] = tm.name;\n          break;\n        }\n      }\n      type.implementedBy[valueTypeString] = ok;\n    }\n    if (!ok) {\n      missingMethod = type.missingMethodFor[valueTypeString];\n    }\n  }\n\n  if (!ok) {\n    if (returnTuple) {\n      return [type.zero(), false];\n    }\n    $panic(new $packages[\"runtime\"].TypeAssertionError.ptr(\n      $packages[\"runtime\"]._type.ptr.nil,\n      (value === $ifaceNil ? $packages[\"runtime\"]._type.ptr.nil : new $packages[\"runtime\"]._type.ptr(value.constructor.string)),\n      new $packages[\"runtime\"]._type.ptr(type.string),\n      missingMethod));\n  }\n\n  if (!isInterface) {\n    value = value.$val;\n  }\n  if (type === $jsObjectPtr) {\n    value = value.object;\n  }\n  return returnTuple ? [value, true] : value;\n};\n\nvar $stackDepthOffset = 0;\nvar $getStackDepth = function() {\n  var err = new Error();\n  if (err.stack === undefined) {\n    return undefined;\n  }\n  return $stackDepthOffset + err.stack.split(\"\\n\").length;\n};\n\nvar $panicStackDepth = null, $panicValue;\nvar $callDeferred = function(deferred, jsErr, fromPanic) {\n  if (!fromPanic && deferred !== null && deferred.index >= $curGoroutine.deferStack.length) {\n    throw jsErr;\n  }\n  if (jsErr !== null) {\n    var newErr = null;\n    try {\n      $curGoroutine.deferStack.push(deferred);\n      $panic(new $jsErrorPtr(jsErr));\n    } catch (err) {\n      newErr = err;\n    }\n    $curGoroutine.deferStack.pop();\n    $callDeferred(deferred, newErr);\n    return;\n  }\n  if ($curGoroutine.asleep) {\n    return;\n  }\n\n  $stackDepthOffset--;\n  var outerPanicStackDepth = $panicStackDepth;\n  var outerPanicValue = $panicValue;\n\n  var localPanicValue = $curGoroutine.panicStack.pop();\n  if (localPanicValue !== undefined) {\n    $panicStackDepth = $getStackDepth();\n    $panicValue = localPanicValue;\n  }\n\n  try {\n    while (true) {\n      if (deferred === null) {\n        deferred = $curGoroutine.deferStack[$curGoroutine.deferStack.length - 1];\n        if (deferred === undefined) {\n          /* The panic reached the top of the stack. Clear it and throw it as a JavaScript error. */\n          $panicStackDepth = null;\n          if (localPanicValue.Object instanceof Error) {\n            throw localPanicValue.Object;\n          }\n          var msg;\n          if (localPanicValue.constructor === $String) {\n            msg = localPanicValue.$val;\n          } else if (localPanicValue.Error !== undefined) {\n            msg = localPanicValue.Error();\n          } else if (localPanicValue.String !== undefined) {\n            msg = localPanicValue.String();\n          } else {\n            msg = localPanicValue;\n          }\n          throw new Error(msg);\n        }\n      }\n      var call = deferred.pop();\n      if (call === undefined) {\n        $curGoroutine.deferStack.pop();\n        if (localPanicValue !== undefined) {\n          deferred = null;\n          continue;\n        }\n        return;\n      }\n      var r = call[0].apply(call[2], call[1]);\n      if (r && r.$blk !== undefined) {\n        deferred.push([r.$blk, [], r]);\n        if (fromPanic) {\n          throw null;\n        }\n        return;\n      }\n\n      if (localPanicValue !== undefined && $panicStackDepth === null) {\n        throw null; /* error was recovered */\n      }\n    }\n  } finally {\n    if (localPanicValue !== undefined) {\n      if ($panicStackDepth !== null) {\n        $curGoroutine.panicStack.push(localPanicValue);\n      }\n      $panicStackDepth = outerPanicStackDepth;\n      $panicValue = outerPanicValue;\n    }\n    $stackDepthOffset++;\n  }\n};\n\nvar $panic = function(value) {\n  $curGoroutine.panicStack.push(value);\n  $callDeferred(null, null, true);\n};\nvar $recover = function() {\n  if ($panicStackDepth === null || ($panicStackDepth !== undefined && $panicStackDepth !== $getStackDepth() - 2)) {\n    return $ifaceNil;\n  }\n  $panicStackDepth = null;\n  return $panicValue;\n};\nvar $throw = function(err) { throw err; };\n\nvar $noGoroutine = { asleep: false, exit: false, deferStack: [], panicStack: [] };\nvar $curGoroutine = $noGoroutine, $totalGoroutines = 0, $awakeGoroutines = 0, $checkForDeadlock = true;\nvar $mainFinished = false;\nvar $go = function(fun, args) {\n  $totalGoroutines++;\n  $awakeGoroutines++;\n  var $goroutine = function() {\n    try {\n      $curGoroutine = $goroutine;\n      var r = fun.apply(undefined, args);\n      if (r && r.$blk !== undefined) {\n        fun = function() { return r.$blk(); };\n        args = [];\n        return;\n      }\n      $goroutine.exit = true;\n    } catch (err) {\n      if (!$goroutine.exit) {\n        throw err;\n      }\n    } finally {\n      $curGoroutine = $noGoroutine;\n      if ($goroutine.exit) { /* also set by runtime.Goexit() */\n        $totalGoroutines--;\n        $goroutine.asleep = true;\n      }\n      if ($goroutine.asleep) {\n        $awakeGoroutines--;\n        if (!$mainFinished && $awakeGoroutines === 0 && $checkForDeadlock) {\n          console.error(\"fatal error: all goroutines are asleep - deadlock!\");\n          if ($global.process !== undefined) {\n            $global.process.exit(2);\n          }\n        }\n      }\n    }\n  };\n  $goroutine.asleep = false;\n  $goroutine.exit = false;\n  $goroutine.deferStack = [];\n  $goroutine.panicStack = [];\n  $schedule($goroutine);\n};\n\nvar $scheduled = [];\nvar $runScheduled = function() {\n  try {\n    var r;\n    while ((r = $scheduled.shift()) !== undefined) {\n      r();\n    }\n  } finally {\n    if ($scheduled.length > 0) {\n      setTimeout($runScheduled, 0);\n    }\n  }\n};\n\nvar $schedule = function(goroutine) {\n  if (goroutine.asleep) {\n    goroutine.asleep = false;\n    $awakeGoroutines++;\n  }\n  $scheduled.push(goroutine);\n  if ($curGoroutine === $noGoroutine) {\n    $runScheduled();\n  }\n};\n\nvar $setTimeout = function(f, t) {\n  $awakeGoroutines++;\n  return setTimeout(function() {\n    $awakeGoroutines--;\n    f();\n  }, t);\n};\n\nvar $block = function() {\n  if ($curGoroutine === $noGoroutine) {\n    $throwRuntimeError(\"cannot block in JavaScript callback, fix by wrapping code in goroutine\");\n  }\n  $curGoroutine.asleep = true;\n};\n\nvar $send = function(chan, value) {\n  if (chan.$closed) {\n    $throwRuntimeError(\"send on closed channel\");\n  }\n  var queuedRecv = chan.$recvQueue.shift();\n  if (queuedRecv !== undefined) {\n    queuedRecv([value, true]);\n    return;\n  }\n  if (chan.$buffer.length < chan.$capacity) {\n    chan.$buffer.push(value);\n    return;\n  }\n\n  var thisGoroutine = $curGoroutine;\n  var closedDuringSend;\n  chan.$sendQueue.push(function(closed) {\n    closedDuringSend = closed;\n    $schedule(thisGoroutine);\n    return value;\n  });\n  $block();\n  return {\n    $blk: function() {\n      if (closedDuringSend) {\n        $throwRuntimeError(\"send on closed channel\");\n      }\n    }\n  };\n};\nvar $recv = function(chan) {\n  var queuedSend = chan.$sendQueue.shift();\n  if (queuedSend !== undefined) {\n    chan.$buffer.push(queuedSend(false));\n  }\n  var bufferedValue = chan.$buffer.shift();\n  if (bufferedValue !== undefined) {\n    return [bufferedValue, true];\n  }\n  if (chan.$closed) {\n    return [chan.$elem.zero(), false];\n  }\n\n  var thisGoroutine = $curGoroutine;\n  var f = { $blk: function() { return this.value; } };\n  var queueEntry = function(v) {\n    f.value = v;\n    $schedule(thisGoroutine);\n  };\n  chan.$recvQueue.push(queueEntry);\n  $block();\n  return f;\n};\nvar $close = function(chan) {\n  if (chan.$closed) {\n    $throwRuntimeError(\"close of closed channel\");\n  }\n  chan.$closed = true;\n  while (true) {\n    var queuedSend = chan.$sendQueue.shift();\n    if (queuedSend === undefined) {\n      break;\n    }\n    queuedSend(true); /* will panic */\n  }\n  while (true) {\n    var queuedRecv = chan.$recvQueue.shift();\n    if (queuedRecv === undefined) {\n      break;\n    }\n    queuedRecv([chan.$elem.zero(), false]);\n  }\n};\nvar $select = function(comms) {\n  var ready = [];\n  var selection = -1;\n  for (var i = 0; i < comms.length; i++) {\n    var comm = comms[i];\n    var chan = comm[0];\n    switch (comm.length) {\n    case 0: /* default */\n      selection = i;\n      break;\n    case 1: /* recv */\n      if (chan.$sendQueue.length !== 0 || chan.$buffer.length !== 0 || chan.$closed) {\n        ready.push(i);\n      }\n      break;\n    case 2: /* send */\n      if (chan.$closed) {\n        $throwRuntimeError(\"send on closed channel\");\n      }\n      if (chan.$recvQueue.length !== 0 || chan.$buffer.length < chan.$capacity) {\n        ready.push(i);\n      }\n      break;\n    }\n  }\n\n  if (ready.length !== 0) {\n    selection = ready[Math.floor(Math.random() * ready.length)];\n  }\n  if (selection !== -1) {\n    var comm = comms[selection];\n    switch (comm.length) {\n    case 0: /* default */\n      return [selection];\n    case 1: /* recv */\n      return [selection, $recv(comm[0])];\n    case 2: /* send */\n      $send(comm[0], comm[1]);\n      return [selection];\n    }\n  }\n\n  var entries = [];\n  var thisGoroutine = $curGoroutine;\n  var f = { $blk: function() { return this.selection; } };\n  var removeFromQueues = function() {\n    for (var i = 0; i < entries.length; i++) {\n      var entry = entries[i];\n      var queue = entry[0];\n      var index = queue.indexOf(entry[1]);\n      if (index !== -1) {\n        queue.splice(index, 1);\n      }\n    }\n  };\n  for (var i = 0; i < comms.length; i++) {\n    (function(i) {\n      var comm = comms[i];\n      switch (comm.length) {\n      case 1: /* recv */\n        var queueEntry = function(value) {\n          f.selection = [i, value];\n          removeFromQueues();\n          $schedule(thisGoroutine);\n        };\n        entries.push([comm[0].$recvQueue, queueEntry]);\n        comm[0].$recvQueue.push(queueEntry);\n        break;\n      case 2: /* send */\n        var queueEntry = function() {\n          if (comm[0].$closed) {\n            $throwRuntimeError(\"send on closed channel\");\n          }\n          f.selection = [i];\n          removeFromQueues();\n          $schedule(thisGoroutine);\n          return comm[1];\n        };\n        entries.push([comm[0].$sendQueue, queueEntry]);\n        comm[0].$sendQueue.push(queueEntry);\n        break;\n      }\n    })(i);\n  }\n  $block();\n  return f;\n};\n\nvar $jsObjectPtr, $jsErrorPtr;\n\nvar $needsExternalization = function(t) {\n  switch (t.kind) {\n    case $kindBool:\n    case $kindInt:\n    case $kindInt8:\n    case $kindInt16:\n    case $kindInt32:\n    case $kindUint:\n    case $kindUint8:\n    case $kindUint16:\n    case $kindUint32:\n    case $kindUintptr:\n    case $kindFloat32:\n    case $kindFloat64:\n      return false;\n    default:\n      return t !== $jsObjectPtr;\n  }\n};\n\nvar $externalize = function(v, t) {\n  if (t === $jsObjectPtr) {\n    return v;\n  }\n  switch (t.kind) {\n  case $kindBool:\n  case $kindInt:\n  case $kindInt8:\n  case $kindInt16:\n  case $kindInt32:\n  case $kindUint:\n  case $kindUint8:\n  case $kindUint16:\n  case $kindUint32:\n  case $kindUintptr:\n  case $kindFloat32:\n  case $kindFloat64:\n    return v;\n  case $kindInt64:\n  case $kindUint64:\n    return $flatten64(v);\n  case $kindArray:\n    if ($needsExternalization(t.elem)) {\n      return $mapArray(v, function(e) { return $externalize(e, t.elem); });\n    }\n    return v;\n  case $kindFunc:\n    return $externalizeFunction(v, t, false);\n  case $kindInterface:\n    if (v === $ifaceNil) {\n      return null;\n    }\n    if (v.constructor === $jsObjectPtr) {\n      return v.$val.object;\n    }\n    return $externalize(v.$val, v.constructor);\n  case $kindMap:\n    var m = {};\n    var keys = $keys(v);\n    for (var i = 0; i < keys.length; i++) {\n      var entry = v[keys[i]];\n      m[$externalize(entry.k, t.key)] = $externalize(entry.v, t.elem);\n    }\n    return m;\n  case $kindPtr:\n    if (v === t.nil) {\n      return null;\n    }\n    return $externalize(v.$get(), t.elem);\n  case $kindSlice:\n    if ($needsExternalization(t.elem)) {\n      return $mapArray($sliceToArray(v), function(e) { return $externalize(e, t.elem); });\n    }\n    return $sliceToArray(v);\n  case $kindString:\n    if ($isASCII(v)) {\n      return v;\n    }\n    var s = \"\", r;\n    for (var i = 0; i < v.length; i += r[1]) {\n      r = $decodeRune(v, i);\n      var c = r[0];\n      if (c > 0xFFFF) {\n        var h = Math.floor((c - 0x10000) / 0x400) + 0xD800;\n        var l = (c - 0x10000) % 0x400 + 0xDC00;\n        s += String.fromCharCode(h, l);\n        continue;\n      }\n      s += String.fromCharCode(c);\n    }\n    return s;\n  case $kindStruct:\n    var timePkg = $packages[\"time\"];\n    if (timePkg !== undefined && v.constructor === timePkg.Time.ptr) {\n      var milli = $div64(v.UnixNano(), new $Int64(0, 1000000));\n      return new Date($flatten64(milli));\n    }\n\n    var noJsObject = {};\n    var searchJsObject = function(v, t) {\n      if (t === $jsObjectPtr) {\n        return v;\n      }\n      switch (t.kind) {\n      case $kindPtr:\n        if (v === t.nil) {\n          return noJsObject;\n        }\n        return searchJsObject(v.$get(), t.elem);\n      case $kindStruct:\n        var f = t.fields[0];\n        return searchJsObject(v[f.prop], f.typ);\n      case $kindInterface:\n        return searchJsObject(v.$val, v.constructor);\n      default:\n        return noJsObject;\n      }\n    };\n    var o = searchJsObject(v, t);\n    if (o !== noJsObject) {\n      return o;\n    }\n\n    o = {};\n    for (var i = 0; i < t.fields.length; i++) {\n      var f = t.fields[i];\n      if (!f.exported) {\n        continue;\n      }\n      o[f.name] = $externalize(v[f.prop], f.typ);\n    }\n    return o;\n  }\n  $throwRuntimeError(\"cannot externalize \" + t.string);\n};\n\nvar $externalizeFunction = function(v, t, passThis) {\n  if (v === $throwNilPointerError) {\n    return null;\n  }\n  if (v.$externalizeWrapper === undefined) {\n    $checkForDeadlock = false;\n    v.$externalizeWrapper = function() {\n      var args = [];\n      for (var i = 0; i < t.params.length; i++) {\n        if (t.variadic && i === t.params.length - 1) {\n          var vt = t.params[i].elem, varargs = [];\n          for (var j = i; j < arguments.length; j++) {\n            varargs.push($internalize(arguments[j], vt));\n          }\n          args.push(new (t.params[i])(varargs));\n          break;\n        }\n        args.push($internalize(arguments[i], t.params[i]));\n      }\n      var result = v.apply(passThis ? this : undefined, args);\n      switch (t.results.length) {\n      case 0:\n        return;\n      case 1:\n        return $externalize(result, t.results[0]);\n      default:\n        for (var i = 0; i < t.results.length; i++) {\n          result[i] = $externalize(result[i], t.results[i]);\n        }\n        return result;\n      }\n    };\n  }\n  return v.$externalizeWrapper;\n};\n\nvar $internalize = function(v, t, recv) {\n  if (t === $jsObjectPtr) {\n    return v;\n  }\n  if (t === $jsObjectPtr.elem) {\n    $throwRuntimeError(\"cannot internalize js.Object, use *js.Object instead\");\n  }\n  if (v && v.__internal_object__ !== undefined) {\n    return $assertType(v.__internal_object__, t, false);\n  }\n  var timePkg = $packages[\"time\"];\n  if (timePkg !== undefined && t === timePkg.Time) {\n    if (!(v !== null && v !== undefined && v.constructor === Date)) {\n      $throwRuntimeError(\"cannot internalize time.Time from \" + typeof v + \", must be Date\");\n    }\n    return timePkg.Unix(new $Int64(0, 0), new $Int64(0, v.getTime() * 1000000));\n  }\n  switch (t.kind) {\n  case $kindBool:\n    return !!v;\n  case $kindInt:\n    return parseInt(v);\n  case $kindInt8:\n    return parseInt(v) << 24 >> 24;\n  case $kindInt16:\n    return parseInt(v) << 16 >> 16;\n  case $kindInt32:\n    return parseInt(v) >> 0;\n  case $kindUint:\n    return parseInt(v);\n  case $kindUint8:\n    return parseInt(v) << 24 >>> 24;\n  case $kindUint16:\n    return parseInt(v) << 16 >>> 16;\n  case $kindUint32:\n  case $kindUintptr:\n    return parseInt(v) >>> 0;\n  case $kindInt64:\n  case $kindUint64:\n    return new t(0, v);\n  case $kindFloat32:\n  case $kindFloat64:\n    return parseFloat(v);\n  case $kindArray:\n    if (v.length !== t.len) {\n      $throwRuntimeError(\"got array with wrong size from JavaScript native\");\n    }\n    return $mapArray(v, function(e) { return $internalize(e, t.elem); });\n  case $kindFunc:\n    return function() {\n      var args = [];\n      for (var i = 0; i < t.params.length; i++) {\n        if (t.variadic && i === t.params.length - 1) {\n          var vt = t.params[i].elem, varargs = arguments[i];\n          for (var j = 0; j < varargs.$length; j++) {\n            args.push($externalize(varargs.$array[varargs.$offset + j], vt));\n          }\n          break;\n        }\n        args.push($externalize(arguments[i], t.params[i]));\n      }\n      var result = v.apply(recv, args);\n      switch (t.results.length) {\n      case 0:\n        return;\n      case 1:\n        return $internalize(result, t.results[0]);\n      default:\n        for (var i = 0; i < t.results.length; i++) {\n          result[i] = $internalize(result[i], t.results[i]);\n        }\n        return result;\n      }\n    };\n  case $kindInterface:\n    if (t.methods.length !== 0) {\n      $throwRuntimeError(\"cannot internalize \" + t.string);\n    }\n    if (v === null) {\n      return $ifaceNil;\n    }\n    if (v === undefined) {\n      return new $jsObjectPtr(undefined);\n    }\n    switch (v.constructor) {\n    case Int8Array:\n      return new ($sliceType($Int8))(v);\n    case Int16Array:\n      return new ($sliceType($Int16))(v);\n    case Int32Array:\n      return new ($sliceType($Int))(v);\n    case Uint8Array:\n      return new ($sliceType($Uint8))(v);\n    case Uint16Array:\n      return new ($sliceType($Uint16))(v);\n    case Uint32Array:\n      return new ($sliceType($Uint))(v);\n    case Float32Array:\n      return new ($sliceType($Float32))(v);\n    case Float64Array:\n      return new ($sliceType($Float64))(v);\n    case Array:\n      return $internalize(v, $sliceType($emptyInterface));\n    case Boolean:\n      return new $Bool(!!v);\n    case Date:\n      if (timePkg === undefined) {\n        /* time package is not present, internalize as &js.Object{Date} so it can be externalized into original Date. */\n        return new $jsObjectPtr(v);\n      }\n      return new timePkg.Time($internalize(v, timePkg.Time));\n    case Function:\n      var funcType = $funcType([$sliceType($emptyInterface)], [$jsObjectPtr], true);\n      return new funcType($internalize(v, funcType));\n    case Number:\n      return new $Float64(parseFloat(v));\n    case String:\n      return new $String($internalize(v, $String));\n    default:\n      if ($global.Node && v instanceof $global.Node) {\n        return new $jsObjectPtr(v);\n      }\n      var mapType = $mapType($String, $emptyInterface);\n      return new mapType($internalize(v, mapType));\n    }\n  case $kindMap:\n    var m = {};\n    var keys = $keys(v);\n    for (var i = 0; i < keys.length; i++) {\n      var k = $internalize(keys[i], t.key);\n      m[t.key.keyFor(k)] = { k: k, v: $internalize(v[keys[i]], t.elem) };\n    }\n    return m;\n  case $kindPtr:\n    if (t.elem.kind === $kindStruct) {\n      return $internalize(v, t.elem);\n    }\n  case $kindSlice:\n    return new t($mapArray(v, function(e) { return $internalize(e, t.elem); }));\n  case $kindString:\n    v = String(v);\n    if ($isASCII(v)) {\n      return v;\n    }\n    var s = \"\";\n    var i = 0;\n    while (i < v.length) {\n      var h = v.charCodeAt(i);\n      if (0xD800 <= h && h <= 0xDBFF) {\n        var l = v.charCodeAt(i + 1);\n        var c = (h - 0xD800) * 0x400 + l - 0xDC00 + 0x10000;\n        s += $encodeRune(c);\n        i += 2;\n        continue;\n      }\n      s += $encodeRune(h);\n      i++;\n    }\n    return s;\n  case $kindStruct:\n    var noJsObject = {};\n    var searchJsObject = function(t) {\n      if (t === $jsObjectPtr) {\n        return v;\n      }\n      if (t === $jsObjectPtr.elem) {\n        $throwRuntimeError(\"cannot internalize js.Object, use *js.Object instead\");\n      }\n      switch (t.kind) {\n      case $kindPtr:\n        return searchJsObject(t.elem);\n      case $kindStruct:\n        var f = t.fields[0];\n        var o = searchJsObject(f.typ);\n        if (o !== noJsObject) {\n          var n = new t.ptr();\n          n[f.prop] = o;\n          return n;\n        }\n        return noJsObject;\n      default:\n        return noJsObject;\n      }\n    };\n    var o = searchJsObject(t);\n    if (o !== noJsObject) {\n      return o;\n    }\n  }\n  $throwRuntimeError(\"cannot internalize \" + t.string);\n};\n\n/* $isASCII reports whether string s contains only ASCII characters. */\nvar $isASCII = function(s) {\n  for (var i = 0; i < s.length; i++) {\n    if (s.charCodeAt(i) >= 128) {\n      return false;\n    }\n  }\n  return true;\n};\n\n$packages[\"github.com/gopherjs/gopherjs/js\"] = (function() {\n\tvar $pkg = {}, $init, Object, Error, sliceType, ptrType, ptrType$1, MakeFunc, init;\n\tObject = $pkg.Object = $newType(0, $kindStruct, \"js.Object\", true, \"github.com/gopherjs/gopherjs/js\", true, function(object_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.object = null;\n\t\t\treturn;\n\t\t}\n\t\tthis.object = object_;\n\t});\n\tError = $pkg.Error = $newType(0, $kindStruct, \"js.Error\", true, \"github.com/gopherjs/gopherjs/js\", true, function(Object_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Object = null;\n\t\t\treturn;\n\t\t}\n\t\tthis.Object = Object_;\n\t});\n\tsliceType = $sliceType($emptyInterface);\n\tptrType = $ptrType(Object);\n\tptrType$1 = $ptrType(Error);\n\tObject.ptr.prototype.Get = function(key) {\n\t\tvar key, o;\n\t\to = this;\n\t\treturn o.object[$externalize(key, $String)];\n\t};\n\tObject.prototype.Get = function(key) { return this.$val.Get(key); };\n\tObject.ptr.prototype.Set = function(key, value) {\n\t\tvar key, o, value;\n\t\to = this;\n\t\to.object[$externalize(key, $String)] = $externalize(value, $emptyInterface);\n\t};\n\tObject.prototype.Set = function(key, value) { return this.$val.Set(key, value); };\n\tObject.ptr.prototype.Delete = function(key) {\n\t\tvar key, o;\n\t\to = this;\n\t\tdelete o.object[$externalize(key, $String)];\n\t};\n\tObject.prototype.Delete = function(key) { return this.$val.Delete(key); };\n\tObject.ptr.prototype.Length = function() {\n\t\tvar o;\n\t\to = this;\n\t\treturn $parseInt(o.object.length);\n\t};\n\tObject.prototype.Length = function() { return this.$val.Length(); };\n\tObject.ptr.prototype.Index = function(i) {\n\t\tvar i, o;\n\t\to = this;\n\t\treturn o.object[i];\n\t};\n\tObject.prototype.Index = function(i) { return this.$val.Index(i); };\n\tObject.ptr.prototype.SetIndex = function(i, value) {\n\t\tvar i, o, value;\n\t\to = this;\n\t\to.object[i] = $externalize(value, $emptyInterface);\n\t};\n\tObject.prototype.SetIndex = function(i, value) { return this.$val.SetIndex(i, value); };\n\tObject.ptr.prototype.Call = function(name, args) {\n\t\tvar args, name, o, obj;\n\t\to = this;\n\t\treturn (obj = o.object, obj[$externalize(name, $String)].apply(obj, $externalize(args, sliceType)));\n\t};\n\tObject.prototype.Call = function(name, args) { return this.$val.Call(name, args); };\n\tObject.ptr.prototype.Invoke = function(args) {\n\t\tvar args, o;\n\t\to = this;\n\t\treturn o.object.apply(undefined, $externalize(args, sliceType));\n\t};\n\tObject.prototype.Invoke = function(args) { return this.$val.Invoke(args); };\n\tObject.ptr.prototype.New = function(args) {\n\t\tvar args, o;\n\t\to = this;\n\t\treturn new ($global.Function.prototype.bind.apply(o.object, [undefined].concat($externalize(args, sliceType))));\n\t};\n\tObject.prototype.New = function(args) { return this.$val.New(args); };\n\tObject.ptr.prototype.Bool = function() {\n\t\tvar o;\n\t\to = this;\n\t\treturn !!(o.object);\n\t};\n\tObject.prototype.Bool = function() { return this.$val.Bool(); };\n\tObject.ptr.prototype.String = function() {\n\t\tvar o;\n\t\to = this;\n\t\treturn $internalize(o.object, $String);\n\t};\n\tObject.prototype.String = function() { return this.$val.String(); };\n\tObject.ptr.prototype.Int = function() {\n\t\tvar o;\n\t\to = this;\n\t\treturn $parseInt(o.object) >> 0;\n\t};\n\tObject.prototype.Int = function() { return this.$val.Int(); };\n\tObject.ptr.prototype.Int64 = function() {\n\t\tvar o;\n\t\to = this;\n\t\treturn $internalize(o.object, $Int64);\n\t};\n\tObject.prototype.Int64 = function() { return this.$val.Int64(); };\n\tObject.ptr.prototype.Uint64 = function() {\n\t\tvar o;\n\t\to = this;\n\t\treturn $internalize(o.object, $Uint64);\n\t};\n\tObject.prototype.Uint64 = function() { return this.$val.Uint64(); };\n\tObject.ptr.prototype.Float = function() {\n\t\tvar o;\n\t\to = this;\n\t\treturn $parseFloat(o.object);\n\t};\n\tObject.prototype.Float = function() { return this.$val.Float(); };\n\tObject.ptr.prototype.Interface = function() {\n\t\tvar o;\n\t\to = this;\n\t\treturn $internalize(o.object, $emptyInterface);\n\t};\n\tObject.prototype.Interface = function() { return this.$val.Interface(); };\n\tObject.ptr.prototype.Unsafe = function() {\n\t\tvar o;\n\t\to = this;\n\t\treturn o.object;\n\t};\n\tObject.prototype.Unsafe = function() { return this.$val.Unsafe(); };\n\tError.ptr.prototype.Error = function() {\n\t\tvar err;\n\t\terr = this;\n\t\treturn \"JavaScript error: \" + $internalize(err.Object.message, $String);\n\t};\n\tError.prototype.Error = function() { return this.$val.Error(); };\n\tError.ptr.prototype.Stack = function() {\n\t\tvar err;\n\t\terr = this;\n\t\treturn $internalize(err.Object.stack, $String);\n\t};\n\tError.prototype.Stack = function() { return this.$val.Stack(); };\n\tMakeFunc = function(fn) {\n\t\tvar fn;\n\t\treturn $makeFunc(fn);\n\t};\n\t$pkg.MakeFunc = MakeFunc;\n\tinit = function() {\n\t\tvar e;\n\t\te = new Error.ptr(null);\n\t\t$unused(e);\n\t};\n\tptrType.methods = [{prop: \"Get\", name: \"Get\", pkg: \"\", typ: $funcType([$String], [ptrType], false)}, {prop: \"Set\", name: \"Set\", pkg: \"\", typ: $funcType([$String, $emptyInterface], [], false)}, {prop: \"Delete\", name: \"Delete\", pkg: \"\", typ: $funcType([$String], [], false)}, {prop: \"Length\", name: \"Length\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Index\", name: \"Index\", pkg: \"\", typ: $funcType([$Int], [ptrType], false)}, {prop: \"SetIndex\", name: \"SetIndex\", pkg: \"\", typ: $funcType([$Int, $emptyInterface], [], false)}, {prop: \"Call\", name: \"Call\", pkg: \"\", typ: $funcType([$String, sliceType], [ptrType], true)}, {prop: \"Invoke\", name: \"Invoke\", pkg: \"\", typ: $funcType([sliceType], [ptrType], true)}, {prop: \"New\", name: \"New\", pkg: \"\", typ: $funcType([sliceType], [ptrType], true)}, {prop: \"Bool\", name: \"Bool\", pkg: \"\", typ: $funcType([], [$Bool], false)}, {prop: \"String\", name: \"String\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"Int\", name: \"Int\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Int64\", name: \"Int64\", pkg: \"\", typ: $funcType([], [$Int64], false)}, {prop: \"Uint64\", name: \"Uint64\", pkg: \"\", typ: $funcType([], [$Uint64], false)}, {prop: \"Float\", name: \"Float\", pkg: \"\", typ: $funcType([], [$Float64], false)}, {prop: \"Interface\", name: \"Interface\", pkg: \"\", typ: $funcType([], [$emptyInterface], false)}, {prop: \"Unsafe\", name: \"Unsafe\", pkg: \"\", typ: $funcType([], [$Uintptr], false)}];\n\tptrType$1.methods = [{prop: \"Error\", name: \"Error\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"Stack\", name: \"Stack\", pkg: \"\", typ: $funcType([], [$String], false)}];\n\tObject.init(\"github.com/gopherjs/gopherjs/js\", [{prop: \"object\", name: \"object\", embedded: false, exported: false, typ: ptrType, tag: \"\"}]);\n\tError.init(\"\", [{prop: \"Object\", name: \"Object\", embedded: true, exported: true, typ: ptrType, tag: \"\"}]);\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tinit();\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"internal/cpu\"] = (function() {\n\tvar $pkg = {}, $init;\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"internal/bytealg\"] = (function() {\n\tvar $pkg = {}, $init, cpu;\n\tcpu = $packages[\"internal/cpu\"];\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = cpu.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"runtime/internal/sys\"] = (function() {\n\tvar $pkg = {}, $init;\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"runtime\"] = (function() {\n\tvar $pkg = {}, $init, js, bytealg, sys, _type, MemStats, TypeAssertionError, errorString, ptrType, arrayType, structType$1, arrayType$1, ptrType$4, init, GOROOT, GC, Goexit, ReadMemStats, SetFinalizer, Stack, KeepAlive, throw$1;\n\tjs = $packages[\"github.com/gopherjs/gopherjs/js\"];\n\tbytealg = $packages[\"internal/bytealg\"];\n\tsys = $packages[\"runtime/internal/sys\"];\n\t_type = $pkg._type = $newType(0, $kindStruct, \"runtime._type\", true, \"runtime\", false, function(str_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.str = \"\";\n\t\t\treturn;\n\t\t}\n\t\tthis.str = str_;\n\t});\n\tMemStats = $pkg.MemStats = $newType(0, $kindStruct, \"runtime.MemStats\", true, \"runtime\", true, function(Alloc_, TotalAlloc_, Sys_, Lookups_, Mallocs_, Frees_, HeapAlloc_, HeapSys_, HeapIdle_, HeapInuse_, HeapReleased_, HeapObjects_, StackInuse_, StackSys_, MSpanInuse_, MSpanSys_, MCacheInuse_, MCacheSys_, BuckHashSys_, GCSys_, OtherSys_, NextGC_, LastGC_, PauseTotalNs_, PauseNs_, PauseEnd_, NumGC_, GCCPUFraction_, EnableGC_, DebugGC_, BySize_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Alloc = new $Uint64(0, 0);\n\t\t\tthis.TotalAlloc = new $Uint64(0, 0);\n\t\t\tthis.Sys = new $Uint64(0, 0);\n\t\t\tthis.Lookups = new $Uint64(0, 0);\n\t\t\tthis.Mallocs = new $Uint64(0, 0);\n\t\t\tthis.Frees = new $Uint64(0, 0);\n\t\t\tthis.HeapAlloc = new $Uint64(0, 0);\n\t\t\tthis.HeapSys = new $Uint64(0, 0);\n\t\t\tthis.HeapIdle = new $Uint64(0, 0);\n\t\t\tthis.HeapInuse = new $Uint64(0, 0);\n\t\t\tthis.HeapReleased = new $Uint64(0, 0);\n\t\t\tthis.HeapObjects = new $Uint64(0, 0);\n\t\t\tthis.StackInuse = new $Uint64(0, 0);\n\t\t\tthis.StackSys = new $Uint64(0, 0);\n\t\t\tthis.MSpanInuse = new $Uint64(0, 0);\n\t\t\tthis.MSpanSys = new $Uint64(0, 0);\n\t\t\tthis.MCacheInuse = new $Uint64(0, 0);\n\t\t\tthis.MCacheSys = new $Uint64(0, 0);\n\t\t\tthis.BuckHashSys = new $Uint64(0, 0);\n\t\t\tthis.GCSys = new $Uint64(0, 0);\n\t\t\tthis.OtherSys = new $Uint64(0, 0);\n\t\t\tthis.NextGC = new $Uint64(0, 0);\n\t\t\tthis.LastGC = new $Uint64(0, 0);\n\t\t\tthis.PauseTotalNs = new $Uint64(0, 0);\n\t\t\tthis.PauseNs = arrayType.zero();\n\t\t\tthis.PauseEnd = arrayType.zero();\n\t\t\tthis.NumGC = 0;\n\t\t\tthis.GCCPUFraction = 0;\n\t\t\tthis.EnableGC = false;\n\t\t\tthis.DebugGC = false;\n\t\t\tthis.BySize = arrayType$1.zero();\n\t\t\treturn;\n\t\t}\n\t\tthis.Alloc = Alloc_;\n\t\tthis.TotalAlloc = TotalAlloc_;\n\t\tthis.Sys = Sys_;\n\t\tthis.Lookups = Lookups_;\n\t\tthis.Mallocs = Mallocs_;\n\t\tthis.Frees = Frees_;\n\t\tthis.HeapAlloc = HeapAlloc_;\n\t\tthis.HeapSys = HeapSys_;\n\t\tthis.HeapIdle = HeapIdle_;\n\t\tthis.HeapInuse = HeapInuse_;\n\t\tthis.HeapReleased = HeapReleased_;\n\t\tthis.HeapObjects = HeapObjects_;\n\t\tthis.StackInuse = StackInuse_;\n\t\tthis.StackSys = StackSys_;\n\t\tthis.MSpanInuse = MSpanInuse_;\n\t\tthis.MSpanSys = MSpanSys_;\n\t\tthis.MCacheInuse = MCacheInuse_;\n\t\tthis.MCacheSys = MCacheSys_;\n\t\tthis.BuckHashSys = BuckHashSys_;\n\t\tthis.GCSys = GCSys_;\n\t\tthis.OtherSys = OtherSys_;\n\t\tthis.NextGC = NextGC_;\n\t\tthis.LastGC = LastGC_;\n\t\tthis.PauseTotalNs = PauseTotalNs_;\n\t\tthis.PauseNs = PauseNs_;\n\t\tthis.PauseEnd = PauseEnd_;\n\t\tthis.NumGC = NumGC_;\n\t\tthis.GCCPUFraction = GCCPUFraction_;\n\t\tthis.EnableGC = EnableGC_;\n\t\tthis.DebugGC = DebugGC_;\n\t\tthis.BySize = BySize_;\n\t});\n\tTypeAssertionError = $pkg.TypeAssertionError = $newType(0, $kindStruct, \"runtime.TypeAssertionError\", true, \"runtime\", true, function(_interface_, concrete_, asserted_, missingMethod_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis._interface = ptrType.nil;\n\t\t\tthis.concrete = ptrType.nil;\n\t\t\tthis.asserted = ptrType.nil;\n\t\t\tthis.missingMethod = \"\";\n\t\t\treturn;\n\t\t}\n\t\tthis._interface = _interface_;\n\t\tthis.concrete = concrete_;\n\t\tthis.asserted = asserted_;\n\t\tthis.missingMethod = missingMethod_;\n\t});\n\terrorString = $pkg.errorString = $newType(8, $kindString, \"runtime.errorString\", true, \"runtime\", false, null);\n\tptrType = $ptrType(_type);\n\tarrayType = $arrayType($Uint64, 256);\n\tstructType$1 = $structType(\"\", [{prop: \"Size\", name: \"Size\", embedded: false, exported: true, typ: $Uint32, tag: \"\"}, {prop: \"Mallocs\", name: \"Mallocs\", embedded: false, exported: true, typ: $Uint64, tag: \"\"}, {prop: \"Frees\", name: \"Frees\", embedded: false, exported: true, typ: $Uint64, tag: \"\"}]);\n\tarrayType$1 = $arrayType(structType$1, 61);\n\tptrType$4 = $ptrType(TypeAssertionError);\n\t_type.ptr.prototype.string = function() {\n\t\tvar t;\n\t\tt = this;\n\t\treturn t.str;\n\t};\n\t_type.prototype.string = function() { return this.$val.string(); };\n\t_type.ptr.prototype.pkgpath = function() {\n\t\tvar t;\n\t\tt = this;\n\t\treturn \"\";\n\t};\n\t_type.prototype.pkgpath = function() { return this.$val.pkgpath(); };\n\tinit = function() {\n\t\tvar e, jsPkg;\n\t\tjsPkg = $packages[$externalize(\"github.com/gopherjs/gopherjs/js\", $String)];\n\t\t$jsObjectPtr = jsPkg.Object.ptr;\n\t\t$jsErrorPtr = jsPkg.Error.ptr;\n\t\t$throwRuntimeError = throw$1;\n\t\te = $ifaceNil;\n\t\te = new TypeAssertionError.ptr(ptrType.nil, ptrType.nil, ptrType.nil, \"\");\n\t\t$unused(e);\n\t};\n\tGOROOT = function() {\n\t\tvar goroot, process;\n\t\tprocess = $global.process;\n\t\tif (process === undefined) {\n\t\t\treturn \"/\";\n\t\t}\n\t\tgoroot = process.env.GOROOT;\n\t\tif (!(goroot === undefined)) {\n\t\t\treturn $internalize(goroot, $String);\n\t\t}\n\t\treturn \"/usr/local/go\";\n\t};\n\t$pkg.GOROOT = GOROOT;\n\tGC = function() {\n\t};\n\t$pkg.GC = GC;\n\tGoexit = function() {\n\t\t$curGoroutine.exit = $externalize(true, $Bool);\n\t\t$throw(null);\n\t};\n\t$pkg.Goexit = Goexit;\n\tReadMemStats = function(m) {\n\t\tvar m;\n\t};\n\t$pkg.ReadMemStats = ReadMemStats;\n\tSetFinalizer = function(x, f) {\n\t\tvar f, x;\n\t};\n\t$pkg.SetFinalizer = SetFinalizer;\n\tStack = function(buf, all) {\n\t\tvar all, buf, s;\n\t\ts = new ($global.Error)().stack;\n\t\tif (s === undefined) {\n\t\t\treturn 0;\n\t\t}\n\t\treturn $copyString(buf, $internalize(s.substr(($parseInt(s.indexOf($externalize(\"\\n\", $String))) >> 0) + 1 >> 0), $String));\n\t};\n\t$pkg.Stack = Stack;\n\tKeepAlive = function(param) {\n\t\tvar param;\n\t};\n\t$pkg.KeepAlive = KeepAlive;\n\tthrow$1 = function(s) {\n\t\tvar s;\n\t\t$panic(new errorString((s)));\n\t};\n\tTypeAssertionError.ptr.prototype.RuntimeError = function() {\n\t};\n\tTypeAssertionError.prototype.RuntimeError = function() { return this.$val.RuntimeError(); };\n\tTypeAssertionError.ptr.prototype.Error = function() {\n\t\tvar as, cs, e, inter, msg;\n\t\te = this;\n\t\tinter = \"interface\";\n\t\tif (!(e._interface === ptrType.nil)) {\n\t\t\tinter = e._interface.string();\n\t\t}\n\t\tas = e.asserted.string();\n\t\tif (e.concrete === ptrType.nil) {\n\t\t\treturn \"interface conversion: \" + inter + \" is nil, not \" + as;\n\t\t}\n\t\tcs = e.concrete.string();\n\t\tif (e.missingMethod === \"\") {\n\t\t\tmsg = \"interface conversion: \" + inter + \" is \" + cs + \", not \" + as;\n\t\t\tif (cs === as) {\n\t\t\t\tif (!(e.concrete.pkgpath() === e.asserted.pkgpath())) {\n\t\t\t\t\tmsg = msg + (\" (types from different packages)\");\n\t\t\t\t} else {\n\t\t\t\t\tmsg = msg + (\" (types from different scopes)\");\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn msg;\n\t\t}\n\t\treturn \"interface conversion: \" + cs + \" is not \" + as + \": missing method \" + e.missingMethod;\n\t};\n\tTypeAssertionError.prototype.Error = function() { return this.$val.Error(); };\n\terrorString.prototype.RuntimeError = function() {\n\t\tvar e;\n\t\te = this.$val;\n\t};\n\t$ptrType(errorString).prototype.RuntimeError = function() { return new errorString(this.$get()).RuntimeError(); };\n\terrorString.prototype.Error = function() {\n\t\tvar e;\n\t\te = this.$val;\n\t\treturn \"runtime error: \" + (e);\n\t};\n\t$ptrType(errorString).prototype.Error = function() { return new errorString(this.$get()).Error(); };\n\tptrType.methods = [{prop: \"string\", name: \"string\", pkg: \"runtime\", typ: $funcType([], [$String], false)}, {prop: \"pkgpath\", name: \"pkgpath\", pkg: \"runtime\", typ: $funcType([], [$String], false)}];\n\tptrType$4.methods = [{prop: \"RuntimeError\", name: \"RuntimeError\", pkg: \"\", typ: $funcType([], [], false)}, {prop: \"Error\", name: \"Error\", pkg: \"\", typ: $funcType([], [$String], false)}];\n\terrorString.methods = [{prop: \"RuntimeError\", name: \"RuntimeError\", pkg: \"\", typ: $funcType([], [], false)}, {prop: \"Error\", name: \"Error\", pkg: \"\", typ: $funcType([], [$String], false)}];\n\t_type.init(\"runtime\", [{prop: \"str\", name: \"str\", embedded: false, exported: false, typ: $String, tag: \"\"}]);\n\tMemStats.init(\"\", [{prop: \"Alloc\", name: \"Alloc\", embedded: false, exported: true, typ: $Uint64, tag: \"\"}, {prop: \"TotalAlloc\", name: \"TotalAlloc\", embedded: false, exported: true, typ: $Uint64, tag: \"\"}, {prop: \"Sys\", name: \"Sys\", embedded: false, exported: true, typ: $Uint64, tag: \"\"}, {prop: \"Lookups\", name: \"Lookups\", embedded: false, exported: true, typ: $Uint64, tag: \"\"}, {prop: \"Mallocs\", name: \"Mallocs\", embedded: false, exported: true, typ: $Uint64, tag: \"\"}, {prop: \"Frees\", name: \"Frees\", embedded: false, exported: true, typ: $Uint64, tag: \"\"}, {prop: \"HeapAlloc\", name: \"HeapAlloc\", embedded: false, exported: true, typ: $Uint64, tag: \"\"}, {prop: \"HeapSys\", name: \"HeapSys\", embedded: false, exported: true, typ: $Uint64, tag: \"\"}, {prop: \"HeapIdle\", name: \"HeapIdle\", embedded: false, exported: true, typ: $Uint64, tag: \"\"}, {prop: \"HeapInuse\", name: \"HeapInuse\", embedded: false, exported: true, typ: $Uint64, tag: \"\"}, {prop: \"HeapReleased\", name: \"HeapReleased\", embedded: false, exported: true, typ: $Uint64, tag: \"\"}, {prop: \"HeapObjects\", name: \"HeapObjects\", embedded: false, exported: true, typ: $Uint64, tag: \"\"}, {prop: \"StackInuse\", name: \"StackInuse\", embedded: false, exported: true, typ: $Uint64, tag: \"\"}, {prop: \"StackSys\", name: \"StackSys\", embedded: false, exported: true, typ: $Uint64, tag: \"\"}, {prop: \"MSpanInuse\", name: \"MSpanInuse\", embedded: false, exported: true, typ: $Uint64, tag: \"\"}, {prop: \"MSpanSys\", name: \"MSpanSys\", embedded: false, exported: true, typ: $Uint64, tag: \"\"}, {prop: \"MCacheInuse\", name: \"MCacheInuse\", embedded: false, exported: true, typ: $Uint64, tag: \"\"}, {prop: \"MCacheSys\", name: \"MCacheSys\", embedded: false, exported: true, typ: $Uint64, tag: \"\"}, {prop: \"BuckHashSys\", name: \"BuckHashSys\", embedded: false, exported: true, typ: $Uint64, tag: \"\"}, {prop: \"GCSys\", name: \"GCSys\", embedded: false, exported: true, typ: $Uint64, tag: \"\"}, {prop: \"OtherSys\", name: \"OtherSys\", embedded: false, exported: true, typ: $Uint64, tag: \"\"}, {prop: \"NextGC\", name: \"NextGC\", embedded: false, exported: true, typ: $Uint64, tag: \"\"}, {prop: \"LastGC\", name: \"LastGC\", embedded: false, exported: true, typ: $Uint64, tag: \"\"}, {prop: \"PauseTotalNs\", name: \"PauseTotalNs\", embedded: false, exported: true, typ: $Uint64, tag: \"\"}, {prop: \"PauseNs\", name: \"PauseNs\", embedded: false, exported: true, typ: arrayType, tag: \"\"}, {prop: \"PauseEnd\", name: \"PauseEnd\", embedded: false, exported: true, typ: arrayType, tag: \"\"}, {prop: \"NumGC\", name: \"NumGC\", embedded: false, exported: true, typ: $Uint32, tag: \"\"}, {prop: \"GCCPUFraction\", name: \"GCCPUFraction\", embedded: false, exported: true, typ: $Float64, tag: \"\"}, {prop: \"EnableGC\", name: \"EnableGC\", embedded: false, exported: true, typ: $Bool, tag: \"\"}, {prop: \"DebugGC\", name: \"DebugGC\", embedded: false, exported: true, typ: $Bool, tag: \"\"}, {prop: \"BySize\", name: \"BySize\", embedded: false, exported: true, typ: arrayType$1, tag: \"\"}]);\n\tTypeAssertionError.init(\"runtime\", [{prop: \"_interface\", name: \"_interface\", embedded: false, exported: false, typ: ptrType, tag: \"\"}, {prop: \"concrete\", name: \"concrete\", embedded: false, exported: false, typ: ptrType, tag: \"\"}, {prop: \"asserted\", name: \"asserted\", embedded: false, exported: false, typ: ptrType, tag: \"\"}, {prop: \"missingMethod\", name: \"missingMethod\", embedded: false, exported: false, typ: $String, tag: \"\"}]);\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = js.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = bytealg.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = sys.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tinit();\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"errors\"] = (function() {\n\tvar $pkg = {}, $init, errorString, ptrType, New;\n\terrorString = $pkg.errorString = $newType(0, $kindStruct, \"errors.errorString\", true, \"errors\", false, function(s_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.s = \"\";\n\t\t\treturn;\n\t\t}\n\t\tthis.s = s_;\n\t});\n\tptrType = $ptrType(errorString);\n\tNew = function(text) {\n\t\tvar text;\n\t\treturn new errorString.ptr(text);\n\t};\n\t$pkg.New = New;\n\terrorString.ptr.prototype.Error = function() {\n\t\tvar e;\n\t\te = this;\n\t\treturn e.s;\n\t};\n\terrorString.prototype.Error = function() { return this.$val.Error(); };\n\tptrType.methods = [{prop: \"Error\", name: \"Error\", pkg: \"\", typ: $funcType([], [$String], false)}];\n\terrorString.init(\"errors\", [{prop: \"s\", name: \"s\", embedded: false, exported: false, typ: $String, tag: \"\"}]);\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"internal/race\"] = (function() {\n\tvar $pkg = {}, $init, Acquire, Release, ReleaseMerge, Disable, Enable, ReadRange, WriteRange;\n\tAcquire = function(addr) {\n\t\tvar addr;\n\t};\n\t$pkg.Acquire = Acquire;\n\tRelease = function(addr) {\n\t\tvar addr;\n\t};\n\t$pkg.Release = Release;\n\tReleaseMerge = function(addr) {\n\t\tvar addr;\n\t};\n\t$pkg.ReleaseMerge = ReleaseMerge;\n\tDisable = function() {\n\t};\n\t$pkg.Disable = Disable;\n\tEnable = function() {\n\t};\n\t$pkg.Enable = Enable;\n\tReadRange = function(addr, len) {\n\t\tvar addr, len;\n\t};\n\t$pkg.ReadRange = ReadRange;\n\tWriteRange = function(addr, len) {\n\t\tvar addr, len;\n\t};\n\t$pkg.WriteRange = WriteRange;\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"sync/atomic\"] = (function() {\n\tvar $pkg = {}, $init, js, Value, ptrType, CompareAndSwapInt32, CompareAndSwapUint64, AddInt32, LoadInt32, LoadUint32, LoadUint64, StoreInt32, StoreUint32;\n\tjs = $packages[\"github.com/gopherjs/gopherjs/js\"];\n\tValue = $pkg.Value = $newType(0, $kindStruct, \"atomic.Value\", true, \"sync/atomic\", true, function(v_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.v = $ifaceNil;\n\t\t\treturn;\n\t\t}\n\t\tthis.v = v_;\n\t});\n\tptrType = $ptrType(Value);\n\tCompareAndSwapInt32 = function(addr, old, new$1) {\n\t\tvar addr, new$1, old;\n\t\tif (addr.$get() === old) {\n\t\t\taddr.$set(new$1);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t};\n\t$pkg.CompareAndSwapInt32 = CompareAndSwapInt32;\n\tCompareAndSwapUint64 = function(addr, old, new$1) {\n\t\tvar addr, new$1, old, x;\n\t\tif ((x = addr.$get(), (x.$high === old.$high && x.$low === old.$low))) {\n\t\t\taddr.$set(new$1);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t};\n\t$pkg.CompareAndSwapUint64 = CompareAndSwapUint64;\n\tAddInt32 = function(addr, delta) {\n\t\tvar addr, delta, new$1;\n\t\tnew$1 = addr.$get() + delta >> 0;\n\t\taddr.$set(new$1);\n\t\treturn new$1;\n\t};\n\t$pkg.AddInt32 = AddInt32;\n\tLoadInt32 = function(addr) {\n\t\tvar addr;\n\t\treturn addr.$get();\n\t};\n\t$pkg.LoadInt32 = LoadInt32;\n\tLoadUint32 = function(addr) {\n\t\tvar addr;\n\t\treturn addr.$get();\n\t};\n\t$pkg.LoadUint32 = LoadUint32;\n\tLoadUint64 = function(addr) {\n\t\tvar addr;\n\t\treturn addr.$get();\n\t};\n\t$pkg.LoadUint64 = LoadUint64;\n\tStoreInt32 = function(addr, val) {\n\t\tvar addr, val;\n\t\taddr.$set(val);\n\t};\n\t$pkg.StoreInt32 = StoreInt32;\n\tStoreUint32 = function(addr, val) {\n\t\tvar addr, val;\n\t\taddr.$set(val);\n\t};\n\t$pkg.StoreUint32 = StoreUint32;\n\tValue.ptr.prototype.Load = function() {\n\t\tvar v, x;\n\t\tx = $ifaceNil;\n\t\tv = this;\n\t\tx = v.v;\n\t\treturn x;\n\t};\n\tValue.prototype.Load = function() { return this.$val.Load(); };\n\tValue.ptr.prototype.Store = function(x) {\n\t\tvar v, x;\n\t\tv = this;\n\t\tif ($interfaceIsEqual(x, $ifaceNil)) {\n\t\t\t$panic(new $String(\"sync/atomic: store of nil value into Value\"));\n\t\t}\n\t\tif (!($interfaceIsEqual(v.v, $ifaceNil)) && !(x.constructor === v.v.constructor)) {\n\t\t\t$panic(new $String(\"sync/atomic: store of inconsistently typed value into Value\"));\n\t\t}\n\t\tv.v = x;\n\t};\n\tValue.prototype.Store = function(x) { return this.$val.Store(x); };\n\tptrType.methods = [{prop: \"Load\", name: \"Load\", pkg: \"\", typ: $funcType([], [$emptyInterface], false)}, {prop: \"Store\", name: \"Store\", pkg: \"\", typ: $funcType([$emptyInterface], [], false)}];\n\tValue.init(\"sync/atomic\", [{prop: \"v\", name: \"v\", embedded: false, exported: false, typ: $emptyInterface, tag: \"\"}]);\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = js.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"sync\"] = (function() {\n\tvar $pkg = {}, $init, js, race, runtime, atomic, Pool, Mutex, Locker, Once, poolLocalInternal, poolLocal, notifyList, RWMutex, rlocker, ptrType, sliceType, ptrType$1, chanType, sliceType$1, ptrType$6, ptrType$7, sliceType$4, ptrType$8, ptrType$9, funcType, ptrType$16, funcType$2, ptrType$17, arrayType$2, semWaiters, semAwoken, expunged, allPools, runtime_registerPoolCleanup, runtime_SemacquireMutex, runtime_Semrelease, runtime_notifyListCheck, runtime_canSpin, runtime_nanotime, throw$1, poolCleanup, init, indexLocal, init$1, runtime_doSpin;\n\tjs = $packages[\"github.com/gopherjs/gopherjs/js\"];\n\trace = $packages[\"internal/race\"];\n\truntime = $packages[\"runtime\"];\n\tatomic = $packages[\"sync/atomic\"];\n\tPool = $pkg.Pool = $newType(0, $kindStruct, \"sync.Pool\", true, \"sync\", true, function(local_, localSize_, store_, New_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.local = 0;\n\t\t\tthis.localSize = 0;\n\t\t\tthis.store = sliceType$4.nil;\n\t\t\tthis.New = $throwNilPointerError;\n\t\t\treturn;\n\t\t}\n\t\tthis.local = local_;\n\t\tthis.localSize = localSize_;\n\t\tthis.store = store_;\n\t\tthis.New = New_;\n\t});\n\tMutex = $pkg.Mutex = $newType(0, $kindStruct, \"sync.Mutex\", true, \"sync\", true, function(state_, sema_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.state = 0;\n\t\t\tthis.sema = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.state = state_;\n\t\tthis.sema = sema_;\n\t});\n\tLocker = $pkg.Locker = $newType(8, $kindInterface, \"sync.Locker\", true, \"sync\", true, null);\n\tOnce = $pkg.Once = $newType(0, $kindStruct, \"sync.Once\", true, \"sync\", true, function(m_, done_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.m = new Mutex.ptr(0, 0);\n\t\t\tthis.done = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.m = m_;\n\t\tthis.done = done_;\n\t});\n\tpoolLocalInternal = $pkg.poolLocalInternal = $newType(0, $kindStruct, \"sync.poolLocalInternal\", true, \"sync\", false, function(private$0_, shared_, Mutex_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.private$0 = $ifaceNil;\n\t\t\tthis.shared = sliceType$4.nil;\n\t\t\tthis.Mutex = new Mutex.ptr(0, 0);\n\t\t\treturn;\n\t\t}\n\t\tthis.private$0 = private$0_;\n\t\tthis.shared = shared_;\n\t\tthis.Mutex = Mutex_;\n\t});\n\tpoolLocal = $pkg.poolLocal = $newType(0, $kindStruct, \"sync.poolLocal\", true, \"sync\", false, function(poolLocalInternal_, pad_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.poolLocalInternal = new poolLocalInternal.ptr($ifaceNil, sliceType$4.nil, new Mutex.ptr(0, 0));\n\t\t\tthis.pad = arrayType$2.zero();\n\t\t\treturn;\n\t\t}\n\t\tthis.poolLocalInternal = poolLocalInternal_;\n\t\tthis.pad = pad_;\n\t});\n\tnotifyList = $pkg.notifyList = $newType(0, $kindStruct, \"sync.notifyList\", true, \"sync\", false, function(wait_, notify_, lock_, head_, tail_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.wait = 0;\n\t\t\tthis.notify = 0;\n\t\t\tthis.lock = 0;\n\t\t\tthis.head = 0;\n\t\t\tthis.tail = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.wait = wait_;\n\t\tthis.notify = notify_;\n\t\tthis.lock = lock_;\n\t\tthis.head = head_;\n\t\tthis.tail = tail_;\n\t});\n\tRWMutex = $pkg.RWMutex = $newType(0, $kindStruct, \"sync.RWMutex\", true, \"sync\", true, function(w_, writerSem_, readerSem_, readerCount_, readerWait_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.w = new Mutex.ptr(0, 0);\n\t\t\tthis.writerSem = 0;\n\t\t\tthis.readerSem = 0;\n\t\t\tthis.readerCount = 0;\n\t\t\tthis.readerWait = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.w = w_;\n\t\tthis.writerSem = writerSem_;\n\t\tthis.readerSem = readerSem_;\n\t\tthis.readerCount = readerCount_;\n\t\tthis.readerWait = readerWait_;\n\t});\n\trlocker = $pkg.rlocker = $newType(0, $kindStruct, \"sync.rlocker\", true, \"sync\", false, function(w_, writerSem_, readerSem_, readerCount_, readerWait_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.w = new Mutex.ptr(0, 0);\n\t\t\tthis.writerSem = 0;\n\t\t\tthis.readerSem = 0;\n\t\t\tthis.readerCount = 0;\n\t\t\tthis.readerWait = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.w = w_;\n\t\tthis.writerSem = writerSem_;\n\t\tthis.readerSem = readerSem_;\n\t\tthis.readerCount = readerCount_;\n\t\tthis.readerWait = readerWait_;\n\t});\n\tptrType = $ptrType(Pool);\n\tsliceType = $sliceType(ptrType);\n\tptrType$1 = $ptrType($Uint32);\n\tchanType = $chanType($Bool, false, false);\n\tsliceType$1 = $sliceType(chanType);\n\tptrType$6 = $ptrType($Int32);\n\tptrType$7 = $ptrType(poolLocal);\n\tsliceType$4 = $sliceType($emptyInterface);\n\tptrType$8 = $ptrType(rlocker);\n\tptrType$9 = $ptrType(RWMutex);\n\tfuncType = $funcType([], [$emptyInterface], false);\n\tptrType$16 = $ptrType(Mutex);\n\tfuncType$2 = $funcType([], [], false);\n\tptrType$17 = $ptrType(Once);\n\tarrayType$2 = $arrayType($Uint8, 100);\n\tPool.ptr.prototype.Get = function() {\n\t\tvar _r, p, x, x$1, x$2, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; p = $f.p; x = $f.x; x$1 = $f.x$1; x$2 = $f.x$2; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tp = this;\n\t\t/* */ if (p.store.$length === 0) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (p.store.$length === 0) { */ case 1:\n\t\t\t/* */ if (!(p.New === $throwNilPointerError)) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (!(p.New === $throwNilPointerError)) { */ case 3:\n\t\t\t\t_r = p.New(); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return _r;\n\t\t\t/* } */ case 4:\n\t\t\t$s = -1; return $ifaceNil;\n\t\t/* } */ case 2:\n\t\tx$2 = (x = p.store, x$1 = p.store.$length - 1 >> 0, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1]));\n\t\tp.store = $subslice(p.store, 0, (p.store.$length - 1 >> 0));\n\t\t$s = -1; return x$2;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Pool.ptr.prototype.Get }; } $f._r = _r; $f.p = p; $f.x = x; $f.x$1 = x$1; $f.x$2 = x$2; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tPool.prototype.Get = function() { return this.$val.Get(); };\n\tPool.ptr.prototype.Put = function(x) {\n\t\tvar p, x;\n\t\tp = this;\n\t\tif ($interfaceIsEqual(x, $ifaceNil)) {\n\t\t\treturn;\n\t\t}\n\t\tp.store = $append(p.store, x);\n\t};\n\tPool.prototype.Put = function(x) { return this.$val.Put(x); };\n\truntime_registerPoolCleanup = function(cleanup) {\n\t\tvar cleanup;\n\t};\n\truntime_SemacquireMutex = function(s, lifo) {\n\t\tvar _entry, _entry$1, _entry$2, _entry$3, _entry$4, _key, _key$1, _key$2, _r, ch, lifo, s, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _entry = $f._entry; _entry$1 = $f._entry$1; _entry$2 = $f._entry$2; _entry$3 = $f._entry$3; _entry$4 = $f._entry$4; _key = $f._key; _key$1 = $f._key$1; _key$2 = $f._key$2; _r = $f._r; ch = $f.ch; lifo = $f.lifo; s = $f.s; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t/* */ if (((s.$get() - (_entry = semAwoken[ptrType$1.keyFor(s)], _entry !== undefined ? _entry.v : 0) >>> 0)) === 0) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (((s.$get() - (_entry = semAwoken[ptrType$1.keyFor(s)], _entry !== undefined ? _entry.v : 0) >>> 0)) === 0) { */ case 1:\n\t\t\tch = new $Chan($Bool, 0);\n\t\t\tif (lifo) {\n\t\t\t\t_key = s; (semWaiters || $throwRuntimeError(\"assignment to entry in nil map\"))[ptrType$1.keyFor(_key)] = { k: _key, v: $appendSlice(new sliceType$1([ch]), (_entry$1 = semWaiters[ptrType$1.keyFor(s)], _entry$1 !== undefined ? _entry$1.v : sliceType$1.nil)) };\n\t\t\t} else {\n\t\t\t\t_key$1 = s; (semWaiters || $throwRuntimeError(\"assignment to entry in nil map\"))[ptrType$1.keyFor(_key$1)] = { k: _key$1, v: $append((_entry$2 = semWaiters[ptrType$1.keyFor(s)], _entry$2 !== undefined ? _entry$2.v : sliceType$1.nil), ch) };\n\t\t\t}\n\t\t\t_r = $recv(ch); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_r[0];\n\t\t\t_key$2 = s; (semAwoken || $throwRuntimeError(\"assignment to entry in nil map\"))[ptrType$1.keyFor(_key$2)] = { k: _key$2, v: (_entry$3 = semAwoken[ptrType$1.keyFor(s)], _entry$3 !== undefined ? _entry$3.v : 0) - (1) >>> 0 };\n\t\t\tif ((_entry$4 = semAwoken[ptrType$1.keyFor(s)], _entry$4 !== undefined ? _entry$4.v : 0) === 0) {\n\t\t\t\tdelete semAwoken[ptrType$1.keyFor(s)];\n\t\t\t}\n\t\t/* } */ case 2:\n\t\ts.$set(s.$get() - (1) >>> 0);\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: runtime_SemacquireMutex }; } $f._entry = _entry; $f._entry$1 = _entry$1; $f._entry$2 = _entry$2; $f._entry$3 = _entry$3; $f._entry$4 = _entry$4; $f._key = _key; $f._key$1 = _key$1; $f._key$2 = _key$2; $f._r = _r; $f.ch = ch; $f.lifo = lifo; $f.s = s; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\truntime_Semrelease = function(s, handoff) {\n\t\tvar _entry, _entry$1, _key, _key$1, ch, handoff, s, w, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _entry = $f._entry; _entry$1 = $f._entry$1; _key = $f._key; _key$1 = $f._key$1; ch = $f.ch; handoff = $f.handoff; s = $f.s; w = $f.w; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\ts.$set(s.$get() + (1) >>> 0);\n\t\tw = (_entry = semWaiters[ptrType$1.keyFor(s)], _entry !== undefined ? _entry.v : sliceType$1.nil);\n\t\tif (w.$length === 0) {\n\t\t\t$s = -1; return;\n\t\t}\n\t\tch = (0 >= w.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : w.$array[w.$offset + 0]);\n\t\tw = $subslice(w, 1);\n\t\t_key = s; (semWaiters || $throwRuntimeError(\"assignment to entry in nil map\"))[ptrType$1.keyFor(_key)] = { k: _key, v: w };\n\t\tif (w.$length === 0) {\n\t\t\tdelete semWaiters[ptrType$1.keyFor(s)];\n\t\t}\n\t\t_key$1 = s; (semAwoken || $throwRuntimeError(\"assignment to entry in nil map\"))[ptrType$1.keyFor(_key$1)] = { k: _key$1, v: (_entry$1 = semAwoken[ptrType$1.keyFor(s)], _entry$1 !== undefined ? _entry$1.v : 0) + (1) >>> 0 };\n\t\t$r = $send(ch, true); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: runtime_Semrelease }; } $f._entry = _entry; $f._entry$1 = _entry$1; $f._key = _key; $f._key$1 = _key$1; $f.ch = ch; $f.handoff = handoff; $f.s = s; $f.w = w; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\truntime_notifyListCheck = function(size) {\n\t\tvar size;\n\t};\n\truntime_canSpin = function(i) {\n\t\tvar i;\n\t\treturn false;\n\t};\n\truntime_nanotime = function() {\n\t\treturn $mul64($internalize(new ($global.Date)().getTime(), $Int64), new $Int64(0, 1000000));\n\t};\n\tthrow$1 = function(s) {\n\t\tvar s;\n\t\t$throwRuntimeError($externalize(s, $String));\n\t};\n\tMutex.ptr.prototype.Lock = function() {\n\t\tvar awoke, delta, iter, m, new$1, old, queueLifo, starving, waitStartTime, x, x$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; awoke = $f.awoke; delta = $f.delta; iter = $f.iter; m = $f.m; new$1 = $f.new$1; old = $f.old; queueLifo = $f.queueLifo; starving = $f.starving; waitStartTime = $f.waitStartTime; x = $f.x; x$1 = $f.x$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tm = this;\n\t\tif (atomic.CompareAndSwapInt32((m.$ptr_state || (m.$ptr_state = new ptrType$6(function() { return this.$target.state; }, function($v) { this.$target.state = $v; }, m))), 0, 1)) {\n\t\t\tif (false) {\n\t\t\t\trace.Acquire((m));\n\t\t\t}\n\t\t\t$s = -1; return;\n\t\t}\n\t\twaitStartTime = new $Int64(0, 0);\n\t\tstarving = false;\n\t\tawoke = false;\n\t\titer = 0;\n\t\told = m.state;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* */ if (((old & 5) === 1) && runtime_canSpin(iter)) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (((old & 5) === 1) && runtime_canSpin(iter)) { */ case 3:\n\t\t\t\tif (!awoke && ((old & 2) === 0) && !(((old >> 3 >> 0) === 0)) && atomic.CompareAndSwapInt32((m.$ptr_state || (m.$ptr_state = new ptrType$6(function() { return this.$target.state; }, function($v) { this.$target.state = $v; }, m))), old, old | 2)) {\n\t\t\t\t\tawoke = true;\n\t\t\t\t}\n\t\t\t\truntime_doSpin();\n\t\t\t\titer = iter + (1) >> 0;\n\t\t\t\told = m.state;\n\t\t\t\t/* continue; */ $s = 1; continue;\n\t\t\t/* } */ case 4:\n\t\t\tnew$1 = old;\n\t\t\tif ((old & 4) === 0) {\n\t\t\t\tnew$1 = new$1 | (1);\n\t\t\t}\n\t\t\tif (!(((old & 5) === 0))) {\n\t\t\t\tnew$1 = new$1 + (8) >> 0;\n\t\t\t}\n\t\t\tif (starving && !(((old & 1) === 0))) {\n\t\t\t\tnew$1 = new$1 | (4);\n\t\t\t}\n\t\t\tif (awoke) {\n\t\t\t\tif ((new$1 & 2) === 0) {\n\t\t\t\t\tthrow$1(\"sync: inconsistent mutex state\");\n\t\t\t\t}\n\t\t\t\tnew$1 = (new$1 & ~(2)) >> 0;\n\t\t\t}\n\t\t\t/* */ if (atomic.CompareAndSwapInt32((m.$ptr_state || (m.$ptr_state = new ptrType$6(function() { return this.$target.state; }, function($v) { this.$target.state = $v; }, m))), old, new$1)) { $s = 5; continue; }\n\t\t\t/* */ $s = 6; continue;\n\t\t\t/* if (atomic.CompareAndSwapInt32((m.$ptr_state || (m.$ptr_state = new ptrType$6(function() { return this.$target.state; }, function($v) { this.$target.state = $v; }, m))), old, new$1)) { */ case 5:\n\t\t\t\tif ((old & 5) === 0) {\n\t\t\t\t\t/* break; */ $s = 2; continue;\n\t\t\t\t}\n\t\t\t\tqueueLifo = !((waitStartTime.$high === 0 && waitStartTime.$low === 0));\n\t\t\t\tif ((waitStartTime.$high === 0 && waitStartTime.$low === 0)) {\n\t\t\t\t\twaitStartTime = runtime_nanotime();\n\t\t\t\t}\n\t\t\t\t$r = runtime_SemacquireMutex((m.$ptr_sema || (m.$ptr_sema = new ptrType$1(function() { return this.$target.sema; }, function($v) { this.$target.sema = $v; }, m))), queueLifo); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\tstarving = starving || (x = (x$1 = runtime_nanotime(), new $Int64(x$1.$high - waitStartTime.$high, x$1.$low - waitStartTime.$low)), (x.$high > 0 || (x.$high === 0 && x.$low > 1000000)));\n\t\t\t\told = m.state;\n\t\t\t\tif (!(((old & 4) === 0))) {\n\t\t\t\t\tif (!(((old & 3) === 0)) || ((old >> 3 >> 0) === 0)) {\n\t\t\t\t\t\tthrow$1(\"sync: inconsistent mutex state\");\n\t\t\t\t\t}\n\t\t\t\t\tdelta = -7;\n\t\t\t\t\tif (!starving || ((old >> 3 >> 0) === 1)) {\n\t\t\t\t\t\tdelta = delta - (4) >> 0;\n\t\t\t\t\t}\n\t\t\t\t\tatomic.AddInt32((m.$ptr_state || (m.$ptr_state = new ptrType$6(function() { return this.$target.state; }, function($v) { this.$target.state = $v; }, m))), delta);\n\t\t\t\t\t/* break; */ $s = 2; continue;\n\t\t\t\t}\n\t\t\t\tawoke = true;\n\t\t\t\titer = 0;\n\t\t\t\t$s = 7; continue;\n\t\t\t/* } else { */ case 6:\n\t\t\t\told = m.state;\n\t\t\t/* } */ case 7:\n\t\t/* } */ $s = 1; continue; case 2:\n\t\tif (false) {\n\t\t\trace.Acquire((m));\n\t\t}\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Mutex.ptr.prototype.Lock }; } $f.awoke = awoke; $f.delta = delta; $f.iter = iter; $f.m = m; $f.new$1 = new$1; $f.old = old; $f.queueLifo = queueLifo; $f.starving = starving; $f.waitStartTime = waitStartTime; $f.x = x; $f.x$1 = x$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tMutex.prototype.Lock = function() { return this.$val.Lock(); };\n\tMutex.ptr.prototype.Unlock = function() {\n\t\tvar m, new$1, old, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; m = $f.m; new$1 = $f.new$1; old = $f.old; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tm = this;\n\t\tif (false) {\n\t\t\t$unused(m.state);\n\t\t\trace.Release((m));\n\t\t}\n\t\tnew$1 = atomic.AddInt32((m.$ptr_state || (m.$ptr_state = new ptrType$6(function() { return this.$target.state; }, function($v) { this.$target.state = $v; }, m))), -1);\n\t\tif ((((new$1 + 1 >> 0)) & 1) === 0) {\n\t\t\tthrow$1(\"sync: unlock of unlocked mutex\");\n\t\t}\n\t\t/* */ if ((new$1 & 4) === 0) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if ((new$1 & 4) === 0) { */ case 1:\n\t\t\told = new$1;\n\t\t\t/* while (true) { */ case 4:\n\t\t\t\tif (((old >> 3 >> 0) === 0) || !(((old & 7) === 0))) {\n\t\t\t\t\t$s = -1; return;\n\t\t\t\t}\n\t\t\t\tnew$1 = ((old - 8 >> 0)) | 2;\n\t\t\t\t/* */ if (atomic.CompareAndSwapInt32((m.$ptr_state || (m.$ptr_state = new ptrType$6(function() { return this.$target.state; }, function($v) { this.$target.state = $v; }, m))), old, new$1)) { $s = 6; continue; }\n\t\t\t\t/* */ $s = 7; continue;\n\t\t\t\t/* if (atomic.CompareAndSwapInt32((m.$ptr_state || (m.$ptr_state = new ptrType$6(function() { return this.$target.state; }, function($v) { this.$target.state = $v; }, m))), old, new$1)) { */ case 6:\n\t\t\t\t\t$r = runtime_Semrelease((m.$ptr_sema || (m.$ptr_sema = new ptrType$1(function() { return this.$target.sema; }, function($v) { this.$target.sema = $v; }, m))), false); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t$s = -1; return;\n\t\t\t\t/* } */ case 7:\n\t\t\t\told = m.state;\n\t\t\t/* } */ $s = 4; continue; case 5:\n\t\t\t$s = 3; continue;\n\t\t/* } else { */ case 2:\n\t\t\t$r = runtime_Semrelease((m.$ptr_sema || (m.$ptr_sema = new ptrType$1(function() { return this.$target.sema; }, function($v) { this.$target.sema = $v; }, m))), true); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 3:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Mutex.ptr.prototype.Unlock }; } $f.m = m; $f.new$1 = new$1; $f.old = old; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tMutex.prototype.Unlock = function() { return this.$val.Unlock(); };\n\tOnce.ptr.prototype.Do = function(f) {\n\t\tvar f, o, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; f = $f.f; o = $f.o; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\to = this;\n\t\tif (atomic.LoadUint32((o.$ptr_done || (o.$ptr_done = new ptrType$1(function() { return this.$target.done; }, function($v) { this.$target.done = $v; }, o)))) === 1) {\n\t\t\t$s = -1; return;\n\t\t}\n\t\t$r = o.m.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$deferred.push([$methodVal(o.m, \"Unlock\"), []]);\n\t\t/* */ if (o.done === 0) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (o.done === 0) { */ case 2:\n\t\t\t$deferred.push([atomic.StoreUint32, [(o.$ptr_done || (o.$ptr_done = new ptrType$1(function() { return this.$target.done; }, function($v) { this.$target.done = $v; }, o))), 1]]);\n\t\t\t$r = f(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 3:\n\t\t$s = -1; return;\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: Once.ptr.prototype.Do }; } $f.f = f; $f.o = o; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tOnce.prototype.Do = function(f) { return this.$val.Do(f); };\n\tpoolCleanup = function() {\n\t\tvar _i, _i$1, _ref, _ref$1, i, i$1, j, l, p, x;\n\t\t_ref = allPools;\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\ti = _i;\n\t\t\tp = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\t((i < 0 || i >= allPools.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : allPools.$array[allPools.$offset + i] = ptrType.nil);\n\t\t\ti$1 = 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(i$1 < ((p.localSize >> 0)))) { break; }\n\t\t\t\tl = indexLocal(p.local, i$1);\n\t\t\t\tl.poolLocalInternal.private$0 = $ifaceNil;\n\t\t\t\t_ref$1 = l.poolLocalInternal.shared;\n\t\t\t\t_i$1 = 0;\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (!(_i$1 < _ref$1.$length)) { break; }\n\t\t\t\t\tj = _i$1;\n\t\t\t\t\t(x = l.poolLocalInternal.shared, ((j < 0 || j >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + j] = $ifaceNil));\n\t\t\t\t\t_i$1++;\n\t\t\t\t}\n\t\t\t\tl.poolLocalInternal.shared = sliceType$4.nil;\n\t\t\t\ti$1 = i$1 + (1) >> 0;\n\t\t\t}\n\t\t\tp.local = 0;\n\t\t\tp.localSize = 0;\n\t\t\t_i++;\n\t\t}\n\t\tallPools = new sliceType([]);\n\t};\n\tinit = function() {\n\t\truntime_registerPoolCleanup(poolCleanup);\n\t};\n\tindexLocal = function(l, i) {\n\t\tvar i, l, lp;\n\t\tlp = (((l) + ($imul(((i >>> 0)), 128) >>> 0) >>> 0));\n\t\treturn ($pointerOfStructConversion(lp, ptrType$7));\n\t};\n\tinit$1 = function() {\n\t\tvar n;\n\t\tn = new notifyList.ptr(0, 0, 0, 0, 0);\n\t\truntime_notifyListCheck(20);\n\t};\n\truntime_doSpin = function() {\n\t\t$throwRuntimeError(\"native function not implemented: sync.runtime_doSpin\");\n\t};\n\tRWMutex.ptr.prototype.RLock = function() {\n\t\tvar rw, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; rw = $f.rw; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\trw = this;\n\t\tif (false) {\n\t\t\t$unused(rw.w.state);\n\t\t\trace.Disable();\n\t\t}\n\t\t/* */ if (atomic.AddInt32((rw.$ptr_readerCount || (rw.$ptr_readerCount = new ptrType$6(function() { return this.$target.readerCount; }, function($v) { this.$target.readerCount = $v; }, rw))), 1) < 0) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (atomic.AddInt32((rw.$ptr_readerCount || (rw.$ptr_readerCount = new ptrType$6(function() { return this.$target.readerCount; }, function($v) { this.$target.readerCount = $v; }, rw))), 1) < 0) { */ case 1:\n\t\t\t$r = runtime_SemacquireMutex((rw.$ptr_readerSem || (rw.$ptr_readerSem = new ptrType$1(function() { return this.$target.readerSem; }, function($v) { this.$target.readerSem = $v; }, rw))), false); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 2:\n\t\tif (false) {\n\t\t\trace.Enable();\n\t\t\trace.Acquire(((rw.$ptr_readerSem || (rw.$ptr_readerSem = new ptrType$1(function() { return this.$target.readerSem; }, function($v) { this.$target.readerSem = $v; }, rw)))));\n\t\t}\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: RWMutex.ptr.prototype.RLock }; } $f.rw = rw; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tRWMutex.prototype.RLock = function() { return this.$val.RLock(); };\n\tRWMutex.ptr.prototype.RUnlock = function() {\n\t\tvar r, rw, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; r = $f.r; rw = $f.rw; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\trw = this;\n\t\tif (false) {\n\t\t\t$unused(rw.w.state);\n\t\t\trace.ReleaseMerge(((rw.$ptr_writerSem || (rw.$ptr_writerSem = new ptrType$1(function() { return this.$target.writerSem; }, function($v) { this.$target.writerSem = $v; }, rw)))));\n\t\t\trace.Disable();\n\t\t}\n\t\tr = atomic.AddInt32((rw.$ptr_readerCount || (rw.$ptr_readerCount = new ptrType$6(function() { return this.$target.readerCount; }, function($v) { this.$target.readerCount = $v; }, rw))), -1);\n\t\t/* */ if (r < 0) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (r < 0) { */ case 1:\n\t\t\tif (((r + 1 >> 0) === 0) || ((r + 1 >> 0) === -1073741824)) {\n\t\t\t\trace.Enable();\n\t\t\t\tthrow$1(\"sync: RUnlock of unlocked RWMutex\");\n\t\t\t}\n\t\t\t/* */ if (atomic.AddInt32((rw.$ptr_readerWait || (rw.$ptr_readerWait = new ptrType$6(function() { return this.$target.readerWait; }, function($v) { this.$target.readerWait = $v; }, rw))), -1) === 0) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (atomic.AddInt32((rw.$ptr_readerWait || (rw.$ptr_readerWait = new ptrType$6(function() { return this.$target.readerWait; }, function($v) { this.$target.readerWait = $v; }, rw))), -1) === 0) { */ case 3:\n\t\t\t\t$r = runtime_Semrelease((rw.$ptr_writerSem || (rw.$ptr_writerSem = new ptrType$1(function() { return this.$target.writerSem; }, function($v) { this.$target.writerSem = $v; }, rw))), false); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 4:\n\t\t/* } */ case 2:\n\t\tif (false) {\n\t\t\trace.Enable();\n\t\t}\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: RWMutex.ptr.prototype.RUnlock }; } $f.r = r; $f.rw = rw; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tRWMutex.prototype.RUnlock = function() { return this.$val.RUnlock(); };\n\tRWMutex.ptr.prototype.Lock = function() {\n\t\tvar r, rw, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; r = $f.r; rw = $f.rw; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\trw = this;\n\t\tif (false) {\n\t\t\t$unused(rw.w.state);\n\t\t\trace.Disable();\n\t\t}\n\t\t$r = rw.w.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tr = atomic.AddInt32((rw.$ptr_readerCount || (rw.$ptr_readerCount = new ptrType$6(function() { return this.$target.readerCount; }, function($v) { this.$target.readerCount = $v; }, rw))), -1073741824) + 1073741824 >> 0;\n\t\t/* */ if (!((r === 0)) && !((atomic.AddInt32((rw.$ptr_readerWait || (rw.$ptr_readerWait = new ptrType$6(function() { return this.$target.readerWait; }, function($v) { this.$target.readerWait = $v; }, rw))), r) === 0))) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (!((r === 0)) && !((atomic.AddInt32((rw.$ptr_readerWait || (rw.$ptr_readerWait = new ptrType$6(function() { return this.$target.readerWait; }, function($v) { this.$target.readerWait = $v; }, rw))), r) === 0))) { */ case 2:\n\t\t\t$r = runtime_SemacquireMutex((rw.$ptr_writerSem || (rw.$ptr_writerSem = new ptrType$1(function() { return this.$target.writerSem; }, function($v) { this.$target.writerSem = $v; }, rw))), false); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 3:\n\t\tif (false) {\n\t\t\trace.Enable();\n\t\t\trace.Acquire(((rw.$ptr_readerSem || (rw.$ptr_readerSem = new ptrType$1(function() { return this.$target.readerSem; }, function($v) { this.$target.readerSem = $v; }, rw)))));\n\t\t\trace.Acquire(((rw.$ptr_writerSem || (rw.$ptr_writerSem = new ptrType$1(function() { return this.$target.writerSem; }, function($v) { this.$target.writerSem = $v; }, rw)))));\n\t\t}\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: RWMutex.ptr.prototype.Lock }; } $f.r = r; $f.rw = rw; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tRWMutex.prototype.Lock = function() { return this.$val.Lock(); };\n\tRWMutex.ptr.prototype.Unlock = function() {\n\t\tvar i, r, rw, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; i = $f.i; r = $f.r; rw = $f.rw; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\trw = this;\n\t\tif (false) {\n\t\t\t$unused(rw.w.state);\n\t\t\trace.Release(((rw.$ptr_readerSem || (rw.$ptr_readerSem = new ptrType$1(function() { return this.$target.readerSem; }, function($v) { this.$target.readerSem = $v; }, rw)))));\n\t\t\trace.Disable();\n\t\t}\n\t\tr = atomic.AddInt32((rw.$ptr_readerCount || (rw.$ptr_readerCount = new ptrType$6(function() { return this.$target.readerCount; }, function($v) { this.$target.readerCount = $v; }, rw))), 1073741824);\n\t\tif (r >= 1073741824) {\n\t\t\trace.Enable();\n\t\t\tthrow$1(\"sync: Unlock of unlocked RWMutex\");\n\t\t}\n\t\ti = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(i < ((r >> 0)))) { break; } */ if(!(i < ((r >> 0)))) { $s = 2; continue; }\n\t\t\t$r = runtime_Semrelease((rw.$ptr_readerSem || (rw.$ptr_readerSem = new ptrType$1(function() { return this.$target.readerSem; }, function($v) { this.$target.readerSem = $v; }, rw))), false); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\ti = i + (1) >> 0;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$r = rw.w.Unlock(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tif (false) {\n\t\t\trace.Enable();\n\t\t}\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: RWMutex.ptr.prototype.Unlock }; } $f.i = i; $f.r = r; $f.rw = rw; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tRWMutex.prototype.Unlock = function() { return this.$val.Unlock(); };\n\tRWMutex.ptr.prototype.RLocker = function() {\n\t\tvar rw;\n\t\trw = this;\n\t\treturn ($pointerOfStructConversion(rw, ptrType$8));\n\t};\n\tRWMutex.prototype.RLocker = function() { return this.$val.RLocker(); };\n\trlocker.ptr.prototype.Lock = function() {\n\t\tvar r, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; r = $f.r; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tr = this;\n\t\t$r = ($pointerOfStructConversion(r, ptrType$9)).RLock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: rlocker.ptr.prototype.Lock }; } $f.r = r; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\trlocker.prototype.Lock = function() { return this.$val.Lock(); };\n\trlocker.ptr.prototype.Unlock = function() {\n\t\tvar r, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; r = $f.r; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tr = this;\n\t\t$r = ($pointerOfStructConversion(r, ptrType$9)).RUnlock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: rlocker.ptr.prototype.Unlock }; } $f.r = r; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\trlocker.prototype.Unlock = function() { return this.$val.Unlock(); };\n\tptrType.methods = [{prop: \"Get\", name: \"Get\", pkg: \"\", typ: $funcType([], [$emptyInterface], false)}, {prop: \"Put\", name: \"Put\", pkg: \"\", typ: $funcType([$emptyInterface], [], false)}, {prop: \"getSlow\", name: \"getSlow\", pkg: \"sync\", typ: $funcType([], [$emptyInterface], false)}, {prop: \"pin\", name: \"pin\", pkg: \"sync\", typ: $funcType([], [ptrType$7], false)}, {prop: \"pinSlow\", name: \"pinSlow\", pkg: \"sync\", typ: $funcType([], [ptrType$7], false)}];\n\tptrType$16.methods = [{prop: \"Lock\", name: \"Lock\", pkg: \"\", typ: $funcType([], [], false)}, {prop: \"Unlock\", name: \"Unlock\", pkg: \"\", typ: $funcType([], [], false)}];\n\tptrType$17.methods = [{prop: \"Do\", name: \"Do\", pkg: \"\", typ: $funcType([funcType$2], [], false)}];\n\tptrType$9.methods = [{prop: \"RLock\", name: \"RLock\", pkg: \"\", typ: $funcType([], [], false)}, {prop: \"RUnlock\", name: \"RUnlock\", pkg: \"\", typ: $funcType([], [], false)}, {prop: \"Lock\", name: \"Lock\", pkg: \"\", typ: $funcType([], [], false)}, {prop: \"Unlock\", name: \"Unlock\", pkg: \"\", typ: $funcType([], [], false)}, {prop: \"RLocker\", name: \"RLocker\", pkg: \"\", typ: $funcType([], [Locker], false)}];\n\tptrType$8.methods = [{prop: \"Lock\", name: \"Lock\", pkg: \"\", typ: $funcType([], [], false)}, {prop: \"Unlock\", name: \"Unlock\", pkg: \"\", typ: $funcType([], [], false)}];\n\tPool.init(\"sync\", [{prop: \"local\", name: \"local\", embedded: false, exported: false, typ: $UnsafePointer, tag: \"\"}, {prop: \"localSize\", name: \"localSize\", embedded: false, exported: false, typ: $Uintptr, tag: \"\"}, {prop: \"store\", name: \"store\", embedded: false, exported: false, typ: sliceType$4, tag: \"\"}, {prop: \"New\", name: \"New\", embedded: false, exported: true, typ: funcType, tag: \"\"}]);\n\tMutex.init(\"sync\", [{prop: \"state\", name: \"state\", embedded: false, exported: false, typ: $Int32, tag: \"\"}, {prop: \"sema\", name: \"sema\", embedded: false, exported: false, typ: $Uint32, tag: \"\"}]);\n\tLocker.init([{prop: \"Lock\", name: \"Lock\", pkg: \"\", typ: $funcType([], [], false)}, {prop: \"Unlock\", name: \"Unlock\", pkg: \"\", typ: $funcType([], [], false)}]);\n\tOnce.init(\"sync\", [{prop: \"m\", name: \"m\", embedded: false, exported: false, typ: Mutex, tag: \"\"}, {prop: \"done\", name: \"done\", embedded: false, exported: false, typ: $Uint32, tag: \"\"}]);\n\tpoolLocalInternal.init(\"sync\", [{prop: \"private$0\", name: \"private\", embedded: false, exported: false, typ: $emptyInterface, tag: \"\"}, {prop: \"shared\", name: \"shared\", embedded: false, exported: false, typ: sliceType$4, tag: \"\"}, {prop: \"Mutex\", name: \"Mutex\", embedded: true, exported: true, typ: Mutex, tag: \"\"}]);\n\tpoolLocal.init(\"sync\", [{prop: \"poolLocalInternal\", name: \"poolLocalInternal\", embedded: true, exported: false, typ: poolLocalInternal, tag: \"\"}, {prop: \"pad\", name: \"pad\", embedded: false, exported: false, typ: arrayType$2, tag: \"\"}]);\n\tnotifyList.init(\"sync\", [{prop: \"wait\", name: \"wait\", embedded: false, exported: false, typ: $Uint32, tag: \"\"}, {prop: \"notify\", name: \"notify\", embedded: false, exported: false, typ: $Uint32, tag: \"\"}, {prop: \"lock\", name: \"lock\", embedded: false, exported: false, typ: $Uintptr, tag: \"\"}, {prop: \"head\", name: \"head\", embedded: false, exported: false, typ: $UnsafePointer, tag: \"\"}, {prop: \"tail\", name: \"tail\", embedded: false, exported: false, typ: $UnsafePointer, tag: \"\"}]);\n\tRWMutex.init(\"sync\", [{prop: \"w\", name: \"w\", embedded: false, exported: false, typ: Mutex, tag: \"\"}, {prop: \"writerSem\", name: \"writerSem\", embedded: false, exported: false, typ: $Uint32, tag: \"\"}, {prop: \"readerSem\", name: \"readerSem\", embedded: false, exported: false, typ: $Uint32, tag: \"\"}, {prop: \"readerCount\", name: \"readerCount\", embedded: false, exported: false, typ: $Int32, tag: \"\"}, {prop: \"readerWait\", name: \"readerWait\", embedded: false, exported: false, typ: $Int32, tag: \"\"}]);\n\trlocker.init(\"sync\", [{prop: \"w\", name: \"w\", embedded: false, exported: false, typ: Mutex, tag: \"\"}, {prop: \"writerSem\", name: \"writerSem\", embedded: false, exported: false, typ: $Uint32, tag: \"\"}, {prop: \"readerSem\", name: \"readerSem\", embedded: false, exported: false, typ: $Uint32, tag: \"\"}, {prop: \"readerCount\", name: \"readerCount\", embedded: false, exported: false, typ: $Int32, tag: \"\"}, {prop: \"readerWait\", name: \"readerWait\", embedded: false, exported: false, typ: $Int32, tag: \"\"}]);\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = js.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = race.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = runtime.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = atomic.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tallPools = sliceType.nil;\n\t\tsemWaiters = {};\n\t\tsemAwoken = {};\n\t\texpunged = (new Uint8Array(8));\n\t\tinit();\n\t\tinit$1();\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"io\"] = (function() {\n\tvar $pkg = {}, $init, errors, sync, atomic, Reader, Writer, Closer, ReadCloser, WriteCloser, ReaderFrom, WriterTo, RuneScanner, stringWriter, LimitedReader, sliceType, ptrType$1, errWhence, errOffset, WriteString, ReadAtLeast, ReadFull, Copy, copyBuffer;\n\terrors = $packages[\"errors\"];\n\tsync = $packages[\"sync\"];\n\tatomic = $packages[\"sync/atomic\"];\n\tReader = $pkg.Reader = $newType(8, $kindInterface, \"io.Reader\", true, \"io\", true, null);\n\tWriter = $pkg.Writer = $newType(8, $kindInterface, \"io.Writer\", true, \"io\", true, null);\n\tCloser = $pkg.Closer = $newType(8, $kindInterface, \"io.Closer\", true, \"io\", true, null);\n\tReadCloser = $pkg.ReadCloser = $newType(8, $kindInterface, \"io.ReadCloser\", true, \"io\", true, null);\n\tWriteCloser = $pkg.WriteCloser = $newType(8, $kindInterface, \"io.WriteCloser\", true, \"io\", true, null);\n\tReaderFrom = $pkg.ReaderFrom = $newType(8, $kindInterface, \"io.ReaderFrom\", true, \"io\", true, null);\n\tWriterTo = $pkg.WriterTo = $newType(8, $kindInterface, \"io.WriterTo\", true, \"io\", true, null);\n\tRuneScanner = $pkg.RuneScanner = $newType(8, $kindInterface, \"io.RuneScanner\", true, \"io\", true, null);\n\tstringWriter = $pkg.stringWriter = $newType(8, $kindInterface, \"io.stringWriter\", true, \"io\", false, null);\n\tLimitedReader = $pkg.LimitedReader = $newType(0, $kindStruct, \"io.LimitedReader\", true, \"io\", true, function(R_, N_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.R = $ifaceNil;\n\t\t\tthis.N = new $Int64(0, 0);\n\t\t\treturn;\n\t\t}\n\t\tthis.R = R_;\n\t\tthis.N = N_;\n\t});\n\tsliceType = $sliceType($Uint8);\n\tptrType$1 = $ptrType(LimitedReader);\n\tWriteString = function(w, s) {\n\t\tvar _r, _r$1, _tuple, _tuple$1, _tuple$2, err, n, ok, s, sw, w, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; err = $f.err; n = $f.n; ok = $f.ok; s = $f.s; sw = $f.sw; w = $f.w; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\t_tuple = $assertType(w, stringWriter, true);\n\t\tsw = _tuple[0];\n\t\tok = _tuple[1];\n\t\t/* */ if (ok) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (ok) { */ case 1:\n\t\t\t_r = sw.WriteString(s); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple$1 = _r;\n\t\t\tn = _tuple$1[0];\n\t\t\terr = _tuple$1[1];\n\t\t\t$s = -1; return [n, err];\n\t\t/* } */ case 2:\n\t\t_r$1 = w.Write((new sliceType($stringToBytes(s)))); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_tuple$2 = _r$1;\n\t\tn = _tuple$2[0];\n\t\terr = _tuple$2[1];\n\t\t$s = -1; return [n, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: WriteString }; } $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f.err = err; $f.n = n; $f.ok = ok; $f.s = s; $f.sw = sw; $f.w = w; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.WriteString = WriteString;\n\tReadAtLeast = function(r, buf, min) {\n\t\tvar _r, _tmp, _tmp$1, _tuple, buf, err, min, n, nn, r, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tuple = $f._tuple; buf = $f.buf; err = $f.err; min = $f.min; n = $f.n; nn = $f.nn; r = $f.r; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\tif (buf.$length < min) {\n\t\t\t_tmp = 0;\n\t\t\t_tmp$1 = $pkg.ErrShortBuffer;\n\t\t\tn = _tmp;\n\t\t\terr = _tmp$1;\n\t\t\t$s = -1; return [n, err];\n\t\t}\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(n < min && $interfaceIsEqual(err, $ifaceNil))) { break; } */ if(!(n < min && $interfaceIsEqual(err, $ifaceNil))) { $s = 2; continue; }\n\t\t\tnn = 0;\n\t\t\t_r = r.Read($subslice(buf, n)); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r;\n\t\t\tnn = _tuple[0];\n\t\t\terr = _tuple[1];\n\t\t\tn = n + (nn) >> 0;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\tif (n >= min) {\n\t\t\terr = $ifaceNil;\n\t\t} else if (n > 0 && $interfaceIsEqual(err, $pkg.EOF)) {\n\t\t\terr = $pkg.ErrUnexpectedEOF;\n\t\t}\n\t\t$s = -1; return [n, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ReadAtLeast }; } $f._r = _r; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tuple = _tuple; $f.buf = buf; $f.err = err; $f.min = min; $f.n = n; $f.nn = nn; $f.r = r; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.ReadAtLeast = ReadAtLeast;\n\tReadFull = function(r, buf) {\n\t\tvar _r, _tuple, buf, err, n, r, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; buf = $f.buf; err = $f.err; n = $f.n; r = $f.r; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\t_r = ReadAtLeast(r, buf, buf.$length); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tn = _tuple[0];\n\t\terr = _tuple[1];\n\t\t$s = -1; return [n, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ReadFull }; } $f._r = _r; $f._tuple = _tuple; $f.buf = buf; $f.err = err; $f.n = n; $f.r = r; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.ReadFull = ReadFull;\n\tCopy = function(dst, src) {\n\t\tvar _r, _tuple, dst, err, src, written, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; dst = $f.dst; err = $f.err; src = $f.src; written = $f.written; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\twritten = new $Int64(0, 0);\n\t\terr = $ifaceNil;\n\t\t_r = copyBuffer(dst, src, sliceType.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\twritten = _tuple[0];\n\t\terr = _tuple[1];\n\t\t$s = -1; return [written, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Copy }; } $f._r = _r; $f._tuple = _tuple; $f.dst = dst; $f.err = err; $f.src = src; $f.written = written; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.Copy = Copy;\n\tcopyBuffer = function(dst, src, buf) {\n\t\tvar _r, _r$1, _r$2, _r$3, _tmp, _tmp$1, _tuple, _tuple$1, _tuple$2, _tuple$3, _tuple$4, _tuple$5, _tuple$6, buf, dst, er, err, ew, l, nr, nw, ok, ok$1, ok$2, rt, size, src, written, wt, x, x$1, x$2, x$3, x$4, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; _tuple$3 = $f._tuple$3; _tuple$4 = $f._tuple$4; _tuple$5 = $f._tuple$5; _tuple$6 = $f._tuple$6; buf = $f.buf; dst = $f.dst; er = $f.er; err = $f.err; ew = $f.ew; l = $f.l; nr = $f.nr; nw = $f.nw; ok = $f.ok; ok$1 = $f.ok$1; ok$2 = $f.ok$2; rt = $f.rt; size = $f.size; src = $f.src; written = $f.written; wt = $f.wt; x = $f.x; x$1 = $f.x$1; x$2 = $f.x$2; x$3 = $f.x$3; x$4 = $f.x$4; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\twritten = new $Int64(0, 0);\n\t\terr = $ifaceNil;\n\t\t_tuple = $assertType(src, WriterTo, true);\n\t\twt = _tuple[0];\n\t\tok = _tuple[1];\n\t\t/* */ if (ok) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (ok) { */ case 1:\n\t\t\t_r = wt.WriteTo(dst); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple$1 = _r;\n\t\t\twritten = _tuple$1[0];\n\t\t\terr = _tuple$1[1];\n\t\t\t$s = -1; return [written, err];\n\t\t/* } */ case 2:\n\t\t_tuple$2 = $assertType(dst, ReaderFrom, true);\n\t\trt = _tuple$2[0];\n\t\tok$1 = _tuple$2[1];\n\t\t/* */ if (ok$1) { $s = 4; continue; }\n\t\t/* */ $s = 5; continue;\n\t\t/* if (ok$1) { */ case 4:\n\t\t\t_r$1 = rt.ReadFrom(src); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_tuple$3 = _r$1;\n\t\t\twritten = _tuple$3[0];\n\t\t\terr = _tuple$3[1];\n\t\t\t$s = -1; return [written, err];\n\t\t/* } */ case 5:\n\t\tif (buf === sliceType.nil) {\n\t\t\tsize = 32768;\n\t\t\t_tuple$4 = $assertType(src, ptrType$1, true);\n\t\t\tl = _tuple$4[0];\n\t\t\tok$2 = _tuple$4[1];\n\t\t\tif (ok$2 && (x = (new $Int64(0, size)), x$1 = l.N, (x.$high > x$1.$high || (x.$high === x$1.$high && x.$low > x$1.$low)))) {\n\t\t\t\tif ((x$2 = l.N, (x$2.$high < 0 || (x$2.$high === 0 && x$2.$low < 1)))) {\n\t\t\t\t\tsize = 1;\n\t\t\t\t} else {\n\t\t\t\t\tsize = (((x$3 = l.N, x$3.$low + ((x$3.$high >> 31) * 4294967296)) >> 0));\n\t\t\t\t}\n\t\t\t}\n\t\t\tbuf = $makeSlice(sliceType, size);\n\t\t}\n\t\t/* while (true) { */ case 7:\n\t\t\t_r$2 = src.Read(buf); /* */ $s = 9; case 9: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t_tuple$5 = _r$2;\n\t\t\tnr = _tuple$5[0];\n\t\t\ter = _tuple$5[1];\n\t\t\t/* */ if (nr > 0) { $s = 10; continue; }\n\t\t\t/* */ $s = 11; continue;\n\t\t\t/* if (nr > 0) { */ case 10:\n\t\t\t\t_r$3 = dst.Write($subslice(buf, 0, nr)); /* */ $s = 12; case 12: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t_tuple$6 = _r$3;\n\t\t\t\tnw = _tuple$6[0];\n\t\t\t\tew = _tuple$6[1];\n\t\t\t\tif (nw > 0) {\n\t\t\t\t\twritten = (x$4 = (new $Int64(0, nw)), new $Int64(written.$high + x$4.$high, written.$low + x$4.$low));\n\t\t\t\t}\n\t\t\t\tif (!($interfaceIsEqual(ew, $ifaceNil))) {\n\t\t\t\t\terr = ew;\n\t\t\t\t\t/* break; */ $s = 8; continue;\n\t\t\t\t}\n\t\t\t\tif (!((nr === nw))) {\n\t\t\t\t\terr = $pkg.ErrShortWrite;\n\t\t\t\t\t/* break; */ $s = 8; continue;\n\t\t\t\t}\n\t\t\t/* } */ case 11:\n\t\t\tif (!($interfaceIsEqual(er, $ifaceNil))) {\n\t\t\t\tif (!($interfaceIsEqual(er, $pkg.EOF))) {\n\t\t\t\t\terr = er;\n\t\t\t\t}\n\t\t\t\t/* break; */ $s = 8; continue;\n\t\t\t}\n\t\t/* } */ $s = 7; continue; case 8:\n\t\t_tmp = written;\n\t\t_tmp$1 = err;\n\t\twritten = _tmp;\n\t\terr = _tmp$1;\n\t\t$s = -1; return [written, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: copyBuffer }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f._tuple$3 = _tuple$3; $f._tuple$4 = _tuple$4; $f._tuple$5 = _tuple$5; $f._tuple$6 = _tuple$6; $f.buf = buf; $f.dst = dst; $f.er = er; $f.err = err; $f.ew = ew; $f.l = l; $f.nr = nr; $f.nw = nw; $f.ok = ok; $f.ok$1 = ok$1; $f.ok$2 = ok$2; $f.rt = rt; $f.size = size; $f.src = src; $f.written = written; $f.wt = wt; $f.x = x; $f.x$1 = x$1; $f.x$2 = x$2; $f.x$3 = x$3; $f.x$4 = x$4; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLimitedReader.ptr.prototype.Read = function(p) {\n\t\tvar _r, _tmp, _tmp$1, _tuple, err, l, n, p, x, x$1, x$2, x$3, x$4, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tuple = $f._tuple; err = $f.err; l = $f.l; n = $f.n; p = $f.p; x = $f.x; x$1 = $f.x$1; x$2 = $f.x$2; x$3 = $f.x$3; x$4 = $f.x$4; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\tl = this;\n\t\tif ((x = l.N, (x.$high < 0 || (x.$high === 0 && x.$low <= 0)))) {\n\t\t\t_tmp = 0;\n\t\t\t_tmp$1 = $pkg.EOF;\n\t\t\tn = _tmp;\n\t\t\terr = _tmp$1;\n\t\t\t$s = -1; return [n, err];\n\t\t}\n\t\tif ((x$1 = (new $Int64(0, p.$length)), x$2 = l.N, (x$1.$high > x$2.$high || (x$1.$high === x$2.$high && x$1.$low > x$2.$low)))) {\n\t\t\tp = $subslice(p, 0, $flatten64(l.N));\n\t\t}\n\t\t_r = l.R.Read(p); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tn = _tuple[0];\n\t\terr = _tuple[1];\n\t\tl.N = (x$3 = l.N, x$4 = (new $Int64(0, n)), new $Int64(x$3.$high - x$4.$high, x$3.$low - x$4.$low));\n\t\t$s = -1; return [n, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LimitedReader.ptr.prototype.Read }; } $f._r = _r; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tuple = _tuple; $f.err = err; $f.l = l; $f.n = n; $f.p = p; $f.x = x; $f.x$1 = x$1; $f.x$2 = x$2; $f.x$3 = x$3; $f.x$4 = x$4; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLimitedReader.prototype.Read = function(p) { return this.$val.Read(p); };\n\tptrType$1.methods = [{prop: \"Read\", name: \"Read\", pkg: \"\", typ: $funcType([sliceType], [$Int, $error], false)}];\n\tReader.init([{prop: \"Read\", name: \"Read\", pkg: \"\", typ: $funcType([sliceType], [$Int, $error], false)}]);\n\tWriter.init([{prop: \"Write\", name: \"Write\", pkg: \"\", typ: $funcType([sliceType], [$Int, $error], false)}]);\n\tCloser.init([{prop: \"Close\", name: \"Close\", pkg: \"\", typ: $funcType([], [$error], false)}]);\n\tReadCloser.init([{prop: \"Close\", name: \"Close\", pkg: \"\", typ: $funcType([], [$error], false)}, {prop: \"Read\", name: \"Read\", pkg: \"\", typ: $funcType([sliceType], [$Int, $error], false)}]);\n\tWriteCloser.init([{prop: \"Close\", name: \"Close\", pkg: \"\", typ: $funcType([], [$error], false)}, {prop: \"Write\", name: \"Write\", pkg: \"\", typ: $funcType([sliceType], [$Int, $error], false)}]);\n\tReaderFrom.init([{prop: \"ReadFrom\", name: \"ReadFrom\", pkg: \"\", typ: $funcType([Reader], [$Int64, $error], false)}]);\n\tWriterTo.init([{prop: \"WriteTo\", name: \"WriteTo\", pkg: \"\", typ: $funcType([Writer], [$Int64, $error], false)}]);\n\tRuneScanner.init([{prop: \"ReadRune\", name: \"ReadRune\", pkg: \"\", typ: $funcType([], [$Int32, $Int, $error], false)}, {prop: \"UnreadRune\", name: \"UnreadRune\", pkg: \"\", typ: $funcType([], [$error], false)}]);\n\tstringWriter.init([{prop: \"WriteString\", name: \"WriteString\", pkg: \"\", typ: $funcType([$String], [$Int, $error], false)}]);\n\tLimitedReader.init(\"\", [{prop: \"R\", name: \"R\", embedded: false, exported: true, typ: Reader, tag: \"\"}, {prop: \"N\", name: \"N\", embedded: false, exported: true, typ: $Int64, tag: \"\"}]);\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = errors.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = sync.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = atomic.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$pkg.ErrShortWrite = errors.New(\"short write\");\n\t\t$pkg.ErrShortBuffer = errors.New(\"short buffer\");\n\t\t$pkg.EOF = errors.New(\"EOF\");\n\t\t$pkg.ErrUnexpectedEOF = errors.New(\"unexpected EOF\");\n\t\t$pkg.ErrNoProgress = errors.New(\"multiple Read calls return no data or error\");\n\t\terrWhence = errors.New(\"Seek: invalid whence\");\n\t\terrOffset = errors.New(\"Seek: invalid offset\");\n\t\t$pkg.ErrClosedPipe = errors.New(\"io: read/write on closed pipe\");\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"unicode\"] = (function() {\n\tvar $pkg = {}, $init, RangeTable, Range16, Range32, CaseRange, d, arrayType, sliceType, sliceType$1, sliceType$3, _White_Space, _CaseRanges, to, IsSpace, is16, is32, isExcludingLatin, To, ToUpper, ToLower;\n\tRangeTable = $pkg.RangeTable = $newType(0, $kindStruct, \"unicode.RangeTable\", true, \"unicode\", true, function(R16_, R32_, LatinOffset_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.R16 = sliceType.nil;\n\t\t\tthis.R32 = sliceType$1.nil;\n\t\t\tthis.LatinOffset = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.R16 = R16_;\n\t\tthis.R32 = R32_;\n\t\tthis.LatinOffset = LatinOffset_;\n\t});\n\tRange16 = $pkg.Range16 = $newType(0, $kindStruct, \"unicode.Range16\", true, \"unicode\", true, function(Lo_, Hi_, Stride_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Lo = 0;\n\t\t\tthis.Hi = 0;\n\t\t\tthis.Stride = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.Lo = Lo_;\n\t\tthis.Hi = Hi_;\n\t\tthis.Stride = Stride_;\n\t});\n\tRange32 = $pkg.Range32 = $newType(0, $kindStruct, \"unicode.Range32\", true, \"unicode\", true, function(Lo_, Hi_, Stride_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Lo = 0;\n\t\t\tthis.Hi = 0;\n\t\t\tthis.Stride = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.Lo = Lo_;\n\t\tthis.Hi = Hi_;\n\t\tthis.Stride = Stride_;\n\t});\n\tCaseRange = $pkg.CaseRange = $newType(0, $kindStruct, \"unicode.CaseRange\", true, \"unicode\", true, function(Lo_, Hi_, Delta_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Lo = 0;\n\t\t\tthis.Hi = 0;\n\t\t\tthis.Delta = arrayType.zero();\n\t\t\treturn;\n\t\t}\n\t\tthis.Lo = Lo_;\n\t\tthis.Hi = Hi_;\n\t\tthis.Delta = Delta_;\n\t});\n\td = $pkg.d = $newType(12, $kindArray, \"unicode.d\", true, \"unicode\", false, null);\n\tarrayType = $arrayType($Int32, 3);\n\tsliceType = $sliceType(Range16);\n\tsliceType$1 = $sliceType(Range32);\n\tsliceType$3 = $sliceType(CaseRange);\n\tto = function(_case, r, caseRange) {\n\t\tvar _case, _q, _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, caseRange, cr, delta, foundMapping, hi, lo, m, mappedRune, r, x;\n\t\tmappedRune = 0;\n\t\tfoundMapping = false;\n\t\tif (_case < 0 || 3 <= _case) {\n\t\t\t_tmp = 65533;\n\t\t\t_tmp$1 = false;\n\t\t\tmappedRune = _tmp;\n\t\t\tfoundMapping = _tmp$1;\n\t\t\treturn [mappedRune, foundMapping];\n\t\t}\n\t\tlo = 0;\n\t\thi = caseRange.$length;\n\t\twhile (true) {\n\t\t\tif (!(lo < hi)) { break; }\n\t\t\tm = lo + (_q = ((hi - lo >> 0)) / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError(\"integer divide by zero\")) >> 0;\n\t\t\tcr = ((m < 0 || m >= caseRange.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : caseRange.$array[caseRange.$offset + m]);\n\t\t\tif (((cr.Lo >> 0)) <= r && r <= ((cr.Hi >> 0))) {\n\t\t\t\tdelta = ((x = cr.Delta, ((_case < 0 || _case >= x.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x[_case])));\n\t\t\t\tif (delta > 1114111) {\n\t\t\t\t\t_tmp$2 = ((cr.Lo >> 0)) + ((((((r - ((cr.Lo >> 0)) >> 0)) & ~1) >> 0) | (((_case & 1) >> 0)))) >> 0;\n\t\t\t\t\t_tmp$3 = true;\n\t\t\t\t\tmappedRune = _tmp$2;\n\t\t\t\t\tfoundMapping = _tmp$3;\n\t\t\t\t\treturn [mappedRune, foundMapping];\n\t\t\t\t}\n\t\t\t\t_tmp$4 = r + delta >> 0;\n\t\t\t\t_tmp$5 = true;\n\t\t\t\tmappedRune = _tmp$4;\n\t\t\t\tfoundMapping = _tmp$5;\n\t\t\t\treturn [mappedRune, foundMapping];\n\t\t\t}\n\t\t\tif (r < ((cr.Lo >> 0))) {\n\t\t\t\thi = m;\n\t\t\t} else {\n\t\t\t\tlo = m + 1 >> 0;\n\t\t\t}\n\t\t}\n\t\t_tmp$6 = r;\n\t\t_tmp$7 = false;\n\t\tmappedRune = _tmp$6;\n\t\tfoundMapping = _tmp$7;\n\t\treturn [mappedRune, foundMapping];\n\t};\n\tIsSpace = function(r) {\n\t\tvar _1, r;\n\t\tif (((r >>> 0)) <= 255) {\n\t\t\t_1 = r;\n\t\t\tif ((_1 === (9)) || (_1 === (10)) || (_1 === (11)) || (_1 === (12)) || (_1 === (13)) || (_1 === (32)) || (_1 === (133)) || (_1 === (160))) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t\treturn isExcludingLatin($pkg.White_Space, r);\n\t};\n\t$pkg.IsSpace = IsSpace;\n\tis16 = function(ranges, r) {\n\t\tvar _i, _q, _r, _r$1, _ref, hi, i, lo, m, r, range_, range_$1, ranges;\n\t\tif (ranges.$length <= 18 || r <= 255) {\n\t\t\t_ref = ranges;\n\t\t\t_i = 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\t\ti = _i;\n\t\t\t\trange_ = ((i < 0 || i >= ranges.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : ranges.$array[ranges.$offset + i]);\n\t\t\t\tif (r < range_.Lo) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (r <= range_.Hi) {\n\t\t\t\t\treturn (range_.Stride === 1) || ((_r = ((r - range_.Lo << 16 >>> 16)) % range_.Stride, _r === _r ? _r : $throwRuntimeError(\"integer divide by zero\")) === 0);\n\t\t\t\t}\n\t\t\t\t_i++;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t\tlo = 0;\n\t\thi = ranges.$length;\n\t\twhile (true) {\n\t\t\tif (!(lo < hi)) { break; }\n\t\t\tm = lo + (_q = ((hi - lo >> 0)) / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError(\"integer divide by zero\")) >> 0;\n\t\t\trange_$1 = ((m < 0 || m >= ranges.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : ranges.$array[ranges.$offset + m]);\n\t\t\tif (range_$1.Lo <= r && r <= range_$1.Hi) {\n\t\t\t\treturn (range_$1.Stride === 1) || ((_r$1 = ((r - range_$1.Lo << 16 >>> 16)) % range_$1.Stride, _r$1 === _r$1 ? _r$1 : $throwRuntimeError(\"integer divide by zero\")) === 0);\n\t\t\t}\n\t\t\tif (r < range_$1.Lo) {\n\t\t\t\thi = m;\n\t\t\t} else {\n\t\t\t\tlo = m + 1 >> 0;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t};\n\tis32 = function(ranges, r) {\n\t\tvar _i, _q, _r, _r$1, _ref, hi, i, lo, m, r, range_, range_$1, ranges;\n\t\tif (ranges.$length <= 18) {\n\t\t\t_ref = ranges;\n\t\t\t_i = 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\t\ti = _i;\n\t\t\t\trange_ = ((i < 0 || i >= ranges.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : ranges.$array[ranges.$offset + i]);\n\t\t\t\tif (r < range_.Lo) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (r <= range_.Hi) {\n\t\t\t\t\treturn (range_.Stride === 1) || ((_r = ((r - range_.Lo >>> 0)) % range_.Stride, _r === _r ? _r : $throwRuntimeError(\"integer divide by zero\")) === 0);\n\t\t\t\t}\n\t\t\t\t_i++;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t\tlo = 0;\n\t\thi = ranges.$length;\n\t\twhile (true) {\n\t\t\tif (!(lo < hi)) { break; }\n\t\t\tm = lo + (_q = ((hi - lo >> 0)) / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError(\"integer divide by zero\")) >> 0;\n\t\t\trange_$1 = $clone(((m < 0 || m >= ranges.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : ranges.$array[ranges.$offset + m]), Range32);\n\t\t\tif (range_$1.Lo <= r && r <= range_$1.Hi) {\n\t\t\t\treturn (range_$1.Stride === 1) || ((_r$1 = ((r - range_$1.Lo >>> 0)) % range_$1.Stride, _r$1 === _r$1 ? _r$1 : $throwRuntimeError(\"integer divide by zero\")) === 0);\n\t\t\t}\n\t\t\tif (r < range_$1.Lo) {\n\t\t\t\thi = m;\n\t\t\t} else {\n\t\t\t\tlo = m + 1 >> 0;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t};\n\tisExcludingLatin = function(rangeTab, r) {\n\t\tvar off, r, r16, r32, rangeTab, x;\n\t\tr16 = rangeTab.R16;\n\t\toff = rangeTab.LatinOffset;\n\t\tif (r16.$length > off && r <= (((x = r16.$length - 1 >> 0, ((x < 0 || x >= r16.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : r16.$array[r16.$offset + x])).Hi >> 0))) {\n\t\t\treturn is16($subslice(r16, off), ((r << 16 >>> 16)));\n\t\t}\n\t\tr32 = rangeTab.R32;\n\t\tif (r32.$length > 0 && r >= (((0 >= r32.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : r32.$array[r32.$offset + 0]).Lo >> 0))) {\n\t\t\treturn is32(r32, ((r >>> 0)));\n\t\t}\n\t\treturn false;\n\t};\n\tTo = function(_case, r) {\n\t\tvar _case, _tuple, r;\n\t\t_tuple = to(_case, r, $pkg.CaseRanges);\n\t\tr = _tuple[0];\n\t\treturn r;\n\t};\n\t$pkg.To = To;\n\tToUpper = function(r) {\n\t\tvar r;\n\t\tif (r <= 127) {\n\t\t\tif (97 <= r && r <= 122) {\n\t\t\t\tr = r - (32) >> 0;\n\t\t\t}\n\t\t\treturn r;\n\t\t}\n\t\treturn To(0, r);\n\t};\n\t$pkg.ToUpper = ToUpper;\n\tToLower = function(r) {\n\t\tvar r;\n\t\tif (r <= 127) {\n\t\t\tif (65 <= r && r <= 90) {\n\t\t\t\tr = r + (32) >> 0;\n\t\t\t}\n\t\t\treturn r;\n\t\t}\n\t\treturn To(1, r);\n\t};\n\t$pkg.ToLower = ToLower;\n\tRangeTable.init(\"\", [{prop: \"R16\", name: \"R16\", embedded: false, exported: true, typ: sliceType, tag: \"\"}, {prop: \"R32\", name: \"R32\", embedded: false, exported: true, typ: sliceType$1, tag: \"\"}, {prop: \"LatinOffset\", name: \"LatinOffset\", embedded: false, exported: true, typ: $Int, tag: \"\"}]);\n\tRange16.init(\"\", [{prop: \"Lo\", name: \"Lo\", embedded: false, exported: true, typ: $Uint16, tag: \"\"}, {prop: \"Hi\", name: \"Hi\", embedded: false, exported: true, typ: $Uint16, tag: \"\"}, {prop: \"Stride\", name: \"Stride\", embedded: false, exported: true, typ: $Uint16, tag: \"\"}]);\n\tRange32.init(\"\", [{prop: \"Lo\", name: \"Lo\", embedded: false, exported: true, typ: $Uint32, tag: \"\"}, {prop: \"Hi\", name: \"Hi\", embedded: false, exported: true, typ: $Uint32, tag: \"\"}, {prop: \"Stride\", name: \"Stride\", embedded: false, exported: true, typ: $Uint32, tag: \"\"}]);\n\tCaseRange.init(\"\", [{prop: \"Lo\", name: \"Lo\", embedded: false, exported: true, typ: $Uint32, tag: \"\"}, {prop: \"Hi\", name: \"Hi\", embedded: false, exported: true, typ: $Uint32, tag: \"\"}, {prop: \"Delta\", name: \"Delta\", embedded: false, exported: true, typ: d, tag: \"\"}]);\n\td.init($Int32, 3);\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_White_Space = new RangeTable.ptr(new sliceType([new Range16.ptr(9, 13, 1), new Range16.ptr(32, 32, 1), new Range16.ptr(133, 133, 1), new Range16.ptr(160, 160, 1), new Range16.ptr(5760, 5760, 1), new Range16.ptr(8192, 8202, 1), new Range16.ptr(8232, 8233, 1), new Range16.ptr(8239, 8239, 1), new Range16.ptr(8287, 8287, 1), new Range16.ptr(12288, 12288, 1)]), sliceType$1.nil, 4);\n\t\t$pkg.White_Space = _White_Space;\n\t\t_CaseRanges = new sliceType$3([new CaseRange.ptr(65, 90, $toNativeArray($kindInt32, [0, 32, 0])), new CaseRange.ptr(97, 122, $toNativeArray($kindInt32, [-32, 0, -32])), new CaseRange.ptr(181, 181, $toNativeArray($kindInt32, [743, 0, 743])), new CaseRange.ptr(192, 214, $toNativeArray($kindInt32, [0, 32, 0])), new CaseRange.ptr(216, 222, $toNativeArray($kindInt32, [0, 32, 0])), new CaseRange.ptr(224, 246, $toNativeArray($kindInt32, [-32, 0, -32])), new CaseRange.ptr(248, 254, $toNativeArray($kindInt32, [-32, 0, -32])), new CaseRange.ptr(255, 255, $toNativeArray($kindInt32, [121, 0, 121])), new CaseRange.ptr(256, 303, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(304, 304, $toNativeArray($kindInt32, [0, -199, 0])), new CaseRange.ptr(305, 305, $toNativeArray($kindInt32, [-232, 0, -232])), new CaseRange.ptr(306, 311, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(313, 328, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(330, 375, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(376, 376, $toNativeArray($kindInt32, [0, -121, 0])), new CaseRange.ptr(377, 382, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(383, 383, $toNativeArray($kindInt32, [-300, 0, -300])), new CaseRange.ptr(384, 384, $toNativeArray($kindInt32, [195, 0, 195])), new CaseRange.ptr(385, 385, $toNativeArray($kindInt32, [0, 210, 0])), new CaseRange.ptr(386, 389, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(390, 390, $toNativeArray($kindInt32, [0, 206, 0])), new CaseRange.ptr(391, 392, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(393, 394, $toNativeArray($kindInt32, [0, 205, 0])), new CaseRange.ptr(395, 396, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(398, 398, $toNativeArray($kindInt32, [0, 79, 0])), new CaseRange.ptr(399, 399, $toNativeArray($kindInt32, [0, 202, 0])), new CaseRange.ptr(400, 400, $toNativeArray($kindInt32, [0, 203, 0])), new CaseRange.ptr(401, 402, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(403, 403, $toNativeArray($kindInt32, [0, 205, 0])), new CaseRange.ptr(404, 404, $toNativeArray($kindInt32, [0, 207, 0])), new CaseRange.ptr(405, 405, $toNativeArray($kindInt32, [97, 0, 97])), new CaseRange.ptr(406, 406, $toNativeArray($kindInt32, [0, 211, 0])), new CaseRange.ptr(407, 407, $toNativeArray($kindInt32, [0, 209, 0])), new CaseRange.ptr(408, 409, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(410, 410, $toNativeArray($kindInt32, [163, 0, 163])), new CaseRange.ptr(412, 412, $toNativeArray($kindInt32, [0, 211, 0])), new CaseRange.ptr(413, 413, $toNativeArray($kindInt32, [0, 213, 0])), new CaseRange.ptr(414, 414, $toNativeArray($kindInt32, [130, 0, 130])), new CaseRange.ptr(415, 415, $toNativeArray($kindInt32, [0, 214, 0])), new CaseRange.ptr(416, 421, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(422, 422, $toNativeArray($kindInt32, [0, 218, 0])), new CaseRange.ptr(423, 424, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(425, 425, $toNativeArray($kindInt32, [0, 218, 0])), new CaseRange.ptr(428, 429, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(430, 430, $toNativeArray($kindInt32, [0, 218, 0])), new CaseRange.ptr(431, 432, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(433, 434, $toNativeArray($kindInt32, [0, 217, 0])), new CaseRange.ptr(435, 438, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(439, 439, $toNativeArray($kindInt32, [0, 219, 0])), new CaseRange.ptr(440, 441, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(444, 445, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(447, 447, $toNativeArray($kindInt32, [56, 0, 56])), new CaseRange.ptr(452, 452, $toNativeArray($kindInt32, [0, 2, 1])), new CaseRange.ptr(453, 453, $toNativeArray($kindInt32, [-1, 1, 0])), new CaseRange.ptr(454, 454, $toNativeArray($kindInt32, [-2, 0, -1])), new CaseRange.ptr(455, 455, $toNativeArray($kindInt32, [0, 2, 1])), new CaseRange.ptr(456, 456, $toNativeArray($kindInt32, [-1, 1, 0])), new CaseRange.ptr(457, 457, $toNativeArray($kindInt32, [-2, 0, -1])), new CaseRange.ptr(458, 458, $toNativeArray($kindInt32, [0, 2, 1])), new CaseRange.ptr(459, 459, $toNativeArray($kindInt32, [-1, 1, 0])), new CaseRange.ptr(460, 460, $toNativeArray($kindInt32, [-2, 0, -1])), new CaseRange.ptr(461, 476, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(477, 477, $toNativeArray($kindInt32, [-79, 0, -79])), new CaseRange.ptr(478, 495, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(497, 497, $toNativeArray($kindInt32, [0, 2, 1])), new CaseRange.ptr(498, 498, $toNativeArray($kindInt32, [-1, 1, 0])), new CaseRange.ptr(499, 499, $toNativeArray($kindInt32, [-2, 0, -1])), new CaseRange.ptr(500, 501, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(502, 502, $toNativeArray($kindInt32, [0, -97, 0])), new CaseRange.ptr(503, 503, $toNativeArray($kindInt32, [0, -56, 0])), new CaseRange.ptr(504, 543, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(544, 544, $toNativeArray($kindInt32, [0, -130, 0])), new CaseRange.ptr(546, 563, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(570, 570, $toNativeArray($kindInt32, [0, 10795, 0])), new CaseRange.ptr(571, 572, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(573, 573, $toNativeArray($kindInt32, [0, -163, 0])), new CaseRange.ptr(574, 574, $toNativeArray($kindInt32, [0, 10792, 0])), new CaseRange.ptr(575, 576, $toNativeArray($kindInt32, [10815, 0, 10815])), new CaseRange.ptr(577, 578, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(579, 579, $toNativeArray($kindInt32, [0, -195, 0])), new CaseRange.ptr(580, 580, $toNativeArray($kindInt32, [0, 69, 0])), new CaseRange.ptr(581, 581, $toNativeArray($kindInt32, [0, 71, 0])), new CaseRange.ptr(582, 591, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(592, 592, $toNativeArray($kindInt32, [10783, 0, 10783])), new CaseRange.ptr(593, 593, $toNativeArray($kindInt32, [10780, 0, 10780])), new CaseRange.ptr(594, 594, $toNativeArray($kindInt32, [10782, 0, 10782])), new CaseRange.ptr(595, 595, $toNativeArray($kindInt32, [-210, 0, -210])), new CaseRange.ptr(596, 596, $toNativeArray($kindInt32, [-206, 0, -206])), new CaseRange.ptr(598, 599, $toNativeArray($kindInt32, [-205, 0, -205])), new CaseRange.ptr(601, 601, $toNativeArray($kindInt32, [-202, 0, -202])), new CaseRange.ptr(603, 603, $toNativeArray($kindInt32, [-203, 0, -203])), new CaseRange.ptr(604, 604, $toNativeArray($kindInt32, [42319, 0, 42319])), new CaseRange.ptr(608, 608, $toNativeArray($kindInt32, [-205, 0, -205])), new CaseRange.ptr(609, 609, $toNativeArray($kindInt32, [42315, 0, 42315])), new CaseRange.ptr(611, 611, $toNativeArray($kindInt32, [-207, 0, -207])), new CaseRange.ptr(613, 613, $toNativeArray($kindInt32, [42280, 0, 42280])), new CaseRange.ptr(614, 614, $toNativeArray($kindInt32, [42308, 0, 42308])), new CaseRange.ptr(616, 616, $toNativeArray($kindInt32, [-209, 0, -209])), new CaseRange.ptr(617, 617, $toNativeArray($kindInt32, [-211, 0, -211])), new CaseRange.ptr(618, 618, $toNativeArray($kindInt32, [42308, 0, 42308])), new CaseRange.ptr(619, 619, $toNativeArray($kindInt32, [10743, 0, 10743])), new CaseRange.ptr(620, 620, $toNativeArray($kindInt32, [42305, 0, 42305])), new CaseRange.ptr(623, 623, $toNativeArray($kindInt32, [-211, 0, -211])), new CaseRange.ptr(625, 625, $toNativeArray($kindInt32, [10749, 0, 10749])), new CaseRange.ptr(626, 626, $toNativeArray($kindInt32, [-213, 0, -213])), new CaseRange.ptr(629, 629, $toNativeArray($kindInt32, [-214, 0, -214])), new CaseRange.ptr(637, 637, $toNativeArray($kindInt32, [10727, 0, 10727])), new CaseRange.ptr(640, 640, $toNativeArray($kindInt32, [-218, 0, -218])), new CaseRange.ptr(643, 643, $toNativeArray($kindInt32, [-218, 0, -218])), new CaseRange.ptr(647, 647, $toNativeArray($kindInt32, [42282, 0, 42282])), new CaseRange.ptr(648, 648, $toNativeArray($kindInt32, [-218, 0, -218])), new CaseRange.ptr(649, 649, $toNativeArray($kindInt32, [-69, 0, -69])), new CaseRange.ptr(650, 651, $toNativeArray($kindInt32, [-217, 0, -217])), new CaseRange.ptr(652, 652, $toNativeArray($kindInt32, [-71, 0, -71])), new CaseRange.ptr(658, 658, $toNativeArray($kindInt32, [-219, 0, -219])), new CaseRange.ptr(669, 669, $toNativeArray($kindInt32, [42261, 0, 42261])), new CaseRange.ptr(670, 670, $toNativeArray($kindInt32, [42258, 0, 42258])), new CaseRange.ptr(837, 837, $toNativeArray($kindInt32, [84, 0, 84])), new CaseRange.ptr(880, 883, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(886, 887, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(891, 893, $toNativeArray($kindInt32, [130, 0, 130])), new CaseRange.ptr(895, 895, $toNativeArray($kindInt32, [0, 116, 0])), new CaseRange.ptr(902, 902, $toNativeArray($kindInt32, [0, 38, 0])), new CaseRange.ptr(904, 906, $toNativeArray($kindInt32, [0, 37, 0])), new CaseRange.ptr(908, 908, $toNativeArray($kindInt32, [0, 64, 0])), new CaseRange.ptr(910, 911, $toNativeArray($kindInt32, [0, 63, 0])), new CaseRange.ptr(913, 929, $toNativeArray($kindInt32, [0, 32, 0])), new CaseRange.ptr(931, 939, $toNativeArray($kindInt32, [0, 32, 0])), new CaseRange.ptr(940, 940, $toNativeArray($kindInt32, [-38, 0, -38])), new CaseRange.ptr(941, 943, $toNativeArray($kindInt32, [-37, 0, -37])), new CaseRange.ptr(945, 961, $toNativeArray($kindInt32, [-32, 0, -32])), new CaseRange.ptr(962, 962, $toNativeArray($kindInt32, [-31, 0, -31])), new CaseRange.ptr(963, 971, $toNativeArray($kindInt32, [-32, 0, -32])), new CaseRange.ptr(972, 972, $toNativeArray($kindInt32, [-64, 0, -64])), new CaseRange.ptr(973, 974, $toNativeArray($kindInt32, [-63, 0, -63])), new CaseRange.ptr(975, 975, $toNativeArray($kindInt32, [0, 8, 0])), new CaseRange.ptr(976, 976, $toNativeArray($kindInt32, [-62, 0, -62])), new CaseRange.ptr(977, 977, $toNativeArray($kindInt32, [-57, 0, -57])), new CaseRange.ptr(981, 981, $toNativeArray($kindInt32, [-47, 0, -47])), new CaseRange.ptr(982, 982, $toNativeArray($kindInt32, [-54, 0, -54])), new CaseRange.ptr(983, 983, $toNativeArray($kindInt32, [-8, 0, -8])), new CaseRange.ptr(984, 1007, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(1008, 1008, $toNativeArray($kindInt32, [-86, 0, -86])), new CaseRange.ptr(1009, 1009, $toNativeArray($kindInt32, [-80, 0, -80])), new CaseRange.ptr(1010, 1010, $toNativeArray($kindInt32, [7, 0, 7])), new CaseRange.ptr(1011, 1011, $toNativeArray($kindInt32, [-116, 0, -116])), new CaseRange.ptr(1012, 1012, $toNativeArray($kindInt32, [0, -60, 0])), new CaseRange.ptr(1013, 1013, $toNativeArray($kindInt32, [-96, 0, -96])), new CaseRange.ptr(1015, 1016, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(1017, 1017, $toNativeArray($kindInt32, [0, -7, 0])), new CaseRange.ptr(1018, 1019, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(1021, 1023, $toNativeArray($kindInt32, [0, -130, 0])), new CaseRange.ptr(1024, 1039, $toNativeArray($kindInt32, [0, 80, 0])), new CaseRange.ptr(1040, 1071, $toNativeArray($kindInt32, [0, 32, 0])), new CaseRange.ptr(1072, 1103, $toNativeArray($kindInt32, [-32, 0, -32])), new CaseRange.ptr(1104, 1119, $toNativeArray($kindInt32, [-80, 0, -80])), new CaseRange.ptr(1120, 1153, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(1162, 1215, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(1216, 1216, $toNativeArray($kindInt32, [0, 15, 0])), new CaseRange.ptr(1217, 1230, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(1231, 1231, $toNativeArray($kindInt32, [-15, 0, -15])), new CaseRange.ptr(1232, 1327, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(1329, 1366, $toNativeArray($kindInt32, [0, 48, 0])), new CaseRange.ptr(1377, 1414, $toNativeArray($kindInt32, [-48, 0, -48])), new CaseRange.ptr(4256, 4293, $toNativeArray($kindInt32, [0, 7264, 0])), new CaseRange.ptr(4295, 4295, $toNativeArray($kindInt32, [0, 7264, 0])), new CaseRange.ptr(4301, 4301, $toNativeArray($kindInt32, [0, 7264, 0])), new CaseRange.ptr(5024, 5103, $toNativeArray($kindInt32, [0, 38864, 0])), new CaseRange.ptr(5104, 5109, $toNativeArray($kindInt32, [0, 8, 0])), new CaseRange.ptr(5112, 5117, $toNativeArray($kindInt32, [-8, 0, -8])), new CaseRange.ptr(7296, 7296, $toNativeArray($kindInt32, [-6254, 0, -6254])), new CaseRange.ptr(7297, 7297, $toNativeArray($kindInt32, [-6253, 0, -6253])), new CaseRange.ptr(7298, 7298, $toNativeArray($kindInt32, [-6244, 0, -6244])), new CaseRange.ptr(7299, 7300, $toNativeArray($kindInt32, [-6242, 0, -6242])), new CaseRange.ptr(7301, 7301, $toNativeArray($kindInt32, [-6243, 0, -6243])), new CaseRange.ptr(7302, 7302, $toNativeArray($kindInt32, [-6236, 0, -6236])), new CaseRange.ptr(7303, 7303, $toNativeArray($kindInt32, [-6181, 0, -6181])), new CaseRange.ptr(7304, 7304, $toNativeArray($kindInt32, [35266, 0, 35266])), new CaseRange.ptr(7545, 7545, $toNativeArray($kindInt32, [35332, 0, 35332])), new CaseRange.ptr(7549, 7549, $toNativeArray($kindInt32, [3814, 0, 3814])), new CaseRange.ptr(7680, 7829, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(7835, 7835, $toNativeArray($kindInt32, [-59, 0, -59])), new CaseRange.ptr(7838, 7838, $toNativeArray($kindInt32, [0, -7615, 0])), new CaseRange.ptr(7840, 7935, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(7936, 7943, $toNativeArray($kindInt32, [8, 0, 8])), new CaseRange.ptr(7944, 7951, $toNativeArray($kindInt32, [0, -8, 0])), new CaseRange.ptr(7952, 7957, $toNativeArray($kindInt32, [8, 0, 8])), new CaseRange.ptr(7960, 7965, $toNativeArray($kindInt32, [0, -8, 0])), new CaseRange.ptr(7968, 7975, $toNativeArray($kindInt32, [8, 0, 8])), new CaseRange.ptr(7976, 7983, $toNativeArray($kindInt32, [0, -8, 0])), new CaseRange.ptr(7984, 7991, $toNativeArray($kindInt32, [8, 0, 8])), new CaseRange.ptr(7992, 7999, $toNativeArray($kindInt32, [0, -8, 0])), new CaseRange.ptr(8000, 8005, $toNativeArray($kindInt32, [8, 0, 8])), new CaseRange.ptr(8008, 8013, $toNativeArray($kindInt32, [0, -8, 0])), new CaseRange.ptr(8017, 8017, $toNativeArray($kindInt32, [8, 0, 8])), new CaseRange.ptr(8019, 8019, $toNativeArray($kindInt32, [8, 0, 8])), new CaseRange.ptr(8021, 8021, $toNativeArray($kindInt32, [8, 0, 8])), new CaseRange.ptr(8023, 8023, $toNativeArray($kindInt32, [8, 0, 8])), new CaseRange.ptr(8025, 8025, $toNativeArray($kindInt32, [0, -8, 0])), new CaseRange.ptr(8027, 8027, $toNativeArray($kindInt32, [0, -8, 0])), new CaseRange.ptr(8029, 8029, $toNativeArray($kindInt32, [0, -8, 0])), new CaseRange.ptr(8031, 8031, $toNativeArray($kindInt32, [0, -8, 0])), new CaseRange.ptr(8032, 8039, $toNativeArray($kindInt32, [8, 0, 8])), new CaseRange.ptr(8040, 8047, $toNativeArray($kindInt32, [0, -8, 0])), new CaseRange.ptr(8048, 8049, $toNativeArray($kindInt32, [74, 0, 74])), new CaseRange.ptr(8050, 8053, $toNativeArray($kindInt32, [86, 0, 86])), new CaseRange.ptr(8054, 8055, $toNativeArray($kindInt32, [100, 0, 100])), new CaseRange.ptr(8056, 8057, $toNativeArray($kindInt32, [128, 0, 128])), new CaseRange.ptr(8058, 8059, $toNativeArray($kindInt32, [112, 0, 112])), new CaseRange.ptr(8060, 8061, $toNativeArray($kindInt32, [126, 0, 126])), new CaseRange.ptr(8064, 8071, $toNativeArray($kindInt32, [8, 0, 8])), new CaseRange.ptr(8072, 8079, $toNativeArray($kindInt32, [0, -8, 0])), new CaseRange.ptr(8080, 8087, $toNativeArray($kindInt32, [8, 0, 8])), new CaseRange.ptr(8088, 8095, $toNativeArray($kindInt32, [0, -8, 0])), new CaseRange.ptr(8096, 8103, $toNativeArray($kindInt32, [8, 0, 8])), new CaseRange.ptr(8104, 8111, $toNativeArray($kindInt32, [0, -8, 0])), new CaseRange.ptr(8112, 8113, $toNativeArray($kindInt32, [8, 0, 8])), new CaseRange.ptr(8115, 8115, $toNativeArray($kindInt32, [9, 0, 9])), new CaseRange.ptr(8120, 8121, $toNativeArray($kindInt32, [0, -8, 0])), new CaseRange.ptr(8122, 8123, $toNativeArray($kindInt32, [0, -74, 0])), new CaseRange.ptr(8124, 8124, $toNativeArray($kindInt32, [0, -9, 0])), new CaseRange.ptr(8126, 8126, $toNativeArray($kindInt32, [-7205, 0, -7205])), new CaseRange.ptr(8131, 8131, $toNativeArray($kindInt32, [9, 0, 9])), new CaseRange.ptr(8136, 8139, $toNativeArray($kindInt32, [0, -86, 0])), new CaseRange.ptr(8140, 8140, $toNativeArray($kindInt32, [0, -9, 0])), new CaseRange.ptr(8144, 8145, $toNativeArray($kindInt32, [8, 0, 8])), new CaseRange.ptr(8152, 8153, $toNativeArray($kindInt32, [0, -8, 0])), new CaseRange.ptr(8154, 8155, $toNativeArray($kindInt32, [0, -100, 0])), new CaseRange.ptr(8160, 8161, $toNativeArray($kindInt32, [8, 0, 8])), new CaseRange.ptr(8165, 8165, $toNativeArray($kindInt32, [7, 0, 7])), new CaseRange.ptr(8168, 8169, $toNativeArray($kindInt32, [0, -8, 0])), new CaseRange.ptr(8170, 8171, $toNativeArray($kindInt32, [0, -112, 0])), new CaseRange.ptr(8172, 8172, $toNativeArray($kindInt32, [0, -7, 0])), new CaseRange.ptr(8179, 8179, $toNativeArray($kindInt32, [9, 0, 9])), new CaseRange.ptr(8184, 8185, $toNativeArray($kindInt32, [0, -128, 0])), new CaseRange.ptr(8186, 8187, $toNativeArray($kindInt32, [0, -126, 0])), new CaseRange.ptr(8188, 8188, $toNativeArray($kindInt32, [0, -9, 0])), new CaseRange.ptr(8486, 8486, $toNativeArray($kindInt32, [0, -7517, 0])), new CaseRange.ptr(8490, 8490, $toNativeArray($kindInt32, [0, -8383, 0])), new CaseRange.ptr(8491, 8491, $toNativeArray($kindInt32, [0, -8262, 0])), new CaseRange.ptr(8498, 8498, $toNativeArray($kindInt32, [0, 28, 0])), new CaseRange.ptr(8526, 8526, $toNativeArray($kindInt32, [-28, 0, -28])), new CaseRange.ptr(8544, 8559, $toNativeArray($kindInt32, [0, 16, 0])), new CaseRange.ptr(8560, 8575, $toNativeArray($kindInt32, [-16, 0, -16])), new CaseRange.ptr(8579, 8580, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(9398, 9423, $toNativeArray($kindInt32, [0, 26, 0])), new CaseRange.ptr(9424, 9449, $toNativeArray($kindInt32, [-26, 0, -26])), new CaseRange.ptr(11264, 11310, $toNativeArray($kindInt32, [0, 48, 0])), new CaseRange.ptr(11312, 11358, $toNativeArray($kindInt32, [-48, 0, -48])), new CaseRange.ptr(11360, 11361, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(11362, 11362, $toNativeArray($kindInt32, [0, -10743, 0])), new CaseRange.ptr(11363, 11363, $toNativeArray($kindInt32, [0, -3814, 0])), new CaseRange.ptr(11364, 11364, $toNativeArray($kindInt32, [0, -10727, 0])), new CaseRange.ptr(11365, 11365, $toNativeArray($kindInt32, [-10795, 0, -10795])), new CaseRange.ptr(11366, 11366, $toNativeArray($kindInt32, [-10792, 0, -10792])), new CaseRange.ptr(11367, 11372, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(11373, 11373, $toNativeArray($kindInt32, [0, -10780, 0])), new CaseRange.ptr(11374, 11374, $toNativeArray($kindInt32, [0, -10749, 0])), new CaseRange.ptr(11375, 11375, $toNativeArray($kindInt32, [0, -10783, 0])), new CaseRange.ptr(11376, 11376, $toNativeArray($kindInt32, [0, -10782, 0])), new CaseRange.ptr(11378, 11379, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(11381, 11382, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(11390, 11391, $toNativeArray($kindInt32, [0, -10815, 0])), new CaseRange.ptr(11392, 11491, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(11499, 11502, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(11506, 11507, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(11520, 11557, $toNativeArray($kindInt32, [-7264, 0, -7264])), new CaseRange.ptr(11559, 11559, $toNativeArray($kindInt32, [-7264, 0, -7264])), new CaseRange.ptr(11565, 11565, $toNativeArray($kindInt32, [-7264, 0, -7264])), new CaseRange.ptr(42560, 42605, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(42624, 42651, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(42786, 42799, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(42802, 42863, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(42873, 42876, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(42877, 42877, $toNativeArray($kindInt32, [0, -35332, 0])), new CaseRange.ptr(42878, 42887, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(42891, 42892, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(42893, 42893, $toNativeArray($kindInt32, [0, -42280, 0])), new CaseRange.ptr(42896, 42899, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(42902, 42921, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(42922, 42922, $toNativeArray($kindInt32, [0, -42308, 0])), new CaseRange.ptr(42923, 42923, $toNativeArray($kindInt32, [0, -42319, 0])), new CaseRange.ptr(42924, 42924, $toNativeArray($kindInt32, [0, -42315, 0])), new CaseRange.ptr(42925, 42925, $toNativeArray($kindInt32, [0, -42305, 0])), new CaseRange.ptr(42926, 42926, $toNativeArray($kindInt32, [0, -42308, 0])), new CaseRange.ptr(42928, 42928, $toNativeArray($kindInt32, [0, -42258, 0])), new CaseRange.ptr(42929, 42929, $toNativeArray($kindInt32, [0, -42282, 0])), new CaseRange.ptr(42930, 42930, $toNativeArray($kindInt32, [0, -42261, 0])), new CaseRange.ptr(42931, 42931, $toNativeArray($kindInt32, [0, 928, 0])), new CaseRange.ptr(42932, 42935, $toNativeArray($kindInt32, [1114112, 1114112, 1114112])), new CaseRange.ptr(43859, 43859, $toNativeArray($kindInt32, [-928, 0, -928])), new CaseRange.ptr(43888, 43967, $toNativeArray($kindInt32, [-38864, 0, -38864])), new CaseRange.ptr(65313, 65338, $toNativeArray($kindInt32, [0, 32, 0])), new CaseRange.ptr(65345, 65370, $toNativeArray($kindInt32, [-32, 0, -32])), new CaseRange.ptr(66560, 66599, $toNativeArray($kindInt32, [0, 40, 0])), new CaseRange.ptr(66600, 66639, $toNativeArray($kindInt32, [-40, 0, -40])), new CaseRange.ptr(66736, 66771, $toNativeArray($kindInt32, [0, 40, 0])), new CaseRange.ptr(66776, 66811, $toNativeArray($kindInt32, [-40, 0, -40])), new CaseRange.ptr(68736, 68786, $toNativeArray($kindInt32, [0, 64, 0])), new CaseRange.ptr(68800, 68850, $toNativeArray($kindInt32, [-64, 0, -64])), new CaseRange.ptr(71840, 71871, $toNativeArray($kindInt32, [0, 32, 0])), new CaseRange.ptr(71872, 71903, $toNativeArray($kindInt32, [-32, 0, -32])), new CaseRange.ptr(125184, 125217, $toNativeArray($kindInt32, [0, 34, 0])), new CaseRange.ptr(125218, 125251, $toNativeArray($kindInt32, [-34, 0, -34]))]);\n\t\t$pkg.CaseRanges = _CaseRanges;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"unicode/utf8\"] = (function() {\n\tvar $pkg = {}, $init, acceptRange, first, acceptRanges, FullRune, DecodeRune, DecodeRuneInString, DecodeLastRuneInString, RuneLen, EncodeRune, RuneCount, RuneCountInString, RuneStart, ValidString, ValidRune;\n\tacceptRange = $pkg.acceptRange = $newType(0, $kindStruct, \"utf8.acceptRange\", true, \"unicode/utf8\", false, function(lo_, hi_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.lo = 0;\n\t\t\tthis.hi = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.lo = lo_;\n\t\tthis.hi = hi_;\n\t});\n\tFullRune = function(p) {\n\t\tvar accept, n, p, x, x$1, x$2;\n\t\tn = p.$length;\n\t\tif (n === 0) {\n\t\t\treturn false;\n\t\t}\n\t\tx$1 = (x = (0 >= p.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + 0]), ((x < 0 || x >= first.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : first[x]));\n\t\tif (n >= ((((x$1 & 7) >>> 0) >> 0))) {\n\t\t\treturn true;\n\t\t}\n\t\taccept = $clone((x$2 = x$1 >>> 4 << 24 >>> 24, ((x$2 < 0 || x$2 >= acceptRanges.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : acceptRanges[x$2])), acceptRange);\n\t\tif (n > 1 && ((1 >= p.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + 1]) < accept.lo || accept.hi < (1 >= p.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + 1]))) {\n\t\t\treturn true;\n\t\t} else if (n > 2 && ((2 >= p.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + 2]) < 128 || 191 < (2 >= p.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + 2]))) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t};\n\t$pkg.FullRune = FullRune;\n\tDecodeRune = function(p) {\n\t\tvar _tmp, _tmp$1, _tmp$10, _tmp$11, _tmp$12, _tmp$13, _tmp$14, _tmp$15, _tmp$16, _tmp$17, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, accept, b1, b2, b3, mask, n, p, p0, r, size, sz, x, x$1;\n\t\tr = 0;\n\t\tsize = 0;\n\t\tn = p.$length;\n\t\tif (n < 1) {\n\t\t\t_tmp = 65533;\n\t\t\t_tmp$1 = 0;\n\t\t\tr = _tmp;\n\t\t\tsize = _tmp$1;\n\t\t\treturn [r, size];\n\t\t}\n\t\tp0 = (0 >= p.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + 0]);\n\t\tx = ((p0 < 0 || p0 >= first.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : first[p0]);\n\t\tif (x >= 240) {\n\t\t\tmask = (((x >> 0)) << 31 >> 0) >> 31 >> 0;\n\t\t\t_tmp$2 = (((((0 >= p.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + 0]) >> 0)) & ~mask) >> 0) | (65533 & mask);\n\t\t\t_tmp$3 = 1;\n\t\t\tr = _tmp$2;\n\t\t\tsize = _tmp$3;\n\t\t\treturn [r, size];\n\t\t}\n\t\tsz = (x & 7) >>> 0;\n\t\taccept = $clone((x$1 = x >>> 4 << 24 >>> 24, ((x$1 < 0 || x$1 >= acceptRanges.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : acceptRanges[x$1])), acceptRange);\n\t\tif (n < ((sz >> 0))) {\n\t\t\t_tmp$4 = 65533;\n\t\t\t_tmp$5 = 1;\n\t\t\tr = _tmp$4;\n\t\t\tsize = _tmp$5;\n\t\t\treturn [r, size];\n\t\t}\n\t\tb1 = (1 >= p.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + 1]);\n\t\tif (b1 < accept.lo || accept.hi < b1) {\n\t\t\t_tmp$6 = 65533;\n\t\t\t_tmp$7 = 1;\n\t\t\tr = _tmp$6;\n\t\t\tsize = _tmp$7;\n\t\t\treturn [r, size];\n\t\t}\n\t\tif (sz === 2) {\n\t\t\t_tmp$8 = (((((p0 & 31) >>> 0) >> 0)) << 6 >> 0) | ((((b1 & 63) >>> 0) >> 0));\n\t\t\t_tmp$9 = 2;\n\t\t\tr = _tmp$8;\n\t\t\tsize = _tmp$9;\n\t\t\treturn [r, size];\n\t\t}\n\t\tb2 = (2 >= p.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + 2]);\n\t\tif (b2 < 128 || 191 < b2) {\n\t\t\t_tmp$10 = 65533;\n\t\t\t_tmp$11 = 1;\n\t\t\tr = _tmp$10;\n\t\t\tsize = _tmp$11;\n\t\t\treturn [r, size];\n\t\t}\n\t\tif (sz === 3) {\n\t\t\t_tmp$12 = ((((((p0 & 15) >>> 0) >> 0)) << 12 >> 0) | (((((b1 & 63) >>> 0) >> 0)) << 6 >> 0)) | ((((b2 & 63) >>> 0) >> 0));\n\t\t\t_tmp$13 = 3;\n\t\t\tr = _tmp$12;\n\t\t\tsize = _tmp$13;\n\t\t\treturn [r, size];\n\t\t}\n\t\tb3 = (3 >= p.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + 3]);\n\t\tif (b3 < 128 || 191 < b3) {\n\t\t\t_tmp$14 = 65533;\n\t\t\t_tmp$15 = 1;\n\t\t\tr = _tmp$14;\n\t\t\tsize = _tmp$15;\n\t\t\treturn [r, size];\n\t\t}\n\t\t_tmp$16 = (((((((p0 & 7) >>> 0) >> 0)) << 18 >> 0) | (((((b1 & 63) >>> 0) >> 0)) << 12 >> 0)) | (((((b2 & 63) >>> 0) >> 0)) << 6 >> 0)) | ((((b3 & 63) >>> 0) >> 0));\n\t\t_tmp$17 = 4;\n\t\tr = _tmp$16;\n\t\tsize = _tmp$17;\n\t\treturn [r, size];\n\t};\n\t$pkg.DecodeRune = DecodeRune;\n\tDecodeRuneInString = function(s) {\n\t\tvar _tmp, _tmp$1, _tmp$10, _tmp$11, _tmp$12, _tmp$13, _tmp$14, _tmp$15, _tmp$16, _tmp$17, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, accept, mask, n, r, s, s0, s1, s2, s3, size, sz, x, x$1;\n\t\tr = 0;\n\t\tsize = 0;\n\t\tn = s.length;\n\t\tif (n < 1) {\n\t\t\t_tmp = 65533;\n\t\t\t_tmp$1 = 0;\n\t\t\tr = _tmp;\n\t\t\tsize = _tmp$1;\n\t\t\treturn [r, size];\n\t\t}\n\t\ts0 = s.charCodeAt(0);\n\t\tx = ((s0 < 0 || s0 >= first.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : first[s0]);\n\t\tif (x >= 240) {\n\t\t\tmask = (((x >> 0)) << 31 >> 0) >> 31 >> 0;\n\t\t\t_tmp$2 = ((((s.charCodeAt(0) >> 0)) & ~mask) >> 0) | (65533 & mask);\n\t\t\t_tmp$3 = 1;\n\t\t\tr = _tmp$2;\n\t\t\tsize = _tmp$3;\n\t\t\treturn [r, size];\n\t\t}\n\t\tsz = (x & 7) >>> 0;\n\t\taccept = $clone((x$1 = x >>> 4 << 24 >>> 24, ((x$1 < 0 || x$1 >= acceptRanges.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : acceptRanges[x$1])), acceptRange);\n\t\tif (n < ((sz >> 0))) {\n\t\t\t_tmp$4 = 65533;\n\t\t\t_tmp$5 = 1;\n\t\t\tr = _tmp$4;\n\t\t\tsize = _tmp$5;\n\t\t\treturn [r, size];\n\t\t}\n\t\ts1 = s.charCodeAt(1);\n\t\tif (s1 < accept.lo || accept.hi < s1) {\n\t\t\t_tmp$6 = 65533;\n\t\t\t_tmp$7 = 1;\n\t\t\tr = _tmp$6;\n\t\t\tsize = _tmp$7;\n\t\t\treturn [r, size];\n\t\t}\n\t\tif (sz === 2) {\n\t\t\t_tmp$8 = (((((s0 & 31) >>> 0) >> 0)) << 6 >> 0) | ((((s1 & 63) >>> 0) >> 0));\n\t\t\t_tmp$9 = 2;\n\t\t\tr = _tmp$8;\n\t\t\tsize = _tmp$9;\n\t\t\treturn [r, size];\n\t\t}\n\t\ts2 = s.charCodeAt(2);\n\t\tif (s2 < 128 || 191 < s2) {\n\t\t\t_tmp$10 = 65533;\n\t\t\t_tmp$11 = 1;\n\t\t\tr = _tmp$10;\n\t\t\tsize = _tmp$11;\n\t\t\treturn [r, size];\n\t\t}\n\t\tif (sz === 3) {\n\t\t\t_tmp$12 = ((((((s0 & 15) >>> 0) >> 0)) << 12 >> 0) | (((((s1 & 63) >>> 0) >> 0)) << 6 >> 0)) | ((((s2 & 63) >>> 0) >> 0));\n\t\t\t_tmp$13 = 3;\n\t\t\tr = _tmp$12;\n\t\t\tsize = _tmp$13;\n\t\t\treturn [r, size];\n\t\t}\n\t\ts3 = s.charCodeAt(3);\n\t\tif (s3 < 128 || 191 < s3) {\n\t\t\t_tmp$14 = 65533;\n\t\t\t_tmp$15 = 1;\n\t\t\tr = _tmp$14;\n\t\t\tsize = _tmp$15;\n\t\t\treturn [r, size];\n\t\t}\n\t\t_tmp$16 = (((((((s0 & 7) >>> 0) >> 0)) << 18 >> 0) | (((((s1 & 63) >>> 0) >> 0)) << 12 >> 0)) | (((((s2 & 63) >>> 0) >> 0)) << 6 >> 0)) | ((((s3 & 63) >>> 0) >> 0));\n\t\t_tmp$17 = 4;\n\t\tr = _tmp$16;\n\t\tsize = _tmp$17;\n\t\treturn [r, size];\n\t};\n\t$pkg.DecodeRuneInString = DecodeRuneInString;\n\tDecodeLastRuneInString = function(s) {\n\t\tvar _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tuple, end, lim, r, s, size, start;\n\t\tr = 0;\n\t\tsize = 0;\n\t\tend = s.length;\n\t\tif (end === 0) {\n\t\t\t_tmp = 65533;\n\t\t\t_tmp$1 = 0;\n\t\t\tr = _tmp;\n\t\t\tsize = _tmp$1;\n\t\t\treturn [r, size];\n\t\t}\n\t\tstart = end - 1 >> 0;\n\t\tr = ((s.charCodeAt(start) >> 0));\n\t\tif (r < 128) {\n\t\t\t_tmp$2 = r;\n\t\t\t_tmp$3 = 1;\n\t\t\tr = _tmp$2;\n\t\t\tsize = _tmp$3;\n\t\t\treturn [r, size];\n\t\t}\n\t\tlim = end - 4 >> 0;\n\t\tif (lim < 0) {\n\t\t\tlim = 0;\n\t\t}\n\t\tstart = start - (1) >> 0;\n\t\twhile (true) {\n\t\t\tif (!(start >= lim)) { break; }\n\t\t\tif (RuneStart(s.charCodeAt(start))) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tstart = start - (1) >> 0;\n\t\t}\n\t\tif (start < 0) {\n\t\t\tstart = 0;\n\t\t}\n\t\t_tuple = DecodeRuneInString($substring(s, start, end));\n\t\tr = _tuple[0];\n\t\tsize = _tuple[1];\n\t\tif (!(((start + size >> 0) === end))) {\n\t\t\t_tmp$4 = 65533;\n\t\t\t_tmp$5 = 1;\n\t\t\tr = _tmp$4;\n\t\t\tsize = _tmp$5;\n\t\t\treturn [r, size];\n\t\t}\n\t\t_tmp$6 = r;\n\t\t_tmp$7 = size;\n\t\tr = _tmp$6;\n\t\tsize = _tmp$7;\n\t\treturn [r, size];\n\t};\n\t$pkg.DecodeLastRuneInString = DecodeLastRuneInString;\n\tRuneLen = function(r) {\n\t\tvar r;\n\t\tif (r < 0) {\n\t\t\treturn -1;\n\t\t} else if (r <= 127) {\n\t\t\treturn 1;\n\t\t} else if (r <= 2047) {\n\t\t\treturn 2;\n\t\t} else if (55296 <= r && r <= 57343) {\n\t\t\treturn -1;\n\t\t} else if (r <= 65535) {\n\t\t\treturn 3;\n\t\t} else if (r <= 1114111) {\n\t\t\treturn 4;\n\t\t}\n\t\treturn -1;\n\t};\n\t$pkg.RuneLen = RuneLen;\n\tEncodeRune = function(p, r) {\n\t\tvar i, p, r;\n\t\ti = ((r >>> 0));\n\t\tif (i <= 127) {\n\t\t\t(0 >= p.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + 0] = ((r << 24 >>> 24)));\n\t\t\treturn 1;\n\t\t} else if (i <= 2047) {\n\t\t\t$unused((1 >= p.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + 1]));\n\t\t\t(0 >= p.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + 0] = ((192 | (((r >> 6 >> 0) << 24 >>> 24))) >>> 0));\n\t\t\t(1 >= p.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + 1] = ((128 | ((((r << 24 >>> 24)) & 63) >>> 0)) >>> 0));\n\t\t\treturn 2;\n\t\t} else if ((i > 1114111) || (55296 <= i && i <= 57343)) {\n\t\t\tr = 65533;\n\t\t\t$unused((2 >= p.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + 2]));\n\t\t\t(0 >= p.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + 0] = ((224 | (((r >> 12 >> 0) << 24 >>> 24))) >>> 0));\n\t\t\t(1 >= p.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + 1] = ((128 | (((((r >> 6 >> 0) << 24 >>> 24)) & 63) >>> 0)) >>> 0));\n\t\t\t(2 >= p.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + 2] = ((128 | ((((r << 24 >>> 24)) & 63) >>> 0)) >>> 0));\n\t\t\treturn 3;\n\t\t} else if (i <= 65535) {\n\t\t\t$unused((2 >= p.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + 2]));\n\t\t\t(0 >= p.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + 0] = ((224 | (((r >> 12 >> 0) << 24 >>> 24))) >>> 0));\n\t\t\t(1 >= p.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + 1] = ((128 | (((((r >> 6 >> 0) << 24 >>> 24)) & 63) >>> 0)) >>> 0));\n\t\t\t(2 >= p.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + 2] = ((128 | ((((r << 24 >>> 24)) & 63) >>> 0)) >>> 0));\n\t\t\treturn 3;\n\t\t} else {\n\t\t\t$unused((3 >= p.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + 3]));\n\t\t\t(0 >= p.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + 0] = ((240 | (((r >> 18 >> 0) << 24 >>> 24))) >>> 0));\n\t\t\t(1 >= p.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + 1] = ((128 | (((((r >> 12 >> 0) << 24 >>> 24)) & 63) >>> 0)) >>> 0));\n\t\t\t(2 >= p.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + 2] = ((128 | (((((r >> 6 >> 0) << 24 >>> 24)) & 63) >>> 0)) >>> 0));\n\t\t\t(3 >= p.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + 3] = ((128 | ((((r << 24 >>> 24)) & 63) >>> 0)) >>> 0));\n\t\t\treturn 4;\n\t\t}\n\t};\n\t$pkg.EncodeRune = EncodeRune;\n\tRuneCount = function(p) {\n\t\tvar accept, c, c$1, c$2, c$3, i, n, np, p, size, x, x$1, x$2, x$3, x$4;\n\t\tnp = p.$length;\n\t\tn = 0;\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < np)) { break; }\n\t\t\tn = n + (1) >> 0;\n\t\t\tc = ((i < 0 || i >= p.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + i]);\n\t\t\tif (c < 128) {\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tx = ((c < 0 || c >= first.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : first[c]);\n\t\t\tif (x === 241) {\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tsize = ((((x & 7) >>> 0) >> 0));\n\t\t\tif ((i + size >> 0) > np) {\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\taccept = $clone((x$1 = x >>> 4 << 24 >>> 24, ((x$1 < 0 || x$1 >= acceptRanges.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : acceptRanges[x$1])), acceptRange);\n\t\t\tc$1 = (x$2 = i + 1 >> 0, ((x$2 < 0 || x$2 >= p.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + x$2]));\n\t\t\tif (c$1 < accept.lo || accept.hi < c$1) {\n\t\t\t\tsize = 1;\n\t\t\t} else if (size === 2) {\n\t\t\t} else {\n\t\t\t\tc$2 = (x$3 = i + 2 >> 0, ((x$3 < 0 || x$3 >= p.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + x$3]));\n\t\t\t\tif (c$2 < 128 || 191 < c$2) {\n\t\t\t\t\tsize = 1;\n\t\t\t\t} else if (size === 3) {\n\t\t\t\t} else {\n\t\t\t\t\tc$3 = (x$4 = i + 3 >> 0, ((x$4 < 0 || x$4 >= p.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + x$4]));\n\t\t\t\t\tif (c$3 < 128 || 191 < c$3) {\n\t\t\t\t\t\tsize = 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ti = i + (size) >> 0;\n\t\t}\n\t\treturn n;\n\t};\n\t$pkg.RuneCount = RuneCount;\n\tRuneCountInString = function(s) {\n\t\tvar accept, c, c$1, c$2, c$3, i, n, ns, s, size, x, x$1;\n\t\tn = 0;\n\t\tns = s.length;\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < ns)) { break; }\n\t\t\tc = s.charCodeAt(i);\n\t\t\tif (c < 128) {\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t\tn = n + (1) >> 0;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tx = ((c < 0 || c >= first.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : first[c]);\n\t\t\tif (x === 241) {\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t\tn = n + (1) >> 0;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tsize = ((((x & 7) >>> 0) >> 0));\n\t\t\tif ((i + size >> 0) > ns) {\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t\tn = n + (1) >> 0;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\taccept = $clone((x$1 = x >>> 4 << 24 >>> 24, ((x$1 < 0 || x$1 >= acceptRanges.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : acceptRanges[x$1])), acceptRange);\n\t\t\tc$1 = s.charCodeAt((i + 1 >> 0));\n\t\t\tif (c$1 < accept.lo || accept.hi < c$1) {\n\t\t\t\tsize = 1;\n\t\t\t} else if (size === 2) {\n\t\t\t} else {\n\t\t\t\tc$2 = s.charCodeAt((i + 2 >> 0));\n\t\t\t\tif (c$2 < 128 || 191 < c$2) {\n\t\t\t\t\tsize = 1;\n\t\t\t\t} else if (size === 3) {\n\t\t\t\t} else {\n\t\t\t\t\tc$3 = s.charCodeAt((i + 3 >> 0));\n\t\t\t\t\tif (c$3 < 128 || 191 < c$3) {\n\t\t\t\t\t\tsize = 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ti = i + (size) >> 0;\n\t\t\tn = n + (1) >> 0;\n\t\t}\n\t\tn = n;\n\t\treturn n;\n\t};\n\t$pkg.RuneCountInString = RuneCountInString;\n\tRuneStart = function(b) {\n\t\tvar b;\n\t\treturn !((((b & 192) >>> 0) === 128));\n\t};\n\t$pkg.RuneStart = RuneStart;\n\tValidString = function(s) {\n\t\tvar accept, c, c$1, c$2, i, n, s, si, size, x, x$1;\n\t\tn = s.length;\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < n)) { break; }\n\t\t\tsi = s.charCodeAt(i);\n\t\t\tif (si < 128) {\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tx = ((si < 0 || si >= first.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : first[si]);\n\t\t\tif (x === 241) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tsize = ((((x & 7) >>> 0) >> 0));\n\t\t\tif ((i + size >> 0) > n) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\taccept = $clone((x$1 = x >>> 4 << 24 >>> 24, ((x$1 < 0 || x$1 >= acceptRanges.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : acceptRanges[x$1])), acceptRange);\n\t\t\tc = s.charCodeAt((i + 1 >> 0));\n\t\t\tif (c < accept.lo || accept.hi < c) {\n\t\t\t\treturn false;\n\t\t\t} else if (size === 2) {\n\t\t\t} else {\n\t\t\t\tc$1 = s.charCodeAt((i + 2 >> 0));\n\t\t\t\tif (c$1 < 128 || 191 < c$1) {\n\t\t\t\t\treturn false;\n\t\t\t\t} else if (size === 3) {\n\t\t\t\t} else {\n\t\t\t\t\tc$2 = s.charCodeAt((i + 3 >> 0));\n\t\t\t\t\tif (c$2 < 128 || 191 < c$2) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ti = i + (size) >> 0;\n\t\t}\n\t\treturn true;\n\t};\n\t$pkg.ValidString = ValidString;\n\tValidRune = function(r) {\n\t\tvar r;\n\t\tif (0 <= r && r < 55296) {\n\t\t\treturn true;\n\t\t} else if (57343 < r && r <= 1114111) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t};\n\t$pkg.ValidRune = ValidRune;\n\tacceptRange.init(\"unicode/utf8\", [{prop: \"lo\", name: \"lo\", embedded: false, exported: false, typ: $Uint8, tag: \"\"}, {prop: \"hi\", name: \"hi\", embedded: false, exported: false, typ: $Uint8, tag: \"\"}]);\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tfirst = $toNativeArray($kindUint8, [240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 19, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 35, 3, 3, 52, 4, 4, 4, 68, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241]);\n\t\tacceptRanges = $toNativeArray($kindStruct, [new acceptRange.ptr(128, 191), new acceptRange.ptr(160, 191), new acceptRange.ptr(128, 159), new acceptRange.ptr(144, 191), new acceptRange.ptr(128, 143)]);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"bytes\"] = (function() {\n\tvar $pkg = {}, $init, errors, bytealg, io, unicode, utf8, Buffer, readOp, ptrType, sliceType, arrayType, errNegativeRead, IndexByte, makeSlice;\n\terrors = $packages[\"errors\"];\n\tbytealg = $packages[\"internal/bytealg\"];\n\tio = $packages[\"io\"];\n\tunicode = $packages[\"unicode\"];\n\tutf8 = $packages[\"unicode/utf8\"];\n\tBuffer = $pkg.Buffer = $newType(0, $kindStruct, \"bytes.Buffer\", true, \"bytes\", true, function(buf_, off_, bootstrap_, lastRead_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.buf = sliceType.nil;\n\t\t\tthis.off = 0;\n\t\t\tthis.bootstrap = arrayType.zero();\n\t\t\tthis.lastRead = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.buf = buf_;\n\t\tthis.off = off_;\n\t\tthis.bootstrap = bootstrap_;\n\t\tthis.lastRead = lastRead_;\n\t});\n\treadOp = $pkg.readOp = $newType(1, $kindInt8, \"bytes.readOp\", true, \"bytes\", false, null);\n\tptrType = $ptrType(Buffer);\n\tsliceType = $sliceType($Uint8);\n\tarrayType = $arrayType($Uint8, 64);\n\tIndexByte = function(s, c) {\n\t\tvar _i, _ref, b, c, i, s;\n\t\t_ref = s;\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\ti = _i;\n\t\t\tb = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\tif (b === c) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t\t_i++;\n\t\t}\n\t\treturn -1;\n\t};\n\t$pkg.IndexByte = IndexByte;\n\tBuffer.ptr.prototype.Bytes = function() {\n\t\tvar b;\n\t\tb = this;\n\t\treturn $subslice(b.buf, b.off);\n\t};\n\tBuffer.prototype.Bytes = function() { return this.$val.Bytes(); };\n\tBuffer.ptr.prototype.String = function() {\n\t\tvar b;\n\t\tb = this;\n\t\tif (b === ptrType.nil) {\n\t\t\treturn \"<nil>\";\n\t\t}\n\t\treturn ($bytesToString($subslice(b.buf, b.off)));\n\t};\n\tBuffer.prototype.String = function() { return this.$val.String(); };\n\tBuffer.ptr.prototype.empty = function() {\n\t\tvar b;\n\t\tb = this;\n\t\treturn b.buf.$length <= b.off;\n\t};\n\tBuffer.prototype.empty = function() { return this.$val.empty(); };\n\tBuffer.ptr.prototype.Len = function() {\n\t\tvar b;\n\t\tb = this;\n\t\treturn b.buf.$length - b.off >> 0;\n\t};\n\tBuffer.prototype.Len = function() { return this.$val.Len(); };\n\tBuffer.ptr.prototype.Cap = function() {\n\t\tvar b;\n\t\tb = this;\n\t\treturn b.buf.$capacity;\n\t};\n\tBuffer.prototype.Cap = function() { return this.$val.Cap(); };\n\tBuffer.ptr.prototype.Truncate = function(n) {\n\t\tvar b, n;\n\t\tb = this;\n\t\tif (n === 0) {\n\t\t\tb.Reset();\n\t\t\treturn;\n\t\t}\n\t\tb.lastRead = 0;\n\t\tif (n < 0 || n > b.Len()) {\n\t\t\t$panic(new $String(\"bytes.Buffer: truncation out of range\"));\n\t\t}\n\t\tb.buf = $subslice(b.buf, 0, (b.off + n >> 0));\n\t};\n\tBuffer.prototype.Truncate = function(n) { return this.$val.Truncate(n); };\n\tBuffer.ptr.prototype.Reset = function() {\n\t\tvar b;\n\t\tb = this;\n\t\tb.buf = $subslice(b.buf, 0, 0);\n\t\tb.off = 0;\n\t\tb.lastRead = 0;\n\t};\n\tBuffer.prototype.Reset = function() { return this.$val.Reset(); };\n\tBuffer.ptr.prototype.tryGrowByReslice = function(n) {\n\t\tvar b, l, n;\n\t\tb = this;\n\t\tl = b.buf.$length;\n\t\tif (n <= (b.buf.$capacity - l >> 0)) {\n\t\t\tb.buf = $subslice(b.buf, 0, (l + n >> 0));\n\t\t\treturn [l, true];\n\t\t}\n\t\treturn [0, false];\n\t};\n\tBuffer.prototype.tryGrowByReslice = function(n) { return this.$val.tryGrowByReslice(n); };\n\tBuffer.ptr.prototype.grow = function(n) {\n\t\tvar _q, _tuple, b, buf, c, i, m, n, ok;\n\t\tb = this;\n\t\tm = b.Len();\n\t\tif ((m === 0) && !((b.off === 0))) {\n\t\t\tb.Reset();\n\t\t}\n\t\t_tuple = b.tryGrowByReslice(n);\n\t\ti = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\treturn i;\n\t\t}\n\t\tif (b.buf === sliceType.nil && n <= 64) {\n\t\t\tb.buf = $subslice(new sliceType(b.bootstrap), 0, n);\n\t\t\treturn 0;\n\t\t}\n\t\tc = b.buf.$capacity;\n\t\tif (n <= ((_q = c / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError(\"integer divide by zero\")) - m >> 0)) {\n\t\t\t$copySlice(b.buf, $subslice(b.buf, b.off));\n\t\t} else if (c > ((2147483647 - c >> 0) - n >> 0)) {\n\t\t\t$panic($pkg.ErrTooLarge);\n\t\t} else {\n\t\t\tbuf = makeSlice(($imul(2, c)) + n >> 0);\n\t\t\t$copySlice(buf, $subslice(b.buf, b.off));\n\t\t\tb.buf = buf;\n\t\t}\n\t\tb.off = 0;\n\t\tb.buf = $subslice(b.buf, 0, (m + n >> 0));\n\t\treturn m;\n\t};\n\tBuffer.prototype.grow = function(n) { return this.$val.grow(n); };\n\tBuffer.ptr.prototype.Grow = function(n) {\n\t\tvar b, m, n;\n\t\tb = this;\n\t\tif (n < 0) {\n\t\t\t$panic(new $String(\"bytes.Buffer.Grow: negative count\"));\n\t\t}\n\t\tm = b.grow(n);\n\t\tb.buf = $subslice(b.buf, 0, m);\n\t};\n\tBuffer.prototype.Grow = function(n) { return this.$val.Grow(n); };\n\tBuffer.ptr.prototype.Write = function(p) {\n\t\tvar _tmp, _tmp$1, _tuple, b, err, m, n, ok, p;\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\tb = this;\n\t\tb.lastRead = 0;\n\t\t_tuple = b.tryGrowByReslice(p.$length);\n\t\tm = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (!ok) {\n\t\t\tm = b.grow(p.$length);\n\t\t}\n\t\t_tmp = $copySlice($subslice(b.buf, m), p);\n\t\t_tmp$1 = $ifaceNil;\n\t\tn = _tmp;\n\t\terr = _tmp$1;\n\t\treturn [n, err];\n\t};\n\tBuffer.prototype.Write = function(p) { return this.$val.Write(p); };\n\tBuffer.ptr.prototype.WriteString = function(s) {\n\t\tvar _tmp, _tmp$1, _tuple, b, err, m, n, ok, s;\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\tb = this;\n\t\tb.lastRead = 0;\n\t\t_tuple = b.tryGrowByReslice(s.length);\n\t\tm = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (!ok) {\n\t\t\tm = b.grow(s.length);\n\t\t}\n\t\t_tmp = $copyString($subslice(b.buf, m), s);\n\t\t_tmp$1 = $ifaceNil;\n\t\tn = _tmp;\n\t\terr = _tmp$1;\n\t\treturn [n, err];\n\t};\n\tBuffer.prototype.WriteString = function(s) { return this.$val.WriteString(s); };\n\tBuffer.ptr.prototype.ReadFrom = function(r) {\n\t\tvar _r, _tmp, _tmp$1, _tmp$2, _tmp$3, _tuple, b, e, err, i, m, n, r, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; _tuple = $f._tuple; b = $f.b; e = $f.e; err = $f.err; i = $f.i; m = $f.m; n = $f.n; r = $f.r; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tn = new $Int64(0, 0);\n\t\terr = $ifaceNil;\n\t\tb = this;\n\t\tb.lastRead = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\ti = b.grow(512);\n\t\t\tb.buf = $subslice(b.buf, 0, i);\n\t\t\t_r = r.Read($subslice(b.buf, i, b.buf.$capacity)); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r;\n\t\t\tm = _tuple[0];\n\t\t\te = _tuple[1];\n\t\t\tif (m < 0) {\n\t\t\t\t$panic(errNegativeRead);\n\t\t\t}\n\t\t\tb.buf = $subslice(b.buf, 0, (i + m >> 0));\n\t\t\tn = (x = (new $Int64(0, m)), new $Int64(n.$high + x.$high, n.$low + x.$low));\n\t\t\tif ($interfaceIsEqual(e, io.EOF)) {\n\t\t\t\t_tmp = n;\n\t\t\t\t_tmp$1 = $ifaceNil;\n\t\t\t\tn = _tmp;\n\t\t\t\terr = _tmp$1;\n\t\t\t\t$s = -1; return [n, err];\n\t\t\t}\n\t\t\tif (!($interfaceIsEqual(e, $ifaceNil))) {\n\t\t\t\t_tmp$2 = n;\n\t\t\t\t_tmp$3 = e;\n\t\t\t\tn = _tmp$2;\n\t\t\t\terr = _tmp$3;\n\t\t\t\t$s = -1; return [n, err];\n\t\t\t}\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return [n, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Buffer.ptr.prototype.ReadFrom }; } $f._r = _r; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f._tuple = _tuple; $f.b = b; $f.e = e; $f.err = err; $f.i = i; $f.m = m; $f.n = n; $f.r = r; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tBuffer.prototype.ReadFrom = function(r) { return this.$val.ReadFrom(r); };\n\tmakeSlice = function(n) {\n\t\tvar n, $deferred;\n\t\t/* */ var $err = null; try { $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\t$deferred.push([(function() {\n\t\t\tif (!($interfaceIsEqual($recover(), $ifaceNil))) {\n\t\t\t\t$panic($pkg.ErrTooLarge);\n\t\t\t}\n\t\t}), []]);\n\t\treturn $makeSlice(sliceType, n);\n\t\t/* */ } catch(err) { $err = err; return sliceType.nil; } finally { $callDeferred($deferred, $err); }\n\t};\n\tBuffer.ptr.prototype.WriteTo = function(w) {\n\t\tvar _r, _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tuple, b, e, err, m, n, nBytes, w, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; _tmp$4 = $f._tmp$4; _tmp$5 = $f._tmp$5; _tuple = $f._tuple; b = $f.b; e = $f.e; err = $f.err; m = $f.m; n = $f.n; nBytes = $f.nBytes; w = $f.w; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tn = new $Int64(0, 0);\n\t\terr = $ifaceNil;\n\t\tb = this;\n\t\tb.lastRead = 0;\n\t\tnBytes = b.Len();\n\t\t/* */ if (nBytes > 0) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (nBytes > 0) { */ case 1:\n\t\t\t_r = w.Write($subslice(b.buf, b.off)); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r;\n\t\t\tm = _tuple[0];\n\t\t\te = _tuple[1];\n\t\t\tif (m > nBytes) {\n\t\t\t\t$panic(new $String(\"bytes.Buffer.WriteTo: invalid Write count\"));\n\t\t\t}\n\t\t\tb.off = b.off + (m) >> 0;\n\t\t\tn = (new $Int64(0, m));\n\t\t\tif (!($interfaceIsEqual(e, $ifaceNil))) {\n\t\t\t\t_tmp = n;\n\t\t\t\t_tmp$1 = e;\n\t\t\t\tn = _tmp;\n\t\t\t\terr = _tmp$1;\n\t\t\t\t$s = -1; return [n, err];\n\t\t\t}\n\t\t\tif (!((m === nBytes))) {\n\t\t\t\t_tmp$2 = n;\n\t\t\t\t_tmp$3 = io.ErrShortWrite;\n\t\t\t\tn = _tmp$2;\n\t\t\t\terr = _tmp$3;\n\t\t\t\t$s = -1; return [n, err];\n\t\t\t}\n\t\t/* } */ case 2:\n\t\tb.Reset();\n\t\t_tmp$4 = n;\n\t\t_tmp$5 = $ifaceNil;\n\t\tn = _tmp$4;\n\t\terr = _tmp$5;\n\t\t$s = -1; return [n, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Buffer.ptr.prototype.WriteTo }; } $f._r = _r; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f._tmp$4 = _tmp$4; $f._tmp$5 = _tmp$5; $f._tuple = _tuple; $f.b = b; $f.e = e; $f.err = err; $f.m = m; $f.n = n; $f.nBytes = nBytes; $f.w = w; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tBuffer.prototype.WriteTo = function(w) { return this.$val.WriteTo(w); };\n\tBuffer.ptr.prototype.WriteByte = function(c) {\n\t\tvar _tuple, b, c, m, ok, x;\n\t\tb = this;\n\t\tb.lastRead = 0;\n\t\t_tuple = b.tryGrowByReslice(1);\n\t\tm = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (!ok) {\n\t\t\tm = b.grow(1);\n\t\t}\n\t\t(x = b.buf, ((m < 0 || m >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + m] = c));\n\t\treturn $ifaceNil;\n\t};\n\tBuffer.prototype.WriteByte = function(c) { return this.$val.WriteByte(c); };\n\tBuffer.ptr.prototype.WriteRune = function(r) {\n\t\tvar _tmp, _tmp$1, _tmp$2, _tmp$3, _tuple, b, err, m, n, ok, r;\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\tb = this;\n\t\tif (r < 128) {\n\t\t\tb.WriteByte(((r << 24 >>> 24)));\n\t\t\t_tmp = 1;\n\t\t\t_tmp$1 = $ifaceNil;\n\t\t\tn = _tmp;\n\t\t\terr = _tmp$1;\n\t\t\treturn [n, err];\n\t\t}\n\t\tb.lastRead = 0;\n\t\t_tuple = b.tryGrowByReslice(4);\n\t\tm = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (!ok) {\n\t\t\tm = b.grow(4);\n\t\t}\n\t\tn = utf8.EncodeRune($subslice(b.buf, m, (m + 4 >> 0)), r);\n\t\tb.buf = $subslice(b.buf, 0, (m + n >> 0));\n\t\t_tmp$2 = n;\n\t\t_tmp$3 = $ifaceNil;\n\t\tn = _tmp$2;\n\t\terr = _tmp$3;\n\t\treturn [n, err];\n\t};\n\tBuffer.prototype.WriteRune = function(r) { return this.$val.WriteRune(r); };\n\tBuffer.ptr.prototype.Read = function(p) {\n\t\tvar _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, b, err, n, p;\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\tb = this;\n\t\tb.lastRead = 0;\n\t\tif (b.empty()) {\n\t\t\tb.Reset();\n\t\t\tif (p.$length === 0) {\n\t\t\t\t_tmp = 0;\n\t\t\t\t_tmp$1 = $ifaceNil;\n\t\t\t\tn = _tmp;\n\t\t\t\terr = _tmp$1;\n\t\t\t\treturn [n, err];\n\t\t\t}\n\t\t\t_tmp$2 = 0;\n\t\t\t_tmp$3 = io.EOF;\n\t\t\tn = _tmp$2;\n\t\t\terr = _tmp$3;\n\t\t\treturn [n, err];\n\t\t}\n\t\tn = $copySlice(p, $subslice(b.buf, b.off));\n\t\tb.off = b.off + (n) >> 0;\n\t\tif (n > 0) {\n\t\t\tb.lastRead = -1;\n\t\t}\n\t\t_tmp$4 = n;\n\t\t_tmp$5 = $ifaceNil;\n\t\tn = _tmp$4;\n\t\terr = _tmp$5;\n\t\treturn [n, err];\n\t};\n\tBuffer.prototype.Read = function(p) { return this.$val.Read(p); };\n\tBuffer.ptr.prototype.Next = function(n) {\n\t\tvar b, data, m, n;\n\t\tb = this;\n\t\tb.lastRead = 0;\n\t\tm = b.Len();\n\t\tif (n > m) {\n\t\t\tn = m;\n\t\t}\n\t\tdata = $subslice(b.buf, b.off, (b.off + n >> 0));\n\t\tb.off = b.off + (n) >> 0;\n\t\tif (n > 0) {\n\t\t\tb.lastRead = -1;\n\t\t}\n\t\treturn data;\n\t};\n\tBuffer.prototype.Next = function(n) { return this.$val.Next(n); };\n\tBuffer.ptr.prototype.ReadByte = function() {\n\t\tvar b, c, x, x$1;\n\t\tb = this;\n\t\tif (b.empty()) {\n\t\t\tb.Reset();\n\t\t\treturn [0, io.EOF];\n\t\t}\n\t\tc = (x = b.buf, x$1 = b.off, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1]));\n\t\tb.off = b.off + (1) >> 0;\n\t\tb.lastRead = -1;\n\t\treturn [c, $ifaceNil];\n\t};\n\tBuffer.prototype.ReadByte = function() { return this.$val.ReadByte(); };\n\tBuffer.ptr.prototype.ReadRune = function() {\n\t\tvar _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tuple, b, c, err, n, r, size, x, x$1;\n\t\tr = 0;\n\t\tsize = 0;\n\t\terr = $ifaceNil;\n\t\tb = this;\n\t\tif (b.empty()) {\n\t\t\tb.Reset();\n\t\t\t_tmp = 0;\n\t\t\t_tmp$1 = 0;\n\t\t\t_tmp$2 = io.EOF;\n\t\t\tr = _tmp;\n\t\t\tsize = _tmp$1;\n\t\t\terr = _tmp$2;\n\t\t\treturn [r, size, err];\n\t\t}\n\t\tc = (x = b.buf, x$1 = b.off, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1]));\n\t\tif (c < 128) {\n\t\t\tb.off = b.off + (1) >> 0;\n\t\t\tb.lastRead = 1;\n\t\t\t_tmp$3 = ((c >> 0));\n\t\t\t_tmp$4 = 1;\n\t\t\t_tmp$5 = $ifaceNil;\n\t\t\tr = _tmp$3;\n\t\t\tsize = _tmp$4;\n\t\t\terr = _tmp$5;\n\t\t\treturn [r, size, err];\n\t\t}\n\t\t_tuple = utf8.DecodeRune($subslice(b.buf, b.off));\n\t\tr = _tuple[0];\n\t\tn = _tuple[1];\n\t\tb.off = b.off + (n) >> 0;\n\t\tb.lastRead = ((n << 24 >> 24));\n\t\t_tmp$6 = r;\n\t\t_tmp$7 = n;\n\t\t_tmp$8 = $ifaceNil;\n\t\tr = _tmp$6;\n\t\tsize = _tmp$7;\n\t\terr = _tmp$8;\n\t\treturn [r, size, err];\n\t};\n\tBuffer.prototype.ReadRune = function() { return this.$val.ReadRune(); };\n\tBuffer.ptr.prototype.UnreadRune = function() {\n\t\tvar b;\n\t\tb = this;\n\t\tif (b.lastRead <= 0) {\n\t\t\treturn errors.New(\"bytes.Buffer: UnreadRune: previous operation was not a successful ReadRune\");\n\t\t}\n\t\tif (b.off >= ((b.lastRead >> 0))) {\n\t\t\tb.off = b.off - (((b.lastRead >> 0))) >> 0;\n\t\t}\n\t\tb.lastRead = 0;\n\t\treturn $ifaceNil;\n\t};\n\tBuffer.prototype.UnreadRune = function() { return this.$val.UnreadRune(); };\n\tBuffer.ptr.prototype.UnreadByte = function() {\n\t\tvar b;\n\t\tb = this;\n\t\tif (b.lastRead === 0) {\n\t\t\treturn errors.New(\"bytes.Buffer: UnreadByte: previous operation was not a successful read\");\n\t\t}\n\t\tb.lastRead = 0;\n\t\tif (b.off > 0) {\n\t\t\tb.off = b.off - (1) >> 0;\n\t\t}\n\t\treturn $ifaceNil;\n\t};\n\tBuffer.prototype.UnreadByte = function() { return this.$val.UnreadByte(); };\n\tBuffer.ptr.prototype.ReadBytes = function(delim) {\n\t\tvar _tmp, _tmp$1, _tuple, b, delim, err, line, slice;\n\t\tline = sliceType.nil;\n\t\terr = $ifaceNil;\n\t\tb = this;\n\t\t_tuple = b.readSlice(delim);\n\t\tslice = _tuple[0];\n\t\terr = _tuple[1];\n\t\tline = $appendSlice(line, slice);\n\t\t_tmp = line;\n\t\t_tmp$1 = err;\n\t\tline = _tmp;\n\t\terr = _tmp$1;\n\t\treturn [line, err];\n\t};\n\tBuffer.prototype.ReadBytes = function(delim) { return this.$val.ReadBytes(delim); };\n\tBuffer.ptr.prototype.readSlice = function(delim) {\n\t\tvar _tmp, _tmp$1, b, delim, end, err, i, line;\n\t\tline = sliceType.nil;\n\t\terr = $ifaceNil;\n\t\tb = this;\n\t\ti = IndexByte($subslice(b.buf, b.off), delim);\n\t\tend = (b.off + i >> 0) + 1 >> 0;\n\t\tif (i < 0) {\n\t\t\tend = b.buf.$length;\n\t\t\terr = io.EOF;\n\t\t}\n\t\tline = $subslice(b.buf, b.off, end);\n\t\tb.off = end;\n\t\tb.lastRead = -1;\n\t\t_tmp = line;\n\t\t_tmp$1 = err;\n\t\tline = _tmp;\n\t\terr = _tmp$1;\n\t\treturn [line, err];\n\t};\n\tBuffer.prototype.readSlice = function(delim) { return this.$val.readSlice(delim); };\n\tBuffer.ptr.prototype.ReadString = function(delim) {\n\t\tvar _tmp, _tmp$1, _tuple, b, delim, err, line, slice;\n\t\tline = \"\";\n\t\terr = $ifaceNil;\n\t\tb = this;\n\t\t_tuple = b.readSlice(delim);\n\t\tslice = _tuple[0];\n\t\terr = _tuple[1];\n\t\t_tmp = ($bytesToString(slice));\n\t\t_tmp$1 = err;\n\t\tline = _tmp;\n\t\terr = _tmp$1;\n\t\treturn [line, err];\n\t};\n\tBuffer.prototype.ReadString = function(delim) { return this.$val.ReadString(delim); };\n\tptrType.methods = [{prop: \"Bytes\", name: \"Bytes\", pkg: \"\", typ: $funcType([], [sliceType], false)}, {prop: \"String\", name: \"String\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"empty\", name: \"empty\", pkg: \"bytes\", typ: $funcType([], [$Bool], false)}, {prop: \"Len\", name: \"Len\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Cap\", name: \"Cap\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Truncate\", name: \"Truncate\", pkg: \"\", typ: $funcType([$Int], [], false)}, {prop: \"Reset\", name: \"Reset\", pkg: \"\", typ: $funcType([], [], false)}, {prop: \"tryGrowByReslice\", name: \"tryGrowByReslice\", pkg: \"bytes\", typ: $funcType([$Int], [$Int, $Bool], false)}, {prop: \"grow\", name: \"grow\", pkg: \"bytes\", typ: $funcType([$Int], [$Int], false)}, {prop: \"Grow\", name: \"Grow\", pkg: \"\", typ: $funcType([$Int], [], false)}, {prop: \"Write\", name: \"Write\", pkg: \"\", typ: $funcType([sliceType], [$Int, $error], false)}, {prop: \"WriteString\", name: \"WriteString\", pkg: \"\", typ: $funcType([$String], [$Int, $error], false)}, {prop: \"ReadFrom\", name: \"ReadFrom\", pkg: \"\", typ: $funcType([io.Reader], [$Int64, $error], false)}, {prop: \"WriteTo\", name: \"WriteTo\", pkg: \"\", typ: $funcType([io.Writer], [$Int64, $error], false)}, {prop: \"WriteByte\", name: \"WriteByte\", pkg: \"\", typ: $funcType([$Uint8], [$error], false)}, {prop: \"WriteRune\", name: \"WriteRune\", pkg: \"\", typ: $funcType([$Int32], [$Int, $error], false)}, {prop: \"Read\", name: \"Read\", pkg: \"\", typ: $funcType([sliceType], [$Int, $error], false)}, {prop: \"Next\", name: \"Next\", pkg: \"\", typ: $funcType([$Int], [sliceType], false)}, {prop: \"ReadByte\", name: \"ReadByte\", pkg: \"\", typ: $funcType([], [$Uint8, $error], false)}, {prop: \"ReadRune\", name: \"ReadRune\", pkg: \"\", typ: $funcType([], [$Int32, $Int, $error], false)}, {prop: \"UnreadRune\", name: \"UnreadRune\", pkg: \"\", typ: $funcType([], [$error], false)}, {prop: \"UnreadByte\", name: \"UnreadByte\", pkg: \"\", typ: $funcType([], [$error], false)}, {prop: \"ReadBytes\", name: \"ReadBytes\", pkg: \"\", typ: $funcType([$Uint8], [sliceType, $error], false)}, {prop: \"readSlice\", name: \"readSlice\", pkg: \"bytes\", typ: $funcType([$Uint8], [sliceType, $error], false)}, {prop: \"ReadString\", name: \"ReadString\", pkg: \"\", typ: $funcType([$Uint8], [$String, $error], false)}];\n\tBuffer.init(\"bytes\", [{prop: \"buf\", name: \"buf\", embedded: false, exported: false, typ: sliceType, tag: \"\"}, {prop: \"off\", name: \"off\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"bootstrap\", name: \"bootstrap\", embedded: false, exported: false, typ: arrayType, tag: \"\"}, {prop: \"lastRead\", name: \"lastRead\", embedded: false, exported: false, typ: readOp, tag: \"\"}]);\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = errors.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = bytealg.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = io.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = unicode.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = utf8.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$pkg.ErrTooLarge = errors.New(\"bytes.Buffer: too large\");\n\t\terrNegativeRead = errors.New(\"bytes.Buffer: reader returned negative count from Read\");\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"bufio\"] = (function() {\n\tvar $pkg = {}, $init, bytes, errors, io, utf8, Reader, Writer, sliceType, ptrType, sliceType$1, ptrType$1, errNegativeRead, errNegativeWrite, NewReaderSize, NewReader, NewWriterSize;\n\tbytes = $packages[\"bytes\"];\n\terrors = $packages[\"errors\"];\n\tio = $packages[\"io\"];\n\tutf8 = $packages[\"unicode/utf8\"];\n\tReader = $pkg.Reader = $newType(0, $kindStruct, \"bufio.Reader\", true, \"bufio\", true, function(buf_, rd_, r_, w_, err_, lastByte_, lastRuneSize_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.buf = sliceType.nil;\n\t\t\tthis.rd = $ifaceNil;\n\t\t\tthis.r = 0;\n\t\t\tthis.w = 0;\n\t\t\tthis.err = $ifaceNil;\n\t\t\tthis.lastByte = 0;\n\t\t\tthis.lastRuneSize = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.buf = buf_;\n\t\tthis.rd = rd_;\n\t\tthis.r = r_;\n\t\tthis.w = w_;\n\t\tthis.err = err_;\n\t\tthis.lastByte = lastByte_;\n\t\tthis.lastRuneSize = lastRuneSize_;\n\t});\n\tWriter = $pkg.Writer = $newType(0, $kindStruct, \"bufio.Writer\", true, \"bufio\", true, function(err_, buf_, n_, wr_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.err = $ifaceNil;\n\t\t\tthis.buf = sliceType.nil;\n\t\t\tthis.n = 0;\n\t\t\tthis.wr = $ifaceNil;\n\t\t\treturn;\n\t\t}\n\t\tthis.err = err_;\n\t\tthis.buf = buf_;\n\t\tthis.n = n_;\n\t\tthis.wr = wr_;\n\t});\n\tsliceType = $sliceType($Uint8);\n\tptrType = $ptrType(Reader);\n\tsliceType$1 = $sliceType(sliceType);\n\tptrType$1 = $ptrType(Writer);\n\tNewReaderSize = function(rd, size) {\n\t\tvar _tuple, b, ok, r, rd, size;\n\t\t_tuple = $assertType(rd, ptrType, true);\n\t\tb = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok && b.buf.$length >= size) {\n\t\t\treturn b;\n\t\t}\n\t\tif (size < 16) {\n\t\t\tsize = 16;\n\t\t}\n\t\tr = new Reader.ptr(sliceType.nil, $ifaceNil, 0, 0, $ifaceNil, 0, 0);\n\t\tr.reset($makeSlice(sliceType, size), rd);\n\t\treturn r;\n\t};\n\t$pkg.NewReaderSize = NewReaderSize;\n\tNewReader = function(rd) {\n\t\tvar rd;\n\t\treturn NewReaderSize(rd, 4096);\n\t};\n\t$pkg.NewReader = NewReader;\n\tReader.ptr.prototype.Size = function() {\n\t\tvar r;\n\t\tr = this;\n\t\treturn r.buf.$length;\n\t};\n\tReader.prototype.Size = function() { return this.$val.Size(); };\n\tReader.ptr.prototype.Reset = function(r) {\n\t\tvar b, r;\n\t\tb = this;\n\t\tb.reset(b.buf, r);\n\t};\n\tReader.prototype.Reset = function(r) { return this.$val.Reset(r); };\n\tReader.ptr.prototype.reset = function(buf, r) {\n\t\tvar b, buf, r;\n\t\tb = this;\n\t\tReader.copy(b, new Reader.ptr(buf, r, 0, 0, $ifaceNil, -1, -1));\n\t};\n\tReader.prototype.reset = function(buf, r) { return this.$val.reset(buf, r); };\n\tReader.ptr.prototype.fill = function() {\n\t\tvar _r, _tuple, b, err, i, n, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; b = $f.b; err = $f.err; i = $f.i; n = $f.n; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tb = this;\n\t\tif (b.r > 0) {\n\t\t\t$copySlice(b.buf, $subslice(b.buf, b.r, b.w));\n\t\t\tb.w = b.w - (b.r) >> 0;\n\t\t\tb.r = 0;\n\t\t}\n\t\tif (b.w >= b.buf.$length) {\n\t\t\t$panic(new $String(\"bufio: tried to fill full buffer\"));\n\t\t}\n\t\ti = 100;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(i > 0)) { break; } */ if(!(i > 0)) { $s = 2; continue; }\n\t\t\t_r = b.rd.Read($subslice(b.buf, b.w)); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r;\n\t\t\tn = _tuple[0];\n\t\t\terr = _tuple[1];\n\t\t\tif (n < 0) {\n\t\t\t\t$panic(errNegativeRead);\n\t\t\t}\n\t\t\tb.w = b.w + (n) >> 0;\n\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\tb.err = err;\n\t\t\t\t$s = -1; return;\n\t\t\t}\n\t\t\tif (n > 0) {\n\t\t\t\t$s = -1; return;\n\t\t\t}\n\t\t\ti = i - (1) >> 0;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\tb.err = io.ErrNoProgress;\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Reader.ptr.prototype.fill }; } $f._r = _r; $f._tuple = _tuple; $f.b = b; $f.err = err; $f.i = i; $f.n = n; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tReader.prototype.fill = function() { return this.$val.fill(); };\n\tReader.ptr.prototype.readErr = function() {\n\t\tvar b, err;\n\t\tb = this;\n\t\terr = b.err;\n\t\tb.err = $ifaceNil;\n\t\treturn err;\n\t};\n\tReader.prototype.readErr = function() { return this.$val.readErr(); };\n\tReader.ptr.prototype.Peek = function(n) {\n\t\tvar avail, b, err, n, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; avail = $f.avail; b = $f.b; err = $f.err; n = $f.n; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tb = this;\n\t\tif (n < 0) {\n\t\t\t$s = -1; return [sliceType.nil, $pkg.ErrNegativeCount];\n\t\t}\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!((b.w - b.r >> 0) < n && (b.w - b.r >> 0) < b.buf.$length && $interfaceIsEqual(b.err, $ifaceNil))) { break; } */ if(!((b.w - b.r >> 0) < n && (b.w - b.r >> 0) < b.buf.$length && $interfaceIsEqual(b.err, $ifaceNil))) { $s = 2; continue; }\n\t\t\t$r = b.fill(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ $s = 1; continue; case 2:\n\t\tif (n > b.buf.$length) {\n\t\t\t$s = -1; return [$subslice(b.buf, b.r, b.w), $pkg.ErrBufferFull];\n\t\t}\n\t\terr = $ifaceNil;\n\t\tavail = b.w - b.r >> 0;\n\t\tif (avail < n) {\n\t\t\tn = avail;\n\t\t\terr = b.readErr();\n\t\t\tif ($interfaceIsEqual(err, $ifaceNil)) {\n\t\t\t\terr = $pkg.ErrBufferFull;\n\t\t\t}\n\t\t}\n\t\t$s = -1; return [$subslice(b.buf, b.r, (b.r + n >> 0)), err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Reader.ptr.prototype.Peek }; } $f.avail = avail; $f.b = b; $f.err = err; $f.n = n; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tReader.prototype.Peek = function(n) { return this.$val.Peek(n); };\n\tReader.ptr.prototype.Discard = function(n) {\n\t\tvar _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, b, discarded, err, n, remain, skip, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; _tmp$4 = $f._tmp$4; _tmp$5 = $f._tmp$5; b = $f.b; discarded = $f.discarded; err = $f.err; n = $f.n; remain = $f.remain; skip = $f.skip; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tdiscarded = 0;\n\t\terr = $ifaceNil;\n\t\tb = this;\n\t\tif (n < 0) {\n\t\t\t_tmp = 0;\n\t\t\t_tmp$1 = $pkg.ErrNegativeCount;\n\t\t\tdiscarded = _tmp;\n\t\t\terr = _tmp$1;\n\t\t\t$s = -1; return [discarded, err];\n\t\t}\n\t\tif (n === 0) {\n\t\t\t$s = -1; return [discarded, err];\n\t\t}\n\t\tremain = n;\n\t\t/* while (true) { */ case 1:\n\t\t\tskip = b.Buffered();\n\t\t\t/* */ if (skip === 0) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (skip === 0) { */ case 3:\n\t\t\t\t$r = b.fill(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\tskip = b.Buffered();\n\t\t\t/* } */ case 4:\n\t\t\tif (skip > remain) {\n\t\t\t\tskip = remain;\n\t\t\t}\n\t\t\tb.r = b.r + (skip) >> 0;\n\t\t\tremain = remain - (skip) >> 0;\n\t\t\tif (remain === 0) {\n\t\t\t\t_tmp$2 = n;\n\t\t\t\t_tmp$3 = $ifaceNil;\n\t\t\t\tdiscarded = _tmp$2;\n\t\t\t\terr = _tmp$3;\n\t\t\t\t$s = -1; return [discarded, err];\n\t\t\t}\n\t\t\tif (!($interfaceIsEqual(b.err, $ifaceNil))) {\n\t\t\t\t_tmp$4 = n - remain >> 0;\n\t\t\t\t_tmp$5 = b.readErr();\n\t\t\t\tdiscarded = _tmp$4;\n\t\t\t\terr = _tmp$5;\n\t\t\t\t$s = -1; return [discarded, err];\n\t\t\t}\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return [discarded, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Reader.ptr.prototype.Discard }; } $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f._tmp$4 = _tmp$4; $f._tmp$5 = _tmp$5; $f.b = b; $f.discarded = discarded; $f.err = err; $f.n = n; $f.remain = remain; $f.skip = skip; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tReader.prototype.Discard = function(n) { return this.$val.Discard(n); };\n\tReader.ptr.prototype.Read = function(p) {\n\t\tvar _r, _r$1, _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, _tuple, _tuple$1, b, err, n, p, x, x$1, x$2, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; _tmp$4 = $f._tmp$4; _tmp$5 = $f._tmp$5; _tmp$6 = $f._tmp$6; _tmp$7 = $f._tmp$7; _tmp$8 = $f._tmp$8; _tmp$9 = $f._tmp$9; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; b = $f.b; err = $f.err; n = $f.n; p = $f.p; x = $f.x; x$1 = $f.x$1; x$2 = $f.x$2; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\tb = this;\n\t\tn = p.$length;\n\t\tif (n === 0) {\n\t\t\t_tmp = 0;\n\t\t\t_tmp$1 = b.readErr();\n\t\t\tn = _tmp;\n\t\t\terr = _tmp$1;\n\t\t\t$s = -1; return [n, err];\n\t\t}\n\t\t/* */ if (b.r === b.w) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (b.r === b.w) { */ case 1:\n\t\t\tif (!($interfaceIsEqual(b.err, $ifaceNil))) {\n\t\t\t\t_tmp$2 = 0;\n\t\t\t\t_tmp$3 = b.readErr();\n\t\t\t\tn = _tmp$2;\n\t\t\t\terr = _tmp$3;\n\t\t\t\t$s = -1; return [n, err];\n\t\t\t}\n\t\t\t/* */ if (p.$length >= b.buf.$length) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (p.$length >= b.buf.$length) { */ case 3:\n\t\t\t\t_r = b.rd.Read(p); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t_tuple = _r;\n\t\t\t\tn = _tuple[0];\n\t\t\t\tb.err = _tuple[1];\n\t\t\t\tif (n < 0) {\n\t\t\t\t\t$panic(errNegativeRead);\n\t\t\t\t}\n\t\t\t\tif (n > 0) {\n\t\t\t\t\tb.lastByte = (((x = n - 1 >> 0, ((x < 0 || x >= p.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + x])) >> 0));\n\t\t\t\t\tb.lastRuneSize = -1;\n\t\t\t\t}\n\t\t\t\t_tmp$4 = n;\n\t\t\t\t_tmp$5 = b.readErr();\n\t\t\t\tn = _tmp$4;\n\t\t\t\terr = _tmp$5;\n\t\t\t\t$s = -1; return [n, err];\n\t\t\t/* } */ case 4:\n\t\t\tb.r = 0;\n\t\t\tb.w = 0;\n\t\t\t_r$1 = b.rd.Read(b.buf); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_tuple$1 = _r$1;\n\t\t\tn = _tuple$1[0];\n\t\t\tb.err = _tuple$1[1];\n\t\t\tif (n < 0) {\n\t\t\t\t$panic(errNegativeRead);\n\t\t\t}\n\t\t\tif (n === 0) {\n\t\t\t\t_tmp$6 = 0;\n\t\t\t\t_tmp$7 = b.readErr();\n\t\t\t\tn = _tmp$6;\n\t\t\t\terr = _tmp$7;\n\t\t\t\t$s = -1; return [n, err];\n\t\t\t}\n\t\t\tb.w = b.w + (n) >> 0;\n\t\t/* } */ case 2:\n\t\tn = $copySlice(p, $subslice(b.buf, b.r, b.w));\n\t\tb.r = b.r + (n) >> 0;\n\t\tb.lastByte = (((x$1 = b.buf, x$2 = b.r - 1 >> 0, ((x$2 < 0 || x$2 >= x$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$1.$array[x$1.$offset + x$2])) >> 0));\n\t\tb.lastRuneSize = -1;\n\t\t_tmp$8 = n;\n\t\t_tmp$9 = $ifaceNil;\n\t\tn = _tmp$8;\n\t\terr = _tmp$9;\n\t\t$s = -1; return [n, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Reader.ptr.prototype.Read }; } $f._r = _r; $f._r$1 = _r$1; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f._tmp$4 = _tmp$4; $f._tmp$5 = _tmp$5; $f._tmp$6 = _tmp$6; $f._tmp$7 = _tmp$7; $f._tmp$8 = _tmp$8; $f._tmp$9 = _tmp$9; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.b = b; $f.err = err; $f.n = n; $f.p = p; $f.x = x; $f.x$1 = x$1; $f.x$2 = x$2; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tReader.prototype.Read = function(p) { return this.$val.Read(p); };\n\tReader.ptr.prototype.ReadByte = function() {\n\t\tvar b, c, x, x$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; b = $f.b; c = $f.c; x = $f.x; x$1 = $f.x$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tb = this;\n\t\tb.lastRuneSize = -1;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(b.r === b.w)) { break; } */ if(!(b.r === b.w)) { $s = 2; continue; }\n\t\t\tif (!($interfaceIsEqual(b.err, $ifaceNil))) {\n\t\t\t\t$s = -1; return [0, b.readErr()];\n\t\t\t}\n\t\t\t$r = b.fill(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ $s = 1; continue; case 2:\n\t\tc = (x = b.buf, x$1 = b.r, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1]));\n\t\tb.r = b.r + (1) >> 0;\n\t\tb.lastByte = ((c >> 0));\n\t\t$s = -1; return [c, $ifaceNil];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Reader.ptr.prototype.ReadByte }; } $f.b = b; $f.c = c; $f.x = x; $f.x$1 = x$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tReader.prototype.ReadByte = function() { return this.$val.ReadByte(); };\n\tReader.ptr.prototype.UnreadByte = function() {\n\t\tvar b, x, x$1;\n\t\tb = this;\n\t\tif (b.lastByte < 0 || (b.r === 0) && b.w > 0) {\n\t\t\treturn $pkg.ErrInvalidUnreadByte;\n\t\t}\n\t\tif (b.r > 0) {\n\t\t\tb.r = b.r - (1) >> 0;\n\t\t} else {\n\t\t\tb.w = 1;\n\t\t}\n\t\t(x = b.buf, x$1 = b.r, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1] = ((b.lastByte << 24 >>> 24))));\n\t\tb.lastByte = -1;\n\t\tb.lastRuneSize = -1;\n\t\treturn $ifaceNil;\n\t};\n\tReader.prototype.UnreadByte = function() { return this.$val.UnreadByte(); };\n\tReader.ptr.prototype.ReadRune = function() {\n\t\tvar _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tuple, b, err, r, size, x, x$1, x$2, x$3, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; _tmp$4 = $f._tmp$4; _tmp$5 = $f._tmp$5; _tmp$6 = $f._tmp$6; _tmp$7 = $f._tmp$7; _tuple = $f._tuple; b = $f.b; err = $f.err; r = $f.r; size = $f.size; x = $f.x; x$1 = $f.x$1; x$2 = $f.x$2; x$3 = $f.x$3; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tr = 0;\n\t\tsize = 0;\n\t\terr = $ifaceNil;\n\t\tb = this;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!((b.r + 4 >> 0) > b.w && !utf8.FullRune($subslice(b.buf, b.r, b.w)) && $interfaceIsEqual(b.err, $ifaceNil) && (b.w - b.r >> 0) < b.buf.$length)) { break; } */ if(!((b.r + 4 >> 0) > b.w && !utf8.FullRune($subslice(b.buf, b.r, b.w)) && $interfaceIsEqual(b.err, $ifaceNil) && (b.w - b.r >> 0) < b.buf.$length)) { $s = 2; continue; }\n\t\t\t$r = b.fill(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ $s = 1; continue; case 2:\n\t\tb.lastRuneSize = -1;\n\t\tif (b.r === b.w) {\n\t\t\t_tmp = 0;\n\t\t\t_tmp$1 = 0;\n\t\t\t_tmp$2 = b.readErr();\n\t\t\tr = _tmp;\n\t\t\tsize = _tmp$1;\n\t\t\terr = _tmp$2;\n\t\t\t$s = -1; return [r, size, err];\n\t\t}\n\t\t_tmp$3 = (((x = b.buf, x$1 = b.r, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1])) >> 0));\n\t\t_tmp$4 = 1;\n\t\tr = _tmp$3;\n\t\tsize = _tmp$4;\n\t\tif (r >= 128) {\n\t\t\t_tuple = utf8.DecodeRune($subslice(b.buf, b.r, b.w));\n\t\t\tr = _tuple[0];\n\t\t\tsize = _tuple[1];\n\t\t}\n\t\tb.r = b.r + (size) >> 0;\n\t\tb.lastByte = (((x$2 = b.buf, x$3 = b.r - 1 >> 0, ((x$3 < 0 || x$3 >= x$2.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$2.$array[x$2.$offset + x$3])) >> 0));\n\t\tb.lastRuneSize = size;\n\t\t_tmp$5 = r;\n\t\t_tmp$6 = size;\n\t\t_tmp$7 = $ifaceNil;\n\t\tr = _tmp$5;\n\t\tsize = _tmp$6;\n\t\terr = _tmp$7;\n\t\t$s = -1; return [r, size, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Reader.ptr.prototype.ReadRune }; } $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f._tmp$4 = _tmp$4; $f._tmp$5 = _tmp$5; $f._tmp$6 = _tmp$6; $f._tmp$7 = _tmp$7; $f._tuple = _tuple; $f.b = b; $f.err = err; $f.r = r; $f.size = size; $f.x = x; $f.x$1 = x$1; $f.x$2 = x$2; $f.x$3 = x$3; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tReader.prototype.ReadRune = function() { return this.$val.ReadRune(); };\n\tReader.ptr.prototype.UnreadRune = function() {\n\t\tvar b;\n\t\tb = this;\n\t\tif (b.lastRuneSize < 0 || b.r < b.lastRuneSize) {\n\t\t\treturn $pkg.ErrInvalidUnreadRune;\n\t\t}\n\t\tb.r = b.r - (b.lastRuneSize) >> 0;\n\t\tb.lastByte = -1;\n\t\tb.lastRuneSize = -1;\n\t\treturn $ifaceNil;\n\t};\n\tReader.prototype.UnreadRune = function() { return this.$val.UnreadRune(); };\n\tReader.ptr.prototype.Buffered = function() {\n\t\tvar b;\n\t\tb = this;\n\t\treturn b.w - b.r >> 0;\n\t};\n\tReader.prototype.Buffered = function() { return this.$val.Buffered(); };\n\tReader.ptr.prototype.ReadSlice = function(delim) {\n\t\tvar b, delim, err, i, i$1, line, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; b = $f.b; delim = $f.delim; err = $f.err; i = $f.i; i$1 = $f.i$1; line = $f.line; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tline = sliceType.nil;\n\t\terr = $ifaceNil;\n\t\tb = this;\n\t\t/* while (true) { */ case 1:\n\t\t\ti = bytes.IndexByte($subslice(b.buf, b.r, b.w), delim);\n\t\t\tif (i >= 0) {\n\t\t\t\tline = $subslice(b.buf, b.r, ((b.r + i >> 0) + 1 >> 0));\n\t\t\t\tb.r = b.r + ((i + 1 >> 0)) >> 0;\n\t\t\t\t/* break; */ $s = 2; continue;\n\t\t\t}\n\t\t\tif (!($interfaceIsEqual(b.err, $ifaceNil))) {\n\t\t\t\tline = $subslice(b.buf, b.r, b.w);\n\t\t\t\tb.r = b.w;\n\t\t\t\terr = b.readErr();\n\t\t\t\t/* break; */ $s = 2; continue;\n\t\t\t}\n\t\t\tif (b.Buffered() >= b.buf.$length) {\n\t\t\t\tb.r = b.w;\n\t\t\t\tline = b.buf;\n\t\t\t\terr = $pkg.ErrBufferFull;\n\t\t\t\t/* break; */ $s = 2; continue;\n\t\t\t}\n\t\t\t$r = b.fill(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ $s = 1; continue; case 2:\n\t\ti$1 = line.$length - 1 >> 0;\n\t\tif (i$1 >= 0) {\n\t\t\tb.lastByte = ((((i$1 < 0 || i$1 >= line.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : line.$array[line.$offset + i$1]) >> 0));\n\t\t\tb.lastRuneSize = -1;\n\t\t}\n\t\t$s = -1; return [line, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Reader.ptr.prototype.ReadSlice }; } $f.b = b; $f.delim = delim; $f.err = err; $f.i = i; $f.i$1 = i$1; $f.line = line; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tReader.prototype.ReadSlice = function(delim) { return this.$val.ReadSlice(delim); };\n\tReader.ptr.prototype.ReadLine = function() {\n\t\tvar _r, _tmp, _tmp$1, _tmp$2, _tuple, b, drop, err, isPrefix, line, x, x$1, x$2, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tuple = $f._tuple; b = $f.b; drop = $f.drop; err = $f.err; isPrefix = $f.isPrefix; line = $f.line; x = $f.x; x$1 = $f.x$1; x$2 = $f.x$2; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tline = sliceType.nil;\n\t\tisPrefix = false;\n\t\terr = $ifaceNil;\n\t\tb = this;\n\t\t_r = b.ReadSlice(10); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tline = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif ($interfaceIsEqual(err, $pkg.ErrBufferFull)) {\n\t\t\tif (line.$length > 0 && ((x = line.$length - 1 >> 0, ((x < 0 || x >= line.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : line.$array[line.$offset + x])) === 13)) {\n\t\t\t\tif (b.r === 0) {\n\t\t\t\t\t$panic(new $String(\"bufio: tried to rewind past start of buffer\"));\n\t\t\t\t}\n\t\t\t\tb.r = b.r - (1) >> 0;\n\t\t\t\tline = $subslice(line, 0, (line.$length - 1 >> 0));\n\t\t\t}\n\t\t\t_tmp = line;\n\t\t\t_tmp$1 = true;\n\t\t\t_tmp$2 = $ifaceNil;\n\t\t\tline = _tmp;\n\t\t\tisPrefix = _tmp$1;\n\t\t\terr = _tmp$2;\n\t\t\t$s = -1; return [line, isPrefix, err];\n\t\t}\n\t\tif (line.$length === 0) {\n\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\tline = sliceType.nil;\n\t\t\t}\n\t\t\t$s = -1; return [line, isPrefix, err];\n\t\t}\n\t\terr = $ifaceNil;\n\t\tif ((x$1 = line.$length - 1 >> 0, ((x$1 < 0 || x$1 >= line.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : line.$array[line.$offset + x$1])) === 10) {\n\t\t\tdrop = 1;\n\t\t\tif (line.$length > 1 && ((x$2 = line.$length - 2 >> 0, ((x$2 < 0 || x$2 >= line.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : line.$array[line.$offset + x$2])) === 13)) {\n\t\t\t\tdrop = 2;\n\t\t\t}\n\t\t\tline = $subslice(line, 0, (line.$length - drop >> 0));\n\t\t}\n\t\t$s = -1; return [line, isPrefix, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Reader.ptr.prototype.ReadLine }; } $f._r = _r; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tuple = _tuple; $f.b = b; $f.drop = drop; $f.err = err; $f.isPrefix = isPrefix; $f.line = line; $f.x = x; $f.x$1 = x$1; $f.x$2 = x$2; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tReader.prototype.ReadLine = function() { return this.$val.ReadLine(); };\n\tReader.ptr.prototype.ReadBytes = function(delim) {\n\t\tvar _i, _i$1, _r, _ref, _ref$1, _tuple, b, buf, buf$1, delim, e, err, frag, full, i, i$1, n, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _i$1 = $f._i$1; _r = $f._r; _ref = $f._ref; _ref$1 = $f._ref$1; _tuple = $f._tuple; b = $f.b; buf = $f.buf; buf$1 = $f.buf$1; delim = $f.delim; e = $f.e; err = $f.err; frag = $f.frag; full = $f.full; i = $f.i; i$1 = $f.i$1; n = $f.n; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tb = this;\n\t\tfrag = sliceType.nil;\n\t\tfull = sliceType$1.nil;\n\t\terr = $ifaceNil;\n\t\t/* while (true) { */ case 1:\n\t\t\te = $ifaceNil;\n\t\t\t_r = b.ReadSlice(delim); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r;\n\t\t\tfrag = _tuple[0];\n\t\t\te = _tuple[1];\n\t\t\tif ($interfaceIsEqual(e, $ifaceNil)) {\n\t\t\t\t/* break; */ $s = 2; continue;\n\t\t\t}\n\t\t\tif (!($interfaceIsEqual(e, $pkg.ErrBufferFull))) {\n\t\t\t\terr = e;\n\t\t\t\t/* break; */ $s = 2; continue;\n\t\t\t}\n\t\t\tbuf = $makeSlice(sliceType, frag.$length);\n\t\t\t$copySlice(buf, frag);\n\t\t\tfull = $append(full, buf);\n\t\t/* } */ $s = 1; continue; case 2:\n\t\tn = 0;\n\t\t_ref = full;\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\ti = _i;\n\t\t\tn = n + (((i < 0 || i >= full.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : full.$array[full.$offset + i]).$length) >> 0;\n\t\t\t_i++;\n\t\t}\n\t\tn = n + (frag.$length) >> 0;\n\t\tbuf$1 = $makeSlice(sliceType, n);\n\t\tn = 0;\n\t\t_ref$1 = full;\n\t\t_i$1 = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i$1 < _ref$1.$length)) { break; }\n\t\t\ti$1 = _i$1;\n\t\t\tn = n + ($copySlice($subslice(buf$1, n), ((i$1 < 0 || i$1 >= full.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : full.$array[full.$offset + i$1]))) >> 0;\n\t\t\t_i$1++;\n\t\t}\n\t\t$copySlice($subslice(buf$1, n), frag);\n\t\t$s = -1; return [buf$1, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Reader.ptr.prototype.ReadBytes }; } $f._i = _i; $f._i$1 = _i$1; $f._r = _r; $f._ref = _ref; $f._ref$1 = _ref$1; $f._tuple = _tuple; $f.b = b; $f.buf = buf; $f.buf$1 = buf$1; $f.delim = delim; $f.e = e; $f.err = err; $f.frag = frag; $f.full = full; $f.i = i; $f.i$1 = i$1; $f.n = n; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tReader.prototype.ReadBytes = function(delim) { return this.$val.ReadBytes(delim); };\n\tReader.ptr.prototype.ReadString = function(delim) {\n\t\tvar _r, _tuple, b, bytes$1, delim, err, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; b = $f.b; bytes$1 = $f.bytes$1; delim = $f.delim; err = $f.err; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tb = this;\n\t\t_r = b.ReadBytes(delim); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tbytes$1 = _tuple[0];\n\t\terr = _tuple[1];\n\t\t$s = -1; return [($bytesToString(bytes$1)), err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Reader.ptr.prototype.ReadString }; } $f._r = _r; $f._tuple = _tuple; $f.b = b; $f.bytes$1 = bytes$1; $f.delim = delim; $f.err = err; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tReader.prototype.ReadString = function(delim) { return this.$val.ReadString(delim); };\n\tReader.ptr.prototype.WriteTo = function(w) {\n\t\tvar _r, _r$1, _r$2, _r$3, _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tuple, _tuple$1, _tuple$2, _tuple$3, _tuple$4, _tuple$5, b, err, err$1, err$2, err$3, m, m$1, m$2, n, ok, ok$1, r, w, w$1, x, x$1, x$2, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; _tmp$4 = $f._tmp$4; _tmp$5 = $f._tmp$5; _tmp$6 = $f._tmp$6; _tmp$7 = $f._tmp$7; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; _tuple$3 = $f._tuple$3; _tuple$4 = $f._tuple$4; _tuple$5 = $f._tuple$5; b = $f.b; err = $f.err; err$1 = $f.err$1; err$2 = $f.err$2; err$3 = $f.err$3; m = $f.m; m$1 = $f.m$1; m$2 = $f.m$2; n = $f.n; ok = $f.ok; ok$1 = $f.ok$1; r = $f.r; w = $f.w; w$1 = $f.w$1; x = $f.x; x$1 = $f.x$1; x$2 = $f.x$2; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tn = new $Int64(0, 0);\n\t\terr = $ifaceNil;\n\t\tb = this;\n\t\t_r = b.writeBuf(w); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tn = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return [n, err];\n\t\t}\n\t\t_tuple$1 = $assertType(b.rd, io.WriterTo, true);\n\t\tr = _tuple$1[0];\n\t\tok = _tuple$1[1];\n\t\t/* */ if (ok) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (ok) { */ case 2:\n\t\t\t_r$1 = r.WriteTo(w); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_tuple$2 = _r$1;\n\t\t\tm = _tuple$2[0];\n\t\t\terr$1 = _tuple$2[1];\n\t\t\tn = (x = m, new $Int64(n.$high + x.$high, n.$low + x.$low));\n\t\t\t_tmp = n;\n\t\t\t_tmp$1 = err$1;\n\t\t\tn = _tmp;\n\t\t\terr = _tmp$1;\n\t\t\t$s = -1; return [n, err];\n\t\t/* } */ case 3:\n\t\t_tuple$3 = $assertType(w, io.ReaderFrom, true);\n\t\tw$1 = _tuple$3[0];\n\t\tok$1 = _tuple$3[1];\n\t\t/* */ if (ok$1) { $s = 5; continue; }\n\t\t/* */ $s = 6; continue;\n\t\t/* if (ok$1) { */ case 5:\n\t\t\t_r$2 = w$1.ReadFrom(b.rd); /* */ $s = 7; case 7: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t_tuple$4 = _r$2;\n\t\t\tm$1 = _tuple$4[0];\n\t\t\terr$2 = _tuple$4[1];\n\t\t\tn = (x$1 = m$1, new $Int64(n.$high + x$1.$high, n.$low + x$1.$low));\n\t\t\t_tmp$2 = n;\n\t\t\t_tmp$3 = err$2;\n\t\t\tn = _tmp$2;\n\t\t\terr = _tmp$3;\n\t\t\t$s = -1; return [n, err];\n\t\t/* } */ case 6:\n\t\t/* */ if ((b.w - b.r >> 0) < b.buf.$length) { $s = 8; continue; }\n\t\t/* */ $s = 9; continue;\n\t\t/* if ((b.w - b.r >> 0) < b.buf.$length) { */ case 8:\n\t\t\t$r = b.fill(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 9:\n\t\t/* while (true) { */ case 11:\n\t\t\t/* if (!(b.r < b.w)) { break; } */ if(!(b.r < b.w)) { $s = 12; continue; }\n\t\t\t_r$3 = b.writeBuf(w); /* */ $s = 13; case 13: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t_tuple$5 = _r$3;\n\t\t\tm$2 = _tuple$5[0];\n\t\t\terr$3 = _tuple$5[1];\n\t\t\tn = (x$2 = m$2, new $Int64(n.$high + x$2.$high, n.$low + x$2.$low));\n\t\t\tif (!($interfaceIsEqual(err$3, $ifaceNil))) {\n\t\t\t\t_tmp$4 = n;\n\t\t\t\t_tmp$5 = err$3;\n\t\t\t\tn = _tmp$4;\n\t\t\t\terr = _tmp$5;\n\t\t\t\t$s = -1; return [n, err];\n\t\t\t}\n\t\t\t$r = b.fill(); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ $s = 11; continue; case 12:\n\t\tif ($interfaceIsEqual(b.err, io.EOF)) {\n\t\t\tb.err = $ifaceNil;\n\t\t}\n\t\t_tmp$6 = n;\n\t\t_tmp$7 = b.readErr();\n\t\tn = _tmp$6;\n\t\terr = _tmp$7;\n\t\t$s = -1; return [n, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Reader.ptr.prototype.WriteTo }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f._tmp$4 = _tmp$4; $f._tmp$5 = _tmp$5; $f._tmp$6 = _tmp$6; $f._tmp$7 = _tmp$7; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f._tuple$3 = _tuple$3; $f._tuple$4 = _tuple$4; $f._tuple$5 = _tuple$5; $f.b = b; $f.err = err; $f.err$1 = err$1; $f.err$2 = err$2; $f.err$3 = err$3; $f.m = m; $f.m$1 = m$1; $f.m$2 = m$2; $f.n = n; $f.ok = ok; $f.ok$1 = ok$1; $f.r = r; $f.w = w; $f.w$1 = w$1; $f.x = x; $f.x$1 = x$1; $f.x$2 = x$2; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tReader.prototype.WriteTo = function(w) { return this.$val.WriteTo(w); };\n\tReader.ptr.prototype.writeBuf = function(w) {\n\t\tvar _r, _tuple, b, err, n, w, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; b = $f.b; err = $f.err; n = $f.n; w = $f.w; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tb = this;\n\t\t_r = w.Write($subslice(b.buf, b.r, b.w)); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tn = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (n < 0) {\n\t\t\t$panic(errNegativeWrite);\n\t\t}\n\t\tb.r = b.r + (n) >> 0;\n\t\t$s = -1; return [(new $Int64(0, n)), err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Reader.ptr.prototype.writeBuf }; } $f._r = _r; $f._tuple = _tuple; $f.b = b; $f.err = err; $f.n = n; $f.w = w; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tReader.prototype.writeBuf = function(w) { return this.$val.writeBuf(w); };\n\tNewWriterSize = function(w, size) {\n\t\tvar _tuple, b, ok, size, w;\n\t\t_tuple = $assertType(w, ptrType$1, true);\n\t\tb = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok && b.buf.$length >= size) {\n\t\t\treturn b;\n\t\t}\n\t\tif (size <= 0) {\n\t\t\tsize = 4096;\n\t\t}\n\t\treturn new Writer.ptr($ifaceNil, $makeSlice(sliceType, size), 0, w);\n\t};\n\t$pkg.NewWriterSize = NewWriterSize;\n\tWriter.ptr.prototype.Size = function() {\n\t\tvar b;\n\t\tb = this;\n\t\treturn b.buf.$length;\n\t};\n\tWriter.prototype.Size = function() { return this.$val.Size(); };\n\tWriter.ptr.prototype.Reset = function(w) {\n\t\tvar b, w;\n\t\tb = this;\n\t\tb.err = $ifaceNil;\n\t\tb.n = 0;\n\t\tb.wr = w;\n\t};\n\tWriter.prototype.Reset = function(w) { return this.$val.Reset(w); };\n\tWriter.ptr.prototype.Flush = function() {\n\t\tvar _r, _tuple, b, err, n, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; b = $f.b; err = $f.err; n = $f.n; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tb = this;\n\t\tif (!($interfaceIsEqual(b.err, $ifaceNil))) {\n\t\t\t$s = -1; return b.err;\n\t\t}\n\t\tif (b.n === 0) {\n\t\t\t$s = -1; return $ifaceNil;\n\t\t}\n\t\t_r = b.wr.Write($subslice(b.buf, 0, b.n)); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tn = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (n < b.n && $interfaceIsEqual(err, $ifaceNil)) {\n\t\t\terr = io.ErrShortWrite;\n\t\t}\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\tif (n > 0 && n < b.n) {\n\t\t\t\t$copySlice($subslice(b.buf, 0, (b.n - n >> 0)), $subslice(b.buf, n, b.n));\n\t\t\t}\n\t\t\tb.n = b.n - (n) >> 0;\n\t\t\tb.err = err;\n\t\t\t$s = -1; return err;\n\t\t}\n\t\tb.n = 0;\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Writer.ptr.prototype.Flush }; } $f._r = _r; $f._tuple = _tuple; $f.b = b; $f.err = err; $f.n = n; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tWriter.prototype.Flush = function() { return this.$val.Flush(); };\n\tWriter.ptr.prototype.Available = function() {\n\t\tvar b;\n\t\tb = this;\n\t\treturn b.buf.$length - b.n >> 0;\n\t};\n\tWriter.prototype.Available = function() { return this.$val.Available(); };\n\tWriter.ptr.prototype.Buffered = function() {\n\t\tvar b;\n\t\tb = this;\n\t\treturn b.n;\n\t};\n\tWriter.prototype.Buffered = function() { return this.$val.Buffered(); };\n\tWriter.ptr.prototype.Write = function(p) {\n\t\tvar _r, _r$1, _tmp, _tmp$1, _tmp$2, _tmp$3, _tuple, b, err, n, n$1, nn, p, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; _tuple = $f._tuple; b = $f.b; err = $f.err; n = $f.n; n$1 = $f.n$1; nn = $f.nn; p = $f.p; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tnn = 0;\n\t\terr = $ifaceNil;\n\t\tb = this;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(p.$length > b.Available() && $interfaceIsEqual(b.err, $ifaceNil))) { break; } */ if(!(p.$length > b.Available() && $interfaceIsEqual(b.err, $ifaceNil))) { $s = 2; continue; }\n\t\t\tn = 0;\n\t\t\t/* */ if (b.Buffered() === 0) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (b.Buffered() === 0) { */ case 3:\n\t\t\t\t_r = b.wr.Write(p); /* */ $s = 6; case 6: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t_tuple = _r;\n\t\t\t\tn = _tuple[0];\n\t\t\t\tb.err = _tuple[1];\n\t\t\t\t$s = 5; continue;\n\t\t\t/* } else { */ case 4:\n\t\t\t\tn = $copySlice($subslice(b.buf, b.n), p);\n\t\t\t\tb.n = b.n + (n) >> 0;\n\t\t\t\t_r$1 = b.Flush(); /* */ $s = 7; case 7: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t_r$1;\n\t\t\t/* } */ case 5:\n\t\t\tnn = nn + (n) >> 0;\n\t\t\tp = $subslice(p, n);\n\t\t/* } */ $s = 1; continue; case 2:\n\t\tif (!($interfaceIsEqual(b.err, $ifaceNil))) {\n\t\t\t_tmp = nn;\n\t\t\t_tmp$1 = b.err;\n\t\t\tnn = _tmp;\n\t\t\terr = _tmp$1;\n\t\t\t$s = -1; return [nn, err];\n\t\t}\n\t\tn$1 = $copySlice($subslice(b.buf, b.n), p);\n\t\tb.n = b.n + (n$1) >> 0;\n\t\tnn = nn + (n$1) >> 0;\n\t\t_tmp$2 = nn;\n\t\t_tmp$3 = $ifaceNil;\n\t\tnn = _tmp$2;\n\t\terr = _tmp$3;\n\t\t$s = -1; return [nn, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Writer.ptr.prototype.Write }; } $f._r = _r; $f._r$1 = _r$1; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f._tuple = _tuple; $f.b = b; $f.err = err; $f.n = n; $f.n$1 = n$1; $f.nn = nn; $f.p = p; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tWriter.prototype.Write = function(p) { return this.$val.Write(p); };\n\tWriter.ptr.prototype.WriteByte = function(c) {\n\t\tvar _r, _v, b, c, x, x$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _v = $f._v; b = $f.b; c = $f.c; x = $f.x; x$1 = $f.x$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tb = this;\n\t\tif (!($interfaceIsEqual(b.err, $ifaceNil))) {\n\t\t\t$s = -1; return b.err;\n\t\t}\n\t\tif (!(b.Available() <= 0)) { _v = false; $s = 3; continue s; }\n\t\t_r = b.Flush(); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_v = !($interfaceIsEqual(_r, $ifaceNil)); case 3:\n\t\t/* */ if (_v) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (_v) { */ case 1:\n\t\t\t$s = -1; return b.err;\n\t\t/* } */ case 2:\n\t\t(x = b.buf, x$1 = b.n, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1] = c));\n\t\tb.n = b.n + (1) >> 0;\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Writer.ptr.prototype.WriteByte }; } $f._r = _r; $f._v = _v; $f.b = b; $f.c = c; $f.x = x; $f.x$1 = x$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tWriter.prototype.WriteByte = function(c) { return this.$val.WriteByte(c); };\n\tWriter.ptr.prototype.WriteRune = function(r) {\n\t\tvar _r, _r$1, _r$2, _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, _tuple, b, err, n, r, size, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; _tmp$4 = $f._tmp$4; _tmp$5 = $f._tmp$5; _tmp$6 = $f._tmp$6; _tmp$7 = $f._tmp$7; _tmp$8 = $f._tmp$8; _tmp$9 = $f._tmp$9; _tuple = $f._tuple; b = $f.b; err = $f.err; n = $f.n; r = $f.r; size = $f.size; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tsize = 0;\n\t\terr = $ifaceNil;\n\t\tb = this;\n\t\t/* */ if (r < 128) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (r < 128) { */ case 1:\n\t\t\t_r = b.WriteByte(((r << 24 >>> 24))); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\terr = _r;\n\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\t_tmp = 0;\n\t\t\t\t_tmp$1 = err;\n\t\t\t\tsize = _tmp;\n\t\t\t\terr = _tmp$1;\n\t\t\t\t$s = -1; return [size, err];\n\t\t\t}\n\t\t\t_tmp$2 = 1;\n\t\t\t_tmp$3 = $ifaceNil;\n\t\t\tsize = _tmp$2;\n\t\t\terr = _tmp$3;\n\t\t\t$s = -1; return [size, err];\n\t\t/* } */ case 2:\n\t\tif (!($interfaceIsEqual(b.err, $ifaceNil))) {\n\t\t\t_tmp$4 = 0;\n\t\t\t_tmp$5 = b.err;\n\t\t\tsize = _tmp$4;\n\t\t\terr = _tmp$5;\n\t\t\t$s = -1; return [size, err];\n\t\t}\n\t\tn = b.Available();\n\t\t/* */ if (n < 4) { $s = 4; continue; }\n\t\t/* */ $s = 5; continue;\n\t\t/* if (n < 4) { */ case 4:\n\t\t\t_r$1 = b.Flush(); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_r$1;\n\t\t\tif (!($interfaceIsEqual(b.err, $ifaceNil))) {\n\t\t\t\t_tmp$6 = 0;\n\t\t\t\t_tmp$7 = b.err;\n\t\t\t\tsize = _tmp$6;\n\t\t\t\terr = _tmp$7;\n\t\t\t\t$s = -1; return [size, err];\n\t\t\t}\n\t\t\tn = b.Available();\n\t\t\t/* */ if (n < 4) { $s = 7; continue; }\n\t\t\t/* */ $s = 8; continue;\n\t\t\t/* if (n < 4) { */ case 7:\n\t\t\t\t_r$2 = b.WriteString(($encodeRune(r))); /* */ $s = 9; case 9: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t_tuple = _r$2;\n\t\t\t\tsize = _tuple[0];\n\t\t\t\terr = _tuple[1];\n\t\t\t\t$s = -1; return [size, err];\n\t\t\t/* } */ case 8:\n\t\t/* } */ case 5:\n\t\tsize = utf8.EncodeRune($subslice(b.buf, b.n), r);\n\t\tb.n = b.n + (size) >> 0;\n\t\t_tmp$8 = size;\n\t\t_tmp$9 = $ifaceNil;\n\t\tsize = _tmp$8;\n\t\terr = _tmp$9;\n\t\t$s = -1; return [size, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Writer.ptr.prototype.WriteRune }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f._tmp$4 = _tmp$4; $f._tmp$5 = _tmp$5; $f._tmp$6 = _tmp$6; $f._tmp$7 = _tmp$7; $f._tmp$8 = _tmp$8; $f._tmp$9 = _tmp$9; $f._tuple = _tuple; $f.b = b; $f.err = err; $f.n = n; $f.r = r; $f.size = size; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tWriter.prototype.WriteRune = function(r) { return this.$val.WriteRune(r); };\n\tWriter.ptr.prototype.WriteString = function(s) {\n\t\tvar _r, b, n, n$1, nn, s, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; b = $f.b; n = $f.n; n$1 = $f.n$1; nn = $f.nn; s = $f.s; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tb = this;\n\t\tnn = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(s.length > b.Available() && $interfaceIsEqual(b.err, $ifaceNil))) { break; } */ if(!(s.length > b.Available() && $interfaceIsEqual(b.err, $ifaceNil))) { $s = 2; continue; }\n\t\t\tn = $copyString($subslice(b.buf, b.n), s);\n\t\t\tb.n = b.n + (n) >> 0;\n\t\t\tnn = nn + (n) >> 0;\n\t\t\ts = $substring(s, n);\n\t\t\t_r = b.Flush(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_r;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\tif (!($interfaceIsEqual(b.err, $ifaceNil))) {\n\t\t\t$s = -1; return [nn, b.err];\n\t\t}\n\t\tn$1 = $copyString($subslice(b.buf, b.n), s);\n\t\tb.n = b.n + (n$1) >> 0;\n\t\tnn = nn + (n$1) >> 0;\n\t\t$s = -1; return [nn, $ifaceNil];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Writer.ptr.prototype.WriteString }; } $f._r = _r; $f.b = b; $f.n = n; $f.n$1 = n$1; $f.nn = nn; $f.s = s; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tWriter.prototype.WriteString = function(s) { return this.$val.WriteString(s); };\n\tWriter.ptr.prototype.ReadFrom = function(r) {\n\t\tvar _r, _r$1, _r$2, _r$3, _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tuple, _tuple$1, _tuple$2, b, err, err1, m, n, nr, ok, r, w, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; _tmp$4 = $f._tmp$4; _tmp$5 = $f._tmp$5; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; b = $f.b; err = $f.err; err1 = $f.err1; m = $f.m; n = $f.n; nr = $f.nr; ok = $f.ok; r = $f.r; w = $f.w; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tn = new $Int64(0, 0);\n\t\terr = $ifaceNil;\n\t\tb = this;\n\t\t/* */ if (b.Buffered() === 0) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (b.Buffered() === 0) { */ case 1:\n\t\t\t_tuple = $assertType(b.wr, io.ReaderFrom, true);\n\t\t\tw = _tuple[0];\n\t\t\tok = _tuple[1];\n\t\t\t/* */ if (ok) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (ok) { */ case 3:\n\t\t\t\t_r = w.ReadFrom(r); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t_tuple$1 = _r;\n\t\t\t\tn = _tuple$1[0];\n\t\t\t\terr = _tuple$1[1];\n\t\t\t\t$s = -1; return [n, err];\n\t\t\t/* } */ case 4:\n\t\t/* } */ case 2:\n\t\tm = 0;\n\t\t/* while (true) { */ case 6:\n\t\t\t/* */ if (b.Available() === 0) { $s = 8; continue; }\n\t\t\t/* */ $s = 9; continue;\n\t\t\t/* if (b.Available() === 0) { */ case 8:\n\t\t\t\t_r$1 = b.Flush(); /* */ $s = 10; case 10: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\terr1 = _r$1;\n\t\t\t\tif (!($interfaceIsEqual(err1, $ifaceNil))) {\n\t\t\t\t\t_tmp = n;\n\t\t\t\t\t_tmp$1 = err1;\n\t\t\t\t\tn = _tmp;\n\t\t\t\t\terr = _tmp$1;\n\t\t\t\t\t$s = -1; return [n, err];\n\t\t\t\t}\n\t\t\t/* } */ case 9:\n\t\t\tnr = 0;\n\t\t\t/* while (true) { */ case 11:\n\t\t\t\t/* if (!(nr < 100)) { break; } */ if(!(nr < 100)) { $s = 12; continue; }\n\t\t\t\t_r$2 = r.Read($subslice(b.buf, b.n)); /* */ $s = 13; case 13: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t_tuple$2 = _r$2;\n\t\t\t\tm = _tuple$2[0];\n\t\t\t\terr = _tuple$2[1];\n\t\t\t\tif (!((m === 0)) || !($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\t\t/* break; */ $s = 12; continue;\n\t\t\t\t}\n\t\t\t\tnr = nr + (1) >> 0;\n\t\t\t/* } */ $s = 11; continue; case 12:\n\t\t\tif (nr === 100) {\n\t\t\t\t_tmp$2 = n;\n\t\t\t\t_tmp$3 = io.ErrNoProgress;\n\t\t\t\tn = _tmp$2;\n\t\t\t\terr = _tmp$3;\n\t\t\t\t$s = -1; return [n, err];\n\t\t\t}\n\t\t\tb.n = b.n + (m) >> 0;\n\t\t\tn = (x = (new $Int64(0, m)), new $Int64(n.$high + x.$high, n.$low + x.$low));\n\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\t/* break; */ $s = 7; continue;\n\t\t\t}\n\t\t/* } */ $s = 6; continue; case 7:\n\t\t/* */ if ($interfaceIsEqual(err, io.EOF)) { $s = 14; continue; }\n\t\t/* */ $s = 15; continue;\n\t\t/* if ($interfaceIsEqual(err, io.EOF)) { */ case 14:\n\t\t\t/* */ if (b.Available() === 0) { $s = 16; continue; }\n\t\t\t/* */ $s = 17; continue;\n\t\t\t/* if (b.Available() === 0) { */ case 16:\n\t\t\t\t_r$3 = b.Flush(); /* */ $s = 19; case 19: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\terr = _r$3;\n\t\t\t\t$s = 18; continue;\n\t\t\t/* } else { */ case 17:\n\t\t\t\terr = $ifaceNil;\n\t\t\t/* } */ case 18:\n\t\t/* } */ case 15:\n\t\t_tmp$4 = n;\n\t\t_tmp$5 = err;\n\t\tn = _tmp$4;\n\t\terr = _tmp$5;\n\t\t$s = -1; return [n, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Writer.ptr.prototype.ReadFrom }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f._tmp$4 = _tmp$4; $f._tmp$5 = _tmp$5; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f.b = b; $f.err = err; $f.err1 = err1; $f.m = m; $f.n = n; $f.nr = nr; $f.ok = ok; $f.r = r; $f.w = w; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tWriter.prototype.ReadFrom = function(r) { return this.$val.ReadFrom(r); };\n\tptrType.methods = [{prop: \"Size\", name: \"Size\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Reset\", name: \"Reset\", pkg: \"\", typ: $funcType([io.Reader], [], false)}, {prop: \"reset\", name: \"reset\", pkg: \"bufio\", typ: $funcType([sliceType, io.Reader], [], false)}, {prop: \"fill\", name: \"fill\", pkg: \"bufio\", typ: $funcType([], [], false)}, {prop: \"readErr\", name: \"readErr\", pkg: \"bufio\", typ: $funcType([], [$error], false)}, {prop: \"Peek\", name: \"Peek\", pkg: \"\", typ: $funcType([$Int], [sliceType, $error], false)}, {prop: \"Discard\", name: \"Discard\", pkg: \"\", typ: $funcType([$Int], [$Int, $error], false)}, {prop: \"Read\", name: \"Read\", pkg: \"\", typ: $funcType([sliceType], [$Int, $error], false)}, {prop: \"ReadByte\", name: \"ReadByte\", pkg: \"\", typ: $funcType([], [$Uint8, $error], false)}, {prop: \"UnreadByte\", name: \"UnreadByte\", pkg: \"\", typ: $funcType([], [$error], false)}, {prop: \"ReadRune\", name: \"ReadRune\", pkg: \"\", typ: $funcType([], [$Int32, $Int, $error], false)}, {prop: \"UnreadRune\", name: \"UnreadRune\", pkg: \"\", typ: $funcType([], [$error], false)}, {prop: \"Buffered\", name: \"Buffered\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"ReadSlice\", name: \"ReadSlice\", pkg: \"\", typ: $funcType([$Uint8], [sliceType, $error], false)}, {prop: \"ReadLine\", name: \"ReadLine\", pkg: \"\", typ: $funcType([], [sliceType, $Bool, $error], false)}, {prop: \"ReadBytes\", name: \"ReadBytes\", pkg: \"\", typ: $funcType([$Uint8], [sliceType, $error], false)}, {prop: \"ReadString\", name: \"ReadString\", pkg: \"\", typ: $funcType([$Uint8], [$String, $error], false)}, {prop: \"WriteTo\", name: \"WriteTo\", pkg: \"\", typ: $funcType([io.Writer], [$Int64, $error], false)}, {prop: \"writeBuf\", name: \"writeBuf\", pkg: \"bufio\", typ: $funcType([io.Writer], [$Int64, $error], false)}];\n\tptrType$1.methods = [{prop: \"Size\", name: \"Size\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Reset\", name: \"Reset\", pkg: \"\", typ: $funcType([io.Writer], [], false)}, {prop: \"Flush\", name: \"Flush\", pkg: \"\", typ: $funcType([], [$error], false)}, {prop: \"Available\", name: \"Available\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Buffered\", name: \"Buffered\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Write\", name: \"Write\", pkg: \"\", typ: $funcType([sliceType], [$Int, $error], false)}, {prop: \"WriteByte\", name: \"WriteByte\", pkg: \"\", typ: $funcType([$Uint8], [$error], false)}, {prop: \"WriteRune\", name: \"WriteRune\", pkg: \"\", typ: $funcType([$Int32], [$Int, $error], false)}, {prop: \"WriteString\", name: \"WriteString\", pkg: \"\", typ: $funcType([$String], [$Int, $error], false)}, {prop: \"ReadFrom\", name: \"ReadFrom\", pkg: \"\", typ: $funcType([io.Reader], [$Int64, $error], false)}];\n\tReader.init(\"bufio\", [{prop: \"buf\", name: \"buf\", embedded: false, exported: false, typ: sliceType, tag: \"\"}, {prop: \"rd\", name: \"rd\", embedded: false, exported: false, typ: io.Reader, tag: \"\"}, {prop: \"r\", name: \"r\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"w\", name: \"w\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"err\", name: \"err\", embedded: false, exported: false, typ: $error, tag: \"\"}, {prop: \"lastByte\", name: \"lastByte\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"lastRuneSize\", name: \"lastRuneSize\", embedded: false, exported: false, typ: $Int, tag: \"\"}]);\n\tWriter.init(\"bufio\", [{prop: \"err\", name: \"err\", embedded: false, exported: false, typ: $error, tag: \"\"}, {prop: \"buf\", name: \"buf\", embedded: false, exported: false, typ: sliceType, tag: \"\"}, {prop: \"n\", name: \"n\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"wr\", name: \"wr\", embedded: false, exported: false, typ: io.Writer, tag: \"\"}]);\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = bytes.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = errors.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = io.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = utf8.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$pkg.ErrInvalidUnreadByte = errors.New(\"bufio: invalid use of UnreadByte\");\n\t\t$pkg.ErrInvalidUnreadRune = errors.New(\"bufio: invalid use of UnreadRune\");\n\t\t$pkg.ErrBufferFull = errors.New(\"bufio: buffer full\");\n\t\t$pkg.ErrNegativeCount = errors.New(\"bufio: negative count\");\n\t\terrNegativeRead = errors.New(\"bufio: reader returned negative count from Read\");\n\t\terrNegativeWrite = errors.New(\"bufio: writer returned negative count from Write\");\n\t\t$pkg.ErrTooLong = errors.New(\"bufio.Scanner: token too long\");\n\t\t$pkg.ErrNegativeAdvance = errors.New(\"bufio.Scanner: SplitFunc returns negative advance count\");\n\t\t$pkg.ErrAdvanceTooFar = errors.New(\"bufio.Scanner: SplitFunc returns advance count beyond input\");\n\t\t$pkg.ErrFinalToken = errors.New(\"final token\");\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"math\"] = (function() {\n\tvar $pkg = {}, $init, js, arrayType, arrayType$1, arrayType$2, structType, math, zero, posInf, negInf, nan, buf, Acos, Asin, Atan, Atan2, Ceil, Copysign, Cos, Cosh, Exp, Floor, Frexp, Inf, IsInf, IsNaN, Ldexp, Log, Log10, Mod, Modf, NaN, Pow, Sin, Sinh, Sqrt, Tan, Tanh, init, Float32bits, Float32frombits, Float64bits, Float64frombits, Abs, normalize, frexp, ldexp, log10;\n\tjs = $packages[\"github.com/gopherjs/gopherjs/js\"];\n\tarrayType = $arrayType($Uint32, 2);\n\tarrayType$1 = $arrayType($Float32, 2);\n\tarrayType$2 = $arrayType($Float64, 1);\n\tstructType = $structType(\"math\", [{prop: \"uint32array\", name: \"uint32array\", embedded: false, exported: false, typ: arrayType, tag: \"\"}, {prop: \"float32array\", name: \"float32array\", embedded: false, exported: false, typ: arrayType$1, tag: \"\"}, {prop: \"float64array\", name: \"float64array\", embedded: false, exported: false, typ: arrayType$2, tag: \"\"}]);\n\tAcos = function(x) {\n\t\tvar x;\n\t\treturn $parseFloat(math.acos(x));\n\t};\n\t$pkg.Acos = Acos;\n\tAsin = function(x) {\n\t\tvar x;\n\t\treturn $parseFloat(math.asin(x));\n\t};\n\t$pkg.Asin = Asin;\n\tAtan = function(x) {\n\t\tvar x;\n\t\treturn $parseFloat(math.atan(x));\n\t};\n\t$pkg.Atan = Atan;\n\tAtan2 = function(y, x) {\n\t\tvar x, y;\n\t\treturn $parseFloat(math.atan2(y, x));\n\t};\n\t$pkg.Atan2 = Atan2;\n\tCeil = function(x) {\n\t\tvar x;\n\t\treturn $parseFloat(math.ceil(x));\n\t};\n\t$pkg.Ceil = Ceil;\n\tCopysign = function(x, y) {\n\t\tvar x, y;\n\t\tif (!((x < 0 || (1 / x === negInf)) === (y < 0 || (1 / y === negInf)))) {\n\t\t\treturn -x;\n\t\t}\n\t\treturn x;\n\t};\n\t$pkg.Copysign = Copysign;\n\tCos = function(x) {\n\t\tvar x;\n\t\treturn $parseFloat(math.cos(x));\n\t};\n\t$pkg.Cos = Cos;\n\tCosh = function(x) {\n\t\tvar x;\n\t\treturn $parseFloat(math.cosh(x));\n\t};\n\t$pkg.Cosh = Cosh;\n\tExp = function(x) {\n\t\tvar x;\n\t\treturn $parseFloat(math.exp(x));\n\t};\n\t$pkg.Exp = Exp;\n\tFloor = function(x) {\n\t\tvar x;\n\t\treturn $parseFloat(math.floor(x));\n\t};\n\t$pkg.Floor = Floor;\n\tFrexp = function(f) {\n\t\tvar _tuple, exp$1, f, frac;\n\t\tfrac = 0;\n\t\texp$1 = 0;\n\t\t_tuple = frexp(f);\n\t\tfrac = _tuple[0];\n\t\texp$1 = _tuple[1];\n\t\treturn [frac, exp$1];\n\t};\n\t$pkg.Frexp = Frexp;\n\tInf = function(sign) {\n\t\tvar sign;\n\t\tif (sign >= 0) {\n\t\t\treturn posInf;\n\t\t} else {\n\t\t\treturn negInf;\n\t\t}\n\t};\n\t$pkg.Inf = Inf;\n\tIsInf = function(f, sign) {\n\t\tvar f, sign;\n\t\tif (f === posInf) {\n\t\t\treturn sign >= 0;\n\t\t}\n\t\tif (f === negInf) {\n\t\t\treturn sign <= 0;\n\t\t}\n\t\treturn false;\n\t};\n\t$pkg.IsInf = IsInf;\n\tIsNaN = function(f) {\n\t\tvar f, is;\n\t\tis = false;\n\t\tis = !((f === f));\n\t\treturn is;\n\t};\n\t$pkg.IsNaN = IsNaN;\n\tLdexp = function(frac, exp$1) {\n\t\tvar exp$1, frac;\n\t\tif (-1024 < exp$1 && exp$1 < 1024) {\n\t\t\tif (frac === 0) {\n\t\t\t\treturn frac;\n\t\t\t}\n\t\t\treturn frac * $parseFloat(math.pow(2, exp$1));\n\t\t}\n\t\treturn ldexp(frac, exp$1);\n\t};\n\t$pkg.Ldexp = Ldexp;\n\tLog = function(x) {\n\t\tvar x;\n\t\tif (!((x === x))) {\n\t\t\treturn nan;\n\t\t}\n\t\treturn $parseFloat(math.log(x));\n\t};\n\t$pkg.Log = Log;\n\tLog10 = function(x) {\n\t\tvar x;\n\t\treturn log10(x);\n\t};\n\t$pkg.Log10 = Log10;\n\tMod = function(x, y) {\n\t\tvar x, y;\n\t\treturn $parseFloat($mod(x, y));\n\t};\n\t$pkg.Mod = Mod;\n\tModf = function(f) {\n\t\tvar f, frac;\n\t\tif ((f === posInf) || (f === negInf)) {\n\t\t\treturn [f, nan];\n\t\t}\n\t\tif (1 / f === negInf) {\n\t\t\treturn [f, f];\n\t\t}\n\t\tfrac = Mod(f, 1);\n\t\treturn [f - frac, frac];\n\t};\n\t$pkg.Modf = Modf;\n\tNaN = function() {\n\t\treturn nan;\n\t};\n\t$pkg.NaN = NaN;\n\tPow = function(x, y) {\n\t\tvar x, y;\n\t\tif ((x === 1) || ((x === -1) && ((y === posInf) || (y === negInf)))) {\n\t\t\treturn 1;\n\t\t}\n\t\treturn $parseFloat(math.pow(x, y));\n\t};\n\t$pkg.Pow = Pow;\n\tSin = function(x) {\n\t\tvar x;\n\t\treturn $parseFloat(math.sin(x));\n\t};\n\t$pkg.Sin = Sin;\n\tSinh = function(x) {\n\t\tvar x;\n\t\treturn $parseFloat(math.sinh(x));\n\t};\n\t$pkg.Sinh = Sinh;\n\tSqrt = function(x) {\n\t\tvar x;\n\t\treturn $parseFloat(math.sqrt(x));\n\t};\n\t$pkg.Sqrt = Sqrt;\n\tTan = function(x) {\n\t\tvar x;\n\t\treturn $parseFloat(math.tan(x));\n\t};\n\t$pkg.Tan = Tan;\n\tTanh = function(x) {\n\t\tvar x;\n\t\treturn $parseFloat(math.tanh(x));\n\t};\n\t$pkg.Tanh = Tanh;\n\tinit = function() {\n\t\tvar ab;\n\t\tab = new ($global.ArrayBuffer)(8);\n\t\tbuf.uint32array = new ($global.Uint32Array)(ab);\n\t\tbuf.float32array = new ($global.Float32Array)(ab);\n\t\tbuf.float64array = new ($global.Float64Array)(ab);\n\t};\n\tFloat32bits = function(f) {\n\t\tvar f;\n\t\tbuf.float32array[0] = f;\n\t\treturn buf.uint32array[0];\n\t};\n\t$pkg.Float32bits = Float32bits;\n\tFloat32frombits = function(b) {\n\t\tvar b;\n\t\tbuf.uint32array[0] = b;\n\t\treturn buf.float32array[0];\n\t};\n\t$pkg.Float32frombits = Float32frombits;\n\tFloat64bits = function(f) {\n\t\tvar f, x, x$1;\n\t\tbuf.float64array[0] = f;\n\t\treturn (x = $shiftLeft64((new $Uint64(0, buf.uint32array[1])), 32), x$1 = (new $Uint64(0, buf.uint32array[0])), new $Uint64(x.$high + x$1.$high, x.$low + x$1.$low));\n\t};\n\t$pkg.Float64bits = Float64bits;\n\tFloat64frombits = function(b) {\n\t\tvar b;\n\t\tbuf.uint32array[0] = ((b.$low >>> 0));\n\t\tbuf.uint32array[1] = (($shiftRightUint64(b, 32).$low >>> 0));\n\t\treturn buf.float64array[0];\n\t};\n\t$pkg.Float64frombits = Float64frombits;\n\tAbs = function(x) {\n\t\tvar x, x$1;\n\t\treturn Float64frombits((x$1 = Float64bits(x), new $Uint64(x$1.$high & ~2147483648, (x$1.$low & ~0) >>> 0)));\n\t};\n\t$pkg.Abs = Abs;\n\tnormalize = function(x) {\n\t\tvar _tmp, _tmp$1, _tmp$2, _tmp$3, exp$1, x, y;\n\t\ty = 0;\n\t\texp$1 = 0;\n\t\tif (Abs(x) < 2.2250738585072014e-308) {\n\t\t\t_tmp = x * 4.503599627370496e+15;\n\t\t\t_tmp$1 = -52;\n\t\t\ty = _tmp;\n\t\t\texp$1 = _tmp$1;\n\t\t\treturn [y, exp$1];\n\t\t}\n\t\t_tmp$2 = x;\n\t\t_tmp$3 = 0;\n\t\ty = _tmp$2;\n\t\texp$1 = _tmp$3;\n\t\treturn [y, exp$1];\n\t};\n\tfrexp = function(f) {\n\t\tvar _tmp, _tmp$1, _tmp$2, _tmp$3, _tuple, exp$1, f, frac, x, x$1, x$2, x$3;\n\t\tfrac = 0;\n\t\texp$1 = 0;\n\t\tif ((f === 0)) {\n\t\t\t_tmp = f;\n\t\t\t_tmp$1 = 0;\n\t\t\tfrac = _tmp;\n\t\t\texp$1 = _tmp$1;\n\t\t\treturn [frac, exp$1];\n\t\t} else if (IsInf(f, 0) || IsNaN(f)) {\n\t\t\t_tmp$2 = f;\n\t\t\t_tmp$3 = 0;\n\t\t\tfrac = _tmp$2;\n\t\t\texp$1 = _tmp$3;\n\t\t\treturn [frac, exp$1];\n\t\t}\n\t\t_tuple = normalize(f);\n\t\tf = _tuple[0];\n\t\texp$1 = _tuple[1];\n\t\tx = Float64bits(f);\n\t\texp$1 = exp$1 + ((((((x$1 = $shiftRightUint64(x, 52), new $Uint64(x$1.$high & 0, (x$1.$low & 2047) >>> 0)).$low >> 0)) - 1023 >> 0) + 1 >> 0)) >> 0;\n\t\tx = (x$2 = new $Uint64(2146435072, 0), new $Uint64(x.$high & ~x$2.$high, (x.$low & ~x$2.$low) >>> 0));\n\t\tx = (x$3 = new $Uint64(1071644672, 0), new $Uint64(x.$high | x$3.$high, (x.$low | x$3.$low) >>> 0));\n\t\tfrac = Float64frombits(x);\n\t\treturn [frac, exp$1];\n\t};\n\tldexp = function(frac, exp$1) {\n\t\tvar _tuple, e, exp$1, frac, m, x, x$1, x$2;\n\t\tif ((frac === 0)) {\n\t\t\treturn frac;\n\t\t} else if (IsInf(frac, 0) || IsNaN(frac)) {\n\t\t\treturn frac;\n\t\t}\n\t\t_tuple = normalize(frac);\n\t\tfrac = _tuple[0];\n\t\te = _tuple[1];\n\t\texp$1 = exp$1 + (e) >> 0;\n\t\tx = Float64bits(frac);\n\t\texp$1 = exp$1 + ((((($shiftRightUint64(x, 52).$low >> 0)) & 2047) - 1023 >> 0)) >> 0;\n\t\tif (exp$1 < -1075) {\n\t\t\treturn Copysign(0, frac);\n\t\t}\n\t\tif (exp$1 > 1023) {\n\t\t\tif (frac < 0) {\n\t\t\t\treturn Inf(-1);\n\t\t\t}\n\t\t\treturn Inf(1);\n\t\t}\n\t\tm = 1;\n\t\tif (exp$1 < -1022) {\n\t\t\texp$1 = exp$1 + (53) >> 0;\n\t\t\tm = 1.1102230246251565e-16;\n\t\t}\n\t\tx = (x$1 = new $Uint64(2146435072, 0), new $Uint64(x.$high & ~x$1.$high, (x.$low & ~x$1.$low) >>> 0));\n\t\tx = (x$2 = $shiftLeft64((new $Uint64(0, (exp$1 + 1023 >> 0))), 52), new $Uint64(x.$high | x$2.$high, (x.$low | x$2.$low) >>> 0));\n\t\treturn m * Float64frombits(x);\n\t};\n\tlog10 = function(x) {\n\t\tvar x;\n\t\treturn Log(x) * 0.4342944819032518;\n\t};\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = js.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tbuf = new structType.ptr(arrayType.zero(), arrayType$1.zero(), arrayType$2.zero());\n\t\tmath = $global.Math;\n\t\tzero = 0;\n\t\tposInf = 1 / zero;\n\t\tnegInf = -1 / zero;\n\t\tnan = 0 / zero;\n\t\tinit();\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"syscall\"] = (function() {\n\tvar $pkg = {}, $init, js, race, runtime, sync, SysProcIDMap, SysProcAttr, Credential, ProcAttr, WaitStatus, SockaddrLinklayer, SockaddrNetlink, mmapper, Errno, Signal, Sockaddr, SockaddrInet4, SockaddrInet6, SockaddrUnix, _C_int, Timespec, Timeval, Rusage, Stat_t, RawSockaddrInet4, RawSockaddrInet6, RawSockaddrUnix, RawSockaddrLinklayer, RawSockaddrNetlink, RawSockaddr, RawSockaddrAny, _Socklen, Linger, Iovec, IPMreq, IPMreqn, IPv6Mreq, Msghdr, sliceType, sliceType$1, sliceType$2, ptrType, ptrType$1, sliceType$3, ptrType$2, arrayType, ptrType$3, sliceType$4, ptrType$4, sliceType$5, ptrType$5, ptrType$6, ptrType$7, arrayType$1, ptrType$8, arrayType$2, ptrType$11, arrayType$4, arrayType$5, arrayType$7, ptrType$17, arrayType$8, arrayType$9, arrayType$10, arrayType$11, ptrType$18, ptrType$19, arrayType$13, structType, ptrType$22, sliceType$10, ptrType$24, ptrType$25, mapType, funcType$2, funcType$3, ptrType$26, ptrType$27, ptrType$28, ptrType$29, ptrType$30, ptrType$31, warningPrinted, lineBuffer, syscallModule, alreadyTriedToLoad, minusOne, envOnce, envLock, env, envs, none, slash, zeroProcAttr, zeroProcAttr$24ptr, zeroSysProcAttr, zeroSysProcAttr$24ptr, mapper, errEAGAIN, errEINVAL, errENOENT, ioSync, ioSync$24ptr, errors, signals, init, printWarning, printToConsole, Exit, indexByte, runtime_envs, setenv_c, syscall, Syscall, Syscall6, RawSyscall, rawSyscallNoError, RawSyscall6, BytePtrFromString, readInt, readIntBE, readIntLE, ParseDirent, copyenv, Getenv, Setenv, Environ, runtime_BeforeFork, runtime_AfterFork, runtime_AfterForkInChild, forkAndExecInChild, forkAndExecInChild1, forkExecPipe, writeIDMappings, writeSetgroups, writeUidGidMappings, SlicePtrFromStrings, CloseOnExec, SetNonblock, forkExec, StartProcess, msanRead, msanWrite, itoa, uitoa, ByteSliceFromString, Chmod, Fchmodat, Open, Rename, Rmdir, Unlink, Getwd, Wait4, anyToSockaddr, Accept, Accept4, SetsockoptIPMreqn, Recvmsg, SendmsgN, ReadDirent, direntIno, direntReclen, direntNamlen, Stat, Pipe, Pipe2, rawVforkSyscall, errnoErr, Read, Write, GetsockoptInt, Recvfrom, Sendto, SetsockoptByte, SetsockoptInt, SetsockoptInet4Addr, SetsockoptIPMreq, SetsockoptIPv6Mreq, SetsockoptLinger, fchmodat, openat, unlinkat, Getcwd, wait4, Close, Dup, Fchdir, Fchmod, fcntl, Fsync, Getdents, Getpid, Kill, read, Renameat, write, readlen, munmap, Fchown, Fstat, Ftruncate, Lstat, Pread, Pwrite, Seek, Shutdown, accept, accept4, fstatat, getsockopt, setsockopt, recvfrom, sendto, recvmsg, sendmsg, mmap, pipe, pipe2;\n\tjs = $packages[\"github.com/gopherjs/gopherjs/js\"];\n\trace = $packages[\"internal/race\"];\n\truntime = $packages[\"runtime\"];\n\tsync = $packages[\"sync\"];\n\tSysProcIDMap = $pkg.SysProcIDMap = $newType(0, $kindStruct, \"syscall.SysProcIDMap\", true, \"syscall\", true, function(ContainerID_, HostID_, Size_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.ContainerID = 0;\n\t\t\tthis.HostID = 0;\n\t\t\tthis.Size = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.ContainerID = ContainerID_;\n\t\tthis.HostID = HostID_;\n\t\tthis.Size = Size_;\n\t});\n\tSysProcAttr = $pkg.SysProcAttr = $newType(0, $kindStruct, \"syscall.SysProcAttr\", true, \"syscall\", true, function(Chroot_, Credential_, Ptrace_, Setsid_, Setpgid_, Setctty_, Noctty_, Ctty_, Foreground_, Pgid_, Pdeathsig_, Cloneflags_, Unshareflags_, UidMappings_, GidMappings_, GidMappingsEnableSetgroups_, AmbientCaps_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Chroot = \"\";\n\t\t\tthis.Credential = ptrType$1.nil;\n\t\t\tthis.Ptrace = false;\n\t\t\tthis.Setsid = false;\n\t\t\tthis.Setpgid = false;\n\t\t\tthis.Setctty = false;\n\t\t\tthis.Noctty = false;\n\t\t\tthis.Ctty = 0;\n\t\t\tthis.Foreground = false;\n\t\t\tthis.Pgid = 0;\n\t\t\tthis.Pdeathsig = 0;\n\t\t\tthis.Cloneflags = 0;\n\t\t\tthis.Unshareflags = 0;\n\t\t\tthis.UidMappings = sliceType$3.nil;\n\t\t\tthis.GidMappings = sliceType$3.nil;\n\t\t\tthis.GidMappingsEnableSetgroups = false;\n\t\t\tthis.AmbientCaps = sliceType$2.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.Chroot = Chroot_;\n\t\tthis.Credential = Credential_;\n\t\tthis.Ptrace = Ptrace_;\n\t\tthis.Setsid = Setsid_;\n\t\tthis.Setpgid = Setpgid_;\n\t\tthis.Setctty = Setctty_;\n\t\tthis.Noctty = Noctty_;\n\t\tthis.Ctty = Ctty_;\n\t\tthis.Foreground = Foreground_;\n\t\tthis.Pgid = Pgid_;\n\t\tthis.Pdeathsig = Pdeathsig_;\n\t\tthis.Cloneflags = Cloneflags_;\n\t\tthis.Unshareflags = Unshareflags_;\n\t\tthis.UidMappings = UidMappings_;\n\t\tthis.GidMappings = GidMappings_;\n\t\tthis.GidMappingsEnableSetgroups = GidMappingsEnableSetgroups_;\n\t\tthis.AmbientCaps = AmbientCaps_;\n\t});\n\tCredential = $pkg.Credential = $newType(0, $kindStruct, \"syscall.Credential\", true, \"syscall\", true, function(Uid_, Gid_, Groups_, NoSetGroups_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Uid = 0;\n\t\t\tthis.Gid = 0;\n\t\t\tthis.Groups = sliceType$10.nil;\n\t\t\tthis.NoSetGroups = false;\n\t\t\treturn;\n\t\t}\n\t\tthis.Uid = Uid_;\n\t\tthis.Gid = Gid_;\n\t\tthis.Groups = Groups_;\n\t\tthis.NoSetGroups = NoSetGroups_;\n\t});\n\tProcAttr = $pkg.ProcAttr = $newType(0, $kindStruct, \"syscall.ProcAttr\", true, \"syscall\", true, function(Dir_, Env_, Files_, Sys_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Dir = \"\";\n\t\t\tthis.Env = sliceType$1.nil;\n\t\t\tthis.Files = sliceType$2.nil;\n\t\t\tthis.Sys = ptrType.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.Dir = Dir_;\n\t\tthis.Env = Env_;\n\t\tthis.Files = Files_;\n\t\tthis.Sys = Sys_;\n\t});\n\tWaitStatus = $pkg.WaitStatus = $newType(4, $kindUint32, \"syscall.WaitStatus\", true, \"syscall\", true, null);\n\tSockaddrLinklayer = $pkg.SockaddrLinklayer = $newType(0, $kindStruct, \"syscall.SockaddrLinklayer\", true, \"syscall\", true, function(Protocol_, Ifindex_, Hatype_, Pkttype_, Halen_, Addr_, raw_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Protocol = 0;\n\t\t\tthis.Ifindex = 0;\n\t\t\tthis.Hatype = 0;\n\t\t\tthis.Pkttype = 0;\n\t\t\tthis.Halen = 0;\n\t\t\tthis.Addr = arrayType$1.zero();\n\t\t\tthis.raw = new RawSockaddrLinklayer.ptr(0, 0, 0, 0, 0, 0, arrayType$1.zero());\n\t\t\treturn;\n\t\t}\n\t\tthis.Protocol = Protocol_;\n\t\tthis.Ifindex = Ifindex_;\n\t\tthis.Hatype = Hatype_;\n\t\tthis.Pkttype = Pkttype_;\n\t\tthis.Halen = Halen_;\n\t\tthis.Addr = Addr_;\n\t\tthis.raw = raw_;\n\t});\n\tSockaddrNetlink = $pkg.SockaddrNetlink = $newType(0, $kindStruct, \"syscall.SockaddrNetlink\", true, \"syscall\", true, function(Family_, Pad_, Pid_, Groups_, raw_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Family = 0;\n\t\t\tthis.Pad = 0;\n\t\t\tthis.Pid = 0;\n\t\t\tthis.Groups = 0;\n\t\t\tthis.raw = new RawSockaddrNetlink.ptr(0, 0, 0, 0);\n\t\t\treturn;\n\t\t}\n\t\tthis.Family = Family_;\n\t\tthis.Pad = Pad_;\n\t\tthis.Pid = Pid_;\n\t\tthis.Groups = Groups_;\n\t\tthis.raw = raw_;\n\t});\n\tmmapper = $pkg.mmapper = $newType(0, $kindStruct, \"syscall.mmapper\", true, \"syscall\", false, function(Mutex_, active_, mmap_, munmap_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Mutex = new sync.Mutex.ptr(0, 0);\n\t\t\tthis.active = false;\n\t\t\tthis.mmap = $throwNilPointerError;\n\t\t\tthis.munmap = $throwNilPointerError;\n\t\t\treturn;\n\t\t}\n\t\tthis.Mutex = Mutex_;\n\t\tthis.active = active_;\n\t\tthis.mmap = mmap_;\n\t\tthis.munmap = munmap_;\n\t});\n\tErrno = $pkg.Errno = $newType(4, $kindUintptr, \"syscall.Errno\", true, \"syscall\", true, null);\n\tSignal = $pkg.Signal = $newType(4, $kindInt, \"syscall.Signal\", true, \"syscall\", true, null);\n\tSockaddr = $pkg.Sockaddr = $newType(8, $kindInterface, \"syscall.Sockaddr\", true, \"syscall\", true, null);\n\tSockaddrInet4 = $pkg.SockaddrInet4 = $newType(0, $kindStruct, \"syscall.SockaddrInet4\", true, \"syscall\", true, function(Port_, Addr_, raw_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Port = 0;\n\t\t\tthis.Addr = arrayType$9.zero();\n\t\t\tthis.raw = new RawSockaddrInet4.ptr(0, 0, arrayType$9.zero(), arrayType$1.zero());\n\t\t\treturn;\n\t\t}\n\t\tthis.Port = Port_;\n\t\tthis.Addr = Addr_;\n\t\tthis.raw = raw_;\n\t});\n\tSockaddrInet6 = $pkg.SockaddrInet6 = $newType(0, $kindStruct, \"syscall.SockaddrInet6\", true, \"syscall\", true, function(Port_, ZoneId_, Addr_, raw_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Port = 0;\n\t\t\tthis.ZoneId = 0;\n\t\t\tthis.Addr = arrayType$2.zero();\n\t\t\tthis.raw = new RawSockaddrInet6.ptr(0, 0, 0, arrayType$2.zero(), 0);\n\t\t\treturn;\n\t\t}\n\t\tthis.Port = Port_;\n\t\tthis.ZoneId = ZoneId_;\n\t\tthis.Addr = Addr_;\n\t\tthis.raw = raw_;\n\t});\n\tSockaddrUnix = $pkg.SockaddrUnix = $newType(0, $kindStruct, \"syscall.SockaddrUnix\", true, \"syscall\", true, function(Name_, raw_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Name = \"\";\n\t\t\tthis.raw = new RawSockaddrUnix.ptr(0, arrayType$8.zero());\n\t\t\treturn;\n\t\t}\n\t\tthis.Name = Name_;\n\t\tthis.raw = raw_;\n\t});\n\t_C_int = $pkg._C_int = $newType(4, $kindInt32, \"syscall._C_int\", true, \"syscall\", false, null);\n\tTimespec = $pkg.Timespec = $newType(0, $kindStruct, \"syscall.Timespec\", true, \"syscall\", true, function(Sec_, Nsec_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Sec = new $Int64(0, 0);\n\t\t\tthis.Nsec = new $Int64(0, 0);\n\t\t\treturn;\n\t\t}\n\t\tthis.Sec = Sec_;\n\t\tthis.Nsec = Nsec_;\n\t});\n\tTimeval = $pkg.Timeval = $newType(0, $kindStruct, \"syscall.Timeval\", true, \"syscall\", true, function(Sec_, Usec_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Sec = new $Int64(0, 0);\n\t\t\tthis.Usec = new $Int64(0, 0);\n\t\t\treturn;\n\t\t}\n\t\tthis.Sec = Sec_;\n\t\tthis.Usec = Usec_;\n\t});\n\tRusage = $pkg.Rusage = $newType(0, $kindStruct, \"syscall.Rusage\", true, \"syscall\", true, function(Utime_, Stime_, Maxrss_, Ixrss_, Idrss_, Isrss_, Minflt_, Majflt_, Nswap_, Inblock_, Oublock_, Msgsnd_, Msgrcv_, Nsignals_, Nvcsw_, Nivcsw_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Utime = new Timeval.ptr(new $Int64(0, 0), new $Int64(0, 0));\n\t\t\tthis.Stime = new Timeval.ptr(new $Int64(0, 0), new $Int64(0, 0));\n\t\t\tthis.Maxrss = new $Int64(0, 0);\n\t\t\tthis.Ixrss = new $Int64(0, 0);\n\t\t\tthis.Idrss = new $Int64(0, 0);\n\t\t\tthis.Isrss = new $Int64(0, 0);\n\t\t\tthis.Minflt = new $Int64(0, 0);\n\t\t\tthis.Majflt = new $Int64(0, 0);\n\t\t\tthis.Nswap = new $Int64(0, 0);\n\t\t\tthis.Inblock = new $Int64(0, 0);\n\t\t\tthis.Oublock = new $Int64(0, 0);\n\t\t\tthis.Msgsnd = new $Int64(0, 0);\n\t\t\tthis.Msgrcv = new $Int64(0, 0);\n\t\t\tthis.Nsignals = new $Int64(0, 0);\n\t\t\tthis.Nvcsw = new $Int64(0, 0);\n\t\t\tthis.Nivcsw = new $Int64(0, 0);\n\t\t\treturn;\n\t\t}\n\t\tthis.Utime = Utime_;\n\t\tthis.Stime = Stime_;\n\t\tthis.Maxrss = Maxrss_;\n\t\tthis.Ixrss = Ixrss_;\n\t\tthis.Idrss = Idrss_;\n\t\tthis.Isrss = Isrss_;\n\t\tthis.Minflt = Minflt_;\n\t\tthis.Majflt = Majflt_;\n\t\tthis.Nswap = Nswap_;\n\t\tthis.Inblock = Inblock_;\n\t\tthis.Oublock = Oublock_;\n\t\tthis.Msgsnd = Msgsnd_;\n\t\tthis.Msgrcv = Msgrcv_;\n\t\tthis.Nsignals = Nsignals_;\n\t\tthis.Nvcsw = Nvcsw_;\n\t\tthis.Nivcsw = Nivcsw_;\n\t});\n\tStat_t = $pkg.Stat_t = $newType(0, $kindStruct, \"syscall.Stat_t\", true, \"syscall\", true, function(Dev_, Ino_, Nlink_, Mode_, Uid_, Gid_, X__pad0_, Rdev_, Size_, Blksize_, Blocks_, Atim_, Mtim_, Ctim_, X__unused_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Dev = new $Uint64(0, 0);\n\t\t\tthis.Ino = new $Uint64(0, 0);\n\t\t\tthis.Nlink = new $Uint64(0, 0);\n\t\t\tthis.Mode = 0;\n\t\t\tthis.Uid = 0;\n\t\t\tthis.Gid = 0;\n\t\t\tthis.X__pad0 = 0;\n\t\t\tthis.Rdev = new $Uint64(0, 0);\n\t\t\tthis.Size = new $Int64(0, 0);\n\t\t\tthis.Blksize = new $Int64(0, 0);\n\t\t\tthis.Blocks = new $Int64(0, 0);\n\t\t\tthis.Atim = new Timespec.ptr(new $Int64(0, 0), new $Int64(0, 0));\n\t\t\tthis.Mtim = new Timespec.ptr(new $Int64(0, 0), new $Int64(0, 0));\n\t\t\tthis.Ctim = new Timespec.ptr(new $Int64(0, 0), new $Int64(0, 0));\n\t\t\tthis.X__unused = arrayType$5.zero();\n\t\t\treturn;\n\t\t}\n\t\tthis.Dev = Dev_;\n\t\tthis.Ino = Ino_;\n\t\tthis.Nlink = Nlink_;\n\t\tthis.Mode = Mode_;\n\t\tthis.Uid = Uid_;\n\t\tthis.Gid = Gid_;\n\t\tthis.X__pad0 = X__pad0_;\n\t\tthis.Rdev = Rdev_;\n\t\tthis.Size = Size_;\n\t\tthis.Blksize = Blksize_;\n\t\tthis.Blocks = Blocks_;\n\t\tthis.Atim = Atim_;\n\t\tthis.Mtim = Mtim_;\n\t\tthis.Ctim = Ctim_;\n\t\tthis.X__unused = X__unused_;\n\t});\n\tRawSockaddrInet4 = $pkg.RawSockaddrInet4 = $newType(0, $kindStruct, \"syscall.RawSockaddrInet4\", true, \"syscall\", true, function(Family_, Port_, Addr_, Zero_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Family = 0;\n\t\t\tthis.Port = 0;\n\t\t\tthis.Addr = arrayType$9.zero();\n\t\t\tthis.Zero = arrayType$1.zero();\n\t\t\treturn;\n\t\t}\n\t\tthis.Family = Family_;\n\t\tthis.Port = Port_;\n\t\tthis.Addr = Addr_;\n\t\tthis.Zero = Zero_;\n\t});\n\tRawSockaddrInet6 = $pkg.RawSockaddrInet6 = $newType(0, $kindStruct, \"syscall.RawSockaddrInet6\", true, \"syscall\", true, function(Family_, Port_, Flowinfo_, Addr_, Scope_id_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Family = 0;\n\t\t\tthis.Port = 0;\n\t\t\tthis.Flowinfo = 0;\n\t\t\tthis.Addr = arrayType$2.zero();\n\t\t\tthis.Scope_id = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.Family = Family_;\n\t\tthis.Port = Port_;\n\t\tthis.Flowinfo = Flowinfo_;\n\t\tthis.Addr = Addr_;\n\t\tthis.Scope_id = Scope_id_;\n\t});\n\tRawSockaddrUnix = $pkg.RawSockaddrUnix = $newType(0, $kindStruct, \"syscall.RawSockaddrUnix\", true, \"syscall\", true, function(Family_, Path_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Family = 0;\n\t\t\tthis.Path = arrayType$8.zero();\n\t\t\treturn;\n\t\t}\n\t\tthis.Family = Family_;\n\t\tthis.Path = Path_;\n\t});\n\tRawSockaddrLinklayer = $pkg.RawSockaddrLinklayer = $newType(0, $kindStruct, \"syscall.RawSockaddrLinklayer\", true, \"syscall\", true, function(Family_, Protocol_, Ifindex_, Hatype_, Pkttype_, Halen_, Addr_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Family = 0;\n\t\t\tthis.Protocol = 0;\n\t\t\tthis.Ifindex = 0;\n\t\t\tthis.Hatype = 0;\n\t\t\tthis.Pkttype = 0;\n\t\t\tthis.Halen = 0;\n\t\t\tthis.Addr = arrayType$1.zero();\n\t\t\treturn;\n\t\t}\n\t\tthis.Family = Family_;\n\t\tthis.Protocol = Protocol_;\n\t\tthis.Ifindex = Ifindex_;\n\t\tthis.Hatype = Hatype_;\n\t\tthis.Pkttype = Pkttype_;\n\t\tthis.Halen = Halen_;\n\t\tthis.Addr = Addr_;\n\t});\n\tRawSockaddrNetlink = $pkg.RawSockaddrNetlink = $newType(0, $kindStruct, \"syscall.RawSockaddrNetlink\", true, \"syscall\", true, function(Family_, Pad_, Pid_, Groups_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Family = 0;\n\t\t\tthis.Pad = 0;\n\t\t\tthis.Pid = 0;\n\t\t\tthis.Groups = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.Family = Family_;\n\t\tthis.Pad = Pad_;\n\t\tthis.Pid = Pid_;\n\t\tthis.Groups = Groups_;\n\t});\n\tRawSockaddr = $pkg.RawSockaddr = $newType(0, $kindStruct, \"syscall.RawSockaddr\", true, \"syscall\", true, function(Family_, Data_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Family = 0;\n\t\t\tthis.Data = arrayType$10.zero();\n\t\t\treturn;\n\t\t}\n\t\tthis.Family = Family_;\n\t\tthis.Data = Data_;\n\t});\n\tRawSockaddrAny = $pkg.RawSockaddrAny = $newType(0, $kindStruct, \"syscall.RawSockaddrAny\", true, \"syscall\", true, function(Addr_, Pad_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Addr = new RawSockaddr.ptr(0, arrayType$10.zero());\n\t\t\tthis.Pad = arrayType$11.zero();\n\t\t\treturn;\n\t\t}\n\t\tthis.Addr = Addr_;\n\t\tthis.Pad = Pad_;\n\t});\n\t_Socklen = $pkg._Socklen = $newType(4, $kindUint32, \"syscall._Socklen\", true, \"syscall\", false, null);\n\tLinger = $pkg.Linger = $newType(0, $kindStruct, \"syscall.Linger\", true, \"syscall\", true, function(Onoff_, Linger_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Onoff = 0;\n\t\t\tthis.Linger = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.Onoff = Onoff_;\n\t\tthis.Linger = Linger_;\n\t});\n\tIovec = $pkg.Iovec = $newType(0, $kindStruct, \"syscall.Iovec\", true, \"syscall\", true, function(Base_, Len_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Base = ptrType$2.nil;\n\t\t\tthis.Len = new $Uint64(0, 0);\n\t\t\treturn;\n\t\t}\n\t\tthis.Base = Base_;\n\t\tthis.Len = Len_;\n\t});\n\tIPMreq = $pkg.IPMreq = $newType(0, $kindStruct, \"syscall.IPMreq\", true, \"syscall\", true, function(Multiaddr_, Interface_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Multiaddr = arrayType$9.zero();\n\t\t\tthis.Interface = arrayType$9.zero();\n\t\t\treturn;\n\t\t}\n\t\tthis.Multiaddr = Multiaddr_;\n\t\tthis.Interface = Interface_;\n\t});\n\tIPMreqn = $pkg.IPMreqn = $newType(0, $kindStruct, \"syscall.IPMreqn\", true, \"syscall\", true, function(Multiaddr_, Address_, Ifindex_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Multiaddr = arrayType$9.zero();\n\t\t\tthis.Address = arrayType$9.zero();\n\t\t\tthis.Ifindex = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.Multiaddr = Multiaddr_;\n\t\tthis.Address = Address_;\n\t\tthis.Ifindex = Ifindex_;\n\t});\n\tIPv6Mreq = $pkg.IPv6Mreq = $newType(0, $kindStruct, \"syscall.IPv6Mreq\", true, \"syscall\", true, function(Multiaddr_, Interface_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Multiaddr = arrayType$2.zero();\n\t\t\tthis.Interface = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.Multiaddr = Multiaddr_;\n\t\tthis.Interface = Interface_;\n\t});\n\tMsghdr = $pkg.Msghdr = $newType(0, $kindStruct, \"syscall.Msghdr\", true, \"syscall\", true, function(Name_, Namelen_, Pad_cgo_0_, Iov_, Iovlen_, Control_, Controllen_, Flags_, Pad_cgo_1_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Name = ptrType$2.nil;\n\t\t\tthis.Namelen = 0;\n\t\t\tthis.Pad_cgo_0 = arrayType$9.zero();\n\t\t\tthis.Iov = ptrType$19.nil;\n\t\t\tthis.Iovlen = new $Uint64(0, 0);\n\t\t\tthis.Control = ptrType$2.nil;\n\t\t\tthis.Controllen = new $Uint64(0, 0);\n\t\t\tthis.Flags = 0;\n\t\t\tthis.Pad_cgo_1 = arrayType$9.zero();\n\t\t\treturn;\n\t\t}\n\t\tthis.Name = Name_;\n\t\tthis.Namelen = Namelen_;\n\t\tthis.Pad_cgo_0 = Pad_cgo_0_;\n\t\tthis.Iov = Iov_;\n\t\tthis.Iovlen = Iovlen_;\n\t\tthis.Control = Control_;\n\t\tthis.Controllen = Controllen_;\n\t\tthis.Flags = Flags_;\n\t\tthis.Pad_cgo_1 = Pad_cgo_1_;\n\t});\n\tsliceType = $sliceType($Uint8);\n\tsliceType$1 = $sliceType($String);\n\tsliceType$2 = $sliceType($Uintptr);\n\tptrType = $ptrType(SysProcAttr);\n\tptrType$1 = $ptrType(Credential);\n\tsliceType$3 = $sliceType(SysProcIDMap);\n\tptrType$2 = $ptrType($Uint8);\n\tarrayType = $arrayType($Int, 2);\n\tptrType$3 = $ptrType(Errno);\n\tsliceType$4 = $sliceType($Int);\n\tptrType$4 = $ptrType($Int32);\n\tsliceType$5 = $sliceType(ptrType$2);\n\tptrType$5 = $ptrType(ProcAttr);\n\tptrType$6 = $ptrType(WaitStatus);\n\tptrType$7 = $ptrType(Rusage);\n\tarrayType$1 = $arrayType($Uint8, 8);\n\tptrType$8 = $ptrType($Uint16);\n\tarrayType$2 = $arrayType($Uint8, 16);\n\tptrType$11 = $ptrType(SockaddrNetlink);\n\tarrayType$4 = $arrayType($Uint8, 32);\n\tarrayType$5 = $arrayType($Int64, 3);\n\tarrayType$7 = $arrayType($Uint8, 4096);\n\tptrType$17 = $ptrType(_C_int);\n\tarrayType$8 = $arrayType($Int8, 108);\n\tarrayType$9 = $arrayType($Uint8, 4);\n\tarrayType$10 = $arrayType($Int8, 14);\n\tarrayType$11 = $arrayType($Int8, 96);\n\tptrType$18 = $ptrType(_Socklen);\n\tptrType$19 = $ptrType(Iovec);\n\tarrayType$13 = $arrayType(_C_int, 2);\n\tstructType = $structType(\"syscall\", [{prop: \"addr\", name: \"addr\", embedded: false, exported: false, typ: $Uintptr, tag: \"\"}, {prop: \"len\", name: \"len\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"cap\", name: \"cap\", embedded: false, exported: false, typ: $Int, tag: \"\"}]);\n\tptrType$22 = $ptrType($Int64);\n\tsliceType$10 = $sliceType($Uint32);\n\tptrType$24 = $ptrType(SockaddrLinklayer);\n\tptrType$25 = $ptrType(mmapper);\n\tmapType = $mapType(ptrType$2, sliceType);\n\tfuncType$2 = $funcType([$Uintptr, $Uintptr, $Int, $Int, $Int, $Int64], [$Uintptr, $error], false);\n\tfuncType$3 = $funcType([$Uintptr, $Uintptr], [$error], false);\n\tptrType$26 = $ptrType(SockaddrInet4);\n\tptrType$27 = $ptrType(SockaddrInet6);\n\tptrType$28 = $ptrType(SockaddrUnix);\n\tptrType$29 = $ptrType(Timespec);\n\tptrType$30 = $ptrType(Timeval);\n\tptrType$31 = $ptrType(Msghdr);\n\tinit = function() {\n\t\t$flushConsole = (function() {\n\t\t\tif (!((lineBuffer.$length === 0))) {\n\t\t\t\t$global.console.log($externalize(($bytesToString(lineBuffer)), $String));\n\t\t\t\tlineBuffer = sliceType.nil;\n\t\t\t}\n\t\t});\n\t};\n\tprintWarning = function() {\n\t\tif (!warningPrinted) {\n\t\t\t$global.console.error($externalize(\"warning: system calls not available, see https://github.com/gopherjs/gopherjs/blob/master/doc/syscalls.md\", $String));\n\t\t}\n\t\twarningPrinted = true;\n\t};\n\tprintToConsole = function(b) {\n\t\tvar b, goPrintToConsole, i;\n\t\tgoPrintToConsole = $global.goPrintToConsole;\n\t\tif (!(goPrintToConsole === undefined)) {\n\t\t\tgoPrintToConsole(b);\n\t\t\treturn;\n\t\t}\n\t\tlineBuffer = $appendSlice(lineBuffer, b);\n\t\twhile (true) {\n\t\t\ti = indexByte(lineBuffer, 10);\n\t\t\tif (i === -1) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\t$global.console.log($externalize(($bytesToString($subslice(lineBuffer, 0, i))), $String));\n\t\t\tlineBuffer = $subslice(lineBuffer, (i + 1 >> 0));\n\t\t}\n\t};\n\tExit = function(code) {\n\t\tvar code;\n\t\tSyscall(231, ((code >>> 0)), 0, 0);\n\t};\n\t$pkg.Exit = Exit;\n\tindexByte = function(s, c) {\n\t\tvar _i, _ref, b, c, i, s;\n\t\t_ref = s;\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\ti = _i;\n\t\t\tb = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\tif (b === c) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t\t_i++;\n\t\t}\n\t\treturn -1;\n\t};\n\truntime_envs = function() {\n\t\tvar envkeys, envs$1, i, jsEnv, key, process;\n\t\tprocess = $global.process;\n\t\tif (process === undefined) {\n\t\t\treturn sliceType$1.nil;\n\t\t}\n\t\tjsEnv = process.env;\n\t\tenvkeys = $global.Object.keys(jsEnv);\n\t\tenvs$1 = $makeSlice(sliceType$1, $parseInt(envkeys.length));\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < $parseInt(envkeys.length))) { break; }\n\t\t\tkey = $internalize(envkeys[i], $String);\n\t\t\t((i < 0 || i >= envs$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : envs$1.$array[envs$1.$offset + i] = key + \"=\" + $internalize(jsEnv[$externalize(key, $String)], $String));\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\treturn envs$1;\n\t};\n\tsetenv_c = function(k, v) {\n\t\tvar k, process, v;\n\t\tprocess = $global.process;\n\t\tif (process === undefined) {\n\t\t\treturn;\n\t\t}\n\t\tprocess.env[$externalize(k, $String)] = $externalize(v, $String);\n\t};\n\tsyscall = function(name) {\n\t\tvar name, require, $deferred;\n\t\t/* */ var $err = null; try { $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\t$deferred.push([(function() {\n\t\t\t$recover();\n\t\t}), []]);\n\t\tif (syscallModule === null) {\n\t\t\tif (alreadyTriedToLoad) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\talreadyTriedToLoad = true;\n\t\t\trequire = $global.require;\n\t\t\tif (require === undefined) {\n\t\t\t\t$panic(new $String(\"\"));\n\t\t\t}\n\t\t\tsyscallModule = require($externalize(\"syscall\", $String));\n\t\t}\n\t\treturn syscallModule[$externalize(name, $String)];\n\t\t/* */ } catch(err) { $err = err; return null; } finally { $callDeferred($deferred, $err); }\n\t};\n\tSyscall = function(trap, a1, a2, a3) {\n\t\tvar _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, a1, a2, a3, array, err, f, r, r1, r2, slice, trap;\n\t\tr1 = 0;\n\t\tr2 = 0;\n\t\terr = 0;\n\t\tf = syscall(\"Syscall\");\n\t\tif (!(f === null)) {\n\t\t\tr = f(trap, a1, a2, a3);\n\t\t\t_tmp = ((($parseInt(r[0]) >> 0) >>> 0));\n\t\t\t_tmp$1 = ((($parseInt(r[1]) >> 0) >>> 0));\n\t\t\t_tmp$2 = ((($parseInt(r[2]) >> 0) >>> 0));\n\t\t\tr1 = _tmp;\n\t\t\tr2 = _tmp$1;\n\t\t\terr = _tmp$2;\n\t\t\treturn [r1, r2, err];\n\t\t}\n\t\tif ((trap === 1) && ((a1 === 1) || (a1 === 2))) {\n\t\t\tarray = a2;\n\t\t\tslice = $makeSlice(sliceType, $parseInt(array.length));\n\t\t\tslice.$array = array;\n\t\t\tprintToConsole(slice);\n\t\t\t_tmp$3 = (($parseInt(array.length) >>> 0));\n\t\t\t_tmp$4 = 0;\n\t\t\t_tmp$5 = 0;\n\t\t\tr1 = _tmp$3;\n\t\t\tr2 = _tmp$4;\n\t\t\terr = _tmp$5;\n\t\t\treturn [r1, r2, err];\n\t\t}\n\t\tif (trap === 231) {\n\t\t\truntime.Goexit();\n\t\t}\n\t\tprintWarning();\n\t\t_tmp$6 = ((minusOne >>> 0));\n\t\t_tmp$7 = 0;\n\t\t_tmp$8 = 13;\n\t\tr1 = _tmp$6;\n\t\tr2 = _tmp$7;\n\t\terr = _tmp$8;\n\t\treturn [r1, r2, err];\n\t};\n\t$pkg.Syscall = Syscall;\n\tSyscall6 = function(trap, a1, a2, a3, a4, a5, a6) {\n\t\tvar _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, a1, a2, a3, a4, a5, a6, err, f, r, r1, r2, trap;\n\t\tr1 = 0;\n\t\tr2 = 0;\n\t\terr = 0;\n\t\tf = syscall(\"Syscall6\");\n\t\tif (!(f === null)) {\n\t\t\tr = f(trap, a1, a2, a3, a4, a5, a6);\n\t\t\t_tmp = ((($parseInt(r[0]) >> 0) >>> 0));\n\t\t\t_tmp$1 = ((($parseInt(r[1]) >> 0) >>> 0));\n\t\t\t_tmp$2 = ((($parseInt(r[2]) >> 0) >>> 0));\n\t\t\tr1 = _tmp;\n\t\t\tr2 = _tmp$1;\n\t\t\terr = _tmp$2;\n\t\t\treturn [r1, r2, err];\n\t\t}\n\t\tif (!((trap === 202))) {\n\t\t\tprintWarning();\n\t\t}\n\t\t_tmp$3 = ((minusOne >>> 0));\n\t\t_tmp$4 = 0;\n\t\t_tmp$5 = 13;\n\t\tr1 = _tmp$3;\n\t\tr2 = _tmp$4;\n\t\terr = _tmp$5;\n\t\treturn [r1, r2, err];\n\t};\n\t$pkg.Syscall6 = Syscall6;\n\tRawSyscall = function(trap, a1, a2, a3) {\n\t\tvar _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, a1, a2, a3, err, f, r, r1, r2, trap;\n\t\tr1 = 0;\n\t\tr2 = 0;\n\t\terr = 0;\n\t\tf = syscall(\"Syscall\");\n\t\tif (!(f === null)) {\n\t\t\tr = f(trap, a1, a2, a3);\n\t\t\t_tmp = ((($parseInt(r[0]) >> 0) >>> 0));\n\t\t\t_tmp$1 = ((($parseInt(r[1]) >> 0) >>> 0));\n\t\t\t_tmp$2 = ((($parseInt(r[2]) >> 0) >>> 0));\n\t\t\tr1 = _tmp;\n\t\t\tr2 = _tmp$1;\n\t\t\terr = _tmp$2;\n\t\t\treturn [r1, r2, err];\n\t\t}\n\t\tprintWarning();\n\t\t_tmp$3 = ((minusOne >>> 0));\n\t\t_tmp$4 = 0;\n\t\t_tmp$5 = 13;\n\t\tr1 = _tmp$3;\n\t\tr2 = _tmp$4;\n\t\terr = _tmp$5;\n\t\treturn [r1, r2, err];\n\t};\n\t$pkg.RawSyscall = RawSyscall;\n\trawSyscallNoError = function(trap, a1, a2, a3) {\n\t\tvar _tmp, _tmp$1, _tmp$2, _tmp$3, a1, a2, a3, f, r, r1, r2, trap;\n\t\tr1 = 0;\n\t\tr2 = 0;\n\t\tf = syscall(\"Syscall\");\n\t\tif (!(f === null)) {\n\t\t\tr = f(trap, a1, a2, a3);\n\t\t\t_tmp = ((($parseInt(r[0]) >> 0) >>> 0));\n\t\t\t_tmp$1 = ((($parseInt(r[1]) >> 0) >>> 0));\n\t\t\tr1 = _tmp;\n\t\t\tr2 = _tmp$1;\n\t\t\treturn [r1, r2];\n\t\t}\n\t\tprintWarning();\n\t\t_tmp$2 = ((minusOne >>> 0));\n\t\t_tmp$3 = 0;\n\t\tr1 = _tmp$2;\n\t\tr2 = _tmp$3;\n\t\treturn [r1, r2];\n\t};\n\tRawSyscall6 = function(trap, a1, a2, a3, a4, a5, a6) {\n\t\tvar _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, a1, a2, a3, a4, a5, a6, err, f, r, r1, r2, trap;\n\t\tr1 = 0;\n\t\tr2 = 0;\n\t\terr = 0;\n\t\tf = syscall(\"Syscall6\");\n\t\tif (!(f === null)) {\n\t\t\tr = f(trap, a1, a2, a3, a4, a5, a6);\n\t\t\t_tmp = ((($parseInt(r[0]) >> 0) >>> 0));\n\t\t\t_tmp$1 = ((($parseInt(r[1]) >> 0) >>> 0));\n\t\t\t_tmp$2 = ((($parseInt(r[2]) >> 0) >>> 0));\n\t\t\tr1 = _tmp;\n\t\t\tr2 = _tmp$1;\n\t\t\terr = _tmp$2;\n\t\t\treturn [r1, r2, err];\n\t\t}\n\t\tprintWarning();\n\t\t_tmp$3 = ((minusOne >>> 0));\n\t\t_tmp$4 = 0;\n\t\t_tmp$5 = 13;\n\t\tr1 = _tmp$3;\n\t\tr2 = _tmp$4;\n\t\terr = _tmp$5;\n\t\treturn [r1, r2, err];\n\t};\n\t$pkg.RawSyscall6 = RawSyscall6;\n\tBytePtrFromString = function(s) {\n\t\tvar _i, _ref, array, b, i, s;\n\t\tarray = new ($global.Uint8Array)(s.length + 1 >> 0);\n\t\t_ref = (new sliceType($stringToBytes(s)));\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\ti = _i;\n\t\t\tb = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\tif (b === 0) {\n\t\t\t\treturn [ptrType$2.nil, new Errno(22)];\n\t\t\t}\n\t\t\tarray[i] = b;\n\t\t\t_i++;\n\t\t}\n\t\tarray[s.length] = 0;\n\t\treturn [((array)), $ifaceNil];\n\t};\n\t$pkg.BytePtrFromString = BytePtrFromString;\n\treadInt = function(b, off, size) {\n\t\tvar _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, b, off, ok, size, u;\n\t\tu = new $Uint64(0, 0);\n\t\tok = false;\n\t\tif (b.$length < (((off + size >>> 0) >> 0))) {\n\t\t\t_tmp = new $Uint64(0, 0);\n\t\t\t_tmp$1 = false;\n\t\t\tu = _tmp;\n\t\t\tok = _tmp$1;\n\t\t\treturn [u, ok];\n\t\t}\n\t\tif (false) {\n\t\t\t_tmp$2 = readIntBE($subslice(b, off), size);\n\t\t\t_tmp$3 = true;\n\t\t\tu = _tmp$2;\n\t\t\tok = _tmp$3;\n\t\t\treturn [u, ok];\n\t\t}\n\t\t_tmp$4 = readIntLE($subslice(b, off), size);\n\t\t_tmp$5 = true;\n\t\tu = _tmp$4;\n\t\tok = _tmp$5;\n\t\treturn [u, ok];\n\t};\n\treadIntBE = function(b, size) {\n\t\tvar _1, b, size, x, x$1, x$10, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$2, x$20, x$21, x$3, x$4, x$5, x$6, x$7, x$8, x$9;\n\t\t_1 = size;\n\t\tif (_1 === (1)) {\n\t\t\treturn (new $Uint64(0, (0 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 0])));\n\t\t} else if (_1 === (2)) {\n\t\t\t$unused((1 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 1]));\n\t\t\treturn (x = (new $Uint64(0, (1 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 1]))), x$1 = $shiftLeft64((new $Uint64(0, (0 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 0]))), 8), new $Uint64(x.$high | x$1.$high, (x.$low | x$1.$low) >>> 0));\n\t\t} else if (_1 === (4)) {\n\t\t\t$unused((3 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 3]));\n\t\t\treturn (x$2 = (x$3 = (x$4 = (new $Uint64(0, (3 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 3]))), x$5 = $shiftLeft64((new $Uint64(0, (2 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 2]))), 8), new $Uint64(x$4.$high | x$5.$high, (x$4.$low | x$5.$low) >>> 0)), x$6 = $shiftLeft64((new $Uint64(0, (1 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 1]))), 16), new $Uint64(x$3.$high | x$6.$high, (x$3.$low | x$6.$low) >>> 0)), x$7 = $shiftLeft64((new $Uint64(0, (0 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 0]))), 24), new $Uint64(x$2.$high | x$7.$high, (x$2.$low | x$7.$low) >>> 0));\n\t\t} else if (_1 === (8)) {\n\t\t\t$unused((7 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 7]));\n\t\t\treturn (x$8 = (x$9 = (x$10 = (x$11 = (x$12 = (x$13 = (x$14 = (new $Uint64(0, (7 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 7]))), x$15 = $shiftLeft64((new $Uint64(0, (6 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 6]))), 8), new $Uint64(x$14.$high | x$15.$high, (x$14.$low | x$15.$low) >>> 0)), x$16 = $shiftLeft64((new $Uint64(0, (5 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 5]))), 16), new $Uint64(x$13.$high | x$16.$high, (x$13.$low | x$16.$low) >>> 0)), x$17 = $shiftLeft64((new $Uint64(0, (4 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 4]))), 24), new $Uint64(x$12.$high | x$17.$high, (x$12.$low | x$17.$low) >>> 0)), x$18 = $shiftLeft64((new $Uint64(0, (3 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 3]))), 32), new $Uint64(x$11.$high | x$18.$high, (x$11.$low | x$18.$low) >>> 0)), x$19 = $shiftLeft64((new $Uint64(0, (2 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 2]))), 40), new $Uint64(x$10.$high | x$19.$high, (x$10.$low | x$19.$low) >>> 0)), x$20 = $shiftLeft64((new $Uint64(0, (1 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 1]))), 48), new $Uint64(x$9.$high | x$20.$high, (x$9.$low | x$20.$low) >>> 0)), x$21 = $shiftLeft64((new $Uint64(0, (0 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 0]))), 56), new $Uint64(x$8.$high | x$21.$high, (x$8.$low | x$21.$low) >>> 0));\n\t\t} else {\n\t\t\t$panic(new $String(\"syscall: readInt with unsupported size\"));\n\t\t}\n\t};\n\treadIntLE = function(b, size) {\n\t\tvar _1, b, size, x, x$1, x$10, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$2, x$20, x$21, x$3, x$4, x$5, x$6, x$7, x$8, x$9;\n\t\t_1 = size;\n\t\tif (_1 === (1)) {\n\t\t\treturn (new $Uint64(0, (0 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 0])));\n\t\t} else if (_1 === (2)) {\n\t\t\t$unused((1 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 1]));\n\t\t\treturn (x = (new $Uint64(0, (0 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 0]))), x$1 = $shiftLeft64((new $Uint64(0, (1 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 1]))), 8), new $Uint64(x.$high | x$1.$high, (x.$low | x$1.$low) >>> 0));\n\t\t} else if (_1 === (4)) {\n\t\t\t$unused((3 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 3]));\n\t\t\treturn (x$2 = (x$3 = (x$4 = (new $Uint64(0, (0 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 0]))), x$5 = $shiftLeft64((new $Uint64(0, (1 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 1]))), 8), new $Uint64(x$4.$high | x$5.$high, (x$4.$low | x$5.$low) >>> 0)), x$6 = $shiftLeft64((new $Uint64(0, (2 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 2]))), 16), new $Uint64(x$3.$high | x$6.$high, (x$3.$low | x$6.$low) >>> 0)), x$7 = $shiftLeft64((new $Uint64(0, (3 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 3]))), 24), new $Uint64(x$2.$high | x$7.$high, (x$2.$low | x$7.$low) >>> 0));\n\t\t} else if (_1 === (8)) {\n\t\t\t$unused((7 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 7]));\n\t\t\treturn (x$8 = (x$9 = (x$10 = (x$11 = (x$12 = (x$13 = (x$14 = (new $Uint64(0, (0 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 0]))), x$15 = $shiftLeft64((new $Uint64(0, (1 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 1]))), 8), new $Uint64(x$14.$high | x$15.$high, (x$14.$low | x$15.$low) >>> 0)), x$16 = $shiftLeft64((new $Uint64(0, (2 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 2]))), 16), new $Uint64(x$13.$high | x$16.$high, (x$13.$low | x$16.$low) >>> 0)), x$17 = $shiftLeft64((new $Uint64(0, (3 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 3]))), 24), new $Uint64(x$12.$high | x$17.$high, (x$12.$low | x$17.$low) >>> 0)), x$18 = $shiftLeft64((new $Uint64(0, (4 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 4]))), 32), new $Uint64(x$11.$high | x$18.$high, (x$11.$low | x$18.$low) >>> 0)), x$19 = $shiftLeft64((new $Uint64(0, (5 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 5]))), 40), new $Uint64(x$10.$high | x$19.$high, (x$10.$low | x$19.$low) >>> 0)), x$20 = $shiftLeft64((new $Uint64(0, (6 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 6]))), 48), new $Uint64(x$9.$high | x$20.$high, (x$9.$low | x$20.$low) >>> 0)), x$21 = $shiftLeft64((new $Uint64(0, (7 >= b.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + 7]))), 56), new $Uint64(x$8.$high | x$21.$high, (x$8.$low | x$21.$low) >>> 0));\n\t\t} else {\n\t\t\t$panic(new $String(\"syscall: readInt with unsupported size\"));\n\t\t}\n\t};\n\tParseDirent = function(buf, max, names) {\n\t\tvar _i, _ref, _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tuple, _tuple$1, _tuple$2, buf, c, consumed, count, i, ino, max, name, names, namlen, newnames, ok, origlen, rec, reclen, x, x$1, x$2;\n\t\tconsumed = 0;\n\t\tcount = 0;\n\t\tnewnames = sliceType$1.nil;\n\t\toriglen = buf.$length;\n\t\tcount = 0;\n\t\twhile (true) {\n\t\t\tif (!(!((max === 0)) && buf.$length > 0)) { break; }\n\t\t\t_tuple = direntReclen(buf);\n\t\t\treclen = _tuple[0];\n\t\t\tok = _tuple[1];\n\t\t\tif (!ok || (x = (new $Uint64(0, buf.$length)), (reclen.$high > x.$high || (reclen.$high === x.$high && reclen.$low > x.$low)))) {\n\t\t\t\t_tmp = origlen;\n\t\t\t\t_tmp$1 = count;\n\t\t\t\t_tmp$2 = names;\n\t\t\t\tconsumed = _tmp;\n\t\t\t\tcount = _tmp$1;\n\t\t\t\tnewnames = _tmp$2;\n\t\t\t\treturn [consumed, count, newnames];\n\t\t\t}\n\t\t\trec = $subslice(buf, 0, $flatten64(reclen));\n\t\t\tbuf = $subslice(buf, $flatten64(reclen));\n\t\t\t_tuple$1 = direntIno(rec);\n\t\t\tino = _tuple$1[0];\n\t\t\tok = _tuple$1[1];\n\t\t\tif (!ok) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ((ino.$high === 0 && ino.$low === 0)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\t_tuple$2 = direntNamlen(rec);\n\t\t\tnamlen = _tuple$2[0];\n\t\t\tok = _tuple$2[1];\n\t\t\tif (!ok || (x$1 = new $Uint64(0 + namlen.$high, 19 + namlen.$low), x$2 = (new $Uint64(0, rec.$length)), (x$1.$high > x$2.$high || (x$1.$high === x$2.$high && x$1.$low > x$2.$low)))) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tname = $subslice(rec, 19, $flatten64(new $Uint64(0 + namlen.$high, 19 + namlen.$low)));\n\t\t\t_ref = name;\n\t\t\t_i = 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\t\ti = _i;\n\t\t\t\tc = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\t\tif (c === 0) {\n\t\t\t\t\tname = $subslice(name, 0, i);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\t_i++;\n\t\t\t}\n\t\t\tif (($bytesToString(name)) === \".\" || ($bytesToString(name)) === \"..\") {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tmax = max - (1) >> 0;\n\t\t\tcount = count + (1) >> 0;\n\t\t\tnames = $append(names, ($bytesToString(name)));\n\t\t}\n\t\t_tmp$3 = origlen - buf.$length >> 0;\n\t\t_tmp$4 = count;\n\t\t_tmp$5 = names;\n\t\tconsumed = _tmp$3;\n\t\tcount = _tmp$4;\n\t\tnewnames = _tmp$5;\n\t\treturn [consumed, count, newnames];\n\t};\n\t$pkg.ParseDirent = ParseDirent;\n\tcopyenv = function() {\n\t\tvar _entry, _i, _key, _ref, _tuple, i, j, key, ok, s;\n\t\tenv = {};\n\t\t_ref = envs;\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\ti = _i;\n\t\t\ts = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\tj = 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(j < s.length)) { break; }\n\t\t\t\tif (s.charCodeAt(j) === 61) {\n\t\t\t\t\tkey = $substring(s, 0, j);\n\t\t\t\t\t_tuple = (_entry = env[$String.keyFor(key)], _entry !== undefined ? [_entry.v, true] : [0, false]);\n\t\t\t\t\tok = _tuple[1];\n\t\t\t\t\tif (!ok) {\n\t\t\t\t\t\t_key = key; (env || $throwRuntimeError(\"assignment to entry in nil map\"))[$String.keyFor(_key)] = { k: _key, v: i };\n\t\t\t\t\t} else {\n\t\t\t\t\t\t((i < 0 || i >= envs.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : envs.$array[envs.$offset + i] = \"\");\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tj = j + (1) >> 0;\n\t\t\t}\n\t\t\t_i++;\n\t\t}\n\t};\n\tGetenv = function(key) {\n\t\tvar _entry, _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tuple, found, i, i$1, key, ok, s, value, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _entry = $f._entry; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; _tmp$4 = $f._tmp$4; _tmp$5 = $f._tmp$5; _tmp$6 = $f._tmp$6; _tmp$7 = $f._tmp$7; _tuple = $f._tuple; found = $f.found; i = $f.i; i$1 = $f.i$1; key = $f.key; ok = $f.ok; s = $f.s; value = $f.value; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tvalue = \"\";\n\t\tfound = false;\n\t\t$r = envOnce.Do(copyenv); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tif (key.length === 0) {\n\t\t\t_tmp = \"\";\n\t\t\t_tmp$1 = false;\n\t\t\tvalue = _tmp;\n\t\t\tfound = _tmp$1;\n\t\t\t$s = -1; return [value, found];\n\t\t}\n\t\t$r = envLock.RLock(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$deferred.push([$methodVal(envLock, \"RUnlock\"), []]);\n\t\t_tuple = (_entry = env[$String.keyFor(key)], _entry !== undefined ? [_entry.v, true] : [0, false]);\n\t\ti = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (!ok) {\n\t\t\t_tmp$2 = \"\";\n\t\t\t_tmp$3 = false;\n\t\t\tvalue = _tmp$2;\n\t\t\tfound = _tmp$3;\n\t\t\t$s = -1; return [value, found];\n\t\t}\n\t\ts = ((i < 0 || i >= envs.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : envs.$array[envs.$offset + i]);\n\t\ti$1 = 0;\n\t\twhile (true) {\n\t\t\tif (!(i$1 < s.length)) { break; }\n\t\t\tif (s.charCodeAt(i$1) === 61) {\n\t\t\t\t_tmp$4 = $substring(s, (i$1 + 1 >> 0));\n\t\t\t\t_tmp$5 = true;\n\t\t\t\tvalue = _tmp$4;\n\t\t\t\tfound = _tmp$5;\n\t\t\t\t$s = -1; return [value, found];\n\t\t\t}\n\t\t\ti$1 = i$1 + (1) >> 0;\n\t\t}\n\t\t_tmp$6 = \"\";\n\t\t_tmp$7 = false;\n\t\tvalue = _tmp$6;\n\t\tfound = _tmp$7;\n\t\t$s = -1; return [value, found];\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if (!$curGoroutine.asleep) { return  [value, found]; } if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: Getenv }; } $f._entry = _entry; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f._tmp$4 = _tmp$4; $f._tmp$5 = _tmp$5; $f._tmp$6 = _tmp$6; $f._tmp$7 = _tmp$7; $f._tuple = _tuple; $f.found = found; $f.i = i; $f.i$1 = i$1; $f.key = key; $f.ok = ok; $f.s = s; $f.value = value; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\t$pkg.Getenv = Getenv;\n\tSetenv = function(key, value) {\n\t\tvar _entry, _key, _tuple, i, i$1, i$2, key, kv, ok, value, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _entry = $f._entry; _key = $f._key; _tuple = $f._tuple; i = $f.i; i$1 = $f.i$1; i$2 = $f.i$2; key = $f.key; kv = $f.kv; ok = $f.ok; value = $f.value; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\t$r = envOnce.Do(copyenv); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tif (key.length === 0) {\n\t\t\t$s = -1; return new Errno(22);\n\t\t}\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < key.length)) { break; }\n\t\t\tif ((key.charCodeAt(i) === 61) || (key.charCodeAt(i) === 0)) {\n\t\t\t\t$s = -1; return new Errno(22);\n\t\t\t}\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\ti$1 = 0;\n\t\twhile (true) {\n\t\t\tif (!(i$1 < value.length)) { break; }\n\t\t\tif (value.charCodeAt(i$1) === 0) {\n\t\t\t\t$s = -1; return new Errno(22);\n\t\t\t}\n\t\t\ti$1 = i$1 + (1) >> 0;\n\t\t}\n\t\t$r = envLock.Lock(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$deferred.push([$methodVal(envLock, \"Unlock\"), []]);\n\t\t_tuple = (_entry = env[$String.keyFor(key)], _entry !== undefined ? [_entry.v, true] : [0, false]);\n\t\ti$2 = _tuple[0];\n\t\tok = _tuple[1];\n\t\tkv = key + \"=\" + value;\n\t\tif (ok) {\n\t\t\t((i$2 < 0 || i$2 >= envs.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : envs.$array[envs.$offset + i$2] = kv);\n\t\t} else {\n\t\t\ti$2 = envs.$length;\n\t\t\tenvs = $append(envs, kv);\n\t\t}\n\t\t_key = key; (env || $throwRuntimeError(\"assignment to entry in nil map\"))[$String.keyFor(_key)] = { k: _key, v: i$2 };\n\t\tsetenv_c(key, value);\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return $ifaceNil; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: Setenv }; } $f._entry = _entry; $f._key = _key; $f._tuple = _tuple; $f.i = i; $f.i$1 = i$1; $f.i$2 = i$2; $f.key = key; $f.kv = kv; $f.ok = ok; $f.value = value; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\t$pkg.Setenv = Setenv;\n\tEnviron = function() {\n\t\tvar _i, _ref, a, env$1, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _ref = $f._ref; a = $f.a; env$1 = $f.env$1; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\t$r = envOnce.Do(copyenv); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = envLock.RLock(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$deferred.push([$methodVal(envLock, \"RUnlock\"), []]);\n\t\ta = $makeSlice(sliceType$1, 0, envs.$length);\n\t\t_ref = envs;\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\tenv$1 = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\tif (!(env$1 === \"\")) {\n\t\t\t\ta = $append(a, env$1);\n\t\t\t}\n\t\t\t_i++;\n\t\t}\n\t\t$s = -1; return a;\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return sliceType$1.nil; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: Environ }; } $f._i = _i; $f._ref = _ref; $f.a = a; $f.env$1 = env$1; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\t$pkg.Environ = Environ;\n\truntime_BeforeFork = function() {\n\t\t$throwRuntimeError(\"native function not implemented: syscall.runtime_BeforeFork\");\n\t};\n\truntime_AfterFork = function() {\n\t\t$throwRuntimeError(\"native function not implemented: syscall.runtime_AfterFork\");\n\t};\n\truntime_AfterForkInChild = function() {\n\t\t$throwRuntimeError(\"native function not implemented: syscall.runtime_AfterForkInChild\");\n\t};\n\tforkAndExecInChild = function(argv0, argv, envv, chroot, dir, attr, sys, pipe$1) {\n\t\tvar _tmp, _tmp$1, _tmp$2, _tmp$3, _tuple, argv, argv0, attr, chroot, dir, envv, err, err$1, err1, err2, err2$24ptr, locked, p, pid, pipe$1, r1, sys;\n\t\tpid = 0;\n\t\terr = 0;\n\t\t_tuple = forkAndExecInChild1(argv0, argv, envv, chroot, dir, attr, sys, pipe$1);\n\t\tr1 = _tuple[0];\n\t\terr1 = _tuple[1];\n\t\tp = $clone(_tuple[2], arrayType);\n\t\tlocked = _tuple[3];\n\t\tif (locked) {\n\t\t\truntime_AfterFork();\n\t\t}\n\t\tif (!((err1 === 0))) {\n\t\t\t_tmp = 0;\n\t\t\t_tmp$1 = err1;\n\t\t\tpid = _tmp;\n\t\t\terr = _tmp$1;\n\t\t\treturn [pid, err];\n\t\t}\n\t\tpid = ((r1 >> 0));\n\t\tif (!(sys.UidMappings === sliceType$3.nil) || !(sys.GidMappings === sliceType$3.nil)) {\n\t\t\tClose(p[0]);\n\t\t\terr$1 = writeUidGidMappings(pid, sys);\n\t\t\terr2 = 0;\n\t\t\tif (!($interfaceIsEqual(err$1, $ifaceNil))) {\n\t\t\t\terr2 = $assertType(err$1, Errno);\n\t\t\t}\n\t\t\tRawSyscall(1, ((p[1] >>> 0)), (((err2$24ptr || (err2$24ptr = new ptrType$3(function() { return err2; }, function($v) { err2 = $v; }))))), 4);\n\t\t\tClose(p[1]);\n\t\t}\n\t\t_tmp$2 = pid;\n\t\t_tmp$3 = 0;\n\t\tpid = _tmp$2;\n\t\terr = _tmp$3;\n\t\treturn [pid, err];\n\t};\n\tforkAndExecInChild1 = function(argv0, argv, envv, chroot, dir, attr, sys, pipe$1) {\n\t\tvar _i, _i$1, _ref, _ref$1, _tuple, _tuple$1, _tuple$10, _tuple$11, _tuple$12, _tuple$13, _tuple$14, _tuple$15, _tuple$16, _tuple$17, _tuple$18, _tuple$19, _tuple$2, _tuple$20, _tuple$21, _tuple$22, _tuple$23, _tuple$24, _tuple$25, _tuple$26, _tuple$27, _tuple$28, _tuple$29, _tuple$3, _tuple$30, _tuple$4, _tuple$5, _tuple$6, _tuple$7, _tuple$8, _tuple$9, argv, argv0, attr, c, chroot, cred, dir, envv, err, err1, err1$1, err1$24ptr, err2, err2$24ptr, fd, groups, i, i$1, locked, nextfd, ngroups, p, pgrp, pgrp$24ptr, pid, pipe$1, ppid, r1, sys, ufd, $s;\n\t\t/* */ $s = 0; s: while (true) { switch ($s) { case 0:\n\t\tr1 = 0;\n\t\terr1 = 0;\n\t\tp = arrayType.zero();\n\t\tlocked = false;\n\t\terr2 = 0;\n\t\tnextfd = 0;\n\t\ti = 0;\n\t\t_tuple = rawSyscallNoError(39, 0, 0, 0);\n\t\tppid = _tuple[0];\n\t\tfd = $makeSlice(sliceType$4, attr.Files.$length);\n\t\tnextfd = attr.Files.$length;\n\t\t_ref = attr.Files;\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\ti$1 = _i;\n\t\t\tufd = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\tif (nextfd < ((ufd >> 0))) {\n\t\t\t\tnextfd = ((ufd >> 0));\n\t\t\t}\n\t\t\t((i$1 < 0 || i$1 >= fd.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : fd.$array[fd.$offset + i$1] = ((ufd >> 0)));\n\t\t\t_i++;\n\t\t}\n\t\tnextfd = nextfd + (1) >> 0;\n\t\tif (!(sys.UidMappings === sliceType$3.nil) || !(sys.GidMappings === sliceType$3.nil)) {\n\t\t\terr = forkExecPipe(new sliceType$4(p));\n\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\terr1 = $assertType(err, Errno);\n\t\t\t\t$s = -1; return [r1, err1, p, locked];\n\t\t\t}\n\t\t}\n\t\truntime_BeforeFork();\n\t\tlocked = true;\n\t\tif (false && (((sys.Cloneflags & 268435456) >>> 0) === 0)) {\n\t\t\t_tuple$1 = rawVforkSyscall(56, (16657 | sys.Cloneflags) >>> 0);\n\t\t\tr1 = _tuple$1[0];\n\t\t\terr1 = _tuple$1[1];\n\t\t} else if (false) {\n\t\t\t_tuple$2 = RawSyscall6(56, 0, (17 | sys.Cloneflags) >>> 0, 0, 0, 0, 0);\n\t\t\tr1 = _tuple$2[0];\n\t\t\terr1 = _tuple$2[2];\n\t\t} else {\n\t\t\t_tuple$3 = RawSyscall6(56, (17 | sys.Cloneflags) >>> 0, 0, 0, 0, 0, 0);\n\t\t\tr1 = _tuple$3[0];\n\t\t\terr1 = _tuple$3[2];\n\t\t}\n\t\tif (!((err1 === 0)) || !((r1 === 0))) {\n\t\t\t$s = -1; return [r1, err1, p, locked];\n\t\t}\n\t\truntime_AfterForkInChild();\n\t\t/* */ if (sys.AmbientCaps.$length > 0) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (sys.AmbientCaps.$length > 0) { */ case 1:\n\t\t\t_tuple$4 = RawSyscall6(157, 8, 1, 0, 0, 0, 0);\n\t\t\terr1 = _tuple$4[2];\n\t\t\t/* */ if (!((err1 === 0))) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (!((err1 === 0))) { */ case 3:\n\t\t\t\t/* goto childerror */ $s = 5; continue;\n\t\t\t/* } */ case 4:\n\t\t/* } */ case 2:\n\t\t/* */ if (!(sys.UidMappings === sliceType$3.nil) || !(sys.GidMappings === sliceType$3.nil)) { $s = 6; continue; }\n\t\t/* */ $s = 7; continue;\n\t\t/* if (!(sys.UidMappings === sliceType$3.nil) || !(sys.GidMappings === sliceType$3.nil)) { */ case 6:\n\t\t\t_tuple$5 = RawSyscall(3, ((p[1] >>> 0)), 0, 0);\n\t\t\terr1 = _tuple$5[2];\n\t\t\t/* */ if (!((err1 === 0))) { $s = 8; continue; }\n\t\t\t/* */ $s = 9; continue;\n\t\t\t/* if (!((err1 === 0))) { */ case 8:\n\t\t\t\t/* goto childerror */ $s = 5; continue;\n\t\t\t/* } */ case 9:\n\t\t\t_tuple$6 = RawSyscall(0, ((p[0] >>> 0)), (((err2$24ptr || (err2$24ptr = new ptrType$3(function() { return err2; }, function($v) { err2 = $v; }))))), 4);\n\t\t\tr1 = _tuple$6[0];\n\t\t\terr1 = _tuple$6[2];\n\t\t\t/* */ if (!((err1 === 0))) { $s = 10; continue; }\n\t\t\t/* */ $s = 11; continue;\n\t\t\t/* if (!((err1 === 0))) { */ case 10:\n\t\t\t\t/* goto childerror */ $s = 5; continue;\n\t\t\t/* } */ case 11:\n\t\t\t/* */ if (!((r1 === 4))) { $s = 12; continue; }\n\t\t\t/* */ $s = 13; continue;\n\t\t\t/* if (!((r1 === 4))) { */ case 12:\n\t\t\t\terr1 = 22;\n\t\t\t\t/* goto childerror */ $s = 5; continue;\n\t\t\t/* } */ case 13:\n\t\t\t/* */ if (!((err2 === 0))) { $s = 14; continue; }\n\t\t\t/* */ $s = 15; continue;\n\t\t\t/* if (!((err2 === 0))) { */ case 14:\n\t\t\t\terr1 = err2;\n\t\t\t\t/* goto childerror */ $s = 5; continue;\n\t\t\t/* } */ case 15:\n\t\t/* } */ case 7:\n\t\t/* */ if (sys.Setsid) { $s = 16; continue; }\n\t\t/* */ $s = 17; continue;\n\t\t/* if (sys.Setsid) { */ case 16:\n\t\t\t_tuple$7 = RawSyscall(112, 0, 0, 0);\n\t\t\terr1 = _tuple$7[2];\n\t\t\t/* */ if (!((err1 === 0))) { $s = 18; continue; }\n\t\t\t/* */ $s = 19; continue;\n\t\t\t/* if (!((err1 === 0))) { */ case 18:\n\t\t\t\t/* goto childerror */ $s = 5; continue;\n\t\t\t/* } */ case 19:\n\t\t/* } */ case 17:\n\t\t/* */ if (sys.Setpgid || sys.Foreground) { $s = 20; continue; }\n\t\t/* */ $s = 21; continue;\n\t\t/* if (sys.Setpgid || sys.Foreground) { */ case 20:\n\t\t\t_tuple$8 = RawSyscall(109, 0, ((sys.Pgid >>> 0)), 0);\n\t\t\terr1 = _tuple$8[2];\n\t\t\t/* */ if (!((err1 === 0))) { $s = 22; continue; }\n\t\t\t/* */ $s = 23; continue;\n\t\t\t/* if (!((err1 === 0))) { */ case 22:\n\t\t\t\t/* goto childerror */ $s = 5; continue;\n\t\t\t/* } */ case 23:\n\t\t/* } */ case 21:\n\t\t/* */ if (sys.Foreground) { $s = 24; continue; }\n\t\t/* */ $s = 25; continue;\n\t\t/* if (sys.Foreground) { */ case 24:\n\t\t\tpgrp = ((sys.Pgid >> 0));\n\t\t\tif (pgrp === 0) {\n\t\t\t\t_tuple$9 = rawSyscallNoError(39, 0, 0, 0);\n\t\t\t\tr1 = _tuple$9[0];\n\t\t\t\tpgrp = ((r1 >> 0));\n\t\t\t}\n\t\t\t_tuple$10 = RawSyscall(16, ((sys.Ctty >>> 0)), 21520, (((pgrp$24ptr || (pgrp$24ptr = new ptrType$4(function() { return pgrp; }, function($v) { pgrp = $v; }))))));\n\t\t\terr1 = _tuple$10[2];\n\t\t\t/* */ if (!((err1 === 0))) { $s = 26; continue; }\n\t\t\t/* */ $s = 27; continue;\n\t\t\t/* if (!((err1 === 0))) { */ case 26:\n\t\t\t\t/* goto childerror */ $s = 5; continue;\n\t\t\t/* } */ case 27:\n\t\t/* } */ case 25:\n\t\t/* */ if (!((sys.Unshareflags === 0))) { $s = 28; continue; }\n\t\t/* */ $s = 29; continue;\n\t\t/* if (!((sys.Unshareflags === 0))) { */ case 28:\n\t\t\t_tuple$11 = RawSyscall(272, sys.Unshareflags, 0, 0);\n\t\t\terr1 = _tuple$11[2];\n\t\t\t/* */ if (!((err1 === 0))) { $s = 30; continue; }\n\t\t\t/* */ $s = 31; continue;\n\t\t\t/* if (!((err1 === 0))) { */ case 30:\n\t\t\t\t/* goto childerror */ $s = 5; continue;\n\t\t\t/* } */ case 31:\n\t\t\t/* */ if (((sys.Unshareflags & 131072) >>> 0) === 131072) { $s = 32; continue; }\n\t\t\t/* */ $s = 33; continue;\n\t\t\t/* if (((sys.Unshareflags & 131072) >>> 0) === 131072) { */ case 32:\n\t\t\t\t_tuple$12 = RawSyscall6(165, (($sliceToArray(new sliceType(none)))), (($sliceToArray(new sliceType(slash)))), 0, 278528, 0, 0);\n\t\t\t\terr1 = _tuple$12[2];\n\t\t\t\t/* */ if (!((err1 === 0))) { $s = 34; continue; }\n\t\t\t\t/* */ $s = 35; continue;\n\t\t\t\t/* if (!((err1 === 0))) { */ case 34:\n\t\t\t\t\t/* goto childerror */ $s = 5; continue;\n\t\t\t\t/* } */ case 35:\n\t\t\t/* } */ case 33:\n\t\t/* } */ case 29:\n\t\t/* */ if (!(chroot === ptrType$2.nil)) { $s = 36; continue; }\n\t\t/* */ $s = 37; continue;\n\t\t/* if (!(chroot === ptrType$2.nil)) { */ case 36:\n\t\t\t_tuple$13 = RawSyscall(161, ((chroot)), 0, 0);\n\t\t\terr1 = _tuple$13[2];\n\t\t\t/* */ if (!((err1 === 0))) { $s = 38; continue; }\n\t\t\t/* */ $s = 39; continue;\n\t\t\t/* if (!((err1 === 0))) { */ case 38:\n\t\t\t\t/* goto childerror */ $s = 5; continue;\n\t\t\t/* } */ case 39:\n\t\t/* } */ case 37:\n\t\tcred = sys.Credential;\n\t\t/* */ if (!(cred === ptrType$1.nil)) { $s = 40; continue; }\n\t\t/* */ $s = 41; continue;\n\t\t/* if (!(cred === ptrType$1.nil)) { */ case 40:\n\t\t\tngroups = ((cred.Groups.$length >>> 0));\n\t\t\tgroups = 0;\n\t\t\tif (ngroups > 0) {\n\t\t\t\tgroups = (($sliceToArray(cred.Groups)));\n\t\t\t}\n\t\t\t/* */ if (!(!(sys.GidMappings === sliceType$3.nil) && !sys.GidMappingsEnableSetgroups && (ngroups === 0)) && !cred.NoSetGroups) { $s = 42; continue; }\n\t\t\t/* */ $s = 43; continue;\n\t\t\t/* if (!(!(sys.GidMappings === sliceType$3.nil) && !sys.GidMappingsEnableSetgroups && (ngroups === 0)) && !cred.NoSetGroups) { */ case 42:\n\t\t\t\t_tuple$14 = RawSyscall(116, ngroups, groups, 0);\n\t\t\t\terr1 = _tuple$14[2];\n\t\t\t\t/* */ if (!((err1 === 0))) { $s = 44; continue; }\n\t\t\t\t/* */ $s = 45; continue;\n\t\t\t\t/* if (!((err1 === 0))) { */ case 44:\n\t\t\t\t\t/* goto childerror */ $s = 5; continue;\n\t\t\t\t/* } */ case 45:\n\t\t\t/* } */ case 43:\n\t\t\t_tuple$15 = RawSyscall(106, ((cred.Gid >>> 0)), 0, 0);\n\t\t\terr1 = _tuple$15[2];\n\t\t\t/* */ if (!((err1 === 0))) { $s = 46; continue; }\n\t\t\t/* */ $s = 47; continue;\n\t\t\t/* if (!((err1 === 0))) { */ case 46:\n\t\t\t\t/* goto childerror */ $s = 5; continue;\n\t\t\t/* } */ case 47:\n\t\t\t_tuple$16 = RawSyscall(105, ((cred.Uid >>> 0)), 0, 0);\n\t\t\terr1 = _tuple$16[2];\n\t\t\t/* */ if (!((err1 === 0))) { $s = 48; continue; }\n\t\t\t/* */ $s = 49; continue;\n\t\t\t/* if (!((err1 === 0))) { */ case 48:\n\t\t\t\t/* goto childerror */ $s = 5; continue;\n\t\t\t/* } */ case 49:\n\t\t/* } */ case 41:\n\t\t_ref$1 = sys.AmbientCaps;\n\t\t_i$1 = 0;\n\t\t/* while (true) { */ case 50:\n\t\t\t/* if (!(_i$1 < _ref$1.$length)) { break; } */ if(!(_i$1 < _ref$1.$length)) { $s = 51; continue; }\n\t\t\tc = ((_i$1 < 0 || _i$1 >= _ref$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref$1.$array[_ref$1.$offset + _i$1]);\n\t\t\t_tuple$17 = RawSyscall6(157, 47, 2, c, 0, 0, 0);\n\t\t\terr1 = _tuple$17[2];\n\t\t\t/* */ if (!((err1 === 0))) { $s = 52; continue; }\n\t\t\t/* */ $s = 53; continue;\n\t\t\t/* if (!((err1 === 0))) { */ case 52:\n\t\t\t\t/* goto childerror */ $s = 5; continue;\n\t\t\t/* } */ case 53:\n\t\t\t_i$1++;\n\t\t/* } */ $s = 50; continue; case 51:\n\t\t/* */ if (!(dir === ptrType$2.nil)) { $s = 54; continue; }\n\t\t/* */ $s = 55; continue;\n\t\t/* if (!(dir === ptrType$2.nil)) { */ case 54:\n\t\t\t_tuple$18 = RawSyscall(80, ((dir)), 0, 0);\n\t\t\terr1 = _tuple$18[2];\n\t\t\t/* */ if (!((err1 === 0))) { $s = 56; continue; }\n\t\t\t/* */ $s = 57; continue;\n\t\t\t/* if (!((err1 === 0))) { */ case 56:\n\t\t\t\t/* goto childerror */ $s = 5; continue;\n\t\t\t/* } */ case 57:\n\t\t/* } */ case 55:\n\t\t/* */ if (!((sys.Pdeathsig === 0))) { $s = 58; continue; }\n\t\t/* */ $s = 59; continue;\n\t\t/* if (!((sys.Pdeathsig === 0))) { */ case 58:\n\t\t\t_tuple$19 = RawSyscall6(157, 1, ((sys.Pdeathsig >>> 0)), 0, 0, 0, 0);\n\t\t\terr1 = _tuple$19[2];\n\t\t\t/* */ if (!((err1 === 0))) { $s = 60; continue; }\n\t\t\t/* */ $s = 61; continue;\n\t\t\t/* if (!((err1 === 0))) { */ case 60:\n\t\t\t\t/* goto childerror */ $s = 5; continue;\n\t\t\t/* } */ case 61:\n\t\t\t_tuple$20 = rawSyscallNoError(110, 0, 0, 0);\n\t\t\tr1 = _tuple$20[0];\n\t\t\t/* */ if (!((r1 === ppid))) { $s = 62; continue; }\n\t\t\t/* */ $s = 63; continue;\n\t\t\t/* if (!((r1 === ppid))) { */ case 62:\n\t\t\t\t_tuple$21 = rawSyscallNoError(39, 0, 0, 0);\n\t\t\t\tpid = _tuple$21[0];\n\t\t\t\t_tuple$22 = RawSyscall(62, pid, ((sys.Pdeathsig >>> 0)), 0);\n\t\t\t\terr1$1 = _tuple$22[2];\n\t\t\t\t/* */ if (!((err1$1 === 0))) { $s = 64; continue; }\n\t\t\t\t/* */ $s = 65; continue;\n\t\t\t\t/* if (!((err1$1 === 0))) { */ case 64:\n\t\t\t\t\t/* goto childerror */ $s = 5; continue;\n\t\t\t\t/* } */ case 65:\n\t\t\t/* } */ case 63:\n\t\t/* } */ case 59:\n\t\t/* */ if (pipe$1 < nextfd) { $s = 66; continue; }\n\t\t/* */ $s = 67; continue;\n\t\t/* if (pipe$1 < nextfd) { */ case 66:\n\t\t\t_tuple$23 = RawSyscall(33, ((pipe$1 >>> 0)), ((nextfd >>> 0)), 0);\n\t\t\terr1 = _tuple$23[2];\n\t\t\t/* */ if (!((err1 === 0))) { $s = 68; continue; }\n\t\t\t/* */ $s = 69; continue;\n\t\t\t/* if (!((err1 === 0))) { */ case 68:\n\t\t\t\t/* goto childerror */ $s = 5; continue;\n\t\t\t/* } */ case 69:\n\t\t\tRawSyscall(72, ((nextfd >>> 0)), 2, 1);\n\t\t\tpipe$1 = nextfd;\n\t\t\tnextfd = nextfd + (1) >> 0;\n\t\t/* } */ case 67:\n\t\ti = 0;\n\t\t/* while (true) { */ case 70:\n\t\t\t/* if (!(i < fd.$length)) { break; } */ if(!(i < fd.$length)) { $s = 71; continue; }\n\t\t\t/* */ if (((i < 0 || i >= fd.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : fd.$array[fd.$offset + i]) >= 0 && ((i < 0 || i >= fd.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : fd.$array[fd.$offset + i]) < (i)) { $s = 72; continue; }\n\t\t\t/* */ $s = 73; continue;\n\t\t\t/* if (((i < 0 || i >= fd.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : fd.$array[fd.$offset + i]) >= 0 && ((i < 0 || i >= fd.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : fd.$array[fd.$offset + i]) < (i)) { */ case 72:\n\t\t\t\tif (nextfd === pipe$1) {\n\t\t\t\t\tnextfd = nextfd + (1) >> 0;\n\t\t\t\t}\n\t\t\t\t_tuple$24 = RawSyscall(33, ((((i < 0 || i >= fd.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : fd.$array[fd.$offset + i]) >>> 0)), ((nextfd >>> 0)), 0);\n\t\t\t\terr1 = _tuple$24[2];\n\t\t\t\t/* */ if (!((err1 === 0))) { $s = 74; continue; }\n\t\t\t\t/* */ $s = 75; continue;\n\t\t\t\t/* if (!((err1 === 0))) { */ case 74:\n\t\t\t\t\t/* goto childerror */ $s = 5; continue;\n\t\t\t\t/* } */ case 75:\n\t\t\t\tRawSyscall(72, ((nextfd >>> 0)), 2, 1);\n\t\t\t\t((i < 0 || i >= fd.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : fd.$array[fd.$offset + i] = nextfd);\n\t\t\t\tnextfd = nextfd + (1) >> 0;\n\t\t\t/* } */ case 73:\n\t\t\ti = i + (1) >> 0;\n\t\t/* } */ $s = 70; continue; case 71:\n\t\ti = 0;\n\t\t/* while (true) { */ case 76:\n\t\t\t/* if (!(i < fd.$length)) { break; } */ if(!(i < fd.$length)) { $s = 77; continue; }\n\t\t\t/* */ if (((i < 0 || i >= fd.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : fd.$array[fd.$offset + i]) === -1) { $s = 78; continue; }\n\t\t\t/* */ $s = 79; continue;\n\t\t\t/* if (((i < 0 || i >= fd.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : fd.$array[fd.$offset + i]) === -1) { */ case 78:\n\t\t\t\tRawSyscall(3, ((i >>> 0)), 0, 0);\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t\t/* continue; */ $s = 76; continue;\n\t\t\t/* } */ case 79:\n\t\t\t/* */ if (((i < 0 || i >= fd.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : fd.$array[fd.$offset + i]) === (i)) { $s = 80; continue; }\n\t\t\t/* */ $s = 81; continue;\n\t\t\t/* if (((i < 0 || i >= fd.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : fd.$array[fd.$offset + i]) === (i)) { */ case 80:\n\t\t\t\t_tuple$25 = RawSyscall(72, ((((i < 0 || i >= fd.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : fd.$array[fd.$offset + i]) >>> 0)), 2, 0);\n\t\t\t\terr1 = _tuple$25[2];\n\t\t\t\t/* */ if (!((err1 === 0))) { $s = 82; continue; }\n\t\t\t\t/* */ $s = 83; continue;\n\t\t\t\t/* if (!((err1 === 0))) { */ case 82:\n\t\t\t\t\t/* goto childerror */ $s = 5; continue;\n\t\t\t\t/* } */ case 83:\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t\t/* continue; */ $s = 76; continue;\n\t\t\t/* } */ case 81:\n\t\t\t_tuple$26 = RawSyscall(33, ((((i < 0 || i >= fd.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : fd.$array[fd.$offset + i]) >>> 0)), ((i >>> 0)), 0);\n\t\t\terr1 = _tuple$26[2];\n\t\t\t/* */ if (!((err1 === 0))) { $s = 84; continue; }\n\t\t\t/* */ $s = 85; continue;\n\t\t\t/* if (!((err1 === 0))) { */ case 84:\n\t\t\t\t/* goto childerror */ $s = 5; continue;\n\t\t\t/* } */ case 85:\n\t\t\ti = i + (1) >> 0;\n\t\t/* } */ $s = 76; continue; case 77:\n\t\ti = fd.$length;\n\t\twhile (true) {\n\t\t\tif (!(i < 3)) { break; }\n\t\t\tRawSyscall(3, ((i >>> 0)), 0, 0);\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\t/* */ if (sys.Noctty) { $s = 86; continue; }\n\t\t/* */ $s = 87; continue;\n\t\t/* if (sys.Noctty) { */ case 86:\n\t\t\t_tuple$27 = RawSyscall(16, 0, 21538, 0);\n\t\t\terr1 = _tuple$27[2];\n\t\t\t/* */ if (!((err1 === 0))) { $s = 88; continue; }\n\t\t\t/* */ $s = 89; continue;\n\t\t\t/* if (!((err1 === 0))) { */ case 88:\n\t\t\t\t/* goto childerror */ $s = 5; continue;\n\t\t\t/* } */ case 89:\n\t\t/* } */ case 87:\n\t\t/* */ if (sys.Setctty) { $s = 90; continue; }\n\t\t/* */ $s = 91; continue;\n\t\t/* if (sys.Setctty) { */ case 90:\n\t\t\t_tuple$28 = RawSyscall(16, ((sys.Ctty >>> 0)), 21518, 1);\n\t\t\terr1 = _tuple$28[2];\n\t\t\t/* */ if (!((err1 === 0))) { $s = 92; continue; }\n\t\t\t/* */ $s = 93; continue;\n\t\t\t/* if (!((err1 === 0))) { */ case 92:\n\t\t\t\t/* goto childerror */ $s = 5; continue;\n\t\t\t/* } */ case 93:\n\t\t/* } */ case 91:\n\t\t/* */ if (sys.Ptrace) { $s = 94; continue; }\n\t\t/* */ $s = 95; continue;\n\t\t/* if (sys.Ptrace) { */ case 94:\n\t\t\t_tuple$29 = RawSyscall(101, 0, 0, 0);\n\t\t\terr1 = _tuple$29[2];\n\t\t\t/* */ if (!((err1 === 0))) { $s = 96; continue; }\n\t\t\t/* */ $s = 97; continue;\n\t\t\t/* if (!((err1 === 0))) { */ case 96:\n\t\t\t\t/* goto childerror */ $s = 5; continue;\n\t\t\t/* } */ case 97:\n\t\t/* } */ case 95:\n\t\t_tuple$30 = RawSyscall(59, ((argv0)), (($sliceToArray(argv))), (($sliceToArray(envv))));\n\t\terr1 = _tuple$30[2];\n\t\t/* childerror: */ case 5:\n\t\tRawSyscall(1, ((pipe$1 >>> 0)), (((err1$24ptr || (err1$24ptr = new ptrType$3(function() { return err1; }, function($v) { err1 = $v; }))))), 4);\n\t\twhile (true) {\n\t\t\tRawSyscall(60, 253, 0, 0);\n\t\t}\n\t\t$s = -1; return [r1, err1, p, locked];\n\t\t/* */ } return; }\n\t};\n\tforkExecPipe = function(p) {\n\t\tvar _tuple, _tuple$1, err, p;\n\t\terr = $ifaceNil;\n\t\terr = Pipe2(p, 524288);\n\t\tif ($interfaceIsEqual(err, new Errno(38))) {\n\t\t\terr = Pipe(p);\n\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\treturn err;\n\t\t\t}\n\t\t\t_tuple = fcntl((0 >= p.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + 0]), 2, 1);\n\t\t\terr = _tuple[1];\n\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\treturn err;\n\t\t\t}\n\t\t\t_tuple$1 = fcntl((1 >= p.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + 1]), 2, 1);\n\t\t\terr = _tuple$1[1];\n\t\t}\n\t\treturn err;\n\t};\n\twriteIDMappings = function(path, idMap) {\n\t\tvar _i, _ref, _tuple, _tuple$1, _tuple$2, bytes, data, err, err$1, err$2, fd, idMap, im, path;\n\t\t_tuple = Open(path, 2, 0);\n\t\tfd = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\treturn err;\n\t\t}\n\t\tdata = \"\";\n\t\t_ref = idMap;\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\tim = $clone(((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]), SysProcIDMap);\n\t\t\tdata = data + itoa(im.ContainerID) + \" \" + itoa(im.HostID) + \" \" + itoa(im.Size) + \"\\n\";\n\t\t\t_i++;\n\t\t}\n\t\t_tuple$1 = ByteSliceFromString(data);\n\t\tbytes = _tuple$1[0];\n\t\terr = _tuple$1[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\tClose(fd);\n\t\t\treturn err;\n\t\t}\n\t\t_tuple$2 = Write(fd, bytes);\n\t\terr$1 = _tuple$2[1];\n\t\tif (!($interfaceIsEqual(err$1, $ifaceNil))) {\n\t\t\tClose(fd);\n\t\t\treturn err$1;\n\t\t}\n\t\terr$2 = Close(fd);\n\t\tif (!($interfaceIsEqual(err$2, $ifaceNil))) {\n\t\t\treturn err$2;\n\t\t}\n\t\treturn $ifaceNil;\n\t};\n\twriteSetgroups = function(pid, enable) {\n\t\tvar _tuple, _tuple$1, data, enable, err, err$1, fd, pid, sgf;\n\t\tsgf = \"/proc/\" + itoa(pid) + \"/setgroups\";\n\t\t_tuple = Open(sgf, 2, 0);\n\t\tfd = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\treturn err;\n\t\t}\n\t\tdata = sliceType.nil;\n\t\tif (enable) {\n\t\t\tdata = (new sliceType($stringToBytes(\"allow\")));\n\t\t} else {\n\t\t\tdata = (new sliceType($stringToBytes(\"deny\")));\n\t\t}\n\t\t_tuple$1 = Write(fd, data);\n\t\terr$1 = _tuple$1[1];\n\t\tif (!($interfaceIsEqual(err$1, $ifaceNil))) {\n\t\t\tClose(fd);\n\t\t\treturn err$1;\n\t\t}\n\t\treturn Close(fd);\n\t};\n\twriteUidGidMappings = function(pid, sys) {\n\t\tvar err, err$1, err$2, gidf, pid, sys, uidf;\n\t\tif (!(sys.UidMappings === sliceType$3.nil)) {\n\t\t\tuidf = \"/proc/\" + itoa(pid) + \"/uid_map\";\n\t\t\terr = writeIDMappings(uidf, sys.UidMappings);\n\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\treturn err;\n\t\t\t}\n\t\t}\n\t\tif (!(sys.GidMappings === sliceType$3.nil)) {\n\t\t\terr$1 = writeSetgroups(pid, sys.GidMappingsEnableSetgroups);\n\t\t\tif (!($interfaceIsEqual(err$1, $ifaceNil)) && !($interfaceIsEqual(err$1, new Errno(2)))) {\n\t\t\t\treturn err$1;\n\t\t\t}\n\t\t\tgidf = \"/proc/\" + itoa(pid) + \"/gid_map\";\n\t\t\terr$2 = writeIDMappings(gidf, sys.GidMappings);\n\t\t\tif (!($interfaceIsEqual(err$2, $ifaceNil))) {\n\t\t\t\treturn err$2;\n\t\t\t}\n\t\t}\n\t\treturn $ifaceNil;\n\t};\n\tSlicePtrFromStrings = function(ss) {\n\t\tvar _tuple, bb, err, i, ss, x;\n\t\terr = $ifaceNil;\n\t\tbb = $makeSlice(sliceType$5, (ss.$length + 1 >> 0));\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < ss.$length)) { break; }\n\t\t\t_tuple = BytePtrFromString(((i < 0 || i >= ss.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : ss.$array[ss.$offset + i]));\n\t\t\t((i < 0 || i >= bb.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : bb.$array[bb.$offset + i] = _tuple[0]);\n\t\t\terr = _tuple[1];\n\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\treturn [sliceType$5.nil, err];\n\t\t\t}\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\t(x = ss.$length, ((x < 0 || x >= bb.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : bb.$array[bb.$offset + x] = ptrType$2.nil));\n\t\treturn [bb, $ifaceNil];\n\t};\n\t$pkg.SlicePtrFromStrings = SlicePtrFromStrings;\n\tCloseOnExec = function(fd) {\n\t\tvar fd;\n\t\tfcntl(fd, 2, 1);\n\t};\n\t$pkg.CloseOnExec = CloseOnExec;\n\tSetNonblock = function(fd, nonblocking) {\n\t\tvar _tuple, _tuple$1, err, fd, flag, nonblocking;\n\t\terr = $ifaceNil;\n\t\t_tuple = fcntl(fd, 3, 0);\n\t\tflag = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\terr = err;\n\t\t\treturn err;\n\t\t}\n\t\tif (nonblocking) {\n\t\t\tflag = flag | (2048);\n\t\t} else {\n\t\t\tflag = (flag & ~(2048)) >> 0;\n\t\t}\n\t\t_tuple$1 = fcntl(fd, 4, flag);\n\t\terr = _tuple$1[1];\n\t\terr = err;\n\t\treturn err;\n\t};\n\t$pkg.SetNonblock = SetNonblock;\n\tforkExec = function(argv0, argv, attr) {\n\t\tvar _tmp, _tmp$1, _tmp$10, _tmp$11, _tmp$12, _tmp$13, _tmp$14, _tmp$15, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, _tuple, _tuple$1, _tuple$2, _tuple$3, _tuple$4, _tuple$5, _tuple$6, _tuple$7, _tuple$8, argv, argv0, argv0p, argvp, attr, chroot, dir, envvp, err, err1, err1$1, n, p, pid, sys, wstatus, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$10 = $f._tmp$10; _tmp$11 = $f._tmp$11; _tmp$12 = $f._tmp$12; _tmp$13 = $f._tmp$13; _tmp$14 = $f._tmp$14; _tmp$15 = $f._tmp$15; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; _tmp$4 = $f._tmp$4; _tmp$5 = $f._tmp$5; _tmp$6 = $f._tmp$6; _tmp$7 = $f._tmp$7; _tmp$8 = $f._tmp$8; _tmp$9 = $f._tmp$9; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; _tuple$3 = $f._tuple$3; _tuple$4 = $f._tuple$4; _tuple$5 = $f._tuple$5; _tuple$6 = $f._tuple$6; _tuple$7 = $f._tuple$7; _tuple$8 = $f._tuple$8; argv = $f.argv; argv0 = $f.argv0; argv0p = $f.argv0p; argvp = $f.argvp; attr = $f.attr; chroot = $f.chroot; dir = $f.dir; envvp = $f.envvp; err = $f.err; err1 = $f.err1; err1$1 = $f.err1$1; n = $f.n; p = $f.p; pid = $f.pid; sys = $f.sys; wstatus = $f.wstatus; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\terr1 = [err1];\n\t\twstatus = [wstatus];\n\t\tpid = 0;\n\t\terr = $ifaceNil;\n\t\tp = arrayType.zero();\n\t\tn = 0;\n\t\terr1[0] = 0;\n\t\twstatus[0] = 0;\n\t\tif (attr === ptrType$5.nil) {\n\t\t\tattr = zeroProcAttr;\n\t\t}\n\t\tsys = attr.Sys;\n\t\tif (sys === ptrType.nil) {\n\t\t\tsys = zeroSysProcAttr;\n\t\t}\n\t\tp[0] = -1;\n\t\tp[1] = -1;\n\t\t_tuple = BytePtrFromString(argv0);\n\t\targv0p = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t_tmp = 0;\n\t\t\t_tmp$1 = err;\n\t\t\tpid = _tmp;\n\t\t\terr = _tmp$1;\n\t\t\t$s = -1; return [pid, err];\n\t\t}\n\t\t_tuple$1 = SlicePtrFromStrings(argv);\n\t\targvp = _tuple$1[0];\n\t\terr = _tuple$1[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t_tmp$2 = 0;\n\t\t\t_tmp$3 = err;\n\t\t\tpid = _tmp$2;\n\t\t\terr = _tmp$3;\n\t\t\t$s = -1; return [pid, err];\n\t\t}\n\t\t_tuple$2 = SlicePtrFromStrings(attr.Env);\n\t\tenvvp = _tuple$2[0];\n\t\terr = _tuple$2[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t_tmp$4 = 0;\n\t\t\t_tmp$5 = err;\n\t\t\tpid = _tmp$4;\n\t\t\terr = _tmp$5;\n\t\t\t$s = -1; return [pid, err];\n\t\t}\n\t\tif (false && (0 >= argv.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : argv.$array[argv.$offset + 0]).length > argv0.length) {\n\t\t\t(0 >= argvp.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : argvp.$array[argvp.$offset + 0] = argv0p);\n\t\t}\n\t\tchroot = ptrType$2.nil;\n\t\tif (!(sys.Chroot === \"\")) {\n\t\t\t_tuple$3 = BytePtrFromString(sys.Chroot);\n\t\t\tchroot = _tuple$3[0];\n\t\t\terr = _tuple$3[1];\n\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\t_tmp$6 = 0;\n\t\t\t\t_tmp$7 = err;\n\t\t\t\tpid = _tmp$6;\n\t\t\t\terr = _tmp$7;\n\t\t\t\t$s = -1; return [pid, err];\n\t\t\t}\n\t\t}\n\t\tdir = ptrType$2.nil;\n\t\tif (!(attr.Dir === \"\")) {\n\t\t\t_tuple$4 = BytePtrFromString(attr.Dir);\n\t\t\tdir = _tuple$4[0];\n\t\t\terr = _tuple$4[1];\n\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\t_tmp$8 = 0;\n\t\t\t\t_tmp$9 = err;\n\t\t\t\tpid = _tmp$8;\n\t\t\t\terr = _tmp$9;\n\t\t\t\t$s = -1; return [pid, err];\n\t\t\t}\n\t\t}\n\t\t$r = $pkg.ForkLock.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\terr = forkExecPipe(new sliceType$4(p));\n\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 2:\n\t\t\t/* goto error */ $s = 4; continue;\n\t\t/* } */ case 3:\n\t\t_tuple$5 = forkAndExecInChild(argv0p, argvp, envvp, chroot, dir, attr, sys, p[1]);\n\t\tpid = _tuple$5[0];\n\t\terr1[0] = _tuple$5[1];\n\t\t/* */ if (!((err1[0] === 0))) { $s = 5; continue; }\n\t\t/* */ $s = 6; continue;\n\t\t/* if (!((err1[0] === 0))) { */ case 5:\n\t\t\terr = new Errno((err1[0]));\n\t\t\t/* goto error */ $s = 4; continue;\n\t\t/* } */ case 6:\n\t\t$r = $pkg.ForkLock.Unlock(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tClose(p[1]);\n\t\t_tuple$6 = readlen(p[0], (((err1.$ptr || (err1.$ptr = new ptrType$3(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, err1))))), 4);\n\t\tn = _tuple$6[0];\n\t\terr = _tuple$6[1];\n\t\tClose(p[0]);\n\t\tif (!($interfaceIsEqual(err, $ifaceNil)) || !((n === 0))) {\n\t\t\tif (n === 4) {\n\t\t\t\terr = new Errno((err1[0]));\n\t\t\t}\n\t\t\tif ($interfaceIsEqual(err, $ifaceNil)) {\n\t\t\t\terr = new Errno(32);\n\t\t\t}\n\t\t\t_tuple$7 = Wait4(pid, (wstatus.$ptr || (wstatus.$ptr = new ptrType$6(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, wstatus))), 0, ptrType$7.nil);\n\t\t\terr1$1 = _tuple$7[1];\n\t\t\twhile (true) {\n\t\t\t\tif (!($interfaceIsEqual(err1$1, new Errno(4)))) { break; }\n\t\t\t\t_tuple$8 = Wait4(pid, (wstatus.$ptr || (wstatus.$ptr = new ptrType$6(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, wstatus))), 0, ptrType$7.nil);\n\t\t\t\terr1$1 = _tuple$8[1];\n\t\t\t}\n\t\t\t_tmp$10 = 0;\n\t\t\t_tmp$11 = err;\n\t\t\tpid = _tmp$10;\n\t\t\terr = _tmp$11;\n\t\t\t$s = -1; return [pid, err];\n\t\t}\n\t\t_tmp$12 = pid;\n\t\t_tmp$13 = $ifaceNil;\n\t\tpid = _tmp$12;\n\t\terr = _tmp$13;\n\t\t$s = -1; return [pid, err];\n\t\t/* error: */ case 4:\n\t\tif (p[0] >= 0) {\n\t\t\tClose(p[0]);\n\t\t\tClose(p[1]);\n\t\t}\n\t\t$r = $pkg.ForkLock.Unlock(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_tmp$14 = 0;\n\t\t_tmp$15 = err;\n\t\tpid = _tmp$14;\n\t\terr = _tmp$15;\n\t\t$s = -1; return [pid, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: forkExec }; } $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$10 = _tmp$10; $f._tmp$11 = _tmp$11; $f._tmp$12 = _tmp$12; $f._tmp$13 = _tmp$13; $f._tmp$14 = _tmp$14; $f._tmp$15 = _tmp$15; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f._tmp$4 = _tmp$4; $f._tmp$5 = _tmp$5; $f._tmp$6 = _tmp$6; $f._tmp$7 = _tmp$7; $f._tmp$8 = _tmp$8; $f._tmp$9 = _tmp$9; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f._tuple$3 = _tuple$3; $f._tuple$4 = _tuple$4; $f._tuple$5 = _tuple$5; $f._tuple$6 = _tuple$6; $f._tuple$7 = _tuple$7; $f._tuple$8 = _tuple$8; $f.argv = argv; $f.argv0 = argv0; $f.argv0p = argv0p; $f.argvp = argvp; $f.attr = attr; $f.chroot = chroot; $f.dir = dir; $f.envvp = envvp; $f.err = err; $f.err1 = err1; $f.err1$1 = err1$1; $f.n = n; $f.p = p; $f.pid = pid; $f.sys = sys; $f.wstatus = wstatus; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tStartProcess = function(argv0, argv, attr) {\n\t\tvar _r, _tmp, _tmp$1, _tmp$2, _tuple, argv, argv0, attr, err, handle, pid, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tuple = $f._tuple; argv = $f.argv; argv0 = $f.argv0; attr = $f.attr; err = $f.err; handle = $f.handle; pid = $f.pid; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tpid = 0;\n\t\thandle = 0;\n\t\terr = $ifaceNil;\n\t\t_r = forkExec(argv0, argv, attr); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tpid = _tuple[0];\n\t\terr = _tuple[1];\n\t\t_tmp = pid;\n\t\t_tmp$1 = 0;\n\t\t_tmp$2 = err;\n\t\tpid = _tmp;\n\t\thandle = _tmp$1;\n\t\terr = _tmp$2;\n\t\t$s = -1; return [pid, handle, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: StartProcess }; } $f._r = _r; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tuple = _tuple; $f.argv = argv; $f.argv0 = argv0; $f.attr = attr; $f.err = err; $f.handle = handle; $f.pid = pid; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.StartProcess = StartProcess;\n\tmsanRead = function(addr, len) {\n\t\tvar addr, len;\n\t};\n\tmsanWrite = function(addr, len) {\n\t\tvar addr, len;\n\t};\n\titoa = function(val) {\n\t\tvar val;\n\t\tif (val < 0) {\n\t\t\treturn \"-\" + uitoa(((-val >>> 0)));\n\t\t}\n\t\treturn uitoa(((val >>> 0)));\n\t};\n\tuitoa = function(val) {\n\t\tvar _q, _r, buf, i, val;\n\t\tbuf = arrayType$4.zero();\n\t\ti = 31;\n\t\twhile (true) {\n\t\t\tif (!(val >= 10)) { break; }\n\t\t\t((i < 0 || i >= buf.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf[i] = ((((_r = val % 10, _r === _r ? _r : $throwRuntimeError(\"integer divide by zero\")) + 48 >>> 0) << 24 >>> 24)));\n\t\t\ti = i - (1) >> 0;\n\t\t\tval = (_q = val / (10), (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >>> 0 : $throwRuntimeError(\"integer divide by zero\"));\n\t\t}\n\t\t((i < 0 || i >= buf.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf[i] = (((val + 48 >>> 0) << 24 >>> 24)));\n\t\treturn ($bytesToString($subslice(new sliceType(buf), i)));\n\t};\n\tByteSliceFromString = function(s) {\n\t\tvar a, i, s;\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < s.length)) { break; }\n\t\t\tif (s.charCodeAt(i) === 0) {\n\t\t\t\treturn [sliceType.nil, new Errno(22)];\n\t\t\t}\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\ta = $makeSlice(sliceType, (s.length + 1 >> 0));\n\t\t$copyString(a, s);\n\t\treturn [a, $ifaceNil];\n\t};\n\t$pkg.ByteSliceFromString = ByteSliceFromString;\n\tTimespec.ptr.prototype.Unix = function() {\n\t\tvar _tmp, _tmp$1, nsec, sec, ts;\n\t\tsec = new $Int64(0, 0);\n\t\tnsec = new $Int64(0, 0);\n\t\tts = this;\n\t\t_tmp = (ts.Sec);\n\t\t_tmp$1 = (ts.Nsec);\n\t\tsec = _tmp;\n\t\tnsec = _tmp$1;\n\t\treturn [sec, nsec];\n\t};\n\tTimespec.prototype.Unix = function() { return this.$val.Unix(); };\n\tTimeval.ptr.prototype.Unix = function() {\n\t\tvar _tmp, _tmp$1, nsec, sec, tv;\n\t\tsec = new $Int64(0, 0);\n\t\tnsec = new $Int64(0, 0);\n\t\ttv = this;\n\t\t_tmp = (tv.Sec);\n\t\t_tmp$1 = $mul64((tv.Usec), new $Int64(0, 1000));\n\t\tsec = _tmp;\n\t\tnsec = _tmp$1;\n\t\treturn [sec, nsec];\n\t};\n\tTimeval.prototype.Unix = function() { return this.$val.Unix(); };\n\tTimespec.ptr.prototype.Nano = function() {\n\t\tvar ts, x, x$1;\n\t\tts = this;\n\t\treturn (x = $mul64((ts.Sec), new $Int64(0, 1000000000)), x$1 = (ts.Nsec), new $Int64(x.$high + x$1.$high, x.$low + x$1.$low));\n\t};\n\tTimespec.prototype.Nano = function() { return this.$val.Nano(); };\n\tTimeval.ptr.prototype.Nano = function() {\n\t\tvar tv, x, x$1;\n\t\ttv = this;\n\t\treturn (x = $mul64((tv.Sec), new $Int64(0, 1000000000)), x$1 = $mul64((tv.Usec), new $Int64(0, 1000)), new $Int64(x.$high + x$1.$high, x.$low + x$1.$low));\n\t};\n\tTimeval.prototype.Nano = function() { return this.$val.Nano(); };\n\tChmod = function(path, mode) {\n\t\tvar err, mode, path;\n\t\terr = $ifaceNil;\n\t\terr = Fchmodat(-100, path, mode, 0);\n\t\treturn err;\n\t};\n\t$pkg.Chmod = Chmod;\n\tFchmodat = function(dirfd, path, mode, flags) {\n\t\tvar dirfd, err, flags, mode, path;\n\t\terr = $ifaceNil;\n\t\tif (!((((flags & ~256) >> 0) === 0))) {\n\t\t\terr = new Errno(22);\n\t\t\treturn err;\n\t\t} else if (!(((flags & 256) === 0))) {\n\t\t\terr = new Errno(95);\n\t\t\treturn err;\n\t\t}\n\t\terr = fchmodat(dirfd, path, mode);\n\t\treturn err;\n\t};\n\t$pkg.Fchmodat = Fchmodat;\n\tOpen = function(path, mode, perm) {\n\t\tvar _tuple, err, fd, mode, path, perm;\n\t\tfd = 0;\n\t\terr = $ifaceNil;\n\t\t_tuple = openat(-100, path, mode | 0, perm);\n\t\tfd = _tuple[0];\n\t\terr = _tuple[1];\n\t\treturn [fd, err];\n\t};\n\t$pkg.Open = Open;\n\tRename = function(oldpath, newpath) {\n\t\tvar err, newpath, oldpath;\n\t\terr = $ifaceNil;\n\t\terr = Renameat(-100, oldpath, -100, newpath);\n\t\treturn err;\n\t};\n\t$pkg.Rename = Rename;\n\tRmdir = function(path) {\n\t\tvar path;\n\t\treturn unlinkat(-100, path, 512);\n\t};\n\t$pkg.Rmdir = Rmdir;\n\tUnlink = function(path) {\n\t\tvar path;\n\t\treturn unlinkat(-100, path, 0);\n\t};\n\t$pkg.Unlink = Unlink;\n\tGetwd = function() {\n\t\tvar _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tuple, buf, err, n, wd, x;\n\t\twd = \"\";\n\t\terr = $ifaceNil;\n\t\tbuf = arrayType$7.zero();\n\t\t_tuple = Getcwd($subslice(new sliceType(buf), 0));\n\t\tn = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t_tmp = \"\";\n\t\t\t_tmp$1 = err;\n\t\t\twd = _tmp;\n\t\t\terr = _tmp$1;\n\t\t\treturn [wd, err];\n\t\t}\n\t\tif (n < 1 || n > 4096 || !(((x = n - 1 >> 0, ((x < 0 || x >= buf.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf[x])) === 0))) {\n\t\t\t_tmp$2 = \"\";\n\t\t\t_tmp$3 = new Errno(22);\n\t\t\twd = _tmp$2;\n\t\t\terr = _tmp$3;\n\t\t\treturn [wd, err];\n\t\t}\n\t\t_tmp$4 = ($bytesToString($subslice(new sliceType(buf), 0, (n - 1 >> 0))));\n\t\t_tmp$5 = $ifaceNil;\n\t\twd = _tmp$4;\n\t\terr = _tmp$5;\n\t\treturn [wd, err];\n\t};\n\t$pkg.Getwd = Getwd;\n\tWaitStatus.prototype.Exited = function() {\n\t\tvar w;\n\t\tw = this.$val;\n\t\treturn ((w & 127) >>> 0) === 0;\n\t};\n\t$ptrType(WaitStatus).prototype.Exited = function() { return new WaitStatus(this.$get()).Exited(); };\n\tWaitStatus.prototype.Signaled = function() {\n\t\tvar w;\n\t\tw = this.$val;\n\t\treturn !((((w & 127) >>> 0) === 127)) && !((((w & 127) >>> 0) === 0));\n\t};\n\t$ptrType(WaitStatus).prototype.Signaled = function() { return new WaitStatus(this.$get()).Signaled(); };\n\tWaitStatus.prototype.Stopped = function() {\n\t\tvar w;\n\t\tw = this.$val;\n\t\treturn ((w & 255) >>> 0) === 127;\n\t};\n\t$ptrType(WaitStatus).prototype.Stopped = function() { return new WaitStatus(this.$get()).Stopped(); };\n\tWaitStatus.prototype.Continued = function() {\n\t\tvar w;\n\t\tw = this.$val;\n\t\treturn w === 65535;\n\t};\n\t$ptrType(WaitStatus).prototype.Continued = function() { return new WaitStatus(this.$get()).Continued(); };\n\tWaitStatus.prototype.CoreDump = function() {\n\t\tvar w;\n\t\tw = this.$val;\n\t\treturn new WaitStatus(w).Signaled() && !((((w & 128) >>> 0) === 0));\n\t};\n\t$ptrType(WaitStatus).prototype.CoreDump = function() { return new WaitStatus(this.$get()).CoreDump(); };\n\tWaitStatus.prototype.ExitStatus = function() {\n\t\tvar w;\n\t\tw = this.$val;\n\t\tif (!new WaitStatus(w).Exited()) {\n\t\t\treturn -1;\n\t\t}\n\t\treturn (((w >>> 8 >>> 0) >> 0)) & 255;\n\t};\n\t$ptrType(WaitStatus).prototype.ExitStatus = function() { return new WaitStatus(this.$get()).ExitStatus(); };\n\tWaitStatus.prototype.Signal = function() {\n\t\tvar w;\n\t\tw = this.$val;\n\t\tif (!new WaitStatus(w).Signaled()) {\n\t\t\treturn -1;\n\t\t}\n\t\treturn ((((w & 127) >>> 0) >> 0));\n\t};\n\t$ptrType(WaitStatus).prototype.Signal = function() { return new WaitStatus(this.$get()).Signal(); };\n\tWaitStatus.prototype.StopSignal = function() {\n\t\tvar w;\n\t\tw = this.$val;\n\t\tif (!new WaitStatus(w).Stopped()) {\n\t\t\treturn -1;\n\t\t}\n\t\treturn (((w >>> 8 >>> 0) >> 0)) & 255;\n\t};\n\t$ptrType(WaitStatus).prototype.StopSignal = function() { return new WaitStatus(this.$get()).StopSignal(); };\n\tWaitStatus.prototype.TrapCause = function() {\n\t\tvar w;\n\t\tw = this.$val;\n\t\tif (!((new WaitStatus(w).StopSignal() === 5))) {\n\t\t\treturn -1;\n\t\t}\n\t\treturn (((w >>> 8 >>> 0) >> 0)) >> 8 >> 0;\n\t};\n\t$ptrType(WaitStatus).prototype.TrapCause = function() { return new WaitStatus(this.$get()).TrapCause(); };\n\tWait4 = function(pid, wstatus, options, rusage) {\n\t\tvar _tuple, err, options, pid, rusage, status, status$24ptr, wpid, wstatus;\n\t\twpid = 0;\n\t\terr = $ifaceNil;\n\t\tstatus = 0;\n\t\t_tuple = wait4(pid, (status$24ptr || (status$24ptr = new ptrType$17(function() { return status; }, function($v) { status = $v; }))), options, rusage);\n\t\twpid = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (!(wstatus === ptrType$6.nil)) {\n\t\t\twstatus.$set(((status >>> 0)));\n\t\t}\n\t\treturn [wpid, err];\n\t};\n\t$pkg.Wait4 = Wait4;\n\tSockaddrInet4.ptr.prototype.sockaddr = function() {\n\t\tvar _array, _struct, _view, i, p, sa, x, x$1, x$2;\n\t\tsa = this;\n\t\tif (sa.Port < 0 || sa.Port > 65535) {\n\t\t\treturn [0, 0, new Errno(22)];\n\t\t}\n\t\tsa.raw.Family = 2;\n\t\tp = (((x = sa.raw, (x.$ptr_Port || (x.$ptr_Port = new ptrType$8(function() { return this.$target.Port; }, function($v) { this.$target.Port = $v; }, x))))));\n\t\tp.nilCheck, p[0] = (((sa.Port >> 8 >> 0) << 24 >>> 24));\n\t\tp.nilCheck, p[1] = ((sa.Port << 24 >>> 24));\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < 4)) { break; }\n\t\t\t(x$2 = sa.raw.Addr, ((i < 0 || i >= x$2.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$2[i] = (x$1 = sa.Addr, ((i < 0 || i >= x$1.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$1[i]))));\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\t_array = new Uint8Array(16);\n\t\treturn [(_array), 16, $ifaceNil];\n\t};\n\tSockaddrInet4.prototype.sockaddr = function() { return this.$val.sockaddr(); };\n\tSockaddrInet6.ptr.prototype.sockaddr = function() {\n\t\tvar _array, _struct, _view, i, p, sa, x, x$1, x$2;\n\t\tsa = this;\n\t\tif (sa.Port < 0 || sa.Port > 65535) {\n\t\t\treturn [0, 0, new Errno(22)];\n\t\t}\n\t\tsa.raw.Family = 10;\n\t\tp = (((x = sa.raw, (x.$ptr_Port || (x.$ptr_Port = new ptrType$8(function() { return this.$target.Port; }, function($v) { this.$target.Port = $v; }, x))))));\n\t\tp.nilCheck, p[0] = (((sa.Port >> 8 >> 0) << 24 >>> 24));\n\t\tp.nilCheck, p[1] = ((sa.Port << 24 >>> 24));\n\t\tsa.raw.Scope_id = sa.ZoneId;\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < 16)) { break; }\n\t\t\t(x$2 = sa.raw.Addr, ((i < 0 || i >= x$2.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$2[i] = (x$1 = sa.Addr, ((i < 0 || i >= x$1.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$1[i]))));\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\t_array = new Uint8Array(28);\n\t\treturn [(_array), 28, $ifaceNil];\n\t};\n\tSockaddrInet6.prototype.sockaddr = function() { return this.$val.sockaddr(); };\n\tSockaddrUnix.ptr.prototype.sockaddr = function() {\n\t\tvar _array, _struct, _view, i, n, name, sa, sl, x;\n\t\tsa = this;\n\t\tname = sa.Name;\n\t\tn = name.length;\n\t\tif (n > 108) {\n\t\t\treturn [0, 0, new Errno(22)];\n\t\t}\n\t\tif ((n === 108) && !((name.charCodeAt(0) === 64))) {\n\t\t\treturn [0, 0, new Errno(22)];\n\t\t}\n\t\tsa.raw.Family = 1;\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < n)) { break; }\n\t\t\t(x = sa.raw.Path, ((i < 0 || i >= x.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x[i] = ((name.charCodeAt(i) << 24 >> 24))));\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\tsl = 2;\n\t\tif (n > 0) {\n\t\t\tsl = sl + ((((n >>> 0)) + 1 >>> 0)) >>> 0;\n\t\t}\n\t\tif (sa.raw.Path[0] === 64) {\n\t\t\tsa.raw.Path[0] = 0;\n\t\t\tsl = sl - (1) >>> 0;\n\t\t}\n\t\t_array = new Uint8Array(110);\n\t\treturn [(_array), sl, $ifaceNil];\n\t};\n\tSockaddrUnix.prototype.sockaddr = function() { return this.$val.sockaddr(); };\n\tSockaddrLinklayer.ptr.prototype.sockaddr = function() {\n\t\tvar _array, _struct, _view, i, sa, x, x$1;\n\t\tsa = this;\n\t\tif (sa.Ifindex < 0 || sa.Ifindex > 2147483647) {\n\t\t\treturn [0, 0, new Errno(22)];\n\t\t}\n\t\tsa.raw.Family = 17;\n\t\tsa.raw.Protocol = sa.Protocol;\n\t\tsa.raw.Ifindex = ((sa.Ifindex >> 0));\n\t\tsa.raw.Hatype = sa.Hatype;\n\t\tsa.raw.Pkttype = sa.Pkttype;\n\t\tsa.raw.Halen = sa.Halen;\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < 8)) { break; }\n\t\t\t(x$1 = sa.raw.Addr, ((i < 0 || i >= x$1.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$1[i] = (x = sa.Addr, ((i < 0 || i >= x.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x[i]))));\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\t_array = new Uint8Array(20);\n\t\treturn [(_array), 20, $ifaceNil];\n\t};\n\tSockaddrLinklayer.prototype.sockaddr = function() { return this.$val.sockaddr(); };\n\tSockaddrNetlink.ptr.prototype.sockaddr = function() {\n\t\tvar _array, _struct, _view, sa;\n\t\tsa = this;\n\t\tsa.raw.Family = 16;\n\t\tsa.raw.Pad = sa.Pad;\n\t\tsa.raw.Pid = sa.Pid;\n\t\tsa.raw.Groups = sa.Groups;\n\t\t_array = new Uint8Array(12);\n\t\treturn [(_array), 12, $ifaceNil];\n\t};\n\tSockaddrNetlink.prototype.sockaddr = function() { return this.$val.sockaddr(); };\n\tanyToSockaddr = function(rsa) {\n\t\tvar _1, _array, _array$1, _array$2, _array$3, _array$4, _array$5, _array$6, _array$7, _array$8, _array$9, _struct, _struct$1, _struct$2, _struct$3, _struct$4, _struct$5, _struct$6, _struct$7, _struct$8, _struct$9, _view, _view$1, _view$2, _view$3, _view$4, _view$5, _view$6, _view$7, _view$8, _view$9, bytes, i, i$1, i$2, n, p, p$1, pp, pp$1, pp$2, pp$3, pp$4, rsa, sa, sa$1, sa$2, sa$3, sa$4, x, x$1, x$2, x$3, x$4, x$5, x$6;\n\t\t_1 = rsa.Addr.Family;\n\t\tif (_1 === (16)) {\n\t\t\t_array$1 = new Uint8Array(112);\n\t\t\tpp = ((_array = (_array$1), _struct = new RawSockaddrNetlink.ptr(0, 0, 0, 0), _view = new DataView(_array.buffer, _array.byteOffset), _struct.Family = _view.getUint16(0, true), _struct.Pad = _view.getUint16(2, true), _struct.Pid = _view.getUint32(4, true), _struct.Groups = _view.getUint32(8, true), _struct));\n\t\t\t_struct$1 = rsa, _view$1 = new DataView(_array$1.buffer, _array$1.byteOffset), _struct$1.Addr.Family = _view$1.getUint16(0, true), _struct$1.Addr.Data = new ($nativeArray($kindInt8))(_array$1.buffer, $min(_array$1.byteOffset + 2, _array$1.buffer.byteLength)), _struct$1.Pad = new ($nativeArray($kindInt8))(_array$1.buffer, $min(_array$1.byteOffset + 16, _array$1.buffer.byteLength));\n\t\t\tsa = new SockaddrNetlink.ptr(0, 0, 0, 0, new RawSockaddrNetlink.ptr(0, 0, 0, 0));\n\t\t\tsa.Family = pp.Family;\n\t\t\tsa.Pad = pp.Pad;\n\t\t\tsa.Pid = pp.Pid;\n\t\t\tsa.Groups = pp.Groups;\n\t\t\treturn [sa, $ifaceNil];\n\t\t} else if (_1 === (17)) {\n\t\t\t_array$3 = new Uint8Array(112);\n\t\t\tpp$1 = ((_array$2 = (_array$3), _struct$2 = new RawSockaddrLinklayer.ptr(0, 0, 0, 0, 0, 0, arrayType$1.zero()), _view$2 = new DataView(_array$2.buffer, _array$2.byteOffset), _struct$2.Family = _view$2.getUint16(0, true), _struct$2.Protocol = _view$2.getUint16(2, true), _struct$2.Ifindex = _view$2.getInt32(4, true), _struct$2.Hatype = _view$2.getUint16(8, true), _struct$2.Pkttype = _view$2.getUint8(10, true), _struct$2.Halen = _view$2.getUint8(11, true), _struct$2.Addr = new ($nativeArray($kindUint8))(_array$2.buffer, $min(_array$2.byteOffset + 12, _array$2.buffer.byteLength)), _struct$2));\n\t\t\t_struct$3 = rsa, _view$3 = new DataView(_array$3.buffer, _array$3.byteOffset), _struct$3.Addr.Family = _view$3.getUint16(0, true), _struct$3.Addr.Data = new ($nativeArray($kindInt8))(_array$3.buffer, $min(_array$3.byteOffset + 2, _array$3.buffer.byteLength)), _struct$3.Pad = new ($nativeArray($kindInt8))(_array$3.buffer, $min(_array$3.byteOffset + 16, _array$3.buffer.byteLength));\n\t\t\tsa$1 = new SockaddrLinklayer.ptr(0, 0, 0, 0, 0, arrayType$1.zero(), new RawSockaddrLinklayer.ptr(0, 0, 0, 0, 0, 0, arrayType$1.zero()));\n\t\t\tsa$1.Protocol = pp$1.Protocol;\n\t\t\tsa$1.Ifindex = ((pp$1.Ifindex >> 0));\n\t\t\tsa$1.Hatype = pp$1.Hatype;\n\t\t\tsa$1.Pkttype = pp$1.Pkttype;\n\t\t\tsa$1.Halen = pp$1.Halen;\n\t\t\ti = 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(i < 8)) { break; }\n\t\t\t\t(x$1 = sa$1.Addr, ((i < 0 || i >= x$1.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$1[i] = (x = pp$1.Addr, ((i < 0 || i >= x.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x[i]))));\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t}\n\t\t\treturn [sa$1, $ifaceNil];\n\t\t} else if (_1 === (1)) {\n\t\t\t_array$5 = new Uint8Array(112);\n\t\t\tpp$2 = ((_array$4 = (_array$5), _struct$4 = new RawSockaddrUnix.ptr(0, arrayType$8.zero()), _view$4 = new DataView(_array$4.buffer, _array$4.byteOffset), _struct$4.Family = _view$4.getUint16(0, true), _struct$4.Path = new ($nativeArray($kindInt8))(_array$4.buffer, $min(_array$4.byteOffset + 2, _array$4.buffer.byteLength)), _struct$4));\n\t\t\t_struct$5 = rsa, _view$5 = new DataView(_array$5.buffer, _array$5.byteOffset), _struct$5.Addr.Family = _view$5.getUint16(0, true), _struct$5.Addr.Data = new ($nativeArray($kindInt8))(_array$5.buffer, $min(_array$5.byteOffset + 2, _array$5.buffer.byteLength)), _struct$5.Pad = new ($nativeArray($kindInt8))(_array$5.buffer, $min(_array$5.byteOffset + 16, _array$5.buffer.byteLength));\n\t\t\tsa$2 = new SockaddrUnix.ptr(\"\", new RawSockaddrUnix.ptr(0, arrayType$8.zero()));\n\t\t\tif (pp$2.Path[0] === 0) {\n\t\t\t\tpp$2.Path[0] = 64;\n\t\t\t}\n\t\t\tn = 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(n < 108 && !(((x$2 = pp$2.Path, ((n < 0 || n >= x$2.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$2[n])) === 0)))) { break; }\n\t\t\t\tn = n + (1) >> 0;\n\t\t\t}\n\t\t\tbytes = $subslice(new sliceType((($sliceToArray(new sliceType(pp$2.Path))))), 0, n);\n\t\t\tsa$2.Name = ($bytesToString(bytes));\n\t\t\treturn [sa$2, $ifaceNil];\n\t\t} else if (_1 === (2)) {\n\t\t\t_array$7 = new Uint8Array(112);\n\t\t\tpp$3 = ((_array$6 = (_array$7), _struct$6 = new RawSockaddrInet4.ptr(0, 0, arrayType$9.zero(), arrayType$1.zero()), _view$6 = new DataView(_array$6.buffer, _array$6.byteOffset), _struct$6.Family = _view$6.getUint16(0, true), _struct$6.Port = _view$6.getUint16(2, true), _struct$6.Addr = new ($nativeArray($kindUint8))(_array$6.buffer, $min(_array$6.byteOffset + 4, _array$6.buffer.byteLength)), _struct$6.Zero = new ($nativeArray($kindUint8))(_array$6.buffer, $min(_array$6.byteOffset + 8, _array$6.buffer.byteLength)), _struct$6));\n\t\t\t_struct$7 = rsa, _view$7 = new DataView(_array$7.buffer, _array$7.byteOffset), _struct$7.Addr.Family = _view$7.getUint16(0, true), _struct$7.Addr.Data = new ($nativeArray($kindInt8))(_array$7.buffer, $min(_array$7.byteOffset + 2, _array$7.buffer.byteLength)), _struct$7.Pad = new ($nativeArray($kindInt8))(_array$7.buffer, $min(_array$7.byteOffset + 16, _array$7.buffer.byteLength));\n\t\t\tsa$3 = new SockaddrInet4.ptr(0, arrayType$9.zero(), new RawSockaddrInet4.ptr(0, 0, arrayType$9.zero(), arrayType$1.zero()));\n\t\t\tp = (((pp$3.$ptr_Port || (pp$3.$ptr_Port = new ptrType$8(function() { return this.$target.Port; }, function($v) { this.$target.Port = $v; }, pp$3)))));\n\t\t\tsa$3.Port = ((((p.nilCheck, p[0]) >> 0)) << 8 >> 0) + (((p.nilCheck, p[1]) >> 0)) >> 0;\n\t\t\ti$1 = 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(i$1 < 4)) { break; }\n\t\t\t\t(x$4 = sa$3.Addr, ((i$1 < 0 || i$1 >= x$4.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$4[i$1] = (x$3 = pp$3.Addr, ((i$1 < 0 || i$1 >= x$3.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$3[i$1]))));\n\t\t\t\ti$1 = i$1 + (1) >> 0;\n\t\t\t}\n\t\t\treturn [sa$3, $ifaceNil];\n\t\t} else if (_1 === (10)) {\n\t\t\t_array$9 = new Uint8Array(112);\n\t\t\tpp$4 = ((_array$8 = (_array$9), _struct$8 = new RawSockaddrInet6.ptr(0, 0, 0, arrayType$2.zero(), 0), _view$8 = new DataView(_array$8.buffer, _array$8.byteOffset), _struct$8.Family = _view$8.getUint16(0, true), _struct$8.Port = _view$8.getUint16(2, true), _struct$8.Flowinfo = _view$8.getUint32(4, true), _struct$8.Addr = new ($nativeArray($kindUint8))(_array$8.buffer, $min(_array$8.byteOffset + 8, _array$8.buffer.byteLength)), _struct$8.Scope_id = _view$8.getUint32(24, true), _struct$8));\n\t\t\t_struct$9 = rsa, _view$9 = new DataView(_array$9.buffer, _array$9.byteOffset), _struct$9.Addr.Family = _view$9.getUint16(0, true), _struct$9.Addr.Data = new ($nativeArray($kindInt8))(_array$9.buffer, $min(_array$9.byteOffset + 2, _array$9.buffer.byteLength)), _struct$9.Pad = new ($nativeArray($kindInt8))(_array$9.buffer, $min(_array$9.byteOffset + 16, _array$9.buffer.byteLength));\n\t\t\tsa$4 = new SockaddrInet6.ptr(0, 0, arrayType$2.zero(), new RawSockaddrInet6.ptr(0, 0, 0, arrayType$2.zero(), 0));\n\t\t\tp$1 = (((pp$4.$ptr_Port || (pp$4.$ptr_Port = new ptrType$8(function() { return this.$target.Port; }, function($v) { this.$target.Port = $v; }, pp$4)))));\n\t\t\tsa$4.Port = ((((p$1.nilCheck, p$1[0]) >> 0)) << 8 >> 0) + (((p$1.nilCheck, p$1[1]) >> 0)) >> 0;\n\t\t\tsa$4.ZoneId = pp$4.Scope_id;\n\t\t\ti$2 = 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(i$2 < 16)) { break; }\n\t\t\t\t(x$6 = sa$4.Addr, ((i$2 < 0 || i$2 >= x$6.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$6[i$2] = (x$5 = pp$4.Addr, ((i$2 < 0 || i$2 >= x$5.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$5[i$2]))));\n\t\t\t\ti$2 = i$2 + (1) >> 0;\n\t\t\t}\n\t\t\treturn [sa$4, $ifaceNil];\n\t\t}\n\t\treturn [$ifaceNil, new Errno(97)];\n\t};\n\tAccept = function(fd) {\n\t\tvar _tuple, _tuple$1, err, fd, len, len$24ptr, nfd, rsa, sa;\n\t\tnfd = 0;\n\t\tsa = $ifaceNil;\n\t\terr = $ifaceNil;\n\t\trsa = new RawSockaddrAny.ptr(new RawSockaddr.ptr(0, arrayType$10.zero()), arrayType$11.zero());\n\t\tlen = 112;\n\t\t_tuple = accept(fd, rsa, (len$24ptr || (len$24ptr = new ptrType$18(function() { return len; }, function($v) { len = $v; }))));\n\t\tnfd = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\treturn [nfd, sa, err];\n\t\t}\n\t\t_tuple$1 = anyToSockaddr(rsa);\n\t\tsa = _tuple$1[0];\n\t\terr = _tuple$1[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\tClose(nfd);\n\t\t\tnfd = 0;\n\t\t}\n\t\treturn [nfd, sa, err];\n\t};\n\t$pkg.Accept = Accept;\n\tAccept4 = function(fd, flags) {\n\t\tvar _tuple, _tuple$1, err, fd, flags, len, len$24ptr, nfd, rsa, sa;\n\t\tnfd = 0;\n\t\tsa = $ifaceNil;\n\t\terr = $ifaceNil;\n\t\trsa = new RawSockaddrAny.ptr(new RawSockaddr.ptr(0, arrayType$10.zero()), arrayType$11.zero());\n\t\tlen = 112;\n\t\t_tuple = accept4(fd, rsa, (len$24ptr || (len$24ptr = new ptrType$18(function() { return len; }, function($v) { len = $v; }))), flags);\n\t\tnfd = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\treturn [nfd, sa, err];\n\t\t}\n\t\tif (len > 112) {\n\t\t\t$panic(new $String(\"RawSockaddrAny too small\"));\n\t\t}\n\t\t_tuple$1 = anyToSockaddr(rsa);\n\t\tsa = _tuple$1[0];\n\t\terr = _tuple$1[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\tClose(nfd);\n\t\t\tnfd = 0;\n\t\t}\n\t\treturn [nfd, sa, err];\n\t};\n\t$pkg.Accept4 = Accept4;\n\tSetsockoptIPMreqn = function(fd, level, opt, mreq) {\n\t\tvar _array, _struct, _view, err, fd, level, mreq, opt;\n\t\terr = $ifaceNil;\n\t\t_array = new Uint8Array(12);\n\t\terr = setsockopt(fd, level, opt, (_array), 12);\n\t\t_struct = mreq, _view = new DataView(_array.buffer, _array.byteOffset), _struct.Multiaddr = new ($nativeArray($kindUint8))(_array.buffer, $min(_array.byteOffset + 0, _array.buffer.byteLength)), _struct.Address = new ($nativeArray($kindUint8))(_array.buffer, $min(_array.byteOffset + 4, _array.buffer.byteLength)), _struct.Ifindex = _view.getInt32(8, true);\n\t\treturn err;\n\t};\n\t$pkg.SetsockoptIPMreqn = SetsockoptIPMreqn;\n\tRecvmsg = function(fd, p, oob, flags) {\n\t\tvar _array, _struct, _tuple, _tuple$1, _tuple$2, _view, dummy, dummy$24ptr, err, fd, flags, from, iov, msg, n, oob, oobn, p, recvflags, rsa, sockType;\n\t\tn = 0;\n\t\toobn = 0;\n\t\trecvflags = 0;\n\t\tfrom = $ifaceNil;\n\t\terr = $ifaceNil;\n\t\tmsg = new Msghdr.ptr(ptrType$2.nil, 0, arrayType$9.zero(), ptrType$19.nil, new $Uint64(0, 0), ptrType$2.nil, new $Uint64(0, 0), 0, arrayType$9.zero());\n\t\trsa = new RawSockaddrAny.ptr(new RawSockaddr.ptr(0, arrayType$10.zero()), arrayType$11.zero());\n\t\t_array = new Uint8Array(112);\n\t\tmsg.Name = ((_array));\n\t\t_struct = rsa, _view = new DataView(_array.buffer, _array.byteOffset), _struct.Addr.Family = _view.getUint16(0, true), _struct.Addr.Data = new ($nativeArray($kindInt8))(_array.buffer, $min(_array.byteOffset + 2, _array.buffer.byteLength)), _struct.Pad = new ($nativeArray($kindInt8))(_array.buffer, $min(_array.byteOffset + 16, _array.buffer.byteLength));\n\t\tmsg.Namelen = 112;\n\t\tiov = new Iovec.ptr(ptrType$2.nil, new $Uint64(0, 0));\n\t\tif (p.$length > 0) {\n\t\t\tiov.Base = $indexPtr(p.$array, p.$offset + 0, ptrType$2);\n\t\t\tiov.SetLen(p.$length);\n\t\t}\n\t\tdummy = 0;\n\t\tif (oob.$length > 0) {\n\t\t\tif (p.$length === 0) {\n\t\t\t\tsockType = 0;\n\t\t\t\t_tuple = GetsockoptInt(fd, 1, 3);\n\t\t\t\tsockType = _tuple[0];\n\t\t\t\terr = _tuple[1];\n\t\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\t\treturn [n, oobn, recvflags, from, err];\n\t\t\t\t}\n\t\t\t\tif (!((sockType === 2))) {\n\t\t\t\t\tiov.Base = (dummy$24ptr || (dummy$24ptr = new ptrType$2(function() { return dummy; }, function($v) { dummy = $v; })));\n\t\t\t\t\tiov.SetLen(1);\n\t\t\t\t}\n\t\t\t}\n\t\t\tmsg.Control = $indexPtr(oob.$array, oob.$offset + 0, ptrType$2);\n\t\t\tmsg.SetControllen(oob.$length);\n\t\t}\n\t\tmsg.Iov = iov;\n\t\tmsg.Iovlen = new $Uint64(0, 1);\n\t\t_tuple$1 = recvmsg(fd, msg, flags);\n\t\tn = _tuple$1[0];\n\t\terr = _tuple$1[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\treturn [n, oobn, recvflags, from, err];\n\t\t}\n\t\toobn = ((msg.Controllen.$low >> 0));\n\t\trecvflags = ((msg.Flags >> 0));\n\t\tif (!((rsa.Addr.Family === 0))) {\n\t\t\t_tuple$2 = anyToSockaddr(rsa);\n\t\t\tfrom = _tuple$2[0];\n\t\t\terr = _tuple$2[1];\n\t\t}\n\t\treturn [n, oobn, recvflags, from, err];\n\t};\n\t$pkg.Recvmsg = Recvmsg;\n\tSendmsgN = function(fd, p, oob, to, flags) {\n\t\tvar _r, _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tuple, _tuple$1, _tuple$2, dummy, err, err$1, fd, flags, iov, msg, n, oob, p, ptr, salen, sockType, to, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; _tmp$4 = $f._tmp$4; _tmp$5 = $f._tmp$5; _tmp$6 = $f._tmp$6; _tmp$7 = $f._tmp$7; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; dummy = $f.dummy; err = $f.err; err$1 = $f.err$1; fd = $f.fd; flags = $f.flags; iov = $f.iov; msg = $f.msg; n = $f.n; oob = $f.oob; p = $f.p; ptr = $f.ptr; salen = $f.salen; sockType = $f.sockType; to = $f.to; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tdummy = [dummy];\n\t\tiov = [iov];\n\t\tmsg = [msg];\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\tptr = 0;\n\t\tsalen = 0;\n\t\t/* */ if (!($interfaceIsEqual(to, $ifaceNil))) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!($interfaceIsEqual(to, $ifaceNil))) { */ case 1:\n\t\t\terr$1 = $ifaceNil;\n\t\t\t_r = to.sockaddr(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r;\n\t\t\tptr = _tuple[0];\n\t\t\tsalen = _tuple[1];\n\t\t\terr$1 = _tuple[2];\n\t\t\tif (!($interfaceIsEqual(err$1, $ifaceNil))) {\n\t\t\t\t_tmp = 0;\n\t\t\t\t_tmp$1 = err$1;\n\t\t\t\tn = _tmp;\n\t\t\t\terr = _tmp$1;\n\t\t\t\t$s = -1; return [n, err];\n\t\t\t}\n\t\t/* } */ case 2:\n\t\tmsg[0] = new Msghdr.ptr(ptrType$2.nil, 0, arrayType$9.zero(), ptrType$19.nil, new $Uint64(0, 0), ptrType$2.nil, new $Uint64(0, 0), 0, arrayType$9.zero());\n\t\tmsg[0].Name = (ptr);\n\t\tmsg[0].Namelen = ((salen >>> 0));\n\t\tiov[0] = new Iovec.ptr(ptrType$2.nil, new $Uint64(0, 0));\n\t\tif (p.$length > 0) {\n\t\t\tiov[0].Base = $indexPtr(p.$array, p.$offset + 0, ptrType$2);\n\t\t\tiov[0].SetLen(p.$length);\n\t\t}\n\t\tdummy[0] = 0;\n\t\tif (oob.$length > 0) {\n\t\t\tif (p.$length === 0) {\n\t\t\t\tsockType = 0;\n\t\t\t\t_tuple$1 = GetsockoptInt(fd, 1, 3);\n\t\t\t\tsockType = _tuple$1[0];\n\t\t\t\terr = _tuple$1[1];\n\t\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\t\t_tmp$2 = 0;\n\t\t\t\t\t_tmp$3 = err;\n\t\t\t\t\tn = _tmp$2;\n\t\t\t\t\terr = _tmp$3;\n\t\t\t\t\t$s = -1; return [n, err];\n\t\t\t\t}\n\t\t\t\tif (!((sockType === 2))) {\n\t\t\t\t\tiov[0].Base = (dummy.$ptr || (dummy.$ptr = new ptrType$2(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, dummy)));\n\t\t\t\t\tiov[0].SetLen(1);\n\t\t\t\t}\n\t\t\t}\n\t\t\tmsg[0].Control = $indexPtr(oob.$array, oob.$offset + 0, ptrType$2);\n\t\t\tmsg[0].SetControllen(oob.$length);\n\t\t}\n\t\tmsg[0].Iov = iov[0];\n\t\tmsg[0].Iovlen = new $Uint64(0, 1);\n\t\t_tuple$2 = sendmsg(fd, msg[0], flags);\n\t\tn = _tuple$2[0];\n\t\terr = _tuple$2[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t_tmp$4 = 0;\n\t\t\t_tmp$5 = err;\n\t\t\tn = _tmp$4;\n\t\t\terr = _tmp$5;\n\t\t\t$s = -1; return [n, err];\n\t\t}\n\t\tif (oob.$length > 0 && (p.$length === 0)) {\n\t\t\tn = 0;\n\t\t}\n\t\t_tmp$6 = n;\n\t\t_tmp$7 = $ifaceNil;\n\t\tn = _tmp$6;\n\t\terr = _tmp$7;\n\t\t$s = -1; return [n, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: SendmsgN }; } $f._r = _r; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f._tmp$4 = _tmp$4; $f._tmp$5 = _tmp$5; $f._tmp$6 = _tmp$6; $f._tmp$7 = _tmp$7; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f.dummy = dummy; $f.err = err; $f.err$1 = err$1; $f.fd = fd; $f.flags = flags; $f.iov = iov; $f.msg = msg; $f.n = n; $f.oob = oob; $f.p = p; $f.ptr = ptr; $f.salen = salen; $f.sockType = sockType; $f.to = to; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.SendmsgN = SendmsgN;\n\tReadDirent = function(fd, buf) {\n\t\tvar _tuple, buf, err, fd, n;\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\t_tuple = Getdents(fd, buf);\n\t\tn = _tuple[0];\n\t\terr = _tuple[1];\n\t\treturn [n, err];\n\t};\n\t$pkg.ReadDirent = ReadDirent;\n\tdirentIno = function(buf) {\n\t\tvar buf;\n\t\treturn readInt(buf, 0, 8);\n\t};\n\tdirentReclen = function(buf) {\n\t\tvar buf;\n\t\treturn readInt(buf, 16, 2);\n\t};\n\tdirentNamlen = function(buf) {\n\t\tvar _tuple, buf, ok, reclen;\n\t\t_tuple = direntReclen(buf);\n\t\treclen = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (!ok) {\n\t\t\treturn [new $Uint64(0, 0), false];\n\t\t}\n\t\treturn [new $Uint64(reclen.$high - 0, reclen.$low - 19), true];\n\t};\n\tStat = function(path, stat) {\n\t\tvar err, path, stat;\n\t\terr = $ifaceNil;\n\t\terr = fstatat(-100, path, stat, 0);\n\t\treturn err;\n\t};\n\t$pkg.Stat = Stat;\n\tPipe = function(p) {\n\t\tvar err, p, pp;\n\t\terr = $ifaceNil;\n\t\tif (!((p.$length === 2))) {\n\t\t\terr = new Errno(22);\n\t\t\treturn err;\n\t\t}\n\t\tpp = arrayType$13.zero();\n\t\terr = pipe(pp);\n\t\t(0 >= p.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + 0] = ((pp[0] >> 0)));\n\t\t(1 >= p.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + 1] = ((pp[1] >> 0)));\n\t\treturn err;\n\t};\n\t$pkg.Pipe = Pipe;\n\tPipe2 = function(p, flags) {\n\t\tvar err, flags, p, pp;\n\t\terr = $ifaceNil;\n\t\tif (!((p.$length === 2))) {\n\t\t\terr = new Errno(22);\n\t\t\treturn err;\n\t\t}\n\t\tpp = arrayType$13.zero();\n\t\terr = pipe2(pp, flags);\n\t\t(0 >= p.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + 0] = ((pp[0] >> 0)));\n\t\t(1 >= p.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + 1] = ((pp[1] >> 0)));\n\t\treturn err;\n\t};\n\t$pkg.Pipe2 = Pipe2;\n\tIovec.ptr.prototype.SetLen = function(length) {\n\t\tvar iov, length;\n\t\tiov = this;\n\t\tiov.Len = (new $Uint64(0, length));\n\t};\n\tIovec.prototype.SetLen = function(length) { return this.$val.SetLen(length); };\n\tMsghdr.ptr.prototype.SetControllen = function(length) {\n\t\tvar length, msghdr;\n\t\tmsghdr = this;\n\t\tmsghdr.Controllen = (new $Uint64(0, length));\n\t};\n\tMsghdr.prototype.SetControllen = function(length) { return this.$val.SetControllen(length); };\n\trawVforkSyscall = function() {\n\t\t$throwRuntimeError(\"native function not implemented: syscall.rawVforkSyscall\");\n\t};\n\tmmapper.ptr.prototype.Mmap = function(fd, offset, length, prot, flags) {\n\t\tvar _key, _r, _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tuple, addr, b, data, err, errno, fd, flags, length, m, offset, p, prot, sl, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _key = $f._key; _r = $f._r; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; _tmp$4 = $f._tmp$4; _tmp$5 = $f._tmp$5; _tuple = $f._tuple; addr = $f.addr; b = $f.b; data = $f.data; err = $f.err; errno = $f.errno; fd = $f.fd; flags = $f.flags; length = $f.length; m = $f.m; offset = $f.offset; p = $f.p; prot = $f.prot; sl = $f.sl; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tsl = [sl];\n\t\tdata = sliceType.nil;\n\t\terr = $ifaceNil;\n\t\tm = this;\n\t\tif (length <= 0) {\n\t\t\t_tmp = sliceType.nil;\n\t\t\t_tmp$1 = new Errno(22);\n\t\t\tdata = _tmp;\n\t\t\terr = _tmp$1;\n\t\t\t$s = -1; return [data, err];\n\t\t}\n\t\t_r = m.mmap(0, ((length >>> 0)), prot, flags, fd, offset); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\taddr = _tuple[0];\n\t\terrno = _tuple[1];\n\t\tif (!($interfaceIsEqual(errno, $ifaceNil))) {\n\t\t\t_tmp$2 = sliceType.nil;\n\t\t\t_tmp$3 = errno;\n\t\t\tdata = _tmp$2;\n\t\t\terr = _tmp$3;\n\t\t\t$s = -1; return [data, err];\n\t\t}\n\t\tsl[0] = new structType.ptr(addr, length, length);\n\t\tb = sl[0];\n\t\tp = $indexPtr(b.$array, b.$offset + (b.$capacity - 1 >> 0), ptrType$2);\n\t\t$r = m.Mutex.Lock(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$deferred.push([$methodVal(m.Mutex, \"Unlock\"), []]);\n\t\t_key = p; (m.active || $throwRuntimeError(\"assignment to entry in nil map\"))[ptrType$2.keyFor(_key)] = { k: _key, v: b };\n\t\t_tmp$4 = b;\n\t\t_tmp$5 = $ifaceNil;\n\t\tdata = _tmp$4;\n\t\terr = _tmp$5;\n\t\t$s = -1; return [data, err];\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if (!$curGoroutine.asleep) { return  [data, err]; } if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: mmapper.ptr.prototype.Mmap }; } $f._key = _key; $f._r = _r; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f._tmp$4 = _tmp$4; $f._tmp$5 = _tmp$5; $f._tuple = _tuple; $f.addr = addr; $f.b = b; $f.data = data; $f.err = err; $f.errno = errno; $f.fd = fd; $f.flags = flags; $f.length = length; $f.m = m; $f.offset = offset; $f.p = p; $f.prot = prot; $f.sl = sl; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tmmapper.prototype.Mmap = function(fd, offset, length, prot, flags) { return this.$val.Mmap(fd, offset, length, prot, flags); };\n\tmmapper.ptr.prototype.Munmap = function(data) {\n\t\tvar _entry, _r, b, data, err, errno, m, p, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _entry = $f._entry; _r = $f._r; b = $f.b; data = $f.data; err = $f.err; errno = $f.errno; m = $f.m; p = $f.p; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\terr = $ifaceNil;\n\t\tm = this;\n\t\tif ((data.$length === 0) || !((data.$length === data.$capacity))) {\n\t\t\terr = new Errno(22);\n\t\t\t$s = -1; return err;\n\t\t}\n\t\tp = $indexPtr(data.$array, data.$offset + (data.$capacity - 1 >> 0), ptrType$2);\n\t\t$r = m.Mutex.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$deferred.push([$methodVal(m.Mutex, \"Unlock\"), []]);\n\t\tb = (_entry = m.active[ptrType$2.keyFor(p)], _entry !== undefined ? _entry.v : sliceType.nil);\n\t\tif (b === sliceType.nil || !($indexPtr(b.$array, b.$offset + 0, ptrType$2) === $indexPtr(data.$array, data.$offset + 0, ptrType$2))) {\n\t\t\terr = new Errno(22);\n\t\t\t$s = -1; return err;\n\t\t}\n\t\t_r = m.munmap((($sliceToArray(b))), ((b.$length >>> 0))); /* */ $s = 2; case 2: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\terrno = _r;\n\t\tif (!($interfaceIsEqual(errno, $ifaceNil))) {\n\t\t\terr = errno;\n\t\t\t$s = -1; return err;\n\t\t}\n\t\tdelete m.active[ptrType$2.keyFor(p)];\n\t\terr = $ifaceNil;\n\t\t$s = -1; return err;\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if (!$curGoroutine.asleep) { return  err; } if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: mmapper.ptr.prototype.Munmap }; } $f._entry = _entry; $f._r = _r; $f.b = b; $f.data = data; $f.err = err; $f.errno = errno; $f.m = m; $f.p = p; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tmmapper.prototype.Munmap = function(data) { return this.$val.Munmap(data); };\n\tErrno.prototype.Error = function() {\n\t\tvar e, s;\n\t\te = this.$val;\n\t\tif (0 <= ((e >> 0)) && ((e >> 0)) < 133) {\n\t\t\ts = ((e < 0 || e >= errors.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : errors[e]);\n\t\t\tif (!(s === \"\")) {\n\t\t\t\treturn s;\n\t\t\t}\n\t\t}\n\t\treturn \"errno \" + itoa(((e >> 0)));\n\t};\n\t$ptrType(Errno).prototype.Error = function() { return new Errno(this.$get()).Error(); };\n\tErrno.prototype.Temporary = function() {\n\t\tvar e;\n\t\te = this.$val;\n\t\treturn (e === 4) || (e === 24) || new Errno(e).Timeout();\n\t};\n\t$ptrType(Errno).prototype.Temporary = function() { return new Errno(this.$get()).Temporary(); };\n\tErrno.prototype.Timeout = function() {\n\t\tvar e;\n\t\te = this.$val;\n\t\treturn (e === 11) || (e === 11) || (e === 110);\n\t};\n\t$ptrType(Errno).prototype.Timeout = function() { return new Errno(this.$get()).Timeout(); };\n\terrnoErr = function(e) {\n\t\tvar _1, e;\n\t\t_1 = e;\n\t\tif (_1 === (0)) {\n\t\t\treturn $ifaceNil;\n\t\t} else if (_1 === (11)) {\n\t\t\treturn errEAGAIN;\n\t\t} else if (_1 === (22)) {\n\t\t\treturn errEINVAL;\n\t\t} else if (_1 === (2)) {\n\t\t\treturn errENOENT;\n\t\t}\n\t\treturn new Errno(e);\n\t};\n\tSignal.prototype.Signal = function() {\n\t\tvar s;\n\t\ts = this.$val;\n\t};\n\t$ptrType(Signal).prototype.Signal = function() { return new Signal(this.$get()).Signal(); };\n\tSignal.prototype.String = function() {\n\t\tvar s, str;\n\t\ts = this.$val;\n\t\tif (0 <= s && ((s >> 0)) < 32) {\n\t\t\tstr = ((s < 0 || s >= signals.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : signals[s]);\n\t\t\tif (!(str === \"\")) {\n\t\t\t\treturn str;\n\t\t\t}\n\t\t}\n\t\treturn \"signal \" + itoa(((s >> 0)));\n\t};\n\t$ptrType(Signal).prototype.String = function() { return new Signal(this.$get()).String(); };\n\tRead = function(fd, p) {\n\t\tvar _tuple, err, fd, n, p;\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\t_tuple = read(fd, p);\n\t\tn = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (false) {\n\t\t\tif (n > 0) {\n\t\t\t\trace.WriteRange(($sliceToArray(p)), n);\n\t\t\t}\n\t\t\tif ($interfaceIsEqual(err, $ifaceNil)) {\n\t\t\t\trace.Acquire(((ioSync$24ptr || (ioSync$24ptr = new ptrType$22(function() { return ioSync; }, function($v) { ioSync = $v; })))));\n\t\t\t}\n\t\t}\n\t\tif (false && n > 0) {\n\t\t\tmsanWrite(($sliceToArray(p)), n);\n\t\t}\n\t\treturn [n, err];\n\t};\n\t$pkg.Read = Read;\n\tWrite = function(fd, p) {\n\t\tvar _tuple, err, fd, n, p;\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\tif (false) {\n\t\t\trace.ReleaseMerge(((ioSync$24ptr || (ioSync$24ptr = new ptrType$22(function() { return ioSync; }, function($v) { ioSync = $v; })))));\n\t\t}\n\t\t_tuple = write(fd, p);\n\t\tn = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (false && n > 0) {\n\t\t\trace.ReadRange(($sliceToArray(p)), n);\n\t\t}\n\t\tif (false && n > 0) {\n\t\t\tmsanRead(($sliceToArray(p)), n);\n\t\t}\n\t\treturn [n, err];\n\t};\n\t$pkg.Write = Write;\n\tGetsockoptInt = function(fd, level, opt) {\n\t\tvar _tmp, _tmp$1, err, fd, level, n, n$24ptr, opt, vallen, vallen$24ptr, value;\n\t\tvalue = 0;\n\t\terr = $ifaceNil;\n\t\tn = 0;\n\t\tvallen = 4;\n\t\terr = getsockopt(fd, level, opt, ((n$24ptr || (n$24ptr = new ptrType$4(function() { return n; }, function($v) { n = $v; })))), (vallen$24ptr || (vallen$24ptr = new ptrType$18(function() { return vallen; }, function($v) { vallen = $v; }))));\n\t\t_tmp = ((n >> 0));\n\t\t_tmp$1 = err;\n\t\tvalue = _tmp;\n\t\terr = _tmp$1;\n\t\treturn [value, err];\n\t};\n\t$pkg.GetsockoptInt = GetsockoptInt;\n\tRecvfrom = function(fd, p, flags) {\n\t\tvar _tuple, _tuple$1, err, fd, flags, from, len, len$24ptr, n, p, rsa;\n\t\tn = 0;\n\t\tfrom = $ifaceNil;\n\t\terr = $ifaceNil;\n\t\trsa = new RawSockaddrAny.ptr(new RawSockaddr.ptr(0, arrayType$10.zero()), arrayType$11.zero());\n\t\tlen = 112;\n\t\t_tuple = recvfrom(fd, p, flags, rsa, (len$24ptr || (len$24ptr = new ptrType$18(function() { return len; }, function($v) { len = $v; }))));\n\t\tn = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\treturn [n, from, err];\n\t\t}\n\t\tif (!((rsa.Addr.Family === 0))) {\n\t\t\t_tuple$1 = anyToSockaddr(rsa);\n\t\t\tfrom = _tuple$1[0];\n\t\t\terr = _tuple$1[1];\n\t\t}\n\t\treturn [n, from, err];\n\t};\n\t$pkg.Recvfrom = Recvfrom;\n\tSendto = function(fd, p, flags, to) {\n\t\tvar _r, _tuple, err, fd, flags, n, p, ptr, to, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; err = $f.err; fd = $f.fd; flags = $f.flags; n = $f.n; p = $f.p; ptr = $f.ptr; to = $f.to; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\terr = $ifaceNil;\n\t\t_r = to.sockaddr(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tptr = _tuple[0];\n\t\tn = _tuple[1];\n\t\terr = _tuple[2];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\terr = err;\n\t\t\t$s = -1; return err;\n\t\t}\n\t\terr = sendto(fd, p, flags, ptr, n);\n\t\t$s = -1; return err;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Sendto }; } $f._r = _r; $f._tuple = _tuple; $f.err = err; $f.fd = fd; $f.flags = flags; $f.n = n; $f.p = p; $f.ptr = ptr; $f.to = to; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.Sendto = Sendto;\n\tSetsockoptByte = function(fd, level, opt, value) {\n\t\tvar err, fd, level, opt, value, value$24ptr;\n\t\terr = $ifaceNil;\n\t\terr = setsockopt(fd, level, opt, ((value$24ptr || (value$24ptr = new ptrType$2(function() { return value; }, function($v) { value = $v; })))), 1);\n\t\treturn err;\n\t};\n\t$pkg.SetsockoptByte = SetsockoptByte;\n\tSetsockoptInt = function(fd, level, opt, value) {\n\t\tvar err, fd, level, n, n$24ptr, opt, value;\n\t\terr = $ifaceNil;\n\t\tn = ((value >> 0));\n\t\terr = setsockopt(fd, level, opt, ((n$24ptr || (n$24ptr = new ptrType$4(function() { return n; }, function($v) { n = $v; })))), 4);\n\t\treturn err;\n\t};\n\t$pkg.SetsockoptInt = SetsockoptInt;\n\tSetsockoptInet4Addr = function(fd, level, opt, value) {\n\t\tvar err, fd, level, opt, value;\n\t\terr = $ifaceNil;\n\t\terr = setsockopt(fd, level, opt, ($sliceToArray(new sliceType(value))), 4);\n\t\treturn err;\n\t};\n\t$pkg.SetsockoptInet4Addr = SetsockoptInet4Addr;\n\tSetsockoptIPMreq = function(fd, level, opt, mreq) {\n\t\tvar _array, _struct, _view, err, fd, level, mreq, opt;\n\t\terr = $ifaceNil;\n\t\t_array = new Uint8Array(8);\n\t\terr = setsockopt(fd, level, opt, (_array), 8);\n\t\t_struct = mreq, _view = new DataView(_array.buffer, _array.byteOffset), _struct.Multiaddr = new ($nativeArray($kindUint8))(_array.buffer, $min(_array.byteOffset + 0, _array.buffer.byteLength)), _struct.Interface = new ($nativeArray($kindUint8))(_array.buffer, $min(_array.byteOffset + 4, _array.buffer.byteLength));\n\t\treturn err;\n\t};\n\t$pkg.SetsockoptIPMreq = SetsockoptIPMreq;\n\tSetsockoptIPv6Mreq = function(fd, level, opt, mreq) {\n\t\tvar _array, _struct, _view, err, fd, level, mreq, opt;\n\t\terr = $ifaceNil;\n\t\t_array = new Uint8Array(20);\n\t\terr = setsockopt(fd, level, opt, (_array), 20);\n\t\t_struct = mreq, _view = new DataView(_array.buffer, _array.byteOffset), _struct.Multiaddr = new ($nativeArray($kindUint8))(_array.buffer, $min(_array.byteOffset + 0, _array.buffer.byteLength)), _struct.Interface = _view.getUint32(16, true);\n\t\treturn err;\n\t};\n\t$pkg.SetsockoptIPv6Mreq = SetsockoptIPv6Mreq;\n\tSetsockoptLinger = function(fd, level, opt, l) {\n\t\tvar _array, _struct, _view, err, fd, l, level, opt;\n\t\terr = $ifaceNil;\n\t\t_array = new Uint8Array(8);\n\t\terr = setsockopt(fd, level, opt, (_array), 8);\n\t\t_struct = l, _view = new DataView(_array.buffer, _array.byteOffset), _struct.Onoff = _view.getInt32(0, true), _struct.Linger = _view.getInt32(4, true);\n\t\treturn err;\n\t};\n\t$pkg.SetsockoptLinger = SetsockoptLinger;\n\tfchmodat = function(dirfd, path, mode) {\n\t\tvar _p0, _tuple, _tuple$1, dirfd, e1, err, mode, path;\n\t\terr = $ifaceNil;\n\t\t_p0 = ptrType$2.nil;\n\t\t_tuple = BytePtrFromString(path);\n\t\t_p0 = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\treturn err;\n\t\t}\n\t\t_tuple$1 = Syscall(268, ((dirfd >>> 0)), ((_p0)), ((mode >>> 0)));\n\t\te1 = _tuple$1[2];\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn err;\n\t};\n\topenat = function(dirfd, path, flags, mode) {\n\t\tvar _p0, _tuple, _tuple$1, dirfd, e1, err, fd, flags, mode, path, r0;\n\t\tfd = 0;\n\t\terr = $ifaceNil;\n\t\t_p0 = ptrType$2.nil;\n\t\t_tuple = BytePtrFromString(path);\n\t\t_p0 = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\treturn [fd, err];\n\t\t}\n\t\t_tuple$1 = Syscall6(257, ((dirfd >>> 0)), ((_p0)), ((flags >>> 0)), ((mode >>> 0)), 0, 0);\n\t\tr0 = _tuple$1[0];\n\t\te1 = _tuple$1[2];\n\t\tfd = ((r0 >> 0));\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn [fd, err];\n\t};\n\tunlinkat = function(dirfd, path, flags) {\n\t\tvar _p0, _tuple, _tuple$1, dirfd, e1, err, flags, path;\n\t\terr = $ifaceNil;\n\t\t_p0 = ptrType$2.nil;\n\t\t_tuple = BytePtrFromString(path);\n\t\t_p0 = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\treturn err;\n\t\t}\n\t\t_tuple$1 = Syscall(263, ((dirfd >>> 0)), ((_p0)), ((flags >>> 0)));\n\t\te1 = _tuple$1[2];\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn err;\n\t};\n\tGetcwd = function(buf) {\n\t\tvar _p0, _tuple, buf, e1, err, n, r0;\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\t_p0 = 0;\n\t\tif (buf.$length > 0) {\n\t\t\t_p0 = ($sliceToArray(buf));\n\t\t} else {\n\t\t\t_p0 = (new Uint8Array(0));\n\t\t}\n\t\t_tuple = Syscall(79, (_p0), ((buf.$length >>> 0)), 0);\n\t\tr0 = _tuple[0];\n\t\te1 = _tuple[2];\n\t\tn = ((r0 >> 0));\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn [n, err];\n\t};\n\t$pkg.Getcwd = Getcwd;\n\twait4 = function(pid, wstatus, options, rusage) {\n\t\tvar _array, _struct, _tuple, _view, e1, err, options, pid, r0, rusage, wpid, wstatus;\n\t\twpid = 0;\n\t\terr = $ifaceNil;\n\t\t_array = new Uint8Array(144);\n\t\t_tuple = Syscall6(61, ((pid >>> 0)), ((wstatus)), ((options >>> 0)), ((_array)), 0, 0);\n\t\t_struct = rusage, _view = new DataView(_array.buffer, _array.byteOffset), _struct.Utime.Sec = new $Int64(_view.getUint32(4, true), _view.getUint32(0, true)), _struct.Utime.Usec = new $Int64(_view.getUint32(12, true), _view.getUint32(8, true)), _struct.Stime.Sec = new $Int64(_view.getUint32(20, true), _view.getUint32(16, true)), _struct.Stime.Usec = new $Int64(_view.getUint32(28, true), _view.getUint32(24, true)), _struct.Maxrss = new $Int64(_view.getUint32(36, true), _view.getUint32(32, true)), _struct.Ixrss = new $Int64(_view.getUint32(44, true), _view.getUint32(40, true)), _struct.Idrss = new $Int64(_view.getUint32(52, true), _view.getUint32(48, true)), _struct.Isrss = new $Int64(_view.getUint32(60, true), _view.getUint32(56, true)), _struct.Minflt = new $Int64(_view.getUint32(68, true), _view.getUint32(64, true)), _struct.Majflt = new $Int64(_view.getUint32(76, true), _view.getUint32(72, true)), _struct.Nswap = new $Int64(_view.getUint32(84, true), _view.getUint32(80, true)), _struct.Inblock = new $Int64(_view.getUint32(92, true), _view.getUint32(88, true)), _struct.Oublock = new $Int64(_view.getUint32(100, true), _view.getUint32(96, true)), _struct.Msgsnd = new $Int64(_view.getUint32(108, true), _view.getUint32(104, true)), _struct.Msgrcv = new $Int64(_view.getUint32(116, true), _view.getUint32(112, true)), _struct.Nsignals = new $Int64(_view.getUint32(124, true), _view.getUint32(120, true)), _struct.Nvcsw = new $Int64(_view.getUint32(132, true), _view.getUint32(128, true)), _struct.Nivcsw = new $Int64(_view.getUint32(140, true), _view.getUint32(136, true));\n\t\tr0 = _tuple[0];\n\t\te1 = _tuple[2];\n\t\twpid = ((r0 >> 0));\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn [wpid, err];\n\t};\n\tClose = function(fd) {\n\t\tvar _tuple, e1, err, fd;\n\t\terr = $ifaceNil;\n\t\t_tuple = Syscall(3, ((fd >>> 0)), 0, 0);\n\t\te1 = _tuple[2];\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn err;\n\t};\n\t$pkg.Close = Close;\n\tDup = function(oldfd) {\n\t\tvar _tuple, e1, err, fd, oldfd, r0;\n\t\tfd = 0;\n\t\terr = $ifaceNil;\n\t\t_tuple = Syscall(32, ((oldfd >>> 0)), 0, 0);\n\t\tr0 = _tuple[0];\n\t\te1 = _tuple[2];\n\t\tfd = ((r0 >> 0));\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn [fd, err];\n\t};\n\t$pkg.Dup = Dup;\n\tFchdir = function(fd) {\n\t\tvar _tuple, e1, err, fd;\n\t\terr = $ifaceNil;\n\t\t_tuple = Syscall(81, ((fd >>> 0)), 0, 0);\n\t\te1 = _tuple[2];\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn err;\n\t};\n\t$pkg.Fchdir = Fchdir;\n\tFchmod = function(fd, mode) {\n\t\tvar _tuple, e1, err, fd, mode;\n\t\terr = $ifaceNil;\n\t\t_tuple = Syscall(91, ((fd >>> 0)), ((mode >>> 0)), 0);\n\t\te1 = _tuple[2];\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn err;\n\t};\n\t$pkg.Fchmod = Fchmod;\n\tfcntl = function(fd, cmd, arg) {\n\t\tvar _tuple, arg, cmd, e1, err, fd, r0, val;\n\t\tval = 0;\n\t\terr = $ifaceNil;\n\t\t_tuple = Syscall(72, ((fd >>> 0)), ((cmd >>> 0)), ((arg >>> 0)));\n\t\tr0 = _tuple[0];\n\t\te1 = _tuple[2];\n\t\tval = ((r0 >> 0));\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn [val, err];\n\t};\n\tFsync = function(fd) {\n\t\tvar _tuple, e1, err, fd;\n\t\terr = $ifaceNil;\n\t\t_tuple = Syscall(74, ((fd >>> 0)), 0, 0);\n\t\te1 = _tuple[2];\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn err;\n\t};\n\t$pkg.Fsync = Fsync;\n\tGetdents = function(fd, buf) {\n\t\tvar _p0, _tuple, buf, e1, err, fd, n, r0;\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\t_p0 = 0;\n\t\tif (buf.$length > 0) {\n\t\t\t_p0 = ($sliceToArray(buf));\n\t\t} else {\n\t\t\t_p0 = (new Uint8Array(0));\n\t\t}\n\t\t_tuple = Syscall(217, ((fd >>> 0)), (_p0), ((buf.$length >>> 0)));\n\t\tr0 = _tuple[0];\n\t\te1 = _tuple[2];\n\t\tn = ((r0 >> 0));\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn [n, err];\n\t};\n\t$pkg.Getdents = Getdents;\n\tGetpid = function() {\n\t\tvar _tuple, pid, r0;\n\t\tpid = 0;\n\t\t_tuple = rawSyscallNoError(39, 0, 0, 0);\n\t\tr0 = _tuple[0];\n\t\tpid = ((r0 >> 0));\n\t\treturn pid;\n\t};\n\t$pkg.Getpid = Getpid;\n\tKill = function(pid, sig) {\n\t\tvar _tuple, e1, err, pid, sig;\n\t\terr = $ifaceNil;\n\t\t_tuple = RawSyscall(62, ((pid >>> 0)), ((sig >>> 0)), 0);\n\t\te1 = _tuple[2];\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn err;\n\t};\n\t$pkg.Kill = Kill;\n\tread = function(fd, p) {\n\t\tvar _p0, _tuple, e1, err, fd, n, p, r0;\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\t_p0 = 0;\n\t\tif (p.$length > 0) {\n\t\t\t_p0 = ($sliceToArray(p));\n\t\t} else {\n\t\t\t_p0 = (new Uint8Array(0));\n\t\t}\n\t\t_tuple = Syscall(0, ((fd >>> 0)), (_p0), ((p.$length >>> 0)));\n\t\tr0 = _tuple[0];\n\t\te1 = _tuple[2];\n\t\tn = ((r0 >> 0));\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn [n, err];\n\t};\n\tRenameat = function(olddirfd, oldpath, newdirfd, newpath) {\n\t\tvar _p0, _p1, _tuple, _tuple$1, _tuple$2, e1, err, newdirfd, newpath, olddirfd, oldpath;\n\t\terr = $ifaceNil;\n\t\t_p0 = ptrType$2.nil;\n\t\t_tuple = BytePtrFromString(oldpath);\n\t\t_p0 = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\treturn err;\n\t\t}\n\t\t_p1 = ptrType$2.nil;\n\t\t_tuple$1 = BytePtrFromString(newpath);\n\t\t_p1 = _tuple$1[0];\n\t\terr = _tuple$1[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\treturn err;\n\t\t}\n\t\t_tuple$2 = Syscall6(264, ((olddirfd >>> 0)), ((_p0)), ((newdirfd >>> 0)), ((_p1)), 0, 0);\n\t\te1 = _tuple$2[2];\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn err;\n\t};\n\t$pkg.Renameat = Renameat;\n\twrite = function(fd, p) {\n\t\tvar _p0, _tuple, e1, err, fd, n, p, r0;\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\t_p0 = 0;\n\t\tif (p.$length > 0) {\n\t\t\t_p0 = ($sliceToArray(p));\n\t\t} else {\n\t\t\t_p0 = (new Uint8Array(0));\n\t\t}\n\t\t_tuple = Syscall(1, ((fd >>> 0)), (_p0), ((p.$length >>> 0)));\n\t\tr0 = _tuple[0];\n\t\te1 = _tuple[2];\n\t\tn = ((r0 >> 0));\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn [n, err];\n\t};\n\treadlen = function(fd, p, np) {\n\t\tvar _tuple, e1, err, fd, n, np, p, r0;\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\t_tuple = Syscall(0, ((fd >>> 0)), ((p)), ((np >>> 0)));\n\t\tr0 = _tuple[0];\n\t\te1 = _tuple[2];\n\t\tn = ((r0 >> 0));\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn [n, err];\n\t};\n\tmunmap = function(addr, length) {\n\t\tvar _tuple, addr, e1, err, length;\n\t\terr = $ifaceNil;\n\t\t_tuple = Syscall(11, (addr), (length), 0);\n\t\te1 = _tuple[2];\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn err;\n\t};\n\tFchown = function(fd, uid, gid) {\n\t\tvar _tuple, e1, err, fd, gid, uid;\n\t\terr = $ifaceNil;\n\t\t_tuple = Syscall(93, ((fd >>> 0)), ((uid >>> 0)), ((gid >>> 0)));\n\t\te1 = _tuple[2];\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn err;\n\t};\n\t$pkg.Fchown = Fchown;\n\tFstat = function(fd, stat) {\n\t\tvar _array, _struct, _tuple, _view, e1, err, fd, stat;\n\t\terr = $ifaceNil;\n\t\t_array = new Uint8Array(144);\n\t\t_tuple = Syscall(5, ((fd >>> 0)), ((_array)), 0);\n\t\t_struct = stat, _view = new DataView(_array.buffer, _array.byteOffset), _struct.Dev = new $Uint64(_view.getUint32(4, true), _view.getUint32(0, true)), _struct.Ino = new $Uint64(_view.getUint32(12, true), _view.getUint32(8, true)), _struct.Nlink = new $Uint64(_view.getUint32(20, true), _view.getUint32(16, true)), _struct.Mode = _view.getUint32(24, true), _struct.Uid = _view.getUint32(28, true), _struct.Gid = _view.getUint32(32, true), _struct.X__pad0 = _view.getInt32(36, true), _struct.Rdev = new $Uint64(_view.getUint32(44, true), _view.getUint32(40, true)), _struct.Size = new $Int64(_view.getUint32(52, true), _view.getUint32(48, true)), _struct.Blksize = new $Int64(_view.getUint32(60, true), _view.getUint32(56, true)), _struct.Blocks = new $Int64(_view.getUint32(68, true), _view.getUint32(64, true)), _struct.Atim.Sec = new $Int64(_view.getUint32(76, true), _view.getUint32(72, true)), _struct.Atim.Nsec = new $Int64(_view.getUint32(84, true), _view.getUint32(80, true)), _struct.Mtim.Sec = new $Int64(_view.getUint32(92, true), _view.getUint32(88, true)), _struct.Mtim.Nsec = new $Int64(_view.getUint32(100, true), _view.getUint32(96, true)), _struct.Ctim.Sec = new $Int64(_view.getUint32(108, true), _view.getUint32(104, true)), _struct.Ctim.Nsec = new $Int64(_view.getUint32(116, true), _view.getUint32(112, true)), _struct.X__unused = new ($nativeArray($kindInt64))(_array.buffer, $min(_array.byteOffset + 120, _array.buffer.byteLength));\n\t\te1 = _tuple[2];\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn err;\n\t};\n\t$pkg.Fstat = Fstat;\n\tFtruncate = function(fd, length) {\n\t\tvar _tuple, e1, err, fd, length;\n\t\terr = $ifaceNil;\n\t\t_tuple = Syscall(77, ((fd >>> 0)), ((length.$low >>> 0)), 0);\n\t\te1 = _tuple[2];\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn err;\n\t};\n\t$pkg.Ftruncate = Ftruncate;\n\tLstat = function(path, stat) {\n\t\tvar _array, _p0, _struct, _tuple, _tuple$1, _view, e1, err, path, stat;\n\t\terr = $ifaceNil;\n\t\t_p0 = ptrType$2.nil;\n\t\t_tuple = BytePtrFromString(path);\n\t\t_p0 = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\treturn err;\n\t\t}\n\t\t_array = new Uint8Array(144);\n\t\t_tuple$1 = Syscall(6, ((_p0)), ((_array)), 0);\n\t\t_struct = stat, _view = new DataView(_array.buffer, _array.byteOffset), _struct.Dev = new $Uint64(_view.getUint32(4, true), _view.getUint32(0, true)), _struct.Ino = new $Uint64(_view.getUint32(12, true), _view.getUint32(8, true)), _struct.Nlink = new $Uint64(_view.getUint32(20, true), _view.getUint32(16, true)), _struct.Mode = _view.getUint32(24, true), _struct.Uid = _view.getUint32(28, true), _struct.Gid = _view.getUint32(32, true), _struct.X__pad0 = _view.getInt32(36, true), _struct.Rdev = new $Uint64(_view.getUint32(44, true), _view.getUint32(40, true)), _struct.Size = new $Int64(_view.getUint32(52, true), _view.getUint32(48, true)), _struct.Blksize = new $Int64(_view.getUint32(60, true), _view.getUint32(56, true)), _struct.Blocks = new $Int64(_view.getUint32(68, true), _view.getUint32(64, true)), _struct.Atim.Sec = new $Int64(_view.getUint32(76, true), _view.getUint32(72, true)), _struct.Atim.Nsec = new $Int64(_view.getUint32(84, true), _view.getUint32(80, true)), _struct.Mtim.Sec = new $Int64(_view.getUint32(92, true), _view.getUint32(88, true)), _struct.Mtim.Nsec = new $Int64(_view.getUint32(100, true), _view.getUint32(96, true)), _struct.Ctim.Sec = new $Int64(_view.getUint32(108, true), _view.getUint32(104, true)), _struct.Ctim.Nsec = new $Int64(_view.getUint32(116, true), _view.getUint32(112, true)), _struct.X__unused = new ($nativeArray($kindInt64))(_array.buffer, $min(_array.byteOffset + 120, _array.buffer.byteLength));\n\t\te1 = _tuple$1[2];\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn err;\n\t};\n\t$pkg.Lstat = Lstat;\n\tPread = function(fd, p, offset) {\n\t\tvar _p0, _tuple, e1, err, fd, n, offset, p, r0;\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\t_p0 = 0;\n\t\tif (p.$length > 0) {\n\t\t\t_p0 = ($sliceToArray(p));\n\t\t} else {\n\t\t\t_p0 = (new Uint8Array(0));\n\t\t}\n\t\t_tuple = Syscall6(17, ((fd >>> 0)), (_p0), ((p.$length >>> 0)), ((offset.$low >>> 0)), 0, 0);\n\t\tr0 = _tuple[0];\n\t\te1 = _tuple[2];\n\t\tn = ((r0 >> 0));\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn [n, err];\n\t};\n\t$pkg.Pread = Pread;\n\tPwrite = function(fd, p, offset) {\n\t\tvar _p0, _tuple, e1, err, fd, n, offset, p, r0;\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\t_p0 = 0;\n\t\tif (p.$length > 0) {\n\t\t\t_p0 = ($sliceToArray(p));\n\t\t} else {\n\t\t\t_p0 = (new Uint8Array(0));\n\t\t}\n\t\t_tuple = Syscall6(18, ((fd >>> 0)), (_p0), ((p.$length >>> 0)), ((offset.$low >>> 0)), 0, 0);\n\t\tr0 = _tuple[0];\n\t\te1 = _tuple[2];\n\t\tn = ((r0 >> 0));\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn [n, err];\n\t};\n\t$pkg.Pwrite = Pwrite;\n\tSeek = function(fd, offset, whence) {\n\t\tvar _tuple, e1, err, fd, off, offset, r0, whence;\n\t\toff = new $Int64(0, 0);\n\t\terr = $ifaceNil;\n\t\t_tuple = Syscall(8, ((fd >>> 0)), ((offset.$low >>> 0)), ((whence >>> 0)));\n\t\tr0 = _tuple[0];\n\t\te1 = _tuple[2];\n\t\toff = (new $Int64(0, r0.constructor === Number ? r0 : 1));\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn [off, err];\n\t};\n\t$pkg.Seek = Seek;\n\tShutdown = function(fd, how) {\n\t\tvar _tuple, e1, err, fd, how;\n\t\terr = $ifaceNil;\n\t\t_tuple = Syscall(48, ((fd >>> 0)), ((how >>> 0)), 0);\n\t\te1 = _tuple[2];\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn err;\n\t};\n\t$pkg.Shutdown = Shutdown;\n\taccept = function(s, rsa, addrlen) {\n\t\tvar _array, _struct, _tuple, _view, addrlen, e1, err, fd, r0, rsa, s;\n\t\tfd = 0;\n\t\terr = $ifaceNil;\n\t\t_array = new Uint8Array(112);\n\t\t_tuple = Syscall(43, ((s >>> 0)), ((_array)), ((addrlen)));\n\t\t_struct = rsa, _view = new DataView(_array.buffer, _array.byteOffset), _struct.Addr.Family = _view.getUint16(0, true), _struct.Addr.Data = new ($nativeArray($kindInt8))(_array.buffer, $min(_array.byteOffset + 2, _array.buffer.byteLength)), _struct.Pad = new ($nativeArray($kindInt8))(_array.buffer, $min(_array.byteOffset + 16, _array.buffer.byteLength));\n\t\tr0 = _tuple[0];\n\t\te1 = _tuple[2];\n\t\tfd = ((r0 >> 0));\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn [fd, err];\n\t};\n\taccept4 = function(s, rsa, addrlen, flags) {\n\t\tvar _array, _struct, _tuple, _view, addrlen, e1, err, fd, flags, r0, rsa, s;\n\t\tfd = 0;\n\t\terr = $ifaceNil;\n\t\t_array = new Uint8Array(112);\n\t\t_tuple = Syscall6(288, ((s >>> 0)), ((_array)), ((addrlen)), ((flags >>> 0)), 0, 0);\n\t\t_struct = rsa, _view = new DataView(_array.buffer, _array.byteOffset), _struct.Addr.Family = _view.getUint16(0, true), _struct.Addr.Data = new ($nativeArray($kindInt8))(_array.buffer, $min(_array.byteOffset + 2, _array.buffer.byteLength)), _struct.Pad = new ($nativeArray($kindInt8))(_array.buffer, $min(_array.byteOffset + 16, _array.buffer.byteLength));\n\t\tr0 = _tuple[0];\n\t\te1 = _tuple[2];\n\t\tfd = ((r0 >> 0));\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn [fd, err];\n\t};\n\tfstatat = function(fd, path, stat, flags) {\n\t\tvar _array, _p0, _struct, _tuple, _tuple$1, _view, e1, err, fd, flags, path, stat;\n\t\terr = $ifaceNil;\n\t\t_p0 = ptrType$2.nil;\n\t\t_tuple = BytePtrFromString(path);\n\t\t_p0 = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\treturn err;\n\t\t}\n\t\t_array = new Uint8Array(144);\n\t\t_tuple$1 = Syscall6(262, ((fd >>> 0)), ((_p0)), ((_array)), ((flags >>> 0)), 0, 0);\n\t\t_struct = stat, _view = new DataView(_array.buffer, _array.byteOffset), _struct.Dev = new $Uint64(_view.getUint32(4, true), _view.getUint32(0, true)), _struct.Ino = new $Uint64(_view.getUint32(12, true), _view.getUint32(8, true)), _struct.Nlink = new $Uint64(_view.getUint32(20, true), _view.getUint32(16, true)), _struct.Mode = _view.getUint32(24, true), _struct.Uid = _view.getUint32(28, true), _struct.Gid = _view.getUint32(32, true), _struct.X__pad0 = _view.getInt32(36, true), _struct.Rdev = new $Uint64(_view.getUint32(44, true), _view.getUint32(40, true)), _struct.Size = new $Int64(_view.getUint32(52, true), _view.getUint32(48, true)), _struct.Blksize = new $Int64(_view.getUint32(60, true), _view.getUint32(56, true)), _struct.Blocks = new $Int64(_view.getUint32(68, true), _view.getUint32(64, true)), _struct.Atim.Sec = new $Int64(_view.getUint32(76, true), _view.getUint32(72, true)), _struct.Atim.Nsec = new $Int64(_view.getUint32(84, true), _view.getUint32(80, true)), _struct.Mtim.Sec = new $Int64(_view.getUint32(92, true), _view.getUint32(88, true)), _struct.Mtim.Nsec = new $Int64(_view.getUint32(100, true), _view.getUint32(96, true)), _struct.Ctim.Sec = new $Int64(_view.getUint32(108, true), _view.getUint32(104, true)), _struct.Ctim.Nsec = new $Int64(_view.getUint32(116, true), _view.getUint32(112, true)), _struct.X__unused = new ($nativeArray($kindInt64))(_array.buffer, $min(_array.byteOffset + 120, _array.buffer.byteLength));\n\t\te1 = _tuple$1[2];\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn err;\n\t};\n\tgetsockopt = function(s, level, name, val, vallen) {\n\t\tvar _tuple, e1, err, level, name, s, val, vallen;\n\t\terr = $ifaceNil;\n\t\t_tuple = Syscall6(55, ((s >>> 0)), ((level >>> 0)), ((name >>> 0)), (val), ((vallen)), 0);\n\t\te1 = _tuple[2];\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn err;\n\t};\n\tsetsockopt = function(s, level, name, val, vallen) {\n\t\tvar _tuple, e1, err, level, name, s, val, vallen;\n\t\terr = $ifaceNil;\n\t\t_tuple = Syscall6(54, ((s >>> 0)), ((level >>> 0)), ((name >>> 0)), (val), (vallen), 0);\n\t\te1 = _tuple[2];\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn err;\n\t};\n\trecvfrom = function(fd, p, flags, from, fromlen) {\n\t\tvar _array, _p0, _struct, _tuple, _view, e1, err, fd, flags, from, fromlen, n, p, r0;\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\t_p0 = 0;\n\t\tif (p.$length > 0) {\n\t\t\t_p0 = ($sliceToArray(p));\n\t\t} else {\n\t\t\t_p0 = (new Uint8Array(0));\n\t\t}\n\t\t_array = new Uint8Array(112);\n\t\t_tuple = Syscall6(45, ((fd >>> 0)), (_p0), ((p.$length >>> 0)), ((flags >>> 0)), ((_array)), ((fromlen)));\n\t\t_struct = from, _view = new DataView(_array.buffer, _array.byteOffset), _struct.Addr.Family = _view.getUint16(0, true), _struct.Addr.Data = new ($nativeArray($kindInt8))(_array.buffer, $min(_array.byteOffset + 2, _array.buffer.byteLength)), _struct.Pad = new ($nativeArray($kindInt8))(_array.buffer, $min(_array.byteOffset + 16, _array.buffer.byteLength));\n\t\tr0 = _tuple[0];\n\t\te1 = _tuple[2];\n\t\tn = ((r0 >> 0));\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn [n, err];\n\t};\n\tsendto = function(s, buf, flags, to, addrlen) {\n\t\tvar _p0, _tuple, addrlen, buf, e1, err, flags, s, to;\n\t\terr = $ifaceNil;\n\t\t_p0 = 0;\n\t\tif (buf.$length > 0) {\n\t\t\t_p0 = ($sliceToArray(buf));\n\t\t} else {\n\t\t\t_p0 = (new Uint8Array(0));\n\t\t}\n\t\t_tuple = Syscall6(44, ((s >>> 0)), (_p0), ((buf.$length >>> 0)), ((flags >>> 0)), (to), ((addrlen >>> 0)));\n\t\te1 = _tuple[2];\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn err;\n\t};\n\trecvmsg = function(s, msg, flags) {\n\t\tvar _array, _struct, _tuple, _view, e1, err, flags, msg, n, r0, s;\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\t_array = new Uint8Array(48);\n\t\t_tuple = Syscall(47, ((s >>> 0)), ((_array)), ((flags >>> 0)));\n\t\t_struct = msg, _view = new DataView(_array.buffer, _array.byteOffset), _struct.Namelen = _view.getUint32(4, true), _struct.Pad_cgo_0 = new ($nativeArray($kindUint8))(_array.buffer, $min(_array.byteOffset + 8, _array.buffer.byteLength)), _struct.Iovlen = new $Uint64(_view.getUint32(20, true), _view.getUint32(16, true)), _struct.Controllen = new $Uint64(_view.getUint32(36, true), _view.getUint32(32, true)), _struct.Flags = _view.getInt32(40, true), _struct.Pad_cgo_1 = new ($nativeArray($kindUint8))(_array.buffer, $min(_array.byteOffset + 44, _array.buffer.byteLength));\n\t\tr0 = _tuple[0];\n\t\te1 = _tuple[2];\n\t\tn = ((r0 >> 0));\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn [n, err];\n\t};\n\tsendmsg = function(s, msg, flags) {\n\t\tvar _array, _struct, _tuple, _view, e1, err, flags, msg, n, r0, s;\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\t_array = new Uint8Array(48);\n\t\t_tuple = Syscall(46, ((s >>> 0)), ((_array)), ((flags >>> 0)));\n\t\t_struct = msg, _view = new DataView(_array.buffer, _array.byteOffset), _struct.Namelen = _view.getUint32(4, true), _struct.Pad_cgo_0 = new ($nativeArray($kindUint8))(_array.buffer, $min(_array.byteOffset + 8, _array.buffer.byteLength)), _struct.Iovlen = new $Uint64(_view.getUint32(20, true), _view.getUint32(16, true)), _struct.Controllen = new $Uint64(_view.getUint32(36, true), _view.getUint32(32, true)), _struct.Flags = _view.getInt32(40, true), _struct.Pad_cgo_1 = new ($nativeArray($kindUint8))(_array.buffer, $min(_array.byteOffset + 44, _array.buffer.byteLength));\n\t\tr0 = _tuple[0];\n\t\te1 = _tuple[2];\n\t\tn = ((r0 >> 0));\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn [n, err];\n\t};\n\tmmap = function(addr, length, prot, flags, fd, offset) {\n\t\tvar _tuple, addr, e1, err, fd, flags, length, offset, prot, r0, xaddr;\n\t\txaddr = 0;\n\t\terr = $ifaceNil;\n\t\t_tuple = Syscall6(9, (addr), (length), ((prot >>> 0)), ((flags >>> 0)), ((fd >>> 0)), ((offset.$low >>> 0)));\n\t\tr0 = _tuple[0];\n\t\te1 = _tuple[2];\n\t\txaddr = (r0);\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn [xaddr, err];\n\t};\n\tpipe = function(p) {\n\t\tvar _tuple, e1, err, p;\n\t\terr = $ifaceNil;\n\t\t_tuple = RawSyscall(22, ((p)), 0, 0);\n\t\te1 = _tuple[2];\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn err;\n\t};\n\tpipe2 = function(p, flags) {\n\t\tvar _tuple, e1, err, flags, p;\n\t\terr = $ifaceNil;\n\t\t_tuple = RawSyscall(293, ((p)), ((flags >>> 0)), 0);\n\t\te1 = _tuple[2];\n\t\tif (!((e1 === 0))) {\n\t\t\terr = errnoErr(e1);\n\t\t}\n\t\treturn err;\n\t};\n\tWaitStatus.methods = [{prop: \"Exited\", name: \"Exited\", pkg: \"\", typ: $funcType([], [$Bool], false)}, {prop: \"Signaled\", name: \"Signaled\", pkg: \"\", typ: $funcType([], [$Bool], false)}, {prop: \"Stopped\", name: \"Stopped\", pkg: \"\", typ: $funcType([], [$Bool], false)}, {prop: \"Continued\", name: \"Continued\", pkg: \"\", typ: $funcType([], [$Bool], false)}, {prop: \"CoreDump\", name: \"CoreDump\", pkg: \"\", typ: $funcType([], [$Bool], false)}, {prop: \"ExitStatus\", name: \"ExitStatus\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Signal\", name: \"Signal\", pkg: \"\", typ: $funcType([], [Signal], false)}, {prop: \"StopSignal\", name: \"StopSignal\", pkg: \"\", typ: $funcType([], [Signal], false)}, {prop: \"TrapCause\", name: \"TrapCause\", pkg: \"\", typ: $funcType([], [$Int], false)}];\n\tptrType$24.methods = [{prop: \"sockaddr\", name: \"sockaddr\", pkg: \"syscall\", typ: $funcType([], [$UnsafePointer, _Socklen, $error], false)}];\n\tptrType$11.methods = [{prop: \"sockaddr\", name: \"sockaddr\", pkg: \"syscall\", typ: $funcType([], [$UnsafePointer, _Socklen, $error], false)}];\n\tptrType$25.methods = [{prop: \"Mmap\", name: \"Mmap\", pkg: \"\", typ: $funcType([$Int, $Int64, $Int, $Int, $Int], [sliceType, $error], false)}, {prop: \"Munmap\", name: \"Munmap\", pkg: \"\", typ: $funcType([sliceType], [$error], false)}];\n\tErrno.methods = [{prop: \"Error\", name: \"Error\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"Temporary\", name: \"Temporary\", pkg: \"\", typ: $funcType([], [$Bool], false)}, {prop: \"Timeout\", name: \"Timeout\", pkg: \"\", typ: $funcType([], [$Bool], false)}];\n\tSignal.methods = [{prop: \"Signal\", name: \"Signal\", pkg: \"\", typ: $funcType([], [], false)}, {prop: \"String\", name: \"String\", pkg: \"\", typ: $funcType([], [$String], false)}];\n\tptrType$26.methods = [{prop: \"sockaddr\", name: \"sockaddr\", pkg: \"syscall\", typ: $funcType([], [$UnsafePointer, _Socklen, $error], false)}];\n\tptrType$27.methods = [{prop: \"sockaddr\", name: \"sockaddr\", pkg: \"syscall\", typ: $funcType([], [$UnsafePointer, _Socklen, $error], false)}];\n\tptrType$28.methods = [{prop: \"sockaddr\", name: \"sockaddr\", pkg: \"syscall\", typ: $funcType([], [$UnsafePointer, _Socklen, $error], false)}];\n\tptrType$29.methods = [{prop: \"Unix\", name: \"Unix\", pkg: \"\", typ: $funcType([], [$Int64, $Int64], false)}, {prop: \"Nano\", name: \"Nano\", pkg: \"\", typ: $funcType([], [$Int64], false)}];\n\tptrType$30.methods = [{prop: \"Unix\", name: \"Unix\", pkg: \"\", typ: $funcType([], [$Int64, $Int64], false)}, {prop: \"Nano\", name: \"Nano\", pkg: \"\", typ: $funcType([], [$Int64], false)}];\n\tptrType$19.methods = [{prop: \"SetLen\", name: \"SetLen\", pkg: \"\", typ: $funcType([$Int], [], false)}];\n\tptrType$31.methods = [{prop: \"SetControllen\", name: \"SetControllen\", pkg: \"\", typ: $funcType([$Int], [], false)}];\n\tSysProcIDMap.init(\"\", [{prop: \"ContainerID\", name: \"ContainerID\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"HostID\", name: \"HostID\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"Size\", name: \"Size\", embedded: false, exported: true, typ: $Int, tag: \"\"}]);\n\tSysProcAttr.init(\"\", [{prop: \"Chroot\", name: \"Chroot\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"Credential\", name: \"Credential\", embedded: false, exported: true, typ: ptrType$1, tag: \"\"}, {prop: \"Ptrace\", name: \"Ptrace\", embedded: false, exported: true, typ: $Bool, tag: \"\"}, {prop: \"Setsid\", name: \"Setsid\", embedded: false, exported: true, typ: $Bool, tag: \"\"}, {prop: \"Setpgid\", name: \"Setpgid\", embedded: false, exported: true, typ: $Bool, tag: \"\"}, {prop: \"Setctty\", name: \"Setctty\", embedded: false, exported: true, typ: $Bool, tag: \"\"}, {prop: \"Noctty\", name: \"Noctty\", embedded: false, exported: true, typ: $Bool, tag: \"\"}, {prop: \"Ctty\", name: \"Ctty\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"Foreground\", name: \"Foreground\", embedded: false, exported: true, typ: $Bool, tag: \"\"}, {prop: \"Pgid\", name: \"Pgid\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"Pdeathsig\", name: \"Pdeathsig\", embedded: false, exported: true, typ: Signal, tag: \"\"}, {prop: \"Cloneflags\", name: \"Cloneflags\", embedded: false, exported: true, typ: $Uintptr, tag: \"\"}, {prop: \"Unshareflags\", name: \"Unshareflags\", embedded: false, exported: true, typ: $Uintptr, tag: \"\"}, {prop: \"UidMappings\", name: \"UidMappings\", embedded: false, exported: true, typ: sliceType$3, tag: \"\"}, {prop: \"GidMappings\", name: \"GidMappings\", embedded: false, exported: true, typ: sliceType$3, tag: \"\"}, {prop: \"GidMappingsEnableSetgroups\", name: \"GidMappingsEnableSetgroups\", embedded: false, exported: true, typ: $Bool, tag: \"\"}, {prop: \"AmbientCaps\", name: \"AmbientCaps\", embedded: false, exported: true, typ: sliceType$2, tag: \"\"}]);\n\tCredential.init(\"\", [{prop: \"Uid\", name: \"Uid\", embedded: false, exported: true, typ: $Uint32, tag: \"\"}, {prop: \"Gid\", name: \"Gid\", embedded: false, exported: true, typ: $Uint32, tag: \"\"}, {prop: \"Groups\", name: \"Groups\", embedded: false, exported: true, typ: sliceType$10, tag: \"\"}, {prop: \"NoSetGroups\", name: \"NoSetGroups\", embedded: false, exported: true, typ: $Bool, tag: \"\"}]);\n\tProcAttr.init(\"\", [{prop: \"Dir\", name: \"Dir\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"Env\", name: \"Env\", embedded: false, exported: true, typ: sliceType$1, tag: \"\"}, {prop: \"Files\", name: \"Files\", embedded: false, exported: true, typ: sliceType$2, tag: \"\"}, {prop: \"Sys\", name: \"Sys\", embedded: false, exported: true, typ: ptrType, tag: \"\"}]);\n\tSockaddrLinklayer.init(\"syscall\", [{prop: \"Protocol\", name: \"Protocol\", embedded: false, exported: true, typ: $Uint16, tag: \"\"}, {prop: \"Ifindex\", name: \"Ifindex\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"Hatype\", name: \"Hatype\", embedded: false, exported: true, typ: $Uint16, tag: \"\"}, {prop: \"Pkttype\", name: \"Pkttype\", embedded: false, exported: true, typ: $Uint8, tag: \"\"}, {prop: \"Halen\", name: \"Halen\", embedded: false, exported: true, typ: $Uint8, tag: \"\"}, {prop: \"Addr\", name: \"Addr\", embedded: false, exported: true, typ: arrayType$1, tag: \"\"}, {prop: \"raw\", name: \"raw\", embedded: false, exported: false, typ: RawSockaddrLinklayer, tag: \"\"}]);\n\tSockaddrNetlink.init(\"syscall\", [{prop: \"Family\", name: \"Family\", embedded: false, exported: true, typ: $Uint16, tag: \"\"}, {prop: \"Pad\", name: \"Pad\", embedded: false, exported: true, typ: $Uint16, tag: \"\"}, {prop: \"Pid\", name: \"Pid\", embedded: false, exported: true, typ: $Uint32, tag: \"\"}, {prop: \"Groups\", name: \"Groups\", embedded: false, exported: true, typ: $Uint32, tag: \"\"}, {prop: \"raw\", name: \"raw\", embedded: false, exported: false, typ: RawSockaddrNetlink, tag: \"\"}]);\n\tmmapper.init(\"syscall\", [{prop: \"Mutex\", name: \"Mutex\", embedded: true, exported: true, typ: sync.Mutex, tag: \"\"}, {prop: \"active\", name: \"active\", embedded: false, exported: false, typ: mapType, tag: \"\"}, {prop: \"mmap\", name: \"mmap\", embedded: false, exported: false, typ: funcType$2, tag: \"\"}, {prop: \"munmap\", name: \"munmap\", embedded: false, exported: false, typ: funcType$3, tag: \"\"}]);\n\tSockaddr.init([{prop: \"sockaddr\", name: \"sockaddr\", pkg: \"syscall\", typ: $funcType([], [$UnsafePointer, _Socklen, $error], false)}]);\n\tSockaddrInet4.init(\"syscall\", [{prop: \"Port\", name: \"Port\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"Addr\", name: \"Addr\", embedded: false, exported: true, typ: arrayType$9, tag: \"\"}, {prop: \"raw\", name: \"raw\", embedded: false, exported: false, typ: RawSockaddrInet4, tag: \"\"}]);\n\tSockaddrInet6.init(\"syscall\", [{prop: \"Port\", name: \"Port\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"ZoneId\", name: \"ZoneId\", embedded: false, exported: true, typ: $Uint32, tag: \"\"}, {prop: \"Addr\", name: \"Addr\", embedded: false, exported: true, typ: arrayType$2, tag: \"\"}, {prop: \"raw\", name: \"raw\", embedded: false, exported: false, typ: RawSockaddrInet6, tag: \"\"}]);\n\tSockaddrUnix.init(\"syscall\", [{prop: \"Name\", name: \"Name\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"raw\", name: \"raw\", embedded: false, exported: false, typ: RawSockaddrUnix, tag: \"\"}]);\n\tTimespec.init(\"\", [{prop: \"Sec\", name: \"Sec\", embedded: false, exported: true, typ: $Int64, tag: \"\"}, {prop: \"Nsec\", name: \"Nsec\", embedded: false, exported: true, typ: $Int64, tag: \"\"}]);\n\tTimeval.init(\"\", [{prop: \"Sec\", name: \"Sec\", embedded: false, exported: true, typ: $Int64, tag: \"\"}, {prop: \"Usec\", name: \"Usec\", embedded: false, exported: true, typ: $Int64, tag: \"\"}]);\n\tRusage.init(\"\", [{prop: \"Utime\", name: \"Utime\", embedded: false, exported: true, typ: Timeval, tag: \"\"}, {prop: \"Stime\", name: \"Stime\", embedded: false, exported: true, typ: Timeval, tag: \"\"}, {prop: \"Maxrss\", name: \"Maxrss\", embedded: false, exported: true, typ: $Int64, tag: \"\"}, {prop: \"Ixrss\", name: \"Ixrss\", embedded: false, exported: true, typ: $Int64, tag: \"\"}, {prop: \"Idrss\", name: \"Idrss\", embedded: false, exported: true, typ: $Int64, tag: \"\"}, {prop: \"Isrss\", name: \"Isrss\", embedded: false, exported: true, typ: $Int64, tag: \"\"}, {prop: \"Minflt\", name: \"Minflt\", embedded: false, exported: true, typ: $Int64, tag: \"\"}, {prop: \"Majflt\", name: \"Majflt\", embedded: false, exported: true, typ: $Int64, tag: \"\"}, {prop: \"Nswap\", name: \"Nswap\", embedded: false, exported: true, typ: $Int64, tag: \"\"}, {prop: \"Inblock\", name: \"Inblock\", embedded: false, exported: true, typ: $Int64, tag: \"\"}, {prop: \"Oublock\", name: \"Oublock\", embedded: false, exported: true, typ: $Int64, tag: \"\"}, {prop: \"Msgsnd\", name: \"Msgsnd\", embedded: false, exported: true, typ: $Int64, tag: \"\"}, {prop: \"Msgrcv\", name: \"Msgrcv\", embedded: false, exported: true, typ: $Int64, tag: \"\"}, {prop: \"Nsignals\", name: \"Nsignals\", embedded: false, exported: true, typ: $Int64, tag: \"\"}, {prop: \"Nvcsw\", name: \"Nvcsw\", embedded: false, exported: true, typ: $Int64, tag: \"\"}, {prop: \"Nivcsw\", name: \"Nivcsw\", embedded: false, exported: true, typ: $Int64, tag: \"\"}]);\n\tStat_t.init(\"\", [{prop: \"Dev\", name: \"Dev\", embedded: false, exported: true, typ: $Uint64, tag: \"\"}, {prop: \"Ino\", name: \"Ino\", embedded: false, exported: true, typ: $Uint64, tag: \"\"}, {prop: \"Nlink\", name: \"Nlink\", embedded: false, exported: true, typ: $Uint64, tag: \"\"}, {prop: \"Mode\", name: \"Mode\", embedded: false, exported: true, typ: $Uint32, tag: \"\"}, {prop: \"Uid\", name: \"Uid\", embedded: false, exported: true, typ: $Uint32, tag: \"\"}, {prop: \"Gid\", name: \"Gid\", embedded: false, exported: true, typ: $Uint32, tag: \"\"}, {prop: \"X__pad0\", name: \"X__pad0\", embedded: false, exported: true, typ: $Int32, tag: \"\"}, {prop: \"Rdev\", name: \"Rdev\", embedded: false, exported: true, typ: $Uint64, tag: \"\"}, {prop: \"Size\", name: \"Size\", embedded: false, exported: true, typ: $Int64, tag: \"\"}, {prop: \"Blksize\", name: \"Blksize\", embedded: false, exported: true, typ: $Int64, tag: \"\"}, {prop: \"Blocks\", name: \"Blocks\", embedded: false, exported: true, typ: $Int64, tag: \"\"}, {prop: \"Atim\", name: \"Atim\", embedded: false, exported: true, typ: Timespec, tag: \"\"}, {prop: \"Mtim\", name: \"Mtim\", embedded: false, exported: true, typ: Timespec, tag: \"\"}, {prop: \"Ctim\", name: \"Ctim\", embedded: false, exported: true, typ: Timespec, tag: \"\"}, {prop: \"X__unused\", name: \"X__unused\", embedded: false, exported: true, typ: arrayType$5, tag: \"\"}]);\n\tRawSockaddrInet4.init(\"\", [{prop: \"Family\", name: \"Family\", embedded: false, exported: true, typ: $Uint16, tag: \"\"}, {prop: \"Port\", name: \"Port\", embedded: false, exported: true, typ: $Uint16, tag: \"\"}, {prop: \"Addr\", name: \"Addr\", embedded: false, exported: true, typ: arrayType$9, tag: \"\"}, {prop: \"Zero\", name: \"Zero\", embedded: false, exported: true, typ: arrayType$1, tag: \"\"}]);\n\tRawSockaddrInet6.init(\"\", [{prop: \"Family\", name: \"Family\", embedded: false, exported: true, typ: $Uint16, tag: \"\"}, {prop: \"Port\", name: \"Port\", embedded: false, exported: true, typ: $Uint16, tag: \"\"}, {prop: \"Flowinfo\", name: \"Flowinfo\", embedded: false, exported: true, typ: $Uint32, tag: \"\"}, {prop: \"Addr\", name: \"Addr\", embedded: false, exported: true, typ: arrayType$2, tag: \"\"}, {prop: \"Scope_id\", name: \"Scope_id\", embedded: false, exported: true, typ: $Uint32, tag: \"\"}]);\n\tRawSockaddrUnix.init(\"\", [{prop: \"Family\", name: \"Family\", embedded: false, exported: true, typ: $Uint16, tag: \"\"}, {prop: \"Path\", name: \"Path\", embedded: false, exported: true, typ: arrayType$8, tag: \"\"}]);\n\tRawSockaddrLinklayer.init(\"\", [{prop: \"Family\", name: \"Family\", embedded: false, exported: true, typ: $Uint16, tag: \"\"}, {prop: \"Protocol\", name: \"Protocol\", embedded: false, exported: true, typ: $Uint16, tag: \"\"}, {prop: \"Ifindex\", name: \"Ifindex\", embedded: false, exported: true, typ: $Int32, tag: \"\"}, {prop: \"Hatype\", name: \"Hatype\", embedded: false, exported: true, typ: $Uint16, tag: \"\"}, {prop: \"Pkttype\", name: \"Pkttype\", embedded: false, exported: true, typ: $Uint8, tag: \"\"}, {prop: \"Halen\", name: \"Halen\", embedded: false, exported: true, typ: $Uint8, tag: \"\"}, {prop: \"Addr\", name: \"Addr\", embedded: false, exported: true, typ: arrayType$1, tag: \"\"}]);\n\tRawSockaddrNetlink.init(\"\", [{prop: \"Family\", name: \"Family\", embedded: false, exported: true, typ: $Uint16, tag: \"\"}, {prop: \"Pad\", name: \"Pad\", embedded: false, exported: true, typ: $Uint16, tag: \"\"}, {prop: \"Pid\", name: \"Pid\", embedded: false, exported: true, typ: $Uint32, tag: \"\"}, {prop: \"Groups\", name: \"Groups\", embedded: false, exported: true, typ: $Uint32, tag: \"\"}]);\n\tRawSockaddr.init(\"\", [{prop: \"Family\", name: \"Family\", embedded: false, exported: true, typ: $Uint16, tag: \"\"}, {prop: \"Data\", name: \"Data\", embedded: false, exported: true, typ: arrayType$10, tag: \"\"}]);\n\tRawSockaddrAny.init(\"\", [{prop: \"Addr\", name: \"Addr\", embedded: false, exported: true, typ: RawSockaddr, tag: \"\"}, {prop: \"Pad\", name: \"Pad\", embedded: false, exported: true, typ: arrayType$11, tag: \"\"}]);\n\tLinger.init(\"\", [{prop: \"Onoff\", name: \"Onoff\", embedded: false, exported: true, typ: $Int32, tag: \"\"}, {prop: \"Linger\", name: \"Linger\", embedded: false, exported: true, typ: $Int32, tag: \"\"}]);\n\tIovec.init(\"\", [{prop: \"Base\", name: \"Base\", embedded: false, exported: true, typ: ptrType$2, tag: \"\"}, {prop: \"Len\", name: \"Len\", embedded: false, exported: true, typ: $Uint64, tag: \"\"}]);\n\tIPMreq.init(\"\", [{prop: \"Multiaddr\", name: \"Multiaddr\", embedded: false, exported: true, typ: arrayType$9, tag: \"\"}, {prop: \"Interface\", name: \"Interface\", embedded: false, exported: true, typ: arrayType$9, tag: \"\"}]);\n\tIPMreqn.init(\"\", [{prop: \"Multiaddr\", name: \"Multiaddr\", embedded: false, exported: true, typ: arrayType$9, tag: \"\"}, {prop: \"Address\", name: \"Address\", embedded: false, exported: true, typ: arrayType$9, tag: \"\"}, {prop: \"Ifindex\", name: \"Ifindex\", embedded: false, exported: true, typ: $Int32, tag: \"\"}]);\n\tIPv6Mreq.init(\"\", [{prop: \"Multiaddr\", name: \"Multiaddr\", embedded: false, exported: true, typ: arrayType$2, tag: \"\"}, {prop: \"Interface\", name: \"Interface\", embedded: false, exported: true, typ: $Uint32, tag: \"\"}]);\n\tMsghdr.init(\"\", [{prop: \"Name\", name: \"Name\", embedded: false, exported: true, typ: ptrType$2, tag: \"\"}, {prop: \"Namelen\", name: \"Namelen\", embedded: false, exported: true, typ: $Uint32, tag: \"\"}, {prop: \"Pad_cgo_0\", name: \"Pad_cgo_0\", embedded: false, exported: true, typ: arrayType$9, tag: \"\"}, {prop: \"Iov\", name: \"Iov\", embedded: false, exported: true, typ: ptrType$19, tag: \"\"}, {prop: \"Iovlen\", name: \"Iovlen\", embedded: false, exported: true, typ: $Uint64, tag: \"\"}, {prop: \"Control\", name: \"Control\", embedded: false, exported: true, typ: ptrType$2, tag: \"\"}, {prop: \"Controllen\", name: \"Controllen\", embedded: false, exported: true, typ: $Uint64, tag: \"\"}, {prop: \"Flags\", name: \"Flags\", embedded: false, exported: true, typ: $Int32, tag: \"\"}, {prop: \"Pad_cgo_1\", name: \"Pad_cgo_1\", embedded: false, exported: true, typ: arrayType$9, tag: \"\"}]);\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = js.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = race.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = runtime.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = sync.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tlineBuffer = sliceType.nil;\n\t\tsyscallModule = null;\n\t\tenvOnce = new sync.Once.ptr(new sync.Mutex.ptr(0, 0), 0);\n\t\tenvLock = new sync.RWMutex.ptr(new sync.Mutex.ptr(0, 0), 0, 0, 0, 0);\n\t\tenv = false;\n\t\t$pkg.ForkLock = new sync.RWMutex.ptr(new sync.Mutex.ptr(0, 0), 0, 0, 0, 0);\n\t\tzeroProcAttr = new ProcAttr.ptr(\"\", sliceType$1.nil, sliceType$2.nil, ptrType.nil);\n\t\tzeroSysProcAttr = new SysProcAttr.ptr(\"\", ptrType$1.nil, false, false, false, false, false, 0, false, 0, 0, 0, 0, sliceType$3.nil, sliceType$3.nil, false, sliceType$2.nil);\n\t\tioSync = new $Int64(0, 0);\n\t\twarningPrinted = false;\n\t\talreadyTriedToLoad = false;\n\t\tminusOne = -1;\n\t\tenvs = runtime_envs();\n\t\tnone = $toNativeArray($kindUint8, [110, 111, 110, 101, 0]);\n\t\tslash = $toNativeArray($kindUint8, [47, 0]);\n\t\t$pkg.Stdin = 0;\n\t\t$pkg.Stdout = 1;\n\t\t$pkg.Stderr = 2;\n\t\terrEAGAIN = new Errno(11);\n\t\terrEINVAL = new Errno(22);\n\t\terrENOENT = new Errno(2);\n\t\terrors = $toNativeArray($kindString, [\"\", \"operation not permitted\", \"no such file or directory\", \"no such process\", \"interrupted system call\", \"input/output error\", \"no such device or address\", \"argument list too long\", \"exec format error\", \"bad file descriptor\", \"no child processes\", \"resource temporarily unavailable\", \"cannot allocate memory\", \"permission denied\", \"bad address\", \"block device required\", \"device or resource busy\", \"file exists\", \"invalid cross-device link\", \"no such device\", \"not a directory\", \"is a directory\", \"invalid argument\", \"too many open files in system\", \"too many open files\", \"inappropriate ioctl for device\", \"text file busy\", \"file too large\", \"no space left on device\", \"illegal seek\", \"read-only file system\", \"too many links\", \"broken pipe\", \"numerical argument out of domain\", \"numerical result out of range\", \"resource deadlock avoided\", \"file name too long\", \"no locks available\", \"function not implemented\", \"directory not empty\", \"too many levels of symbolic links\", \"\", \"no message of desired type\", \"identifier removed\", \"channel number out of range\", \"level 2 not synchronized\", \"level 3 halted\", \"level 3 reset\", \"link number out of range\", \"protocol driver not attached\", \"no CSI structure available\", \"level 2 halted\", \"invalid exchange\", \"invalid request descriptor\", \"exchange full\", \"no anode\", \"invalid request code\", \"invalid slot\", \"\", \"bad font file format\", \"device not a stream\", \"no data available\", \"timer expired\", \"out of streams resources\", \"machine is not on the network\", \"package not installed\", \"object is remote\", \"link has been severed\", \"advertise error\", \"srmount error\", \"communication error on send\", \"protocol error\", \"multihop attempted\", \"RFS specific error\", \"bad message\", \"value too large for defined data type\", \"name not unique on network\", \"file descriptor in bad state\", \"remote address changed\", \"can not access a needed shared library\", \"accessing a corrupted shared library\", \".lib section in a.out corrupted\", \"attempting to link in too many shared libraries\", \"cannot exec a shared library directly\", \"invalid or incomplete multibyte or wide character\", \"interrupted system call should be restarted\", \"streams pipe error\", \"too many users\", \"socket operation on non-socket\", \"destination address required\", \"message too long\", \"protocol wrong type for socket\", \"protocol not available\", \"protocol not supported\", \"socket type not supported\", \"operation not supported\", \"protocol family not supported\", \"address family not supported by protocol\", \"address already in use\", \"cannot assign requested address\", \"network is down\", \"network is unreachable\", \"network dropped connection on reset\", \"software caused connection abort\", \"connection reset by peer\", \"no buffer space available\", \"transport endpoint is already connected\", \"transport endpoint is not connected\", \"cannot send after transport endpoint shutdown\", \"too many references: cannot splice\", \"connection timed out\", \"connection refused\", \"host is down\", \"no route to host\", \"operation already in progress\", \"operation now in progress\", \"stale NFS file handle\", \"structure needs cleaning\", \"not a XENIX named type file\", \"no XENIX semaphores available\", \"is a named type file\", \"remote I/O error\", \"disk quota exceeded\", \"no medium found\", \"wrong medium type\", \"operation canceled\", \"required key not available\", \"key has expired\", \"key has been revoked\", \"key was rejected by service\", \"owner died\", \"state not recoverable\", \"operation not possible due to RF-kill\"]);\n\t\tsignals = $toNativeArray($kindString, [\"\", \"hangup\", \"interrupt\", \"quit\", \"illegal instruction\", \"trace/breakpoint trap\", \"aborted\", \"bus error\", \"floating point exception\", \"killed\", \"user defined signal 1\", \"segmentation fault\", \"user defined signal 2\", \"broken pipe\", \"alarm clock\", \"terminated\", \"stack fault\", \"child exited\", \"continued\", \"stopped (signal)\", \"stopped\", \"stopped (tty input)\", \"stopped (tty output)\", \"urgent I/O condition\", \"CPU time limit exceeded\", \"file size limit exceeded\", \"virtual timer expired\", \"profiling timer expired\", \"window changed\", \"I/O possible\", \"power failure\", \"bad system call\"]);\n\t\tmapper = new mmapper.ptr(new sync.Mutex.ptr(0, 0), {}, mmap, munmap);\n\t\tinit();\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"github.com/gopherjs/gopherjs/nosync\"] = (function() {\n\tvar $pkg = {}, $init, Mutex, Once, ptrType$1, funcType$1, ptrType$4;\n\tMutex = $pkg.Mutex = $newType(0, $kindStruct, \"nosync.Mutex\", true, \"github.com/gopherjs/gopherjs/nosync\", true, function(locked_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.locked = false;\n\t\t\treturn;\n\t\t}\n\t\tthis.locked = locked_;\n\t});\n\tOnce = $pkg.Once = $newType(0, $kindStruct, \"nosync.Once\", true, \"github.com/gopherjs/gopherjs/nosync\", true, function(doing_, done_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.doing = false;\n\t\t\tthis.done = false;\n\t\t\treturn;\n\t\t}\n\t\tthis.doing = doing_;\n\t\tthis.done = done_;\n\t});\n\tptrType$1 = $ptrType(Mutex);\n\tfuncType$1 = $funcType([], [], false);\n\tptrType$4 = $ptrType(Once);\n\tMutex.ptr.prototype.Lock = function() {\n\t\tvar m;\n\t\tm = this;\n\t\tif (m.locked) {\n\t\t\t$panic(new $String(\"nosync: mutex is already locked\"));\n\t\t}\n\t\tm.locked = true;\n\t};\n\tMutex.prototype.Lock = function() { return this.$val.Lock(); };\n\tMutex.ptr.prototype.Unlock = function() {\n\t\tvar m;\n\t\tm = this;\n\t\tif (!m.locked) {\n\t\t\t$panic(new $String(\"nosync: unlock of unlocked mutex\"));\n\t\t}\n\t\tm.locked = false;\n\t};\n\tMutex.prototype.Unlock = function() { return this.$val.Unlock(); };\n\tOnce.ptr.prototype.Do = function(f) {\n\t\tvar f, o, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; f = $f.f; o = $f.o; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\to = [o];\n\t\to[0] = this;\n\t\tif (o[0].done) {\n\t\t\t$s = -1; return;\n\t\t}\n\t\tif (o[0].doing) {\n\t\t\t$panic(new $String(\"nosync: Do called within f\"));\n\t\t}\n\t\to[0].doing = true;\n\t\t$deferred.push([(function(o) { return function() {\n\t\t\to[0].doing = false;\n\t\t\to[0].done = true;\n\t\t}; })(o), []]);\n\t\t$r = f(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: Once.ptr.prototype.Do }; } $f.f = f; $f.o = o; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tOnce.prototype.Do = function(f) { return this.$val.Do(f); };\n\tptrType$1.methods = [{prop: \"Lock\", name: \"Lock\", pkg: \"\", typ: $funcType([], [], false)}, {prop: \"Unlock\", name: \"Unlock\", pkg: \"\", typ: $funcType([], [], false)}];\n\tptrType$4.methods = [{prop: \"Do\", name: \"Do\", pkg: \"\", typ: $funcType([funcType$1], [], false)}];\n\tMutex.init(\"github.com/gopherjs/gopherjs/nosync\", [{prop: \"locked\", name: \"locked\", embedded: false, exported: false, typ: $Bool, tag: \"\"}]);\n\tOnce.init(\"github.com/gopherjs/gopherjs/nosync\", [{prop: \"doing\", name: \"doing\", embedded: false, exported: false, typ: $Bool, tag: \"\"}, {prop: \"done\", name: \"done\", embedded: false, exported: false, typ: $Bool, tag: \"\"}]);\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"time\"] = (function() {\n\tvar $pkg = {}, $init, errors, js, nosync, runtime, syscall, runtimeTimer, ParseError, Timer, Time, Month, Weekday, Duration, Location, zone, zoneTrans, sliceType, sliceType$1, ptrType, sliceType$2, structType, arrayType, sliceType$3, arrayType$1, arrayType$2, ptrType$2, arrayType$3, funcType$1, ptrType$3, ptrType$4, ptrType$5, chanType$1, ptrType$7, zoneSources, std0x, longDayNames, shortDayNames, shortMonthNames, longMonthNames, atoiError, errBad, errLeadingInt, months, days, daysBefore, utcLoc, utcLoc$24ptr, localLoc, localLoc$24ptr, localOnce, errLocation, badData, init, initLocal, runtimeNano, now, Sleep, startTimer, stopTimer, indexByte, startsWithLowerCase, nextStdChunk, match, lookup, appendInt, atoi, formatNano, quote, isDigit, getnum, cutspace, skip, Parse, parse, parseTimeZone, parseGMT, parseSignedOffset, parseNanoseconds, leadingInt, when, absWeekday, absClock, fmtFrac, fmtInt, lessThanHalf, Until, absDate, daysIn, Now, unixTime, Unix, isLeap, norm, Date, div, FixedZone;\n\terrors = $packages[\"errors\"];\n\tjs = $packages[\"github.com/gopherjs/gopherjs/js\"];\n\tnosync = $packages[\"github.com/gopherjs/gopherjs/nosync\"];\n\truntime = $packages[\"runtime\"];\n\tsyscall = $packages[\"syscall\"];\n\truntimeTimer = $pkg.runtimeTimer = $newType(0, $kindStruct, \"time.runtimeTimer\", true, \"time\", false, function(i_, when_, period_, f_, arg_, timeout_, active_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.i = 0;\n\t\t\tthis.when = new $Int64(0, 0);\n\t\t\tthis.period = new $Int64(0, 0);\n\t\t\tthis.f = $throwNilPointerError;\n\t\t\tthis.arg = $ifaceNil;\n\t\t\tthis.timeout = null;\n\t\t\tthis.active = false;\n\t\t\treturn;\n\t\t}\n\t\tthis.i = i_;\n\t\tthis.when = when_;\n\t\tthis.period = period_;\n\t\tthis.f = f_;\n\t\tthis.arg = arg_;\n\t\tthis.timeout = timeout_;\n\t\tthis.active = active_;\n\t});\n\tParseError = $pkg.ParseError = $newType(0, $kindStruct, \"time.ParseError\", true, \"time\", true, function(Layout_, Value_, LayoutElem_, ValueElem_, Message_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Layout = \"\";\n\t\t\tthis.Value = \"\";\n\t\t\tthis.LayoutElem = \"\";\n\t\t\tthis.ValueElem = \"\";\n\t\t\tthis.Message = \"\";\n\t\t\treturn;\n\t\t}\n\t\tthis.Layout = Layout_;\n\t\tthis.Value = Value_;\n\t\tthis.LayoutElem = LayoutElem_;\n\t\tthis.ValueElem = ValueElem_;\n\t\tthis.Message = Message_;\n\t});\n\tTimer = $pkg.Timer = $newType(0, $kindStruct, \"time.Timer\", true, \"time\", true, function(C_, r_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.C = $chanNil;\n\t\t\tthis.r = new runtimeTimer.ptr(0, new $Int64(0, 0), new $Int64(0, 0), $throwNilPointerError, $ifaceNil, null, false);\n\t\t\treturn;\n\t\t}\n\t\tthis.C = C_;\n\t\tthis.r = r_;\n\t});\n\tTime = $pkg.Time = $newType(0, $kindStruct, \"time.Time\", true, \"time\", true, function(wall_, ext_, loc_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.wall = new $Uint64(0, 0);\n\t\t\tthis.ext = new $Int64(0, 0);\n\t\t\tthis.loc = ptrType$2.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.wall = wall_;\n\t\tthis.ext = ext_;\n\t\tthis.loc = loc_;\n\t});\n\tMonth = $pkg.Month = $newType(4, $kindInt, \"time.Month\", true, \"time\", true, null);\n\tWeekday = $pkg.Weekday = $newType(4, $kindInt, \"time.Weekday\", true, \"time\", true, null);\n\tDuration = $pkg.Duration = $newType(8, $kindInt64, \"time.Duration\", true, \"time\", true, null);\n\tLocation = $pkg.Location = $newType(0, $kindStruct, \"time.Location\", true, \"time\", true, function(name_, zone_, tx_, cacheStart_, cacheEnd_, cacheZone_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.name = \"\";\n\t\t\tthis.zone = sliceType.nil;\n\t\t\tthis.tx = sliceType$1.nil;\n\t\t\tthis.cacheStart = new $Int64(0, 0);\n\t\t\tthis.cacheEnd = new $Int64(0, 0);\n\t\t\tthis.cacheZone = ptrType.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.name = name_;\n\t\tthis.zone = zone_;\n\t\tthis.tx = tx_;\n\t\tthis.cacheStart = cacheStart_;\n\t\tthis.cacheEnd = cacheEnd_;\n\t\tthis.cacheZone = cacheZone_;\n\t});\n\tzone = $pkg.zone = $newType(0, $kindStruct, \"time.zone\", true, \"time\", false, function(name_, offset_, isDST_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.name = \"\";\n\t\t\tthis.offset = 0;\n\t\t\tthis.isDST = false;\n\t\t\treturn;\n\t\t}\n\t\tthis.name = name_;\n\t\tthis.offset = offset_;\n\t\tthis.isDST = isDST_;\n\t});\n\tzoneTrans = $pkg.zoneTrans = $newType(0, $kindStruct, \"time.zoneTrans\", true, \"time\", false, function(when_, index_, isstd_, isutc_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.when = new $Int64(0, 0);\n\t\t\tthis.index = 0;\n\t\t\tthis.isstd = false;\n\t\t\tthis.isutc = false;\n\t\t\treturn;\n\t\t}\n\t\tthis.when = when_;\n\t\tthis.index = index_;\n\t\tthis.isstd = isstd_;\n\t\tthis.isutc = isutc_;\n\t});\n\tsliceType = $sliceType(zone);\n\tsliceType$1 = $sliceType(zoneTrans);\n\tptrType = $ptrType(zone);\n\tsliceType$2 = $sliceType($String);\n\tstructType = $structType(\"\", []);\n\tarrayType = $arrayType($Uint8, 20);\n\tsliceType$3 = $sliceType($Uint8);\n\tarrayType$1 = $arrayType($Uint8, 9);\n\tarrayType$2 = $arrayType($Uint8, 64);\n\tptrType$2 = $ptrType(Location);\n\tarrayType$3 = $arrayType($Uint8, 32);\n\tfuncType$1 = $funcType([$emptyInterface, $Uintptr], [], false);\n\tptrType$3 = $ptrType(js.Object);\n\tptrType$4 = $ptrType(ParseError);\n\tptrType$5 = $ptrType(Timer);\n\tchanType$1 = $chanType(Time, false, true);\n\tptrType$7 = $ptrType(Time);\n\tinit = function() {\n\t\t$unused(Unix(new $Int64(0, 0), new $Int64(0, 0)));\n\t};\n\tinitLocal = function() {\n\t\tvar d, i, j, s;\n\t\td = new ($global.Date)();\n\t\ts = $internalize(d, $String);\n\t\ti = indexByte(s, 40);\n\t\tj = indexByte(s, 41);\n\t\tif ((i === -1) || (j === -1)) {\n\t\t\tlocalLoc.name = \"UTC\";\n\t\t\treturn;\n\t\t}\n\t\tlocalLoc.name = $substring(s, (i + 1 >> 0), j);\n\t\tlocalLoc.zone = new sliceType([new zone.ptr(localLoc.name, $imul(($parseInt(d.getTimezoneOffset()) >> 0), -60), false)]);\n\t};\n\truntimeNano = function() {\n\t\treturn $mul64($internalize(new ($global.Date)().getTime(), $Int64), new $Int64(0, 1000000));\n\t};\n\tnow = function() {\n\t\tvar _tmp, _tmp$1, _tmp$2, mono, n, nsec, sec, x;\n\t\tsec = new $Int64(0, 0);\n\t\tnsec = 0;\n\t\tmono = new $Int64(0, 0);\n\t\tn = runtimeNano();\n\t\t_tmp = $div64(n, new $Int64(0, 1000000000), false);\n\t\t_tmp$1 = (((x = $div64(n, new $Int64(0, 1000000000), true), x.$low + ((x.$high >> 31) * 4294967296)) >> 0));\n\t\t_tmp$2 = n;\n\t\tsec = _tmp;\n\t\tnsec = _tmp$1;\n\t\tmono = _tmp$2;\n\t\treturn [sec, nsec, mono];\n\t};\n\tSleep = function(d) {\n\t\tvar _r, c, d, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; c = $f.c; d = $f.d; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tc = [c];\n\t\tc[0] = new $Chan(structType, 0);\n\t\t$setTimeout((function(c) { return function() {\n\t\t\t$close(c[0]);\n\t\t}; })(c), (((x = $div64(d, new Duration(0, 1000000), false), x.$low + ((x.$high >> 31) * 4294967296)) >> 0)));\n\t\t_r = $recv(c[0]); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r[0];\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Sleep }; } $f._r = _r; $f.c = c; $f.d = d; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.Sleep = Sleep;\n\tstartTimer = function(t) {\n\t\tvar diff, t, x, x$1;\n\t\tt.active = true;\n\t\tdiff = $div64(((x = t.when, x$1 = runtimeNano(), new $Int64(x.$high - x$1.$high, x.$low - x$1.$low))), new $Int64(0, 1000000), false);\n\t\tif ((diff.$high > 0 || (diff.$high === 0 && diff.$low > 2147483647))) {\n\t\t\treturn;\n\t\t}\n\t\tif ((diff.$high < 0 || (diff.$high === 0 && diff.$low < 0))) {\n\t\t\tdiff = new $Int64(0, 0);\n\t\t}\n\t\tt.timeout = $setTimeout((function() {\n\t\t\tvar x$2, x$3, x$4;\n\t\t\tt.active = false;\n\t\t\tif (!((x$2 = t.period, (x$2.$high === 0 && x$2.$low === 0)))) {\n\t\t\t\tt.when = (x$3 = t.when, x$4 = t.period, new $Int64(x$3.$high + x$4.$high, x$3.$low + x$4.$low));\n\t\t\t\tstartTimer(t);\n\t\t\t}\n\t\t\t$go(t.f, [t.arg, 0]);\n\t\t}), $externalize(new $Int64(diff.$high + 0, diff.$low + 1), $Int64));\n\t};\n\tstopTimer = function(t) {\n\t\tvar t, wasActive;\n\t\t$global.clearTimeout(t.timeout);\n\t\twasActive = t.active;\n\t\tt.active = false;\n\t\treturn wasActive;\n\t};\n\tindexByte = function(s, c) {\n\t\tvar c, s;\n\t\treturn $parseInt(s.indexOf($global.String.fromCharCode(c))) >> 0;\n\t};\n\tstartsWithLowerCase = function(str) {\n\t\tvar c, str;\n\t\tif (str.length === 0) {\n\t\t\treturn false;\n\t\t}\n\t\tc = str.charCodeAt(0);\n\t\treturn 97 <= c && c <= 122;\n\t};\n\tnextStdChunk = function(layout) {\n\t\tvar _1, _tmp, _tmp$1, _tmp$10, _tmp$11, _tmp$12, _tmp$13, _tmp$14, _tmp$15, _tmp$16, _tmp$17, _tmp$18, _tmp$19, _tmp$2, _tmp$20, _tmp$21, _tmp$22, _tmp$23, _tmp$24, _tmp$25, _tmp$26, _tmp$27, _tmp$28, _tmp$29, _tmp$3, _tmp$30, _tmp$31, _tmp$32, _tmp$33, _tmp$34, _tmp$35, _tmp$36, _tmp$37, _tmp$38, _tmp$39, _tmp$4, _tmp$40, _tmp$41, _tmp$42, _tmp$43, _tmp$44, _tmp$45, _tmp$46, _tmp$47, _tmp$48, _tmp$49, _tmp$5, _tmp$50, _tmp$51, _tmp$52, _tmp$53, _tmp$54, _tmp$55, _tmp$56, _tmp$57, _tmp$58, _tmp$59, _tmp$6, _tmp$60, _tmp$61, _tmp$62, _tmp$63, _tmp$64, _tmp$65, _tmp$66, _tmp$67, _tmp$68, _tmp$69, _tmp$7, _tmp$70, _tmp$71, _tmp$72, _tmp$73, _tmp$74, _tmp$75, _tmp$76, _tmp$77, _tmp$78, _tmp$79, _tmp$8, _tmp$80, _tmp$81, _tmp$82, _tmp$83, _tmp$84, _tmp$85, _tmp$86, _tmp$9, c, ch, i, j, layout, prefix, std, std$1, suffix, x;\n\t\tprefix = \"\";\n\t\tstd = 0;\n\t\tsuffix = \"\";\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < layout.length)) { break; }\n\t\t\tc = ((layout.charCodeAt(i) >> 0));\n\t\t\t_1 = c;\n\t\t\tif (_1 === (74)) {\n\t\t\t\tif (layout.length >= (i + 3 >> 0) && $substring(layout, i, (i + 3 >> 0)) === \"Jan\") {\n\t\t\t\t\tif (layout.length >= (i + 7 >> 0) && $substring(layout, i, (i + 7 >> 0)) === \"January\") {\n\t\t\t\t\t\t_tmp = $substring(layout, 0, i);\n\t\t\t\t\t\t_tmp$1 = 257;\n\t\t\t\t\t\t_tmp$2 = $substring(layout, (i + 7 >> 0));\n\t\t\t\t\t\tprefix = _tmp;\n\t\t\t\t\t\tstd = _tmp$1;\n\t\t\t\t\t\tsuffix = _tmp$2;\n\t\t\t\t\t\treturn [prefix, std, suffix];\n\t\t\t\t\t}\n\t\t\t\t\tif (!startsWithLowerCase($substring(layout, (i + 3 >> 0)))) {\n\t\t\t\t\t\t_tmp$3 = $substring(layout, 0, i);\n\t\t\t\t\t\t_tmp$4 = 258;\n\t\t\t\t\t\t_tmp$5 = $substring(layout, (i + 3 >> 0));\n\t\t\t\t\t\tprefix = _tmp$3;\n\t\t\t\t\t\tstd = _tmp$4;\n\t\t\t\t\t\tsuffix = _tmp$5;\n\t\t\t\t\t\treturn [prefix, std, suffix];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (_1 === (77)) {\n\t\t\t\tif (layout.length >= (i + 3 >> 0)) {\n\t\t\t\t\tif ($substring(layout, i, (i + 3 >> 0)) === \"Mon\") {\n\t\t\t\t\t\tif (layout.length >= (i + 6 >> 0) && $substring(layout, i, (i + 6 >> 0)) === \"Monday\") {\n\t\t\t\t\t\t\t_tmp$6 = $substring(layout, 0, i);\n\t\t\t\t\t\t\t_tmp$7 = 261;\n\t\t\t\t\t\t\t_tmp$8 = $substring(layout, (i + 6 >> 0));\n\t\t\t\t\t\t\tprefix = _tmp$6;\n\t\t\t\t\t\t\tstd = _tmp$7;\n\t\t\t\t\t\t\tsuffix = _tmp$8;\n\t\t\t\t\t\t\treturn [prefix, std, suffix];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!startsWithLowerCase($substring(layout, (i + 3 >> 0)))) {\n\t\t\t\t\t\t\t_tmp$9 = $substring(layout, 0, i);\n\t\t\t\t\t\t\t_tmp$10 = 262;\n\t\t\t\t\t\t\t_tmp$11 = $substring(layout, (i + 3 >> 0));\n\t\t\t\t\t\t\tprefix = _tmp$9;\n\t\t\t\t\t\t\tstd = _tmp$10;\n\t\t\t\t\t\t\tsuffix = _tmp$11;\n\t\t\t\t\t\t\treturn [prefix, std, suffix];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ($substring(layout, i, (i + 3 >> 0)) === \"MST\") {\n\t\t\t\t\t\t_tmp$12 = $substring(layout, 0, i);\n\t\t\t\t\t\t_tmp$13 = 21;\n\t\t\t\t\t\t_tmp$14 = $substring(layout, (i + 3 >> 0));\n\t\t\t\t\t\tprefix = _tmp$12;\n\t\t\t\t\t\tstd = _tmp$13;\n\t\t\t\t\t\tsuffix = _tmp$14;\n\t\t\t\t\t\treturn [prefix, std, suffix];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (_1 === (48)) {\n\t\t\t\tif (layout.length >= (i + 2 >> 0) && 49 <= layout.charCodeAt((i + 1 >> 0)) && layout.charCodeAt((i + 1 >> 0)) <= 54) {\n\t\t\t\t\t_tmp$15 = $substring(layout, 0, i);\n\t\t\t\t\t_tmp$16 = (x = layout.charCodeAt((i + 1 >> 0)) - 49 << 24 >>> 24, ((x < 0 || x >= std0x.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : std0x[x]));\n\t\t\t\t\t_tmp$17 = $substring(layout, (i + 2 >> 0));\n\t\t\t\t\tprefix = _tmp$15;\n\t\t\t\t\tstd = _tmp$16;\n\t\t\t\t\tsuffix = _tmp$17;\n\t\t\t\t\treturn [prefix, std, suffix];\n\t\t\t\t}\n\t\t\t} else if (_1 === (49)) {\n\t\t\t\tif (layout.length >= (i + 2 >> 0) && (layout.charCodeAt((i + 1 >> 0)) === 53)) {\n\t\t\t\t\t_tmp$18 = $substring(layout, 0, i);\n\t\t\t\t\t_tmp$19 = 522;\n\t\t\t\t\t_tmp$20 = $substring(layout, (i + 2 >> 0));\n\t\t\t\t\tprefix = _tmp$18;\n\t\t\t\t\tstd = _tmp$19;\n\t\t\t\t\tsuffix = _tmp$20;\n\t\t\t\t\treturn [prefix, std, suffix];\n\t\t\t\t}\n\t\t\t\t_tmp$21 = $substring(layout, 0, i);\n\t\t\t\t_tmp$22 = 259;\n\t\t\t\t_tmp$23 = $substring(layout, (i + 1 >> 0));\n\t\t\t\tprefix = _tmp$21;\n\t\t\t\tstd = _tmp$22;\n\t\t\t\tsuffix = _tmp$23;\n\t\t\t\treturn [prefix, std, suffix];\n\t\t\t} else if (_1 === (50)) {\n\t\t\t\tif (layout.length >= (i + 4 >> 0) && $substring(layout, i, (i + 4 >> 0)) === \"2006\") {\n\t\t\t\t\t_tmp$24 = $substring(layout, 0, i);\n\t\t\t\t\t_tmp$25 = 273;\n\t\t\t\t\t_tmp$26 = $substring(layout, (i + 4 >> 0));\n\t\t\t\t\tprefix = _tmp$24;\n\t\t\t\t\tstd = _tmp$25;\n\t\t\t\t\tsuffix = _tmp$26;\n\t\t\t\t\treturn [prefix, std, suffix];\n\t\t\t\t}\n\t\t\t\t_tmp$27 = $substring(layout, 0, i);\n\t\t\t\t_tmp$28 = 263;\n\t\t\t\t_tmp$29 = $substring(layout, (i + 1 >> 0));\n\t\t\t\tprefix = _tmp$27;\n\t\t\t\tstd = _tmp$28;\n\t\t\t\tsuffix = _tmp$29;\n\t\t\t\treturn [prefix, std, suffix];\n\t\t\t} else if (_1 === (95)) {\n\t\t\t\tif (layout.length >= (i + 2 >> 0) && (layout.charCodeAt((i + 1 >> 0)) === 50)) {\n\t\t\t\t\tif (layout.length >= (i + 5 >> 0) && $substring(layout, (i + 1 >> 0), (i + 5 >> 0)) === \"2006\") {\n\t\t\t\t\t\t_tmp$30 = $substring(layout, 0, (i + 1 >> 0));\n\t\t\t\t\t\t_tmp$31 = 273;\n\t\t\t\t\t\t_tmp$32 = $substring(layout, (i + 5 >> 0));\n\t\t\t\t\t\tprefix = _tmp$30;\n\t\t\t\t\t\tstd = _tmp$31;\n\t\t\t\t\t\tsuffix = _tmp$32;\n\t\t\t\t\t\treturn [prefix, std, suffix];\n\t\t\t\t\t}\n\t\t\t\t\t_tmp$33 = $substring(layout, 0, i);\n\t\t\t\t\t_tmp$34 = 264;\n\t\t\t\t\t_tmp$35 = $substring(layout, (i + 2 >> 0));\n\t\t\t\t\tprefix = _tmp$33;\n\t\t\t\t\tstd = _tmp$34;\n\t\t\t\t\tsuffix = _tmp$35;\n\t\t\t\t\treturn [prefix, std, suffix];\n\t\t\t\t}\n\t\t\t} else if (_1 === (51)) {\n\t\t\t\t_tmp$36 = $substring(layout, 0, i);\n\t\t\t\t_tmp$37 = 523;\n\t\t\t\t_tmp$38 = $substring(layout, (i + 1 >> 0));\n\t\t\t\tprefix = _tmp$36;\n\t\t\t\tstd = _tmp$37;\n\t\t\t\tsuffix = _tmp$38;\n\t\t\t\treturn [prefix, std, suffix];\n\t\t\t} else if (_1 === (52)) {\n\t\t\t\t_tmp$39 = $substring(layout, 0, i);\n\t\t\t\t_tmp$40 = 525;\n\t\t\t\t_tmp$41 = $substring(layout, (i + 1 >> 0));\n\t\t\t\tprefix = _tmp$39;\n\t\t\t\tstd = _tmp$40;\n\t\t\t\tsuffix = _tmp$41;\n\t\t\t\treturn [prefix, std, suffix];\n\t\t\t} else if (_1 === (53)) {\n\t\t\t\t_tmp$42 = $substring(layout, 0, i);\n\t\t\t\t_tmp$43 = 527;\n\t\t\t\t_tmp$44 = $substring(layout, (i + 1 >> 0));\n\t\t\t\tprefix = _tmp$42;\n\t\t\t\tstd = _tmp$43;\n\t\t\t\tsuffix = _tmp$44;\n\t\t\t\treturn [prefix, std, suffix];\n\t\t\t} else if (_1 === (80)) {\n\t\t\t\tif (layout.length >= (i + 2 >> 0) && (layout.charCodeAt((i + 1 >> 0)) === 77)) {\n\t\t\t\t\t_tmp$45 = $substring(layout, 0, i);\n\t\t\t\t\t_tmp$46 = 531;\n\t\t\t\t\t_tmp$47 = $substring(layout, (i + 2 >> 0));\n\t\t\t\t\tprefix = _tmp$45;\n\t\t\t\t\tstd = _tmp$46;\n\t\t\t\t\tsuffix = _tmp$47;\n\t\t\t\t\treturn [prefix, std, suffix];\n\t\t\t\t}\n\t\t\t} else if (_1 === (112)) {\n\t\t\t\tif (layout.length >= (i + 2 >> 0) && (layout.charCodeAt((i + 1 >> 0)) === 109)) {\n\t\t\t\t\t_tmp$48 = $substring(layout, 0, i);\n\t\t\t\t\t_tmp$49 = 532;\n\t\t\t\t\t_tmp$50 = $substring(layout, (i + 2 >> 0));\n\t\t\t\t\tprefix = _tmp$48;\n\t\t\t\t\tstd = _tmp$49;\n\t\t\t\t\tsuffix = _tmp$50;\n\t\t\t\t\treturn [prefix, std, suffix];\n\t\t\t\t}\n\t\t\t} else if (_1 === (45)) {\n\t\t\t\tif (layout.length >= (i + 7 >> 0) && $substring(layout, i, (i + 7 >> 0)) === \"-070000\") {\n\t\t\t\t\t_tmp$51 = $substring(layout, 0, i);\n\t\t\t\t\t_tmp$52 = 28;\n\t\t\t\t\t_tmp$53 = $substring(layout, (i + 7 >> 0));\n\t\t\t\t\tprefix = _tmp$51;\n\t\t\t\t\tstd = _tmp$52;\n\t\t\t\t\tsuffix = _tmp$53;\n\t\t\t\t\treturn [prefix, std, suffix];\n\t\t\t\t}\n\t\t\t\tif (layout.length >= (i + 9 >> 0) && $substring(layout, i, (i + 9 >> 0)) === \"-07:00:00\") {\n\t\t\t\t\t_tmp$54 = $substring(layout, 0, i);\n\t\t\t\t\t_tmp$55 = 31;\n\t\t\t\t\t_tmp$56 = $substring(layout, (i + 9 >> 0));\n\t\t\t\t\tprefix = _tmp$54;\n\t\t\t\t\tstd = _tmp$55;\n\t\t\t\t\tsuffix = _tmp$56;\n\t\t\t\t\treturn [prefix, std, suffix];\n\t\t\t\t}\n\t\t\t\tif (layout.length >= (i + 5 >> 0) && $substring(layout, i, (i + 5 >> 0)) === \"-0700\") {\n\t\t\t\t\t_tmp$57 = $substring(layout, 0, i);\n\t\t\t\t\t_tmp$58 = 27;\n\t\t\t\t\t_tmp$59 = $substring(layout, (i + 5 >> 0));\n\t\t\t\t\tprefix = _tmp$57;\n\t\t\t\t\tstd = _tmp$58;\n\t\t\t\t\tsuffix = _tmp$59;\n\t\t\t\t\treturn [prefix, std, suffix];\n\t\t\t\t}\n\t\t\t\tif (layout.length >= (i + 6 >> 0) && $substring(layout, i, (i + 6 >> 0)) === \"-07:00\") {\n\t\t\t\t\t_tmp$60 = $substring(layout, 0, i);\n\t\t\t\t\t_tmp$61 = 30;\n\t\t\t\t\t_tmp$62 = $substring(layout, (i + 6 >> 0));\n\t\t\t\t\tprefix = _tmp$60;\n\t\t\t\t\tstd = _tmp$61;\n\t\t\t\t\tsuffix = _tmp$62;\n\t\t\t\t\treturn [prefix, std, suffix];\n\t\t\t\t}\n\t\t\t\tif (layout.length >= (i + 3 >> 0) && $substring(layout, i, (i + 3 >> 0)) === \"-07\") {\n\t\t\t\t\t_tmp$63 = $substring(layout, 0, i);\n\t\t\t\t\t_tmp$64 = 29;\n\t\t\t\t\t_tmp$65 = $substring(layout, (i + 3 >> 0));\n\t\t\t\t\tprefix = _tmp$63;\n\t\t\t\t\tstd = _tmp$64;\n\t\t\t\t\tsuffix = _tmp$65;\n\t\t\t\t\treturn [prefix, std, suffix];\n\t\t\t\t}\n\t\t\t} else if (_1 === (90)) {\n\t\t\t\tif (layout.length >= (i + 7 >> 0) && $substring(layout, i, (i + 7 >> 0)) === \"Z070000\") {\n\t\t\t\t\t_tmp$66 = $substring(layout, 0, i);\n\t\t\t\t\t_tmp$67 = 23;\n\t\t\t\t\t_tmp$68 = $substring(layout, (i + 7 >> 0));\n\t\t\t\t\tprefix = _tmp$66;\n\t\t\t\t\tstd = _tmp$67;\n\t\t\t\t\tsuffix = _tmp$68;\n\t\t\t\t\treturn [prefix, std, suffix];\n\t\t\t\t}\n\t\t\t\tif (layout.length >= (i + 9 >> 0) && $substring(layout, i, (i + 9 >> 0)) === \"Z07:00:00\") {\n\t\t\t\t\t_tmp$69 = $substring(layout, 0, i);\n\t\t\t\t\t_tmp$70 = 26;\n\t\t\t\t\t_tmp$71 = $substring(layout, (i + 9 >> 0));\n\t\t\t\t\tprefix = _tmp$69;\n\t\t\t\t\tstd = _tmp$70;\n\t\t\t\t\tsuffix = _tmp$71;\n\t\t\t\t\treturn [prefix, std, suffix];\n\t\t\t\t}\n\t\t\t\tif (layout.length >= (i + 5 >> 0) && $substring(layout, i, (i + 5 >> 0)) === \"Z0700\") {\n\t\t\t\t\t_tmp$72 = $substring(layout, 0, i);\n\t\t\t\t\t_tmp$73 = 22;\n\t\t\t\t\t_tmp$74 = $substring(layout, (i + 5 >> 0));\n\t\t\t\t\tprefix = _tmp$72;\n\t\t\t\t\tstd = _tmp$73;\n\t\t\t\t\tsuffix = _tmp$74;\n\t\t\t\t\treturn [prefix, std, suffix];\n\t\t\t\t}\n\t\t\t\tif (layout.length >= (i + 6 >> 0) && $substring(layout, i, (i + 6 >> 0)) === \"Z07:00\") {\n\t\t\t\t\t_tmp$75 = $substring(layout, 0, i);\n\t\t\t\t\t_tmp$76 = 25;\n\t\t\t\t\t_tmp$77 = $substring(layout, (i + 6 >> 0));\n\t\t\t\t\tprefix = _tmp$75;\n\t\t\t\t\tstd = _tmp$76;\n\t\t\t\t\tsuffix = _tmp$77;\n\t\t\t\t\treturn [prefix, std, suffix];\n\t\t\t\t}\n\t\t\t\tif (layout.length >= (i + 3 >> 0) && $substring(layout, i, (i + 3 >> 0)) === \"Z07\") {\n\t\t\t\t\t_tmp$78 = $substring(layout, 0, i);\n\t\t\t\t\t_tmp$79 = 24;\n\t\t\t\t\t_tmp$80 = $substring(layout, (i + 3 >> 0));\n\t\t\t\t\tprefix = _tmp$78;\n\t\t\t\t\tstd = _tmp$79;\n\t\t\t\t\tsuffix = _tmp$80;\n\t\t\t\t\treturn [prefix, std, suffix];\n\t\t\t\t}\n\t\t\t} else if (_1 === (46)) {\n\t\t\t\tif ((i + 1 >> 0) < layout.length && ((layout.charCodeAt((i + 1 >> 0)) === 48) || (layout.charCodeAt((i + 1 >> 0)) === 57))) {\n\t\t\t\t\tch = layout.charCodeAt((i + 1 >> 0));\n\t\t\t\t\tj = i + 1 >> 0;\n\t\t\t\t\twhile (true) {\n\t\t\t\t\t\tif (!(j < layout.length && (layout.charCodeAt(j) === ch))) { break; }\n\t\t\t\t\t\tj = j + (1) >> 0;\n\t\t\t\t\t}\n\t\t\t\t\tif (!isDigit(layout, j)) {\n\t\t\t\t\t\tstd$1 = 32;\n\t\t\t\t\t\tif (layout.charCodeAt((i + 1 >> 0)) === 57) {\n\t\t\t\t\t\t\tstd$1 = 33;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstd$1 = std$1 | ((((j - ((i + 1 >> 0)) >> 0)) << 16 >> 0));\n\t\t\t\t\t\t_tmp$81 = $substring(layout, 0, i);\n\t\t\t\t\t\t_tmp$82 = std$1;\n\t\t\t\t\t\t_tmp$83 = $substring(layout, j);\n\t\t\t\t\t\tprefix = _tmp$81;\n\t\t\t\t\t\tstd = _tmp$82;\n\t\t\t\t\t\tsuffix = _tmp$83;\n\t\t\t\t\t\treturn [prefix, std, suffix];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\t_tmp$84 = layout;\n\t\t_tmp$85 = 0;\n\t\t_tmp$86 = \"\";\n\t\tprefix = _tmp$84;\n\t\tstd = _tmp$85;\n\t\tsuffix = _tmp$86;\n\t\treturn [prefix, std, suffix];\n\t};\n\tmatch = function(s1, s2) {\n\t\tvar c1, c2, i, s1, s2;\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < s1.length)) { break; }\n\t\t\tc1 = s1.charCodeAt(i);\n\t\t\tc2 = s2.charCodeAt(i);\n\t\t\tif (!((c1 === c2))) {\n\t\t\t\tc1 = (c1 | (32)) >>> 0;\n\t\t\t\tc2 = (c2 | (32)) >>> 0;\n\t\t\t\tif (!((c1 === c2)) || c1 < 97 || c1 > 122) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\treturn true;\n\t};\n\tlookup = function(tab, val) {\n\t\tvar _i, _ref, i, tab, v, val;\n\t\t_ref = tab;\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\ti = _i;\n\t\t\tv = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\tif (val.length >= v.length && match($substring(val, 0, v.length), v)) {\n\t\t\t\treturn [i, $substring(val, v.length), $ifaceNil];\n\t\t\t}\n\t\t\t_i++;\n\t\t}\n\t\treturn [-1, val, errBad];\n\t};\n\tappendInt = function(b, x, width) {\n\t\tvar _q, b, buf, i, q, u, w, width, x;\n\t\tu = ((x >>> 0));\n\t\tif (x < 0) {\n\t\t\tb = $append(b, 45);\n\t\t\tu = ((-x >>> 0));\n\t\t}\n\t\tbuf = arrayType.zero();\n\t\ti = 20;\n\t\twhile (true) {\n\t\t\tif (!(u >= 10)) { break; }\n\t\t\ti = i - (1) >> 0;\n\t\t\tq = (_q = u / 10, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >>> 0 : $throwRuntimeError(\"integer divide by zero\"));\n\t\t\t((i < 0 || i >= buf.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf[i] = ((((48 + u >>> 0) - (q * 10 >>> 0) >>> 0) << 24 >>> 24)));\n\t\t\tu = q;\n\t\t}\n\t\ti = i - (1) >> 0;\n\t\t((i < 0 || i >= buf.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf[i] = (((48 + u >>> 0) << 24 >>> 24)));\n\t\tw = 20 - i >> 0;\n\t\twhile (true) {\n\t\t\tif (!(w < width)) { break; }\n\t\t\tb = $append(b, 48);\n\t\t\tw = w + (1) >> 0;\n\t\t}\n\t\treturn $appendSlice(b, $subslice(new sliceType$3(buf), i));\n\t};\n\tatoi = function(s) {\n\t\tvar _tmp, _tmp$1, _tmp$2, _tmp$3, _tuple, err, neg, q, rem, s, x;\n\t\tx = 0;\n\t\terr = $ifaceNil;\n\t\tneg = false;\n\t\tif (!(s === \"\") && ((s.charCodeAt(0) === 45) || (s.charCodeAt(0) === 43))) {\n\t\t\tneg = s.charCodeAt(0) === 45;\n\t\t\ts = $substring(s, 1);\n\t\t}\n\t\t_tuple = leadingInt(s);\n\t\tq = _tuple[0];\n\t\trem = _tuple[1];\n\t\terr = _tuple[2];\n\t\tx = (((q.$low + ((q.$high >> 31) * 4294967296)) >> 0));\n\t\tif (!($interfaceIsEqual(err, $ifaceNil)) || !(rem === \"\")) {\n\t\t\t_tmp = 0;\n\t\t\t_tmp$1 = atoiError;\n\t\t\tx = _tmp;\n\t\t\terr = _tmp$1;\n\t\t\treturn [x, err];\n\t\t}\n\t\tif (neg) {\n\t\t\tx = -x;\n\t\t}\n\t\t_tmp$2 = x;\n\t\t_tmp$3 = $ifaceNil;\n\t\tx = _tmp$2;\n\t\terr = _tmp$3;\n\t\treturn [x, err];\n\t};\n\tformatNano = function(b, nanosec, n, trim) {\n\t\tvar _q, _r, b, buf, n, nanosec, start, trim, u, x;\n\t\tu = nanosec;\n\t\tbuf = arrayType$1.zero();\n\t\tstart = 9;\n\t\twhile (true) {\n\t\t\tif (!(start > 0)) { break; }\n\t\t\tstart = start - (1) >> 0;\n\t\t\t((start < 0 || start >= buf.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf[start] = ((((_r = u % 10, _r === _r ? _r : $throwRuntimeError(\"integer divide by zero\")) + 48 >>> 0) << 24 >>> 24)));\n\t\t\tu = (_q = u / (10), (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >>> 0 : $throwRuntimeError(\"integer divide by zero\"));\n\t\t}\n\t\tif (n > 9) {\n\t\t\tn = 9;\n\t\t}\n\t\tif (trim) {\n\t\t\twhile (true) {\n\t\t\t\tif (!(n > 0 && ((x = n - 1 >> 0, ((x < 0 || x >= buf.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf[x])) === 48))) { break; }\n\t\t\t\tn = n - (1) >> 0;\n\t\t\t}\n\t\t\tif (n === 0) {\n\t\t\t\treturn b;\n\t\t\t}\n\t\t}\n\t\tb = $append(b, 46);\n\t\treturn $appendSlice(b, $subslice(new sliceType$3(buf), 0, n));\n\t};\n\tTime.ptr.prototype.String = function() {\n\t\tvar _r, _tmp, _tmp$1, _tmp$2, _tmp$3, buf, m0, m1, m2, s, sign, t, wid, x, x$1, x$2, x$3, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; buf = $f.buf; m0 = $f.m0; m1 = $f.m1; m2 = $f.m2; s = $f.s; sign = $f.sign; t = $f.t; wid = $f.wid; x = $f.x; x$1 = $f.x$1; x$2 = $f.x$2; x$3 = $f.x$3; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tt = this;\n\t\t_r = $clone(t, Time).Format(\"2006-01-02 15:04:05.999999999 -0700 MST\"); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\ts = _r;\n\t\tif (!((x = (x$1 = t.wall, new $Uint64(x$1.$high & 2147483648, (x$1.$low & 0) >>> 0)), (x.$high === 0 && x.$low === 0)))) {\n\t\t\tm2 = ((x$2 = t.ext, new $Uint64(x$2.$high, x$2.$low)));\n\t\t\tsign = 43;\n\t\t\tif ((x$3 = t.ext, (x$3.$high < 0 || (x$3.$high === 0 && x$3.$low < 0)))) {\n\t\t\t\tsign = 45;\n\t\t\t\tm2 = new $Uint64(-m2.$high, -m2.$low);\n\t\t\t}\n\t\t\t_tmp = $div64(m2, new $Uint64(0, 1000000000), false);\n\t\t\t_tmp$1 = $div64(m2, new $Uint64(0, 1000000000), true);\n\t\t\tm1 = _tmp;\n\t\t\tm2 = _tmp$1;\n\t\t\t_tmp$2 = $div64(m1, new $Uint64(0, 1000000000), false);\n\t\t\t_tmp$3 = $div64(m1, new $Uint64(0, 1000000000), true);\n\t\t\tm0 = _tmp$2;\n\t\t\tm1 = _tmp$3;\n\t\t\tbuf = sliceType$3.nil;\n\t\t\tbuf = $appendSlice(buf, \" m=\");\n\t\t\tbuf = $append(buf, sign);\n\t\t\twid = 0;\n\t\t\tif (!((m0.$high === 0 && m0.$low === 0))) {\n\t\t\t\tbuf = appendInt(buf, ((m0.$low >> 0)), 0);\n\t\t\t\twid = 9;\n\t\t\t}\n\t\t\tbuf = appendInt(buf, ((m1.$low >> 0)), wid);\n\t\t\tbuf = $append(buf, 46);\n\t\t\tbuf = appendInt(buf, ((m2.$low >> 0)), 9);\n\t\t\ts = s + (($bytesToString(buf)));\n\t\t}\n\t\t$s = -1; return s;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Time.ptr.prototype.String }; } $f._r = _r; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f.buf = buf; $f.m0 = m0; $f.m1 = m1; $f.m2 = m2; $f.s = s; $f.sign = sign; $f.t = t; $f.wid = wid; $f.x = x; $f.x$1 = x$1; $f.x$2 = x$2; $f.x$3 = x$3; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tTime.prototype.String = function() { return this.$val.String(); };\n\tTime.ptr.prototype.Format = function(layout) {\n\t\tvar _r, b, buf, layout, max, t, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; b = $f.b; buf = $f.buf; layout = $f.layout; max = $f.max; t = $f.t; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tt = this;\n\t\tb = sliceType$3.nil;\n\t\tmax = layout.length + 10 >> 0;\n\t\tif (max < 64) {\n\t\t\tbuf = arrayType$2.zero();\n\t\t\tb = $subslice(new sliceType$3(buf), 0, 0);\n\t\t} else {\n\t\t\tb = $makeSlice(sliceType$3, 0, max);\n\t\t}\n\t\t_r = $clone(t, Time).AppendFormat(b, layout); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tb = _r;\n\t\t$s = -1; return ($bytesToString(b));\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Time.ptr.prototype.Format }; } $f._r = _r; $f.b = b; $f.buf = buf; $f.layout = layout; $f.max = max; $f.t = t; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tTime.prototype.Format = function(layout) { return this.$val.Format(layout); };\n\tTime.ptr.prototype.AppendFormat = function(b, layout) {\n\t\tvar _1, _q, _q$1, _q$2, _q$3, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _tuple, _tuple$1, _tuple$2, _tuple$3, abs, absoffset, b, day, hour, hr, hr$1, layout, m, min, month, name, offset, prefix, s, sec, std, suffix, t, y, year, zone$1, zone$2, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _q = $f._q; _q$1 = $f._q$1; _q$2 = $f._q$2; _q$3 = $f._q$3; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; _tuple$3 = $f._tuple$3; abs = $f.abs; absoffset = $f.absoffset; b = $f.b; day = $f.day; hour = $f.hour; hr = $f.hr; hr$1 = $f.hr$1; layout = $f.layout; m = $f.m; min = $f.min; month = $f.month; name = $f.name; offset = $f.offset; prefix = $f.prefix; s = $f.s; sec = $f.sec; std = $f.std; suffix = $f.suffix; t = $f.t; y = $f.y; year = $f.year; zone$1 = $f.zone$1; zone$2 = $f.zone$2; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tt = this;\n\t\t_r = $clone(t, Time).locabs(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tname = _tuple[0];\n\t\toffset = _tuple[1];\n\t\tabs = _tuple[2];\n\t\tyear = -1;\n\t\tmonth = 0;\n\t\tday = 0;\n\t\thour = -1;\n\t\tmin = 0;\n\t\tsec = 0;\n\t\twhile (true) {\n\t\t\tif (!(!(layout === \"\"))) { break; }\n\t\t\t_tuple$1 = nextStdChunk(layout);\n\t\t\tprefix = _tuple$1[0];\n\t\t\tstd = _tuple$1[1];\n\t\t\tsuffix = _tuple$1[2];\n\t\t\tif (!(prefix === \"\")) {\n\t\t\t\tb = $appendSlice(b, prefix);\n\t\t\t}\n\t\t\tif (std === 0) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tlayout = suffix;\n\t\t\tif (year < 0 && !(((std & 256) === 0))) {\n\t\t\t\t_tuple$2 = absDate(abs, true);\n\t\t\t\tyear = _tuple$2[0];\n\t\t\t\tmonth = _tuple$2[1];\n\t\t\t\tday = _tuple$2[2];\n\t\t\t}\n\t\t\tif (hour < 0 && !(((std & 512) === 0))) {\n\t\t\t\t_tuple$3 = absClock(abs);\n\t\t\t\thour = _tuple$3[0];\n\t\t\t\tmin = _tuple$3[1];\n\t\t\t\tsec = _tuple$3[2];\n\t\t\t}\n\t\t\tswitch (0) { default:\n\t\t\t\t_1 = std & 65535;\n\t\t\t\tif (_1 === (274)) {\n\t\t\t\t\ty = year;\n\t\t\t\t\tif (y < 0) {\n\t\t\t\t\t\ty = -y;\n\t\t\t\t\t}\n\t\t\t\t\tb = appendInt(b, (_r$1 = y % 100, _r$1 === _r$1 ? _r$1 : $throwRuntimeError(\"integer divide by zero\")), 2);\n\t\t\t\t} else if (_1 === (273)) {\n\t\t\t\t\tb = appendInt(b, year, 4);\n\t\t\t\t} else if (_1 === (258)) {\n\t\t\t\t\tb = $appendSlice(b, $substring(new Month(month).String(), 0, 3));\n\t\t\t\t} else if (_1 === (257)) {\n\t\t\t\t\tm = new Month(month).String();\n\t\t\t\t\tb = $appendSlice(b, m);\n\t\t\t\t} else if (_1 === (259)) {\n\t\t\t\t\tb = appendInt(b, ((month >> 0)), 0);\n\t\t\t\t} else if (_1 === (260)) {\n\t\t\t\t\tb = appendInt(b, ((month >> 0)), 2);\n\t\t\t\t} else if (_1 === (262)) {\n\t\t\t\t\tb = $appendSlice(b, $substring(new Weekday(absWeekday(abs)).String(), 0, 3));\n\t\t\t\t} else if (_1 === (261)) {\n\t\t\t\t\ts = new Weekday(absWeekday(abs)).String();\n\t\t\t\t\tb = $appendSlice(b, s);\n\t\t\t\t} else if (_1 === (263)) {\n\t\t\t\t\tb = appendInt(b, day, 0);\n\t\t\t\t} else if (_1 === (264)) {\n\t\t\t\t\tif (day < 10) {\n\t\t\t\t\t\tb = $append(b, 32);\n\t\t\t\t\t}\n\t\t\t\t\tb = appendInt(b, day, 0);\n\t\t\t\t} else if (_1 === (265)) {\n\t\t\t\t\tb = appendInt(b, day, 2);\n\t\t\t\t} else if (_1 === (522)) {\n\t\t\t\t\tb = appendInt(b, hour, 2);\n\t\t\t\t} else if (_1 === (523)) {\n\t\t\t\t\thr = (_r$2 = hour % 12, _r$2 === _r$2 ? _r$2 : $throwRuntimeError(\"integer divide by zero\"));\n\t\t\t\t\tif (hr === 0) {\n\t\t\t\t\t\thr = 12;\n\t\t\t\t\t}\n\t\t\t\t\tb = appendInt(b, hr, 0);\n\t\t\t\t} else if (_1 === (524)) {\n\t\t\t\t\thr$1 = (_r$3 = hour % 12, _r$3 === _r$3 ? _r$3 : $throwRuntimeError(\"integer divide by zero\"));\n\t\t\t\t\tif (hr$1 === 0) {\n\t\t\t\t\t\thr$1 = 12;\n\t\t\t\t\t}\n\t\t\t\t\tb = appendInt(b, hr$1, 2);\n\t\t\t\t} else if (_1 === (525)) {\n\t\t\t\t\tb = appendInt(b, min, 0);\n\t\t\t\t} else if (_1 === (526)) {\n\t\t\t\t\tb = appendInt(b, min, 2);\n\t\t\t\t} else if (_1 === (527)) {\n\t\t\t\t\tb = appendInt(b, sec, 0);\n\t\t\t\t} else if (_1 === (528)) {\n\t\t\t\t\tb = appendInt(b, sec, 2);\n\t\t\t\t} else if (_1 === (531)) {\n\t\t\t\t\tif (hour >= 12) {\n\t\t\t\t\t\tb = $appendSlice(b, \"PM\");\n\t\t\t\t\t} else {\n\t\t\t\t\t\tb = $appendSlice(b, \"AM\");\n\t\t\t\t\t}\n\t\t\t\t} else if (_1 === (532)) {\n\t\t\t\t\tif (hour >= 12) {\n\t\t\t\t\t\tb = $appendSlice(b, \"pm\");\n\t\t\t\t\t} else {\n\t\t\t\t\t\tb = $appendSlice(b, \"am\");\n\t\t\t\t\t}\n\t\t\t\t} else if ((_1 === (22)) || (_1 === (25)) || (_1 === (23)) || (_1 === (24)) || (_1 === (26)) || (_1 === (27)) || (_1 === (30)) || (_1 === (28)) || (_1 === (29)) || (_1 === (31))) {\n\t\t\t\t\tif ((offset === 0) && ((std === 22) || (std === 25) || (std === 23) || (std === 24) || (std === 26))) {\n\t\t\t\t\t\tb = $append(b, 90);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tzone$1 = (_q = offset / 60, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError(\"integer divide by zero\"));\n\t\t\t\t\tabsoffset = offset;\n\t\t\t\t\tif (zone$1 < 0) {\n\t\t\t\t\t\tb = $append(b, 45);\n\t\t\t\t\t\tzone$1 = -zone$1;\n\t\t\t\t\t\tabsoffset = -absoffset;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tb = $append(b, 43);\n\t\t\t\t\t}\n\t\t\t\t\tb = appendInt(b, (_q$1 = zone$1 / 60, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError(\"integer divide by zero\")), 2);\n\t\t\t\t\tif ((std === 25) || (std === 30) || (std === 26) || (std === 31)) {\n\t\t\t\t\t\tb = $append(b, 58);\n\t\t\t\t\t}\n\t\t\t\t\tif (!((std === 29)) && !((std === 24))) {\n\t\t\t\t\t\tb = appendInt(b, (_r$4 = zone$1 % 60, _r$4 === _r$4 ? _r$4 : $throwRuntimeError(\"integer divide by zero\")), 2);\n\t\t\t\t\t}\n\t\t\t\t\tif ((std === 23) || (std === 28) || (std === 31) || (std === 26)) {\n\t\t\t\t\t\tif ((std === 31) || (std === 26)) {\n\t\t\t\t\t\t\tb = $append(b, 58);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tb = appendInt(b, (_r$5 = absoffset % 60, _r$5 === _r$5 ? _r$5 : $throwRuntimeError(\"integer divide by zero\")), 2);\n\t\t\t\t\t}\n\t\t\t\t} else if (_1 === (21)) {\n\t\t\t\t\tif (!(name === \"\")) {\n\t\t\t\t\t\tb = $appendSlice(b, name);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tzone$2 = (_q$2 = offset / 60, (_q$2 === _q$2 && _q$2 !== 1/0 && _q$2 !== -1/0) ? _q$2 >> 0 : $throwRuntimeError(\"integer divide by zero\"));\n\t\t\t\t\tif (zone$2 < 0) {\n\t\t\t\t\t\tb = $append(b, 45);\n\t\t\t\t\t\tzone$2 = -zone$2;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tb = $append(b, 43);\n\t\t\t\t\t}\n\t\t\t\t\tb = appendInt(b, (_q$3 = zone$2 / 60, (_q$3 === _q$3 && _q$3 !== 1/0 && _q$3 !== -1/0) ? _q$3 >> 0 : $throwRuntimeError(\"integer divide by zero\")), 2);\n\t\t\t\t\tb = appendInt(b, (_r$6 = zone$2 % 60, _r$6 === _r$6 ? _r$6 : $throwRuntimeError(\"integer divide by zero\")), 2);\n\t\t\t\t} else if ((_1 === (32)) || (_1 === (33))) {\n\t\t\t\t\tb = formatNano(b, (($clone(t, Time).Nanosecond() >>> 0)), std >> 16 >> 0, (std & 65535) === 33);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t$s = -1; return b;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Time.ptr.prototype.AppendFormat }; } $f._1 = _1; $f._q = _q; $f._q$1 = _q$1; $f._q$2 = _q$2; $f._q$3 = _q$3; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f._tuple$3 = _tuple$3; $f.abs = abs; $f.absoffset = absoffset; $f.b = b; $f.day = day; $f.hour = hour; $f.hr = hr; $f.hr$1 = hr$1; $f.layout = layout; $f.m = m; $f.min = min; $f.month = month; $f.name = name; $f.offset = offset; $f.prefix = prefix; $f.s = s; $f.sec = sec; $f.std = std; $f.suffix = suffix; $f.t = t; $f.y = y; $f.year = year; $f.zone$1 = zone$1; $f.zone$2 = zone$2; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tTime.prototype.AppendFormat = function(b, layout) { return this.$val.AppendFormat(b, layout); };\n\tquote = function(s) {\n\t\tvar s;\n\t\treturn \"\\\"\" + s + \"\\\"\";\n\t};\n\tParseError.ptr.prototype.Error = function() {\n\t\tvar e;\n\t\te = this;\n\t\tif (e.Message === \"\") {\n\t\t\treturn \"parsing time \" + quote(e.Value) + \" as \" + quote(e.Layout) + \": cannot parse \" + quote(e.ValueElem) + \" as \" + quote(e.LayoutElem);\n\t\t}\n\t\treturn \"parsing time \" + quote(e.Value) + e.Message;\n\t};\n\tParseError.prototype.Error = function() { return this.$val.Error(); };\n\tisDigit = function(s, i) {\n\t\tvar c, i, s;\n\t\tif (s.length <= i) {\n\t\t\treturn false;\n\t\t}\n\t\tc = s.charCodeAt(i);\n\t\treturn 48 <= c && c <= 57;\n\t};\n\tgetnum = function(s, fixed) {\n\t\tvar fixed, s;\n\t\tif (!isDigit(s, 0)) {\n\t\t\treturn [0, s, errBad];\n\t\t}\n\t\tif (!isDigit(s, 1)) {\n\t\t\tif (fixed) {\n\t\t\t\treturn [0, s, errBad];\n\t\t\t}\n\t\t\treturn [(((s.charCodeAt(0) - 48 << 24 >>> 24) >> 0)), $substring(s, 1), $ifaceNil];\n\t\t}\n\t\treturn [($imul((((s.charCodeAt(0) - 48 << 24 >>> 24) >> 0)), 10)) + (((s.charCodeAt(1) - 48 << 24 >>> 24) >> 0)) >> 0, $substring(s, 2), $ifaceNil];\n\t};\n\tcutspace = function(s) {\n\t\tvar s;\n\t\twhile (true) {\n\t\t\tif (!(s.length > 0 && (s.charCodeAt(0) === 32))) { break; }\n\t\t\ts = $substring(s, 1);\n\t\t}\n\t\treturn s;\n\t};\n\tskip = function(value, prefix) {\n\t\tvar prefix, value;\n\t\twhile (true) {\n\t\t\tif (!(prefix.length > 0)) { break; }\n\t\t\tif (prefix.charCodeAt(0) === 32) {\n\t\t\t\tif (value.length > 0 && !((value.charCodeAt(0) === 32))) {\n\t\t\t\t\treturn [value, errBad];\n\t\t\t\t}\n\t\t\t\tprefix = cutspace(prefix);\n\t\t\t\tvalue = cutspace(value);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif ((value.length === 0) || !((value.charCodeAt(0) === prefix.charCodeAt(0)))) {\n\t\t\t\treturn [value, errBad];\n\t\t\t}\n\t\t\tprefix = $substring(prefix, 1);\n\t\t\tvalue = $substring(value, 1);\n\t\t}\n\t\treturn [value, $ifaceNil];\n\t};\n\tParse = function(layout, value) {\n\t\tvar _r, layout, value, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; layout = $f.layout; value = $f.value; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = parse(layout, value, $pkg.UTC, $pkg.Local); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Parse }; } $f._r = _r; $f.layout = layout; $f.value = value; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.Parse = Parse;\n\tparse = function(layout, value, defaultLocation, local) {\n\t\tvar _1, _2, _3, _4, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _tmp, _tmp$1, _tmp$10, _tmp$11, _tmp$12, _tmp$13, _tmp$14, _tmp$15, _tmp$16, _tmp$17, _tmp$18, _tmp$19, _tmp$2, _tmp$20, _tmp$21, _tmp$22, _tmp$23, _tmp$24, _tmp$25, _tmp$26, _tmp$27, _tmp$28, _tmp$29, _tmp$3, _tmp$30, _tmp$31, _tmp$32, _tmp$33, _tmp$34, _tmp$35, _tmp$36, _tmp$37, _tmp$38, _tmp$39, _tmp$4, _tmp$40, _tmp$41, _tmp$42, _tmp$43, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, _tuple, _tuple$1, _tuple$10, _tuple$11, _tuple$12, _tuple$13, _tuple$14, _tuple$15, _tuple$16, _tuple$17, _tuple$18, _tuple$19, _tuple$2, _tuple$20, _tuple$21, _tuple$22, _tuple$23, _tuple$24, _tuple$3, _tuple$4, _tuple$5, _tuple$6, _tuple$7, _tuple$8, _tuple$9, alayout, amSet, avalue, day, defaultLocation, err, hour, hour$1, hr, i, layout, local, min, min$1, mm, month, n, n$1, name, ndigit, nsec, offset, offset$1, ok, ok$1, p, pmSet, prefix, rangeErrString, sec, seconds, sign, ss, std, stdstr, suffix, t, t$1, value, x, x$1, year, z, zoneName, zoneOffset, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _2 = $f._2; _3 = $f._3; _4 = $f._4; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$10 = $f._tmp$10; _tmp$11 = $f._tmp$11; _tmp$12 = $f._tmp$12; _tmp$13 = $f._tmp$13; _tmp$14 = $f._tmp$14; _tmp$15 = $f._tmp$15; _tmp$16 = $f._tmp$16; _tmp$17 = $f._tmp$17; _tmp$18 = $f._tmp$18; _tmp$19 = $f._tmp$19; _tmp$2 = $f._tmp$2; _tmp$20 = $f._tmp$20; _tmp$21 = $f._tmp$21; _tmp$22 = $f._tmp$22; _tmp$23 = $f._tmp$23; _tmp$24 = $f._tmp$24; _tmp$25 = $f._tmp$25; _tmp$26 = $f._tmp$26; _tmp$27 = $f._tmp$27; _tmp$28 = $f._tmp$28; _tmp$29 = $f._tmp$29; _tmp$3 = $f._tmp$3; _tmp$30 = $f._tmp$30; _tmp$31 = $f._tmp$31; _tmp$32 = $f._tmp$32; _tmp$33 = $f._tmp$33; _tmp$34 = $f._tmp$34; _tmp$35 = $f._tmp$35; _tmp$36 = $f._tmp$36; _tmp$37 = $f._tmp$37; _tmp$38 = $f._tmp$38; _tmp$39 = $f._tmp$39; _tmp$4 = $f._tmp$4; _tmp$40 = $f._tmp$40; _tmp$41 = $f._tmp$41; _tmp$42 = $f._tmp$42; _tmp$43 = $f._tmp$43; _tmp$5 = $f._tmp$5; _tmp$6 = $f._tmp$6; _tmp$7 = $f._tmp$7; _tmp$8 = $f._tmp$8; _tmp$9 = $f._tmp$9; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$10 = $f._tuple$10; _tuple$11 = $f._tuple$11; _tuple$12 = $f._tuple$12; _tuple$13 = $f._tuple$13; _tuple$14 = $f._tuple$14; _tuple$15 = $f._tuple$15; _tuple$16 = $f._tuple$16; _tuple$17 = $f._tuple$17; _tuple$18 = $f._tuple$18; _tuple$19 = $f._tuple$19; _tuple$2 = $f._tuple$2; _tuple$20 = $f._tuple$20; _tuple$21 = $f._tuple$21; _tuple$22 = $f._tuple$22; _tuple$23 = $f._tuple$23; _tuple$24 = $f._tuple$24; _tuple$3 = $f._tuple$3; _tuple$4 = $f._tuple$4; _tuple$5 = $f._tuple$5; _tuple$6 = $f._tuple$6; _tuple$7 = $f._tuple$7; _tuple$8 = $f._tuple$8; _tuple$9 = $f._tuple$9; alayout = $f.alayout; amSet = $f.amSet; avalue = $f.avalue; day = $f.day; defaultLocation = $f.defaultLocation; err = $f.err; hour = $f.hour; hour$1 = $f.hour$1; hr = $f.hr; i = $f.i; layout = $f.layout; local = $f.local; min = $f.min; min$1 = $f.min$1; mm = $f.mm; month = $f.month; n = $f.n; n$1 = $f.n$1; name = $f.name; ndigit = $f.ndigit; nsec = $f.nsec; offset = $f.offset; offset$1 = $f.offset$1; ok = $f.ok; ok$1 = $f.ok$1; p = $f.p; pmSet = $f.pmSet; prefix = $f.prefix; rangeErrString = $f.rangeErrString; sec = $f.sec; seconds = $f.seconds; sign = $f.sign; ss = $f.ss; std = $f.std; stdstr = $f.stdstr; suffix = $f.suffix; t = $f.t; t$1 = $f.t$1; value = $f.value; x = $f.x; x$1 = $f.x$1; year = $f.year; z = $f.z; zoneName = $f.zoneName; zoneOffset = $f.zoneOffset; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_tmp = layout;\n\t\t_tmp$1 = value;\n\t\talayout = _tmp;\n\t\tavalue = _tmp$1;\n\t\trangeErrString = \"\";\n\t\tamSet = false;\n\t\tpmSet = false;\n\t\tyear = 0;\n\t\tmonth = 1;\n\t\tday = 1;\n\t\thour = 0;\n\t\tmin = 0;\n\t\tsec = 0;\n\t\tnsec = 0;\n\t\tz = ptrType$2.nil;\n\t\tzoneOffset = -1;\n\t\tzoneName = \"\";\n\t\twhile (true) {\n\t\t\terr = $ifaceNil;\n\t\t\t_tuple = nextStdChunk(layout);\n\t\t\tprefix = _tuple[0];\n\t\t\tstd = _tuple[1];\n\t\t\tsuffix = _tuple[2];\n\t\t\tstdstr = $substring(layout, prefix.length, (layout.length - suffix.length >> 0));\n\t\t\t_tuple$1 = skip(value, prefix);\n\t\t\tvalue = _tuple$1[0];\n\t\t\terr = _tuple$1[1];\n\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\t$s = -1; return [new Time.ptr(new $Uint64(0, 0), new $Int64(0, 0), ptrType$2.nil), new ParseError.ptr(alayout, avalue, prefix, value, \"\")];\n\t\t\t}\n\t\t\tif (std === 0) {\n\t\t\t\tif (!((value.length === 0))) {\n\t\t\t\t\t$s = -1; return [new Time.ptr(new $Uint64(0, 0), new $Int64(0, 0), ptrType$2.nil), new ParseError.ptr(alayout, avalue, \"\", value, \": extra text: \" + value)];\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tlayout = suffix;\n\t\t\tp = \"\";\n\t\t\tswitch (0) { default:\n\t\t\t\t_1 = std & 65535;\n\t\t\t\tif (_1 === (274)) {\n\t\t\t\t\tif (value.length < 2) {\n\t\t\t\t\t\terr = errBad;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\t_tmp$2 = $substring(value, 0, 2);\n\t\t\t\t\t_tmp$3 = $substring(value, 2);\n\t\t\t\t\tp = _tmp$2;\n\t\t\t\t\tvalue = _tmp$3;\n\t\t\t\t\t_tuple$2 = atoi(p);\n\t\t\t\t\tyear = _tuple$2[0];\n\t\t\t\t\terr = _tuple$2[1];\n\t\t\t\t\tif (year >= 69) {\n\t\t\t\t\t\tyear = year + (1900) >> 0;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tyear = year + (2000) >> 0;\n\t\t\t\t\t}\n\t\t\t\t} else if (_1 === (273)) {\n\t\t\t\t\tif (value.length < 4 || !isDigit(value, 0)) {\n\t\t\t\t\t\terr = errBad;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\t_tmp$4 = $substring(value, 0, 4);\n\t\t\t\t\t_tmp$5 = $substring(value, 4);\n\t\t\t\t\tp = _tmp$4;\n\t\t\t\t\tvalue = _tmp$5;\n\t\t\t\t\t_tuple$3 = atoi(p);\n\t\t\t\t\tyear = _tuple$3[0];\n\t\t\t\t\terr = _tuple$3[1];\n\t\t\t\t} else if (_1 === (258)) {\n\t\t\t\t\t_tuple$4 = lookup(shortMonthNames, value);\n\t\t\t\t\tmonth = _tuple$4[0];\n\t\t\t\t\tvalue = _tuple$4[1];\n\t\t\t\t\terr = _tuple$4[2];\n\t\t\t\t\tmonth = month + (1) >> 0;\n\t\t\t\t} else if (_1 === (257)) {\n\t\t\t\t\t_tuple$5 = lookup(longMonthNames, value);\n\t\t\t\t\tmonth = _tuple$5[0];\n\t\t\t\t\tvalue = _tuple$5[1];\n\t\t\t\t\terr = _tuple$5[2];\n\t\t\t\t\tmonth = month + (1) >> 0;\n\t\t\t\t} else if ((_1 === (259)) || (_1 === (260))) {\n\t\t\t\t\t_tuple$6 = getnum(value, std === 260);\n\t\t\t\t\tmonth = _tuple$6[0];\n\t\t\t\t\tvalue = _tuple$6[1];\n\t\t\t\t\terr = _tuple$6[2];\n\t\t\t\t\tif (month <= 0 || 12 < month) {\n\t\t\t\t\t\trangeErrString = \"month\";\n\t\t\t\t\t}\n\t\t\t\t} else if (_1 === (262)) {\n\t\t\t\t\t_tuple$7 = lookup(shortDayNames, value);\n\t\t\t\t\tvalue = _tuple$7[1];\n\t\t\t\t\terr = _tuple$7[2];\n\t\t\t\t} else if (_1 === (261)) {\n\t\t\t\t\t_tuple$8 = lookup(longDayNames, value);\n\t\t\t\t\tvalue = _tuple$8[1];\n\t\t\t\t\terr = _tuple$8[2];\n\t\t\t\t} else if ((_1 === (263)) || (_1 === (264)) || (_1 === (265))) {\n\t\t\t\t\tif ((std === 264) && value.length > 0 && (value.charCodeAt(0) === 32)) {\n\t\t\t\t\t\tvalue = $substring(value, 1);\n\t\t\t\t\t}\n\t\t\t\t\t_tuple$9 = getnum(value, std === 265);\n\t\t\t\t\tday = _tuple$9[0];\n\t\t\t\t\tvalue = _tuple$9[1];\n\t\t\t\t\terr = _tuple$9[2];\n\t\t\t\t\tif (day < 0) {\n\t\t\t\t\t\trangeErrString = \"day\";\n\t\t\t\t\t}\n\t\t\t\t} else if (_1 === (522)) {\n\t\t\t\t\t_tuple$10 = getnum(value, false);\n\t\t\t\t\thour = _tuple$10[0];\n\t\t\t\t\tvalue = _tuple$10[1];\n\t\t\t\t\terr = _tuple$10[2];\n\t\t\t\t\tif (hour < 0 || 24 <= hour) {\n\t\t\t\t\t\trangeErrString = \"hour\";\n\t\t\t\t\t}\n\t\t\t\t} else if ((_1 === (523)) || (_1 === (524))) {\n\t\t\t\t\t_tuple$11 = getnum(value, std === 524);\n\t\t\t\t\thour = _tuple$11[0];\n\t\t\t\t\tvalue = _tuple$11[1];\n\t\t\t\t\terr = _tuple$11[2];\n\t\t\t\t\tif (hour < 0 || 12 < hour) {\n\t\t\t\t\t\trangeErrString = \"hour\";\n\t\t\t\t\t}\n\t\t\t\t} else if ((_1 === (525)) || (_1 === (526))) {\n\t\t\t\t\t_tuple$12 = getnum(value, std === 526);\n\t\t\t\t\tmin = _tuple$12[0];\n\t\t\t\t\tvalue = _tuple$12[1];\n\t\t\t\t\terr = _tuple$12[2];\n\t\t\t\t\tif (min < 0 || 60 <= min) {\n\t\t\t\t\t\trangeErrString = \"minute\";\n\t\t\t\t\t}\n\t\t\t\t} else if ((_1 === (527)) || (_1 === (528))) {\n\t\t\t\t\t_tuple$13 = getnum(value, std === 528);\n\t\t\t\t\tsec = _tuple$13[0];\n\t\t\t\t\tvalue = _tuple$13[1];\n\t\t\t\t\terr = _tuple$13[2];\n\t\t\t\t\tif (sec < 0 || 60 <= sec) {\n\t\t\t\t\t\trangeErrString = \"second\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\tif (value.length >= 2 && (value.charCodeAt(0) === 46) && isDigit(value, 1)) {\n\t\t\t\t\t\t_tuple$14 = nextStdChunk(layout);\n\t\t\t\t\t\tstd = _tuple$14[1];\n\t\t\t\t\t\tstd = std & (65535);\n\t\t\t\t\t\tif ((std === 32) || (std === 33)) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tn = 2;\n\t\t\t\t\t\twhile (true) {\n\t\t\t\t\t\t\tif (!(n < value.length && isDigit(value, n))) { break; }\n\t\t\t\t\t\t\tn = n + (1) >> 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t_tuple$15 = parseNanoseconds(value, n);\n\t\t\t\t\t\tnsec = _tuple$15[0];\n\t\t\t\t\t\trangeErrString = _tuple$15[1];\n\t\t\t\t\t\terr = _tuple$15[2];\n\t\t\t\t\t\tvalue = $substring(value, n);\n\t\t\t\t\t}\n\t\t\t\t} else if (_1 === (531)) {\n\t\t\t\t\tif (value.length < 2) {\n\t\t\t\t\t\terr = errBad;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\t_tmp$6 = $substring(value, 0, 2);\n\t\t\t\t\t_tmp$7 = $substring(value, 2);\n\t\t\t\t\tp = _tmp$6;\n\t\t\t\t\tvalue = _tmp$7;\n\t\t\t\t\t_2 = p;\n\t\t\t\t\tif (_2 === (\"PM\")) {\n\t\t\t\t\t\tpmSet = true;\n\t\t\t\t\t} else if (_2 === (\"AM\")) {\n\t\t\t\t\t\tamSet = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\terr = errBad;\n\t\t\t\t\t}\n\t\t\t\t} else if (_1 === (532)) {\n\t\t\t\t\tif (value.length < 2) {\n\t\t\t\t\t\terr = errBad;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\t_tmp$8 = $substring(value, 0, 2);\n\t\t\t\t\t_tmp$9 = $substring(value, 2);\n\t\t\t\t\tp = _tmp$8;\n\t\t\t\t\tvalue = _tmp$9;\n\t\t\t\t\t_3 = p;\n\t\t\t\t\tif (_3 === (\"pm\")) {\n\t\t\t\t\t\tpmSet = true;\n\t\t\t\t\t} else if (_3 === (\"am\")) {\n\t\t\t\t\t\tamSet = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\terr = errBad;\n\t\t\t\t\t}\n\t\t\t\t} else if ((_1 === (22)) || (_1 === (25)) || (_1 === (23)) || (_1 === (24)) || (_1 === (26)) || (_1 === (27)) || (_1 === (29)) || (_1 === (30)) || (_1 === (28)) || (_1 === (31))) {\n\t\t\t\t\tif (((std === 22) || (std === 24) || (std === 25)) && value.length >= 1 && (value.charCodeAt(0) === 90)) {\n\t\t\t\t\t\tvalue = $substring(value, 1);\n\t\t\t\t\t\tz = $pkg.UTC;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\t_tmp$10 = \"\";\n\t\t\t\t\t_tmp$11 = \"\";\n\t\t\t\t\t_tmp$12 = \"\";\n\t\t\t\t\t_tmp$13 = \"\";\n\t\t\t\t\tsign = _tmp$10;\n\t\t\t\t\thour$1 = _tmp$11;\n\t\t\t\t\tmin$1 = _tmp$12;\n\t\t\t\t\tseconds = _tmp$13;\n\t\t\t\t\tif ((std === 25) || (std === 30)) {\n\t\t\t\t\t\tif (value.length < 6) {\n\t\t\t\t\t\t\terr = errBad;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!((value.charCodeAt(3) === 58))) {\n\t\t\t\t\t\t\terr = errBad;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t_tmp$14 = $substring(value, 0, 1);\n\t\t\t\t\t\t_tmp$15 = $substring(value, 1, 3);\n\t\t\t\t\t\t_tmp$16 = $substring(value, 4, 6);\n\t\t\t\t\t\t_tmp$17 = \"00\";\n\t\t\t\t\t\t_tmp$18 = $substring(value, 6);\n\t\t\t\t\t\tsign = _tmp$14;\n\t\t\t\t\t\thour$1 = _tmp$15;\n\t\t\t\t\t\tmin$1 = _tmp$16;\n\t\t\t\t\t\tseconds = _tmp$17;\n\t\t\t\t\t\tvalue = _tmp$18;\n\t\t\t\t\t} else if ((std === 29) || (std === 24)) {\n\t\t\t\t\t\tif (value.length < 3) {\n\t\t\t\t\t\t\terr = errBad;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t_tmp$19 = $substring(value, 0, 1);\n\t\t\t\t\t\t_tmp$20 = $substring(value, 1, 3);\n\t\t\t\t\t\t_tmp$21 = \"00\";\n\t\t\t\t\t\t_tmp$22 = \"00\";\n\t\t\t\t\t\t_tmp$23 = $substring(value, 3);\n\t\t\t\t\t\tsign = _tmp$19;\n\t\t\t\t\t\thour$1 = _tmp$20;\n\t\t\t\t\t\tmin$1 = _tmp$21;\n\t\t\t\t\t\tseconds = _tmp$22;\n\t\t\t\t\t\tvalue = _tmp$23;\n\t\t\t\t\t} else if ((std === 26) || (std === 31)) {\n\t\t\t\t\t\tif (value.length < 9) {\n\t\t\t\t\t\t\terr = errBad;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!((value.charCodeAt(3) === 58)) || !((value.charCodeAt(6) === 58))) {\n\t\t\t\t\t\t\terr = errBad;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t_tmp$24 = $substring(value, 0, 1);\n\t\t\t\t\t\t_tmp$25 = $substring(value, 1, 3);\n\t\t\t\t\t\t_tmp$26 = $substring(value, 4, 6);\n\t\t\t\t\t\t_tmp$27 = $substring(value, 7, 9);\n\t\t\t\t\t\t_tmp$28 = $substring(value, 9);\n\t\t\t\t\t\tsign = _tmp$24;\n\t\t\t\t\t\thour$1 = _tmp$25;\n\t\t\t\t\t\tmin$1 = _tmp$26;\n\t\t\t\t\t\tseconds = _tmp$27;\n\t\t\t\t\t\tvalue = _tmp$28;\n\t\t\t\t\t} else if ((std === 23) || (std === 28)) {\n\t\t\t\t\t\tif (value.length < 7) {\n\t\t\t\t\t\t\terr = errBad;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t_tmp$29 = $substring(value, 0, 1);\n\t\t\t\t\t\t_tmp$30 = $substring(value, 1, 3);\n\t\t\t\t\t\t_tmp$31 = $substring(value, 3, 5);\n\t\t\t\t\t\t_tmp$32 = $substring(value, 5, 7);\n\t\t\t\t\t\t_tmp$33 = $substring(value, 7);\n\t\t\t\t\t\tsign = _tmp$29;\n\t\t\t\t\t\thour$1 = _tmp$30;\n\t\t\t\t\t\tmin$1 = _tmp$31;\n\t\t\t\t\t\tseconds = _tmp$32;\n\t\t\t\t\t\tvalue = _tmp$33;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (value.length < 5) {\n\t\t\t\t\t\t\terr = errBad;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t_tmp$34 = $substring(value, 0, 1);\n\t\t\t\t\t\t_tmp$35 = $substring(value, 1, 3);\n\t\t\t\t\t\t_tmp$36 = $substring(value, 3, 5);\n\t\t\t\t\t\t_tmp$37 = \"00\";\n\t\t\t\t\t\t_tmp$38 = $substring(value, 5);\n\t\t\t\t\t\tsign = _tmp$34;\n\t\t\t\t\t\thour$1 = _tmp$35;\n\t\t\t\t\t\tmin$1 = _tmp$36;\n\t\t\t\t\t\tseconds = _tmp$37;\n\t\t\t\t\t\tvalue = _tmp$38;\n\t\t\t\t\t}\n\t\t\t\t\t_tmp$39 = 0;\n\t\t\t\t\t_tmp$40 = 0;\n\t\t\t\t\t_tmp$41 = 0;\n\t\t\t\t\thr = _tmp$39;\n\t\t\t\t\tmm = _tmp$40;\n\t\t\t\t\tss = _tmp$41;\n\t\t\t\t\t_tuple$16 = atoi(hour$1);\n\t\t\t\t\thr = _tuple$16[0];\n\t\t\t\t\terr = _tuple$16[1];\n\t\t\t\t\tif ($interfaceIsEqual(err, $ifaceNil)) {\n\t\t\t\t\t\t_tuple$17 = atoi(min$1);\n\t\t\t\t\t\tmm = _tuple$17[0];\n\t\t\t\t\t\terr = _tuple$17[1];\n\t\t\t\t\t}\n\t\t\t\t\tif ($interfaceIsEqual(err, $ifaceNil)) {\n\t\t\t\t\t\t_tuple$18 = atoi(seconds);\n\t\t\t\t\t\tss = _tuple$18[0];\n\t\t\t\t\t\terr = _tuple$18[1];\n\t\t\t\t\t}\n\t\t\t\t\tzoneOffset = ($imul(((($imul(hr, 60)) + mm >> 0)), 60)) + ss >> 0;\n\t\t\t\t\t_4 = sign.charCodeAt(0);\n\t\t\t\t\tif (_4 === (43)) {\n\t\t\t\t\t} else if (_4 === (45)) {\n\t\t\t\t\t\tzoneOffset = -zoneOffset;\n\t\t\t\t\t} else {\n\t\t\t\t\t\terr = errBad;\n\t\t\t\t\t}\n\t\t\t\t} else if (_1 === (21)) {\n\t\t\t\t\tif (value.length >= 3 && $substring(value, 0, 3) === \"UTC\") {\n\t\t\t\t\t\tz = $pkg.UTC;\n\t\t\t\t\t\tvalue = $substring(value, 3);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\t_tuple$19 = parseTimeZone(value);\n\t\t\t\t\tn$1 = _tuple$19[0];\n\t\t\t\t\tok = _tuple$19[1];\n\t\t\t\t\tif (!ok) {\n\t\t\t\t\t\terr = errBad;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\t_tmp$42 = $substring(value, 0, n$1);\n\t\t\t\t\t_tmp$43 = $substring(value, n$1);\n\t\t\t\t\tzoneName = _tmp$42;\n\t\t\t\t\tvalue = _tmp$43;\n\t\t\t\t} else if (_1 === (32)) {\n\t\t\t\t\tndigit = 1 + ((std >> 16 >> 0)) >> 0;\n\t\t\t\t\tif (value.length < ndigit) {\n\t\t\t\t\t\terr = errBad;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\t_tuple$20 = parseNanoseconds(value, ndigit);\n\t\t\t\t\tnsec = _tuple$20[0];\n\t\t\t\t\trangeErrString = _tuple$20[1];\n\t\t\t\t\terr = _tuple$20[2];\n\t\t\t\t\tvalue = $substring(value, ndigit);\n\t\t\t\t} else if (_1 === (33)) {\n\t\t\t\t\tif (value.length < 2 || !((value.charCodeAt(0) === 46)) || value.charCodeAt(1) < 48 || 57 < value.charCodeAt(1)) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t\ti = 0;\n\t\t\t\t\twhile (true) {\n\t\t\t\t\t\tif (!(i < 9 && (i + 1 >> 0) < value.length && 48 <= value.charCodeAt((i + 1 >> 0)) && value.charCodeAt((i + 1 >> 0)) <= 57)) { break; }\n\t\t\t\t\t\ti = i + (1) >> 0;\n\t\t\t\t\t}\n\t\t\t\t\t_tuple$21 = parseNanoseconds(value, 1 + i >> 0);\n\t\t\t\t\tnsec = _tuple$21[0];\n\t\t\t\t\trangeErrString = _tuple$21[1];\n\t\t\t\t\terr = _tuple$21[2];\n\t\t\t\t\tvalue = $substring(value, (1 + i >> 0));\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!(rangeErrString === \"\")) {\n\t\t\t\t$s = -1; return [new Time.ptr(new $Uint64(0, 0), new $Int64(0, 0), ptrType$2.nil), new ParseError.ptr(alayout, avalue, stdstr, value, \": \" + rangeErrString + \" out of range\")];\n\t\t\t}\n\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\t$s = -1; return [new Time.ptr(new $Uint64(0, 0), new $Int64(0, 0), ptrType$2.nil), new ParseError.ptr(alayout, avalue, stdstr, value, \"\")];\n\t\t\t}\n\t\t}\n\t\tif (pmSet && hour < 12) {\n\t\t\thour = hour + (12) >> 0;\n\t\t} else if (amSet && (hour === 12)) {\n\t\t\thour = 0;\n\t\t}\n\t\tif (day < 1 || day > daysIn(((month >> 0)), year)) {\n\t\t\t$s = -1; return [new Time.ptr(new $Uint64(0, 0), new $Int64(0, 0), ptrType$2.nil), new ParseError.ptr(alayout, avalue, \"\", value, \": day out of range\")];\n\t\t}\n\t\t/* */ if (!(z === ptrType$2.nil)) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!(z === ptrType$2.nil)) { */ case 1:\n\t\t\t_r = Date(year, ((month >> 0)), day, hour, min, sec, nsec, z); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return [_r, $ifaceNil];\n\t\t/* } */ case 2:\n\t\t/* */ if (!((zoneOffset === -1))) { $s = 4; continue; }\n\t\t/* */ $s = 5; continue;\n\t\t/* if (!((zoneOffset === -1))) { */ case 4:\n\t\t\t_r$1 = Date(year, ((month >> 0)), day, hour, min, sec, nsec, $pkg.UTC); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\tt = $clone(_r$1, Time);\n\t\t\tt.addSec((x = (new $Int64(0, zoneOffset)), new $Int64(-x.$high, -x.$low)));\n\t\t\t_r$2 = local.lookup(t.unixSec()); /* */ $s = 7; case 7: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t_tuple$22 = _r$2;\n\t\t\tname = _tuple$22[0];\n\t\t\toffset = _tuple$22[1];\n\t\t\tif ((offset === zoneOffset) && (zoneName === \"\" || name === zoneName)) {\n\t\t\t\tt.setLoc(local);\n\t\t\t\t$s = -1; return [t, $ifaceNil];\n\t\t\t}\n\t\t\tt.setLoc(FixedZone(zoneName, zoneOffset));\n\t\t\t$s = -1; return [t, $ifaceNil];\n\t\t/* } */ case 5:\n\t\t/* */ if (!(zoneName === \"\")) { $s = 8; continue; }\n\t\t/* */ $s = 9; continue;\n\t\t/* if (!(zoneName === \"\")) { */ case 8:\n\t\t\t_r$3 = Date(year, ((month >> 0)), day, hour, min, sec, nsec, $pkg.UTC); /* */ $s = 10; case 10: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\tt$1 = $clone(_r$3, Time);\n\t\t\t_r$4 = local.lookupName(zoneName, t$1.unixSec()); /* */ $s = 11; case 11: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t_tuple$23 = _r$4;\n\t\t\toffset$1 = _tuple$23[0];\n\t\t\tok$1 = _tuple$23[1];\n\t\t\tif (ok$1) {\n\t\t\t\tt$1.addSec((x$1 = (new $Int64(0, offset$1)), new $Int64(-x$1.$high, -x$1.$low)));\n\t\t\t\tt$1.setLoc(local);\n\t\t\t\t$s = -1; return [t$1, $ifaceNil];\n\t\t\t}\n\t\t\tif (zoneName.length > 3 && $substring(zoneName, 0, 3) === \"GMT\") {\n\t\t\t\t_tuple$24 = atoi($substring(zoneName, 3));\n\t\t\t\toffset$1 = _tuple$24[0];\n\t\t\t\toffset$1 = $imul(offset$1, (3600));\n\t\t\t}\n\t\t\tt$1.setLoc(FixedZone(zoneName, offset$1));\n\t\t\t$s = -1; return [t$1, $ifaceNil];\n\t\t/* } */ case 9:\n\t\t_r$5 = Date(year, ((month >> 0)), day, hour, min, sec, nsec, defaultLocation); /* */ $s = 12; case 12: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t$s = -1; return [_r$5, $ifaceNil];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: parse }; } $f._1 = _1; $f._2 = _2; $f._3 = _3; $f._4 = _4; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$10 = _tmp$10; $f._tmp$11 = _tmp$11; $f._tmp$12 = _tmp$12; $f._tmp$13 = _tmp$13; $f._tmp$14 = _tmp$14; $f._tmp$15 = _tmp$15; $f._tmp$16 = _tmp$16; $f._tmp$17 = _tmp$17; $f._tmp$18 = _tmp$18; $f._tmp$19 = _tmp$19; $f._tmp$2 = _tmp$2; $f._tmp$20 = _tmp$20; $f._tmp$21 = _tmp$21; $f._tmp$22 = _tmp$22; $f._tmp$23 = _tmp$23; $f._tmp$24 = _tmp$24; $f._tmp$25 = _tmp$25; $f._tmp$26 = _tmp$26; $f._tmp$27 = _tmp$27; $f._tmp$28 = _tmp$28; $f._tmp$29 = _tmp$29; $f._tmp$3 = _tmp$3; $f._tmp$30 = _tmp$30; $f._tmp$31 = _tmp$31; $f._tmp$32 = _tmp$32; $f._tmp$33 = _tmp$33; $f._tmp$34 = _tmp$34; $f._tmp$35 = _tmp$35; $f._tmp$36 = _tmp$36; $f._tmp$37 = _tmp$37; $f._tmp$38 = _tmp$38; $f._tmp$39 = _tmp$39; $f._tmp$4 = _tmp$4; $f._tmp$40 = _tmp$40; $f._tmp$41 = _tmp$41; $f._tmp$42 = _tmp$42; $f._tmp$43 = _tmp$43; $f._tmp$5 = _tmp$5; $f._tmp$6 = _tmp$6; $f._tmp$7 = _tmp$7; $f._tmp$8 = _tmp$8; $f._tmp$9 = _tmp$9; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$10 = _tuple$10; $f._tuple$11 = _tuple$11; $f._tuple$12 = _tuple$12; $f._tuple$13 = _tuple$13; $f._tuple$14 = _tuple$14; $f._tuple$15 = _tuple$15; $f._tuple$16 = _tuple$16; $f._tuple$17 = _tuple$17; $f._tuple$18 = _tuple$18; $f._tuple$19 = _tuple$19; $f._tuple$2 = _tuple$2; $f._tuple$20 = _tuple$20; $f._tuple$21 = _tuple$21; $f._tuple$22 = _tuple$22; $f._tuple$23 = _tuple$23; $f._tuple$24 = _tuple$24; $f._tuple$3 = _tuple$3; $f._tuple$4 = _tuple$4; $f._tuple$5 = _tuple$5; $f._tuple$6 = _tuple$6; $f._tuple$7 = _tuple$7; $f._tuple$8 = _tuple$8; $f._tuple$9 = _tuple$9; $f.alayout = alayout; $f.amSet = amSet; $f.avalue = avalue; $f.day = day; $f.defaultLocation = defaultLocation; $f.err = err; $f.hour = hour; $f.hour$1 = hour$1; $f.hr = hr; $f.i = i; $f.layout = layout; $f.local = local; $f.min = min; $f.min$1 = min$1; $f.mm = mm; $f.month = month; $f.n = n; $f.n$1 = n$1; $f.name = name; $f.ndigit = ndigit; $f.nsec = nsec; $f.offset = offset; $f.offset$1 = offset$1; $f.ok = ok; $f.ok$1 = ok$1; $f.p = p; $f.pmSet = pmSet; $f.prefix = prefix; $f.rangeErrString = rangeErrString; $f.sec = sec; $f.seconds = seconds; $f.sign = sign; $f.ss = ss; $f.std = std; $f.stdstr = stdstr; $f.suffix = suffix; $f.t = t; $f.t$1 = t$1; $f.value = value; $f.x = x; $f.x$1 = x$1; $f.year = year; $f.z = z; $f.zoneName = zoneName; $f.zoneOffset = zoneOffset; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tparseTimeZone = function(value) {\n\t\tvar _1, _tmp, _tmp$1, _tmp$10, _tmp$11, _tmp$12, _tmp$13, _tmp$14, _tmp$15, _tmp$16, _tmp$17, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, c, length, nUpper, ok, value;\n\t\tlength = 0;\n\t\tok = false;\n\t\tif (value.length < 3) {\n\t\t\t_tmp = 0;\n\t\t\t_tmp$1 = false;\n\t\t\tlength = _tmp;\n\t\t\tok = _tmp$1;\n\t\t\treturn [length, ok];\n\t\t}\n\t\tif (value.length >= 4 && ($substring(value, 0, 4) === \"ChST\" || $substring(value, 0, 4) === \"MeST\")) {\n\t\t\t_tmp$2 = 4;\n\t\t\t_tmp$3 = true;\n\t\t\tlength = _tmp$2;\n\t\t\tok = _tmp$3;\n\t\t\treturn [length, ok];\n\t\t}\n\t\tif ($substring(value, 0, 3) === \"GMT\") {\n\t\t\tlength = parseGMT(value);\n\t\t\t_tmp$4 = length;\n\t\t\t_tmp$5 = true;\n\t\t\tlength = _tmp$4;\n\t\t\tok = _tmp$5;\n\t\t\treturn [length, ok];\n\t\t}\n\t\tif ((value.charCodeAt(0) === 43) || (value.charCodeAt(0) === 45)) {\n\t\t\tlength = parseSignedOffset(value);\n\t\t\t_tmp$6 = length;\n\t\t\t_tmp$7 = true;\n\t\t\tlength = _tmp$6;\n\t\t\tok = _tmp$7;\n\t\t\treturn [length, ok];\n\t\t}\n\t\tnUpper = 0;\n\t\tnUpper = 0;\n\t\twhile (true) {\n\t\t\tif (!(nUpper < 6)) { break; }\n\t\t\tif (nUpper >= value.length) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tc = value.charCodeAt(nUpper);\n\t\t\tif (c < 65 || 90 < c) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tnUpper = nUpper + (1) >> 0;\n\t\t}\n\t\t_1 = nUpper;\n\t\tif ((_1 === (0)) || (_1 === (1)) || (_1 === (2)) || (_1 === (6))) {\n\t\t\t_tmp$8 = 0;\n\t\t\t_tmp$9 = false;\n\t\t\tlength = _tmp$8;\n\t\t\tok = _tmp$9;\n\t\t\treturn [length, ok];\n\t\t} else if (_1 === (5)) {\n\t\t\tif (value.charCodeAt(4) === 84) {\n\t\t\t\t_tmp$10 = 5;\n\t\t\t\t_tmp$11 = true;\n\t\t\t\tlength = _tmp$10;\n\t\t\t\tok = _tmp$11;\n\t\t\t\treturn [length, ok];\n\t\t\t}\n\t\t} else if (_1 === (4)) {\n\t\t\tif ((value.charCodeAt(3) === 84) || $substring(value, 0, 4) === \"WITA\") {\n\t\t\t\t_tmp$12 = 4;\n\t\t\t\t_tmp$13 = true;\n\t\t\t\tlength = _tmp$12;\n\t\t\t\tok = _tmp$13;\n\t\t\t\treturn [length, ok];\n\t\t\t}\n\t\t} else if (_1 === (3)) {\n\t\t\t_tmp$14 = 3;\n\t\t\t_tmp$15 = true;\n\t\t\tlength = _tmp$14;\n\t\t\tok = _tmp$15;\n\t\t\treturn [length, ok];\n\t\t}\n\t\t_tmp$16 = 0;\n\t\t_tmp$17 = false;\n\t\tlength = _tmp$16;\n\t\tok = _tmp$17;\n\t\treturn [length, ok];\n\t};\n\tparseGMT = function(value) {\n\t\tvar value;\n\t\tvalue = $substring(value, 3);\n\t\tif (value.length === 0) {\n\t\t\treturn 3;\n\t\t}\n\t\treturn 3 + parseSignedOffset(value) >> 0;\n\t};\n\tparseSignedOffset = function(value) {\n\t\tvar _tuple, err, rem, sign, value, x;\n\t\tsign = value.charCodeAt(0);\n\t\tif (!((sign === 45)) && !((sign === 43))) {\n\t\t\treturn 0;\n\t\t}\n\t\t_tuple = leadingInt($substring(value, 1));\n\t\tx = _tuple[0];\n\t\trem = _tuple[1];\n\t\terr = _tuple[2];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\treturn 0;\n\t\t}\n\t\tif (sign === 45) {\n\t\t\tx = new $Int64(-x.$high, -x.$low);\n\t\t}\n\t\tif ((x.$high === 0 && x.$low === 0) || (x.$high < -1 || (x.$high === -1 && x.$low < 4294967282)) || (0 < x.$high || (0 === x.$high && 12 < x.$low))) {\n\t\t\treturn 0;\n\t\t}\n\t\treturn value.length - rem.length >> 0;\n\t};\n\tparseNanoseconds = function(value, nbytes) {\n\t\tvar _tuple, err, i, nbytes, ns, rangeErrString, scaleDigits, value;\n\t\tns = 0;\n\t\trangeErrString = \"\";\n\t\terr = $ifaceNil;\n\t\tif (!((value.charCodeAt(0) === 46))) {\n\t\t\terr = errBad;\n\t\t\treturn [ns, rangeErrString, err];\n\t\t}\n\t\t_tuple = atoi($substring(value, 1, nbytes));\n\t\tns = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\treturn [ns, rangeErrString, err];\n\t\t}\n\t\tif (ns < 0 || 1000000000 <= ns) {\n\t\t\trangeErrString = \"fractional second\";\n\t\t\treturn [ns, rangeErrString, err];\n\t\t}\n\t\tscaleDigits = 10 - nbytes >> 0;\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < scaleDigits)) { break; }\n\t\t\tns = $imul(ns, (10));\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\treturn [ns, rangeErrString, err];\n\t};\n\tleadingInt = function(s) {\n\t\tvar _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, c, err, i, rem, s, x, x$1, x$2, x$3;\n\t\tx = new $Int64(0, 0);\n\t\trem = \"\";\n\t\terr = $ifaceNil;\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < s.length)) { break; }\n\t\t\tc = s.charCodeAt(i);\n\t\t\tif (c < 48 || c > 57) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ((x.$high > 214748364 || (x.$high === 214748364 && x.$low > 3435973836))) {\n\t\t\t\t_tmp = new $Int64(0, 0);\n\t\t\t\t_tmp$1 = \"\";\n\t\t\t\t_tmp$2 = errLeadingInt;\n\t\t\t\tx = _tmp;\n\t\t\t\trem = _tmp$1;\n\t\t\t\terr = _tmp$2;\n\t\t\t\treturn [x, rem, err];\n\t\t\t}\n\t\t\tx = (x$1 = (x$2 = $mul64(x, new $Int64(0, 10)), x$3 = (new $Int64(0, c)), new $Int64(x$2.$high + x$3.$high, x$2.$low + x$3.$low)), new $Int64(x$1.$high - 0, x$1.$low - 48));\n\t\t\tif ((x.$high < 0 || (x.$high === 0 && x.$low < 0))) {\n\t\t\t\t_tmp$3 = new $Int64(0, 0);\n\t\t\t\t_tmp$4 = \"\";\n\t\t\t\t_tmp$5 = errLeadingInt;\n\t\t\t\tx = _tmp$3;\n\t\t\t\trem = _tmp$4;\n\t\t\t\terr = _tmp$5;\n\t\t\t\treturn [x, rem, err];\n\t\t\t}\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\t_tmp$6 = x;\n\t\t_tmp$7 = $substring(s, i);\n\t\t_tmp$8 = $ifaceNil;\n\t\tx = _tmp$6;\n\t\trem = _tmp$7;\n\t\terr = _tmp$8;\n\t\treturn [x, rem, err];\n\t};\n\twhen = function(d) {\n\t\tvar d, t, x, x$1;\n\t\tif ((d.$high < 0 || (d.$high === 0 && d.$low <= 0))) {\n\t\t\treturn runtimeNano();\n\t\t}\n\t\tt = (x = runtimeNano(), x$1 = (new $Int64(d.$high, d.$low)), new $Int64(x.$high + x$1.$high, x.$low + x$1.$low));\n\t\tif ((t.$high < 0 || (t.$high === 0 && t.$low < 0))) {\n\t\t\tt = new $Int64(2147483647, 4294967295);\n\t\t}\n\t\treturn t;\n\t};\n\tTimer.ptr.prototype.Stop = function() {\n\t\tvar t;\n\t\tt = this;\n\t\tif (t.r.f === $throwNilPointerError) {\n\t\t\t$panic(new $String(\"time: Stop called on uninitialized Timer\"));\n\t\t}\n\t\treturn stopTimer(t.r);\n\t};\n\tTimer.prototype.Stop = function() { return this.$val.Stop(); };\n\tTimer.ptr.prototype.Reset = function(d) {\n\t\tvar active, d, t, w;\n\t\tt = this;\n\t\tif (t.r.f === $throwNilPointerError) {\n\t\t\t$panic(new $String(\"time: Reset called on uninitialized Timer\"));\n\t\t}\n\t\tw = when(d);\n\t\tactive = stopTimer(t.r);\n\t\tt.r.when = w;\n\t\tstartTimer(t.r);\n\t\treturn active;\n\t};\n\tTimer.prototype.Reset = function(d) { return this.$val.Reset(d); };\n\tTime.ptr.prototype.nsec = function() {\n\t\tvar t, x;\n\t\tt = this;\n\t\treturn (((x = t.wall, new $Uint64(x.$high & 0, (x.$low & 1073741823) >>> 0)).$low >> 0));\n\t};\n\tTime.prototype.nsec = function() { return this.$val.nsec(); };\n\tTime.ptr.prototype.sec = function() {\n\t\tvar t, x, x$1, x$2, x$3;\n\t\tt = this;\n\t\tif (!((x = (x$1 = t.wall, new $Uint64(x$1.$high & 2147483648, (x$1.$low & 0) >>> 0)), (x.$high === 0 && x.$low === 0)))) {\n\t\t\treturn (x$2 = ((x$3 = $shiftRightUint64($shiftLeft64(t.wall, 1), 31), new $Int64(x$3.$high, x$3.$low))), new $Int64(13 + x$2.$high, 3618733952 + x$2.$low));\n\t\t}\n\t\treturn t.ext;\n\t};\n\tTime.prototype.sec = function() { return this.$val.sec(); };\n\tTime.ptr.prototype.unixSec = function() {\n\t\tvar t, x;\n\t\tt = this;\n\t\treturn (x = t.sec(), new $Int64(x.$high + -15, x.$low + 2288912640));\n\t};\n\tTime.prototype.unixSec = function() { return this.$val.unixSec(); };\n\tTime.ptr.prototype.addSec = function(d) {\n\t\tvar d, dsec, sec, t, x, x$1, x$2, x$3, x$4, x$5, x$6, x$7, x$8;\n\t\tt = this;\n\t\tif (!((x = (x$1 = t.wall, new $Uint64(x$1.$high & 2147483648, (x$1.$low & 0) >>> 0)), (x.$high === 0 && x.$low === 0)))) {\n\t\t\tsec = ((x$2 = $shiftRightUint64($shiftLeft64(t.wall, 1), 31), new $Int64(x$2.$high, x$2.$low)));\n\t\t\tdsec = new $Int64(sec.$high + d.$high, sec.$low + d.$low);\n\t\t\tif ((0 < dsec.$high || (0 === dsec.$high && 0 <= dsec.$low)) && (dsec.$high < 1 || (dsec.$high === 1 && dsec.$low <= 4294967295))) {\n\t\t\t\tt.wall = (x$3 = (x$4 = (x$5 = t.wall, new $Uint64(x$5.$high & 0, (x$5.$low & 1073741823) >>> 0)), x$6 = $shiftLeft64((new $Uint64(dsec.$high, dsec.$low)), 30), new $Uint64(x$4.$high | x$6.$high, (x$4.$low | x$6.$low) >>> 0)), new $Uint64(x$3.$high | 2147483648, (x$3.$low | 0) >>> 0));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tt.stripMono();\n\t\t}\n\t\tt.ext = (x$7 = t.ext, x$8 = d, new $Int64(x$7.$high + x$8.$high, x$7.$low + x$8.$low));\n\t};\n\tTime.prototype.addSec = function(d) { return this.$val.addSec(d); };\n\tTime.ptr.prototype.setLoc = function(loc) {\n\t\tvar loc, t;\n\t\tt = this;\n\t\tif (loc === utcLoc) {\n\t\t\tloc = ptrType$2.nil;\n\t\t}\n\t\tt.stripMono();\n\t\tt.loc = loc;\n\t};\n\tTime.prototype.setLoc = function(loc) { return this.$val.setLoc(loc); };\n\tTime.ptr.prototype.stripMono = function() {\n\t\tvar t, x, x$1, x$2, x$3;\n\t\tt = this;\n\t\tif (!((x = (x$1 = t.wall, new $Uint64(x$1.$high & 2147483648, (x$1.$low & 0) >>> 0)), (x.$high === 0 && x.$low === 0)))) {\n\t\t\tt.ext = t.sec();\n\t\t\tt.wall = (x$2 = t.wall, x$3 = new $Uint64(0, 1073741823), new $Uint64(x$2.$high & x$3.$high, (x$2.$low & x$3.$low) >>> 0));\n\t\t}\n\t};\n\tTime.prototype.stripMono = function() { return this.$val.stripMono(); };\n\tTime.ptr.prototype.After = function(u) {\n\t\tvar t, ts, u, us, x, x$1, x$2, x$3, x$4, x$5;\n\t\tt = this;\n\t\tif (!((x = (x$1 = (x$2 = t.wall, x$3 = u.wall, new $Uint64(x$2.$high & x$3.$high, (x$2.$low & x$3.$low) >>> 0)), new $Uint64(x$1.$high & 2147483648, (x$1.$low & 0) >>> 0)), (x.$high === 0 && x.$low === 0)))) {\n\t\t\treturn (x$4 = t.ext, x$5 = u.ext, (x$4.$high > x$5.$high || (x$4.$high === x$5.$high && x$4.$low > x$5.$low)));\n\t\t}\n\t\tts = t.sec();\n\t\tus = u.sec();\n\t\treturn (ts.$high > us.$high || (ts.$high === us.$high && ts.$low > us.$low)) || (ts.$high === us.$high && ts.$low === us.$low) && t.nsec() > u.nsec();\n\t};\n\tTime.prototype.After = function(u) { return this.$val.After(u); };\n\tTime.ptr.prototype.Before = function(u) {\n\t\tvar t, u, x, x$1, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9;\n\t\tt = this;\n\t\tif (!((x = (x$1 = (x$2 = t.wall, x$3 = u.wall, new $Uint64(x$2.$high & x$3.$high, (x$2.$low & x$3.$low) >>> 0)), new $Uint64(x$1.$high & 2147483648, (x$1.$low & 0) >>> 0)), (x.$high === 0 && x.$low === 0)))) {\n\t\t\treturn (x$4 = t.ext, x$5 = u.ext, (x$4.$high < x$5.$high || (x$4.$high === x$5.$high && x$4.$low < x$5.$low)));\n\t\t}\n\t\treturn (x$6 = t.sec(), x$7 = u.sec(), (x$6.$high < x$7.$high || (x$6.$high === x$7.$high && x$6.$low < x$7.$low))) || (x$8 = t.sec(), x$9 = u.sec(), (x$8.$high === x$9.$high && x$8.$low === x$9.$low)) && t.nsec() < u.nsec();\n\t};\n\tTime.prototype.Before = function(u) { return this.$val.Before(u); };\n\tTime.ptr.prototype.Equal = function(u) {\n\t\tvar t, u, x, x$1, x$2, x$3, x$4, x$5, x$6, x$7;\n\t\tt = this;\n\t\tif (!((x = (x$1 = (x$2 = t.wall, x$3 = u.wall, new $Uint64(x$2.$high & x$3.$high, (x$2.$low & x$3.$low) >>> 0)), new $Uint64(x$1.$high & 2147483648, (x$1.$low & 0) >>> 0)), (x.$high === 0 && x.$low === 0)))) {\n\t\t\treturn (x$4 = t.ext, x$5 = u.ext, (x$4.$high === x$5.$high && x$4.$low === x$5.$low));\n\t\t}\n\t\treturn (x$6 = t.sec(), x$7 = u.sec(), (x$6.$high === x$7.$high && x$6.$low === x$7.$low)) && (t.nsec() === u.nsec());\n\t};\n\tTime.prototype.Equal = function(u) { return this.$val.Equal(u); };\n\tMonth.prototype.String = function() {\n\t\tvar buf, m, n, x;\n\t\tm = this.$val;\n\t\tif (1 <= m && m <= 12) {\n\t\t\treturn (x = m - 1 >> 0, ((x < 0 || x >= months.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : months[x]));\n\t\t}\n\t\tbuf = $makeSlice(sliceType$3, 20);\n\t\tn = fmtInt(buf, (new $Uint64(0, m)));\n\t\treturn \"%!Month(\" + ($bytesToString($subslice(buf, n))) + \")\";\n\t};\n\t$ptrType(Month).prototype.String = function() { return new Month(this.$get()).String(); };\n\tWeekday.prototype.String = function() {\n\t\tvar buf, d, n;\n\t\td = this.$val;\n\t\tif (0 <= d && d <= 6) {\n\t\t\treturn ((d < 0 || d >= days.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : days[d]);\n\t\t}\n\t\tbuf = $makeSlice(sliceType$3, 20);\n\t\tn = fmtInt(buf, (new $Uint64(0, d)));\n\t\treturn \"%!Weekday(\" + ($bytesToString($subslice(buf, n))) + \")\";\n\t};\n\t$ptrType(Weekday).prototype.String = function() { return new Weekday(this.$get()).String(); };\n\tTime.ptr.prototype.IsZero = function() {\n\t\tvar t, x;\n\t\tt = this;\n\t\treturn (x = t.sec(), (x.$high === 0 && x.$low === 0)) && (t.nsec() === 0);\n\t};\n\tTime.prototype.IsZero = function() { return this.$val.IsZero(); };\n\tTime.ptr.prototype.abs = function() {\n\t\tvar _r, _r$1, _tuple, l, offset, sec, t, x, x$1, x$2, x$3, x$4, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; l = $f.l; offset = $f.offset; sec = $f.sec; t = $f.t; x = $f.x; x$1 = $f.x$1; x$2 = $f.x$2; x$3 = $f.x$3; x$4 = $f.x$4; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tt = this;\n\t\tl = t.loc;\n\t\t/* */ if (l === ptrType$2.nil || l === localLoc) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (l === ptrType$2.nil || l === localLoc) { */ case 1:\n\t\t\t_r = l.get(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tl = _r;\n\t\t/* } */ case 2:\n\t\tsec = t.unixSec();\n\t\t/* */ if (!(l === utcLoc)) { $s = 4; continue; }\n\t\t/* */ $s = 5; continue;\n\t\t/* if (!(l === utcLoc)) { */ case 4:\n\t\t\t/* */ if (!(l.cacheZone === ptrType.nil) && (x = l.cacheStart, (x.$high < sec.$high || (x.$high === sec.$high && x.$low <= sec.$low))) && (x$1 = l.cacheEnd, (sec.$high < x$1.$high || (sec.$high === x$1.$high && sec.$low < x$1.$low)))) { $s = 6; continue; }\n\t\t\t/* */ $s = 7; continue;\n\t\t\t/* if (!(l.cacheZone === ptrType.nil) && (x = l.cacheStart, (x.$high < sec.$high || (x.$high === sec.$high && x.$low <= sec.$low))) && (x$1 = l.cacheEnd, (sec.$high < x$1.$high || (sec.$high === x$1.$high && sec.$low < x$1.$low)))) { */ case 6:\n\t\t\t\tsec = (x$2 = (new $Int64(0, l.cacheZone.offset)), new $Int64(sec.$high + x$2.$high, sec.$low + x$2.$low));\n\t\t\t\t$s = 8; continue;\n\t\t\t/* } else { */ case 7:\n\t\t\t\t_r$1 = l.lookup(sec); /* */ $s = 9; case 9: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t_tuple = _r$1;\n\t\t\t\toffset = _tuple[1];\n\t\t\t\tsec = (x$3 = (new $Int64(0, offset)), new $Int64(sec.$high + x$3.$high, sec.$low + x$3.$low));\n\t\t\t/* } */ case 8:\n\t\t/* } */ case 5:\n\t\t$s = -1; return ((x$4 = new $Int64(sec.$high + 2147483646, sec.$low + 450480384), new $Uint64(x$4.$high, x$4.$low)));\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Time.ptr.prototype.abs }; } $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f.l = l; $f.offset = offset; $f.sec = sec; $f.t = t; $f.x = x; $f.x$1 = x$1; $f.x$2 = x$2; $f.x$3 = x$3; $f.x$4 = x$4; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tTime.prototype.abs = function() { return this.$val.abs(); };\n\tTime.ptr.prototype.locabs = function() {\n\t\tvar _r, _r$1, _tuple, abs, l, name, offset, sec, t, x, x$1, x$2, x$3, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; abs = $f.abs; l = $f.l; name = $f.name; offset = $f.offset; sec = $f.sec; t = $f.t; x = $f.x; x$1 = $f.x$1; x$2 = $f.x$2; x$3 = $f.x$3; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tname = \"\";\n\t\toffset = 0;\n\t\tabs = new $Uint64(0, 0);\n\t\tt = this;\n\t\tl = t.loc;\n\t\t/* */ if (l === ptrType$2.nil || l === localLoc) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (l === ptrType$2.nil || l === localLoc) { */ case 1:\n\t\t\t_r = l.get(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tl = _r;\n\t\t/* } */ case 2:\n\t\tsec = t.unixSec();\n\t\t/* */ if (!(l === utcLoc)) { $s = 4; continue; }\n\t\t/* */ $s = 5; continue;\n\t\t/* if (!(l === utcLoc)) { */ case 4:\n\t\t\t/* */ if (!(l.cacheZone === ptrType.nil) && (x = l.cacheStart, (x.$high < sec.$high || (x.$high === sec.$high && x.$low <= sec.$low))) && (x$1 = l.cacheEnd, (sec.$high < x$1.$high || (sec.$high === x$1.$high && sec.$low < x$1.$low)))) { $s = 7; continue; }\n\t\t\t/* */ $s = 8; continue;\n\t\t\t/* if (!(l.cacheZone === ptrType.nil) && (x = l.cacheStart, (x.$high < sec.$high || (x.$high === sec.$high && x.$low <= sec.$low))) && (x$1 = l.cacheEnd, (sec.$high < x$1.$high || (sec.$high === x$1.$high && sec.$low < x$1.$low)))) { */ case 7:\n\t\t\t\tname = l.cacheZone.name;\n\t\t\t\toffset = l.cacheZone.offset;\n\t\t\t\t$s = 9; continue;\n\t\t\t/* } else { */ case 8:\n\t\t\t\t_r$1 = l.lookup(sec); /* */ $s = 10; case 10: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t_tuple = _r$1;\n\t\t\t\tname = _tuple[0];\n\t\t\t\toffset = _tuple[1];\n\t\t\t/* } */ case 9:\n\t\t\tsec = (x$2 = (new $Int64(0, offset)), new $Int64(sec.$high + x$2.$high, sec.$low + x$2.$low));\n\t\t\t$s = 6; continue;\n\t\t/* } else { */ case 5:\n\t\t\tname = \"UTC\";\n\t\t/* } */ case 6:\n\t\tabs = ((x$3 = new $Int64(sec.$high + 2147483646, sec.$low + 450480384), new $Uint64(x$3.$high, x$3.$low)));\n\t\t$s = -1; return [name, offset, abs];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Time.ptr.prototype.locabs }; } $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f.abs = abs; $f.l = l; $f.name = name; $f.offset = offset; $f.sec = sec; $f.t = t; $f.x = x; $f.x$1 = x$1; $f.x$2 = x$2; $f.x$3 = x$3; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tTime.prototype.locabs = function() { return this.$val.locabs(); };\n\tTime.ptr.prototype.Date = function() {\n\t\tvar _r, _tuple, day, month, t, year, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; day = $f.day; month = $f.month; t = $f.t; year = $f.year; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tyear = 0;\n\t\tmonth = 0;\n\t\tday = 0;\n\t\tt = this;\n\t\t_r = $clone(t, Time).date(true); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tyear = _tuple[0];\n\t\tmonth = _tuple[1];\n\t\tday = _tuple[2];\n\t\t$s = -1; return [year, month, day];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Time.ptr.prototype.Date }; } $f._r = _r; $f._tuple = _tuple; $f.day = day; $f.month = month; $f.t = t; $f.year = year; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tTime.prototype.Date = function() { return this.$val.Date(); };\n\tTime.ptr.prototype.Year = function() {\n\t\tvar _r, _tuple, t, year, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; t = $f.t; year = $f.year; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tt = this;\n\t\t_r = $clone(t, Time).date(false); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tyear = _tuple[0];\n\t\t$s = -1; return year;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Time.ptr.prototype.Year }; } $f._r = _r; $f._tuple = _tuple; $f.t = t; $f.year = year; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tTime.prototype.Year = function() { return this.$val.Year(); };\n\tTime.ptr.prototype.Month = function() {\n\t\tvar _r, _tuple, month, t, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; month = $f.month; t = $f.t; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tt = this;\n\t\t_r = $clone(t, Time).date(true); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tmonth = _tuple[1];\n\t\t$s = -1; return month;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Time.ptr.prototype.Month }; } $f._r = _r; $f._tuple = _tuple; $f.month = month; $f.t = t; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tTime.prototype.Month = function() { return this.$val.Month(); };\n\tTime.ptr.prototype.Day = function() {\n\t\tvar _r, _tuple, day, t, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; day = $f.day; t = $f.t; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tt = this;\n\t\t_r = $clone(t, Time).date(true); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tday = _tuple[2];\n\t\t$s = -1; return day;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Time.ptr.prototype.Day }; } $f._r = _r; $f._tuple = _tuple; $f.day = day; $f.t = t; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tTime.prototype.Day = function() { return this.$val.Day(); };\n\tTime.ptr.prototype.Weekday = function() {\n\t\tvar _r, _r$1, t, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; t = $f.t; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tt = this;\n\t\t_r = $clone(t, Time).abs(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = absWeekday(_r); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r$1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Time.ptr.prototype.Weekday }; } $f._r = _r; $f._r$1 = _r$1; $f.t = t; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tTime.prototype.Weekday = function() { return this.$val.Weekday(); };\n\tabsWeekday = function(abs) {\n\t\tvar _q, abs, sec;\n\t\tsec = $div64((new $Uint64(abs.$high + 0, abs.$low + 86400)), new $Uint64(0, 604800), true);\n\t\treturn (((_q = ((sec.$low >> 0)) / 86400, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError(\"integer divide by zero\")) >> 0));\n\t};\n\tTime.ptr.prototype.ISOWeek = function() {\n\t\tvar _q, _r, _r$1, _r$2, _r$3, _r$4, _tuple, day, dec31wday, jan1wday, month, t, wday, week, yday, year, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _q = $f._q; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _tuple = $f._tuple; day = $f.day; dec31wday = $f.dec31wday; jan1wday = $f.jan1wday; month = $f.month; t = $f.t; wday = $f.wday; week = $f.week; yday = $f.yday; year = $f.year; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tyear = 0;\n\t\tweek = 0;\n\t\tt = this;\n\t\t_r = $clone(t, Time).date(true); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tyear = _tuple[0];\n\t\tmonth = _tuple[1];\n\t\tday = _tuple[2];\n\t\tyday = _tuple[3];\n\t\t_r$2 = $clone(t, Time).Weekday(); /* */ $s = 2; case 2: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\twday = (_r$1 = (((_r$2 + 6 >> 0) >> 0)) % 7, _r$1 === _r$1 ? _r$1 : $throwRuntimeError(\"integer divide by zero\"));\n\t\tweek = (_q = (((yday - wday >> 0) + 7 >> 0)) / 7, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError(\"integer divide by zero\"));\n\t\tjan1wday = (_r$3 = (((wday - yday >> 0) + 371 >> 0)) % 7, _r$3 === _r$3 ? _r$3 : $throwRuntimeError(\"integer divide by zero\"));\n\t\tif (1 <= jan1wday && jan1wday <= 3) {\n\t\t\tweek = week + (1) >> 0;\n\t\t}\n\t\tif (week === 0) {\n\t\t\tyear = year - (1) >> 0;\n\t\t\tweek = 52;\n\t\t\tif ((jan1wday === 4) || ((jan1wday === 5) && isLeap(year))) {\n\t\t\t\tweek = week + (1) >> 0;\n\t\t\t}\n\t\t}\n\t\tif ((month === 12) && day >= 29 && wday < 3) {\n\t\t\tdec31wday = (_r$4 = (((wday + 31 >> 0) - day >> 0)) % 7, _r$4 === _r$4 ? _r$4 : $throwRuntimeError(\"integer divide by zero\"));\n\t\t\tif (0 <= dec31wday && dec31wday <= 2) {\n\t\t\t\tyear = year + (1) >> 0;\n\t\t\t\tweek = 1;\n\t\t\t}\n\t\t}\n\t\t$s = -1; return [year, week];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Time.ptr.prototype.ISOWeek }; } $f._q = _q; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._tuple = _tuple; $f.day = day; $f.dec31wday = dec31wday; $f.jan1wday = jan1wday; $f.month = month; $f.t = t; $f.wday = wday; $f.week = week; $f.yday = yday; $f.year = year; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tTime.prototype.ISOWeek = function() { return this.$val.ISOWeek(); };\n\tTime.ptr.prototype.Clock = function() {\n\t\tvar _r, _r$1, _tuple, hour, min, sec, t, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; hour = $f.hour; min = $f.min; sec = $f.sec; t = $f.t; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\thour = 0;\n\t\tmin = 0;\n\t\tsec = 0;\n\t\tt = this;\n\t\t_r = $clone(t, Time).abs(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = absClock(_r); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_tuple = _r$1;\n\t\thour = _tuple[0];\n\t\tmin = _tuple[1];\n\t\tsec = _tuple[2];\n\t\t$s = -1; return [hour, min, sec];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Time.ptr.prototype.Clock }; } $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f.hour = hour; $f.min = min; $f.sec = sec; $f.t = t; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tTime.prototype.Clock = function() { return this.$val.Clock(); };\n\tabsClock = function(abs) {\n\t\tvar _q, _q$1, abs, hour, min, sec;\n\t\thour = 0;\n\t\tmin = 0;\n\t\tsec = 0;\n\t\tsec = (($div64(abs, new $Uint64(0, 86400), true).$low >> 0));\n\t\thour = (_q = sec / 3600, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError(\"integer divide by zero\"));\n\t\tsec = sec - (($imul(hour, 3600))) >> 0;\n\t\tmin = (_q$1 = sec / 60, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError(\"integer divide by zero\"));\n\t\tsec = sec - (($imul(min, 60))) >> 0;\n\t\treturn [hour, min, sec];\n\t};\n\tTime.ptr.prototype.Hour = function() {\n\t\tvar _q, _r, t, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _q = $f._q; _r = $f._r; t = $f.t; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tt = this;\n\t\t_r = $clone(t, Time).abs(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return (_q = (($div64(_r, new $Uint64(0, 86400), true).$low >> 0)) / 3600, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError(\"integer divide by zero\"));\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Time.ptr.prototype.Hour }; } $f._q = _q; $f._r = _r; $f.t = t; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tTime.prototype.Hour = function() { return this.$val.Hour(); };\n\tTime.ptr.prototype.Minute = function() {\n\t\tvar _q, _r, t, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _q = $f._q; _r = $f._r; t = $f.t; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tt = this;\n\t\t_r = $clone(t, Time).abs(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return (_q = (($div64(_r, new $Uint64(0, 3600), true).$low >> 0)) / 60, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError(\"integer divide by zero\"));\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Time.ptr.prototype.Minute }; } $f._q = _q; $f._r = _r; $f.t = t; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tTime.prototype.Minute = function() { return this.$val.Minute(); };\n\tTime.ptr.prototype.Second = function() {\n\t\tvar _r, t, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tt = this;\n\t\t_r = $clone(t, Time).abs(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return (($div64(_r, new $Uint64(0, 60), true).$low >> 0));\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Time.ptr.prototype.Second }; } $f._r = _r; $f.t = t; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tTime.prototype.Second = function() { return this.$val.Second(); };\n\tTime.ptr.prototype.Nanosecond = function() {\n\t\tvar t;\n\t\tt = this;\n\t\treturn ((t.nsec() >> 0));\n\t};\n\tTime.prototype.Nanosecond = function() { return this.$val.Nanosecond(); };\n\tTime.ptr.prototype.YearDay = function() {\n\t\tvar _r, _tuple, t, yday, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; t = $f.t; yday = $f.yday; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tt = this;\n\t\t_r = $clone(t, Time).date(false); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tyday = _tuple[3];\n\t\t$s = -1; return yday + 1 >> 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Time.ptr.prototype.YearDay }; } $f._r = _r; $f._tuple = _tuple; $f.t = t; $f.yday = yday; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tTime.prototype.YearDay = function() { return this.$val.YearDay(); };\n\tDuration.prototype.String = function() {\n\t\tvar _tuple, _tuple$1, buf, d, neg, prec, u, w;\n\t\td = this;\n\t\tbuf = arrayType$3.zero();\n\t\tw = 32;\n\t\tu = (new $Uint64(d.$high, d.$low));\n\t\tneg = (d.$high < 0 || (d.$high === 0 && d.$low < 0));\n\t\tif (neg) {\n\t\t\tu = new $Uint64(-u.$high, -u.$low);\n\t\t}\n\t\tif ((u.$high < 0 || (u.$high === 0 && u.$low < 1000000000))) {\n\t\t\tprec = 0;\n\t\t\tw = w - (1) >> 0;\n\t\t\t((w < 0 || w >= buf.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf[w] = 115);\n\t\t\tw = w - (1) >> 0;\n\t\t\tif ((u.$high === 0 && u.$low === 0)) {\n\t\t\t\treturn \"0s\";\n\t\t\t} else if ((u.$high < 0 || (u.$high === 0 && u.$low < 1000))) {\n\t\t\t\tprec = 0;\n\t\t\t\t((w < 0 || w >= buf.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf[w] = 110);\n\t\t\t} else if ((u.$high < 0 || (u.$high === 0 && u.$low < 1000000))) {\n\t\t\t\tprec = 3;\n\t\t\t\tw = w - (1) >> 0;\n\t\t\t\t$copyString($subslice(new sliceType$3(buf), w), \"\\xC2\\xB5\");\n\t\t\t} else {\n\t\t\t\tprec = 6;\n\t\t\t\t((w < 0 || w >= buf.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf[w] = 109);\n\t\t\t}\n\t\t\t_tuple = fmtFrac($subslice(new sliceType$3(buf), 0, w), u, prec);\n\t\t\tw = _tuple[0];\n\t\t\tu = _tuple[1];\n\t\t\tw = fmtInt($subslice(new sliceType$3(buf), 0, w), u);\n\t\t} else {\n\t\t\tw = w - (1) >> 0;\n\t\t\t((w < 0 || w >= buf.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf[w] = 115);\n\t\t\t_tuple$1 = fmtFrac($subslice(new sliceType$3(buf), 0, w), u, 9);\n\t\t\tw = _tuple$1[0];\n\t\t\tu = _tuple$1[1];\n\t\t\tw = fmtInt($subslice(new sliceType$3(buf), 0, w), $div64(u, new $Uint64(0, 60), true));\n\t\t\tu = $div64(u, (new $Uint64(0, 60)), false);\n\t\t\tif ((u.$high > 0 || (u.$high === 0 && u.$low > 0))) {\n\t\t\t\tw = w - (1) >> 0;\n\t\t\t\t((w < 0 || w >= buf.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf[w] = 109);\n\t\t\t\tw = fmtInt($subslice(new sliceType$3(buf), 0, w), $div64(u, new $Uint64(0, 60), true));\n\t\t\t\tu = $div64(u, (new $Uint64(0, 60)), false);\n\t\t\t\tif ((u.$high > 0 || (u.$high === 0 && u.$low > 0))) {\n\t\t\t\t\tw = w - (1) >> 0;\n\t\t\t\t\t((w < 0 || w >= buf.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf[w] = 104);\n\t\t\t\t\tw = fmtInt($subslice(new sliceType$3(buf), 0, w), u);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (neg) {\n\t\t\tw = w - (1) >> 0;\n\t\t\t((w < 0 || w >= buf.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf[w] = 45);\n\t\t}\n\t\treturn ($bytesToString($subslice(new sliceType$3(buf), w)));\n\t};\n\t$ptrType(Duration).prototype.String = function() { return this.$get().String(); };\n\tfmtFrac = function(buf, v, prec) {\n\t\tvar _tmp, _tmp$1, buf, digit, i, nv, nw, prec, print, v, w;\n\t\tnw = 0;\n\t\tnv = new $Uint64(0, 0);\n\t\tw = buf.$length;\n\t\tprint = false;\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < prec)) { break; }\n\t\t\tdigit = $div64(v, new $Uint64(0, 10), true);\n\t\t\tprint = print || !((digit.$high === 0 && digit.$low === 0));\n\t\t\tif (print) {\n\t\t\t\tw = w - (1) >> 0;\n\t\t\t\t((w < 0 || w >= buf.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + w] = (((digit.$low << 24 >>> 24)) + 48 << 24 >>> 24));\n\t\t\t}\n\t\t\tv = $div64(v, (new $Uint64(0, 10)), false);\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\tif (print) {\n\t\t\tw = w - (1) >> 0;\n\t\t\t((w < 0 || w >= buf.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + w] = 46);\n\t\t}\n\t\t_tmp = w;\n\t\t_tmp$1 = v;\n\t\tnw = _tmp;\n\t\tnv = _tmp$1;\n\t\treturn [nw, nv];\n\t};\n\tfmtInt = function(buf, v) {\n\t\tvar buf, v, w;\n\t\tw = buf.$length;\n\t\tif ((v.$high === 0 && v.$low === 0)) {\n\t\t\tw = w - (1) >> 0;\n\t\t\t((w < 0 || w >= buf.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + w] = 48);\n\t\t} else {\n\t\t\twhile (true) {\n\t\t\t\tif (!((v.$high > 0 || (v.$high === 0 && v.$low > 0)))) { break; }\n\t\t\t\tw = w - (1) >> 0;\n\t\t\t\t((w < 0 || w >= buf.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + w] = ((($div64(v, new $Uint64(0, 10), true).$low << 24 >>> 24)) + 48 << 24 >>> 24));\n\t\t\t\tv = $div64(v, (new $Uint64(0, 10)), false);\n\t\t\t}\n\t\t}\n\t\treturn w;\n\t};\n\tDuration.prototype.Nanoseconds = function() {\n\t\tvar d;\n\t\td = this;\n\t\treturn (new $Int64(d.$high, d.$low));\n\t};\n\t$ptrType(Duration).prototype.Nanoseconds = function() { return this.$get().Nanoseconds(); };\n\tDuration.prototype.Seconds = function() {\n\t\tvar d, nsec, sec;\n\t\td = this;\n\t\tsec = $div64(d, new Duration(0, 1000000000), false);\n\t\tnsec = $div64(d, new Duration(0, 1000000000), true);\n\t\treturn ($flatten64(sec)) + ($flatten64(nsec)) / 1e+09;\n\t};\n\t$ptrType(Duration).prototype.Seconds = function() { return this.$get().Seconds(); };\n\tDuration.prototype.Minutes = function() {\n\t\tvar d, min, nsec;\n\t\td = this;\n\t\tmin = $div64(d, new Duration(13, 4165425152), false);\n\t\tnsec = $div64(d, new Duration(13, 4165425152), true);\n\t\treturn ($flatten64(min)) + ($flatten64(nsec)) / 6e+10;\n\t};\n\t$ptrType(Duration).prototype.Minutes = function() { return this.$get().Minutes(); };\n\tDuration.prototype.Hours = function() {\n\t\tvar d, hour, nsec;\n\t\td = this;\n\t\thour = $div64(d, new Duration(838, 817405952), false);\n\t\tnsec = $div64(d, new Duration(838, 817405952), true);\n\t\treturn ($flatten64(hour)) + ($flatten64(nsec)) / 3.6e+12;\n\t};\n\t$ptrType(Duration).prototype.Hours = function() { return this.$get().Hours(); };\n\tDuration.prototype.Truncate = function(m) {\n\t\tvar d, m, x;\n\t\td = this;\n\t\tif ((m.$high < 0 || (m.$high === 0 && m.$low <= 0))) {\n\t\t\treturn d;\n\t\t}\n\t\treturn (x = $div64(d, m, true), new Duration(d.$high - x.$high, d.$low - x.$low));\n\t};\n\t$ptrType(Duration).prototype.Truncate = function(m) { return this.$get().Truncate(m); };\n\tlessThanHalf = function(x, y) {\n\t\tvar x, x$1, x$2, x$3, x$4, y;\n\t\treturn (x$1 = (x$2 = (new $Uint64(x.$high, x.$low)), x$3 = (new $Uint64(x.$high, x.$low)), new $Uint64(x$2.$high + x$3.$high, x$2.$low + x$3.$low)), x$4 = (new $Uint64(y.$high, y.$low)), (x$1.$high < x$4.$high || (x$1.$high === x$4.$high && x$1.$low < x$4.$low)));\n\t};\n\tDuration.prototype.Round = function(m) {\n\t\tvar d, d1, d1$1, m, r, x, x$1;\n\t\td = this;\n\t\tif ((m.$high < 0 || (m.$high === 0 && m.$low <= 0))) {\n\t\t\treturn d;\n\t\t}\n\t\tr = $div64(d, m, true);\n\t\tif ((d.$high < 0 || (d.$high === 0 && d.$low < 0))) {\n\t\t\tr = new Duration(-r.$high, -r.$low);\n\t\t\tif (lessThanHalf(r, m)) {\n\t\t\t\treturn new Duration(d.$high + r.$high, d.$low + r.$low);\n\t\t\t}\n\t\t\td1 = (x = new Duration(d.$high - m.$high, d.$low - m.$low), new Duration(x.$high + r.$high, x.$low + r.$low));\n\t\t\tif ((d1.$high < d.$high || (d1.$high === d.$high && d1.$low < d.$low))) {\n\t\t\t\treturn d1;\n\t\t\t}\n\t\t\treturn new Duration(-2147483648, 0);\n\t\t}\n\t\tif (lessThanHalf(r, m)) {\n\t\t\treturn new Duration(d.$high - r.$high, d.$low - r.$low);\n\t\t}\n\t\td1$1 = (x$1 = new Duration(d.$high + m.$high, d.$low + m.$low), new Duration(x$1.$high - r.$high, x$1.$low - r.$low));\n\t\tif ((d1$1.$high > d.$high || (d1$1.$high === d.$high && d1$1.$low > d.$low))) {\n\t\t\treturn d1$1;\n\t\t}\n\t\treturn new Duration(2147483647, 4294967295);\n\t};\n\t$ptrType(Duration).prototype.Round = function(m) { return this.$get().Round(m); };\n\tTime.ptr.prototype.Add = function(d) {\n\t\tvar d, dsec, nsec, t, te, x, x$1, x$10, x$11, x$12, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9;\n\t\tt = this;\n\t\tdsec = ((x = $div64(d, new Duration(0, 1000000000), false), new $Int64(x.$high, x.$low)));\n\t\tnsec = t.nsec() + (((x$1 = $div64(d, new Duration(0, 1000000000), true), x$1.$low + ((x$1.$high >> 31) * 4294967296)) >> 0)) >> 0;\n\t\tif (nsec >= 1000000000) {\n\t\t\tdsec = (x$2 = new $Int64(0, 1), new $Int64(dsec.$high + x$2.$high, dsec.$low + x$2.$low));\n\t\t\tnsec = nsec - (1000000000) >> 0;\n\t\t} else if (nsec < 0) {\n\t\t\tdsec = (x$3 = new $Int64(0, 1), new $Int64(dsec.$high - x$3.$high, dsec.$low - x$3.$low));\n\t\t\tnsec = nsec + (1000000000) >> 0;\n\t\t}\n\t\tt.wall = (x$4 = (x$5 = t.wall, new $Uint64(x$5.$high & ~0, (x$5.$low & ~1073741823) >>> 0)), x$6 = (new $Uint64(0, nsec)), new $Uint64(x$4.$high | x$6.$high, (x$4.$low | x$6.$low) >>> 0));\n\t\tt.addSec(dsec);\n\t\tif (!((x$7 = (x$8 = t.wall, new $Uint64(x$8.$high & 2147483648, (x$8.$low & 0) >>> 0)), (x$7.$high === 0 && x$7.$low === 0)))) {\n\t\t\tte = (x$9 = t.ext, x$10 = (new $Int64(d.$high, d.$low)), new $Int64(x$9.$high + x$10.$high, x$9.$low + x$10.$low));\n\t\t\tif ((d.$high < 0 || (d.$high === 0 && d.$low < 0)) && (x$11 = t.ext, (te.$high > x$11.$high || (te.$high === x$11.$high && te.$low > x$11.$low))) || (d.$high > 0 || (d.$high === 0 && d.$low > 0)) && (x$12 = t.ext, (te.$high < x$12.$high || (te.$high === x$12.$high && te.$low < x$12.$low)))) {\n\t\t\t\tt.stripMono();\n\t\t\t} else {\n\t\t\t\tt.ext = te;\n\t\t\t}\n\t\t}\n\t\treturn t;\n\t};\n\tTime.prototype.Add = function(d) { return this.$val.Add(d); };\n\tTime.ptr.prototype.Sub = function(u) {\n\t\tvar d, d$1, t, te, u, ue, x, x$1, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9;\n\t\tt = this;\n\t\tif (!((x = (x$1 = (x$2 = t.wall, x$3 = u.wall, new $Uint64(x$2.$high & x$3.$high, (x$2.$low & x$3.$low) >>> 0)), new $Uint64(x$1.$high & 2147483648, (x$1.$low & 0) >>> 0)), (x.$high === 0 && x.$low === 0)))) {\n\t\t\tte = t.ext;\n\t\t\tue = u.ext;\n\t\t\td = ((x$4 = new $Int64(te.$high - ue.$high, te.$low - ue.$low), new Duration(x$4.$high, x$4.$low)));\n\t\t\tif ((d.$high < 0 || (d.$high === 0 && d.$low < 0)) && (te.$high > ue.$high || (te.$high === ue.$high && te.$low > ue.$low))) {\n\t\t\t\treturn new Duration(2147483647, 4294967295);\n\t\t\t}\n\t\t\tif ((d.$high > 0 || (d.$high === 0 && d.$low > 0)) && (te.$high < ue.$high || (te.$high === ue.$high && te.$low < ue.$low))) {\n\t\t\t\treturn new Duration(-2147483648, 0);\n\t\t\t}\n\t\t\treturn d;\n\t\t}\n\t\td$1 = (x$5 = $mul64(((x$6 = (x$7 = t.sec(), x$8 = u.sec(), new $Int64(x$7.$high - x$8.$high, x$7.$low - x$8.$low)), new Duration(x$6.$high, x$6.$low))), new Duration(0, 1000000000)), x$9 = (new Duration(0, (t.nsec() - u.nsec() >> 0))), new Duration(x$5.$high + x$9.$high, x$5.$low + x$9.$low));\n\t\tif ($clone($clone(u, Time).Add(d$1), Time).Equal($clone(t, Time))) {\n\t\t\treturn d$1;\n\t\t} else if ($clone(t, Time).Before($clone(u, Time))) {\n\t\t\treturn new Duration(-2147483648, 0);\n\t\t} else {\n\t\t\treturn new Duration(2147483647, 4294967295);\n\t\t}\n\t};\n\tTime.prototype.Sub = function(u) { return this.$val.Sub(u); };\n\tUntil = function(t) {\n\t\tvar t;\n\t\treturn $clone(t, Time).Sub($clone(Now(), Time));\n\t};\n\t$pkg.Until = Until;\n\tTime.ptr.prototype.AddDate = function(years, months$1, days$1) {\n\t\tvar _r, _r$1, _r$2, _tuple, _tuple$1, day, days$1, hour, min, month, months$1, sec, t, year, years, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; day = $f.day; days$1 = $f.days$1; hour = $f.hour; min = $f.min; month = $f.month; months$1 = $f.months$1; sec = $f.sec; t = $f.t; year = $f.year; years = $f.years; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tt = this;\n\t\t_r = $clone(t, Time).Date(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tyear = _tuple[0];\n\t\tmonth = _tuple[1];\n\t\tday = _tuple[2];\n\t\t_r$1 = $clone(t, Time).Clock(); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_tuple$1 = _r$1;\n\t\thour = _tuple$1[0];\n\t\tmin = _tuple$1[1];\n\t\tsec = _tuple$1[2];\n\t\t_r$2 = Date(year + years >> 0, month + ((months$1 >> 0)) >> 0, day + days$1 >> 0, hour, min, sec, ((t.nsec() >> 0)), $clone(t, Time).Location()); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r$2;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Time.ptr.prototype.AddDate }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.day = day; $f.days$1 = days$1; $f.hour = hour; $f.min = min; $f.month = month; $f.months$1 = months$1; $f.sec = sec; $f.t = t; $f.year = year; $f.years = years; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tTime.prototype.AddDate = function(years, months$1, days$1) { return this.$val.AddDate(years, months$1, days$1); };\n\tTime.ptr.prototype.date = function(full) {\n\t\tvar _r, _r$1, _tuple, day, full, month, t, yday, year, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; day = $f.day; full = $f.full; month = $f.month; t = $f.t; yday = $f.yday; year = $f.year; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tyear = 0;\n\t\tmonth = 0;\n\t\tday = 0;\n\t\tyday = 0;\n\t\tt = this;\n\t\t_r = $clone(t, Time).abs(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = absDate(_r, full); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_tuple = _r$1;\n\t\tyear = _tuple[0];\n\t\tmonth = _tuple[1];\n\t\tday = _tuple[2];\n\t\tyday = _tuple[3];\n\t\t$s = -1; return [year, month, day, yday];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Time.ptr.prototype.date }; } $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f.day = day; $f.full = full; $f.month = month; $f.t = t; $f.yday = yday; $f.year = year; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tTime.prototype.date = function(full) { return this.$val.date(full); };\n\tabsDate = function(abs, full) {\n\t\tvar _q, abs, begin, d, day, end, full, month, n, x, x$1, x$10, x$11, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, y, yday, year;\n\t\tyear = 0;\n\t\tmonth = 0;\n\t\tday = 0;\n\t\tyday = 0;\n\t\td = $div64(abs, new $Uint64(0, 86400), false);\n\t\tn = $div64(d, new $Uint64(0, 146097), false);\n\t\ty = $mul64(new $Uint64(0, 400), n);\n\t\td = (x = $mul64(new $Uint64(0, 146097), n), new $Uint64(d.$high - x.$high, d.$low - x.$low));\n\t\tn = $div64(d, new $Uint64(0, 36524), false);\n\t\tn = (x$1 = $shiftRightUint64(n, 2), new $Uint64(n.$high - x$1.$high, n.$low - x$1.$low));\n\t\ty = (x$2 = $mul64(new $Uint64(0, 100), n), new $Uint64(y.$high + x$2.$high, y.$low + x$2.$low));\n\t\td = (x$3 = $mul64(new $Uint64(0, 36524), n), new $Uint64(d.$high - x$3.$high, d.$low - x$3.$low));\n\t\tn = $div64(d, new $Uint64(0, 1461), false);\n\t\ty = (x$4 = $mul64(new $Uint64(0, 4), n), new $Uint64(y.$high + x$4.$high, y.$low + x$4.$low));\n\t\td = (x$5 = $mul64(new $Uint64(0, 1461), n), new $Uint64(d.$high - x$5.$high, d.$low - x$5.$low));\n\t\tn = $div64(d, new $Uint64(0, 365), false);\n\t\tn = (x$6 = $shiftRightUint64(n, 2), new $Uint64(n.$high - x$6.$high, n.$low - x$6.$low));\n\t\ty = (x$7 = n, new $Uint64(y.$high + x$7.$high, y.$low + x$7.$low));\n\t\td = (x$8 = $mul64(new $Uint64(0, 365), n), new $Uint64(d.$high - x$8.$high, d.$low - x$8.$low));\n\t\tyear = (((x$9 = (x$10 = (new $Int64(y.$high, y.$low)), new $Int64(x$10.$high + -69, x$10.$low + 4075721025)), x$9.$low + ((x$9.$high >> 31) * 4294967296)) >> 0));\n\t\tyday = ((d.$low >> 0));\n\t\tif (!full) {\n\t\t\treturn [year, month, day, yday];\n\t\t}\n\t\tday = yday;\n\t\tif (isLeap(year)) {\n\t\t\tif (day > 59) {\n\t\t\t\tday = day - (1) >> 0;\n\t\t\t} else if ((day === 59)) {\n\t\t\t\tmonth = 2;\n\t\t\t\tday = 29;\n\t\t\t\treturn [year, month, day, yday];\n\t\t\t}\n\t\t}\n\t\tmonth = (((_q = day / 31, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError(\"integer divide by zero\")) >> 0));\n\t\tend = (((x$11 = month + 1 >> 0, ((x$11 < 0 || x$11 >= daysBefore.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : daysBefore[x$11])) >> 0));\n\t\tbegin = 0;\n\t\tif (day >= end) {\n\t\t\tmonth = month + (1) >> 0;\n\t\t\tbegin = end;\n\t\t} else {\n\t\t\tbegin = ((((month < 0 || month >= daysBefore.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : daysBefore[month]) >> 0));\n\t\t}\n\t\tmonth = month + (1) >> 0;\n\t\tday = (day - begin >> 0) + 1 >> 0;\n\t\treturn [year, month, day, yday];\n\t};\n\tdaysIn = function(m, year) {\n\t\tvar m, x, year;\n\t\tif ((m === 2) && isLeap(year)) {\n\t\t\treturn 29;\n\t\t}\n\t\treturn (((((m < 0 || m >= daysBefore.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : daysBefore[m]) - (x = m - 1 >> 0, ((x < 0 || x >= daysBefore.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : daysBefore[x])) >> 0) >> 0));\n\t};\n\tNow = function() {\n\t\tvar _tuple, mono, nsec, sec, x, x$1, x$2, x$3, x$4;\n\t\t_tuple = now();\n\t\tsec = _tuple[0];\n\t\tnsec = _tuple[1];\n\t\tmono = _tuple[2];\n\t\tsec = (x = new $Int64(0, 2682288000), new $Int64(sec.$high + x.$high, sec.$low + x.$low));\n\t\tif (!((x$1 = $shiftRightUint64((new $Uint64(sec.$high, sec.$low)), 33), (x$1.$high === 0 && x$1.$low === 0)))) {\n\t\t\treturn new Time.ptr((new $Uint64(0, nsec)), new $Int64(sec.$high + 13, sec.$low + 3618733952), $pkg.Local);\n\t\t}\n\t\treturn new Time.ptr((x$2 = (x$3 = $shiftLeft64((new $Uint64(sec.$high, sec.$low)), 30), new $Uint64(2147483648 | x$3.$high, (0 | x$3.$low) >>> 0)), x$4 = (new $Uint64(0, nsec)), new $Uint64(x$2.$high | x$4.$high, (x$2.$low | x$4.$low) >>> 0)), mono, $pkg.Local);\n\t};\n\t$pkg.Now = Now;\n\tunixTime = function(sec, nsec) {\n\t\tvar nsec, sec;\n\t\treturn new Time.ptr((new $Uint64(0, nsec)), new $Int64(sec.$high + 14, sec.$low + 2006054656), $pkg.Local);\n\t};\n\tTime.ptr.prototype.UTC = function() {\n\t\tvar t;\n\t\tt = this;\n\t\tt.setLoc(utcLoc);\n\t\treturn t;\n\t};\n\tTime.prototype.UTC = function() { return this.$val.UTC(); };\n\tTime.ptr.prototype.Local = function() {\n\t\tvar t;\n\t\tt = this;\n\t\tt.setLoc($pkg.Local);\n\t\treturn t;\n\t};\n\tTime.prototype.Local = function() { return this.$val.Local(); };\n\tTime.ptr.prototype.In = function(loc) {\n\t\tvar loc, t;\n\t\tt = this;\n\t\tif (loc === ptrType$2.nil) {\n\t\t\t$panic(new $String(\"time: missing Location in call to Time.In\"));\n\t\t}\n\t\tt.setLoc(loc);\n\t\treturn t;\n\t};\n\tTime.prototype.In = function(loc) { return this.$val.In(loc); };\n\tTime.ptr.prototype.Location = function() {\n\t\tvar l, t;\n\t\tt = this;\n\t\tl = t.loc;\n\t\tif (l === ptrType$2.nil) {\n\t\t\tl = $pkg.UTC;\n\t\t}\n\t\treturn l;\n\t};\n\tTime.prototype.Location = function() { return this.$val.Location(); };\n\tTime.ptr.prototype.Zone = function() {\n\t\tvar _r, _tuple, name, offset, t, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; name = $f.name; offset = $f.offset; t = $f.t; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tname = \"\";\n\t\toffset = 0;\n\t\tt = this;\n\t\t_r = t.loc.lookup(t.unixSec()); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tname = _tuple[0];\n\t\toffset = _tuple[1];\n\t\t$s = -1; return [name, offset];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Time.ptr.prototype.Zone }; } $f._r = _r; $f._tuple = _tuple; $f.name = name; $f.offset = offset; $f.t = t; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tTime.prototype.Zone = function() { return this.$val.Zone(); };\n\tTime.ptr.prototype.Unix = function() {\n\t\tvar t;\n\t\tt = this;\n\t\treturn t.unixSec();\n\t};\n\tTime.prototype.Unix = function() { return this.$val.Unix(); };\n\tTime.ptr.prototype.UnixNano = function() {\n\t\tvar t, x, x$1;\n\t\tt = this;\n\t\treturn (x = $mul64((t.unixSec()), new $Int64(0, 1000000000)), x$1 = (new $Int64(0, t.nsec())), new $Int64(x.$high + x$1.$high, x.$low + x$1.$low));\n\t};\n\tTime.prototype.UnixNano = function() { return this.$val.UnixNano(); };\n\tTime.ptr.prototype.MarshalBinary = function() {\n\t\tvar _q, _r, _r$1, _tuple, enc, nsec, offset, offsetMin, sec, t, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _q = $f._q; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; enc = $f.enc; nsec = $f.nsec; offset = $f.offset; offsetMin = $f.offsetMin; sec = $f.sec; t = $f.t; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tt = this;\n\t\toffsetMin = 0;\n\t\t/* */ if ($clone(t, Time).Location() === $pkg.UTC) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if ($clone(t, Time).Location() === $pkg.UTC) { */ case 1:\n\t\t\toffsetMin = -1;\n\t\t\t$s = 3; continue;\n\t\t/* } else { */ case 2:\n\t\t\t_r = $clone(t, Time).Zone(); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r;\n\t\t\toffset = _tuple[1];\n\t\t\tif (!(((_r$1 = offset % 60, _r$1 === _r$1 ? _r$1 : $throwRuntimeError(\"integer divide by zero\")) === 0))) {\n\t\t\t\t$s = -1; return [sliceType$3.nil, errors.New(\"Time.MarshalBinary: zone offset has fractional minute\")];\n\t\t\t}\n\t\t\toffset = (_q = offset / (60), (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError(\"integer divide by zero\"));\n\t\t\tif (offset < -32768 || (offset === -1) || offset > 32767) {\n\t\t\t\t$s = -1; return [sliceType$3.nil, errors.New(\"Time.MarshalBinary: unexpected zone offset\")];\n\t\t\t}\n\t\t\toffsetMin = ((offset << 16 >> 16));\n\t\t/* } */ case 3:\n\t\tsec = t.sec();\n\t\tnsec = t.nsec();\n\t\tenc = new sliceType$3([1, (($shiftRightInt64(sec, 56).$low << 24 >>> 24)), (($shiftRightInt64(sec, 48).$low << 24 >>> 24)), (($shiftRightInt64(sec, 40).$low << 24 >>> 24)), (($shiftRightInt64(sec, 32).$low << 24 >>> 24)), (($shiftRightInt64(sec, 24).$low << 24 >>> 24)), (($shiftRightInt64(sec, 16).$low << 24 >>> 24)), (($shiftRightInt64(sec, 8).$low << 24 >>> 24)), ((sec.$low << 24 >>> 24)), (((nsec >> 24 >> 0) << 24 >>> 24)), (((nsec >> 16 >> 0) << 24 >>> 24)), (((nsec >> 8 >> 0) << 24 >>> 24)), ((nsec << 24 >>> 24)), (((offsetMin >> 8 << 16 >> 16) << 24 >>> 24)), ((offsetMin << 24 >>> 24))]);\n\t\t$s = -1; return [enc, $ifaceNil];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Time.ptr.prototype.MarshalBinary }; } $f._q = _q; $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f.enc = enc; $f.nsec = nsec; $f.offset = offset; $f.offsetMin = offsetMin; $f.sec = sec; $f.t = t; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tTime.prototype.MarshalBinary = function() { return this.$val.MarshalBinary(); };\n\tTime.ptr.prototype.UnmarshalBinary = function(data) {\n\t\tvar _r, _tuple, buf, data, localoff, nsec, offset, sec, t, x, x$1, x$10, x$11, x$12, x$13, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; buf = $f.buf; data = $f.data; localoff = $f.localoff; nsec = $f.nsec; offset = $f.offset; sec = $f.sec; t = $f.t; x = $f.x; x$1 = $f.x$1; x$10 = $f.x$10; x$11 = $f.x$11; x$12 = $f.x$12; x$13 = $f.x$13; x$2 = $f.x$2; x$3 = $f.x$3; x$4 = $f.x$4; x$5 = $f.x$5; x$6 = $f.x$6; x$7 = $f.x$7; x$8 = $f.x$8; x$9 = $f.x$9; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tt = this;\n\t\tbuf = data;\n\t\tif (buf.$length === 0) {\n\t\t\t$s = -1; return errors.New(\"Time.UnmarshalBinary: no data\");\n\t\t}\n\t\tif (!(((0 >= buf.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + 0]) === 1))) {\n\t\t\t$s = -1; return errors.New(\"Time.UnmarshalBinary: unsupported version\");\n\t\t}\n\t\tif (!((buf.$length === 15))) {\n\t\t\t$s = -1; return errors.New(\"Time.UnmarshalBinary: invalid length\");\n\t\t}\n\t\tbuf = $subslice(buf, 1);\n\t\tsec = (x = (x$1 = (x$2 = (x$3 = (x$4 = (x$5 = (x$6 = (new $Int64(0, (7 >= buf.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + 7]))), x$7 = $shiftLeft64((new $Int64(0, (6 >= buf.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + 6]))), 8), new $Int64(x$6.$high | x$7.$high, (x$6.$low | x$7.$low) >>> 0)), x$8 = $shiftLeft64((new $Int64(0, (5 >= buf.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + 5]))), 16), new $Int64(x$5.$high | x$8.$high, (x$5.$low | x$8.$low) >>> 0)), x$9 = $shiftLeft64((new $Int64(0, (4 >= buf.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + 4]))), 24), new $Int64(x$4.$high | x$9.$high, (x$4.$low | x$9.$low) >>> 0)), x$10 = $shiftLeft64((new $Int64(0, (3 >= buf.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + 3]))), 32), new $Int64(x$3.$high | x$10.$high, (x$3.$low | x$10.$low) >>> 0)), x$11 = $shiftLeft64((new $Int64(0, (2 >= buf.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + 2]))), 40), new $Int64(x$2.$high | x$11.$high, (x$2.$low | x$11.$low) >>> 0)), x$12 = $shiftLeft64((new $Int64(0, (1 >= buf.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + 1]))), 48), new $Int64(x$1.$high | x$12.$high, (x$1.$low | x$12.$low) >>> 0)), x$13 = $shiftLeft64((new $Int64(0, (0 >= buf.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + 0]))), 56), new $Int64(x.$high | x$13.$high, (x.$low | x$13.$low) >>> 0));\n\t\tbuf = $subslice(buf, 8);\n\t\tnsec = (((((3 >= buf.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + 3]) >> 0)) | ((((2 >= buf.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + 2]) >> 0)) << 8 >> 0)) | ((((1 >= buf.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + 1]) >> 0)) << 16 >> 0)) | ((((0 >= buf.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + 0]) >> 0)) << 24 >> 0);\n\t\tbuf = $subslice(buf, 4);\n\t\toffset = $imul(((((((1 >= buf.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + 1]) << 16 >> 16)) | ((((0 >= buf.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + 0]) << 16 >> 16)) << 8 << 16 >> 16)) >> 0)), 60);\n\t\tTime.copy(t, new Time.ptr(new $Uint64(0, 0), new $Int64(0, 0), ptrType$2.nil));\n\t\tt.wall = (new $Uint64(0, nsec));\n\t\tt.ext = sec;\n\t\t/* */ if (offset === -60) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (offset === -60) { */ case 1:\n\t\t\tt.setLoc(utcLoc);\n\t\t\t$s = 3; continue;\n\t\t/* } else { */ case 2:\n\t\t\t_r = $pkg.Local.lookup(t.unixSec()); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r;\n\t\t\tlocaloff = _tuple[1];\n\t\t\tif (offset === localoff) {\n\t\t\t\tt.setLoc($pkg.Local);\n\t\t\t} else {\n\t\t\t\tt.setLoc(FixedZone(\"\", offset));\n\t\t\t}\n\t\t/* } */ case 3:\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Time.ptr.prototype.UnmarshalBinary }; } $f._r = _r; $f._tuple = _tuple; $f.buf = buf; $f.data = data; $f.localoff = localoff; $f.nsec = nsec; $f.offset = offset; $f.sec = sec; $f.t = t; $f.x = x; $f.x$1 = x$1; $f.x$10 = x$10; $f.x$11 = x$11; $f.x$12 = x$12; $f.x$13 = x$13; $f.x$2 = x$2; $f.x$3 = x$3; $f.x$4 = x$4; $f.x$5 = x$5; $f.x$6 = x$6; $f.x$7 = x$7; $f.x$8 = x$8; $f.x$9 = x$9; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tTime.prototype.UnmarshalBinary = function(data) { return this.$val.UnmarshalBinary(data); };\n\tTime.ptr.prototype.GobEncode = function() {\n\t\tvar _r, t, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tt = this;\n\t\t_r = $clone(t, Time).MarshalBinary(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Time.ptr.prototype.GobEncode }; } $f._r = _r; $f.t = t; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tTime.prototype.GobEncode = function() { return this.$val.GobEncode(); };\n\tTime.ptr.prototype.GobDecode = function(data) {\n\t\tvar _r, data, t, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; data = $f.data; t = $f.t; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tt = this;\n\t\t_r = t.UnmarshalBinary(data); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Time.ptr.prototype.GobDecode }; } $f._r = _r; $f.data = data; $f.t = t; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tTime.prototype.GobDecode = function(data) { return this.$val.GobDecode(data); };\n\tTime.ptr.prototype.MarshalJSON = function() {\n\t\tvar _r, _r$1, b, t, y, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; b = $f.b; t = $f.t; y = $f.y; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tt = this;\n\t\t_r = $clone(t, Time).Year(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\ty = _r;\n\t\tif (y < 0 || y >= 10000) {\n\t\t\t$s = -1; return [sliceType$3.nil, errors.New(\"Time.MarshalJSON: year outside of range [0,9999]\")];\n\t\t}\n\t\tb = $makeSlice(sliceType$3, 0, 37);\n\t\tb = $append(b, 34);\n\t\t_r$1 = $clone(t, Time).AppendFormat(b, \"2006-01-02T15:04:05.999999999Z07:00\"); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tb = _r$1;\n\t\tb = $append(b, 34);\n\t\t$s = -1; return [b, $ifaceNil];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Time.ptr.prototype.MarshalJSON }; } $f._r = _r; $f._r$1 = _r$1; $f.b = b; $f.t = t; $f.y = y; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tTime.prototype.MarshalJSON = function() { return this.$val.MarshalJSON(); };\n\tTime.ptr.prototype.UnmarshalJSON = function(data) {\n\t\tvar _r, _tuple, data, err, t, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; data = $f.data; err = $f.err; t = $f.t; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tt = this;\n\t\tif (($bytesToString(data)) === \"null\") {\n\t\t\t$s = -1; return $ifaceNil;\n\t\t}\n\t\terr = $ifaceNil;\n\t\t_r = Parse(\"\\\"2006-01-02T15:04:05Z07:00\\\"\", ($bytesToString(data))); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tTime.copy(t, _tuple[0]);\n\t\terr = _tuple[1];\n\t\t$s = -1; return err;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Time.ptr.prototype.UnmarshalJSON }; } $f._r = _r; $f._tuple = _tuple; $f.data = data; $f.err = err; $f.t = t; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tTime.prototype.UnmarshalJSON = function(data) { return this.$val.UnmarshalJSON(data); };\n\tTime.ptr.prototype.MarshalText = function() {\n\t\tvar _r, _r$1, b, t, y, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; b = $f.b; t = $f.t; y = $f.y; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tt = this;\n\t\t_r = $clone(t, Time).Year(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\ty = _r;\n\t\tif (y < 0 || y >= 10000) {\n\t\t\t$s = -1; return [sliceType$3.nil, errors.New(\"Time.MarshalText: year outside of range [0,9999]\")];\n\t\t}\n\t\tb = $makeSlice(sliceType$3, 0, 35);\n\t\t_r$1 = $clone(t, Time).AppendFormat(b, \"2006-01-02T15:04:05.999999999Z07:00\"); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$s = -1; return [_r$1, $ifaceNil];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Time.ptr.prototype.MarshalText }; } $f._r = _r; $f._r$1 = _r$1; $f.b = b; $f.t = t; $f.y = y; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tTime.prototype.MarshalText = function() { return this.$val.MarshalText(); };\n\tTime.ptr.prototype.UnmarshalText = function(data) {\n\t\tvar _r, _tuple, data, err, t, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; data = $f.data; err = $f.err; t = $f.t; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tt = this;\n\t\terr = $ifaceNil;\n\t\t_r = Parse(\"2006-01-02T15:04:05Z07:00\", ($bytesToString(data))); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tTime.copy(t, _tuple[0]);\n\t\terr = _tuple[1];\n\t\t$s = -1; return err;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Time.ptr.prototype.UnmarshalText }; } $f._r = _r; $f._tuple = _tuple; $f.data = data; $f.err = err; $f.t = t; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tTime.prototype.UnmarshalText = function(data) { return this.$val.UnmarshalText(data); };\n\tUnix = function(sec, nsec) {\n\t\tvar n, nsec, sec, x, x$1, x$2, x$3;\n\t\tif ((nsec.$high < 0 || (nsec.$high === 0 && nsec.$low < 0)) || (nsec.$high > 0 || (nsec.$high === 0 && nsec.$low >= 1000000000))) {\n\t\t\tn = $div64(nsec, new $Int64(0, 1000000000), false);\n\t\t\tsec = (x = n, new $Int64(sec.$high + x.$high, sec.$low + x.$low));\n\t\t\tnsec = (x$1 = $mul64(n, new $Int64(0, 1000000000)), new $Int64(nsec.$high - x$1.$high, nsec.$low - x$1.$low));\n\t\t\tif ((nsec.$high < 0 || (nsec.$high === 0 && nsec.$low < 0))) {\n\t\t\t\tnsec = (x$2 = new $Int64(0, 1000000000), new $Int64(nsec.$high + x$2.$high, nsec.$low + x$2.$low));\n\t\t\t\tsec = (x$3 = new $Int64(0, 1), new $Int64(sec.$high - x$3.$high, sec.$low - x$3.$low));\n\t\t\t}\n\t\t}\n\t\treturn unixTime(sec, (((nsec.$low + ((nsec.$high >> 31) * 4294967296)) >> 0)));\n\t};\n\t$pkg.Unix = Unix;\n\tisLeap = function(year) {\n\t\tvar _r, _r$1, _r$2, year;\n\t\treturn ((_r = year % 4, _r === _r ? _r : $throwRuntimeError(\"integer divide by zero\")) === 0) && (!(((_r$1 = year % 100, _r$1 === _r$1 ? _r$1 : $throwRuntimeError(\"integer divide by zero\")) === 0)) || ((_r$2 = year % 400, _r$2 === _r$2 ? _r$2 : $throwRuntimeError(\"integer divide by zero\")) === 0));\n\t};\n\tnorm = function(hi, lo, base) {\n\t\tvar _q, _q$1, _tmp, _tmp$1, base, hi, lo, n, n$1, nhi, nlo;\n\t\tnhi = 0;\n\t\tnlo = 0;\n\t\tif (lo < 0) {\n\t\t\tn = (_q = ((-lo - 1 >> 0)) / base, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError(\"integer divide by zero\")) + 1 >> 0;\n\t\t\thi = hi - (n) >> 0;\n\t\t\tlo = lo + (($imul(n, base))) >> 0;\n\t\t}\n\t\tif (lo >= base) {\n\t\t\tn$1 = (_q$1 = lo / base, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError(\"integer divide by zero\"));\n\t\t\thi = hi + (n$1) >> 0;\n\t\t\tlo = lo - (($imul(n$1, base))) >> 0;\n\t\t}\n\t\t_tmp = hi;\n\t\t_tmp$1 = lo;\n\t\tnhi = _tmp;\n\t\tnlo = _tmp$1;\n\t\treturn [nhi, nlo];\n\t};\n\tDate = function(year, month, day, hour, min, sec, nsec, loc) {\n\t\tvar _r, _r$1, _r$2, _tuple, _tuple$1, _tuple$2, _tuple$3, _tuple$4, _tuple$5, _tuple$6, _tuple$7, abs, d, day, end, hour, loc, m, min, month, n, nsec, offset, sec, start, t, unix, utc, x, x$1, x$10, x$11, x$12, x$13, x$14, x$15, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, y, year, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; _tuple$3 = $f._tuple$3; _tuple$4 = $f._tuple$4; _tuple$5 = $f._tuple$5; _tuple$6 = $f._tuple$6; _tuple$7 = $f._tuple$7; abs = $f.abs; d = $f.d; day = $f.day; end = $f.end; hour = $f.hour; loc = $f.loc; m = $f.m; min = $f.min; month = $f.month; n = $f.n; nsec = $f.nsec; offset = $f.offset; sec = $f.sec; start = $f.start; t = $f.t; unix = $f.unix; utc = $f.utc; x = $f.x; x$1 = $f.x$1; x$10 = $f.x$10; x$11 = $f.x$11; x$12 = $f.x$12; x$13 = $f.x$13; x$14 = $f.x$14; x$15 = $f.x$15; x$2 = $f.x$2; x$3 = $f.x$3; x$4 = $f.x$4; x$5 = $f.x$5; x$6 = $f.x$6; x$7 = $f.x$7; x$8 = $f.x$8; x$9 = $f.x$9; y = $f.y; year = $f.year; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tif (loc === ptrType$2.nil) {\n\t\t\t$panic(new $String(\"time: missing Location in call to Date\"));\n\t\t}\n\t\tm = ((month >> 0)) - 1 >> 0;\n\t\t_tuple = norm(year, m, 12);\n\t\tyear = _tuple[0];\n\t\tm = _tuple[1];\n\t\tmonth = ((m >> 0)) + 1 >> 0;\n\t\t_tuple$1 = norm(sec, nsec, 1000000000);\n\t\tsec = _tuple$1[0];\n\t\tnsec = _tuple$1[1];\n\t\t_tuple$2 = norm(min, sec, 60);\n\t\tmin = _tuple$2[0];\n\t\tsec = _tuple$2[1];\n\t\t_tuple$3 = norm(hour, min, 60);\n\t\thour = _tuple$3[0];\n\t\tmin = _tuple$3[1];\n\t\t_tuple$4 = norm(day, hour, 24);\n\t\tday = _tuple$4[0];\n\t\thour = _tuple$4[1];\n\t\ty = ((x = (x$1 = (new $Int64(0, year)), new $Int64(x$1.$high - -69, x$1.$low - 4075721025)), new $Uint64(x.$high, x.$low)));\n\t\tn = $div64(y, new $Uint64(0, 400), false);\n\t\ty = (x$2 = $mul64(new $Uint64(0, 400), n), new $Uint64(y.$high - x$2.$high, y.$low - x$2.$low));\n\t\td = $mul64(new $Uint64(0, 146097), n);\n\t\tn = $div64(y, new $Uint64(0, 100), false);\n\t\ty = (x$3 = $mul64(new $Uint64(0, 100), n), new $Uint64(y.$high - x$3.$high, y.$low - x$3.$low));\n\t\td = (x$4 = $mul64(new $Uint64(0, 36524), n), new $Uint64(d.$high + x$4.$high, d.$low + x$4.$low));\n\t\tn = $div64(y, new $Uint64(0, 4), false);\n\t\ty = (x$5 = $mul64(new $Uint64(0, 4), n), new $Uint64(y.$high - x$5.$high, y.$low - x$5.$low));\n\t\td = (x$6 = $mul64(new $Uint64(0, 1461), n), new $Uint64(d.$high + x$6.$high, d.$low + x$6.$low));\n\t\tn = y;\n\t\td = (x$7 = $mul64(new $Uint64(0, 365), n), new $Uint64(d.$high + x$7.$high, d.$low + x$7.$low));\n\t\td = (x$8 = (new $Uint64(0, (x$9 = month - 1 >> 0, ((x$9 < 0 || x$9 >= daysBefore.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : daysBefore[x$9])))), new $Uint64(d.$high + x$8.$high, d.$low + x$8.$low));\n\t\tif (isLeap(year) && month >= 3) {\n\t\t\td = (x$10 = new $Uint64(0, 1), new $Uint64(d.$high + x$10.$high, d.$low + x$10.$low));\n\t\t}\n\t\td = (x$11 = (new $Uint64(0, (day - 1 >> 0))), new $Uint64(d.$high + x$11.$high, d.$low + x$11.$low));\n\t\tabs = $mul64(d, new $Uint64(0, 86400));\n\t\tabs = (x$12 = (new $Uint64(0, ((($imul(hour, 3600)) + ($imul(min, 60)) >> 0) + sec >> 0))), new $Uint64(abs.$high + x$12.$high, abs.$low + x$12.$low));\n\t\tunix = (x$13 = (new $Int64(abs.$high, abs.$low)), new $Int64(x$13.$high + -2147483647, x$13.$low + 3844486912));\n\t\t_r = loc.lookup(unix); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple$5 = _r;\n\t\toffset = _tuple$5[1];\n\t\tstart = _tuple$5[2];\n\t\tend = _tuple$5[3];\n\t\t/* */ if (!((offset === 0))) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (!((offset === 0))) { */ case 2:\n\t\t\t\tutc = (x$14 = (new $Int64(0, offset)), new $Int64(unix.$high - x$14.$high, unix.$low - x$14.$low));\n\t\t\t\t/* */ if ((utc.$high < start.$high || (utc.$high === start.$high && utc.$low < start.$low))) { $s = 5; continue; }\n\t\t\t\t/* */ if ((utc.$high > end.$high || (utc.$high === end.$high && utc.$low >= end.$low))) { $s = 6; continue; }\n\t\t\t\t/* */ $s = 7; continue;\n\t\t\t\t/* if ((utc.$high < start.$high || (utc.$high === start.$high && utc.$low < start.$low))) { */ case 5:\n\t\t\t\t\t_r$1 = loc.lookup(new $Int64(start.$high - 0, start.$low - 1)); /* */ $s = 8; case 8: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t\t_tuple$6 = _r$1;\n\t\t\t\t\toffset = _tuple$6[1];\n\t\t\t\t\t$s = 7; continue;\n\t\t\t\t/* } else if ((utc.$high > end.$high || (utc.$high === end.$high && utc.$low >= end.$low))) { */ case 6:\n\t\t\t\t\t_r$2 = loc.lookup(end); /* */ $s = 9; case 9: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t\t_tuple$7 = _r$2;\n\t\t\t\t\toffset = _tuple$7[1];\n\t\t\t\t/* } */ case 7:\n\t\t\tcase 4:\n\t\t\tunix = (x$15 = (new $Int64(0, offset)), new $Int64(unix.$high - x$15.$high, unix.$low - x$15.$low));\n\t\t/* } */ case 3:\n\t\tt = $clone(unixTime(unix, ((nsec >> 0))), Time);\n\t\tt.setLoc(loc);\n\t\t$s = -1; return t;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Date }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f._tuple$3 = _tuple$3; $f._tuple$4 = _tuple$4; $f._tuple$5 = _tuple$5; $f._tuple$6 = _tuple$6; $f._tuple$7 = _tuple$7; $f.abs = abs; $f.d = d; $f.day = day; $f.end = end; $f.hour = hour; $f.loc = loc; $f.m = m; $f.min = min; $f.month = month; $f.n = n; $f.nsec = nsec; $f.offset = offset; $f.sec = sec; $f.start = start; $f.t = t; $f.unix = unix; $f.utc = utc; $f.x = x; $f.x$1 = x$1; $f.x$10 = x$10; $f.x$11 = x$11; $f.x$12 = x$12; $f.x$13 = x$13; $f.x$14 = x$14; $f.x$15 = x$15; $f.x$2 = x$2; $f.x$3 = x$3; $f.x$4 = x$4; $f.x$5 = x$5; $f.x$6 = x$6; $f.x$7 = x$7; $f.x$8 = x$8; $f.x$9 = x$9; $f.y = y; $f.year = year; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.Date = Date;\n\tTime.ptr.prototype.Truncate = function(d) {\n\t\tvar _tuple, d, r, t;\n\t\tt = this;\n\t\tt.stripMono();\n\t\tif ((d.$high < 0 || (d.$high === 0 && d.$low <= 0))) {\n\t\t\treturn t;\n\t\t}\n\t\t_tuple = div($clone(t, Time), d);\n\t\tr = _tuple[1];\n\t\treturn $clone(t, Time).Add(new Duration(-r.$high, -r.$low));\n\t};\n\tTime.prototype.Truncate = function(d) { return this.$val.Truncate(d); };\n\tTime.ptr.prototype.Round = function(d) {\n\t\tvar _tuple, d, r, t;\n\t\tt = this;\n\t\tt.stripMono();\n\t\tif ((d.$high < 0 || (d.$high === 0 && d.$low <= 0))) {\n\t\t\treturn t;\n\t\t}\n\t\t_tuple = div($clone(t, Time), d);\n\t\tr = _tuple[1];\n\t\tif (lessThanHalf(r, d)) {\n\t\t\treturn $clone(t, Time).Add(new Duration(-r.$high, -r.$low));\n\t\t}\n\t\treturn $clone(t, Time).Add(new Duration(d.$high - r.$high, d.$low - r.$low));\n\t};\n\tTime.prototype.Round = function(d) { return this.$val.Round(d); };\n\tdiv = function(t, d) {\n\t\tvar _q, _r, _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, d, d0, d1, d1$1, neg, nsec, qmod2, r, sec, sec$1, t, tmp, u0, u0x, u1, x, x$1, x$10, x$11, x$12, x$13, x$14, x$15, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9;\n\t\tqmod2 = 0;\n\t\tr = new Duration(0, 0);\n\t\tneg = false;\n\t\tnsec = t.nsec();\n\t\tsec = t.sec();\n\t\tif ((sec.$high < 0 || (sec.$high === 0 && sec.$low < 0))) {\n\t\t\tneg = true;\n\t\t\tsec = new $Int64(-sec.$high, -sec.$low);\n\t\t\tnsec = -nsec;\n\t\t\tif (nsec < 0) {\n\t\t\t\tnsec = nsec + (1000000000) >> 0;\n\t\t\t\tsec = (x = new $Int64(0, 1), new $Int64(sec.$high - x.$high, sec.$low - x.$low));\n\t\t\t}\n\t\t}\n\t\tif ((d.$high < 0 || (d.$high === 0 && d.$low < 1000000000)) && (x$1 = $div64(new Duration(0, 1000000000), (new Duration(d.$high + d.$high, d.$low + d.$low)), true), (x$1.$high === 0 && x$1.$low === 0))) {\n\t\t\tqmod2 = (((_q = nsec / (((d.$low + ((d.$high >> 31) * 4294967296)) >> 0)), (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError(\"integer divide by zero\")) >> 0)) & 1;\n\t\t\tr = (new Duration(0, (_r = nsec % (((d.$low + ((d.$high >> 31) * 4294967296)) >> 0)), _r === _r ? _r : $throwRuntimeError(\"integer divide by zero\"))));\n\t\t} else if ((x$2 = $div64(d, new Duration(0, 1000000000), true), (x$2.$high === 0 && x$2.$low === 0))) {\n\t\t\td1 = ((x$3 = $div64(d, new Duration(0, 1000000000), false), new $Int64(x$3.$high, x$3.$low)));\n\t\t\tqmod2 = (((x$4 = $div64(sec, d1, false), x$4.$low + ((x$4.$high >> 31) * 4294967296)) >> 0)) & 1;\n\t\t\tr = (x$5 = $mul64(((x$6 = $div64(sec, d1, true), new Duration(x$6.$high, x$6.$low))), new Duration(0, 1000000000)), x$7 = (new Duration(0, nsec)), new Duration(x$5.$high + x$7.$high, x$5.$low + x$7.$low));\n\t\t} else {\n\t\t\tsec$1 = (new $Uint64(sec.$high, sec.$low));\n\t\t\ttmp = $mul64(($shiftRightUint64(sec$1, 32)), new $Uint64(0, 1000000000));\n\t\t\tu1 = $shiftRightUint64(tmp, 32);\n\t\t\tu0 = $shiftLeft64(tmp, 32);\n\t\t\ttmp = $mul64((new $Uint64(sec$1.$high & 0, (sec$1.$low & 4294967295) >>> 0)), new $Uint64(0, 1000000000));\n\t\t\t_tmp = u0;\n\t\t\t_tmp$1 = new $Uint64(u0.$high + tmp.$high, u0.$low + tmp.$low);\n\t\t\tu0x = _tmp;\n\t\t\tu0 = _tmp$1;\n\t\t\tif ((u0.$high < u0x.$high || (u0.$high === u0x.$high && u0.$low < u0x.$low))) {\n\t\t\t\tu1 = (x$8 = new $Uint64(0, 1), new $Uint64(u1.$high + x$8.$high, u1.$low + x$8.$low));\n\t\t\t}\n\t\t\t_tmp$2 = u0;\n\t\t\t_tmp$3 = (x$9 = (new $Uint64(0, nsec)), new $Uint64(u0.$high + x$9.$high, u0.$low + x$9.$low));\n\t\t\tu0x = _tmp$2;\n\t\t\tu0 = _tmp$3;\n\t\t\tif ((u0.$high < u0x.$high || (u0.$high === u0x.$high && u0.$low < u0x.$low))) {\n\t\t\t\tu1 = (x$10 = new $Uint64(0, 1), new $Uint64(u1.$high + x$10.$high, u1.$low + x$10.$low));\n\t\t\t}\n\t\t\td1$1 = (new $Uint64(d.$high, d.$low));\n\t\t\twhile (true) {\n\t\t\t\tif (!(!((x$11 = $shiftRightUint64(d1$1, 63), (x$11.$high === 0 && x$11.$low === 1))))) { break; }\n\t\t\t\td1$1 = $shiftLeft64(d1$1, (1));\n\t\t\t}\n\t\t\td0 = new $Uint64(0, 0);\n\t\t\twhile (true) {\n\t\t\t\tqmod2 = 0;\n\t\t\t\tif ((u1.$high > d1$1.$high || (u1.$high === d1$1.$high && u1.$low > d1$1.$low)) || (u1.$high === d1$1.$high && u1.$low === d1$1.$low) && (u0.$high > d0.$high || (u0.$high === d0.$high && u0.$low >= d0.$low))) {\n\t\t\t\t\tqmod2 = 1;\n\t\t\t\t\t_tmp$4 = u0;\n\t\t\t\t\t_tmp$5 = new $Uint64(u0.$high - d0.$high, u0.$low - d0.$low);\n\t\t\t\t\tu0x = _tmp$4;\n\t\t\t\t\tu0 = _tmp$5;\n\t\t\t\t\tif ((u0.$high > u0x.$high || (u0.$high === u0x.$high && u0.$low > u0x.$low))) {\n\t\t\t\t\t\tu1 = (x$12 = new $Uint64(0, 1), new $Uint64(u1.$high - x$12.$high, u1.$low - x$12.$low));\n\t\t\t\t\t}\n\t\t\t\t\tu1 = (x$13 = d1$1, new $Uint64(u1.$high - x$13.$high, u1.$low - x$13.$low));\n\t\t\t\t}\n\t\t\t\tif ((d1$1.$high === 0 && d1$1.$low === 0) && (x$14 = (new $Uint64(d.$high, d.$low)), (d0.$high === x$14.$high && d0.$low === x$14.$low))) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\td0 = $shiftRightUint64(d0, (1));\n\t\t\t\td0 = (x$15 = $shiftLeft64((new $Uint64(d1$1.$high & 0, (d1$1.$low & 1) >>> 0)), 63), new $Uint64(d0.$high | x$15.$high, (d0.$low | x$15.$low) >>> 0));\n\t\t\t\td1$1 = $shiftRightUint64(d1$1, (1));\n\t\t\t}\n\t\t\tr = (new Duration(u0.$high, u0.$low));\n\t\t}\n\t\tif (neg && !((r.$high === 0 && r.$low === 0))) {\n\t\t\tqmod2 = (qmod2 ^ (1)) >> 0;\n\t\t\tr = new Duration(d.$high - r.$high, d.$low - r.$low);\n\t\t}\n\t\treturn [qmod2, r];\n\t};\n\tLocation.ptr.prototype.get = function() {\n\t\tvar l, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; l = $f.l; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tl = this;\n\t\tif (l === ptrType$2.nil) {\n\t\t\t$s = -1; return utcLoc;\n\t\t}\n\t\t/* */ if (l === localLoc) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (l === localLoc) { */ case 1:\n\t\t\t$r = localOnce.Do(initLocal); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 2:\n\t\t$s = -1; return l;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Location.ptr.prototype.get }; } $f.l = l; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLocation.prototype.get = function() { return this.$val.get(); };\n\tLocation.ptr.prototype.String = function() {\n\t\tvar _r, l, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; l = $f.l; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tl = this;\n\t\t_r = l.get(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r.name;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Location.ptr.prototype.String }; } $f._r = _r; $f.l = l; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLocation.prototype.String = function() { return this.$val.String(); };\n\tFixedZone = function(name, offset) {\n\t\tvar l, name, offset, x;\n\t\tl = new Location.ptr(name, new sliceType([new zone.ptr(name, offset, false)]), new sliceType$1([new zoneTrans.ptr(new $Int64(-2147483648, 0), 0, false, false)]), new $Int64(-2147483648, 0), new $Int64(2147483647, 4294967295), ptrType.nil);\n\t\tl.cacheZone = (x = l.zone, (0 >= x.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + 0]));\n\t\treturn l;\n\t};\n\t$pkg.FixedZone = FixedZone;\n\tLocation.ptr.prototype.lookup = function(sec) {\n\t\tvar _q, _r, end, hi, l, lim, lo, m, name, offset, sec, start, tx, x, x$1, x$2, x$3, x$4, x$5, x$6, x$7, x$8, zone$1, zone$2, zone$3, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _q = $f._q; _r = $f._r; end = $f.end; hi = $f.hi; l = $f.l; lim = $f.lim; lo = $f.lo; m = $f.m; name = $f.name; offset = $f.offset; sec = $f.sec; start = $f.start; tx = $f.tx; x = $f.x; x$1 = $f.x$1; x$2 = $f.x$2; x$3 = $f.x$3; x$4 = $f.x$4; x$5 = $f.x$5; x$6 = $f.x$6; x$7 = $f.x$7; x$8 = $f.x$8; zone$1 = $f.zone$1; zone$2 = $f.zone$2; zone$3 = $f.zone$3; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tname = \"\";\n\t\toffset = 0;\n\t\tstart = new $Int64(0, 0);\n\t\tend = new $Int64(0, 0);\n\t\tl = this;\n\t\t_r = l.get(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tl = _r;\n\t\tif (l.zone.$length === 0) {\n\t\t\tname = \"UTC\";\n\t\t\toffset = 0;\n\t\t\tstart = new $Int64(-2147483648, 0);\n\t\t\tend = new $Int64(2147483647, 4294967295);\n\t\t\t$s = -1; return [name, offset, start, end];\n\t\t}\n\t\tzone$1 = l.cacheZone;\n\t\tif (!(zone$1 === ptrType.nil) && (x = l.cacheStart, (x.$high < sec.$high || (x.$high === sec.$high && x.$low <= sec.$low))) && (x$1 = l.cacheEnd, (sec.$high < x$1.$high || (sec.$high === x$1.$high && sec.$low < x$1.$low)))) {\n\t\t\tname = zone$1.name;\n\t\t\toffset = zone$1.offset;\n\t\t\tstart = l.cacheStart;\n\t\t\tend = l.cacheEnd;\n\t\t\t$s = -1; return [name, offset, start, end];\n\t\t}\n\t\tif ((l.tx.$length === 0) || (x$2 = (x$3 = l.tx, (0 >= x$3.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : x$3.$array[x$3.$offset + 0])).when, (sec.$high < x$2.$high || (sec.$high === x$2.$high && sec.$low < x$2.$low)))) {\n\t\t\tzone$2 = (x$4 = l.zone, x$5 = l.lookupFirstZone(), ((x$5 < 0 || x$5 >= x$4.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$4.$array[x$4.$offset + x$5]));\n\t\t\tname = zone$2.name;\n\t\t\toffset = zone$2.offset;\n\t\t\tstart = new $Int64(-2147483648, 0);\n\t\t\tif (l.tx.$length > 0) {\n\t\t\t\tend = (x$6 = l.tx, (0 >= x$6.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : x$6.$array[x$6.$offset + 0])).when;\n\t\t\t} else {\n\t\t\t\tend = new $Int64(2147483647, 4294967295);\n\t\t\t}\n\t\t\t$s = -1; return [name, offset, start, end];\n\t\t}\n\t\ttx = l.tx;\n\t\tend = new $Int64(2147483647, 4294967295);\n\t\tlo = 0;\n\t\thi = tx.$length;\n\t\twhile (true) {\n\t\t\tif (!((hi - lo >> 0) > 1)) { break; }\n\t\t\tm = lo + (_q = ((hi - lo >> 0)) / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError(\"integer divide by zero\")) >> 0;\n\t\t\tlim = ((m < 0 || m >= tx.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : tx.$array[tx.$offset + m]).when;\n\t\t\tif ((sec.$high < lim.$high || (sec.$high === lim.$high && sec.$low < lim.$low))) {\n\t\t\t\tend = lim;\n\t\t\t\thi = m;\n\t\t\t} else {\n\t\t\t\tlo = m;\n\t\t\t}\n\t\t}\n\t\tzone$3 = (x$7 = l.zone, x$8 = ((lo < 0 || lo >= tx.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : tx.$array[tx.$offset + lo]).index, ((x$8 < 0 || x$8 >= x$7.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$7.$array[x$7.$offset + x$8]));\n\t\tname = zone$3.name;\n\t\toffset = zone$3.offset;\n\t\tstart = ((lo < 0 || lo >= tx.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : tx.$array[tx.$offset + lo]).when;\n\t\t$s = -1; return [name, offset, start, end];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Location.ptr.prototype.lookup }; } $f._q = _q; $f._r = _r; $f.end = end; $f.hi = hi; $f.l = l; $f.lim = lim; $f.lo = lo; $f.m = m; $f.name = name; $f.offset = offset; $f.sec = sec; $f.start = start; $f.tx = tx; $f.x = x; $f.x$1 = x$1; $f.x$2 = x$2; $f.x$3 = x$3; $f.x$4 = x$4; $f.x$5 = x$5; $f.x$6 = x$6; $f.x$7 = x$7; $f.x$8 = x$8; $f.zone$1 = zone$1; $f.zone$2 = zone$2; $f.zone$3 = zone$3; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLocation.prototype.lookup = function(sec) { return this.$val.lookup(sec); };\n\tLocation.ptr.prototype.lookupFirstZone = function() {\n\t\tvar _i, _ref, l, x, x$1, x$2, x$3, x$4, x$5, zi, zi$1;\n\t\tl = this;\n\t\tif (!l.firstZoneUsed()) {\n\t\t\treturn 0;\n\t\t}\n\t\tif (l.tx.$length > 0 && (x = l.zone, x$1 = (x$2 = l.tx, (0 >= x$2.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : x$2.$array[x$2.$offset + 0])).index, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1])).isDST) {\n\t\t\tzi = (((x$3 = l.tx, (0 >= x$3.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : x$3.$array[x$3.$offset + 0])).index >> 0)) - 1 >> 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(zi >= 0)) { break; }\n\t\t\t\tif (!(x$4 = l.zone, ((zi < 0 || zi >= x$4.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$4.$array[x$4.$offset + zi])).isDST) {\n\t\t\t\t\treturn zi;\n\t\t\t\t}\n\t\t\t\tzi = zi - (1) >> 0;\n\t\t\t}\n\t\t}\n\t\t_ref = l.zone;\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\tzi$1 = _i;\n\t\t\tif (!(x$5 = l.zone, ((zi$1 < 0 || zi$1 >= x$5.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$5.$array[x$5.$offset + zi$1])).isDST) {\n\t\t\t\treturn zi$1;\n\t\t\t}\n\t\t\t_i++;\n\t\t}\n\t\treturn 0;\n\t};\n\tLocation.prototype.lookupFirstZone = function() { return this.$val.lookupFirstZone(); };\n\tLocation.ptr.prototype.firstZoneUsed = function() {\n\t\tvar _i, _ref, l, tx;\n\t\tl = this;\n\t\t_ref = l.tx;\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\ttx = $clone(((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]), zoneTrans);\n\t\t\tif (tx.index === 0) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\t_i++;\n\t\t}\n\t\treturn false;\n\t};\n\tLocation.prototype.firstZoneUsed = function() { return this.$val.firstZoneUsed(); };\n\tLocation.ptr.prototype.lookupName = function(name, unix) {\n\t\tvar _i, _i$1, _r, _r$1, _ref, _ref$1, _tmp, _tmp$1, _tmp$2, _tmp$3, _tuple, i, i$1, l, nam, name, offset, offset$1, ok, unix, x, x$1, x$2, zone$1, zone$2, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _i$1 = $f._i$1; _r = $f._r; _r$1 = $f._r$1; _ref = $f._ref; _ref$1 = $f._ref$1; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; _tuple = $f._tuple; i = $f.i; i$1 = $f.i$1; l = $f.l; nam = $f.nam; name = $f.name; offset = $f.offset; offset$1 = $f.offset$1; ok = $f.ok; unix = $f.unix; x = $f.x; x$1 = $f.x$1; x$2 = $f.x$2; zone$1 = $f.zone$1; zone$2 = $f.zone$2; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\toffset = 0;\n\t\tok = false;\n\t\tl = this;\n\t\t_r = l.get(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tl = _r;\n\t\t_ref = l.zone;\n\t\t_i = 0;\n\t\t/* while (true) { */ case 2:\n\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 3; continue; }\n\t\t\ti = _i;\n\t\t\tzone$1 = (x = l.zone, ((i < 0 || i >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + i]));\n\t\t\t/* */ if (zone$1.name === name) { $s = 4; continue; }\n\t\t\t/* */ $s = 5; continue;\n\t\t\t/* if (zone$1.name === name) { */ case 4:\n\t\t\t\t_r$1 = l.lookup((x$1 = (new $Int64(0, zone$1.offset)), new $Int64(unix.$high - x$1.$high, unix.$low - x$1.$low))); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t_tuple = _r$1;\n\t\t\t\tnam = _tuple[0];\n\t\t\t\toffset$1 = _tuple[1];\n\t\t\t\tif (nam === zone$1.name) {\n\t\t\t\t\t_tmp = offset$1;\n\t\t\t\t\t_tmp$1 = true;\n\t\t\t\t\toffset = _tmp;\n\t\t\t\t\tok = _tmp$1;\n\t\t\t\t\t$s = -1; return [offset, ok];\n\t\t\t\t}\n\t\t\t/* } */ case 5:\n\t\t\t_i++;\n\t\t/* } */ $s = 2; continue; case 3:\n\t\t_ref$1 = l.zone;\n\t\t_i$1 = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i$1 < _ref$1.$length)) { break; }\n\t\t\ti$1 = _i$1;\n\t\t\tzone$2 = (x$2 = l.zone, ((i$1 < 0 || i$1 >= x$2.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$2.$array[x$2.$offset + i$1]));\n\t\t\tif (zone$2.name === name) {\n\t\t\t\t_tmp$2 = zone$2.offset;\n\t\t\t\t_tmp$3 = true;\n\t\t\t\toffset = _tmp$2;\n\t\t\t\tok = _tmp$3;\n\t\t\t\t$s = -1; return [offset, ok];\n\t\t\t}\n\t\t\t_i$1++;\n\t\t}\n\t\t$s = -1; return [offset, ok];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Location.ptr.prototype.lookupName }; } $f._i = _i; $f._i$1 = _i$1; $f._r = _r; $f._r$1 = _r$1; $f._ref = _ref; $f._ref$1 = _ref$1; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f._tuple = _tuple; $f.i = i; $f.i$1 = i$1; $f.l = l; $f.nam = nam; $f.name = name; $f.offset = offset; $f.offset$1 = offset$1; $f.ok = ok; $f.unix = unix; $f.x = x; $f.x$1 = x$1; $f.x$2 = x$2; $f.zone$1 = zone$1; $f.zone$2 = zone$2; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLocation.prototype.lookupName = function(name, unix) { return this.$val.lookupName(name, unix); };\n\tptrType$4.methods = [{prop: \"Error\", name: \"Error\", pkg: \"\", typ: $funcType([], [$String], false)}];\n\tptrType$5.methods = [{prop: \"Stop\", name: \"Stop\", pkg: \"\", typ: $funcType([], [$Bool], false)}, {prop: \"Reset\", name: \"Reset\", pkg: \"\", typ: $funcType([Duration], [$Bool], false)}];\n\tTime.methods = [{prop: \"String\", name: \"String\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"Format\", name: \"Format\", pkg: \"\", typ: $funcType([$String], [$String], false)}, {prop: \"AppendFormat\", name: \"AppendFormat\", pkg: \"\", typ: $funcType([sliceType$3, $String], [sliceType$3], false)}, {prop: \"After\", name: \"After\", pkg: \"\", typ: $funcType([Time], [$Bool], false)}, {prop: \"Before\", name: \"Before\", pkg: \"\", typ: $funcType([Time], [$Bool], false)}, {prop: \"Equal\", name: \"Equal\", pkg: \"\", typ: $funcType([Time], [$Bool], false)}, {prop: \"IsZero\", name: \"IsZero\", pkg: \"\", typ: $funcType([], [$Bool], false)}, {prop: \"abs\", name: \"abs\", pkg: \"time\", typ: $funcType([], [$Uint64], false)}, {prop: \"locabs\", name: \"locabs\", pkg: \"time\", typ: $funcType([], [$String, $Int, $Uint64], false)}, {prop: \"Date\", name: \"Date\", pkg: \"\", typ: $funcType([], [$Int, Month, $Int], false)}, {prop: \"Year\", name: \"Year\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Month\", name: \"Month\", pkg: \"\", typ: $funcType([], [Month], false)}, {prop: \"Day\", name: \"Day\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Weekday\", name: \"Weekday\", pkg: \"\", typ: $funcType([], [Weekday], false)}, {prop: \"ISOWeek\", name: \"ISOWeek\", pkg: \"\", typ: $funcType([], [$Int, $Int], false)}, {prop: \"Clock\", name: \"Clock\", pkg: \"\", typ: $funcType([], [$Int, $Int, $Int], false)}, {prop: \"Hour\", name: \"Hour\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Minute\", name: \"Minute\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Second\", name: \"Second\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Nanosecond\", name: \"Nanosecond\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"YearDay\", name: \"YearDay\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Add\", name: \"Add\", pkg: \"\", typ: $funcType([Duration], [Time], false)}, {prop: \"Sub\", name: \"Sub\", pkg: \"\", typ: $funcType([Time], [Duration], false)}, {prop: \"AddDate\", name: \"AddDate\", pkg: \"\", typ: $funcType([$Int, $Int, $Int], [Time], false)}, {prop: \"date\", name: \"date\", pkg: \"time\", typ: $funcType([$Bool], [$Int, Month, $Int, $Int], false)}, {prop: \"UTC\", name: \"UTC\", pkg: \"\", typ: $funcType([], [Time], false)}, {prop: \"Local\", name: \"Local\", pkg: \"\", typ: $funcType([], [Time], false)}, {prop: \"In\", name: \"In\", pkg: \"\", typ: $funcType([ptrType$2], [Time], false)}, {prop: \"Location\", name: \"Location\", pkg: \"\", typ: $funcType([], [ptrType$2], false)}, {prop: \"Zone\", name: \"Zone\", pkg: \"\", typ: $funcType([], [$String, $Int], false)}, {prop: \"Unix\", name: \"Unix\", pkg: \"\", typ: $funcType([], [$Int64], false)}, {prop: \"UnixNano\", name: \"UnixNano\", pkg: \"\", typ: $funcType([], [$Int64], false)}, {prop: \"MarshalBinary\", name: \"MarshalBinary\", pkg: \"\", typ: $funcType([], [sliceType$3, $error], false)}, {prop: \"GobEncode\", name: \"GobEncode\", pkg: \"\", typ: $funcType([], [sliceType$3, $error], false)}, {prop: \"MarshalJSON\", name: \"MarshalJSON\", pkg: \"\", typ: $funcType([], [sliceType$3, $error], false)}, {prop: \"MarshalText\", name: \"MarshalText\", pkg: \"\", typ: $funcType([], [sliceType$3, $error], false)}, {prop: \"Truncate\", name: \"Truncate\", pkg: \"\", typ: $funcType([Duration], [Time], false)}, {prop: \"Round\", name: \"Round\", pkg: \"\", typ: $funcType([Duration], [Time], false)}];\n\tptrType$7.methods = [{prop: \"nsec\", name: \"nsec\", pkg: \"time\", typ: $funcType([], [$Int32], false)}, {prop: \"sec\", name: \"sec\", pkg: \"time\", typ: $funcType([], [$Int64], false)}, {prop: \"unixSec\", name: \"unixSec\", pkg: \"time\", typ: $funcType([], [$Int64], false)}, {prop: \"addSec\", name: \"addSec\", pkg: \"time\", typ: $funcType([$Int64], [], false)}, {prop: \"setLoc\", name: \"setLoc\", pkg: \"time\", typ: $funcType([ptrType$2], [], false)}, {prop: \"stripMono\", name: \"stripMono\", pkg: \"time\", typ: $funcType([], [], false)}, {prop: \"setMono\", name: \"setMono\", pkg: \"time\", typ: $funcType([$Int64], [], false)}, {prop: \"mono\", name: \"mono\", pkg: \"time\", typ: $funcType([], [$Int64], false)}, {prop: \"UnmarshalBinary\", name: \"UnmarshalBinary\", pkg: \"\", typ: $funcType([sliceType$3], [$error], false)}, {prop: \"GobDecode\", name: \"GobDecode\", pkg: \"\", typ: $funcType([sliceType$3], [$error], false)}, {prop: \"UnmarshalJSON\", name: \"UnmarshalJSON\", pkg: \"\", typ: $funcType([sliceType$3], [$error], false)}, {prop: \"UnmarshalText\", name: \"UnmarshalText\", pkg: \"\", typ: $funcType([sliceType$3], [$error], false)}];\n\tMonth.methods = [{prop: \"String\", name: \"String\", pkg: \"\", typ: $funcType([], [$String], false)}];\n\tWeekday.methods = [{prop: \"String\", name: \"String\", pkg: \"\", typ: $funcType([], [$String], false)}];\n\tDuration.methods = [{prop: \"String\", name: \"String\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"Nanoseconds\", name: \"Nanoseconds\", pkg: \"\", typ: $funcType([], [$Int64], false)}, {prop: \"Seconds\", name: \"Seconds\", pkg: \"\", typ: $funcType([], [$Float64], false)}, {prop: \"Minutes\", name: \"Minutes\", pkg: \"\", typ: $funcType([], [$Float64], false)}, {prop: \"Hours\", name: \"Hours\", pkg: \"\", typ: $funcType([], [$Float64], false)}, {prop: \"Truncate\", name: \"Truncate\", pkg: \"\", typ: $funcType([Duration], [Duration], false)}, {prop: \"Round\", name: \"Round\", pkg: \"\", typ: $funcType([Duration], [Duration], false)}];\n\tptrType$2.methods = [{prop: \"get\", name: \"get\", pkg: \"time\", typ: $funcType([], [ptrType$2], false)}, {prop: \"String\", name: \"String\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"lookup\", name: \"lookup\", pkg: \"time\", typ: $funcType([$Int64], [$String, $Int, $Int64, $Int64], false)}, {prop: \"lookupFirstZone\", name: \"lookupFirstZone\", pkg: \"time\", typ: $funcType([], [$Int], false)}, {prop: \"firstZoneUsed\", name: \"firstZoneUsed\", pkg: \"time\", typ: $funcType([], [$Bool], false)}, {prop: \"lookupName\", name: \"lookupName\", pkg: \"time\", typ: $funcType([$String, $Int64], [$Int, $Bool], false)}];\n\truntimeTimer.init(\"time\", [{prop: \"i\", name: \"i\", embedded: false, exported: false, typ: $Int32, tag: \"\"}, {prop: \"when\", name: \"when\", embedded: false, exported: false, typ: $Int64, tag: \"\"}, {prop: \"period\", name: \"period\", embedded: false, exported: false, typ: $Int64, tag: \"\"}, {prop: \"f\", name: \"f\", embedded: false, exported: false, typ: funcType$1, tag: \"\"}, {prop: \"arg\", name: \"arg\", embedded: false, exported: false, typ: $emptyInterface, tag: \"\"}, {prop: \"timeout\", name: \"timeout\", embedded: false, exported: false, typ: ptrType$3, tag: \"\"}, {prop: \"active\", name: \"active\", embedded: false, exported: false, typ: $Bool, tag: \"\"}]);\n\tParseError.init(\"\", [{prop: \"Layout\", name: \"Layout\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"Value\", name: \"Value\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"LayoutElem\", name: \"LayoutElem\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"ValueElem\", name: \"ValueElem\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"Message\", name: \"Message\", embedded: false, exported: true, typ: $String, tag: \"\"}]);\n\tTimer.init(\"time\", [{prop: \"C\", name: \"C\", embedded: false, exported: true, typ: chanType$1, tag: \"\"}, {prop: \"r\", name: \"r\", embedded: false, exported: false, typ: runtimeTimer, tag: \"\"}]);\n\tTime.init(\"time\", [{prop: \"wall\", name: \"wall\", embedded: false, exported: false, typ: $Uint64, tag: \"\"}, {prop: \"ext\", name: \"ext\", embedded: false, exported: false, typ: $Int64, tag: \"\"}, {prop: \"loc\", name: \"loc\", embedded: false, exported: false, typ: ptrType$2, tag: \"\"}]);\n\tLocation.init(\"time\", [{prop: \"name\", name: \"name\", embedded: false, exported: false, typ: $String, tag: \"\"}, {prop: \"zone\", name: \"zone\", embedded: false, exported: false, typ: sliceType, tag: \"\"}, {prop: \"tx\", name: \"tx\", embedded: false, exported: false, typ: sliceType$1, tag: \"\"}, {prop: \"cacheStart\", name: \"cacheStart\", embedded: false, exported: false, typ: $Int64, tag: \"\"}, {prop: \"cacheEnd\", name: \"cacheEnd\", embedded: false, exported: false, typ: $Int64, tag: \"\"}, {prop: \"cacheZone\", name: \"cacheZone\", embedded: false, exported: false, typ: ptrType, tag: \"\"}]);\n\tzone.init(\"time\", [{prop: \"name\", name: \"name\", embedded: false, exported: false, typ: $String, tag: \"\"}, {prop: \"offset\", name: \"offset\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"isDST\", name: \"isDST\", embedded: false, exported: false, typ: $Bool, tag: \"\"}]);\n\tzoneTrans.init(\"time\", [{prop: \"when\", name: \"when\", embedded: false, exported: false, typ: $Int64, tag: \"\"}, {prop: \"index\", name: \"index\", embedded: false, exported: false, typ: $Uint8, tag: \"\"}, {prop: \"isstd\", name: \"isstd\", embedded: false, exported: false, typ: $Bool, tag: \"\"}, {prop: \"isutc\", name: \"isutc\", embedded: false, exported: false, typ: $Bool, tag: \"\"}]);\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = errors.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = js.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = nosync.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = runtime.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = syscall.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tlocalLoc = new Location.ptr(\"\", sliceType.nil, sliceType$1.nil, new $Int64(0, 0), new $Int64(0, 0), ptrType.nil);\n\t\tlocalOnce = new nosync.Once.ptr(false, false);\n\t\tzoneSources = new sliceType$2([runtime.GOROOT() + \"/lib/time/zoneinfo.zip\"]);\n\t\tstd0x = $toNativeArray($kindInt, [260, 265, 524, 526, 528, 274]);\n\t\tlongDayNames = new sliceType$2([\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"]);\n\t\tshortDayNames = new sliceType$2([\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"]);\n\t\tshortMonthNames = new sliceType$2([\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]);\n\t\tlongMonthNames = new sliceType$2([\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"]);\n\t\tatoiError = errors.New(\"time: invalid number\");\n\t\terrBad = errors.New(\"bad value for field\");\n\t\terrLeadingInt = errors.New(\"time: bad [0-9]*\");\n\t\tmonths = $toNativeArray($kindString, [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"]);\n\t\tdays = $toNativeArray($kindString, [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"]);\n\t\tdaysBefore = $toNativeArray($kindInt32, [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365]);\n\t\tutcLoc = new Location.ptr(\"UTC\", sliceType.nil, sliceType$1.nil, new $Int64(0, 0), new $Int64(0, 0), ptrType.nil);\n\t\t$pkg.UTC = utcLoc;\n\t\t$pkg.Local = localLoc;\n\t\terrLocation = errors.New(\"time: invalid location name\");\n\t\tbadData = errors.New(\"malformed time zone information\");\n\t\t$unused(new sliceType$2([\"/usr/share/zoneinfo/\", \"/usr/share/lib/zoneinfo/\", \"/usr/lib/locale/TZ/\", runtime.GOROOT() + \"/lib/time/zoneinfo.zip\"]));\n\t\tinit();\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"internal/poll\"] = (function() {\n\tvar $pkg = {}, $init, errors, io, runtime, atomic, syscall, time, pollDesc, TimeoutError, fdMutex, FD, ptrType, chanType, sliceType, ptrType$1, ptrType$2, arrayType, sliceType$2, ptrType$6, ptrType$7, ptrType$8, ptrType$9, ptrType$10, ptrType$11, sliceType$3, ptrType$12, funcType, funcType$1, ptrType$13, ptrType$14, ptrType$15, ptrType$16, sliceType$4, ptrType$17, semWaiters, tryDupCloexec, tryDupCloexec$24ptr, runtime_Semacquire, runtime_Semrelease, errClosing, consume, DupCloseOnExec, dupCloseOnExecOld, accept;\n\terrors = $packages[\"errors\"];\n\tio = $packages[\"io\"];\n\truntime = $packages[\"runtime\"];\n\tatomic = $packages[\"sync/atomic\"];\n\tsyscall = $packages[\"syscall\"];\n\ttime = $packages[\"time\"];\n\tpollDesc = $pkg.pollDesc = $newType(0, $kindStruct, \"poll.pollDesc\", true, \"internal/poll\", false, function(closing_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.closing = false;\n\t\t\treturn;\n\t\t}\n\t\tthis.closing = closing_;\n\t});\n\tTimeoutError = $pkg.TimeoutError = $newType(0, $kindStruct, \"poll.TimeoutError\", true, \"internal/poll\", true, function() {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\treturn;\n\t\t}\n\t});\n\tfdMutex = $pkg.fdMutex = $newType(0, $kindStruct, \"poll.fdMutex\", true, \"internal/poll\", false, function(state_, rsema_, wsema_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.state = new $Uint64(0, 0);\n\t\t\tthis.rsema = 0;\n\t\t\tthis.wsema = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.state = state_;\n\t\tthis.rsema = rsema_;\n\t\tthis.wsema = wsema_;\n\t});\n\tFD = $pkg.FD = $newType(0, $kindStruct, \"poll.FD\", true, \"internal/poll\", true, function(fdmu_, Sysfd_, pd_, iovecs_, csema_, isBlocking_, IsStream_, ZeroReadIsEOF_, isFile_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.fdmu = new fdMutex.ptr(new $Uint64(0, 0), 0, 0);\n\t\t\tthis.Sysfd = 0;\n\t\t\tthis.pd = new pollDesc.ptr(false);\n\t\t\tthis.iovecs = ptrType$6.nil;\n\t\t\tthis.csema = 0;\n\t\t\tthis.isBlocking = 0;\n\t\t\tthis.IsStream = false;\n\t\t\tthis.ZeroReadIsEOF = false;\n\t\t\tthis.isFile = false;\n\t\t\treturn;\n\t\t}\n\t\tthis.fdmu = fdmu_;\n\t\tthis.Sysfd = Sysfd_;\n\t\tthis.pd = pd_;\n\t\tthis.iovecs = iovecs_;\n\t\tthis.csema = csema_;\n\t\tthis.isBlocking = isBlocking_;\n\t\tthis.IsStream = IsStream_;\n\t\tthis.ZeroReadIsEOF = ZeroReadIsEOF_;\n\t\tthis.isFile = isFile_;\n\t});\n\tptrType = $ptrType($Uint32);\n\tchanType = $chanType($Bool, false, false);\n\tsliceType = $sliceType(chanType);\n\tptrType$1 = $ptrType($Uint64);\n\tptrType$2 = $ptrType($Int32);\n\tarrayType = $arrayType($Uint8, 4);\n\tsliceType$2 = $sliceType(syscall.Iovec);\n\tptrType$6 = $ptrType(sliceType$2);\n\tptrType$7 = $ptrType($Uint8);\n\tptrType$8 = $ptrType(FD);\n\tptrType$9 = $ptrType(pollDesc);\n\tptrType$10 = $ptrType(TimeoutError);\n\tptrType$11 = $ptrType(fdMutex);\n\tsliceType$3 = $sliceType($Uint8);\n\tptrType$12 = $ptrType(syscall.Stat_t);\n\tfuncType = $funcType([$Uintptr], [], false);\n\tfuncType$1 = $funcType([$Uintptr], [$Bool], false);\n\tptrType$13 = $ptrType(syscall.Linger);\n\tptrType$14 = $ptrType(syscall.IPMreqn);\n\tptrType$15 = $ptrType(syscall.IPMreq);\n\tptrType$16 = $ptrType(syscall.IPv6Mreq);\n\tsliceType$4 = $sliceType(sliceType$3);\n\tptrType$17 = $ptrType(sliceType$4);\n\tpollDesc.ptr.prototype.init = function(fd) {\n\t\tvar fd, pd;\n\t\tpd = this;\n\t\treturn $ifaceNil;\n\t};\n\tpollDesc.prototype.init = function(fd) { return this.$val.init(fd); };\n\tpollDesc.ptr.prototype.close = function() {\n\t\tvar pd;\n\t\tpd = this;\n\t};\n\tpollDesc.prototype.close = function() { return this.$val.close(); };\n\tpollDesc.ptr.prototype.evict = function() {\n\t\tvar pd;\n\t\tpd = this;\n\t\tpd.closing = true;\n\t};\n\tpollDesc.prototype.evict = function() { return this.$val.evict(); };\n\tpollDesc.ptr.prototype.prepare = function(mode, isFile) {\n\t\tvar isFile, mode, pd;\n\t\tpd = this;\n\t\tif (pd.closing) {\n\t\t\treturn errClosing(isFile);\n\t\t}\n\t\treturn $ifaceNil;\n\t};\n\tpollDesc.prototype.prepare = function(mode, isFile) { return this.$val.prepare(mode, isFile); };\n\tpollDesc.ptr.prototype.prepareRead = function(isFile) {\n\t\tvar isFile, pd;\n\t\tpd = this;\n\t\treturn pd.prepare(114, isFile);\n\t};\n\tpollDesc.prototype.prepareRead = function(isFile) { return this.$val.prepareRead(isFile); };\n\tpollDesc.ptr.prototype.prepareWrite = function(isFile) {\n\t\tvar isFile, pd;\n\t\tpd = this;\n\t\treturn pd.prepare(119, isFile);\n\t};\n\tpollDesc.prototype.prepareWrite = function(isFile) { return this.$val.prepareWrite(isFile); };\n\tpollDesc.ptr.prototype.wait = function(mode, isFile) {\n\t\tvar isFile, mode, pd;\n\t\tpd = this;\n\t\tif (pd.closing) {\n\t\t\treturn errClosing(isFile);\n\t\t}\n\t\treturn $pkg.ErrTimeout;\n\t};\n\tpollDesc.prototype.wait = function(mode, isFile) { return this.$val.wait(mode, isFile); };\n\tpollDesc.ptr.prototype.waitRead = function(isFile) {\n\t\tvar isFile, pd;\n\t\tpd = this;\n\t\treturn pd.wait(114, isFile);\n\t};\n\tpollDesc.prototype.waitRead = function(isFile) { return this.$val.waitRead(isFile); };\n\tpollDesc.ptr.prototype.waitWrite = function(isFile) {\n\t\tvar isFile, pd;\n\t\tpd = this;\n\t\treturn pd.wait(119, isFile);\n\t};\n\tpollDesc.prototype.waitWrite = function(isFile) { return this.$val.waitWrite(isFile); };\n\tpollDesc.ptr.prototype.pollable = function() {\n\t\treturn true;\n\t};\n\tpollDesc.prototype.pollable = function() { return this.$val.pollable(); };\n\tFD.ptr.prototype.SetDeadline = function(t) {\n\t\tvar t;\n\t\treturn $ifaceNil;\n\t};\n\tFD.prototype.SetDeadline = function(t) { return this.$val.SetDeadline(t); };\n\tFD.ptr.prototype.SetReadDeadline = function(t) {\n\t\tvar t;\n\t\treturn $ifaceNil;\n\t};\n\tFD.prototype.SetReadDeadline = function(t) { return this.$val.SetReadDeadline(t); };\n\tFD.ptr.prototype.SetWriteDeadline = function(t) {\n\t\tvar t;\n\t\treturn $ifaceNil;\n\t};\n\tFD.prototype.SetWriteDeadline = function(t) { return this.$val.SetWriteDeadline(t); };\n\truntime_Semacquire = function(s) {\n\t\tvar _entry, _key, _r, ch, s, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _entry = $f._entry; _key = $f._key; _r = $f._r; ch = $f.ch; s = $f.s; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t/* */ if (s.$get() === 0) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (s.$get() === 0) { */ case 1:\n\t\t\tch = new $Chan($Bool, 0);\n\t\t\t_key = s; (semWaiters || $throwRuntimeError(\"assignment to entry in nil map\"))[ptrType.keyFor(_key)] = { k: _key, v: $append((_entry = semWaiters[ptrType.keyFor(s)], _entry !== undefined ? _entry.v : sliceType.nil), ch) };\n\t\t\t_r = $recv(ch); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_r[0];\n\t\t/* } */ case 2:\n\t\ts.$set(s.$get() - (1) >>> 0);\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: runtime_Semacquire }; } $f._entry = _entry; $f._key = _key; $f._r = _r; $f.ch = ch; $f.s = s; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\truntime_Semrelease = function(s) {\n\t\tvar _entry, _key, ch, s, w, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _entry = $f._entry; _key = $f._key; ch = $f.ch; s = $f.s; w = $f.w; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\ts.$set(s.$get() + (1) >>> 0);\n\t\tw = (_entry = semWaiters[ptrType.keyFor(s)], _entry !== undefined ? _entry.v : sliceType.nil);\n\t\tif (w.$length === 0) {\n\t\t\t$s = -1; return;\n\t\t}\n\t\tch = (0 >= w.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : w.$array[w.$offset + 0]);\n\t\tw = $subslice(w, 1);\n\t\t_key = s; (semWaiters || $throwRuntimeError(\"assignment to entry in nil map\"))[ptrType.keyFor(_key)] = { k: _key, v: w };\n\t\tif (w.$length === 0) {\n\t\t\tdelete semWaiters[ptrType.keyFor(s)];\n\t\t}\n\t\t$r = $send(ch, true); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: runtime_Semrelease }; } $f._entry = _entry; $f._key = _key; $f.ch = ch; $f.s = s; $f.w = w; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\terrClosing = function(isFile) {\n\t\tvar isFile;\n\t\tif (isFile) {\n\t\t\treturn $pkg.ErrFileClosing;\n\t\t}\n\t\treturn $pkg.ErrNetClosing;\n\t};\n\tTimeoutError.ptr.prototype.Error = function() {\n\t\tvar e;\n\t\te = this;\n\t\treturn \"i/o timeout\";\n\t};\n\tTimeoutError.prototype.Error = function() { return this.$val.Error(); };\n\tTimeoutError.ptr.prototype.Timeout = function() {\n\t\tvar e;\n\t\te = this;\n\t\treturn true;\n\t};\n\tTimeoutError.prototype.Timeout = function() { return this.$val.Timeout(); };\n\tTimeoutError.ptr.prototype.Temporary = function() {\n\t\tvar e;\n\t\te = this;\n\t\treturn true;\n\t};\n\tTimeoutError.prototype.Temporary = function() { return this.$val.Temporary(); };\n\tconsume = function(v, n) {\n\t\tvar ln0, n, v, x, x$1, x$2, x$3;\n\t\twhile (true) {\n\t\t\tif (!(v.$get().$length > 0)) { break; }\n\t\t\tln0 = (new $Int64(0, (x = v.$get(), (0 >= x.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + 0])).$length));\n\t\t\tif ((ln0.$high > n.$high || (ln0.$high === n.$high && ln0.$low > n.$low))) {\n\t\t\t\t(x$2 = v.$get(), (0 >= x$2.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : x$2.$array[x$2.$offset + 0] = $subslice((x$1 = v.$get(), (0 >= x$1.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : x$1.$array[x$1.$offset + 0])), $flatten64(n))));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tn = (x$3 = ln0, new $Int64(n.$high - x$3.$high, n.$low - x$3.$low));\n\t\t\tv.$set($subslice((v.$get()), 1));\n\t\t}\n\t};\n\tfdMutex.ptr.prototype.incref = function() {\n\t\tvar mu, new$1, old, x, x$1;\n\t\tmu = this;\n\t\twhile (true) {\n\t\t\told = atomic.LoadUint64((mu.$ptr_state || (mu.$ptr_state = new ptrType$1(function() { return this.$target.state; }, function($v) { this.$target.state = $v; }, mu))));\n\t\t\tif (!((x = new $Uint64(old.$high & 0, (old.$low & 1) >>> 0), (x.$high === 0 && x.$low === 0)))) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tnew$1 = new $Uint64(old.$high + 0, old.$low + 8);\n\t\t\tif ((x$1 = new $Uint64(new$1.$high & 0, (new$1.$low & 8388600) >>> 0), (x$1.$high === 0 && x$1.$low === 0))) {\n\t\t\t\t$panic(new $String(\"too many concurrent operations on a single file or socket (max 1048575)\"));\n\t\t\t}\n\t\t\tif (atomic.CompareAndSwapUint64((mu.$ptr_state || (mu.$ptr_state = new ptrType$1(function() { return this.$target.state; }, function($v) { this.$target.state = $v; }, mu))), old, new$1)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t};\n\tfdMutex.prototype.incref = function() { return this.$val.incref(); };\n\tfdMutex.ptr.prototype.increfAndClose = function() {\n\t\tvar mu, new$1, old, x, x$1, x$2, x$3, x$4, x$5, x$6, x$7, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; mu = $f.mu; new$1 = $f.new$1; old = $f.old; x = $f.x; x$1 = $f.x$1; x$2 = $f.x$2; x$3 = $f.x$3; x$4 = $f.x$4; x$5 = $f.x$5; x$6 = $f.x$6; x$7 = $f.x$7; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tmu = this;\n\t\t/* while (true) { */ case 1:\n\t\t\told = atomic.LoadUint64((mu.$ptr_state || (mu.$ptr_state = new ptrType$1(function() { return this.$target.state; }, function($v) { this.$target.state = $v; }, mu))));\n\t\t\tif (!((x = new $Uint64(old.$high & 0, (old.$low & 1) >>> 0), (x.$high === 0 && x.$low === 0)))) {\n\t\t\t\t$s = -1; return false;\n\t\t\t}\n\t\t\tnew$1 = (x$1 = new $Uint64(old.$high | 0, (old.$low | 1) >>> 0), new $Uint64(x$1.$high + 0, x$1.$low + 8));\n\t\t\tif ((x$2 = new $Uint64(new$1.$high & 0, (new$1.$low & 8388600) >>> 0), (x$2.$high === 0 && x$2.$low === 0))) {\n\t\t\t\t$panic(new $String(\"too many concurrent operations on a single file or socket (max 1048575)\"));\n\t\t\t}\n\t\t\tnew$1 = (x$3 = new $Uint64(2147483647, 4286578688), new $Uint64(new$1.$high & ~x$3.$high, (new$1.$low & ~x$3.$low) >>> 0));\n\t\t\t/* */ if (atomic.CompareAndSwapUint64((mu.$ptr_state || (mu.$ptr_state = new ptrType$1(function() { return this.$target.state; }, function($v) { this.$target.state = $v; }, mu))), old, new$1)) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (atomic.CompareAndSwapUint64((mu.$ptr_state || (mu.$ptr_state = new ptrType$1(function() { return this.$target.state; }, function($v) { this.$target.state = $v; }, mu))), old, new$1)) { */ case 3:\n\t\t\t\t/* while (true) { */ case 5:\n\t\t\t\t\t/* if (!(!((x$4 = new $Uint64(old.$high & 2047, (old.$low & 4286578688) >>> 0), (x$4.$high === 0 && x$4.$low === 0))))) { break; } */ if(!(!((x$4 = new $Uint64(old.$high & 2047, (old.$low & 4286578688) >>> 0), (x$4.$high === 0 && x$4.$low === 0))))) { $s = 6; continue; }\n\t\t\t\t\told = (x$5 = new $Uint64(0, 8388608), new $Uint64(old.$high - x$5.$high, old.$low - x$5.$low));\n\t\t\t\t\t$r = runtime_Semrelease((mu.$ptr_rsema || (mu.$ptr_rsema = new ptrType(function() { return this.$target.rsema; }, function($v) { this.$target.rsema = $v; }, mu)))); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t/* } */ $s = 5; continue; case 6:\n\t\t\t\t/* while (true) { */ case 8:\n\t\t\t\t\t/* if (!(!((x$6 = new $Uint64(old.$high & 2147481600, (old.$low & 0) >>> 0), (x$6.$high === 0 && x$6.$low === 0))))) { break; } */ if(!(!((x$6 = new $Uint64(old.$high & 2147481600, (old.$low & 0) >>> 0), (x$6.$high === 0 && x$6.$low === 0))))) { $s = 9; continue; }\n\t\t\t\t\told = (x$7 = new $Uint64(2048, 0), new $Uint64(old.$high - x$7.$high, old.$low - x$7.$low));\n\t\t\t\t\t$r = runtime_Semrelease((mu.$ptr_wsema || (mu.$ptr_wsema = new ptrType(function() { return this.$target.wsema; }, function($v) { this.$target.wsema = $v; }, mu)))); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t/* } */ $s = 8; continue; case 9:\n\t\t\t\t$s = -1; return true;\n\t\t\t/* } */ case 4:\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return false;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: fdMutex.ptr.prototype.increfAndClose }; } $f.mu = mu; $f.new$1 = new$1; $f.old = old; $f.x = x; $f.x$1 = x$1; $f.x$2 = x$2; $f.x$3 = x$3; $f.x$4 = x$4; $f.x$5 = x$5; $f.x$6 = x$6; $f.x$7 = x$7; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tfdMutex.prototype.increfAndClose = function() { return this.$val.increfAndClose(); };\n\tfdMutex.ptr.prototype.decref = function() {\n\t\tvar mu, new$1, old, x, x$1;\n\t\tmu = this;\n\t\twhile (true) {\n\t\t\told = atomic.LoadUint64((mu.$ptr_state || (mu.$ptr_state = new ptrType$1(function() { return this.$target.state; }, function($v) { this.$target.state = $v; }, mu))));\n\t\t\tif ((x = new $Uint64(old.$high & 0, (old.$low & 8388600) >>> 0), (x.$high === 0 && x.$low === 0))) {\n\t\t\t\t$panic(new $String(\"inconsistent poll.fdMutex\"));\n\t\t\t}\n\t\t\tnew$1 = new $Uint64(old.$high - 0, old.$low - 8);\n\t\t\tif (atomic.CompareAndSwapUint64((mu.$ptr_state || (mu.$ptr_state = new ptrType$1(function() { return this.$target.state; }, function($v) { this.$target.state = $v; }, mu))), old, new$1)) {\n\t\t\t\treturn (x$1 = new $Uint64(new$1.$high & 0, (new$1.$low & 8388601) >>> 0), (x$1.$high === 0 && x$1.$low === 1));\n\t\t\t}\n\t\t}\n\t};\n\tfdMutex.prototype.decref = function() { return this.$val.decref(); };\n\tfdMutex.ptr.prototype.rwlock = function(read) {\n\t\tvar _tmp, _tmp$1, _tmp$2, mu, mutexBit, mutexMask, mutexSema, mutexWait, new$1, old, read, x, x$1, x$2, x$3, x$4, x$5, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; mu = $f.mu; mutexBit = $f.mutexBit; mutexMask = $f.mutexMask; mutexSema = $f.mutexSema; mutexWait = $f.mutexWait; new$1 = $f.new$1; old = $f.old; read = $f.read; x = $f.x; x$1 = $f.x$1; x$2 = $f.x$2; x$3 = $f.x$3; x$4 = $f.x$4; x$5 = $f.x$5; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tmu = this;\n\t\t_tmp = new $Uint64(0, 0);\n\t\t_tmp$1 = new $Uint64(0, 0);\n\t\t_tmp$2 = new $Uint64(0, 0);\n\t\tmutexBit = _tmp;\n\t\tmutexWait = _tmp$1;\n\t\tmutexMask = _tmp$2;\n\t\tmutexSema = ptrType.nil;\n\t\tif (read) {\n\t\t\tmutexBit = new $Uint64(0, 2);\n\t\t\tmutexWait = new $Uint64(0, 8388608);\n\t\t\tmutexMask = new $Uint64(2047, 4286578688);\n\t\t\tmutexSema = (mu.$ptr_rsema || (mu.$ptr_rsema = new ptrType(function() { return this.$target.rsema; }, function($v) { this.$target.rsema = $v; }, mu)));\n\t\t} else {\n\t\t\tmutexBit = new $Uint64(0, 4);\n\t\t\tmutexWait = new $Uint64(2048, 0);\n\t\t\tmutexMask = new $Uint64(2147481600, 0);\n\t\t\tmutexSema = (mu.$ptr_wsema || (mu.$ptr_wsema = new ptrType(function() { return this.$target.wsema; }, function($v) { this.$target.wsema = $v; }, mu)));\n\t\t}\n\t\t/* while (true) { */ case 1:\n\t\t\told = atomic.LoadUint64((mu.$ptr_state || (mu.$ptr_state = new ptrType$1(function() { return this.$target.state; }, function($v) { this.$target.state = $v; }, mu))));\n\t\t\tif (!((x = new $Uint64(old.$high & 0, (old.$low & 1) >>> 0), (x.$high === 0 && x.$low === 0)))) {\n\t\t\t\t$s = -1; return false;\n\t\t\t}\n\t\t\tnew$1 = new $Uint64(0, 0);\n\t\t\tif ((x$1 = new $Uint64(old.$high & mutexBit.$high, (old.$low & mutexBit.$low) >>> 0), (x$1.$high === 0 && x$1.$low === 0))) {\n\t\t\t\tnew$1 = (x$2 = new $Uint64(old.$high | mutexBit.$high, (old.$low | mutexBit.$low) >>> 0), new $Uint64(x$2.$high + 0, x$2.$low + 8));\n\t\t\t\tif ((x$3 = new $Uint64(new$1.$high & 0, (new$1.$low & 8388600) >>> 0), (x$3.$high === 0 && x$3.$low === 0))) {\n\t\t\t\t\t$panic(new $String(\"too many concurrent operations on a single file or socket (max 1048575)\"));\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tnew$1 = new $Uint64(old.$high + mutexWait.$high, old.$low + mutexWait.$low);\n\t\t\t\tif ((x$4 = new $Uint64(new$1.$high & mutexMask.$high, (new$1.$low & mutexMask.$low) >>> 0), (x$4.$high === 0 && x$4.$low === 0))) {\n\t\t\t\t\t$panic(new $String(\"too many concurrent operations on a single file or socket (max 1048575)\"));\n\t\t\t\t}\n\t\t\t}\n\t\t\t/* */ if (atomic.CompareAndSwapUint64((mu.$ptr_state || (mu.$ptr_state = new ptrType$1(function() { return this.$target.state; }, function($v) { this.$target.state = $v; }, mu))), old, new$1)) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (atomic.CompareAndSwapUint64((mu.$ptr_state || (mu.$ptr_state = new ptrType$1(function() { return this.$target.state; }, function($v) { this.$target.state = $v; }, mu))), old, new$1)) { */ case 3:\n\t\t\t\tif ((x$5 = new $Uint64(old.$high & mutexBit.$high, (old.$low & mutexBit.$low) >>> 0), (x$5.$high === 0 && x$5.$low === 0))) {\n\t\t\t\t\t$s = -1; return true;\n\t\t\t\t}\n\t\t\t\t$r = runtime_Semacquire(mutexSema); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 4:\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return false;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: fdMutex.ptr.prototype.rwlock }; } $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f.mu = mu; $f.mutexBit = mutexBit; $f.mutexMask = mutexMask; $f.mutexSema = mutexSema; $f.mutexWait = mutexWait; $f.new$1 = new$1; $f.old = old; $f.read = read; $f.x = x; $f.x$1 = x$1; $f.x$2 = x$2; $f.x$3 = x$3; $f.x$4 = x$4; $f.x$5 = x$5; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tfdMutex.prototype.rwlock = function(read) { return this.$val.rwlock(read); };\n\tfdMutex.ptr.prototype.rwunlock = function(read) {\n\t\tvar _tmp, _tmp$1, _tmp$2, mu, mutexBit, mutexMask, mutexSema, mutexWait, new$1, old, read, x, x$1, x$2, x$3, x$4, x$5, x$6, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; mu = $f.mu; mutexBit = $f.mutexBit; mutexMask = $f.mutexMask; mutexSema = $f.mutexSema; mutexWait = $f.mutexWait; new$1 = $f.new$1; old = $f.old; read = $f.read; x = $f.x; x$1 = $f.x$1; x$2 = $f.x$2; x$3 = $f.x$3; x$4 = $f.x$4; x$5 = $f.x$5; x$6 = $f.x$6; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tmu = this;\n\t\t_tmp = new $Uint64(0, 0);\n\t\t_tmp$1 = new $Uint64(0, 0);\n\t\t_tmp$2 = new $Uint64(0, 0);\n\t\tmutexBit = _tmp;\n\t\tmutexWait = _tmp$1;\n\t\tmutexMask = _tmp$2;\n\t\tmutexSema = ptrType.nil;\n\t\tif (read) {\n\t\t\tmutexBit = new $Uint64(0, 2);\n\t\t\tmutexWait = new $Uint64(0, 8388608);\n\t\t\tmutexMask = new $Uint64(2047, 4286578688);\n\t\t\tmutexSema = (mu.$ptr_rsema || (mu.$ptr_rsema = new ptrType(function() { return this.$target.rsema; }, function($v) { this.$target.rsema = $v; }, mu)));\n\t\t} else {\n\t\t\tmutexBit = new $Uint64(0, 4);\n\t\t\tmutexWait = new $Uint64(2048, 0);\n\t\t\tmutexMask = new $Uint64(2147481600, 0);\n\t\t\tmutexSema = (mu.$ptr_wsema || (mu.$ptr_wsema = new ptrType(function() { return this.$target.wsema; }, function($v) { this.$target.wsema = $v; }, mu)));\n\t\t}\n\t\t/* while (true) { */ case 1:\n\t\t\told = atomic.LoadUint64((mu.$ptr_state || (mu.$ptr_state = new ptrType$1(function() { return this.$target.state; }, function($v) { this.$target.state = $v; }, mu))));\n\t\t\tif ((x = new $Uint64(old.$high & mutexBit.$high, (old.$low & mutexBit.$low) >>> 0), (x.$high === 0 && x.$low === 0)) || (x$1 = new $Uint64(old.$high & 0, (old.$low & 8388600) >>> 0), (x$1.$high === 0 && x$1.$low === 0))) {\n\t\t\t\t$panic(new $String(\"inconsistent poll.fdMutex\"));\n\t\t\t}\n\t\t\tnew$1 = (x$2 = new $Uint64(old.$high & ~mutexBit.$high, (old.$low & ~mutexBit.$low) >>> 0), new $Uint64(x$2.$high - 0, x$2.$low - 8));\n\t\t\tif (!((x$3 = new $Uint64(old.$high & mutexMask.$high, (old.$low & mutexMask.$low) >>> 0), (x$3.$high === 0 && x$3.$low === 0)))) {\n\t\t\t\tnew$1 = (x$4 = mutexWait, new $Uint64(new$1.$high - x$4.$high, new$1.$low - x$4.$low));\n\t\t\t}\n\t\t\t/* */ if (atomic.CompareAndSwapUint64((mu.$ptr_state || (mu.$ptr_state = new ptrType$1(function() { return this.$target.state; }, function($v) { this.$target.state = $v; }, mu))), old, new$1)) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (atomic.CompareAndSwapUint64((mu.$ptr_state || (mu.$ptr_state = new ptrType$1(function() { return this.$target.state; }, function($v) { this.$target.state = $v; }, mu))), old, new$1)) { */ case 3:\n\t\t\t\t/* */ if (!((x$5 = new $Uint64(old.$high & mutexMask.$high, (old.$low & mutexMask.$low) >>> 0), (x$5.$high === 0 && x$5.$low === 0)))) { $s = 5; continue; }\n\t\t\t\t/* */ $s = 6; continue;\n\t\t\t\t/* if (!((x$5 = new $Uint64(old.$high & mutexMask.$high, (old.$low & mutexMask.$low) >>> 0), (x$5.$high === 0 && x$5.$low === 0)))) { */ case 5:\n\t\t\t\t\t$r = runtime_Semrelease(mutexSema); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t/* } */ case 6:\n\t\t\t\t$s = -1; return (x$6 = new $Uint64(new$1.$high & 0, (new$1.$low & 8388601) >>> 0), (x$6.$high === 0 && x$6.$low === 1));\n\t\t\t/* } */ case 4:\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return false;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: fdMutex.ptr.prototype.rwunlock }; } $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f.mu = mu; $f.mutexBit = mutexBit; $f.mutexMask = mutexMask; $f.mutexSema = mutexSema; $f.mutexWait = mutexWait; $f.new$1 = new$1; $f.old = old; $f.read = read; $f.x = x; $f.x$1 = x$1; $f.x$2 = x$2; $f.x$3 = x$3; $f.x$4 = x$4; $f.x$5 = x$5; $f.x$6 = x$6; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tfdMutex.prototype.rwunlock = function(read) { return this.$val.rwunlock(read); };\n\tFD.ptr.prototype.incref = function() {\n\t\tvar fd;\n\t\tfd = this;\n\t\tif (!fd.fdmu.incref()) {\n\t\t\treturn errClosing(fd.isFile);\n\t\t}\n\t\treturn $ifaceNil;\n\t};\n\tFD.prototype.incref = function() { return this.$val.incref(); };\n\tFD.ptr.prototype.decref = function() {\n\t\tvar _r, fd, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; fd = $f.fd; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tfd = this;\n\t\t/* */ if (fd.fdmu.decref()) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (fd.fdmu.decref()) { */ case 1:\n\t\t\t_r = fd.destroy(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return _r;\n\t\t/* } */ case 2:\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: FD.ptr.prototype.decref }; } $f._r = _r; $f.fd = fd; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFD.prototype.decref = function() { return this.$val.decref(); };\n\tFD.ptr.prototype.readLock = function() {\n\t\tvar _r, fd, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; fd = $f.fd; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tfd = this;\n\t\t_r = fd.fdmu.rwlock(true); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t/* */ if (!_r) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!_r) { */ case 1:\n\t\t\t$s = -1; return errClosing(fd.isFile);\n\t\t/* } */ case 2:\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: FD.ptr.prototype.readLock }; } $f._r = _r; $f.fd = fd; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFD.prototype.readLock = function() { return this.$val.readLock(); };\n\tFD.ptr.prototype.readUnlock = function() {\n\t\tvar _r, _r$1, fd, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; fd = $f.fd; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tfd = this;\n\t\t_r = fd.fdmu.rwunlock(true); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t/* */ if (_r) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (_r) { */ case 1:\n\t\t\t_r$1 = fd.destroy(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_r$1;\n\t\t/* } */ case 2:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: FD.ptr.prototype.readUnlock }; } $f._r = _r; $f._r$1 = _r$1; $f.fd = fd; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFD.prototype.readUnlock = function() { return this.$val.readUnlock(); };\n\tFD.ptr.prototype.writeLock = function() {\n\t\tvar _r, fd, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; fd = $f.fd; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tfd = this;\n\t\t_r = fd.fdmu.rwlock(false); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t/* */ if (!_r) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!_r) { */ case 1:\n\t\t\t$s = -1; return errClosing(fd.isFile);\n\t\t/* } */ case 2:\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: FD.ptr.prototype.writeLock }; } $f._r = _r; $f.fd = fd; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFD.prototype.writeLock = function() { return this.$val.writeLock(); };\n\tFD.ptr.prototype.writeUnlock = function() {\n\t\tvar _r, _r$1, fd, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; fd = $f.fd; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tfd = this;\n\t\t_r = fd.fdmu.rwunlock(false); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t/* */ if (_r) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (_r) { */ case 1:\n\t\t\t_r$1 = fd.destroy(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_r$1;\n\t\t/* } */ case 2:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: FD.ptr.prototype.writeUnlock }; } $f._r = _r; $f._r$1 = _r$1; $f.fd = fd; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFD.prototype.writeUnlock = function() { return this.$val.writeUnlock(); };\n\tFD.ptr.prototype.eofError = function(n, err) {\n\t\tvar err, fd, n;\n\t\tfd = this;\n\t\tif ((n === 0) && $interfaceIsEqual(err, $ifaceNil) && fd.ZeroReadIsEOF) {\n\t\t\treturn io.EOF;\n\t\t}\n\t\treturn err;\n\t};\n\tFD.prototype.eofError = function(n, err) { return this.$val.eofError(n, err); };\n\tFD.ptr.prototype.Fchmod = function(mode) {\n\t\tvar err, fd, mode, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; err = $f.err; fd = $f.fd; mode = $f.mode; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tfd = this;\n\t\terr = fd.incref();\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return err;\n\t\t}\n\t\t$deferred.push([$methodVal(fd, \"decref\"), []]);\n\t\t$s = -1; return syscall.Fchmod(fd.Sysfd, mode);\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return $ifaceNil; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: FD.ptr.prototype.Fchmod }; } $f.err = err; $f.fd = fd; $f.mode = mode; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tFD.prototype.Fchmod = function(mode) { return this.$val.Fchmod(mode); };\n\tFD.ptr.prototype.Fchown = function(uid, gid) {\n\t\tvar err, fd, gid, uid, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; err = $f.err; fd = $f.fd; gid = $f.gid; uid = $f.uid; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tfd = this;\n\t\terr = fd.incref();\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return err;\n\t\t}\n\t\t$deferred.push([$methodVal(fd, \"decref\"), []]);\n\t\t$s = -1; return syscall.Fchown(fd.Sysfd, uid, gid);\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return $ifaceNil; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: FD.ptr.prototype.Fchown }; } $f.err = err; $f.fd = fd; $f.gid = gid; $f.uid = uid; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tFD.prototype.Fchown = function(uid, gid) { return this.$val.Fchown(uid, gid); };\n\tFD.ptr.prototype.Ftruncate = function(size) {\n\t\tvar err, fd, size, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; err = $f.err; fd = $f.fd; size = $f.size; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tfd = this;\n\t\terr = fd.incref();\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return err;\n\t\t}\n\t\t$deferred.push([$methodVal(fd, \"decref\"), []]);\n\t\t$s = -1; return syscall.Ftruncate(fd.Sysfd, size);\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return $ifaceNil; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: FD.ptr.prototype.Ftruncate }; } $f.err = err; $f.fd = fd; $f.size = size; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tFD.prototype.Ftruncate = function(size) { return this.$val.Ftruncate(size); };\n\tFD.ptr.prototype.Fsync = function() {\n\t\tvar err, fd, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; err = $f.err; fd = $f.fd; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tfd = this;\n\t\terr = fd.incref();\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return err;\n\t\t}\n\t\t$deferred.push([$methodVal(fd, \"decref\"), []]);\n\t\t$s = -1; return syscall.Fsync(fd.Sysfd);\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return $ifaceNil; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: FD.ptr.prototype.Fsync }; } $f.err = err; $f.fd = fd; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tFD.prototype.Fsync = function() { return this.$val.Fsync(); };\n\tFD.ptr.prototype.Init = function(net, pollable) {\n\t\tvar err, fd, net, pollable;\n\t\tfd = this;\n\t\tif (net === \"file\") {\n\t\t\tfd.isFile = true;\n\t\t}\n\t\tif (!pollable) {\n\t\t\tfd.isBlocking = 1;\n\t\t\treturn $ifaceNil;\n\t\t}\n\t\terr = fd.pd.init(fd);\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\tfd.isBlocking = 1;\n\t\t}\n\t\treturn err;\n\t};\n\tFD.prototype.Init = function(net, pollable) { return this.$val.Init(net, pollable); };\n\tFD.ptr.prototype.destroy = function() {\n\t\tvar _r, err, fd, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; err = $f.err; fd = $f.fd; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tfd = this;\n\t\tfd.pd.close();\n\t\t_r = $pkg.CloseFunc(fd.Sysfd); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\terr = _r;\n\t\tfd.Sysfd = -1;\n\t\t$r = runtime_Semrelease((fd.$ptr_csema || (fd.$ptr_csema = new ptrType(function() { return this.$target.csema; }, function($v) { this.$target.csema = $v; }, fd)))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return err;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: FD.ptr.prototype.destroy }; } $f._r = _r; $f.err = err; $f.fd = fd; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFD.prototype.destroy = function() { return this.$val.destroy(); };\n\tFD.ptr.prototype.Close = function() {\n\t\tvar _r, _r$1, err, fd, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; err = $f.err; fd = $f.fd; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tfd = this;\n\t\t_r = fd.fdmu.increfAndClose(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t/* */ if (!_r) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!_r) { */ case 1:\n\t\t\t$s = -1; return errClosing(fd.isFile);\n\t\t/* } */ case 2:\n\t\tfd.pd.evict();\n\t\t_r$1 = fd.decref(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\terr = _r$1;\n\t\t/* */ if (fd.isBlocking === 0) { $s = 5; continue; }\n\t\t/* */ $s = 6; continue;\n\t\t/* if (fd.isBlocking === 0) { */ case 5:\n\t\t\t$r = runtime_Semacquire((fd.$ptr_csema || (fd.$ptr_csema = new ptrType(function() { return this.$target.csema; }, function($v) { this.$target.csema = $v; }, fd)))); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 6:\n\t\t$s = -1; return err;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: FD.ptr.prototype.Close }; } $f._r = _r; $f._r$1 = _r$1; $f.err = err; $f.fd = fd; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFD.prototype.Close = function() { return this.$val.Close(); };\n\tFD.ptr.prototype.Shutdown = function(how) {\n\t\tvar err, fd, how, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; err = $f.err; fd = $f.fd; how = $f.how; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tfd = this;\n\t\terr = fd.incref();\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return err;\n\t\t}\n\t\t$deferred.push([$methodVal(fd, \"decref\"), []]);\n\t\t$s = -1; return syscall.Shutdown(fd.Sysfd, how);\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return $ifaceNil; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: FD.ptr.prototype.Shutdown }; } $f.err = err; $f.fd = fd; $f.how = how; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tFD.prototype.Shutdown = function(how) { return this.$val.Shutdown(how); };\n\tFD.ptr.prototype.SetBlocking = function() {\n\t\tvar err, fd, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; err = $f.err; fd = $f.fd; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tfd = this;\n\t\terr = fd.incref();\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return err;\n\t\t}\n\t\t$deferred.push([$methodVal(fd, \"decref\"), []]);\n\t\tatomic.StoreUint32((fd.$ptr_isBlocking || (fd.$ptr_isBlocking = new ptrType(function() { return this.$target.isBlocking; }, function($v) { this.$target.isBlocking = $v; }, fd))), 1);\n\t\t$s = -1; return syscall.SetNonblock(fd.Sysfd, false);\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return $ifaceNil; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: FD.ptr.prototype.SetBlocking }; } $f.err = err; $f.fd = fd; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tFD.prototype.SetBlocking = function() { return this.$val.SetBlocking(); };\n\tFD.ptr.prototype.Read = function(p) {\n\t\tvar _r, _tuple, err, err$1, err$2, fd, n, p, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; err = $f.err; err$1 = $f.err$1; err$2 = $f.err$2; fd = $f.fd; n = $f.n; p = $f.p; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tfd = this;\n\t\t_r = fd.readLock(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\terr = _r;\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return [0, err];\n\t\t}\n\t\t$deferred.push([$methodVal(fd, \"readUnlock\"), []]);\n\t\tif (p.$length === 0) {\n\t\t\t$s = -1; return [0, $ifaceNil];\n\t\t}\n\t\terr$1 = fd.pd.prepareRead(fd.isFile);\n\t\tif (!($interfaceIsEqual(err$1, $ifaceNil))) {\n\t\t\t$s = -1; return [0, err$1];\n\t\t}\n\t\tif (fd.IsStream && p.$length > 1073741824) {\n\t\t\tp = $subslice(p, 0, 1073741824);\n\t\t}\n\t\twhile (true) {\n\t\t\t_tuple = syscall.Read(fd.Sysfd, p);\n\t\t\tn = _tuple[0];\n\t\t\terr$2 = _tuple[1];\n\t\t\tif (!($interfaceIsEqual(err$2, $ifaceNil))) {\n\t\t\t\tn = 0;\n\t\t\t\tif ($interfaceIsEqual(err$2, new syscall.Errno(11)) && fd.pd.pollable()) {\n\t\t\t\t\terr$2 = fd.pd.waitRead(fd.isFile);\n\t\t\t\t\tif ($interfaceIsEqual(err$2, $ifaceNil)) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (false && $interfaceIsEqual(err$2, new syscall.Errno(4))) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\terr$2 = fd.eofError(n, err$2);\n\t\t\t$s = -1; return [n, err$2];\n\t\t}\n\t\t$s = -1; return [0, $ifaceNil];\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return [0, $ifaceNil]; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: FD.ptr.prototype.Read }; } $f._r = _r; $f._tuple = _tuple; $f.err = err; $f.err$1 = err$1; $f.err$2 = err$2; $f.fd = fd; $f.n = n; $f.p = p; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tFD.prototype.Read = function(p) { return this.$val.Read(p); };\n\tFD.ptr.prototype.Pread = function(p, off) {\n\t\tvar _r, _tuple, err, err$1, fd, n, off, p, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; err = $f.err; err$1 = $f.err$1; fd = $f.fd; n = $f.n; off = $f.off; p = $f.p; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tfd = this;\n\t\terr = fd.incref();\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return [0, err];\n\t\t}\n\t\tif (fd.IsStream && p.$length > 1073741824) {\n\t\t\tp = $subslice(p, 0, 1073741824);\n\t\t}\n\t\t_tuple = syscall.Pread(fd.Sysfd, p, off);\n\t\tn = _tuple[0];\n\t\terr$1 = _tuple[1];\n\t\tif (!($interfaceIsEqual(err$1, $ifaceNil))) {\n\t\t\tn = 0;\n\t\t}\n\t\t_r = fd.decref(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r;\n\t\terr$1 = fd.eofError(n, err$1);\n\t\t$s = -1; return [n, err$1];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: FD.ptr.prototype.Pread }; } $f._r = _r; $f._tuple = _tuple; $f.err = err; $f.err$1 = err$1; $f.fd = fd; $f.n = n; $f.off = off; $f.p = p; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFD.prototype.Pread = function(p, off) { return this.$val.Pread(p, off); };\n\tFD.ptr.prototype.ReadFrom = function(p) {\n\t\tvar _r, _tuple, err, err$1, err$2, fd, n, p, sa, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; err = $f.err; err$1 = $f.err$1; err$2 = $f.err$2; fd = $f.fd; n = $f.n; p = $f.p; sa = $f.sa; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tfd = this;\n\t\t_r = fd.readLock(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\terr = _r;\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return [0, $ifaceNil, err];\n\t\t}\n\t\t$deferred.push([$methodVal(fd, \"readUnlock\"), []]);\n\t\terr$1 = fd.pd.prepareRead(fd.isFile);\n\t\tif (!($interfaceIsEqual(err$1, $ifaceNil))) {\n\t\t\t$s = -1; return [0, $ifaceNil, err$1];\n\t\t}\n\t\twhile (true) {\n\t\t\t_tuple = syscall.Recvfrom(fd.Sysfd, p, 0);\n\t\t\tn = _tuple[0];\n\t\t\tsa = _tuple[1];\n\t\t\terr$2 = _tuple[2];\n\t\t\tif (!($interfaceIsEqual(err$2, $ifaceNil))) {\n\t\t\t\tn = 0;\n\t\t\t\tif ($interfaceIsEqual(err$2, new syscall.Errno(11)) && fd.pd.pollable()) {\n\t\t\t\t\terr$2 = fd.pd.waitRead(fd.isFile);\n\t\t\t\t\tif ($interfaceIsEqual(err$2, $ifaceNil)) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\terr$2 = fd.eofError(n, err$2);\n\t\t\t$s = -1; return [n, sa, err$2];\n\t\t}\n\t\t$s = -1; return [0, $ifaceNil, $ifaceNil];\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return [0, $ifaceNil, $ifaceNil]; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: FD.ptr.prototype.ReadFrom }; } $f._r = _r; $f._tuple = _tuple; $f.err = err; $f.err$1 = err$1; $f.err$2 = err$2; $f.fd = fd; $f.n = n; $f.p = p; $f.sa = sa; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tFD.prototype.ReadFrom = function(p) { return this.$val.ReadFrom(p); };\n\tFD.ptr.prototype.ReadMsg = function(p, oob) {\n\t\tvar _r, _tuple, err, err$1, err$2, fd, flags, n, oob, oobn, p, sa, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; err = $f.err; err$1 = $f.err$1; err$2 = $f.err$2; fd = $f.fd; flags = $f.flags; n = $f.n; oob = $f.oob; oobn = $f.oobn; p = $f.p; sa = $f.sa; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tfd = this;\n\t\t_r = fd.readLock(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\terr = _r;\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return [0, 0, 0, $ifaceNil, err];\n\t\t}\n\t\t$deferred.push([$methodVal(fd, \"readUnlock\"), []]);\n\t\terr$1 = fd.pd.prepareRead(fd.isFile);\n\t\tif (!($interfaceIsEqual(err$1, $ifaceNil))) {\n\t\t\t$s = -1; return [0, 0, 0, $ifaceNil, err$1];\n\t\t}\n\t\twhile (true) {\n\t\t\t_tuple = syscall.Recvmsg(fd.Sysfd, p, oob, 0);\n\t\t\tn = _tuple[0];\n\t\t\toobn = _tuple[1];\n\t\t\tflags = _tuple[2];\n\t\t\tsa = _tuple[3];\n\t\t\terr$2 = _tuple[4];\n\t\t\tif (!($interfaceIsEqual(err$2, $ifaceNil))) {\n\t\t\t\tif ($interfaceIsEqual(err$2, new syscall.Errno(11)) && fd.pd.pollable()) {\n\t\t\t\t\terr$2 = fd.pd.waitRead(fd.isFile);\n\t\t\t\t\tif ($interfaceIsEqual(err$2, $ifaceNil)) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\terr$2 = fd.eofError(n, err$2);\n\t\t\t$s = -1; return [n, oobn, flags, sa, err$2];\n\t\t}\n\t\t$s = -1; return [0, 0, 0, $ifaceNil, $ifaceNil];\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return [0, 0, 0, $ifaceNil, $ifaceNil]; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: FD.ptr.prototype.ReadMsg }; } $f._r = _r; $f._tuple = _tuple; $f.err = err; $f.err$1 = err$1; $f.err$2 = err$2; $f.fd = fd; $f.flags = flags; $f.n = n; $f.oob = oob; $f.oobn = oobn; $f.p = p; $f.sa = sa; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tFD.prototype.ReadMsg = function(p, oob) { return this.$val.ReadMsg(p, oob); };\n\tFD.ptr.prototype.Write = function(p) {\n\t\tvar _r, _tuple, err, err$1, err$2, fd, max, n, nn, p, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; err = $f.err; err$1 = $f.err$1; err$2 = $f.err$2; fd = $f.fd; max = $f.max; n = $f.n; nn = $f.nn; p = $f.p; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tfd = this;\n\t\t_r = fd.writeLock(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\terr = _r;\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return [0, err];\n\t\t}\n\t\t$deferred.push([$methodVal(fd, \"writeUnlock\"), []]);\n\t\terr$1 = fd.pd.prepareWrite(fd.isFile);\n\t\tif (!($interfaceIsEqual(err$1, $ifaceNil))) {\n\t\t\t$s = -1; return [0, err$1];\n\t\t}\n\t\tnn = 0;\n\t\twhile (true) {\n\t\t\tmax = p.$length;\n\t\t\tif (fd.IsStream && (max - nn >> 0) > 1073741824) {\n\t\t\t\tmax = nn + 1073741824 >> 0;\n\t\t\t}\n\t\t\t_tuple = syscall.Write(fd.Sysfd, $subslice(p, nn, max));\n\t\t\tn = _tuple[0];\n\t\t\terr$2 = _tuple[1];\n\t\t\tif (n > 0) {\n\t\t\t\tnn = nn + (n) >> 0;\n\t\t\t}\n\t\t\tif (nn === p.$length) {\n\t\t\t\t$s = -1; return [nn, err$2];\n\t\t\t}\n\t\t\tif ($interfaceIsEqual(err$2, new syscall.Errno(11)) && fd.pd.pollable()) {\n\t\t\t\terr$2 = fd.pd.waitWrite(fd.isFile);\n\t\t\t\tif ($interfaceIsEqual(err$2, $ifaceNil)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!($interfaceIsEqual(err$2, $ifaceNil))) {\n\t\t\t\t$s = -1; return [nn, err$2];\n\t\t\t}\n\t\t\tif (n === 0) {\n\t\t\t\t$s = -1; return [nn, io.ErrUnexpectedEOF];\n\t\t\t}\n\t\t}\n\t\t$s = -1; return [0, $ifaceNil];\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return [0, $ifaceNil]; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: FD.ptr.prototype.Write }; } $f._r = _r; $f._tuple = _tuple; $f.err = err; $f.err$1 = err$1; $f.err$2 = err$2; $f.fd = fd; $f.max = max; $f.n = n; $f.nn = nn; $f.p = p; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tFD.prototype.Write = function(p) { return this.$val.Write(p); };\n\tFD.ptr.prototype.Pwrite = function(p, off) {\n\t\tvar _tuple, err, err$1, fd, max, n, nn, off, p, x, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _tuple = $f._tuple; err = $f.err; err$1 = $f.err$1; fd = $f.fd; max = $f.max; n = $f.n; nn = $f.nn; off = $f.off; p = $f.p; x = $f.x; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tfd = this;\n\t\terr = fd.incref();\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return [0, err];\n\t\t}\n\t\t$deferred.push([$methodVal(fd, \"decref\"), []]);\n\t\tnn = 0;\n\t\twhile (true) {\n\t\t\tmax = p.$length;\n\t\t\tif (fd.IsStream && (max - nn >> 0) > 1073741824) {\n\t\t\t\tmax = nn + 1073741824 >> 0;\n\t\t\t}\n\t\t\t_tuple = syscall.Pwrite(fd.Sysfd, $subslice(p, nn, max), (x = (new $Int64(0, nn)), new $Int64(off.$high + x.$high, off.$low + x.$low)));\n\t\t\tn = _tuple[0];\n\t\t\terr$1 = _tuple[1];\n\t\t\tif (n > 0) {\n\t\t\t\tnn = nn + (n) >> 0;\n\t\t\t}\n\t\t\tif (nn === p.$length) {\n\t\t\t\t$s = -1; return [nn, err$1];\n\t\t\t}\n\t\t\tif (!($interfaceIsEqual(err$1, $ifaceNil))) {\n\t\t\t\t$s = -1; return [nn, err$1];\n\t\t\t}\n\t\t\tif (n === 0) {\n\t\t\t\t$s = -1; return [nn, io.ErrUnexpectedEOF];\n\t\t\t}\n\t\t}\n\t\t$s = -1; return [0, $ifaceNil];\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return [0, $ifaceNil]; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: FD.ptr.prototype.Pwrite }; } $f._tuple = _tuple; $f.err = err; $f.err$1 = err$1; $f.fd = fd; $f.max = max; $f.n = n; $f.nn = nn; $f.off = off; $f.p = p; $f.x = x; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tFD.prototype.Pwrite = function(p, off) { return this.$val.Pwrite(p, off); };\n\tFD.ptr.prototype.WriteTo = function(p, sa) {\n\t\tvar _r, _r$1, err, err$1, err$2, fd, p, sa, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; err = $f.err; err$1 = $f.err$1; err$2 = $f.err$2; fd = $f.fd; p = $f.p; sa = $f.sa; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tfd = this;\n\t\t_r = fd.writeLock(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\terr = _r;\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return [0, err];\n\t\t}\n\t\t$deferred.push([$methodVal(fd, \"writeUnlock\"), []]);\n\t\terr$1 = fd.pd.prepareWrite(fd.isFile);\n\t\tif (!($interfaceIsEqual(err$1, $ifaceNil))) {\n\t\t\t$s = -1; return [0, err$1];\n\t\t}\n\t\t/* while (true) { */ case 2:\n\t\t\t_r$1 = syscall.Sendto(fd.Sysfd, p, 0, sa); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\terr$2 = _r$1;\n\t\t\tif ($interfaceIsEqual(err$2, new syscall.Errno(11)) && fd.pd.pollable()) {\n\t\t\t\terr$2 = fd.pd.waitWrite(fd.isFile);\n\t\t\t\tif ($interfaceIsEqual(err$2, $ifaceNil)) {\n\t\t\t\t\t/* continue; */ $s = 2; continue;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!($interfaceIsEqual(err$2, $ifaceNil))) {\n\t\t\t\t$s = -1; return [0, err$2];\n\t\t\t}\n\t\t\t$s = -1; return [p.$length, $ifaceNil];\n\t\t/* } */ $s = 2; continue; case 3:\n\t\t$s = -1; return [0, $ifaceNil];\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return [0, $ifaceNil]; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: FD.ptr.prototype.WriteTo }; } $f._r = _r; $f._r$1 = _r$1; $f.err = err; $f.err$1 = err$1; $f.err$2 = err$2; $f.fd = fd; $f.p = p; $f.sa = sa; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tFD.prototype.WriteTo = function(p, sa) { return this.$val.WriteTo(p, sa); };\n\tFD.ptr.prototype.WriteMsg = function(p, oob, sa) {\n\t\tvar _r, _r$1, _tuple, err, err$1, err$2, fd, n, oob, p, sa, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; err = $f.err; err$1 = $f.err$1; err$2 = $f.err$2; fd = $f.fd; n = $f.n; oob = $f.oob; p = $f.p; sa = $f.sa; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tfd = this;\n\t\t_r = fd.writeLock(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\terr = _r;\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return [0, 0, err];\n\t\t}\n\t\t$deferred.push([$methodVal(fd, \"writeUnlock\"), []]);\n\t\terr$1 = fd.pd.prepareWrite(fd.isFile);\n\t\tif (!($interfaceIsEqual(err$1, $ifaceNil))) {\n\t\t\t$s = -1; return [0, 0, err$1];\n\t\t}\n\t\t/* while (true) { */ case 2:\n\t\t\t_r$1 = syscall.SendmsgN(fd.Sysfd, p, oob, sa, 0); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r$1;\n\t\t\tn = _tuple[0];\n\t\t\terr$2 = _tuple[1];\n\t\t\tif ($interfaceIsEqual(err$2, new syscall.Errno(11)) && fd.pd.pollable()) {\n\t\t\t\terr$2 = fd.pd.waitWrite(fd.isFile);\n\t\t\t\tif ($interfaceIsEqual(err$2, $ifaceNil)) {\n\t\t\t\t\t/* continue; */ $s = 2; continue;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!($interfaceIsEqual(err$2, $ifaceNil))) {\n\t\t\t\t$s = -1; return [n, 0, err$2];\n\t\t\t}\n\t\t\t$s = -1; return [n, oob.$length, err$2];\n\t\t/* } */ $s = 2; continue; case 3:\n\t\t$s = -1; return [0, 0, $ifaceNil];\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return [0, 0, $ifaceNil]; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: FD.ptr.prototype.WriteMsg }; } $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f.err = err; $f.err$1 = err$1; $f.err$2 = err$2; $f.fd = fd; $f.n = n; $f.oob = oob; $f.p = p; $f.sa = sa; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tFD.prototype.WriteMsg = function(p, oob, sa) { return this.$val.WriteMsg(p, oob, sa); };\n\tFD.ptr.prototype.Accept = function() {\n\t\tvar _1, _r, _r$1, _tuple, err, err$1, err$2, errcall, fd, rsa, s, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; err = $f.err; err$1 = $f.err$1; err$2 = $f.err$2; errcall = $f.errcall; fd = $f.fd; rsa = $f.rsa; s = $f.s; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tfd = this;\n\t\t_r = fd.readLock(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\terr = _r;\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return [-1, $ifaceNil, \"\", err];\n\t\t}\n\t\t$deferred.push([$methodVal(fd, \"readUnlock\"), []]);\n\t\terr$1 = fd.pd.prepareRead(fd.isFile);\n\t\tif (!($interfaceIsEqual(err$1, $ifaceNil))) {\n\t\t\t$s = -1; return [-1, $ifaceNil, \"\", err$1];\n\t\t}\n\t\t/* while (true) { */ case 2:\n\t\t\t_r$1 = accept(fd.Sysfd); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r$1;\n\t\t\ts = _tuple[0];\n\t\t\trsa = _tuple[1];\n\t\t\terrcall = _tuple[2];\n\t\t\terr$2 = _tuple[3];\n\t\t\tif ($interfaceIsEqual(err$2, $ifaceNil)) {\n\t\t\t\t$s = -1; return [s, rsa, \"\", err$2];\n\t\t\t}\n\t\t\t_1 = err$2;\n\t\t\tif ($interfaceIsEqual(_1, new syscall.Errno((11)))) {\n\t\t\t\tif (fd.pd.pollable()) {\n\t\t\t\t\terr$2 = fd.pd.waitRead(fd.isFile);\n\t\t\t\t\tif ($interfaceIsEqual(err$2, $ifaceNil)) {\n\t\t\t\t\t\t/* continue; */ $s = 2; continue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if ($interfaceIsEqual(_1, new syscall.Errno((103)))) {\n\t\t\t\t/* continue; */ $s = 2; continue;\n\t\t\t}\n\t\t\t$s = -1; return [-1, $ifaceNil, errcall, err$2];\n\t\t/* } */ $s = 2; continue; case 3:\n\t\t$s = -1; return [0, $ifaceNil, \"\", $ifaceNil];\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return [0, $ifaceNil, \"\", $ifaceNil]; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: FD.ptr.prototype.Accept }; } $f._1 = _1; $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f.err = err; $f.err$1 = err$1; $f.err$2 = err$2; $f.errcall = errcall; $f.fd = fd; $f.rsa = rsa; $f.s = s; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tFD.prototype.Accept = function() { return this.$val.Accept(); };\n\tFD.ptr.prototype.Seek = function(offset, whence) {\n\t\tvar err, fd, offset, whence, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; err = $f.err; fd = $f.fd; offset = $f.offset; whence = $f.whence; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tfd = this;\n\t\terr = fd.incref();\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return [new $Int64(0, 0), err];\n\t\t}\n\t\t$deferred.push([$methodVal(fd, \"decref\"), []]);\n\t\t$s = -1; return syscall.Seek(fd.Sysfd, offset, whence);\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return [new $Int64(0, 0), $ifaceNil]; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: FD.ptr.prototype.Seek }; } $f.err = err; $f.fd = fd; $f.offset = offset; $f.whence = whence; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tFD.prototype.Seek = function(offset, whence) { return this.$val.Seek(offset, whence); };\n\tFD.ptr.prototype.ReadDirent = function(buf) {\n\t\tvar _tuple, buf, err, err$1, fd, n, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _tuple = $f._tuple; buf = $f.buf; err = $f.err; err$1 = $f.err$1; fd = $f.fd; n = $f.n; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tfd = this;\n\t\terr = fd.incref();\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return [0, err];\n\t\t}\n\t\t$deferred.push([$methodVal(fd, \"decref\"), []]);\n\t\twhile (true) {\n\t\t\t_tuple = syscall.ReadDirent(fd.Sysfd, buf);\n\t\t\tn = _tuple[0];\n\t\t\terr$1 = _tuple[1];\n\t\t\tif (!($interfaceIsEqual(err$1, $ifaceNil))) {\n\t\t\t\tn = 0;\n\t\t\t\tif ($interfaceIsEqual(err$1, new syscall.Errno(11)) && fd.pd.pollable()) {\n\t\t\t\t\terr$1 = fd.pd.waitRead(fd.isFile);\n\t\t\t\t\tif ($interfaceIsEqual(err$1, $ifaceNil)) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t$s = -1; return [n, err$1];\n\t\t}\n\t\t$s = -1; return [0, $ifaceNil];\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return [0, $ifaceNil]; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: FD.ptr.prototype.ReadDirent }; } $f._tuple = _tuple; $f.buf = buf; $f.err = err; $f.err$1 = err$1; $f.fd = fd; $f.n = n; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tFD.prototype.ReadDirent = function(buf) { return this.$val.ReadDirent(buf); };\n\tFD.ptr.prototype.Fchdir = function() {\n\t\tvar err, fd, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; err = $f.err; fd = $f.fd; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tfd = this;\n\t\terr = fd.incref();\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return err;\n\t\t}\n\t\t$deferred.push([$methodVal(fd, \"decref\"), []]);\n\t\t$s = -1; return syscall.Fchdir(fd.Sysfd);\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return $ifaceNil; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: FD.ptr.prototype.Fchdir }; } $f.err = err; $f.fd = fd; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tFD.prototype.Fchdir = function() { return this.$val.Fchdir(); };\n\tFD.ptr.prototype.Fstat = function(s) {\n\t\tvar err, fd, s, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; err = $f.err; fd = $f.fd; s = $f.s; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tfd = this;\n\t\terr = fd.incref();\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return err;\n\t\t}\n\t\t$deferred.push([$methodVal(fd, \"decref\"), []]);\n\t\t$s = -1; return syscall.Fstat(fd.Sysfd, s);\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return $ifaceNil; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: FD.ptr.prototype.Fstat }; } $f.err = err; $f.fd = fd; $f.s = s; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tFD.prototype.Fstat = function(s) { return this.$val.Fstat(s); };\n\tDupCloseOnExec = function(fd) {\n\t\tvar _1, _r, _tuple, e1, fd, r0, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; _tuple = $f._tuple; e1 = $f.e1; fd = $f.fd; r0 = $f.r0; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tif (atomic.LoadInt32((tryDupCloexec$24ptr || (tryDupCloexec$24ptr = new ptrType$2(function() { return tryDupCloexec; }, function($v) { tryDupCloexec = $v; })))) === 1) {\n\t\t\t_tuple = syscall.Syscall(72, ((fd >>> 0)), 1030, 0);\n\t\t\tr0 = _tuple[0];\n\t\t\te1 = _tuple[2];\n\t\t\t_1 = e1;\n\t\t\tif (_1 === (0)) {\n\t\t\t\t$s = -1; return [((r0 >> 0)), \"\", $ifaceNil];\n\t\t\t} else if ((_1 === (22)) || (_1 === (38))) {\n\t\t\t\tatomic.StoreInt32((tryDupCloexec$24ptr || (tryDupCloexec$24ptr = new ptrType$2(function() { return tryDupCloexec; }, function($v) { tryDupCloexec = $v; }))), 0);\n\t\t\t} else {\n\t\t\t\t$s = -1; return [-1, \"fcntl\", new syscall.Errno(e1)];\n\t\t\t}\n\t\t}\n\t\t_r = dupCloseOnExecOld(fd); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: DupCloseOnExec }; } $f._1 = _1; $f._r = _r; $f._tuple = _tuple; $f.e1 = e1; $f.fd = fd; $f.r0 = r0; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.DupCloseOnExec = DupCloseOnExec;\n\tdupCloseOnExecOld = function(fd) {\n\t\tvar _tuple, err, fd, newfd, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _tuple = $f._tuple; err = $f.err; fd = $f.fd; newfd = $f.newfd; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\t$r = syscall.ForkLock.RLock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$deferred.push([$methodVal(syscall.ForkLock, \"RUnlock\"), []]);\n\t\t_tuple = syscall.Dup(fd);\n\t\tnewfd = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return [-1, \"dup\", err];\n\t\t}\n\t\tsyscall.CloseOnExec(newfd);\n\t\t$s = -1; return [newfd, \"\", $ifaceNil];\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return [0, \"\", $ifaceNil]; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: dupCloseOnExecOld }; } $f._tuple = _tuple; $f.err = err; $f.fd = fd; $f.newfd = newfd; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tFD.ptr.prototype.Dup = function() {\n\t\tvar _r, err, fd, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; err = $f.err; fd = $f.fd; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tfd = this;\n\t\terr = fd.incref();\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return [-1, \"\", err];\n\t\t}\n\t\t$deferred.push([$methodVal(fd, \"decref\"), []]);\n\t\t_r = DupCloseOnExec(fd.Sysfd); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return [0, \"\", $ifaceNil]; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: FD.ptr.prototype.Dup }; } $f._r = _r; $f.err = err; $f.fd = fd; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tFD.prototype.Dup = function() { return this.$val.Dup(); };\n\tFD.ptr.prototype.WaitWrite = function() {\n\t\tvar fd;\n\t\tfd = this;\n\t\treturn fd.pd.waitWrite(fd.isFile);\n\t};\n\tFD.prototype.WaitWrite = function() { return this.$val.WaitWrite(); };\n\tFD.ptr.prototype.WriteOnce = function(p) {\n\t\tvar _r, err, fd, p, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; err = $f.err; fd = $f.fd; p = $f.p; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tfd = this;\n\t\t_r = fd.writeLock(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\terr = _r;\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return [0, err];\n\t\t}\n\t\t$deferred.push([$methodVal(fd, \"writeUnlock\"), []]);\n\t\t$s = -1; return syscall.Write(fd.Sysfd, p);\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return [0, $ifaceNil]; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: FD.ptr.prototype.WriteOnce }; } $f._r = _r; $f.err = err; $f.fd = fd; $f.p = p; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tFD.prototype.WriteOnce = function(p) { return this.$val.WriteOnce(p); };\n\tFD.ptr.prototype.RawControl = function(f) {\n\t\tvar err, f, fd, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; err = $f.err; f = $f.f; fd = $f.fd; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tfd = this;\n\t\terr = fd.incref();\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return err;\n\t\t}\n\t\t$deferred.push([$methodVal(fd, \"decref\"), []]);\n\t\t$r = f(((fd.Sysfd >>> 0))); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return $ifaceNil; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: FD.ptr.prototype.RawControl }; } $f.err = err; $f.f = f; $f.fd = fd; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tFD.prototype.RawControl = function(f) { return this.$val.RawControl(f); };\n\tFD.ptr.prototype.RawRead = function(f) {\n\t\tvar _r, _r$1, err, err$1, err$2, f, fd, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; err = $f.err; err$1 = $f.err$1; err$2 = $f.err$2; f = $f.f; fd = $f.fd; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tfd = this;\n\t\t_r = fd.readLock(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\terr = _r;\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return err;\n\t\t}\n\t\t$deferred.push([$methodVal(fd, \"readUnlock\"), []]);\n\t\terr$1 = fd.pd.prepareRead(fd.isFile);\n\t\tif (!($interfaceIsEqual(err$1, $ifaceNil))) {\n\t\t\t$s = -1; return err$1;\n\t\t}\n\t\t/* while (true) { */ case 2:\n\t\t\t_r$1 = f(((fd.Sysfd >>> 0))); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t/* */ if (_r$1) { $s = 4; continue; }\n\t\t\t/* */ $s = 5; continue;\n\t\t\t/* if (_r$1) { */ case 4:\n\t\t\t\t$s = -1; return $ifaceNil;\n\t\t\t/* } */ case 5:\n\t\t\terr$2 = fd.pd.waitRead(fd.isFile);\n\t\t\tif (!($interfaceIsEqual(err$2, $ifaceNil))) {\n\t\t\t\t$s = -1; return err$2;\n\t\t\t}\n\t\t/* } */ $s = 2; continue; case 3:\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return $ifaceNil; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: FD.ptr.prototype.RawRead }; } $f._r = _r; $f._r$1 = _r$1; $f.err = err; $f.err$1 = err$1; $f.err$2 = err$2; $f.f = f; $f.fd = fd; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tFD.prototype.RawRead = function(f) { return this.$val.RawRead(f); };\n\tFD.ptr.prototype.RawWrite = function(f) {\n\t\tvar _r, _r$1, err, err$1, err$2, f, fd, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; err = $f.err; err$1 = $f.err$1; err$2 = $f.err$2; f = $f.f; fd = $f.fd; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tfd = this;\n\t\t_r = fd.writeLock(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\terr = _r;\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return err;\n\t\t}\n\t\t$deferred.push([$methodVal(fd, \"writeUnlock\"), []]);\n\t\terr$1 = fd.pd.prepareWrite(fd.isFile);\n\t\tif (!($interfaceIsEqual(err$1, $ifaceNil))) {\n\t\t\t$s = -1; return err$1;\n\t\t}\n\t\t/* while (true) { */ case 2:\n\t\t\t_r$1 = f(((fd.Sysfd >>> 0))); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t/* */ if (_r$1) { $s = 4; continue; }\n\t\t\t/* */ $s = 5; continue;\n\t\t\t/* if (_r$1) { */ case 4:\n\t\t\t\t$s = -1; return $ifaceNil;\n\t\t\t/* } */ case 5:\n\t\t\terr$2 = fd.pd.waitWrite(fd.isFile);\n\t\t\tif (!($interfaceIsEqual(err$2, $ifaceNil))) {\n\t\t\t\t$s = -1; return err$2;\n\t\t\t}\n\t\t/* } */ $s = 2; continue; case 3:\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return $ifaceNil; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: FD.ptr.prototype.RawWrite }; } $f._r = _r; $f._r$1 = _r$1; $f.err = err; $f.err$1 = err$1; $f.err$2 = err$2; $f.f = f; $f.fd = fd; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tFD.prototype.RawWrite = function(f) { return this.$val.RawWrite(f); };\n\taccept = function(s) {\n\t\tvar _1, _r, _r$1, _r$2, _tuple, _tuple$1, err, ns, s, sa, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; err = $f.err; ns = $f.ns; s = $f.s; sa = $f.sa; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = $pkg.Accept4Func(s, 526336); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tns = _tuple[0];\n\t\tsa = _tuple[1];\n\t\terr = _tuple[2];\n\t\t_1 = err;\n\t\tif ($interfaceIsEqual(_1, $ifaceNil)) {\n\t\t\t$s = -1; return [ns, sa, \"\", $ifaceNil];\n\t\t} else if ($interfaceIsEqual(_1, new syscall.Errno((38)))) {\n\t\t} else if ($interfaceIsEqual(_1, new syscall.Errno((22)))) {\n\t\t} else if ($interfaceIsEqual(_1, new syscall.Errno((13)))) {\n\t\t} else if ($interfaceIsEqual(_1, new syscall.Errno((14)))) {\n\t\t} else {\n\t\t\t$s = -1; return [-1, sa, \"accept4\", err];\n\t\t}\n\t\t_r$1 = $pkg.AcceptFunc(s); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_tuple$1 = _r$1;\n\t\tns = _tuple$1[0];\n\t\tsa = _tuple$1[1];\n\t\terr = _tuple$1[2];\n\t\tif ($interfaceIsEqual(err, $ifaceNil)) {\n\t\t\tsyscall.CloseOnExec(ns);\n\t\t}\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return [-1, $ifaceNil, \"accept\", err];\n\t\t}\n\t\terr = syscall.SetNonblock(ns, true);\n\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 3; continue; }\n\t\t/* */ $s = 4; continue;\n\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 3:\n\t\t\t_r$2 = $pkg.CloseFunc(ns); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t_r$2;\n\t\t\t$s = -1; return [-1, $ifaceNil, \"setnonblock\", err];\n\t\t/* } */ case 4:\n\t\t$s = -1; return [ns, sa, \"\", $ifaceNil];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: accept }; } $f._1 = _1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.err = err; $f.ns = ns; $f.s = s; $f.sa = sa; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFD.ptr.prototype.SetsockoptInt = function(level, name, arg) {\n\t\tvar arg, err, fd, level, name, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; arg = $f.arg; err = $f.err; fd = $f.fd; level = $f.level; name = $f.name; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tfd = this;\n\t\terr = fd.incref();\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return err;\n\t\t}\n\t\t$deferred.push([$methodVal(fd, \"decref\"), []]);\n\t\t$s = -1; return syscall.SetsockoptInt(fd.Sysfd, level, name, arg);\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return $ifaceNil; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: FD.ptr.prototype.SetsockoptInt }; } $f.arg = arg; $f.err = err; $f.fd = fd; $f.level = level; $f.name = name; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tFD.prototype.SetsockoptInt = function(level, name, arg) { return this.$val.SetsockoptInt(level, name, arg); };\n\tFD.ptr.prototype.SetsockoptInet4Addr = function(level, name, arg) {\n\t\tvar arg, err, fd, level, name, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; arg = $f.arg; err = $f.err; fd = $f.fd; level = $f.level; name = $f.name; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tfd = this;\n\t\terr = fd.incref();\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return err;\n\t\t}\n\t\t$deferred.push([$methodVal(fd, \"decref\"), []]);\n\t\t$s = -1; return syscall.SetsockoptInet4Addr(fd.Sysfd, level, name, $clone(arg, arrayType));\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return $ifaceNil; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: FD.ptr.prototype.SetsockoptInet4Addr }; } $f.arg = arg; $f.err = err; $f.fd = fd; $f.level = level; $f.name = name; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tFD.prototype.SetsockoptInet4Addr = function(level, name, arg) { return this.$val.SetsockoptInet4Addr(level, name, arg); };\n\tFD.ptr.prototype.SetsockoptLinger = function(level, name, l) {\n\t\tvar err, fd, l, level, name, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; err = $f.err; fd = $f.fd; l = $f.l; level = $f.level; name = $f.name; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tfd = this;\n\t\terr = fd.incref();\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return err;\n\t\t}\n\t\t$deferred.push([$methodVal(fd, \"decref\"), []]);\n\t\t$s = -1; return syscall.SetsockoptLinger(fd.Sysfd, level, name, l);\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return $ifaceNil; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: FD.ptr.prototype.SetsockoptLinger }; } $f.err = err; $f.fd = fd; $f.l = l; $f.level = level; $f.name = name; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tFD.prototype.SetsockoptLinger = function(level, name, l) { return this.$val.SetsockoptLinger(level, name, l); };\n\tFD.ptr.prototype.SetsockoptIPMreqn = function(level, name, mreq) {\n\t\tvar err, fd, level, mreq, name, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; err = $f.err; fd = $f.fd; level = $f.level; mreq = $f.mreq; name = $f.name; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tfd = this;\n\t\terr = fd.incref();\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return err;\n\t\t}\n\t\t$deferred.push([$methodVal(fd, \"decref\"), []]);\n\t\t$s = -1; return syscall.SetsockoptIPMreqn(fd.Sysfd, level, name, mreq);\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return $ifaceNil; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: FD.ptr.prototype.SetsockoptIPMreqn }; } $f.err = err; $f.fd = fd; $f.level = level; $f.mreq = mreq; $f.name = name; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tFD.prototype.SetsockoptIPMreqn = function(level, name, mreq) { return this.$val.SetsockoptIPMreqn(level, name, mreq); };\n\tFD.ptr.prototype.SetsockoptByte = function(level, name, arg) {\n\t\tvar arg, err, fd, level, name, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; arg = $f.arg; err = $f.err; fd = $f.fd; level = $f.level; name = $f.name; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tfd = this;\n\t\terr = fd.incref();\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return err;\n\t\t}\n\t\t$deferred.push([$methodVal(fd, \"decref\"), []]);\n\t\t$s = -1; return syscall.SetsockoptByte(fd.Sysfd, level, name, arg);\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return $ifaceNil; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: FD.ptr.prototype.SetsockoptByte }; } $f.arg = arg; $f.err = err; $f.fd = fd; $f.level = level; $f.name = name; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tFD.prototype.SetsockoptByte = function(level, name, arg) { return this.$val.SetsockoptByte(level, name, arg); };\n\tFD.ptr.prototype.SetsockoptIPMreq = function(level, name, mreq) {\n\t\tvar err, fd, level, mreq, name, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; err = $f.err; fd = $f.fd; level = $f.level; mreq = $f.mreq; name = $f.name; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tfd = this;\n\t\terr = fd.incref();\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return err;\n\t\t}\n\t\t$deferred.push([$methodVal(fd, \"decref\"), []]);\n\t\t$s = -1; return syscall.SetsockoptIPMreq(fd.Sysfd, level, name, mreq);\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return $ifaceNil; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: FD.ptr.prototype.SetsockoptIPMreq }; } $f.err = err; $f.fd = fd; $f.level = level; $f.mreq = mreq; $f.name = name; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tFD.prototype.SetsockoptIPMreq = function(level, name, mreq) { return this.$val.SetsockoptIPMreq(level, name, mreq); };\n\tFD.ptr.prototype.SetsockoptIPv6Mreq = function(level, name, mreq) {\n\t\tvar err, fd, level, mreq, name, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; err = $f.err; fd = $f.fd; level = $f.level; mreq = $f.mreq; name = $f.name; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tfd = this;\n\t\terr = fd.incref();\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return err;\n\t\t}\n\t\t$deferred.push([$methodVal(fd, \"decref\"), []]);\n\t\t$s = -1; return syscall.SetsockoptIPv6Mreq(fd.Sysfd, level, name, mreq);\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return $ifaceNil; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: FD.ptr.prototype.SetsockoptIPv6Mreq }; } $f.err = err; $f.fd = fd; $f.level = level; $f.mreq = mreq; $f.name = name; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tFD.prototype.SetsockoptIPv6Mreq = function(level, name, mreq) { return this.$val.SetsockoptIPv6Mreq(level, name, mreq); };\n\tFD.ptr.prototype.Writev = function(v) {\n\t\tvar _i, _r, _ref, _tuple, chunk, e0, err, err$1, err$2, fd, iovecs, maxVec, n, v, wrote, x, x$1, x$2, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _r = $f._r; _ref = $f._ref; _tuple = $f._tuple; chunk = $f.chunk; e0 = $f.e0; err = $f.err; err$1 = $f.err$1; err$2 = $f.err$2; fd = $f.fd; iovecs = $f.iovecs; maxVec = $f.maxVec; n = $f.n; v = $f.v; wrote = $f.wrote; x = $f.x; x$1 = $f.x$1; x$2 = $f.x$2; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tiovecs = [iovecs];\n\t\tfd = this;\n\t\t_r = fd.writeLock(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\terr = _r;\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return [new $Int64(0, 0), err];\n\t\t}\n\t\t$deferred.push([$methodVal(fd, \"writeUnlock\"), []]);\n\t\terr$1 = fd.pd.prepareWrite(fd.isFile);\n\t\tif (!($interfaceIsEqual(err$1, $ifaceNil))) {\n\t\t\t$s = -1; return [new $Int64(0, 0), err$1];\n\t\t}\n\t\tiovecs[0] = sliceType$2.nil;\n\t\tif (!(fd.iovecs === ptrType$6.nil)) {\n\t\t\tiovecs[0] = fd.iovecs.$get();\n\t\t}\n\t\tmaxVec = 1024;\n\t\tn = new $Int64(0, 0);\n\t\terr$2 = $ifaceNil;\n\t\t/* while (true) { */ case 2:\n\t\t\t/* if (!(v.$get().$length > 0)) { break; } */ if(!(v.$get().$length > 0)) { $s = 3; continue; }\n\t\t\tiovecs[0] = $subslice(iovecs[0], 0, 0);\n\t\t\t_ref = v.$get();\n\t\t\t_i = 0;\n\t\t\t/* while (true) { */ case 4:\n\t\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 5; continue; }\n\t\t\t\tchunk = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\t\tif (chunk.$length === 0) {\n\t\t\t\t\t_i++;\n\t\t\t\t\t/* continue; */ $s = 4; continue;\n\t\t\t\t}\n\t\t\t\tiovecs[0] = $append(iovecs[0], new syscall.Iovec.ptr($indexPtr(chunk.$array, chunk.$offset + 0, ptrType$7), new $Uint64(0, 0)));\n\t\t\t\tif (fd.IsStream && chunk.$length > 1073741824) {\n\t\t\t\t\t(x = iovecs[0].$length - 1 >> 0, ((x < 0 || x >= iovecs[0].$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : iovecs[0].$array[iovecs[0].$offset + x])).SetLen(1073741824);\n\t\t\t\t\t/* break; */ $s = 5; continue;\n\t\t\t\t}\n\t\t\t\t(x$1 = iovecs[0].$length - 1 >> 0, ((x$1 < 0 || x$1 >= iovecs[0].$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : iovecs[0].$array[iovecs[0].$offset + x$1])).SetLen(chunk.$length);\n\t\t\t\tif (iovecs[0].$length === maxVec) {\n\t\t\t\t\t/* break; */ $s = 5; continue;\n\t\t\t\t}\n\t\t\t\t_i++;\n\t\t\t/* } */ $s = 4; continue; case 5:\n\t\t\tif (iovecs[0].$length === 0) {\n\t\t\t\t/* break; */ $s = 3; continue;\n\t\t\t}\n\t\t\tfd.iovecs = (iovecs.$ptr || (iovecs.$ptr = new ptrType$6(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, iovecs)));\n\t\t\t_tuple = syscall.Syscall(20, ((fd.Sysfd >>> 0)), (($sliceToArray(iovecs[0]))), ((iovecs[0].$length >>> 0)));\n\t\t\twrote = _tuple[0];\n\t\t\te0 = _tuple[2];\n\t\t\tif (wrote === 4294967295) {\n\t\t\t\twrote = 0;\n\t\t\t}\n\t\t\t$r = $pkg.TestHookDidWritev(((wrote >> 0))); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\tn = (x$2 = (new $Int64(0, wrote.constructor === Number ? wrote : 1)), new $Int64(n.$high + x$2.$high, n.$low + x$2.$low));\n\t\t\tconsume(v, (new $Int64(0, wrote.constructor === Number ? wrote : 1)));\n\t\t\tif (e0 === 11) {\n\t\t\t\terr$2 = fd.pd.waitWrite(fd.isFile);\n\t\t\t\tif ($interfaceIsEqual(err$2, $ifaceNil)) {\n\t\t\t\t\t/* continue; */ $s = 2; continue;\n\t\t\t\t}\n\t\t\t} else if (!((e0 === 0))) {\n\t\t\t\terr$2 = new syscall.Errno((e0));\n\t\t\t}\n\t\t\tif (!($interfaceIsEqual(err$2, $ifaceNil))) {\n\t\t\t\t/* break; */ $s = 3; continue;\n\t\t\t}\n\t\t\tif ((n.$high === 0 && n.$low === 0)) {\n\t\t\t\terr$2 = io.ErrUnexpectedEOF;\n\t\t\t\t/* break; */ $s = 3; continue;\n\t\t\t}\n\t\t/* } */ $s = 2; continue; case 3:\n\t\t$s = -1; return [n, err$2];\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return [new $Int64(0, 0), $ifaceNil]; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: FD.ptr.prototype.Writev }; } $f._i = _i; $f._r = _r; $f._ref = _ref; $f._tuple = _tuple; $f.chunk = chunk; $f.e0 = e0; $f.err = err; $f.err$1 = err$1; $f.err$2 = err$2; $f.fd = fd; $f.iovecs = iovecs; $f.maxVec = maxVec; $f.n = n; $f.v = v; $f.wrote = wrote; $f.x = x; $f.x$1 = x$1; $f.x$2 = x$2; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tFD.prototype.Writev = function(v) { return this.$val.Writev(v); };\n\tptrType$9.methods = [{prop: \"init\", name: \"init\", pkg: \"internal/poll\", typ: $funcType([ptrType$8], [$error], false)}, {prop: \"close\", name: \"close\", pkg: \"internal/poll\", typ: $funcType([], [], false)}, {prop: \"evict\", name: \"evict\", pkg: \"internal/poll\", typ: $funcType([], [], false)}, {prop: \"prepare\", name: \"prepare\", pkg: \"internal/poll\", typ: $funcType([$Int, $Bool], [$error], false)}, {prop: \"prepareRead\", name: \"prepareRead\", pkg: \"internal/poll\", typ: $funcType([$Bool], [$error], false)}, {prop: \"prepareWrite\", name: \"prepareWrite\", pkg: \"internal/poll\", typ: $funcType([$Bool], [$error], false)}, {prop: \"wait\", name: \"wait\", pkg: \"internal/poll\", typ: $funcType([$Int, $Bool], [$error], false)}, {prop: \"waitRead\", name: \"waitRead\", pkg: \"internal/poll\", typ: $funcType([$Bool], [$error], false)}, {prop: \"waitWrite\", name: \"waitWrite\", pkg: \"internal/poll\", typ: $funcType([$Bool], [$error], false)}, {prop: \"waitCanceled\", name: \"waitCanceled\", pkg: \"internal/poll\", typ: $funcType([$Int], [], false)}, {prop: \"pollable\", name: \"pollable\", pkg: \"internal/poll\", typ: $funcType([], [$Bool], false)}];\n\tptrType$10.methods = [{prop: \"Error\", name: \"Error\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"Timeout\", name: \"Timeout\", pkg: \"\", typ: $funcType([], [$Bool], false)}, {prop: \"Temporary\", name: \"Temporary\", pkg: \"\", typ: $funcType([], [$Bool], false)}];\n\tptrType$11.methods = [{prop: \"incref\", name: \"incref\", pkg: \"internal/poll\", typ: $funcType([], [$Bool], false)}, {prop: \"increfAndClose\", name: \"increfAndClose\", pkg: \"internal/poll\", typ: $funcType([], [$Bool], false)}, {prop: \"decref\", name: \"decref\", pkg: \"internal/poll\", typ: $funcType([], [$Bool], false)}, {prop: \"rwlock\", name: \"rwlock\", pkg: \"internal/poll\", typ: $funcType([$Bool], [$Bool], false)}, {prop: \"rwunlock\", name: \"rwunlock\", pkg: \"internal/poll\", typ: $funcType([$Bool], [$Bool], false)}];\n\tptrType$8.methods = [{prop: \"SetDeadline\", name: \"SetDeadline\", pkg: \"\", typ: $funcType([time.Time], [$error], false)}, {prop: \"SetReadDeadline\", name: \"SetReadDeadline\", pkg: \"\", typ: $funcType([time.Time], [$error], false)}, {prop: \"SetWriteDeadline\", name: \"SetWriteDeadline\", pkg: \"\", typ: $funcType([time.Time], [$error], false)}, {prop: \"incref\", name: \"incref\", pkg: \"internal/poll\", typ: $funcType([], [$error], false)}, {prop: \"decref\", name: \"decref\", pkg: \"internal/poll\", typ: $funcType([], [$error], false)}, {prop: \"readLock\", name: \"readLock\", pkg: \"internal/poll\", typ: $funcType([], [$error], false)}, {prop: \"readUnlock\", name: \"readUnlock\", pkg: \"internal/poll\", typ: $funcType([], [], false)}, {prop: \"writeLock\", name: \"writeLock\", pkg: \"internal/poll\", typ: $funcType([], [$error], false)}, {prop: \"writeUnlock\", name: \"writeUnlock\", pkg: \"internal/poll\", typ: $funcType([], [], false)}, {prop: \"eofError\", name: \"eofError\", pkg: \"internal/poll\", typ: $funcType([$Int, $error], [$error], false)}, {prop: \"Fchmod\", name: \"Fchmod\", pkg: \"\", typ: $funcType([$Uint32], [$error], false)}, {prop: \"Fchown\", name: \"Fchown\", pkg: \"\", typ: $funcType([$Int, $Int], [$error], false)}, {prop: \"Ftruncate\", name: \"Ftruncate\", pkg: \"\", typ: $funcType([$Int64], [$error], false)}, {prop: \"Fsync\", name: \"Fsync\", pkg: \"\", typ: $funcType([], [$error], false)}, {prop: \"Init\", name: \"Init\", pkg: \"\", typ: $funcType([$String, $Bool], [$error], false)}, {prop: \"destroy\", name: \"destroy\", pkg: \"internal/poll\", typ: $funcType([], [$error], false)}, {prop: \"Close\", name: \"Close\", pkg: \"\", typ: $funcType([], [$error], false)}, {prop: \"Shutdown\", name: \"Shutdown\", pkg: \"\", typ: $funcType([$Int], [$error], false)}, {prop: \"SetBlocking\", name: \"SetBlocking\", pkg: \"\", typ: $funcType([], [$error], false)}, {prop: \"Read\", name: \"Read\", pkg: \"\", typ: $funcType([sliceType$3], [$Int, $error], false)}, {prop: \"Pread\", name: \"Pread\", pkg: \"\", typ: $funcType([sliceType$3, $Int64], [$Int, $error], false)}, {prop: \"ReadFrom\", name: \"ReadFrom\", pkg: \"\", typ: $funcType([sliceType$3], [$Int, syscall.Sockaddr, $error], false)}, {prop: \"ReadMsg\", name: \"ReadMsg\", pkg: \"\", typ: $funcType([sliceType$3, sliceType$3], [$Int, $Int, $Int, syscall.Sockaddr, $error], false)}, {prop: \"Write\", name: \"Write\", pkg: \"\", typ: $funcType([sliceType$3], [$Int, $error], false)}, {prop: \"Pwrite\", name: \"Pwrite\", pkg: \"\", typ: $funcType([sliceType$3, $Int64], [$Int, $error], false)}, {prop: \"WriteTo\", name: \"WriteTo\", pkg: \"\", typ: $funcType([sliceType$3, syscall.Sockaddr], [$Int, $error], false)}, {prop: \"WriteMsg\", name: \"WriteMsg\", pkg: \"\", typ: $funcType([sliceType$3, sliceType$3, syscall.Sockaddr], [$Int, $Int, $error], false)}, {prop: \"Accept\", name: \"Accept\", pkg: \"\", typ: $funcType([], [$Int, syscall.Sockaddr, $String, $error], false)}, {prop: \"Seek\", name: \"Seek\", pkg: \"\", typ: $funcType([$Int64, $Int], [$Int64, $error], false)}, {prop: \"ReadDirent\", name: \"ReadDirent\", pkg: \"\", typ: $funcType([sliceType$3], [$Int, $error], false)}, {prop: \"Fchdir\", name: \"Fchdir\", pkg: \"\", typ: $funcType([], [$error], false)}, {prop: \"Fstat\", name: \"Fstat\", pkg: \"\", typ: $funcType([ptrType$12], [$error], false)}, {prop: \"Dup\", name: \"Dup\", pkg: \"\", typ: $funcType([], [$Int, $String, $error], false)}, {prop: \"WaitWrite\", name: \"WaitWrite\", pkg: \"\", typ: $funcType([], [$error], false)}, {prop: \"WriteOnce\", name: \"WriteOnce\", pkg: \"\", typ: $funcType([sliceType$3], [$Int, $error], false)}, {prop: \"RawControl\", name: \"RawControl\", pkg: \"\", typ: $funcType([funcType], [$error], false)}, {prop: \"RawRead\", name: \"RawRead\", pkg: \"\", typ: $funcType([funcType$1], [$error], false)}, {prop: \"RawWrite\", name: \"RawWrite\", pkg: \"\", typ: $funcType([funcType$1], [$error], false)}, {prop: \"SetsockoptInt\", name: \"SetsockoptInt\", pkg: \"\", typ: $funcType([$Int, $Int, $Int], [$error], false)}, {prop: \"SetsockoptInet4Addr\", name: \"SetsockoptInet4Addr\", pkg: \"\", typ: $funcType([$Int, $Int, arrayType], [$error], false)}, {prop: \"SetsockoptLinger\", name: \"SetsockoptLinger\", pkg: \"\", typ: $funcType([$Int, $Int, ptrType$13], [$error], false)}, {prop: \"SetsockoptIPMreqn\", name: \"SetsockoptIPMreqn\", pkg: \"\", typ: $funcType([$Int, $Int, ptrType$14], [$error], false)}, {prop: \"SetsockoptByte\", name: \"SetsockoptByte\", pkg: \"\", typ: $funcType([$Int, $Int, $Uint8], [$error], false)}, {prop: \"SetsockoptIPMreq\", name: \"SetsockoptIPMreq\", pkg: \"\", typ: $funcType([$Int, $Int, ptrType$15], [$error], false)}, {prop: \"SetsockoptIPv6Mreq\", name: \"SetsockoptIPv6Mreq\", pkg: \"\", typ: $funcType([$Int, $Int, ptrType$16], [$error], false)}, {prop: \"Writev\", name: \"Writev\", pkg: \"\", typ: $funcType([ptrType$17], [$Int64, $error], false)}];\n\tpollDesc.init(\"internal/poll\", [{prop: \"closing\", name: \"closing\", embedded: false, exported: false, typ: $Bool, tag: \"\"}]);\n\tTimeoutError.init(\"\", []);\n\tfdMutex.init(\"internal/poll\", [{prop: \"state\", name: \"state\", embedded: false, exported: false, typ: $Uint64, tag: \"\"}, {prop: \"rsema\", name: \"rsema\", embedded: false, exported: false, typ: $Uint32, tag: \"\"}, {prop: \"wsema\", name: \"wsema\", embedded: false, exported: false, typ: $Uint32, tag: \"\"}]);\n\tFD.init(\"internal/poll\", [{prop: \"fdmu\", name: \"fdmu\", embedded: false, exported: false, typ: fdMutex, tag: \"\"}, {prop: \"Sysfd\", name: \"Sysfd\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"pd\", name: \"pd\", embedded: false, exported: false, typ: pollDesc, tag: \"\"}, {prop: \"iovecs\", name: \"iovecs\", embedded: false, exported: false, typ: ptrType$6, tag: \"\"}, {prop: \"csema\", name: \"csema\", embedded: false, exported: false, typ: $Uint32, tag: \"\"}, {prop: \"isBlocking\", name: \"isBlocking\", embedded: false, exported: false, typ: $Uint32, tag: \"\"}, {prop: \"IsStream\", name: \"IsStream\", embedded: false, exported: true, typ: $Bool, tag: \"\"}, {prop: \"ZeroReadIsEOF\", name: \"ZeroReadIsEOF\", embedded: false, exported: true, typ: $Bool, tag: \"\"}, {prop: \"isFile\", name: \"isFile\", embedded: false, exported: false, typ: $Bool, tag: \"\"}]);\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = errors.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = io.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = runtime.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = atomic.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = syscall.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = time.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tsemWaiters = {};\n\t\t$pkg.ErrNetClosing = errors.New(\"use of closed network connection\");\n\t\t$pkg.ErrFileClosing = errors.New(\"use of closed file\");\n\t\t$pkg.ErrNoDeadline = errors.New(\"file type does not support deadline\");\n\t\t$pkg.ErrTimeout = new TimeoutError.ptr();\n\t\t$pkg.TestHookDidWritev = (function(wrote) {\n\t\t\tvar wrote;\n\t\t});\n\t\ttryDupCloexec = 1;\n\t\t$pkg.Accept4Func = syscall.Accept4;\n\t\t$pkg.CloseFunc = syscall.Close;\n\t\t$pkg.AcceptFunc = syscall.Accept;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"internal/syscall/unix\"] = (function() {\n\tvar $pkg = {}, $init, atomic, syscall, IsNonblock;\n\tatomic = $packages[\"sync/atomic\"];\n\tsyscall = $packages[\"syscall\"];\n\tIsNonblock = function(fd) {\n\t\tvar _tmp, _tmp$1, err, fd, nonblocking;\n\t\tnonblocking = false;\n\t\terr = $ifaceNil;\n\t\t_tmp = false;\n\t\t_tmp$1 = $ifaceNil;\n\t\tnonblocking = _tmp;\n\t\terr = _tmp$1;\n\t\treturn [nonblocking, err];\n\t};\n\t$pkg.IsNonblock = IsNonblock;\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = atomic.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = syscall.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"internal/testlog\"] = (function() {\n\tvar $pkg = {}, $init, atomic, Interface, ptrType, logger, Logger, Getenv, Open, Stat;\n\tatomic = $packages[\"sync/atomic\"];\n\tInterface = $pkg.Interface = $newType(8, $kindInterface, \"testlog.Interface\", true, \"internal/testlog\", true, null);\n\tptrType = $ptrType(Interface);\n\tLogger = function() {\n\t\tvar impl;\n\t\timpl = logger.Load();\n\t\tif ($interfaceIsEqual(impl, $ifaceNil)) {\n\t\t\treturn $ifaceNil;\n\t\t}\n\t\treturn $assertType(impl, ptrType).$get();\n\t};\n\t$pkg.Logger = Logger;\n\tGetenv = function(name) {\n\t\tvar log, name, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; log = $f.log; name = $f.name; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tlog = Logger();\n\t\t/* */ if (!($interfaceIsEqual(log, $ifaceNil))) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!($interfaceIsEqual(log, $ifaceNil))) { */ case 1:\n\t\t\t$r = log.Getenv(name); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 2:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Getenv }; } $f.log = log; $f.name = name; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.Getenv = Getenv;\n\tOpen = function(name) {\n\t\tvar log, name, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; log = $f.log; name = $f.name; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tlog = Logger();\n\t\t/* */ if (!($interfaceIsEqual(log, $ifaceNil))) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!($interfaceIsEqual(log, $ifaceNil))) { */ case 1:\n\t\t\t$r = log.Open(name); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 2:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Open }; } $f.log = log; $f.name = name; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.Open = Open;\n\tStat = function(name) {\n\t\tvar log, name, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; log = $f.log; name = $f.name; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tlog = Logger();\n\t\t/* */ if (!($interfaceIsEqual(log, $ifaceNil))) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!($interfaceIsEqual(log, $ifaceNil))) { */ case 1:\n\t\t\t$r = log.Stat(name); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 2:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Stat }; } $f.log = log; $f.name = name; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.Stat = Stat;\n\tInterface.init([{prop: \"Chdir\", name: \"Chdir\", pkg: \"\", typ: $funcType([$String], [], false)}, {prop: \"Getenv\", name: \"Getenv\", pkg: \"\", typ: $funcType([$String], [], false)}, {prop: \"Open\", name: \"Open\", pkg: \"\", typ: $funcType([$String], [], false)}, {prop: \"Stat\", name: \"Stat\", pkg: \"\", typ: $funcType([$String], [], false)}]);\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = atomic.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tlogger = new atomic.Value.ptr($ifaceNil);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"os\"] = (function() {\n\tvar $pkg = {}, $init, errors, js, poll, unix, testlog, io, runtime, sync, atomic, syscall, time, timeout, PathError, SyscallError, Process, ProcAttr, Signal, ProcessState, LinkError, file, dirInfo, File, FileInfo, FileMode, fileStat, structType, sliceType, ptrType, sliceType$1, ptrType$1, sliceType$2, ptrType$2, ptrType$3, ptrType$4, ptrType$5, funcType, ptrType$6, ptrType$7, ptrType$8, sliceType$3, ptrType$9, ptrType$10, ptrType$11, sliceType$5, ptrType$12, arrayType$1, ptrType$13, funcType$1, arrayType$2, sliceType$6, ptrType$15, arrayType$3, arrayType$6, ptrType$16, arrayType$7, ptrType$17, sliceType$8, errFinished, lstat, getwdCache, useSyscallwd, runtime_args, init, runtime_beforeExit, Getenv, Setenv, Environ, NewSyscallError, IsExist, IsNotExist, underlyingError, wrapSyscallError, isExist, isNotExist, newProcess, Getpid, StartProcess, startProcess, setStickyBit, Open, OpenFile, Rename, TempDir, Chmod, sigpipe, syscallMode, chmod, fixLongPath, rename, NewFile, newFile, epipecheck, openFileNolog, Remove, tempDir, Getwd, IsPathSeparator, basename, Pipe, init$1, Exit, Stat, Lstat, fillFileStatFromSys, timespecToTime, statNolog, lstatNolog, itoa, uitoa, SameFile, sameFile;\n\terrors = $packages[\"errors\"];\n\tjs = $packages[\"github.com/gopherjs/gopherjs/js\"];\n\tpoll = $packages[\"internal/poll\"];\n\tunix = $packages[\"internal/syscall/unix\"];\n\ttestlog = $packages[\"internal/testlog\"];\n\tio = $packages[\"io\"];\n\truntime = $packages[\"runtime\"];\n\tsync = $packages[\"sync\"];\n\tatomic = $packages[\"sync/atomic\"];\n\tsyscall = $packages[\"syscall\"];\n\ttime = $packages[\"time\"];\n\ttimeout = $pkg.timeout = $newType(8, $kindInterface, \"os.timeout\", true, \"os\", false, null);\n\tPathError = $pkg.PathError = $newType(0, $kindStruct, \"os.PathError\", true, \"os\", true, function(Op_, Path_, Err_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Op = \"\";\n\t\t\tthis.Path = \"\";\n\t\t\tthis.Err = $ifaceNil;\n\t\t\treturn;\n\t\t}\n\t\tthis.Op = Op_;\n\t\tthis.Path = Path_;\n\t\tthis.Err = Err_;\n\t});\n\tSyscallError = $pkg.SyscallError = $newType(0, $kindStruct, \"os.SyscallError\", true, \"os\", true, function(Syscall_, Err_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Syscall = \"\";\n\t\t\tthis.Err = $ifaceNil;\n\t\t\treturn;\n\t\t}\n\t\tthis.Syscall = Syscall_;\n\t\tthis.Err = Err_;\n\t});\n\tProcess = $pkg.Process = $newType(0, $kindStruct, \"os.Process\", true, \"os\", true, function(Pid_, handle_, isdone_, sigMu_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Pid = 0;\n\t\t\tthis.handle = 0;\n\t\t\tthis.isdone = 0;\n\t\t\tthis.sigMu = new sync.RWMutex.ptr(new sync.Mutex.ptr(0, 0), 0, 0, 0, 0);\n\t\t\treturn;\n\t\t}\n\t\tthis.Pid = Pid_;\n\t\tthis.handle = handle_;\n\t\tthis.isdone = isdone_;\n\t\tthis.sigMu = sigMu_;\n\t});\n\tProcAttr = $pkg.ProcAttr = $newType(0, $kindStruct, \"os.ProcAttr\", true, \"os\", true, function(Dir_, Env_, Files_, Sys_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Dir = \"\";\n\t\t\tthis.Env = sliceType.nil;\n\t\t\tthis.Files = sliceType$8.nil;\n\t\t\tthis.Sys = ptrType$8.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.Dir = Dir_;\n\t\tthis.Env = Env_;\n\t\tthis.Files = Files_;\n\t\tthis.Sys = Sys_;\n\t});\n\tSignal = $pkg.Signal = $newType(8, $kindInterface, \"os.Signal\", true, \"os\", true, null);\n\tProcessState = $pkg.ProcessState = $newType(0, $kindStruct, \"os.ProcessState\", true, \"os\", true, function(pid_, status_, rusage_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.pid = 0;\n\t\t\tthis.status = 0;\n\t\t\tthis.rusage = ptrType$11.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.pid = pid_;\n\t\tthis.status = status_;\n\t\tthis.rusage = rusage_;\n\t});\n\tLinkError = $pkg.LinkError = $newType(0, $kindStruct, \"os.LinkError\", true, \"os\", true, function(Op_, Old_, New_, Err_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Op = \"\";\n\t\t\tthis.Old = \"\";\n\t\t\tthis.New = \"\";\n\t\t\tthis.Err = $ifaceNil;\n\t\t\treturn;\n\t\t}\n\t\tthis.Op = Op_;\n\t\tthis.Old = Old_;\n\t\tthis.New = New_;\n\t\tthis.Err = Err_;\n\t});\n\tfile = $pkg.file = $newType(0, $kindStruct, \"os.file\", true, \"os\", false, function(pfd_, name_, dirinfo_, nonblock_, stdoutOrErr_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.pfd = new poll.FD.ptr(new poll.fdMutex.ptr(new $Uint64(0, 0), 0, 0), 0, new poll.pollDesc.ptr(false), ptrType$12.nil, 0, 0, false, false, false);\n\t\t\tthis.name = \"\";\n\t\t\tthis.dirinfo = ptrType$1.nil;\n\t\t\tthis.nonblock = false;\n\t\t\tthis.stdoutOrErr = false;\n\t\t\treturn;\n\t\t}\n\t\tthis.pfd = pfd_;\n\t\tthis.name = name_;\n\t\tthis.dirinfo = dirinfo_;\n\t\tthis.nonblock = nonblock_;\n\t\tthis.stdoutOrErr = stdoutOrErr_;\n\t});\n\tdirInfo = $pkg.dirInfo = $newType(0, $kindStruct, \"os.dirInfo\", true, \"os\", false, function(buf_, nbuf_, bufp_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.buf = sliceType$2.nil;\n\t\t\tthis.nbuf = 0;\n\t\t\tthis.bufp = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.buf = buf_;\n\t\tthis.nbuf = nbuf_;\n\t\tthis.bufp = bufp_;\n\t});\n\tFile = $pkg.File = $newType(0, $kindStruct, \"os.File\", true, \"os\", true, function(file_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.file = ptrType$13.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.file = file_;\n\t});\n\tFileInfo = $pkg.FileInfo = $newType(8, $kindInterface, \"os.FileInfo\", true, \"os\", true, null);\n\tFileMode = $pkg.FileMode = $newType(4, $kindUint32, \"os.FileMode\", true, \"os\", true, null);\n\tfileStat = $pkg.fileStat = $newType(0, $kindStruct, \"os.fileStat\", true, \"os\", false, function(name_, size_, mode_, modTime_, sys_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.name = \"\";\n\t\t\tthis.size = new $Int64(0, 0);\n\t\t\tthis.mode = 0;\n\t\t\tthis.modTime = new time.Time.ptr(new $Uint64(0, 0), new $Int64(0, 0), ptrType$15.nil);\n\t\t\tthis.sys = new syscall.Stat_t.ptr(new $Uint64(0, 0), new $Uint64(0, 0), new $Uint64(0, 0), 0, 0, 0, 0, new $Uint64(0, 0), new $Int64(0, 0), new $Int64(0, 0), new $Int64(0, 0), new syscall.Timespec.ptr(new $Int64(0, 0), new $Int64(0, 0)), new syscall.Timespec.ptr(new $Int64(0, 0), new $Int64(0, 0)), new syscall.Timespec.ptr(new $Int64(0, 0), new $Int64(0, 0)), arrayType$1.zero());\n\t\t\treturn;\n\t\t}\n\t\tthis.name = name_;\n\t\tthis.size = size_;\n\t\tthis.mode = mode_;\n\t\tthis.modTime = modTime_;\n\t\tthis.sys = sys_;\n\t});\n\tstructType = $structType(\"os\", [{prop: \"Mutex\", name: \"Mutex\", embedded: true, exported: true, typ: sync.Mutex, tag: \"\"}, {prop: \"dir\", name: \"dir\", embedded: false, exported: false, typ: $String, tag: \"\"}]);\n\tsliceType = $sliceType($String);\n\tptrType = $ptrType(File);\n\tsliceType$1 = $sliceType(FileInfo);\n\tptrType$1 = $ptrType(dirInfo);\n\tsliceType$2 = $sliceType($Uint8);\n\tptrType$2 = $ptrType(PathError);\n\tptrType$3 = $ptrType(LinkError);\n\tptrType$4 = $ptrType(SyscallError);\n\tptrType$5 = $ptrType(Process);\n\tfuncType = $funcType([ptrType$5], [$error], false);\n\tptrType$6 = $ptrType($Uint32);\n\tptrType$7 = $ptrType(ProcAttr);\n\tptrType$8 = $ptrType(syscall.SysProcAttr);\n\tsliceType$3 = $sliceType($Uintptr);\n\tptrType$9 = $ptrType(ProcessState);\n\tptrType$10 = $ptrType(syscall.WaitStatus);\n\tptrType$11 = $ptrType(syscall.Rusage);\n\tsliceType$5 = $sliceType(syscall.Iovec);\n\tptrType$12 = $ptrType(sliceType$5);\n\tarrayType$1 = $arrayType($Int64, 3);\n\tptrType$13 = $ptrType(file);\n\tfuncType$1 = $funcType([ptrType$13], [$error], false);\n\tarrayType$2 = $arrayType($Int, 2);\n\tsliceType$6 = $sliceType($Int);\n\tptrType$15 = $ptrType(time.Location);\n\tarrayType$3 = $arrayType($Uint8, 20);\n\tarrayType$6 = $arrayType($Uint8, 32);\n\tptrType$16 = $ptrType(fileStat);\n\tarrayType$7 = $arrayType($Uint64, 16);\n\tptrType$17 = $ptrType($Uint64);\n\tsliceType$8 = $sliceType(ptrType);\n\truntime_args = function() {\n\t\treturn $pkg.Args;\n\t};\n\tinit = function() {\n\t\tvar argv, i, process;\n\t\tprocess = $global.process;\n\t\tif (!(process === undefined)) {\n\t\t\targv = process.argv;\n\t\t\t$pkg.Args = $makeSlice(sliceType, ($parseInt(argv.length) - 1 >> 0));\n\t\t\ti = 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(i < ($parseInt(argv.length) - 1 >> 0))) { break; }\n\t\t\t\t((i < 0 || i >= $pkg.Args.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : $pkg.Args.$array[$pkg.Args.$offset + i] = $internalize(argv[(i + 1 >> 0)], $String));\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t}\n\t\t}\n\t\tif ($pkg.Args.$length === 0) {\n\t\t\t$pkg.Args = new sliceType([\"?\"]);\n\t\t}\n\t};\n\truntime_beforeExit = function() {\n\t};\n\tFile.ptr.prototype.Readdir = function(n) {\n\t\tvar _r, f, n, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; f = $f.f; n = $f.n; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tf = this;\n\t\tif (f === ptrType.nil) {\n\t\t\t$s = -1; return [sliceType$1.nil, $pkg.ErrInvalid];\n\t\t}\n\t\t_r = f.readdir(n); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: File.ptr.prototype.Readdir }; } $f._r = _r; $f.f = f; $f.n = n; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFile.prototype.Readdir = function(n) { return this.$val.Readdir(n); };\n\tFile.ptr.prototype.Readdirnames = function(n) {\n\t\tvar _r, _tmp, _tmp$1, _tuple, err, f, n, names, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tuple = $f._tuple; err = $f.err; f = $f.f; n = $f.n; names = $f.names; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tnames = sliceType.nil;\n\t\terr = $ifaceNil;\n\t\tf = this;\n\t\tif (f === ptrType.nil) {\n\t\t\t_tmp = sliceType.nil;\n\t\t\t_tmp$1 = $pkg.ErrInvalid;\n\t\t\tnames = _tmp;\n\t\t\terr = _tmp$1;\n\t\t\t$s = -1; return [names, err];\n\t\t}\n\t\t_r = f.readdirnames(n); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tnames = _tuple[0];\n\t\terr = _tuple[1];\n\t\t$s = -1; return [names, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: File.ptr.prototype.Readdirnames }; } $f._r = _r; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tuple = _tuple; $f.err = err; $f.f = f; $f.n = n; $f.names = names; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFile.prototype.Readdirnames = function(n) { return this.$val.Readdirnames(n); };\n\tFile.ptr.prototype.readdir = function(n) {\n\t\tvar _i, _r, _r$1, _ref, _tmp, _tmp$1, _tmp$2, _tmp$3, _tuple, _tuple$1, dirname, err, f, fi, filename, fip, lerr, n, names, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _r = $f._r; _r$1 = $f._r$1; _ref = $f._ref; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; dirname = $f.dirname; err = $f.err; f = $f.f; fi = $f.fi; filename = $f.filename; fip = $f.fip; lerr = $f.lerr; n = $f.n; names = $f.names; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tfi = sliceType$1.nil;\n\t\terr = $ifaceNil;\n\t\tf = this;\n\t\tdirname = f.file.name;\n\t\tif (dirname === \"\") {\n\t\t\tdirname = \".\";\n\t\t}\n\t\t_r = f.Readdirnames(n); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tnames = _tuple[0];\n\t\terr = _tuple[1];\n\t\tfi = $makeSlice(sliceType$1, 0, names.$length);\n\t\t_ref = names;\n\t\t_i = 0;\n\t\t/* while (true) { */ case 2:\n\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 3; continue; }\n\t\t\tfilename = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\t_r$1 = lstat(dirname + \"/\" + filename); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_tuple$1 = _r$1;\n\t\t\tfip = _tuple$1[0];\n\t\t\tlerr = _tuple$1[1];\n\t\t\tif (IsNotExist(lerr)) {\n\t\t\t\t_i++;\n\t\t\t\t/* continue; */ $s = 2; continue;\n\t\t\t}\n\t\t\tif (!($interfaceIsEqual(lerr, $ifaceNil))) {\n\t\t\t\t_tmp = fi;\n\t\t\t\t_tmp$1 = lerr;\n\t\t\t\tfi = _tmp;\n\t\t\t\terr = _tmp$1;\n\t\t\t\t$s = -1; return [fi, err];\n\t\t\t}\n\t\t\tfi = $append(fi, fip);\n\t\t\t_i++;\n\t\t/* } */ $s = 2; continue; case 3:\n\t\tif ((fi.$length === 0) && $interfaceIsEqual(err, $ifaceNil) && n > 0) {\n\t\t\terr = io.EOF;\n\t\t}\n\t\t_tmp$2 = fi;\n\t\t_tmp$3 = err;\n\t\tfi = _tmp$2;\n\t\terr = _tmp$3;\n\t\t$s = -1; return [fi, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: File.ptr.prototype.readdir }; } $f._i = _i; $f._r = _r; $f._r$1 = _r$1; $f._ref = _ref; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.dirname = dirname; $f.err = err; $f.f = f; $f.fi = fi; $f.filename = filename; $f.fip = fip; $f.lerr = lerr; $f.n = n; $f.names = names; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFile.prototype.readdir = function(n) { return this.$val.readdir(n); };\n\tFile.ptr.prototype.readdirnames = function(n) {\n\t\tvar _r, _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tuple, _tuple$1, d, err, errno, f, n, names, nb, nc, size, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; _tmp$4 = $f._tmp$4; _tmp$5 = $f._tmp$5; _tmp$6 = $f._tmp$6; _tmp$7 = $f._tmp$7; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; d = $f.d; err = $f.err; errno = $f.errno; f = $f.f; n = $f.n; names = $f.names; nb = $f.nb; nc = $f.nc; size = $f.size; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tnames = sliceType.nil;\n\t\terr = $ifaceNil;\n\t\tf = this;\n\t\tif (f.file.dirinfo === ptrType$1.nil) {\n\t\t\tf.file.dirinfo = new dirInfo.ptr(sliceType$2.nil, 0, 0);\n\t\t\tf.file.dirinfo.buf = $makeSlice(sliceType$2, 8192);\n\t\t}\n\t\td = f.file.dirinfo;\n\t\tsize = n;\n\t\tif (size <= 0) {\n\t\t\tsize = 100;\n\t\t\tn = -1;\n\t\t}\n\t\tnames = $makeSlice(sliceType, 0, size);\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(!((n === 0)))) { break; } */ if(!(!((n === 0)))) { $s = 2; continue; }\n\t\t\t/* */ if (d.bufp >= d.nbuf) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (d.bufp >= d.nbuf) { */ case 3:\n\t\t\t\td.bufp = 0;\n\t\t\t\terrno = $ifaceNil;\n\t\t\t\t_r = f.file.pfd.ReadDirent(d.buf); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t_tuple = _r;\n\t\t\t\td.nbuf = _tuple[0];\n\t\t\t\terrno = _tuple[1];\n\t\t\t\truntime.KeepAlive(f);\n\t\t\t\tif (!($interfaceIsEqual(errno, $ifaceNil))) {\n\t\t\t\t\t_tmp = names;\n\t\t\t\t\t_tmp$1 = wrapSyscallError(\"readdirent\", errno);\n\t\t\t\t\tnames = _tmp;\n\t\t\t\t\terr = _tmp$1;\n\t\t\t\t\t$s = -1; return [names, err];\n\t\t\t\t}\n\t\t\t\tif (d.nbuf <= 0) {\n\t\t\t\t\t/* break; */ $s = 2; continue;\n\t\t\t\t}\n\t\t\t/* } */ case 4:\n\t\t\t_tmp$2 = 0;\n\t\t\t_tmp$3 = 0;\n\t\t\tnb = _tmp$2;\n\t\t\tnc = _tmp$3;\n\t\t\t_tuple$1 = syscall.ParseDirent($subslice(d.buf, d.bufp, d.nbuf), n, names);\n\t\t\tnb = _tuple$1[0];\n\t\t\tnc = _tuple$1[1];\n\t\t\tnames = _tuple$1[2];\n\t\t\td.bufp = d.bufp + (nb) >> 0;\n\t\t\tn = n - (nc) >> 0;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\tif (n >= 0 && (names.$length === 0)) {\n\t\t\t_tmp$4 = names;\n\t\t\t_tmp$5 = io.EOF;\n\t\t\tnames = _tmp$4;\n\t\t\terr = _tmp$5;\n\t\t\t$s = -1; return [names, err];\n\t\t}\n\t\t_tmp$6 = names;\n\t\t_tmp$7 = $ifaceNil;\n\t\tnames = _tmp$6;\n\t\terr = _tmp$7;\n\t\t$s = -1; return [names, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: File.ptr.prototype.readdirnames }; } $f._r = _r; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f._tmp$4 = _tmp$4; $f._tmp$5 = _tmp$5; $f._tmp$6 = _tmp$6; $f._tmp$7 = _tmp$7; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.d = d; $f.err = err; $f.errno = errno; $f.f = f; $f.n = n; $f.names = names; $f.nb = nb; $f.nc = nc; $f.size = size; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFile.prototype.readdirnames = function(n) { return this.$val.readdirnames(n); };\n\tGetenv = function(key) {\n\t\tvar _r, _tuple, key, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; key = $f.key; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = testlog.Getenv(key); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_r = syscall.Getenv(key); /* */ $s = 2; case 2: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tv = _tuple[0];\n\t\t$s = -1; return v;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Getenv }; } $f._r = _r; $f._tuple = _tuple; $f.key = key; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.Getenv = Getenv;\n\tSetenv = function(key, value) {\n\t\tvar _r, err, key, value, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; err = $f.err; key = $f.key; value = $f.value; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = syscall.Setenv(key, value); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\terr = _r;\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return NewSyscallError(\"setenv\", err);\n\t\t}\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Setenv }; } $f._r = _r; $f.err = err; $f.key = key; $f.value = value; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.Setenv = Setenv;\n\tEnviron = function() {\n\t\tvar _r, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = syscall.Environ(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Environ }; } $f._r = _r; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.Environ = Environ;\n\tPathError.ptr.prototype.Error = function() {\n\t\tvar _r, e, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; e = $f.e; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\te = this;\n\t\t_r = e.Err.Error(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return e.Op + \" \" + e.Path + \": \" + _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: PathError.ptr.prototype.Error }; } $f._r = _r; $f.e = e; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tPathError.prototype.Error = function() { return this.$val.Error(); };\n\tPathError.ptr.prototype.Timeout = function() {\n\t\tvar _r, _tuple, _v, e, ok, t, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; _v = $f._v; e = $f.e; ok = $f.ok; t = $f.t; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\te = this;\n\t\t_tuple = $assertType(e.Err, timeout, true);\n\t\tt = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (!(ok)) { _v = false; $s = 1; continue s; }\n\t\t_r = t.Timeout(); /* */ $s = 2; case 2: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_v = _r; case 1:\n\t\t$s = -1; return _v;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: PathError.ptr.prototype.Timeout }; } $f._r = _r; $f._tuple = _tuple; $f._v = _v; $f.e = e; $f.ok = ok; $f.t = t; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tPathError.prototype.Timeout = function() { return this.$val.Timeout(); };\n\tSyscallError.ptr.prototype.Error = function() {\n\t\tvar _r, e, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; e = $f.e; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\te = this;\n\t\t_r = e.Err.Error(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return e.Syscall + \": \" + _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: SyscallError.ptr.prototype.Error }; } $f._r = _r; $f.e = e; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tSyscallError.prototype.Error = function() { return this.$val.Error(); };\n\tSyscallError.ptr.prototype.Timeout = function() {\n\t\tvar _r, _tuple, _v, e, ok, t, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; _v = $f._v; e = $f.e; ok = $f.ok; t = $f.t; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\te = this;\n\t\t_tuple = $assertType(e.Err, timeout, true);\n\t\tt = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (!(ok)) { _v = false; $s = 1; continue s; }\n\t\t_r = t.Timeout(); /* */ $s = 2; case 2: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_v = _r; case 1:\n\t\t$s = -1; return _v;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: SyscallError.ptr.prototype.Timeout }; } $f._r = _r; $f._tuple = _tuple; $f._v = _v; $f.e = e; $f.ok = ok; $f.t = t; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tSyscallError.prototype.Timeout = function() { return this.$val.Timeout(); };\n\tNewSyscallError = function(syscall$1, err) {\n\t\tvar err, syscall$1;\n\t\tif ($interfaceIsEqual(err, $ifaceNil)) {\n\t\t\treturn $ifaceNil;\n\t\t}\n\t\treturn new SyscallError.ptr(syscall$1, err);\n\t};\n\t$pkg.NewSyscallError = NewSyscallError;\n\tIsExist = function(err) {\n\t\tvar err;\n\t\treturn isExist(err);\n\t};\n\t$pkg.IsExist = IsExist;\n\tIsNotExist = function(err) {\n\t\tvar err;\n\t\treturn isNotExist(err);\n\t};\n\t$pkg.IsNotExist = IsNotExist;\n\tunderlyingError = function(err) {\n\t\tvar _ref, err, err$1, err$2, err$3;\n\t\t_ref = err;\n\t\tif ($assertType(_ref, ptrType$2, true)[1]) {\n\t\t\terr$1 = _ref.$val;\n\t\t\treturn err$1.Err;\n\t\t} else if ($assertType(_ref, ptrType$3, true)[1]) {\n\t\t\terr$2 = _ref.$val;\n\t\t\treturn err$2.Err;\n\t\t} else if ($assertType(_ref, ptrType$4, true)[1]) {\n\t\t\terr$3 = _ref.$val;\n\t\t\treturn err$3.Err;\n\t\t}\n\t\treturn err;\n\t};\n\twrapSyscallError = function(name, err) {\n\t\tvar _tuple, err, name, ok;\n\t\t_tuple = $assertType(err, syscall.Errno, true);\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\terr = NewSyscallError(name, err);\n\t\t}\n\t\treturn err;\n\t};\n\tisExist = function(err) {\n\t\tvar err;\n\t\terr = underlyingError(err);\n\t\treturn $interfaceIsEqual(err, new syscall.Errno(17)) || $interfaceIsEqual(err, new syscall.Errno(39)) || $interfaceIsEqual(err, $pkg.ErrExist);\n\t};\n\tisNotExist = function(err) {\n\t\tvar err;\n\t\terr = underlyingError(err);\n\t\treturn $interfaceIsEqual(err, new syscall.Errno(2)) || $interfaceIsEqual(err, $pkg.ErrNotExist);\n\t};\n\tnewProcess = function(pid, handle) {\n\t\tvar handle, p, pid;\n\t\tp = new Process.ptr(pid, handle, 0, new sync.RWMutex.ptr(new sync.Mutex.ptr(0, 0), 0, 0, 0, 0));\n\t\truntime.SetFinalizer(p, new funcType($methodExpr(ptrType$5, \"Release\")));\n\t\treturn p;\n\t};\n\tProcess.ptr.prototype.setDone = function() {\n\t\tvar p;\n\t\tp = this;\n\t\tatomic.StoreUint32((p.$ptr_isdone || (p.$ptr_isdone = new ptrType$6(function() { return this.$target.isdone; }, function($v) { this.$target.isdone = $v; }, p))), 1);\n\t};\n\tProcess.prototype.setDone = function() { return this.$val.setDone(); };\n\tProcess.ptr.prototype.done = function() {\n\t\tvar p;\n\t\tp = this;\n\t\treturn atomic.LoadUint32((p.$ptr_isdone || (p.$ptr_isdone = new ptrType$6(function() { return this.$target.isdone; }, function($v) { this.$target.isdone = $v; }, p)))) > 0;\n\t};\n\tProcess.prototype.done = function() { return this.$val.done(); };\n\tGetpid = function() {\n\t\treturn syscall.Getpid();\n\t};\n\t$pkg.Getpid = Getpid;\n\tStartProcess = function(name, argv, attr) {\n\t\tvar _r, argv, attr, name, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; argv = $f.argv; attr = $f.attr; name = $f.name; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = testlog.Open(name); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_r = startProcess(name, argv, attr); /* */ $s = 2; case 2: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: StartProcess }; } $f._r = _r; $f.argv = argv; $f.attr = attr; $f.name = name; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.StartProcess = StartProcess;\n\tProcess.ptr.prototype.Release = function() {\n\t\tvar p;\n\t\tp = this;\n\t\treturn p.release();\n\t};\n\tProcess.prototype.Release = function() { return this.$val.Release(); };\n\tProcess.ptr.prototype.Kill = function() {\n\t\tvar _r, p, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; p = $f.p; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tp = this;\n\t\t_r = p.kill(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Process.ptr.prototype.Kill }; } $f._r = _r; $f.p = p; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tProcess.prototype.Kill = function() { return this.$val.Kill(); };\n\tProcess.ptr.prototype.Wait = function() {\n\t\tvar _r, p, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; p = $f.p; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tp = this;\n\t\t_r = p.wait(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Process.ptr.prototype.Wait }; } $f._r = _r; $f.p = p; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tProcess.prototype.Wait = function() { return this.$val.Wait(); };\n\tProcess.ptr.prototype.Signal = function(sig) {\n\t\tvar _r, p, sig, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; p = $f.p; sig = $f.sig; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tp = this;\n\t\t_r = p.signal(sig); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Process.ptr.prototype.Signal }; } $f._r = _r; $f.p = p; $f.sig = sig; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tProcess.prototype.Signal = function(sig) { return this.$val.Signal(sig); };\n\tProcessState.ptr.prototype.UserTime = function() {\n\t\tvar p;\n\t\tp = this;\n\t\treturn p.userTime();\n\t};\n\tProcessState.prototype.UserTime = function() { return this.$val.UserTime(); };\n\tProcessState.ptr.prototype.SystemTime = function() {\n\t\tvar p;\n\t\tp = this;\n\t\treturn p.systemTime();\n\t};\n\tProcessState.prototype.SystemTime = function() { return this.$val.SystemTime(); };\n\tProcessState.ptr.prototype.Exited = function() {\n\t\tvar p;\n\t\tp = this;\n\t\treturn p.exited();\n\t};\n\tProcessState.prototype.Exited = function() { return this.$val.Exited(); };\n\tProcessState.ptr.prototype.Success = function() {\n\t\tvar p;\n\t\tp = this;\n\t\treturn p.success();\n\t};\n\tProcessState.prototype.Success = function() { return this.$val.Success(); };\n\tProcessState.ptr.prototype.Sys = function() {\n\t\tvar p;\n\t\tp = this;\n\t\treturn p.sys();\n\t};\n\tProcessState.prototype.Sys = function() { return this.$val.Sys(); };\n\tProcessState.ptr.prototype.SysUsage = function() {\n\t\tvar p;\n\t\tp = this;\n\t\treturn p.sysUsage();\n\t};\n\tProcessState.prototype.SysUsage = function() { return this.$val.SysUsage(); };\n\tstartProcess = function(name, argv, attr) {\n\t\tvar _i, _r, _r$1, _r$2, _r$3, _ref, _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tuple, _tuple$1, argv, attr, e, err, err$1, f, h, name, p, pe, pid, sysattr, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _ref = $f._ref; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; _tmp$4 = $f._tmp$4; _tmp$5 = $f._tmp$5; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; argv = $f.argv; attr = $f.attr; e = $f.e; err = $f.err; err$1 = $f.err$1; f = $f.f; h = $f.h; name = $f.name; p = $f.p; pe = $f.pe; pid = $f.pid; sysattr = $f.sysattr; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tp = ptrType$5.nil;\n\t\terr = $ifaceNil;\n\t\t/* */ if (!(attr === ptrType$7.nil) && attr.Sys === ptrType$8.nil && !(attr.Dir === \"\")) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!(attr === ptrType$7.nil) && attr.Sys === ptrType$8.nil && !(attr.Dir === \"\")) { */ case 1:\n\t\t\t_r = Stat(attr.Dir); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r;\n\t\t\terr$1 = _tuple[1];\n\t\t\tif (!($interfaceIsEqual(err$1, $ifaceNil))) {\n\t\t\t\tpe = $assertType(err$1, ptrType$2);\n\t\t\t\tpe.Op = \"chdir\";\n\t\t\t\t_tmp = ptrType$5.nil;\n\t\t\t\t_tmp$1 = pe;\n\t\t\t\tp = _tmp;\n\t\t\t\terr = _tmp$1;\n\t\t\t\t$s = -1; return [p, err];\n\t\t\t}\n\t\t/* } */ case 2:\n\t\tsysattr = new syscall.ProcAttr.ptr(attr.Dir, attr.Env, sliceType$3.nil, attr.Sys);\n\t\t/* */ if (sysattr.Env === sliceType.nil) { $s = 4; continue; }\n\t\t/* */ $s = 5; continue;\n\t\t/* if (sysattr.Env === sliceType.nil) { */ case 4:\n\t\t\t_r$1 = Environ(); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\tsysattr.Env = _r$1;\n\t\t/* } */ case 5:\n\t\t_ref = attr.Files;\n\t\t_i = 0;\n\t\t/* while (true) { */ case 7:\n\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 8; continue; }\n\t\t\tf = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\t_r$2 = f.Fd(); /* */ $s = 9; case 9: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\tsysattr.Files = $append(sysattr.Files, _r$2);\n\t\t\t_i++;\n\t\t/* } */ $s = 7; continue; case 8:\n\t\t_r$3 = syscall.StartProcess(name, argv, sysattr); /* */ $s = 10; case 10: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t_tuple$1 = _r$3;\n\t\tpid = _tuple$1[0];\n\t\th = _tuple$1[1];\n\t\te = _tuple$1[2];\n\t\tif (!($interfaceIsEqual(e, $ifaceNil))) {\n\t\t\t_tmp$2 = ptrType$5.nil;\n\t\t\t_tmp$3 = new PathError.ptr(\"fork/exec\", name, e);\n\t\t\tp = _tmp$2;\n\t\t\terr = _tmp$3;\n\t\t\t$s = -1; return [p, err];\n\t\t}\n\t\t_tmp$4 = newProcess(pid, h);\n\t\t_tmp$5 = $ifaceNil;\n\t\tp = _tmp$4;\n\t\terr = _tmp$5;\n\t\t$s = -1; return [p, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: startProcess }; } $f._i = _i; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._ref = _ref; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f._tmp$4 = _tmp$4; $f._tmp$5 = _tmp$5; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.argv = argv; $f.attr = attr; $f.e = e; $f.err = err; $f.err$1 = err$1; $f.f = f; $f.h = h; $f.name = name; $f.p = p; $f.pe = pe; $f.pid = pid; $f.sysattr = sysattr; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tProcess.ptr.prototype.kill = function() {\n\t\tvar _r, p, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; p = $f.p; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tp = this;\n\t\t_r = p.Signal($pkg.Kill); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Process.ptr.prototype.kill }; } $f._r = _r; $f.p = p; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tProcess.prototype.kill = function() { return this.$val.kill(); };\n\tProcessState.ptr.prototype.Pid = function() {\n\t\tvar p;\n\t\tp = this;\n\t\treturn p.pid;\n\t};\n\tProcessState.prototype.Pid = function() { return this.$val.Pid(); };\n\tProcessState.ptr.prototype.exited = function() {\n\t\tvar p;\n\t\tp = this;\n\t\treturn new syscall.WaitStatus(p.status).Exited();\n\t};\n\tProcessState.prototype.exited = function() { return this.$val.exited(); };\n\tProcessState.ptr.prototype.success = function() {\n\t\tvar p;\n\t\tp = this;\n\t\treturn new syscall.WaitStatus(p.status).ExitStatus() === 0;\n\t};\n\tProcessState.prototype.success = function() { return this.$val.success(); };\n\tProcessState.ptr.prototype.sys = function() {\n\t\tvar p;\n\t\tp = this;\n\t\treturn new syscall.WaitStatus(p.status);\n\t};\n\tProcessState.prototype.sys = function() { return this.$val.sys(); };\n\tProcessState.ptr.prototype.sysUsage = function() {\n\t\tvar p;\n\t\tp = this;\n\t\treturn p.rusage;\n\t};\n\tProcessState.prototype.sysUsage = function() { return this.$val.sysUsage(); };\n\tProcessState.ptr.prototype.String = function() {\n\t\tvar p, res, status;\n\t\tp = this;\n\t\tif (p === ptrType$9.nil) {\n\t\t\treturn \"<nil>\";\n\t\t}\n\t\tstatus = $assertType(p.Sys(), syscall.WaitStatus);\n\t\tres = \"\";\n\t\tif (new syscall.WaitStatus(status).Exited()) {\n\t\t\tres = \"exit status \" + itoa(new syscall.WaitStatus(status).ExitStatus());\n\t\t} else if (new syscall.WaitStatus(status).Signaled()) {\n\t\t\tres = \"signal: \" + new syscall.Signal(new syscall.WaitStatus(status).Signal()).String();\n\t\t} else if (new syscall.WaitStatus(status).Stopped()) {\n\t\t\tres = \"stop signal: \" + new syscall.Signal(new syscall.WaitStatus(status).StopSignal()).String();\n\t\t\tif ((new syscall.WaitStatus(status).StopSignal() === 5) && !((new syscall.WaitStatus(status).TrapCause() === 0))) {\n\t\t\t\tres = res + (\" (trap \" + itoa(new syscall.WaitStatus(status).TrapCause()) + \")\");\n\t\t\t}\n\t\t} else if (new syscall.WaitStatus(status).Continued()) {\n\t\t\tres = \"continued\";\n\t\t}\n\t\tif (new syscall.WaitStatus(status).CoreDump()) {\n\t\t\tres = res + (\" (core dumped)\");\n\t\t}\n\t\treturn res;\n\t};\n\tProcessState.prototype.String = function() { return this.$val.String(); };\n\tProcess.ptr.prototype.wait = function() {\n\t\tvar _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tuple, _tuple$1, e, err, p, pid1, ps, ready, rusage, status, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; _tmp$4 = $f._tmp$4; _tmp$5 = $f._tmp$5; _tmp$6 = $f._tmp$6; _tmp$7 = $f._tmp$7; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; e = $f.e; err = $f.err; p = $f.p; pid1 = $f.pid1; ps = $f.ps; ready = $f.ready; rusage = $f.rusage; status = $f.status; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\trusage = [rusage];\n\t\tstatus = [status];\n\t\tps = ptrType$9.nil;\n\t\terr = $ifaceNil;\n\t\tp = this;\n\t\tif (p.Pid === -1) {\n\t\t\t_tmp = ptrType$9.nil;\n\t\t\t_tmp$1 = new syscall.Errno(22);\n\t\t\tps = _tmp;\n\t\t\terr = _tmp$1;\n\t\t\t$s = -1; return [ps, err];\n\t\t}\n\t\t_tuple = p.blockUntilWaitable();\n\t\tready = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t_tmp$2 = ptrType$9.nil;\n\t\t\t_tmp$3 = err;\n\t\t\tps = _tmp$2;\n\t\t\terr = _tmp$3;\n\t\t\t$s = -1; return [ps, err];\n\t\t}\n\t\t/* */ if (ready) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (ready) { */ case 1:\n\t\t\tp.setDone();\n\t\t\t$r = p.sigMu.Lock(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$r = p.sigMu.Unlock(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 2:\n\t\tstatus[0] = 0;\n\t\trusage[0] = new syscall.Rusage.ptr(new syscall.Timeval.ptr(new $Int64(0, 0), new $Int64(0, 0)), new syscall.Timeval.ptr(new $Int64(0, 0), new $Int64(0, 0)), new $Int64(0, 0), new $Int64(0, 0), new $Int64(0, 0), new $Int64(0, 0), new $Int64(0, 0), new $Int64(0, 0), new $Int64(0, 0), new $Int64(0, 0), new $Int64(0, 0), new $Int64(0, 0), new $Int64(0, 0), new $Int64(0, 0), new $Int64(0, 0), new $Int64(0, 0));\n\t\t_tuple$1 = syscall.Wait4(p.Pid, (status.$ptr || (status.$ptr = new ptrType$10(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, status))), 0, rusage[0]);\n\t\tpid1 = _tuple$1[0];\n\t\te = _tuple$1[1];\n\t\tif (!($interfaceIsEqual(e, $ifaceNil))) {\n\t\t\t_tmp$4 = ptrType$9.nil;\n\t\t\t_tmp$5 = NewSyscallError(\"wait\", e);\n\t\t\tps = _tmp$4;\n\t\t\terr = _tmp$5;\n\t\t\t$s = -1; return [ps, err];\n\t\t}\n\t\tif (!((pid1 === 0))) {\n\t\t\tp.setDone();\n\t\t}\n\t\tps = new ProcessState.ptr(pid1, status[0], rusage[0]);\n\t\t_tmp$6 = ps;\n\t\t_tmp$7 = $ifaceNil;\n\t\tps = _tmp$6;\n\t\terr = _tmp$7;\n\t\t$s = -1; return [ps, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Process.ptr.prototype.wait }; } $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f._tmp$4 = _tmp$4; $f._tmp$5 = _tmp$5; $f._tmp$6 = _tmp$6; $f._tmp$7 = _tmp$7; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.e = e; $f.err = err; $f.p = p; $f.pid1 = pid1; $f.ps = ps; $f.ready = ready; $f.rusage = rusage; $f.status = status; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tProcess.prototype.wait = function() { return this.$val.wait(); };\n\tProcess.ptr.prototype.signal = function(sig) {\n\t\tvar _tuple, e, ok, p, s, sig, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _tuple = $f._tuple; e = $f.e; ok = $f.ok; p = $f.p; s = $f.s; sig = $f.sig; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tp = this;\n\t\tif (p.Pid === -1) {\n\t\t\t$s = -1; return errors.New(\"os: process already released\");\n\t\t}\n\t\tif (p.Pid === 0) {\n\t\t\t$s = -1; return errors.New(\"os: process not initialized\");\n\t\t}\n\t\t$r = p.sigMu.RLock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$deferred.push([$methodVal(p.sigMu, \"RUnlock\"), []]);\n\t\tif (p.done()) {\n\t\t\t$s = -1; return errFinished;\n\t\t}\n\t\t_tuple = $assertType(sig, syscall.Signal, true);\n\t\ts = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (!ok) {\n\t\t\t$s = -1; return errors.New(\"os: unsupported signal type\");\n\t\t}\n\t\te = syscall.Kill(p.Pid, s);\n\t\tif (!($interfaceIsEqual(e, $ifaceNil))) {\n\t\t\tif ($interfaceIsEqual(e, new syscall.Errno(3))) {\n\t\t\t\t$s = -1; return errFinished;\n\t\t\t}\n\t\t\t$s = -1; return e;\n\t\t}\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return $ifaceNil; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: Process.ptr.prototype.signal }; } $f._tuple = _tuple; $f.e = e; $f.ok = ok; $f.p = p; $f.s = s; $f.sig = sig; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tProcess.prototype.signal = function(sig) { return this.$val.signal(sig); };\n\tProcess.ptr.prototype.release = function() {\n\t\tvar p;\n\t\tp = this;\n\t\tp.Pid = -1;\n\t\truntime.SetFinalizer(p, $ifaceNil);\n\t\treturn $ifaceNil;\n\t};\n\tProcess.prototype.release = function() { return this.$val.release(); };\n\tProcessState.ptr.prototype.userTime = function() {\n\t\tvar p, x;\n\t\tp = this;\n\t\treturn $mul64(((x = p.rusage.Utime.Nano(), new time.Duration(x.$high, x.$low))), new time.Duration(0, 1));\n\t};\n\tProcessState.prototype.userTime = function() { return this.$val.userTime(); };\n\tProcessState.ptr.prototype.systemTime = function() {\n\t\tvar p, x;\n\t\tp = this;\n\t\treturn $mul64(((x = p.rusage.Stime.Nano(), new time.Duration(x.$high, x.$low))), new time.Duration(0, 1));\n\t};\n\tProcessState.prototype.systemTime = function() { return this.$val.systemTime(); };\n\tFile.ptr.prototype.Name = function() {\n\t\tvar f;\n\t\tf = this;\n\t\treturn f.file.name;\n\t};\n\tFile.prototype.Name = function() { return this.$val.Name(); };\n\tLinkError.ptr.prototype.Error = function() {\n\t\tvar _r, e, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; e = $f.e; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\te = this;\n\t\t_r = e.Err.Error(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return e.Op + \" \" + e.Old + \" \" + e.New + \": \" + _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LinkError.ptr.prototype.Error }; } $f._r = _r; $f.e = e; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLinkError.prototype.Error = function() { return this.$val.Error(); };\n\tFile.ptr.prototype.Read = function(b) {\n\t\tvar _r, _tmp, _tmp$1, _tmp$2, _tmp$3, _tuple, b, e, err, err$1, f, n, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; _tuple = $f._tuple; b = $f.b; e = $f.e; err = $f.err; err$1 = $f.err$1; f = $f.f; n = $f.n; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\tf = this;\n\t\terr$1 = f.checkValid(\"read\");\n\t\tif (!($interfaceIsEqual(err$1, $ifaceNil))) {\n\t\t\t_tmp = 0;\n\t\t\t_tmp$1 = err$1;\n\t\t\tn = _tmp;\n\t\t\terr = _tmp$1;\n\t\t\t$s = -1; return [n, err];\n\t\t}\n\t\t_r = f.read(b); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tn = _tuple[0];\n\t\te = _tuple[1];\n\t\t_tmp$2 = n;\n\t\t_tmp$3 = f.wrapErr(\"read\", e);\n\t\tn = _tmp$2;\n\t\terr = _tmp$3;\n\t\t$s = -1; return [n, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: File.ptr.prototype.Read }; } $f._r = _r; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f._tuple = _tuple; $f.b = b; $f.e = e; $f.err = err; $f.err$1 = err$1; $f.f = f; $f.n = n; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFile.prototype.Read = function(b) { return this.$val.Read(b); };\n\tFile.ptr.prototype.ReadAt = function(b, off) {\n\t\tvar _r, _tmp, _tmp$1, _tmp$2, _tmp$3, _tuple, b, e, err, err$1, f, m, n, off, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; _tuple = $f._tuple; b = $f.b; e = $f.e; err = $f.err; err$1 = $f.err$1; f = $f.f; m = $f.m; n = $f.n; off = $f.off; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\tf = this;\n\t\terr$1 = f.checkValid(\"read\");\n\t\tif (!($interfaceIsEqual(err$1, $ifaceNil))) {\n\t\t\t_tmp = 0;\n\t\t\t_tmp$1 = err$1;\n\t\t\tn = _tmp;\n\t\t\terr = _tmp$1;\n\t\t\t$s = -1; return [n, err];\n\t\t}\n\t\tif ((off.$high < 0 || (off.$high === 0 && off.$low < 0))) {\n\t\t\t_tmp$2 = 0;\n\t\t\t_tmp$3 = new PathError.ptr(\"readat\", f.file.name, errors.New(\"negative offset\"));\n\t\t\tn = _tmp$2;\n\t\t\terr = _tmp$3;\n\t\t\t$s = -1; return [n, err];\n\t\t}\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(b.$length > 0)) { break; } */ if(!(b.$length > 0)) { $s = 2; continue; }\n\t\t\t_r = f.pread(b, off); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r;\n\t\t\tm = _tuple[0];\n\t\t\te = _tuple[1];\n\t\t\tif (!($interfaceIsEqual(e, $ifaceNil))) {\n\t\t\t\terr = f.wrapErr(\"read\", e);\n\t\t\t\t/* break; */ $s = 2; continue;\n\t\t\t}\n\t\t\tn = n + (m) >> 0;\n\t\t\tb = $subslice(b, m);\n\t\t\toff = (x = (new $Int64(0, m)), new $Int64(off.$high + x.$high, off.$low + x.$low));\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return [n, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: File.ptr.prototype.ReadAt }; } $f._r = _r; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f._tuple = _tuple; $f.b = b; $f.e = e; $f.err = err; $f.err$1 = err$1; $f.f = f; $f.m = m; $f.n = n; $f.off = off; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFile.prototype.ReadAt = function(b, off) { return this.$val.ReadAt(b, off); };\n\tFile.ptr.prototype.Write = function(b) {\n\t\tvar _r, _tmp, _tmp$1, _tmp$2, _tmp$3, _tuple, b, e, err, err$1, f, n, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; _tuple = $f._tuple; b = $f.b; e = $f.e; err = $f.err; err$1 = $f.err$1; f = $f.f; n = $f.n; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\tf = this;\n\t\terr$1 = f.checkValid(\"write\");\n\t\tif (!($interfaceIsEqual(err$1, $ifaceNil))) {\n\t\t\t_tmp = 0;\n\t\t\t_tmp$1 = err$1;\n\t\t\tn = _tmp;\n\t\t\terr = _tmp$1;\n\t\t\t$s = -1; return [n, err];\n\t\t}\n\t\t_r = f.write(b); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tn = _tuple[0];\n\t\te = _tuple[1];\n\t\tif (n < 0) {\n\t\t\tn = 0;\n\t\t}\n\t\tif (!((n === b.$length))) {\n\t\t\terr = io.ErrShortWrite;\n\t\t}\n\t\tepipecheck(f, e);\n\t\tif (!($interfaceIsEqual(e, $ifaceNil))) {\n\t\t\terr = f.wrapErr(\"write\", e);\n\t\t}\n\t\t_tmp$2 = n;\n\t\t_tmp$3 = err;\n\t\tn = _tmp$2;\n\t\terr = _tmp$3;\n\t\t$s = -1; return [n, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: File.ptr.prototype.Write }; } $f._r = _r; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f._tuple = _tuple; $f.b = b; $f.e = e; $f.err = err; $f.err$1 = err$1; $f.f = f; $f.n = n; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFile.prototype.Write = function(b) { return this.$val.Write(b); };\n\tFile.ptr.prototype.WriteAt = function(b, off) {\n\t\tvar _r, _tmp, _tmp$1, _tmp$2, _tmp$3, _tuple, b, e, err, err$1, f, m, n, off, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; _tuple = $f._tuple; b = $f.b; e = $f.e; err = $f.err; err$1 = $f.err$1; f = $f.f; m = $f.m; n = $f.n; off = $f.off; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\tf = this;\n\t\terr$1 = f.checkValid(\"write\");\n\t\tif (!($interfaceIsEqual(err$1, $ifaceNil))) {\n\t\t\t_tmp = 0;\n\t\t\t_tmp$1 = err$1;\n\t\t\tn = _tmp;\n\t\t\terr = _tmp$1;\n\t\t\t$s = -1; return [n, err];\n\t\t}\n\t\tif ((off.$high < 0 || (off.$high === 0 && off.$low < 0))) {\n\t\t\t_tmp$2 = 0;\n\t\t\t_tmp$3 = new PathError.ptr(\"writeat\", f.file.name, errors.New(\"negative offset\"));\n\t\t\tn = _tmp$2;\n\t\t\terr = _tmp$3;\n\t\t\t$s = -1; return [n, err];\n\t\t}\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(b.$length > 0)) { break; } */ if(!(b.$length > 0)) { $s = 2; continue; }\n\t\t\t_r = f.pwrite(b, off); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r;\n\t\t\tm = _tuple[0];\n\t\t\te = _tuple[1];\n\t\t\tif (!($interfaceIsEqual(e, $ifaceNil))) {\n\t\t\t\terr = f.wrapErr(\"write\", e);\n\t\t\t\t/* break; */ $s = 2; continue;\n\t\t\t}\n\t\t\tn = n + (m) >> 0;\n\t\t\tb = $subslice(b, m);\n\t\t\toff = (x = (new $Int64(0, m)), new $Int64(off.$high + x.$high, off.$low + x.$low));\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return [n, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: File.ptr.prototype.WriteAt }; } $f._r = _r; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f._tuple = _tuple; $f.b = b; $f.e = e; $f.err = err; $f.err$1 = err$1; $f.f = f; $f.m = m; $f.n = n; $f.off = off; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFile.prototype.WriteAt = function(b, off) { return this.$val.WriteAt(b, off); };\n\tFile.ptr.prototype.Seek = function(offset, whence) {\n\t\tvar _r, _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tuple, e, err, err$1, f, offset, r, ret, whence, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; _tmp$4 = $f._tmp$4; _tmp$5 = $f._tmp$5; _tuple = $f._tuple; e = $f.e; err = $f.err; err$1 = $f.err$1; f = $f.f; offset = $f.offset; r = $f.r; ret = $f.ret; whence = $f.whence; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tret = new $Int64(0, 0);\n\t\terr = $ifaceNil;\n\t\tf = this;\n\t\terr$1 = f.checkValid(\"seek\");\n\t\tif (!($interfaceIsEqual(err$1, $ifaceNil))) {\n\t\t\t_tmp = new $Int64(0, 0);\n\t\t\t_tmp$1 = err$1;\n\t\t\tret = _tmp;\n\t\t\terr = _tmp$1;\n\t\t\t$s = -1; return [ret, err];\n\t\t}\n\t\t_r = f.seek(offset, whence); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tr = _tuple[0];\n\t\te = _tuple[1];\n\t\tif ($interfaceIsEqual(e, $ifaceNil) && !(f.file.dirinfo === ptrType$1.nil) && !((r.$high === 0 && r.$low === 0))) {\n\t\t\te = new syscall.Errno(21);\n\t\t}\n\t\tif (!($interfaceIsEqual(e, $ifaceNil))) {\n\t\t\t_tmp$2 = new $Int64(0, 0);\n\t\t\t_tmp$3 = f.wrapErr(\"seek\", e);\n\t\t\tret = _tmp$2;\n\t\t\terr = _tmp$3;\n\t\t\t$s = -1; return [ret, err];\n\t\t}\n\t\t_tmp$4 = r;\n\t\t_tmp$5 = $ifaceNil;\n\t\tret = _tmp$4;\n\t\terr = _tmp$5;\n\t\t$s = -1; return [ret, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: File.ptr.prototype.Seek }; } $f._r = _r; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f._tmp$4 = _tmp$4; $f._tmp$5 = _tmp$5; $f._tuple = _tuple; $f.e = e; $f.err = err; $f.err$1 = err$1; $f.f = f; $f.offset = offset; $f.r = r; $f.ret = ret; $f.whence = whence; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFile.prototype.Seek = function(offset, whence) { return this.$val.Seek(offset, whence); };\n\tFile.ptr.prototype.WriteString = function(s) {\n\t\tvar _r, _tuple, err, f, n, s, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; err = $f.err; f = $f.f; n = $f.n; s = $f.s; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\tf = this;\n\t\t_r = f.Write((new sliceType$2($stringToBytes(s)))); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tn = _tuple[0];\n\t\terr = _tuple[1];\n\t\t$s = -1; return [n, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: File.ptr.prototype.WriteString }; } $f._r = _r; $f._tuple = _tuple; $f.err = err; $f.f = f; $f.n = n; $f.s = s; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFile.prototype.WriteString = function(s) { return this.$val.WriteString(s); };\n\tsetStickyBit = function(name) {\n\t\tvar _arg, _arg$1, _r, _r$1, _r$2, _tuple, err, fi, name, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _tuple = $f._tuple; err = $f.err; fi = $f.fi; name = $f.name; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = Stat(name); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tfi = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return err;\n\t\t}\n\t\t_arg = name;\n\t\t_r$1 = fi.Mode(); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_arg$1 = (_r$1 | 1048576) >>> 0;\n\t\t_r$2 = Chmod(_arg, _arg$1); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r$2;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: setStickyBit }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._tuple = _tuple; $f.err = err; $f.fi = fi; $f.name = name; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tOpen = function(name) {\n\t\tvar _r, name, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; name = $f.name; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = OpenFile(name, 0, 0); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Open }; } $f._r = _r; $f.name = name; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.Open = Open;\n\tOpenFile = function(name, flag, perm) {\n\t\tvar _r, flag, name, perm, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; flag = $f.flag; name = $f.name; perm = $f.perm; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = testlog.Open(name); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_r = openFileNolog(name, flag, perm); /* */ $s = 2; case 2: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: OpenFile }; } $f._r = _r; $f.flag = flag; $f.name = name; $f.perm = perm; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.OpenFile = OpenFile;\n\tRename = function(oldpath, newpath) {\n\t\tvar _r, newpath, oldpath, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; newpath = $f.newpath; oldpath = $f.oldpath; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = rename(oldpath, newpath); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Rename }; } $f._r = _r; $f.newpath = newpath; $f.oldpath = oldpath; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.Rename = Rename;\n\tFile.ptr.prototype.wrapErr = function(op, err) {\n\t\tvar err, f, op;\n\t\tf = this;\n\t\tif ($interfaceIsEqual(err, $ifaceNil) || $interfaceIsEqual(err, io.EOF)) {\n\t\t\treturn err;\n\t\t}\n\t\tif ($interfaceIsEqual(err, poll.ErrFileClosing)) {\n\t\t\terr = $pkg.ErrClosed;\n\t\t}\n\t\treturn new PathError.ptr(op, f.file.name, err);\n\t};\n\tFile.prototype.wrapErr = function(op, err) { return this.$val.wrapErr(op, err); };\n\tTempDir = function() {\n\t\tvar _r, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = tempDir(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: TempDir }; } $f._r = _r; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.TempDir = TempDir;\n\tChmod = function(name, mode) {\n\t\tvar mode, name;\n\t\treturn chmod(name, mode);\n\t};\n\t$pkg.Chmod = Chmod;\n\tFile.ptr.prototype.Chmod = function(mode) {\n\t\tvar _r, f, mode, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; f = $f.f; mode = $f.mode; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tf = this;\n\t\t_r = f.chmod(mode); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: File.ptr.prototype.Chmod }; } $f._r = _r; $f.f = f; $f.mode = mode; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFile.prototype.Chmod = function(mode) { return this.$val.Chmod(mode); };\n\tFile.ptr.prototype.SetDeadline = function(t) {\n\t\tvar f, t;\n\t\tf = this;\n\t\treturn f.setDeadline($clone(t, time.Time));\n\t};\n\tFile.prototype.SetDeadline = function(t) { return this.$val.SetDeadline(t); };\n\tFile.ptr.prototype.SetReadDeadline = function(t) {\n\t\tvar f, t;\n\t\tf = this;\n\t\treturn f.setReadDeadline($clone(t, time.Time));\n\t};\n\tFile.prototype.SetReadDeadline = function(t) { return this.$val.SetReadDeadline(t); };\n\tFile.ptr.prototype.SetWriteDeadline = function(t) {\n\t\tvar f, t;\n\t\tf = this;\n\t\treturn f.setWriteDeadline($clone(t, time.Time));\n\t};\n\tFile.prototype.SetWriteDeadline = function(t) { return this.$val.SetWriteDeadline(t); };\n\tsigpipe = function() {\n\t\t$throwRuntimeError(\"native function not implemented: os.sigpipe\");\n\t};\n\tsyscallMode = function(i) {\n\t\tvar i, o;\n\t\to = 0;\n\t\to = (o | (((new FileMode(i).Perm() >>> 0)))) >>> 0;\n\t\tif (!((((i & 8388608) >>> 0) === 0))) {\n\t\t\to = (o | (2048)) >>> 0;\n\t\t}\n\t\tif (!((((i & 4194304) >>> 0) === 0))) {\n\t\t\to = (o | (1024)) >>> 0;\n\t\t}\n\t\tif (!((((i & 1048576) >>> 0) === 0))) {\n\t\t\to = (o | (512)) >>> 0;\n\t\t}\n\t\treturn o;\n\t};\n\tchmod = function(name, mode) {\n\t\tvar e, mode, name;\n\t\te = syscall.Chmod(fixLongPath(name), syscallMode(mode));\n\t\tif (!($interfaceIsEqual(e, $ifaceNil))) {\n\t\t\treturn new PathError.ptr(\"chmod\", name, e);\n\t\t}\n\t\treturn $ifaceNil;\n\t};\n\tFile.ptr.prototype.chmod = function(mode) {\n\t\tvar _r, e, err, f, mode, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; e = $f.e; err = $f.err; f = $f.f; mode = $f.mode; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tf = this;\n\t\terr = f.checkValid(\"chmod\");\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return err;\n\t\t}\n\t\t_r = f.file.pfd.Fchmod(syscallMode(mode)); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\te = _r;\n\t\tif (!($interfaceIsEqual(e, $ifaceNil))) {\n\t\t\t$s = -1; return f.wrapErr(\"chmod\", e);\n\t\t}\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: File.ptr.prototype.chmod }; } $f._r = _r; $f.e = e; $f.err = err; $f.f = f; $f.mode = mode; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFile.prototype.chmod = function(mode) { return this.$val.chmod(mode); };\n\tFile.ptr.prototype.Chown = function(uid, gid) {\n\t\tvar _r, e, err, f, gid, uid, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; e = $f.e; err = $f.err; f = $f.f; gid = $f.gid; uid = $f.uid; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tf = this;\n\t\terr = f.checkValid(\"chown\");\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return err;\n\t\t}\n\t\t_r = f.file.pfd.Fchown(uid, gid); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\te = _r;\n\t\tif (!($interfaceIsEqual(e, $ifaceNil))) {\n\t\t\t$s = -1; return f.wrapErr(\"chown\", e);\n\t\t}\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: File.ptr.prototype.Chown }; } $f._r = _r; $f.e = e; $f.err = err; $f.f = f; $f.gid = gid; $f.uid = uid; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFile.prototype.Chown = function(uid, gid) { return this.$val.Chown(uid, gid); };\n\tFile.ptr.prototype.Truncate = function(size) {\n\t\tvar _r, e, err, f, size, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; e = $f.e; err = $f.err; f = $f.f; size = $f.size; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tf = this;\n\t\terr = f.checkValid(\"truncate\");\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return err;\n\t\t}\n\t\t_r = f.file.pfd.Ftruncate(size); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\te = _r;\n\t\tif (!($interfaceIsEqual(e, $ifaceNil))) {\n\t\t\t$s = -1; return f.wrapErr(\"truncate\", e);\n\t\t}\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: File.ptr.prototype.Truncate }; } $f._r = _r; $f.e = e; $f.err = err; $f.f = f; $f.size = size; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFile.prototype.Truncate = function(size) { return this.$val.Truncate(size); };\n\tFile.ptr.prototype.Sync = function() {\n\t\tvar _r, e, err, f, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; e = $f.e; err = $f.err; f = $f.f; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tf = this;\n\t\terr = f.checkValid(\"sync\");\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return err;\n\t\t}\n\t\t_r = f.file.pfd.Fsync(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\te = _r;\n\t\tif (!($interfaceIsEqual(e, $ifaceNil))) {\n\t\t\t$s = -1; return f.wrapErr(\"sync\", e);\n\t\t}\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: File.ptr.prototype.Sync }; } $f._r = _r; $f.e = e; $f.err = err; $f.f = f; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFile.prototype.Sync = function() { return this.$val.Sync(); };\n\tFile.ptr.prototype.Chdir = function() {\n\t\tvar _r, e, err, f, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; e = $f.e; err = $f.err; f = $f.f; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tf = this;\n\t\terr = f.checkValid(\"chdir\");\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return err;\n\t\t}\n\t\t_r = f.file.pfd.Fchdir(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\te = _r;\n\t\tif (!($interfaceIsEqual(e, $ifaceNil))) {\n\t\t\t$s = -1; return f.wrapErr(\"chdir\", e);\n\t\t}\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: File.ptr.prototype.Chdir }; } $f._r = _r; $f.e = e; $f.err = err; $f.f = f; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFile.prototype.Chdir = function() { return this.$val.Chdir(); };\n\tFile.ptr.prototype.setDeadline = function(t) {\n\t\tvar err, f, t;\n\t\tf = this;\n\t\terr = f.checkValid(\"SetDeadline\");\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\treturn err;\n\t\t}\n\t\treturn f.file.pfd.SetDeadline($clone(t, time.Time));\n\t};\n\tFile.prototype.setDeadline = function(t) { return this.$val.setDeadline(t); };\n\tFile.ptr.prototype.setReadDeadline = function(t) {\n\t\tvar err, f, t;\n\t\tf = this;\n\t\terr = f.checkValid(\"SetReadDeadline\");\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\treturn err;\n\t\t}\n\t\treturn f.file.pfd.SetReadDeadline($clone(t, time.Time));\n\t};\n\tFile.prototype.setReadDeadline = function(t) { return this.$val.setReadDeadline(t); };\n\tFile.ptr.prototype.setWriteDeadline = function(t) {\n\t\tvar err, f, t;\n\t\tf = this;\n\t\terr = f.checkValid(\"SetWriteDeadline\");\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\treturn err;\n\t\t}\n\t\treturn f.file.pfd.SetWriteDeadline($clone(t, time.Time));\n\t};\n\tFile.prototype.setWriteDeadline = function(t) { return this.$val.setWriteDeadline(t); };\n\tFile.ptr.prototype.checkValid = function(op) {\n\t\tvar f, op;\n\t\tf = this;\n\t\tif (f === ptrType.nil) {\n\t\t\treturn $pkg.ErrInvalid;\n\t\t}\n\t\treturn $ifaceNil;\n\t};\n\tFile.prototype.checkValid = function(op) { return this.$val.checkValid(op); };\n\tfixLongPath = function(path) {\n\t\tvar path;\n\t\treturn path;\n\t};\n\trename = function(oldname, newname) {\n\t\tvar _r, _r$1, _r$2, _tuple, _tuple$1, _tuple$2, _v, err, err$1, fi, newname, ok, oldname, pe, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; _v = $f._v; err = $f.err; err$1 = $f.err$1; fi = $f.fi; newname = $f.newname; ok = $f.ok; oldname = $f.oldname; pe = $f.pe; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = Lstat(newname); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tfi = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) { _v = false; $s = 4; continue s; }\n\t\t_r$1 = fi.IsDir(); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_v = _r$1; case 4:\n\t\t/* */ if (_v) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (_v) { */ case 2:\n\t\t\t_r$2 = Lstat(oldname); /* */ $s = 6; case 6: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t_tuple$1 = _r$2;\n\t\t\terr$1 = _tuple$1[1];\n\t\t\tif (!($interfaceIsEqual(err$1, $ifaceNil))) {\n\t\t\t\t_tuple$2 = $assertType(err$1, ptrType$2, true);\n\t\t\t\tpe = _tuple$2[0];\n\t\t\t\tok = _tuple$2[1];\n\t\t\t\tif (ok) {\n\t\t\t\t\terr$1 = pe.Err;\n\t\t\t\t}\n\t\t\t\t$s = -1; return new LinkError.ptr(\"rename\", oldname, newname, err$1);\n\t\t\t}\n\t\t\t$s = -1; return new LinkError.ptr(\"rename\", oldname, newname, new syscall.Errno(17));\n\t\t/* } */ case 3:\n\t\terr = syscall.Rename(oldname, newname);\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return new LinkError.ptr(\"rename\", oldname, newname, err);\n\t\t}\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: rename }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f._v = _v; $f.err = err; $f.err$1 = err$1; $f.fi = fi; $f.newname = newname; $f.ok = ok; $f.oldname = oldname; $f.pe = pe; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFile.ptr.prototype.Fd = function() {\n\t\tvar _r, f, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; f = $f.f; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tf = this;\n\t\tif (f === ptrType.nil) {\n\t\t\t$s = -1; return 4294967295;\n\t\t}\n\t\t/* */ if (f.file.nonblock) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (f.file.nonblock) { */ case 1:\n\t\t\t_r = f.file.pfd.SetBlocking(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_r;\n\t\t/* } */ case 2:\n\t\t$s = -1; return ((f.file.pfd.Sysfd >>> 0));\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: File.ptr.prototype.Fd }; } $f._r = _r; $f.f = f; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFile.prototype.Fd = function() { return this.$val.Fd(); };\n\tNewFile = function(fd, name) {\n\t\tvar _tuple, err, fd, kind, name, nb;\n\t\tkind = 0;\n\t\t_tuple = unix.IsNonblock(((fd >> 0)));\n\t\tnb = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif ($interfaceIsEqual(err, $ifaceNil) && nb) {\n\t\t\tkind = 3;\n\t\t}\n\t\treturn newFile(fd, name, kind);\n\t};\n\t$pkg.NewFile = NewFile;\n\tnewFile = function(fd, name, kind) {\n\t\tvar err, err$1, err$2, f, fd, fdi, kind, name, pollable, st;\n\t\tfdi = ((fd >> 0));\n\t\tif (fdi < 0) {\n\t\t\treturn ptrType.nil;\n\t\t}\n\t\tf = new File.ptr(new file.ptr(new poll.FD.ptr(new poll.fdMutex.ptr(new $Uint64(0, 0), 0, 0), fdi, new poll.pollDesc.ptr(false), ptrType$12.nil, 0, 0, true, true, false), name, ptrType$1.nil, false, (fdi === 1) || (fdi === 2)));\n\t\tpollable = (kind === 1) || (kind === 2) || (kind === 3);\n\t\tif (false && (kind === 1)) {\n\t\t\tpollable = false;\n\t\t}\n\t\tif (false && (kind === 1)) {\n\t\t\tst = new syscall.Stat_t.ptr(new $Uint64(0, 0), new $Uint64(0, 0), new $Uint64(0, 0), 0, 0, 0, 0, new $Uint64(0, 0), new $Int64(0, 0), new $Int64(0, 0), new $Int64(0, 0), new syscall.Timespec.ptr(new $Int64(0, 0), new $Int64(0, 0)), new syscall.Timespec.ptr(new $Int64(0, 0), new $Int64(0, 0)), new syscall.Timespec.ptr(new $Int64(0, 0), new $Int64(0, 0)), arrayType$1.zero());\n\t\t\terr = syscall.Fstat(fdi, st);\n\t\t\tif ($interfaceIsEqual(err, $ifaceNil) && (((st.Mode & 61440) >>> 0) === 4096)) {\n\t\t\t\tpollable = false;\n\t\t\t}\n\t\t}\n\t\terr$1 = f.file.pfd.Init(\"file\", pollable);\n\t\tif (!($interfaceIsEqual(err$1, $ifaceNil))) {\n\t\t} else if (pollable) {\n\t\t\terr$2 = syscall.SetNonblock(fdi, true);\n\t\t\tif ($interfaceIsEqual(err$2, $ifaceNil)) {\n\t\t\t\tf.file.nonblock = true;\n\t\t\t}\n\t\t}\n\t\truntime.SetFinalizer(f.file, new funcType$1($methodExpr(ptrType$13, \"close\")));\n\t\treturn f;\n\t};\n\tepipecheck = function(file$1, e) {\n\t\tvar e, file$1;\n\t\tif ($interfaceIsEqual(e, new syscall.Errno(32)) && file$1.file.stdoutOrErr) {\n\t\t\tsigpipe();\n\t\t}\n\t};\n\topenFileNolog = function(name, flag, perm) {\n\t\tvar _r, _r$1, _tuple, _tuple$1, e, err, flag, name, perm, r, setSticky, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; e = $f.e; err = $f.err; flag = $f.flag; name = $f.name; perm = $f.perm; r = $f.r; setSticky = $f.setSticky; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tsetSticky = false;\n\t\t/* */ if (false && !(((flag & 64) === 0)) && !((((perm & 1048576) >>> 0) === 0))) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (false && !(((flag & 64) === 0)) && !((((perm & 1048576) >>> 0) === 0))) { */ case 1:\n\t\t\t_r = Stat(name); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r;\n\t\t\terr = _tuple[1];\n\t\t\tif (IsNotExist(err)) {\n\t\t\t\tsetSticky = true;\n\t\t\t}\n\t\t/* } */ case 2:\n\t\tr = 0;\n\t\t/* while (true) { */ case 4:\n\t\t\te = $ifaceNil;\n\t\t\t_tuple$1 = syscall.Open(name, flag | 524288, syscallMode(perm));\n\t\t\tr = _tuple$1[0];\n\t\t\te = _tuple$1[1];\n\t\t\tif ($interfaceIsEqual(e, $ifaceNil)) {\n\t\t\t\t/* break; */ $s = 5; continue;\n\t\t\t}\n\t\t\tif (false && $interfaceIsEqual(e, new syscall.Errno(4))) {\n\t\t\t\t/* continue; */ $s = 4; continue;\n\t\t\t}\n\t\t\t$s = -1; return [ptrType.nil, new PathError.ptr(\"open\", name, e)];\n\t\t/* } */ $s = 4; continue; case 5:\n\t\t/* */ if (setSticky) { $s = 6; continue; }\n\t\t/* */ $s = 7; continue;\n\t\t/* if (setSticky) { */ case 6:\n\t\t\t_r$1 = setStickyBit(name); /* */ $s = 8; case 8: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_r$1;\n\t\t/* } */ case 7:\n\t\tif (false) {\n\t\t\tsyscall.CloseOnExec(r);\n\t\t}\n\t\t$s = -1; return [newFile(((r >>> 0)), name, 1), $ifaceNil];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: openFileNolog }; } $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.e = e; $f.err = err; $f.flag = flag; $f.name = name; $f.perm = perm; $f.r = r; $f.setSticky = setSticky; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFile.ptr.prototype.Close = function() {\n\t\tvar _r, f, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; f = $f.f; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tf = this;\n\t\tif (f === ptrType.nil) {\n\t\t\t$s = -1; return $pkg.ErrInvalid;\n\t\t}\n\t\t_r = f.file.close(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: File.ptr.prototype.Close }; } $f._r = _r; $f.f = f; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFile.prototype.Close = function() { return this.$val.Close(); };\n\tfile.ptr.prototype.close = function() {\n\t\tvar _r, e, err, file$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; e = $f.e; err = $f.err; file$1 = $f.file$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tfile$1 = this;\n\t\tif (file$1 === ptrType$13.nil) {\n\t\t\t$s = -1; return new syscall.Errno(22);\n\t\t}\n\t\terr = $ifaceNil;\n\t\t_r = file$1.pfd.Close(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\te = _r;\n\t\tif (!($interfaceIsEqual(e, $ifaceNil))) {\n\t\t\tif ($interfaceIsEqual(e, poll.ErrFileClosing)) {\n\t\t\t\te = $pkg.ErrClosed;\n\t\t\t}\n\t\t\terr = new PathError.ptr(\"close\", file$1.name, e);\n\t\t}\n\t\truntime.SetFinalizer(file$1, $ifaceNil);\n\t\t$s = -1; return err;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: file.ptr.prototype.close }; } $f._r = _r; $f.e = e; $f.err = err; $f.file$1 = file$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tfile.prototype.close = function() { return this.$val.close(); };\n\tFile.ptr.prototype.read = function(b) {\n\t\tvar _r, _tmp, _tmp$1, _tuple, b, err, f, n, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tuple = $f._tuple; b = $f.b; err = $f.err; f = $f.f; n = $f.n; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\tf = this;\n\t\t_r = f.file.pfd.Read(b); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tn = _tuple[0];\n\t\terr = _tuple[1];\n\t\truntime.KeepAlive(f);\n\t\t_tmp = n;\n\t\t_tmp$1 = err;\n\t\tn = _tmp;\n\t\terr = _tmp$1;\n\t\t$s = -1; return [n, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: File.ptr.prototype.read }; } $f._r = _r; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tuple = _tuple; $f.b = b; $f.err = err; $f.f = f; $f.n = n; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFile.prototype.read = function(b) { return this.$val.read(b); };\n\tFile.ptr.prototype.pread = function(b, off) {\n\t\tvar _r, _tmp, _tmp$1, _tuple, b, err, f, n, off, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tuple = $f._tuple; b = $f.b; err = $f.err; f = $f.f; n = $f.n; off = $f.off; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\tf = this;\n\t\t_r = f.file.pfd.Pread(b, off); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tn = _tuple[0];\n\t\terr = _tuple[1];\n\t\truntime.KeepAlive(f);\n\t\t_tmp = n;\n\t\t_tmp$1 = err;\n\t\tn = _tmp;\n\t\terr = _tmp$1;\n\t\t$s = -1; return [n, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: File.ptr.prototype.pread }; } $f._r = _r; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tuple = _tuple; $f.b = b; $f.err = err; $f.f = f; $f.n = n; $f.off = off; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFile.prototype.pread = function(b, off) { return this.$val.pread(b, off); };\n\tFile.ptr.prototype.write = function(b) {\n\t\tvar _r, _tmp, _tmp$1, _tuple, b, err, f, n, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tuple = $f._tuple; b = $f.b; err = $f.err; f = $f.f; n = $f.n; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\tf = this;\n\t\t_r = f.file.pfd.Write(b); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tn = _tuple[0];\n\t\terr = _tuple[1];\n\t\truntime.KeepAlive(f);\n\t\t_tmp = n;\n\t\t_tmp$1 = err;\n\t\tn = _tmp;\n\t\terr = _tmp$1;\n\t\t$s = -1; return [n, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: File.ptr.prototype.write }; } $f._r = _r; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tuple = _tuple; $f.b = b; $f.err = err; $f.f = f; $f.n = n; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFile.prototype.write = function(b) { return this.$val.write(b); };\n\tFile.ptr.prototype.pwrite = function(b, off) {\n\t\tvar _r, _tmp, _tmp$1, _tuple, b, err, f, n, off, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tuple = $f._tuple; b = $f.b; err = $f.err; f = $f.f; n = $f.n; off = $f.off; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\tf = this;\n\t\t_r = f.file.pfd.Pwrite(b, off); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tn = _tuple[0];\n\t\terr = _tuple[1];\n\t\truntime.KeepAlive(f);\n\t\t_tmp = n;\n\t\t_tmp$1 = err;\n\t\tn = _tmp;\n\t\terr = _tmp$1;\n\t\t$s = -1; return [n, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: File.ptr.prototype.pwrite }; } $f._r = _r; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tuple = _tuple; $f.b = b; $f.err = err; $f.f = f; $f.n = n; $f.off = off; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFile.prototype.pwrite = function(b, off) { return this.$val.pwrite(b, off); };\n\tFile.ptr.prototype.seek = function(offset, whence) {\n\t\tvar _r, _tmp, _tmp$1, _tuple, err, f, offset, ret, whence, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tuple = $f._tuple; err = $f.err; f = $f.f; offset = $f.offset; ret = $f.ret; whence = $f.whence; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tret = new $Int64(0, 0);\n\t\terr = $ifaceNil;\n\t\tf = this;\n\t\t_r = f.file.pfd.Seek(offset, whence); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tret = _tuple[0];\n\t\terr = _tuple[1];\n\t\truntime.KeepAlive(f);\n\t\t_tmp = ret;\n\t\t_tmp$1 = err;\n\t\tret = _tmp;\n\t\terr = _tmp$1;\n\t\t$s = -1; return [ret, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: File.ptr.prototype.seek }; } $f._r = _r; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tuple = _tuple; $f.err = err; $f.f = f; $f.offset = offset; $f.ret = ret; $f.whence = whence; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFile.prototype.seek = function(offset, whence) { return this.$val.seek(offset, whence); };\n\tRemove = function(name) {\n\t\tvar e, e1, name;\n\t\te = syscall.Unlink(name);\n\t\tif ($interfaceIsEqual(e, $ifaceNil)) {\n\t\t\treturn $ifaceNil;\n\t\t}\n\t\te1 = syscall.Rmdir(name);\n\t\tif ($interfaceIsEqual(e1, $ifaceNil)) {\n\t\t\treturn $ifaceNil;\n\t\t}\n\t\tif (!($interfaceIsEqual(e1, new syscall.Errno(20)))) {\n\t\t\te = e1;\n\t\t}\n\t\treturn new PathError.ptr(\"remove\", name, e);\n\t};\n\t$pkg.Remove = Remove;\n\ttempDir = function() {\n\t\tvar _r, dir, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; dir = $f.dir; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = Getenv(\"TMPDIR\"); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tdir = _r;\n\t\tif (dir === \"\") {\n\t\t\tif (false) {\n\t\t\t\tdir = \"/data/local/tmp\";\n\t\t\t} else {\n\t\t\t\tdir = \"/tmp\";\n\t\t\t}\n\t\t}\n\t\t$s = -1; return dir;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: tempDir }; } $f._r = _r; $f.dir = dir; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tGetwd = function() {\n\t\tvar _i, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _ref, _tmp, _tmp$1, _tmp$10, _tmp$11, _tmp$12, _tmp$13, _tmp$14, _tmp$15, _tmp$16, _tmp$17, _tmp$18, _tmp$19, _tmp$2, _tmp$20, _tmp$21, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, _tuple, _tuple$1, _tuple$2, _tuple$3, _tuple$4, _tuple$5, _tuple$6, _tuple$7, _tuple$8, _tuple$9, d, d$1, d$2, dir, dot, e, err, err$1, err$2, err$3, err$4, fd, name, names, parent, pd, root, s, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _ref = $f._ref; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$10 = $f._tmp$10; _tmp$11 = $f._tmp$11; _tmp$12 = $f._tmp$12; _tmp$13 = $f._tmp$13; _tmp$14 = $f._tmp$14; _tmp$15 = $f._tmp$15; _tmp$16 = $f._tmp$16; _tmp$17 = $f._tmp$17; _tmp$18 = $f._tmp$18; _tmp$19 = $f._tmp$19; _tmp$2 = $f._tmp$2; _tmp$20 = $f._tmp$20; _tmp$21 = $f._tmp$21; _tmp$3 = $f._tmp$3; _tmp$4 = $f._tmp$4; _tmp$5 = $f._tmp$5; _tmp$6 = $f._tmp$6; _tmp$7 = $f._tmp$7; _tmp$8 = $f._tmp$8; _tmp$9 = $f._tmp$9; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; _tuple$3 = $f._tuple$3; _tuple$4 = $f._tuple$4; _tuple$5 = $f._tuple$5; _tuple$6 = $f._tuple$6; _tuple$7 = $f._tuple$7; _tuple$8 = $f._tuple$8; _tuple$9 = $f._tuple$9; d = $f.d; d$1 = $f.d$1; d$2 = $f.d$2; dir = $f.dir; dot = $f.dot; e = $f.e; err = $f.err; err$1 = $f.err$1; err$2 = $f.err$2; err$3 = $f.err$3; err$4 = $f.err$4; fd = $f.fd; name = $f.name; names = $f.names; parent = $f.parent; pd = $f.pd; root = $f.root; s = $f.s; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tdir = \"\";\n\t\terr = $ifaceNil;\n\t\tif (false) {\n\t\t\t_tuple = syscall.Getwd();\n\t\t\tdir = _tuple[0];\n\t\t\terr = _tuple[1];\n\t\t\t$s = -1; return [dir, err];\n\t\t}\n\t\t_tuple$1 = statNolog(\".\");\n\t\tdot = _tuple$1[0];\n\t\terr = _tuple$1[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t_tmp = \"\";\n\t\t\t_tmp$1 = err;\n\t\t\tdir = _tmp;\n\t\t\terr = _tmp$1;\n\t\t\t$s = -1; return [dir, err];\n\t\t}\n\t\t_r = Getenv(\"PWD\"); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tdir = _r;\n\t\tif (dir.length > 0 && (dir.charCodeAt(0) === 47)) {\n\t\t\t_tuple$2 = statNolog(dir);\n\t\t\td = _tuple$2[0];\n\t\t\terr$1 = _tuple$2[1];\n\t\t\tif ($interfaceIsEqual(err$1, $ifaceNil) && SameFile(dot, d)) {\n\t\t\t\t_tmp$2 = dir;\n\t\t\t\t_tmp$3 = $ifaceNil;\n\t\t\t\tdir = _tmp$2;\n\t\t\t\terr = _tmp$3;\n\t\t\t\t$s = -1; return [dir, err];\n\t\t\t}\n\t\t}\n\t\t/* */ if (true) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (true) { */ case 2:\n\t\t\t_tuple$3 = syscall.Getwd();\n\t\t\ts = _tuple$3[0];\n\t\t\te = _tuple$3[1];\n\t\t\t_r$1 = useSyscallwd(e); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t/* */ if (_r$1) { $s = 4; continue; }\n\t\t\t/* */ $s = 5; continue;\n\t\t\t/* if (_r$1) { */ case 4:\n\t\t\t\t_tmp$4 = s;\n\t\t\t\t_tmp$5 = NewSyscallError(\"getwd\", e);\n\t\t\t\tdir = _tmp$4;\n\t\t\t\terr = _tmp$5;\n\t\t\t\t$s = -1; return [dir, err];\n\t\t\t/* } */ case 5:\n\t\t/* } */ case 3:\n\t\t$r = getwdCache.Mutex.Lock(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tdir = getwdCache.dir;\n\t\t$r = getwdCache.Mutex.Unlock(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tif (dir.length > 0) {\n\t\t\t_tuple$4 = statNolog(dir);\n\t\t\td$1 = _tuple$4[0];\n\t\t\terr$2 = _tuple$4[1];\n\t\t\tif ($interfaceIsEqual(err$2, $ifaceNil) && SameFile(dot, d$1)) {\n\t\t\t\t_tmp$6 = dir;\n\t\t\t\t_tmp$7 = $ifaceNil;\n\t\t\t\tdir = _tmp$6;\n\t\t\t\terr = _tmp$7;\n\t\t\t\t$s = -1; return [dir, err];\n\t\t\t}\n\t\t}\n\t\t_tuple$5 = statNolog(\"/\");\n\t\troot = _tuple$5[0];\n\t\terr = _tuple$5[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t_tmp$8 = \"\";\n\t\t\t_tmp$9 = err;\n\t\t\tdir = _tmp$8;\n\t\t\terr = _tmp$9;\n\t\t\t$s = -1; return [dir, err];\n\t\t}\n\t\tif (SameFile(root, dot)) {\n\t\t\t_tmp$10 = \"/\";\n\t\t\t_tmp$11 = $ifaceNil;\n\t\t\tdir = _tmp$10;\n\t\t\terr = _tmp$11;\n\t\t\t$s = -1; return [dir, err];\n\t\t}\n\t\tdir = \"\";\n\t\tparent = \"..\";\n\t\t/* while (true) { */ case 9:\n\t\t\tif (parent.length >= 1024) {\n\t\t\t\t_tmp$12 = \"\";\n\t\t\t\t_tmp$13 = new syscall.Errno(36);\n\t\t\t\tdir = _tmp$12;\n\t\t\t\terr = _tmp$13;\n\t\t\t\t$s = -1; return [dir, err];\n\t\t\t}\n\t\t\t_r$2 = openFileNolog(parent, 0, 0); /* */ $s = 11; case 11: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t_tuple$6 = _r$2;\n\t\t\tfd = _tuple$6[0];\n\t\t\terr$3 = _tuple$6[1];\n\t\t\tif (!($interfaceIsEqual(err$3, $ifaceNil))) {\n\t\t\t\t_tmp$14 = \"\";\n\t\t\t\t_tmp$15 = err$3;\n\t\t\t\tdir = _tmp$14;\n\t\t\t\terr = _tmp$15;\n\t\t\t\t$s = -1; return [dir, err];\n\t\t\t}\n\t\t\t/* while (true) { */ case 12:\n\t\t\t\t_r$3 = fd.Readdirnames(100); /* */ $s = 14; case 14: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t_tuple$7 = _r$3;\n\t\t\t\tnames = _tuple$7[0];\n\t\t\t\terr$4 = _tuple$7[1];\n\t\t\t\t/* */ if (!($interfaceIsEqual(err$4, $ifaceNil))) { $s = 15; continue; }\n\t\t\t\t/* */ $s = 16; continue;\n\t\t\t\t/* if (!($interfaceIsEqual(err$4, $ifaceNil))) { */ case 15:\n\t\t\t\t\t_r$4 = fd.Close(); /* */ $s = 17; case 17: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\t\t_r$4;\n\t\t\t\t\t_tmp$16 = \"\";\n\t\t\t\t\t_tmp$17 = err$4;\n\t\t\t\t\tdir = _tmp$16;\n\t\t\t\t\terr = _tmp$17;\n\t\t\t\t\t$s = -1; return [dir, err];\n\t\t\t\t/* } */ case 16:\n\t\t\t\t_ref = names;\n\t\t\t\t_i = 0;\n\t\t\t\t/* while (true) { */ case 18:\n\t\t\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 19; continue; }\n\t\t\t\t\tname = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\t\t\t_tuple$8 = lstatNolog(parent + \"/\" + name);\n\t\t\t\t\td$2 = _tuple$8[0];\n\t\t\t\t\t/* */ if (SameFile(d$2, dot)) { $s = 20; continue; }\n\t\t\t\t\t/* */ $s = 21; continue;\n\t\t\t\t\t/* if (SameFile(d$2, dot)) { */ case 20:\n\t\t\t\t\t\tdir = \"/\" + name + dir;\n\t\t\t\t\t\t/* goto Found */ $s = 22; continue;\n\t\t\t\t\t/* } */ case 21:\n\t\t\t\t\t_i++;\n\t\t\t\t/* } */ $s = 18; continue; case 19:\n\t\t\t/* } */ $s = 12; continue; case 13:\n\t\t\t/* Found: */ case 22:\n\t\t\t_r$5 = fd.Stat(); /* */ $s = 23; case 23: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t_tuple$9 = _r$5;\n\t\t\tpd = _tuple$9[0];\n\t\t\terr$3 = _tuple$9[1];\n\t\t\tif (!($interfaceIsEqual(err$3, $ifaceNil))) {\n\t\t\t\t_tmp$18 = \"\";\n\t\t\t\t_tmp$19 = err$3;\n\t\t\t\tdir = _tmp$18;\n\t\t\t\terr = _tmp$19;\n\t\t\t\t$s = -1; return [dir, err];\n\t\t\t}\n\t\t\t_r$6 = fd.Close(); /* */ $s = 24; case 24: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t\t_r$6;\n\t\t\tif (SameFile(pd, root)) {\n\t\t\t\t/* break; */ $s = 10; continue;\n\t\t\t}\n\t\t\tdot = pd;\n\t\t\tparent = \"../\" + parent;\n\t\t/* } */ $s = 9; continue; case 10:\n\t\t$r = getwdCache.Mutex.Lock(); /* */ $s = 25; case 25: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tgetwdCache.dir = dir;\n\t\t$r = getwdCache.Mutex.Unlock(); /* */ $s = 26; case 26: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_tmp$20 = dir;\n\t\t_tmp$21 = $ifaceNil;\n\t\tdir = _tmp$20;\n\t\terr = _tmp$21;\n\t\t$s = -1; return [dir, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Getwd }; } $f._i = _i; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._ref = _ref; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$10 = _tmp$10; $f._tmp$11 = _tmp$11; $f._tmp$12 = _tmp$12; $f._tmp$13 = _tmp$13; $f._tmp$14 = _tmp$14; $f._tmp$15 = _tmp$15; $f._tmp$16 = _tmp$16; $f._tmp$17 = _tmp$17; $f._tmp$18 = _tmp$18; $f._tmp$19 = _tmp$19; $f._tmp$2 = _tmp$2; $f._tmp$20 = _tmp$20; $f._tmp$21 = _tmp$21; $f._tmp$3 = _tmp$3; $f._tmp$4 = _tmp$4; $f._tmp$5 = _tmp$5; $f._tmp$6 = _tmp$6; $f._tmp$7 = _tmp$7; $f._tmp$8 = _tmp$8; $f._tmp$9 = _tmp$9; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f._tuple$3 = _tuple$3; $f._tuple$4 = _tuple$4; $f._tuple$5 = _tuple$5; $f._tuple$6 = _tuple$6; $f._tuple$7 = _tuple$7; $f._tuple$8 = _tuple$8; $f._tuple$9 = _tuple$9; $f.d = d; $f.d$1 = d$1; $f.d$2 = d$2; $f.dir = dir; $f.dot = dot; $f.e = e; $f.err = err; $f.err$1 = err$1; $f.err$2 = err$2; $f.err$3 = err$3; $f.err$4 = err$4; $f.fd = fd; $f.name = name; $f.names = names; $f.parent = parent; $f.pd = pd; $f.root = root; $f.s = s; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.Getwd = Getwd;\n\tIsPathSeparator = function(c) {\n\t\tvar c;\n\t\treturn 47 === c;\n\t};\n\t$pkg.IsPathSeparator = IsPathSeparator;\n\tbasename = function(name) {\n\t\tvar i, name;\n\t\ti = name.length - 1 >> 0;\n\t\twhile (true) {\n\t\t\tif (!(i > 0 && (name.charCodeAt(i) === 47))) { break; }\n\t\t\tname = $substring(name, 0, i);\n\t\t\ti = i - (1) >> 0;\n\t\t}\n\t\ti = i - (1) >> 0;\n\t\twhile (true) {\n\t\t\tif (!(i >= 0)) { break; }\n\t\t\tif (name.charCodeAt(i) === 47) {\n\t\t\t\tname = $substring(name, (i + 1 >> 0));\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\ti = i - (1) >> 0;\n\t\t}\n\t\treturn name;\n\t};\n\tPipe = function() {\n\t\tvar _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, e, err, p, r, w, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; _tmp$4 = $f._tmp$4; _tmp$5 = $f._tmp$5; _tmp$6 = $f._tmp$6; _tmp$7 = $f._tmp$7; _tmp$8 = $f._tmp$8; e = $f.e; err = $f.err; p = $f.p; r = $f.r; w = $f.w; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tr = ptrType.nil;\n\t\tw = ptrType.nil;\n\t\terr = $ifaceNil;\n\t\tp = arrayType$2.zero();\n\t\te = syscall.Pipe2($subslice(new sliceType$6(p), 0), 524288);\n\t\t/* */ if ($interfaceIsEqual(e, new syscall.Errno(38))) { $s = 1; continue; }\n\t\t/* */ if (!($interfaceIsEqual(e, $ifaceNil))) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if ($interfaceIsEqual(e, new syscall.Errno(38))) { */ case 1:\n\t\t\t$r = syscall.ForkLock.RLock(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\te = syscall.Pipe($subslice(new sliceType$6(p), 0));\n\t\t\t/* */ if (!($interfaceIsEqual(e, $ifaceNil))) { $s = 5; continue; }\n\t\t\t/* */ $s = 6; continue;\n\t\t\t/* if (!($interfaceIsEqual(e, $ifaceNil))) { */ case 5:\n\t\t\t\t$r = syscall.ForkLock.RUnlock(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t_tmp = ptrType.nil;\n\t\t\t\t_tmp$1 = ptrType.nil;\n\t\t\t\t_tmp$2 = NewSyscallError(\"pipe\", e);\n\t\t\t\tr = _tmp;\n\t\t\t\tw = _tmp$1;\n\t\t\t\terr = _tmp$2;\n\t\t\t\t$s = -1; return [r, w, err];\n\t\t\t/* } */ case 6:\n\t\t\tsyscall.CloseOnExec(p[0]);\n\t\t\tsyscall.CloseOnExec(p[1]);\n\t\t\t$r = syscall.ForkLock.RUnlock(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 3; continue;\n\t\t/* } else if (!($interfaceIsEqual(e, $ifaceNil))) { */ case 2:\n\t\t\t_tmp$3 = ptrType.nil;\n\t\t\t_tmp$4 = ptrType.nil;\n\t\t\t_tmp$5 = NewSyscallError(\"pipe2\", e);\n\t\t\tr = _tmp$3;\n\t\t\tw = _tmp$4;\n\t\t\terr = _tmp$5;\n\t\t\t$s = -1; return [r, w, err];\n\t\t/* } */ case 3:\n\t\t_tmp$6 = newFile(((p[0] >>> 0)), \"|0\", 2);\n\t\t_tmp$7 = newFile(((p[1] >>> 0)), \"|1\", 2);\n\t\t_tmp$8 = $ifaceNil;\n\t\tr = _tmp$6;\n\t\tw = _tmp$7;\n\t\terr = _tmp$8;\n\t\t$s = -1; return [r, w, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Pipe }; } $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f._tmp$4 = _tmp$4; $f._tmp$5 = _tmp$5; $f._tmp$6 = _tmp$6; $f._tmp$7 = _tmp$7; $f._tmp$8 = _tmp$8; $f.e = e; $f.err = err; $f.p = p; $f.r = r; $f.w = w; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.Pipe = Pipe;\n\tinit$1 = function() {\n\t\tif (false) {\n\t\t\treturn;\n\t\t}\n\t\t$pkg.Args = runtime_args();\n\t};\n\tExit = function(code) {\n\t\tvar code;\n\t\tif (code === 0) {\n\t\t\truntime_beforeExit();\n\t\t}\n\t\tsyscall.Exit(code);\n\t};\n\t$pkg.Exit = Exit;\n\tStat = function(name) {\n\t\tvar name, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; name = $f.name; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = testlog.Stat(name); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return statNolog(name);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Stat }; } $f.name = name; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.Stat = Stat;\n\tLstat = function(name) {\n\t\tvar name, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; name = $f.name; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = testlog.Stat(name); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return lstatNolog(name);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Lstat }; } $f.name = name; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.Lstat = Lstat;\n\tfillFileStatFromSys = function(fs, name) {\n\t\tvar _1, fs, name;\n\t\tfs.name = basename(name);\n\t\tfs.size = fs.sys.Size;\n\t\ttime.Time.copy(fs.modTime, timespecToTime($clone(fs.sys.Mtim, syscall.Timespec)));\n\t\tfs.mode = ((((fs.sys.Mode & 511) >>> 0) >>> 0));\n\t\t_1 = (fs.sys.Mode & 61440) >>> 0;\n\t\tif (_1 === (24576)) {\n\t\t\tfs.mode = (fs.mode | (67108864)) >>> 0;\n\t\t} else if (_1 === (8192)) {\n\t\t\tfs.mode = (fs.mode | (69206016)) >>> 0;\n\t\t} else if (_1 === (16384)) {\n\t\t\tfs.mode = (fs.mode | (2147483648)) >>> 0;\n\t\t} else if (_1 === (4096)) {\n\t\t\tfs.mode = (fs.mode | (33554432)) >>> 0;\n\t\t} else if (_1 === (40960)) {\n\t\t\tfs.mode = (fs.mode | (134217728)) >>> 0;\n\t\t} else if (_1 === (32768)) {\n\t\t} else if (_1 === (49152)) {\n\t\t\tfs.mode = (fs.mode | (16777216)) >>> 0;\n\t\t}\n\t\tif (!((((fs.sys.Mode & 1024) >>> 0) === 0))) {\n\t\t\tfs.mode = (fs.mode | (4194304)) >>> 0;\n\t\t}\n\t\tif (!((((fs.sys.Mode & 2048) >>> 0) === 0))) {\n\t\t\tfs.mode = (fs.mode | (8388608)) >>> 0;\n\t\t}\n\t\tif (!((((fs.sys.Mode & 512) >>> 0) === 0))) {\n\t\t\tfs.mode = (fs.mode | (1048576)) >>> 0;\n\t\t}\n\t};\n\ttimespecToTime = function(ts) {\n\t\tvar ts;\n\t\treturn time.Unix((ts.Sec), (ts.Nsec));\n\t};\n\tFile.ptr.prototype.Stat = function() {\n\t\tvar _r, err, f, fs, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; err = $f.err; f = $f.f; fs = $f.fs; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tfs = [fs];\n\t\tf = this;\n\t\tif (f === ptrType.nil) {\n\t\t\t$s = -1; return [$ifaceNil, $pkg.ErrInvalid];\n\t\t}\n\t\tfs[0] = new fileStat.ptr(\"\", new $Int64(0, 0), 0, new time.Time.ptr(new $Uint64(0, 0), new $Int64(0, 0), ptrType$15.nil), new syscall.Stat_t.ptr(new $Uint64(0, 0), new $Uint64(0, 0), new $Uint64(0, 0), 0, 0, 0, 0, new $Uint64(0, 0), new $Int64(0, 0), new $Int64(0, 0), new $Int64(0, 0), new syscall.Timespec.ptr(new $Int64(0, 0), new $Int64(0, 0)), new syscall.Timespec.ptr(new $Int64(0, 0), new $Int64(0, 0)), new syscall.Timespec.ptr(new $Int64(0, 0), new $Int64(0, 0)), arrayType$1.zero()));\n\t\t_r = f.file.pfd.Fstat(fs[0].sys); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\terr = _r;\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return [$ifaceNil, new PathError.ptr(\"stat\", f.file.name, err)];\n\t\t}\n\t\tfillFileStatFromSys(fs[0], f.file.name);\n\t\t$s = -1; return [fs[0], $ifaceNil];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: File.ptr.prototype.Stat }; } $f._r = _r; $f.err = err; $f.f = f; $f.fs = fs; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFile.prototype.Stat = function() { return this.$val.Stat(); };\n\tstatNolog = function(name) {\n\t\tvar err, fs, name;\n\t\tfs = new fileStat.ptr(\"\", new $Int64(0, 0), 0, new time.Time.ptr(new $Uint64(0, 0), new $Int64(0, 0), ptrType$15.nil), new syscall.Stat_t.ptr(new $Uint64(0, 0), new $Uint64(0, 0), new $Uint64(0, 0), 0, 0, 0, 0, new $Uint64(0, 0), new $Int64(0, 0), new $Int64(0, 0), new $Int64(0, 0), new syscall.Timespec.ptr(new $Int64(0, 0), new $Int64(0, 0)), new syscall.Timespec.ptr(new $Int64(0, 0), new $Int64(0, 0)), new syscall.Timespec.ptr(new $Int64(0, 0), new $Int64(0, 0)), arrayType$1.zero()));\n\t\terr = syscall.Stat(name, fs.sys);\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\treturn [$ifaceNil, new PathError.ptr(\"stat\", name, err)];\n\t\t}\n\t\tfillFileStatFromSys(fs, name);\n\t\treturn [fs, $ifaceNil];\n\t};\n\tlstatNolog = function(name) {\n\t\tvar err, fs, name;\n\t\tfs = new fileStat.ptr(\"\", new $Int64(0, 0), 0, new time.Time.ptr(new $Uint64(0, 0), new $Int64(0, 0), ptrType$15.nil), new syscall.Stat_t.ptr(new $Uint64(0, 0), new $Uint64(0, 0), new $Uint64(0, 0), 0, 0, 0, 0, new $Uint64(0, 0), new $Int64(0, 0), new $Int64(0, 0), new $Int64(0, 0), new syscall.Timespec.ptr(new $Int64(0, 0), new $Int64(0, 0)), new syscall.Timespec.ptr(new $Int64(0, 0), new $Int64(0, 0)), new syscall.Timespec.ptr(new $Int64(0, 0), new $Int64(0, 0)), arrayType$1.zero()));\n\t\terr = syscall.Lstat(name, fs.sys);\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\treturn [$ifaceNil, new PathError.ptr(\"lstat\", name, err)];\n\t\t}\n\t\tfillFileStatFromSys(fs, name);\n\t\treturn [fs, $ifaceNil];\n\t};\n\titoa = function(val) {\n\t\tvar val;\n\t\tif (val < 0) {\n\t\t\treturn \"-\" + uitoa(((-val >>> 0)));\n\t\t}\n\t\treturn uitoa(((val >>> 0)));\n\t};\n\tuitoa = function(val) {\n\t\tvar _q, buf, i, q, val;\n\t\tif (val === 0) {\n\t\t\treturn \"0\";\n\t\t}\n\t\tbuf = arrayType$3.zero();\n\t\ti = 19;\n\t\twhile (true) {\n\t\t\tif (!(val >= 10)) { break; }\n\t\t\tq = (_q = val / 10, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >>> 0 : $throwRuntimeError(\"integer divide by zero\"));\n\t\t\t((i < 0 || i >= buf.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf[i] = ((((48 + val >>> 0) - (q * 10 >>> 0) >>> 0) << 24 >>> 24)));\n\t\t\ti = i - (1) >> 0;\n\t\t\tval = q;\n\t\t}\n\t\t((i < 0 || i >= buf.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf[i] = (((48 + val >>> 0) << 24 >>> 24)));\n\t\treturn ($bytesToString($subslice(new sliceType$2(buf), i)));\n\t};\n\tFileMode.prototype.String = function() {\n\t\tvar _i, _i$1, _ref, _ref$1, _rune, _rune$1, buf, c, c$1, i, i$1, m, w, y, y$1;\n\t\tm = this.$val;\n\t\tbuf = arrayType$6.zero();\n\t\tw = 0;\n\t\t_ref = \"dalTLDpSugct?\";\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.length)) { break; }\n\t\t\t_rune = $decodeRune(_ref, _i);\n\t\t\ti = _i;\n\t\t\tc = _rune[0];\n\t\t\tif (!((((m & (((y = (((31 - i >> 0) >>> 0)), y < 32 ? (1 << y) : 0) >>> 0))) >>> 0) === 0))) {\n\t\t\t\t((w < 0 || w >= buf.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf[w] = ((c << 24 >>> 24)));\n\t\t\t\tw = w + (1) >> 0;\n\t\t\t}\n\t\t\t_i += _rune[1];\n\t\t}\n\t\tif (w === 0) {\n\t\t\t((w < 0 || w >= buf.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf[w] = 45);\n\t\t\tw = w + (1) >> 0;\n\t\t}\n\t\t_ref$1 = \"rwxrwxrwx\";\n\t\t_i$1 = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i$1 < _ref$1.length)) { break; }\n\t\t\t_rune$1 = $decodeRune(_ref$1, _i$1);\n\t\t\ti$1 = _i$1;\n\t\t\tc$1 = _rune$1[0];\n\t\t\tif (!((((m & (((y$1 = (((8 - i$1 >> 0) >>> 0)), y$1 < 32 ? (1 << y$1) : 0) >>> 0))) >>> 0) === 0))) {\n\t\t\t\t((w < 0 || w >= buf.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf[w] = ((c$1 << 24 >>> 24)));\n\t\t\t} else {\n\t\t\t\t((w < 0 || w >= buf.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf[w] = 45);\n\t\t\t}\n\t\t\tw = w + (1) >> 0;\n\t\t\t_i$1 += _rune$1[1];\n\t\t}\n\t\treturn ($bytesToString($subslice(new sliceType$2(buf), 0, w)));\n\t};\n\t$ptrType(FileMode).prototype.String = function() { return new FileMode(this.$get()).String(); };\n\tFileMode.prototype.IsDir = function() {\n\t\tvar m;\n\t\tm = this.$val;\n\t\treturn !((((m & 2147483648) >>> 0) === 0));\n\t};\n\t$ptrType(FileMode).prototype.IsDir = function() { return new FileMode(this.$get()).IsDir(); };\n\tFileMode.prototype.IsRegular = function() {\n\t\tvar m;\n\t\tm = this.$val;\n\t\treturn ((m & 2399666176) >>> 0) === 0;\n\t};\n\t$ptrType(FileMode).prototype.IsRegular = function() { return new FileMode(this.$get()).IsRegular(); };\n\tFileMode.prototype.Perm = function() {\n\t\tvar m;\n\t\tm = this.$val;\n\t\treturn (m & 511) >>> 0;\n\t};\n\t$ptrType(FileMode).prototype.Perm = function() { return new FileMode(this.$get()).Perm(); };\n\tfileStat.ptr.prototype.Name = function() {\n\t\tvar fs;\n\t\tfs = this;\n\t\treturn fs.name;\n\t};\n\tfileStat.prototype.Name = function() { return this.$val.Name(); };\n\tfileStat.ptr.prototype.IsDir = function() {\n\t\tvar fs;\n\t\tfs = this;\n\t\treturn new FileMode(fs.Mode()).IsDir();\n\t};\n\tfileStat.prototype.IsDir = function() { return this.$val.IsDir(); };\n\tSameFile = function(fi1, fi2) {\n\t\tvar _tuple, _tuple$1, fi1, fi2, fs1, fs2, ok1, ok2;\n\t\t_tuple = $assertType(fi1, ptrType$16, true);\n\t\tfs1 = _tuple[0];\n\t\tok1 = _tuple[1];\n\t\t_tuple$1 = $assertType(fi2, ptrType$16, true);\n\t\tfs2 = _tuple$1[0];\n\t\tok2 = _tuple$1[1];\n\t\tif (!ok1 || !ok2) {\n\t\t\treturn false;\n\t\t}\n\t\treturn sameFile(fs1, fs2);\n\t};\n\t$pkg.SameFile = SameFile;\n\tfileStat.ptr.prototype.Size = function() {\n\t\tvar fs;\n\t\tfs = this;\n\t\treturn fs.size;\n\t};\n\tfileStat.prototype.Size = function() { return this.$val.Size(); };\n\tfileStat.ptr.prototype.Mode = function() {\n\t\tvar fs;\n\t\tfs = this;\n\t\treturn fs.mode;\n\t};\n\tfileStat.prototype.Mode = function() { return this.$val.Mode(); };\n\tfileStat.ptr.prototype.ModTime = function() {\n\t\tvar fs;\n\t\tfs = this;\n\t\treturn fs.modTime;\n\t};\n\tfileStat.prototype.ModTime = function() { return this.$val.ModTime(); };\n\tfileStat.ptr.prototype.Sys = function() {\n\t\tvar fs;\n\t\tfs = this;\n\t\treturn fs.sys;\n\t};\n\tfileStat.prototype.Sys = function() { return this.$val.Sys(); };\n\tsameFile = function(fs1, fs2) {\n\t\tvar fs1, fs2, x, x$1, x$2, x$3;\n\t\treturn (x = fs1.sys.Dev, x$1 = fs2.sys.Dev, (x.$high === x$1.$high && x.$low === x$1.$low)) && (x$2 = fs1.sys.Ino, x$3 = fs2.sys.Ino, (x$2.$high === x$3.$high && x$2.$low === x$3.$low));\n\t};\n\tProcess.ptr.prototype.blockUntilWaitable = function() {\n\t\tvar _tuple, e, p, psig, siginfo;\n\t\tp = this;\n\t\tsiginfo = arrayType$7.zero();\n\t\tpsig = $indexPtr(siginfo, 0, ptrType$17);\n\t\t_tuple = syscall.Syscall6(247, 1, ((p.Pid >>> 0)), ((psig)), 16777220, 0, 0);\n\t\te = _tuple[2];\n\t\truntime.KeepAlive(p);\n\t\tif (!((e === 0))) {\n\t\t\tif (e === 38) {\n\t\t\t\treturn [false, $ifaceNil];\n\t\t\t}\n\t\t\treturn [false, NewSyscallError(\"waitid\", new syscall.Errno(e))];\n\t\t}\n\t\treturn [true, $ifaceNil];\n\t};\n\tProcess.prototype.blockUntilWaitable = function() { return this.$val.blockUntilWaitable(); };\n\tptrType$2.methods = [{prop: \"Error\", name: \"Error\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"Timeout\", name: \"Timeout\", pkg: \"\", typ: $funcType([], [$Bool], false)}];\n\tptrType$4.methods = [{prop: \"Error\", name: \"Error\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"Timeout\", name: \"Timeout\", pkg: \"\", typ: $funcType([], [$Bool], false)}];\n\tptrType$5.methods = [{prop: \"setDone\", name: \"setDone\", pkg: \"os\", typ: $funcType([], [], false)}, {prop: \"done\", name: \"done\", pkg: \"os\", typ: $funcType([], [$Bool], false)}, {prop: \"Release\", name: \"Release\", pkg: \"\", typ: $funcType([], [$error], false)}, {prop: \"Kill\", name: \"Kill\", pkg: \"\", typ: $funcType([], [$error], false)}, {prop: \"Wait\", name: \"Wait\", pkg: \"\", typ: $funcType([], [ptrType$9, $error], false)}, {prop: \"Signal\", name: \"Signal\", pkg: \"\", typ: $funcType([Signal], [$error], false)}, {prop: \"kill\", name: \"kill\", pkg: \"os\", typ: $funcType([], [$error], false)}, {prop: \"wait\", name: \"wait\", pkg: \"os\", typ: $funcType([], [ptrType$9, $error], false)}, {prop: \"signal\", name: \"signal\", pkg: \"os\", typ: $funcType([Signal], [$error], false)}, {prop: \"release\", name: \"release\", pkg: \"os\", typ: $funcType([], [$error], false)}, {prop: \"blockUntilWaitable\", name: \"blockUntilWaitable\", pkg: \"os\", typ: $funcType([], [$Bool, $error], false)}];\n\tptrType$9.methods = [{prop: \"UserTime\", name: \"UserTime\", pkg: \"\", typ: $funcType([], [time.Duration], false)}, {prop: \"SystemTime\", name: \"SystemTime\", pkg: \"\", typ: $funcType([], [time.Duration], false)}, {prop: \"Exited\", name: \"Exited\", pkg: \"\", typ: $funcType([], [$Bool], false)}, {prop: \"Success\", name: \"Success\", pkg: \"\", typ: $funcType([], [$Bool], false)}, {prop: \"Sys\", name: \"Sys\", pkg: \"\", typ: $funcType([], [$emptyInterface], false)}, {prop: \"SysUsage\", name: \"SysUsage\", pkg: \"\", typ: $funcType([], [$emptyInterface], false)}, {prop: \"Pid\", name: \"Pid\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"exited\", name: \"exited\", pkg: \"os\", typ: $funcType([], [$Bool], false)}, {prop: \"success\", name: \"success\", pkg: \"os\", typ: $funcType([], [$Bool], false)}, {prop: \"sys\", name: \"sys\", pkg: \"os\", typ: $funcType([], [$emptyInterface], false)}, {prop: \"sysUsage\", name: \"sysUsage\", pkg: \"os\", typ: $funcType([], [$emptyInterface], false)}, {prop: \"String\", name: \"String\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"userTime\", name: \"userTime\", pkg: \"os\", typ: $funcType([], [time.Duration], false)}, {prop: \"systemTime\", name: \"systemTime\", pkg: \"os\", typ: $funcType([], [time.Duration], false)}];\n\tptrType$3.methods = [{prop: \"Error\", name: \"Error\", pkg: \"\", typ: $funcType([], [$String], false)}];\n\tptrType$13.methods = [{prop: \"close\", name: \"close\", pkg: \"os\", typ: $funcType([], [$error], false)}];\n\tptrType.methods = [{prop: \"Readdir\", name: \"Readdir\", pkg: \"\", typ: $funcType([$Int], [sliceType$1, $error], false)}, {prop: \"Readdirnames\", name: \"Readdirnames\", pkg: \"\", typ: $funcType([$Int], [sliceType, $error], false)}, {prop: \"readdir\", name: \"readdir\", pkg: \"os\", typ: $funcType([$Int], [sliceType$1, $error], false)}, {prop: \"readdirnames\", name: \"readdirnames\", pkg: \"os\", typ: $funcType([$Int], [sliceType, $error], false)}, {prop: \"Name\", name: \"Name\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"Read\", name: \"Read\", pkg: \"\", typ: $funcType([sliceType$2], [$Int, $error], false)}, {prop: \"ReadAt\", name: \"ReadAt\", pkg: \"\", typ: $funcType([sliceType$2, $Int64], [$Int, $error], false)}, {prop: \"Write\", name: \"Write\", pkg: \"\", typ: $funcType([sliceType$2], [$Int, $error], false)}, {prop: \"WriteAt\", name: \"WriteAt\", pkg: \"\", typ: $funcType([sliceType$2, $Int64], [$Int, $error], false)}, {prop: \"Seek\", name: \"Seek\", pkg: \"\", typ: $funcType([$Int64, $Int], [$Int64, $error], false)}, {prop: \"WriteString\", name: \"WriteString\", pkg: \"\", typ: $funcType([$String], [$Int, $error], false)}, {prop: \"wrapErr\", name: \"wrapErr\", pkg: \"os\", typ: $funcType([$String, $error], [$error], false)}, {prop: \"Chmod\", name: \"Chmod\", pkg: \"\", typ: $funcType([FileMode], [$error], false)}, {prop: \"SetDeadline\", name: \"SetDeadline\", pkg: \"\", typ: $funcType([time.Time], [$error], false)}, {prop: \"SetReadDeadline\", name: \"SetReadDeadline\", pkg: \"\", typ: $funcType([time.Time], [$error], false)}, {prop: \"SetWriteDeadline\", name: \"SetWriteDeadline\", pkg: \"\", typ: $funcType([time.Time], [$error], false)}, {prop: \"chmod\", name: \"chmod\", pkg: \"os\", typ: $funcType([FileMode], [$error], false)}, {prop: \"Chown\", name: \"Chown\", pkg: \"\", typ: $funcType([$Int, $Int], [$error], false)}, {prop: \"Truncate\", name: \"Truncate\", pkg: \"\", typ: $funcType([$Int64], [$error], false)}, {prop: \"Sync\", name: \"Sync\", pkg: \"\", typ: $funcType([], [$error], false)}, {prop: \"Chdir\", name: \"Chdir\", pkg: \"\", typ: $funcType([], [$error], false)}, {prop: \"setDeadline\", name: \"setDeadline\", pkg: \"os\", typ: $funcType([time.Time], [$error], false)}, {prop: \"setReadDeadline\", name: \"setReadDeadline\", pkg: \"os\", typ: $funcType([time.Time], [$error], false)}, {prop: \"setWriteDeadline\", name: \"setWriteDeadline\", pkg: \"os\", typ: $funcType([time.Time], [$error], false)}, {prop: \"checkValid\", name: \"checkValid\", pkg: \"os\", typ: $funcType([$String], [$error], false)}, {prop: \"Fd\", name: \"Fd\", pkg: \"\", typ: $funcType([], [$Uintptr], false)}, {prop: \"Close\", name: \"Close\", pkg: \"\", typ: $funcType([], [$error], false)}, {prop: \"read\", name: \"read\", pkg: \"os\", typ: $funcType([sliceType$2], [$Int, $error], false)}, {prop: \"pread\", name: \"pread\", pkg: \"os\", typ: $funcType([sliceType$2, $Int64], [$Int, $error], false)}, {prop: \"write\", name: \"write\", pkg: \"os\", typ: $funcType([sliceType$2], [$Int, $error], false)}, {prop: \"pwrite\", name: \"pwrite\", pkg: \"os\", typ: $funcType([sliceType$2, $Int64], [$Int, $error], false)}, {prop: \"seek\", name: \"seek\", pkg: \"os\", typ: $funcType([$Int64, $Int], [$Int64, $error], false)}, {prop: \"Stat\", name: \"Stat\", pkg: \"\", typ: $funcType([], [FileInfo, $error], false)}];\n\tFileMode.methods = [{prop: \"String\", name: \"String\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"IsDir\", name: \"IsDir\", pkg: \"\", typ: $funcType([], [$Bool], false)}, {prop: \"IsRegular\", name: \"IsRegular\", pkg: \"\", typ: $funcType([], [$Bool], false)}, {prop: \"Perm\", name: \"Perm\", pkg: \"\", typ: $funcType([], [FileMode], false)}];\n\tptrType$16.methods = [{prop: \"Name\", name: \"Name\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"IsDir\", name: \"IsDir\", pkg: \"\", typ: $funcType([], [$Bool], false)}, {prop: \"Size\", name: \"Size\", pkg: \"\", typ: $funcType([], [$Int64], false)}, {prop: \"Mode\", name: \"Mode\", pkg: \"\", typ: $funcType([], [FileMode], false)}, {prop: \"ModTime\", name: \"ModTime\", pkg: \"\", typ: $funcType([], [time.Time], false)}, {prop: \"Sys\", name: \"Sys\", pkg: \"\", typ: $funcType([], [$emptyInterface], false)}];\n\ttimeout.init([{prop: \"Timeout\", name: \"Timeout\", pkg: \"\", typ: $funcType([], [$Bool], false)}]);\n\tPathError.init(\"\", [{prop: \"Op\", name: \"Op\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"Path\", name: \"Path\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"Err\", name: \"Err\", embedded: false, exported: true, typ: $error, tag: \"\"}]);\n\tSyscallError.init(\"\", [{prop: \"Syscall\", name: \"Syscall\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"Err\", name: \"Err\", embedded: false, exported: true, typ: $error, tag: \"\"}]);\n\tProcess.init(\"os\", [{prop: \"Pid\", name: \"Pid\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"handle\", name: \"handle\", embedded: false, exported: false, typ: $Uintptr, tag: \"\"}, {prop: \"isdone\", name: \"isdone\", embedded: false, exported: false, typ: $Uint32, tag: \"\"}, {prop: \"sigMu\", name: \"sigMu\", embedded: false, exported: false, typ: sync.RWMutex, tag: \"\"}]);\n\tProcAttr.init(\"\", [{prop: \"Dir\", name: \"Dir\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"Env\", name: \"Env\", embedded: false, exported: true, typ: sliceType, tag: \"\"}, {prop: \"Files\", name: \"Files\", embedded: false, exported: true, typ: sliceType$8, tag: \"\"}, {prop: \"Sys\", name: \"Sys\", embedded: false, exported: true, typ: ptrType$8, tag: \"\"}]);\n\tSignal.init([{prop: \"Signal\", name: \"Signal\", pkg: \"\", typ: $funcType([], [], false)}, {prop: \"String\", name: \"String\", pkg: \"\", typ: $funcType([], [$String], false)}]);\n\tProcessState.init(\"os\", [{prop: \"pid\", name: \"pid\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"status\", name: \"status\", embedded: false, exported: false, typ: syscall.WaitStatus, tag: \"\"}, {prop: \"rusage\", name: \"rusage\", embedded: false, exported: false, typ: ptrType$11, tag: \"\"}]);\n\tLinkError.init(\"\", [{prop: \"Op\", name: \"Op\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"Old\", name: \"Old\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"New\", name: \"New\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"Err\", name: \"Err\", embedded: false, exported: true, typ: $error, tag: \"\"}]);\n\tfile.init(\"os\", [{prop: \"pfd\", name: \"pfd\", embedded: false, exported: false, typ: poll.FD, tag: \"\"}, {prop: \"name\", name: \"name\", embedded: false, exported: false, typ: $String, tag: \"\"}, {prop: \"dirinfo\", name: \"dirinfo\", embedded: false, exported: false, typ: ptrType$1, tag: \"\"}, {prop: \"nonblock\", name: \"nonblock\", embedded: false, exported: false, typ: $Bool, tag: \"\"}, {prop: \"stdoutOrErr\", name: \"stdoutOrErr\", embedded: false, exported: false, typ: $Bool, tag: \"\"}]);\n\tdirInfo.init(\"os\", [{prop: \"buf\", name: \"buf\", embedded: false, exported: false, typ: sliceType$2, tag: \"\"}, {prop: \"nbuf\", name: \"nbuf\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"bufp\", name: \"bufp\", embedded: false, exported: false, typ: $Int, tag: \"\"}]);\n\tFile.init(\"os\", [{prop: \"file\", name: \"file\", embedded: true, exported: false, typ: ptrType$13, tag: \"\"}]);\n\tFileInfo.init([{prop: \"IsDir\", name: \"IsDir\", pkg: \"\", typ: $funcType([], [$Bool], false)}, {prop: \"ModTime\", name: \"ModTime\", pkg: \"\", typ: $funcType([], [time.Time], false)}, {prop: \"Mode\", name: \"Mode\", pkg: \"\", typ: $funcType([], [FileMode], false)}, {prop: \"Name\", name: \"Name\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"Size\", name: \"Size\", pkg: \"\", typ: $funcType([], [$Int64], false)}, {prop: \"Sys\", name: \"Sys\", pkg: \"\", typ: $funcType([], [$emptyInterface], false)}]);\n\tfileStat.init(\"os\", [{prop: \"name\", name: \"name\", embedded: false, exported: false, typ: $String, tag: \"\"}, {prop: \"size\", name: \"size\", embedded: false, exported: false, typ: $Int64, tag: \"\"}, {prop: \"mode\", name: \"mode\", embedded: false, exported: false, typ: FileMode, tag: \"\"}, {prop: \"modTime\", name: \"modTime\", embedded: false, exported: false, typ: time.Time, tag: \"\"}, {prop: \"sys\", name: \"sys\", embedded: false, exported: false, typ: syscall.Stat_t, tag: \"\"}]);\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = errors.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = js.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = poll.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = unix.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = testlog.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = io.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = runtime.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = sync.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = atomic.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = syscall.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = time.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tgetwdCache = new structType.ptr(new sync.Mutex.ptr(0, 0), \"\");\n\t\t$pkg.Args = sliceType.nil;\n\t\t$pkg.ErrInvalid = errors.New(\"invalid argument\");\n\t\t$pkg.ErrPermission = errors.New(\"permission denied\");\n\t\t$pkg.ErrExist = errors.New(\"file already exists\");\n\t\t$pkg.ErrNotExist = errors.New(\"file does not exist\");\n\t\t$pkg.ErrClosed = errors.New(\"file already closed\");\n\t\t$pkg.Kill = new syscall.Signal(9);\n\t\terrFinished = errors.New(\"os: process already finished\");\n\t\t$pkg.Stdin = NewFile(((syscall.Stdin >>> 0)), \"/dev/stdin\");\n\t\t$pkg.Stdout = NewFile(((syscall.Stdout >>> 0)), \"/dev/stdout\");\n\t\t$pkg.Stderr = NewFile(((syscall.Stderr >>> 0)), \"/dev/stderr\");\n\t\tuseSyscallwd = (function(param) {\n\t\t\tvar param;\n\t\t\treturn true;\n\t\t});\n\t\tlstat = Lstat;\n\t\tinit();\n\t\tinit$1();\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"math/bits\"] = (function() {\n\tvar $pkg = {}, $init, deBruijn32tab, deBruijn64tab, len8tab, LeadingZeros64, TrailingZeros, TrailingZeros32, TrailingZeros64, Len64;\n\tLeadingZeros64 = function(x) {\n\t\tvar x;\n\t\treturn 64 - Len64(x) >> 0;\n\t};\n\t$pkg.LeadingZeros64 = LeadingZeros64;\n\tTrailingZeros = function(x) {\n\t\tvar x;\n\t\tif (true) {\n\t\t\treturn TrailingZeros32(((x >>> 0)));\n\t\t}\n\t\treturn TrailingZeros64((new $Uint64(0, x)));\n\t};\n\t$pkg.TrailingZeros = TrailingZeros;\n\tTrailingZeros32 = function(x) {\n\t\tvar x, x$1;\n\t\tif (x === 0) {\n\t\t\treturn 32;\n\t\t}\n\t\treturn (((x$1 = ($imul((((x & (-x >>> 0)) >>> 0)), 125613361) >>> 0) >>> 27 >>> 0, ((x$1 < 0 || x$1 >= deBruijn32tab.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : deBruijn32tab[x$1])) >> 0));\n\t};\n\t$pkg.TrailingZeros32 = TrailingZeros32;\n\tTrailingZeros64 = function(x) {\n\t\tvar x, x$1, x$2;\n\t\tif ((x.$high === 0 && x.$low === 0)) {\n\t\t\treturn 64;\n\t\t}\n\t\treturn (((x$1 = $shiftRightUint64($mul64(((x$2 = new $Uint64(-x.$high, -x.$low), new $Uint64(x.$high & x$2.$high, (x.$low & x$2.$low) >>> 0))), new $Uint64(66559345, 3033172745)), 58), (($flatten64(x$1) < 0 || $flatten64(x$1) >= deBruijn64tab.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : deBruijn64tab[$flatten64(x$1)])) >> 0));\n\t};\n\t$pkg.TrailingZeros64 = TrailingZeros64;\n\tLen64 = function(x) {\n\t\tvar n, x;\n\t\tn = 0;\n\t\tif ((x.$high > 1 || (x.$high === 1 && x.$low >= 0))) {\n\t\t\tx = $shiftRightUint64(x, (32));\n\t\t\tn = 32;\n\t\t}\n\t\tif ((x.$high > 0 || (x.$high === 0 && x.$low >= 65536))) {\n\t\t\tx = $shiftRightUint64(x, (16));\n\t\t\tn = n + (16) >> 0;\n\t\t}\n\t\tif ((x.$high > 0 || (x.$high === 0 && x.$low >= 256))) {\n\t\t\tx = $shiftRightUint64(x, (8));\n\t\t\tn = n + (8) >> 0;\n\t\t}\n\t\tn = n + (((($flatten64(x) < 0 || $flatten64(x) >= len8tab.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : len8tab[$flatten64(x)]) >> 0)) >> 0;\n\t\treturn n;\n\t};\n\t$pkg.Len64 = Len64;\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tdeBruijn32tab = $toNativeArray($kindUint8, [0, 1, 28, 2, 29, 14, 24, 3, 30, 22, 20, 15, 25, 17, 4, 8, 31, 27, 13, 23, 21, 19, 16, 7, 26, 12, 18, 6, 11, 5, 10, 9]);\n\t\tdeBruijn64tab = $toNativeArray($kindUint8, [0, 1, 56, 2, 57, 49, 28, 3, 61, 58, 42, 50, 38, 29, 17, 4, 62, 47, 59, 36, 45, 43, 51, 22, 53, 39, 33, 30, 24, 18, 12, 5, 63, 55, 48, 27, 60, 41, 37, 16, 46, 35, 44, 21, 52, 32, 23, 11, 54, 26, 40, 15, 34, 20, 31, 10, 25, 14, 19, 9, 13, 8, 7, 6]);\n\t\tlen8tab = $toNativeArray($kindUint8, [0, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8]);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"strconv\"] = (function() {\n\tvar $pkg = {}, $init, errors, math, bits, utf8, NumError, decimal, leftCheat, extFloat, floatInfo, decimalSlice, sliceType, sliceType$1, sliceType$2, sliceType$3, sliceType$4, sliceType$5, arrayType, sliceType$6, ptrType, arrayType$1, arrayType$2, ptrType$1, arrayType$3, arrayType$4, ptrType$2, ptrType$3, ptrType$4, optimize, powtab, float64pow10, float32pow10, leftcheats, smallPowersOfTen, powersOfTen, uint64pow10, float32info, float32info$24ptr, float64info, float64info$24ptr, isPrint16, isNotPrint16, isPrint32, isNotPrint32, isGraphic, equalIgnoreCase, special, readFloat, atof64exact, atof32exact, atof32, atof64, ParseFloat, syntaxError, rangeError, baseError, bitSizeError, ParseUint, ParseInt, Atoi, digitZero, trim, rightShift, prefixIsLessThan, leftShift, shouldRoundUp, frexp10Many, adjustLastDigitFixed, adjustLastDigit, AppendFloat, genericFtoa, bigFtoa, formatDigits, roundShortest, fmtE, fmtF, fmtB, min, max, FormatInt, Itoa, small, formatBits, isPowerOfTwo, quoteWith, appendQuotedWith, appendQuotedRuneWith, appendEscapedRune, Quote, AppendQuote, AppendQuoteToASCII, AppendQuoteRune, AppendQuoteRuneToASCII, CanBackquote, unhex, UnquoteChar, Unquote, contains, bsearch16, bsearch32, IsPrint, isInGraphicList;\n\terrors = $packages[\"errors\"];\n\tmath = $packages[\"math\"];\n\tbits = $packages[\"math/bits\"];\n\tutf8 = $packages[\"unicode/utf8\"];\n\tNumError = $pkg.NumError = $newType(0, $kindStruct, \"strconv.NumError\", true, \"strconv\", true, function(Func_, Num_, Err_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Func = \"\";\n\t\t\tthis.Num = \"\";\n\t\t\tthis.Err = $ifaceNil;\n\t\t\treturn;\n\t\t}\n\t\tthis.Func = Func_;\n\t\tthis.Num = Num_;\n\t\tthis.Err = Err_;\n\t});\n\tdecimal = $pkg.decimal = $newType(0, $kindStruct, \"strconv.decimal\", true, \"strconv\", false, function(d_, nd_, dp_, neg_, trunc_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.d = arrayType.zero();\n\t\t\tthis.nd = 0;\n\t\t\tthis.dp = 0;\n\t\t\tthis.neg = false;\n\t\t\tthis.trunc = false;\n\t\t\treturn;\n\t\t}\n\t\tthis.d = d_;\n\t\tthis.nd = nd_;\n\t\tthis.dp = dp_;\n\t\tthis.neg = neg_;\n\t\tthis.trunc = trunc_;\n\t});\n\tleftCheat = $pkg.leftCheat = $newType(0, $kindStruct, \"strconv.leftCheat\", true, \"strconv\", false, function(delta_, cutoff_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.delta = 0;\n\t\t\tthis.cutoff = \"\";\n\t\t\treturn;\n\t\t}\n\t\tthis.delta = delta_;\n\t\tthis.cutoff = cutoff_;\n\t});\n\textFloat = $pkg.extFloat = $newType(0, $kindStruct, \"strconv.extFloat\", true, \"strconv\", false, function(mant_, exp_, neg_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.mant = new $Uint64(0, 0);\n\t\t\tthis.exp = 0;\n\t\t\tthis.neg = false;\n\t\t\treturn;\n\t\t}\n\t\tthis.mant = mant_;\n\t\tthis.exp = exp_;\n\t\tthis.neg = neg_;\n\t});\n\tfloatInfo = $pkg.floatInfo = $newType(0, $kindStruct, \"strconv.floatInfo\", true, \"strconv\", false, function(mantbits_, expbits_, bias_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.mantbits = 0;\n\t\t\tthis.expbits = 0;\n\t\t\tthis.bias = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.mantbits = mantbits_;\n\t\tthis.expbits = expbits_;\n\t\tthis.bias = bias_;\n\t});\n\tdecimalSlice = $pkg.decimalSlice = $newType(0, $kindStruct, \"strconv.decimalSlice\", true, \"strconv\", false, function(d_, nd_, dp_, neg_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.d = sliceType$6.nil;\n\t\t\tthis.nd = 0;\n\t\t\tthis.dp = 0;\n\t\t\tthis.neg = false;\n\t\t\treturn;\n\t\t}\n\t\tthis.d = d_;\n\t\tthis.nd = nd_;\n\t\tthis.dp = dp_;\n\t\tthis.neg = neg_;\n\t});\n\tsliceType = $sliceType($Int);\n\tsliceType$1 = $sliceType($Float64);\n\tsliceType$2 = $sliceType($Float32);\n\tsliceType$3 = $sliceType(leftCheat);\n\tsliceType$4 = $sliceType($Uint16);\n\tsliceType$5 = $sliceType($Uint32);\n\tarrayType = $arrayType($Uint8, 800);\n\tsliceType$6 = $sliceType($Uint8);\n\tptrType = $ptrType(NumError);\n\tarrayType$1 = $arrayType($Uint8, 24);\n\tarrayType$2 = $arrayType($Uint8, 32);\n\tptrType$1 = $ptrType(floatInfo);\n\tarrayType$3 = $arrayType($Uint8, 65);\n\tarrayType$4 = $arrayType($Uint8, 4);\n\tptrType$2 = $ptrType(decimal);\n\tptrType$3 = $ptrType(decimalSlice);\n\tptrType$4 = $ptrType(extFloat);\n\tequalIgnoreCase = function(s1, s2) {\n\t\tvar c1, c2, i, s1, s2;\n\t\tif (!((s1.length === s2.length))) {\n\t\t\treturn false;\n\t\t}\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < s1.length)) { break; }\n\t\t\tc1 = s1.charCodeAt(i);\n\t\t\tif (65 <= c1 && c1 <= 90) {\n\t\t\t\tc1 = c1 + (32) << 24 >>> 24;\n\t\t\t}\n\t\t\tc2 = s2.charCodeAt(i);\n\t\t\tif (65 <= c2 && c2 <= 90) {\n\t\t\t\tc2 = c2 + (32) << 24 >>> 24;\n\t\t\t}\n\t\t\tif (!((c1 === c2))) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\treturn true;\n\t};\n\tspecial = function(s) {\n\t\tvar _1, _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, f, ok, s;\n\t\tf = 0;\n\t\tok = false;\n\t\tif (s.length === 0) {\n\t\t\treturn [f, ok];\n\t\t}\n\t\t_1 = s.charCodeAt(0);\n\t\tif (_1 === (43)) {\n\t\t\tif (equalIgnoreCase(s, \"+inf\") || equalIgnoreCase(s, \"+infinity\")) {\n\t\t\t\t_tmp = math.Inf(1);\n\t\t\t\t_tmp$1 = true;\n\t\t\t\tf = _tmp;\n\t\t\t\tok = _tmp$1;\n\t\t\t\treturn [f, ok];\n\t\t\t}\n\t\t} else if (_1 === (45)) {\n\t\t\tif (equalIgnoreCase(s, \"-inf\") || equalIgnoreCase(s, \"-infinity\")) {\n\t\t\t\t_tmp$2 = math.Inf(-1);\n\t\t\t\t_tmp$3 = true;\n\t\t\t\tf = _tmp$2;\n\t\t\t\tok = _tmp$3;\n\t\t\t\treturn [f, ok];\n\t\t\t}\n\t\t} else if ((_1 === (110)) || (_1 === (78))) {\n\t\t\tif (equalIgnoreCase(s, \"nan\")) {\n\t\t\t\t_tmp$4 = math.NaN();\n\t\t\t\t_tmp$5 = true;\n\t\t\t\tf = _tmp$4;\n\t\t\t\tok = _tmp$5;\n\t\t\t\treturn [f, ok];\n\t\t\t}\n\t\t} else if ((_1 === (105)) || (_1 === (73))) {\n\t\t\tif (equalIgnoreCase(s, \"inf\") || equalIgnoreCase(s, \"infinity\")) {\n\t\t\t\t_tmp$6 = math.Inf(1);\n\t\t\t\t_tmp$7 = true;\n\t\t\t\tf = _tmp$6;\n\t\t\t\tok = _tmp$7;\n\t\t\t\treturn [f, ok];\n\t\t\t}\n\t\t} else {\n\t\t\treturn [f, ok];\n\t\t}\n\t\treturn [f, ok];\n\t};\n\tdecimal.ptr.prototype.set = function(s) {\n\t\tvar b, e, esign, i, ok, s, sawdigits, sawdot, x, x$1;\n\t\tok = false;\n\t\tb = this;\n\t\ti = 0;\n\t\tb.neg = false;\n\t\tb.trunc = false;\n\t\tif (i >= s.length) {\n\t\t\treturn ok;\n\t\t}\n\t\tif ((s.charCodeAt(i) === 43)) {\n\t\t\ti = i + (1) >> 0;\n\t\t} else if ((s.charCodeAt(i) === 45)) {\n\t\t\tb.neg = true;\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\tsawdot = false;\n\t\tsawdigits = false;\n\t\twhile (true) {\n\t\t\tif (!(i < s.length)) { break; }\n\t\t\tif ((s.charCodeAt(i) === 46)) {\n\t\t\t\tif (sawdot) {\n\t\t\t\t\treturn ok;\n\t\t\t\t}\n\t\t\t\tsawdot = true;\n\t\t\t\tb.dp = b.nd;\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t\tcontinue;\n\t\t\t} else if (48 <= s.charCodeAt(i) && s.charCodeAt(i) <= 57) {\n\t\t\t\tsawdigits = true;\n\t\t\t\tif ((s.charCodeAt(i) === 48) && (b.nd === 0)) {\n\t\t\t\t\tb.dp = b.dp - (1) >> 0;\n\t\t\t\t\ti = i + (1) >> 0;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tif (b.nd < 800) {\n\t\t\t\t\t(x = b.d, x$1 = b.nd, ((x$1 < 0 || x$1 >= x.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x[x$1] = s.charCodeAt(i)));\n\t\t\t\t\tb.nd = b.nd + (1) >> 0;\n\t\t\t\t} else if (!((s.charCodeAt(i) === 48))) {\n\t\t\t\t\tb.trunc = true;\n\t\t\t\t}\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tif (!sawdigits) {\n\t\t\treturn ok;\n\t\t}\n\t\tif (!sawdot) {\n\t\t\tb.dp = b.nd;\n\t\t}\n\t\tif (i < s.length && ((s.charCodeAt(i) === 101) || (s.charCodeAt(i) === 69))) {\n\t\t\ti = i + (1) >> 0;\n\t\t\tif (i >= s.length) {\n\t\t\t\treturn ok;\n\t\t\t}\n\t\t\tesign = 1;\n\t\t\tif (s.charCodeAt(i) === 43) {\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t} else if (s.charCodeAt(i) === 45) {\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t\tesign = -1;\n\t\t\t}\n\t\t\tif (i >= s.length || s.charCodeAt(i) < 48 || s.charCodeAt(i) > 57) {\n\t\t\t\treturn ok;\n\t\t\t}\n\t\t\te = 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(i < s.length && 48 <= s.charCodeAt(i) && s.charCodeAt(i) <= 57)) { break; }\n\t\t\t\tif (e < 10000) {\n\t\t\t\t\te = (($imul(e, 10)) + ((s.charCodeAt(i) >> 0)) >> 0) - 48 >> 0;\n\t\t\t\t}\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t}\n\t\t\tb.dp = b.dp + (($imul(e, esign))) >> 0;\n\t\t}\n\t\tif (!((i === s.length))) {\n\t\t\treturn ok;\n\t\t}\n\t\tok = true;\n\t\treturn ok;\n\t};\n\tdecimal.prototype.set = function(s) { return this.$val.set(s); };\n\treadFloat = function(s) {\n\t\tvar _1, c, dp, e, esign, exp, i, mantissa, nd, ndMant, neg, ok, s, sawdigits, sawdot, trunc, x;\n\t\tmantissa = new $Uint64(0, 0);\n\t\texp = 0;\n\t\tneg = false;\n\t\ttrunc = false;\n\t\tok = false;\n\t\ti = 0;\n\t\tif (i >= s.length) {\n\t\t\treturn [mantissa, exp, neg, trunc, ok];\n\t\t}\n\t\tif ((s.charCodeAt(i) === 43)) {\n\t\t\ti = i + (1) >> 0;\n\t\t} else if ((s.charCodeAt(i) === 45)) {\n\t\t\tneg = true;\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\tsawdot = false;\n\t\tsawdigits = false;\n\t\tnd = 0;\n\t\tndMant = 0;\n\t\tdp = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < s.length)) { break; }\n\t\t\tc = s.charCodeAt(i);\n\t\t\t_1 = true;\n\t\t\tif (_1 === ((c === 46))) {\n\t\t\t\tif (sawdot) {\n\t\t\t\t\treturn [mantissa, exp, neg, trunc, ok];\n\t\t\t\t}\n\t\t\t\tsawdot = true;\n\t\t\t\tdp = nd;\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t\tcontinue;\n\t\t\t} else if (_1 === (48 <= c && c <= 57)) {\n\t\t\t\tsawdigits = true;\n\t\t\t\tif ((c === 48) && (nd === 0)) {\n\t\t\t\t\tdp = dp - (1) >> 0;\n\t\t\t\t\ti = i + (1) >> 0;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tnd = nd + (1) >> 0;\n\t\t\t\tif (ndMant < 19) {\n\t\t\t\t\tmantissa = $mul64(mantissa, (new $Uint64(0, 10)));\n\t\t\t\t\tmantissa = (x = (new $Uint64(0, (c - 48 << 24 >>> 24))), new $Uint64(mantissa.$high + x.$high, mantissa.$low + x.$low));\n\t\t\t\t\tndMant = ndMant + (1) >> 0;\n\t\t\t\t} else if (!((s.charCodeAt(i) === 48))) {\n\t\t\t\t\ttrunc = true;\n\t\t\t\t}\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t\tif (!sawdigits) {\n\t\t\treturn [mantissa, exp, neg, trunc, ok];\n\t\t}\n\t\tif (!sawdot) {\n\t\t\tdp = nd;\n\t\t}\n\t\tif (i < s.length && ((s.charCodeAt(i) === 101) || (s.charCodeAt(i) === 69))) {\n\t\t\ti = i + (1) >> 0;\n\t\t\tif (i >= s.length) {\n\t\t\t\treturn [mantissa, exp, neg, trunc, ok];\n\t\t\t}\n\t\t\tesign = 1;\n\t\t\tif (s.charCodeAt(i) === 43) {\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t} else if (s.charCodeAt(i) === 45) {\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t\tesign = -1;\n\t\t\t}\n\t\t\tif (i >= s.length || s.charCodeAt(i) < 48 || s.charCodeAt(i) > 57) {\n\t\t\t\treturn [mantissa, exp, neg, trunc, ok];\n\t\t\t}\n\t\t\te = 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(i < s.length && 48 <= s.charCodeAt(i) && s.charCodeAt(i) <= 57)) { break; }\n\t\t\t\tif (e < 10000) {\n\t\t\t\t\te = (($imul(e, 10)) + ((s.charCodeAt(i) >> 0)) >> 0) - 48 >> 0;\n\t\t\t\t}\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t}\n\t\t\tdp = dp + (($imul(e, esign))) >> 0;\n\t\t}\n\t\tif (!((i === s.length))) {\n\t\t\treturn [mantissa, exp, neg, trunc, ok];\n\t\t}\n\t\tif (!((mantissa.$high === 0 && mantissa.$low === 0))) {\n\t\t\texp = dp - ndMant >> 0;\n\t\t}\n\t\tok = true;\n\t\treturn [mantissa, exp, neg, trunc, ok];\n\t};\n\tdecimal.ptr.prototype.floatBits = function(flt) {\n\t\tvar _tmp, _tmp$1, b, bits$1, d, exp, flt, mant, n, n$1, n$2, overflow, x, x$1, x$2, x$3, x$4, x$5, x$6, x$7, x$8, y, y$1, y$2, y$3, $s;\n\t\t/* */ $s = 0; s: while (true) { switch ($s) { case 0:\n\t\tb = new $Uint64(0, 0);\n\t\toverflow = false;\n\t\td = this;\n\t\texp = 0;\n\t\tmant = new $Uint64(0, 0);\n\t\t/* */ if (d.nd === 0) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (d.nd === 0) { */ case 1:\n\t\t\tmant = new $Uint64(0, 0);\n\t\t\texp = flt.bias;\n\t\t\t/* goto out */ $s = 3; continue;\n\t\t/* } */ case 2:\n\t\t/* */ if (d.dp > 310) { $s = 4; continue; }\n\t\t/* */ $s = 5; continue;\n\t\t/* if (d.dp > 310) { */ case 4:\n\t\t\t/* goto overflow */ $s = 6; continue;\n\t\t/* } */ case 5:\n\t\t/* */ if (d.dp < -330) { $s = 7; continue; }\n\t\t/* */ $s = 8; continue;\n\t\t/* if (d.dp < -330) { */ case 7:\n\t\t\tmant = new $Uint64(0, 0);\n\t\t\texp = flt.bias;\n\t\t\t/* goto out */ $s = 3; continue;\n\t\t/* } */ case 8:\n\t\texp = 0;\n\t\twhile (true) {\n\t\t\tif (!(d.dp > 0)) { break; }\n\t\t\tn = 0;\n\t\t\tif (d.dp >= powtab.$length) {\n\t\t\t\tn = 27;\n\t\t\t} else {\n\t\t\t\tn = (x = d.dp, ((x < 0 || x >= powtab.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : powtab.$array[powtab.$offset + x]));\n\t\t\t}\n\t\t\td.Shift(-n);\n\t\t\texp = exp + (n) >> 0;\n\t\t}\n\t\twhile (true) {\n\t\t\tif (!(d.dp < 0 || (d.dp === 0) && d.d[0] < 53)) { break; }\n\t\t\tn$1 = 0;\n\t\t\tif (-d.dp >= powtab.$length) {\n\t\t\t\tn$1 = 27;\n\t\t\t} else {\n\t\t\t\tn$1 = (x$1 = -d.dp, ((x$1 < 0 || x$1 >= powtab.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : powtab.$array[powtab.$offset + x$1]));\n\t\t\t}\n\t\t\td.Shift(n$1);\n\t\t\texp = exp - (n$1) >> 0;\n\t\t}\n\t\texp = exp - (1) >> 0;\n\t\tif (exp < (flt.bias + 1 >> 0)) {\n\t\t\tn$2 = (flt.bias + 1 >> 0) - exp >> 0;\n\t\t\td.Shift(-n$2);\n\t\t\texp = exp + (n$2) >> 0;\n\t\t}\n\t\t/* */ if ((exp - flt.bias >> 0) >= (((y = flt.expbits, y < 32 ? (1 << y) : 0) >> 0) - 1 >> 0)) { $s = 9; continue; }\n\t\t/* */ $s = 10; continue;\n\t\t/* if ((exp - flt.bias >> 0) >= (((y = flt.expbits, y < 32 ? (1 << y) : 0) >> 0) - 1 >> 0)) { */ case 9:\n\t\t\t/* goto overflow */ $s = 6; continue;\n\t\t/* } */ case 10:\n\t\td.Shift((((1 + flt.mantbits >>> 0) >> 0)));\n\t\tmant = d.RoundedInteger();\n\t\t/* */ if ((x$2 = $shiftLeft64(new $Uint64(0, 2), flt.mantbits), (mant.$high === x$2.$high && mant.$low === x$2.$low))) { $s = 11; continue; }\n\t\t/* */ $s = 12; continue;\n\t\t/* if ((x$2 = $shiftLeft64(new $Uint64(0, 2), flt.mantbits), (mant.$high === x$2.$high && mant.$low === x$2.$low))) { */ case 11:\n\t\t\tmant = $shiftRightUint64(mant, (1));\n\t\t\texp = exp + (1) >> 0;\n\t\t\t/* */ if ((exp - flt.bias >> 0) >= (((y$1 = flt.expbits, y$1 < 32 ? (1 << y$1) : 0) >> 0) - 1 >> 0)) { $s = 13; continue; }\n\t\t\t/* */ $s = 14; continue;\n\t\t\t/* if ((exp - flt.bias >> 0) >= (((y$1 = flt.expbits, y$1 < 32 ? (1 << y$1) : 0) >> 0) - 1 >> 0)) { */ case 13:\n\t\t\t\t/* goto overflow */ $s = 6; continue;\n\t\t\t/* } */ case 14:\n\t\t/* } */ case 12:\n\t\tif ((x$3 = (x$4 = $shiftLeft64(new $Uint64(0, 1), flt.mantbits), new $Uint64(mant.$high & x$4.$high, (mant.$low & x$4.$low) >>> 0)), (x$3.$high === 0 && x$3.$low === 0))) {\n\t\t\texp = flt.bias;\n\t\t}\n\t\t/* goto out */ $s = 3; continue;\n\t\t/* overflow: */ case 6:\n\t\tmant = new $Uint64(0, 0);\n\t\texp = (((y$2 = flt.expbits, y$2 < 32 ? (1 << y$2) : 0) >> 0) - 1 >> 0) + flt.bias >> 0;\n\t\toverflow = true;\n\t\t/* out: */ case 3:\n\t\tbits$1 = (x$5 = (x$6 = $shiftLeft64(new $Uint64(0, 1), flt.mantbits), new $Uint64(x$6.$high - 0, x$6.$low - 1)), new $Uint64(mant.$high & x$5.$high, (mant.$low & x$5.$low) >>> 0));\n\t\tbits$1 = (x$7 = $shiftLeft64((new $Uint64(0, (((exp - flt.bias >> 0)) & ((((y$3 = flt.expbits, y$3 < 32 ? (1 << y$3) : 0) >> 0) - 1 >> 0))))), flt.mantbits), new $Uint64(bits$1.$high | x$7.$high, (bits$1.$low | x$7.$low) >>> 0));\n\t\tif (d.neg) {\n\t\t\tbits$1 = (x$8 = $shiftLeft64($shiftLeft64(new $Uint64(0, 1), flt.mantbits), flt.expbits), new $Uint64(bits$1.$high | x$8.$high, (bits$1.$low | x$8.$low) >>> 0));\n\t\t}\n\t\t_tmp = bits$1;\n\t\t_tmp$1 = overflow;\n\t\tb = _tmp;\n\t\toverflow = _tmp$1;\n\t\t$s = -1; return [b, overflow];\n\t\t/* */ } return; }\n\t};\n\tdecimal.prototype.floatBits = function(flt) { return this.$val.floatBits(flt); };\n\tatof64exact = function(mantissa, exp, neg) {\n\t\tvar _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, exp, f, mantissa, neg, ok, x, x$1, x$2;\n\t\tf = 0;\n\t\tok = false;\n\t\tif (!((x = $shiftRightUint64(mantissa, float64info.mantbits), (x.$high === 0 && x.$low === 0)))) {\n\t\t\treturn [f, ok];\n\t\t}\n\t\tf = ($flatten64(mantissa));\n\t\tif (neg) {\n\t\t\tf = -f;\n\t\t}\n\t\tif ((exp === 0)) {\n\t\t\t_tmp = f;\n\t\t\t_tmp$1 = true;\n\t\t\tf = _tmp;\n\t\t\tok = _tmp$1;\n\t\t\treturn [f, ok];\n\t\t} else if (exp > 0 && exp <= 37) {\n\t\t\tif (exp > 22) {\n\t\t\t\tf = f * ((x$1 = exp - 22 >> 0, ((x$1 < 0 || x$1 >= float64pow10.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : float64pow10.$array[float64pow10.$offset + x$1])));\n\t\t\t\texp = 22;\n\t\t\t}\n\t\t\tif (f > 1e+15 || f < -1e+15) {\n\t\t\t\treturn [f, ok];\n\t\t\t}\n\t\t\t_tmp$2 = f * ((exp < 0 || exp >= float64pow10.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : float64pow10.$array[float64pow10.$offset + exp]);\n\t\t\t_tmp$3 = true;\n\t\t\tf = _tmp$2;\n\t\t\tok = _tmp$3;\n\t\t\treturn [f, ok];\n\t\t} else if (exp < 0 && exp >= -22) {\n\t\t\t_tmp$4 = f / (x$2 = -exp, ((x$2 < 0 || x$2 >= float64pow10.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : float64pow10.$array[float64pow10.$offset + x$2]));\n\t\t\t_tmp$5 = true;\n\t\t\tf = _tmp$4;\n\t\t\tok = _tmp$5;\n\t\t\treturn [f, ok];\n\t\t}\n\t\treturn [f, ok];\n\t};\n\tatof32exact = function(mantissa, exp, neg) {\n\t\tvar _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, exp, f, mantissa, neg, ok, x, x$1, x$2;\n\t\tf = 0;\n\t\tok = false;\n\t\tif (!((x = $shiftRightUint64(mantissa, float32info.mantbits), (x.$high === 0 && x.$low === 0)))) {\n\t\t\treturn [f, ok];\n\t\t}\n\t\tf = ($flatten64(mantissa));\n\t\tif (neg) {\n\t\t\tf = -f;\n\t\t}\n\t\tif ((exp === 0)) {\n\t\t\t_tmp = f;\n\t\t\t_tmp$1 = true;\n\t\t\tf = _tmp;\n\t\t\tok = _tmp$1;\n\t\t\treturn [f, ok];\n\t\t} else if (exp > 0 && exp <= 17) {\n\t\t\tif (exp > 10) {\n\t\t\t\tf = $fround(f * ((x$1 = exp - 10 >> 0, ((x$1 < 0 || x$1 >= float32pow10.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : float32pow10.$array[float32pow10.$offset + x$1]))));\n\t\t\t\texp = 10;\n\t\t\t}\n\t\t\tif (f > 1e+07 || f < -1e+07) {\n\t\t\t\treturn [f, ok];\n\t\t\t}\n\t\t\t_tmp$2 = $fround(f * ((exp < 0 || exp >= float32pow10.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : float32pow10.$array[float32pow10.$offset + exp]));\n\t\t\t_tmp$3 = true;\n\t\t\tf = _tmp$2;\n\t\t\tok = _tmp$3;\n\t\t\treturn [f, ok];\n\t\t} else if (exp < 0 && exp >= -10) {\n\t\t\t_tmp$4 = $fround(f / (x$2 = -exp, ((x$2 < 0 || x$2 >= float32pow10.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : float32pow10.$array[float32pow10.$offset + x$2])));\n\t\t\t_tmp$5 = true;\n\t\t\tf = _tmp$4;\n\t\t\tok = _tmp$5;\n\t\t\treturn [f, ok];\n\t\t}\n\t\treturn [f, ok];\n\t};\n\tatof32 = function(s) {\n\t\tvar _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, _tuple, _tuple$1, _tuple$2, _tuple$3, _tuple$4, b, b$1, d, err, exp, ext, f, f$1, mantissa, neg, ok, ok$1, ok$2, ok$3, ovf, ovf$1, s, trunc, val;\n\t\tf = 0;\n\t\terr = $ifaceNil;\n\t\t_tuple = special(s);\n\t\tval = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\t_tmp = ($fround(val));\n\t\t\t_tmp$1 = $ifaceNil;\n\t\t\tf = _tmp;\n\t\t\terr = _tmp$1;\n\t\t\treturn [f, err];\n\t\t}\n\t\tif (optimize) {\n\t\t\t_tuple$1 = readFloat(s);\n\t\t\tmantissa = _tuple$1[0];\n\t\t\texp = _tuple$1[1];\n\t\t\tneg = _tuple$1[2];\n\t\t\ttrunc = _tuple$1[3];\n\t\t\tok$1 = _tuple$1[4];\n\t\t\tif (ok$1) {\n\t\t\t\tif (!trunc) {\n\t\t\t\t\t_tuple$2 = atof32exact(mantissa, exp, neg);\n\t\t\t\t\tf$1 = _tuple$2[0];\n\t\t\t\t\tok$2 = _tuple$2[1];\n\t\t\t\t\tif (ok$2) {\n\t\t\t\t\t\t_tmp$2 = f$1;\n\t\t\t\t\t\t_tmp$3 = $ifaceNil;\n\t\t\t\t\t\tf = _tmp$2;\n\t\t\t\t\t\terr = _tmp$3;\n\t\t\t\t\t\treturn [f, err];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\text = new extFloat.ptr(new $Uint64(0, 0), 0, false);\n\t\t\t\tok$3 = ext.AssignDecimal(mantissa, exp, neg, trunc, float32info);\n\t\t\t\tif (ok$3) {\n\t\t\t\t\t_tuple$3 = ext.floatBits(float32info);\n\t\t\t\t\tb = _tuple$3[0];\n\t\t\t\t\tovf = _tuple$3[1];\n\t\t\t\t\tf = math.Float32frombits(((b.$low >>> 0)));\n\t\t\t\t\tif (ovf) {\n\t\t\t\t\t\terr = rangeError(\"ParseFloat\", s);\n\t\t\t\t\t}\n\t\t\t\t\t_tmp$4 = f;\n\t\t\t\t\t_tmp$5 = err;\n\t\t\t\t\tf = _tmp$4;\n\t\t\t\t\terr = _tmp$5;\n\t\t\t\t\treturn [f, err];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\td = new decimal.ptr(arrayType.zero(), 0, 0, false, false);\n\t\tif (!d.set(s)) {\n\t\t\t_tmp$6 = 0;\n\t\t\t_tmp$7 = syntaxError(\"ParseFloat\", s);\n\t\t\tf = _tmp$6;\n\t\t\terr = _tmp$7;\n\t\t\treturn [f, err];\n\t\t}\n\t\t_tuple$4 = d.floatBits(float32info);\n\t\tb$1 = _tuple$4[0];\n\t\tovf$1 = _tuple$4[1];\n\t\tf = math.Float32frombits(((b$1.$low >>> 0)));\n\t\tif (ovf$1) {\n\t\t\terr = rangeError(\"ParseFloat\", s);\n\t\t}\n\t\t_tmp$8 = f;\n\t\t_tmp$9 = err;\n\t\tf = _tmp$8;\n\t\terr = _tmp$9;\n\t\treturn [f, err];\n\t};\n\tatof64 = function(s) {\n\t\tvar _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, _tuple, _tuple$1, _tuple$2, _tuple$3, _tuple$4, b, b$1, d, err, exp, ext, f, f$1, mantissa, neg, ok, ok$1, ok$2, ok$3, ovf, ovf$1, s, trunc, val;\n\t\tf = 0;\n\t\terr = $ifaceNil;\n\t\t_tuple = special(s);\n\t\tval = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\t_tmp = val;\n\t\t\t_tmp$1 = $ifaceNil;\n\t\t\tf = _tmp;\n\t\t\terr = _tmp$1;\n\t\t\treturn [f, err];\n\t\t}\n\t\tif (optimize) {\n\t\t\t_tuple$1 = readFloat(s);\n\t\t\tmantissa = _tuple$1[0];\n\t\t\texp = _tuple$1[1];\n\t\t\tneg = _tuple$1[2];\n\t\t\ttrunc = _tuple$1[3];\n\t\t\tok$1 = _tuple$1[4];\n\t\t\tif (ok$1) {\n\t\t\t\tif (!trunc) {\n\t\t\t\t\t_tuple$2 = atof64exact(mantissa, exp, neg);\n\t\t\t\t\tf$1 = _tuple$2[0];\n\t\t\t\t\tok$2 = _tuple$2[1];\n\t\t\t\t\tif (ok$2) {\n\t\t\t\t\t\t_tmp$2 = f$1;\n\t\t\t\t\t\t_tmp$3 = $ifaceNil;\n\t\t\t\t\t\tf = _tmp$2;\n\t\t\t\t\t\terr = _tmp$3;\n\t\t\t\t\t\treturn [f, err];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\text = new extFloat.ptr(new $Uint64(0, 0), 0, false);\n\t\t\t\tok$3 = ext.AssignDecimal(mantissa, exp, neg, trunc, float64info);\n\t\t\t\tif (ok$3) {\n\t\t\t\t\t_tuple$3 = ext.floatBits(float64info);\n\t\t\t\t\tb = _tuple$3[0];\n\t\t\t\t\tovf = _tuple$3[1];\n\t\t\t\t\tf = math.Float64frombits(b);\n\t\t\t\t\tif (ovf) {\n\t\t\t\t\t\terr = rangeError(\"ParseFloat\", s);\n\t\t\t\t\t}\n\t\t\t\t\t_tmp$4 = f;\n\t\t\t\t\t_tmp$5 = err;\n\t\t\t\t\tf = _tmp$4;\n\t\t\t\t\terr = _tmp$5;\n\t\t\t\t\treturn [f, err];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\td = new decimal.ptr(arrayType.zero(), 0, 0, false, false);\n\t\tif (!d.set(s)) {\n\t\t\t_tmp$6 = 0;\n\t\t\t_tmp$7 = syntaxError(\"ParseFloat\", s);\n\t\t\tf = _tmp$6;\n\t\t\terr = _tmp$7;\n\t\t\treturn [f, err];\n\t\t}\n\t\t_tuple$4 = d.floatBits(float64info);\n\t\tb$1 = _tuple$4[0];\n\t\tovf$1 = _tuple$4[1];\n\t\tf = math.Float64frombits(b$1);\n\t\tif (ovf$1) {\n\t\t\terr = rangeError(\"ParseFloat\", s);\n\t\t}\n\t\t_tmp$8 = f;\n\t\t_tmp$9 = err;\n\t\tf = _tmp$8;\n\t\terr = _tmp$9;\n\t\treturn [f, err];\n\t};\n\tParseFloat = function(s, bitSize) {\n\t\tvar _tuple, bitSize, err, f, s;\n\t\tif (bitSize === 32) {\n\t\t\t_tuple = atof32(s);\n\t\t\tf = _tuple[0];\n\t\t\terr = _tuple[1];\n\t\t\treturn [(f), err];\n\t\t}\n\t\treturn atof64(s);\n\t};\n\t$pkg.ParseFloat = ParseFloat;\n\tNumError.ptr.prototype.Error = function() {\n\t\tvar _r, e, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; e = $f.e; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\te = this;\n\t\t_r = e.Err.Error(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return \"strconv.\" + e.Func + \": \" + \"parsing \" + Quote(e.Num) + \": \" + _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: NumError.ptr.prototype.Error }; } $f._r = _r; $f.e = e; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tNumError.prototype.Error = function() { return this.$val.Error(); };\n\tsyntaxError = function(fn, str) {\n\t\tvar fn, str;\n\t\treturn new NumError.ptr(fn, str, $pkg.ErrSyntax);\n\t};\n\trangeError = function(fn, str) {\n\t\tvar fn, str;\n\t\treturn new NumError.ptr(fn, str, $pkg.ErrRange);\n\t};\n\tbaseError = function(fn, str, base) {\n\t\tvar base, fn, str;\n\t\treturn new NumError.ptr(fn, str, errors.New(\"invalid base \" + Itoa(base)));\n\t};\n\tbitSizeError = function(fn, str, bitSize) {\n\t\tvar bitSize, fn, str;\n\t\treturn new NumError.ptr(fn, str, errors.New(\"invalid bit size \" + Itoa(bitSize)));\n\t};\n\tParseUint = function(s, base, bitSize) {\n\t\tvar _1, _i, _ref, base, bitSize, c, cutoff, d, maxVal, n, n1, s, s0, x, x$1, x$2;\n\t\tif (s.length === 0) {\n\t\t\treturn [new $Uint64(0, 0), syntaxError(\"ParseUint\", s)];\n\t\t}\n\t\ts0 = s;\n\t\tif (2 <= base && base <= 36) {\n\t\t} else if ((base === 0)) {\n\t\t\tif ((s.charCodeAt(0) === 48) && s.length > 1 && ((s.charCodeAt(1) === 120) || (s.charCodeAt(1) === 88))) {\n\t\t\t\tif (s.length < 3) {\n\t\t\t\t\treturn [new $Uint64(0, 0), syntaxError(\"ParseUint\", s0)];\n\t\t\t\t}\n\t\t\t\tbase = 16;\n\t\t\t\ts = $substring(s, 2);\n\t\t\t} else if ((s.charCodeAt(0) === 48)) {\n\t\t\t\tbase = 8;\n\t\t\t\ts = $substring(s, 1);\n\t\t\t} else {\n\t\t\t\tbase = 10;\n\t\t\t}\n\t\t} else {\n\t\t\treturn [new $Uint64(0, 0), baseError(\"ParseUint\", s0, base)];\n\t\t}\n\t\tif (bitSize === 0) {\n\t\t\tbitSize = 32;\n\t\t} else if (bitSize < 0 || bitSize > 64) {\n\t\t\treturn [new $Uint64(0, 0), bitSizeError(\"ParseUint\", s0, bitSize)];\n\t\t}\n\t\tcutoff = new $Uint64(0, 0);\n\t\t_1 = base;\n\t\tif (_1 === (10)) {\n\t\t\tcutoff = new $Uint64(429496729, 2576980378);\n\t\t} else if (_1 === (16)) {\n\t\t\tcutoff = new $Uint64(268435456, 0);\n\t\t} else {\n\t\t\tcutoff = (x = $div64(new $Uint64(4294967295, 4294967295), (new $Uint64(0, base)), false), new $Uint64(x.$high + 0, x.$low + 1));\n\t\t}\n\t\tmaxVal = (x$1 = $shiftLeft64(new $Uint64(0, 1), ((bitSize >>> 0))), new $Uint64(x$1.$high - 0, x$1.$low - 1));\n\t\tn = new $Uint64(0, 0);\n\t\t_ref = (new sliceType$6($stringToBytes(s)));\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\tc = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\td = 0;\n\t\t\tif (48 <= c && c <= 57) {\n\t\t\t\td = c - 48 << 24 >>> 24;\n\t\t\t} else if (97 <= c && c <= 122) {\n\t\t\t\td = (c - 97 << 24 >>> 24) + 10 << 24 >>> 24;\n\t\t\t} else if (65 <= c && c <= 90) {\n\t\t\t\td = (c - 65 << 24 >>> 24) + 10 << 24 >>> 24;\n\t\t\t} else {\n\t\t\t\treturn [new $Uint64(0, 0), syntaxError(\"ParseUint\", s0)];\n\t\t\t}\n\t\t\tif (d >= ((base << 24 >>> 24))) {\n\t\t\t\treturn [new $Uint64(0, 0), syntaxError(\"ParseUint\", s0)];\n\t\t\t}\n\t\t\tif ((n.$high > cutoff.$high || (n.$high === cutoff.$high && n.$low >= cutoff.$low))) {\n\t\t\t\treturn [maxVal, rangeError(\"ParseUint\", s0)];\n\t\t\t}\n\t\t\tn = $mul64(n, ((new $Uint64(0, base))));\n\t\t\tn1 = (x$2 = (new $Uint64(0, d)), new $Uint64(n.$high + x$2.$high, n.$low + x$2.$low));\n\t\t\tif ((n1.$high < n.$high || (n1.$high === n.$high && n1.$low < n.$low)) || (n1.$high > maxVal.$high || (n1.$high === maxVal.$high && n1.$low > maxVal.$low))) {\n\t\t\t\treturn [maxVal, rangeError(\"ParseUint\", s0)];\n\t\t\t}\n\t\t\tn = n1;\n\t\t\t_i++;\n\t\t}\n\t\treturn [n, $ifaceNil];\n\t};\n\t$pkg.ParseUint = ParseUint;\n\tParseInt = function(s, base, bitSize) {\n\t\tvar _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, _tuple, base, bitSize, cutoff, err, i, n, neg, s, s0, un, x, x$1;\n\t\ti = new $Int64(0, 0);\n\t\terr = $ifaceNil;\n\t\tif (s.length === 0) {\n\t\t\t_tmp = new $Int64(0, 0);\n\t\t\t_tmp$1 = syntaxError(\"ParseInt\", s);\n\t\t\ti = _tmp;\n\t\t\terr = _tmp$1;\n\t\t\treturn [i, err];\n\t\t}\n\t\ts0 = s;\n\t\tneg = false;\n\t\tif (s.charCodeAt(0) === 43) {\n\t\t\ts = $substring(s, 1);\n\t\t} else if (s.charCodeAt(0) === 45) {\n\t\t\tneg = true;\n\t\t\ts = $substring(s, 1);\n\t\t}\n\t\tun = new $Uint64(0, 0);\n\t\t_tuple = ParseUint(s, base, bitSize);\n\t\tun = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil)) && !($interfaceIsEqual($assertType(err, ptrType).Err, $pkg.ErrRange))) {\n\t\t\t$assertType(err, ptrType).Func = \"ParseInt\";\n\t\t\t$assertType(err, ptrType).Num = s0;\n\t\t\t_tmp$2 = new $Int64(0, 0);\n\t\t\t_tmp$3 = err;\n\t\t\ti = _tmp$2;\n\t\t\terr = _tmp$3;\n\t\t\treturn [i, err];\n\t\t}\n\t\tif (bitSize === 0) {\n\t\t\tbitSize = 32;\n\t\t}\n\t\tcutoff = ($shiftLeft64(new $Uint64(0, 1), (((bitSize - 1 >> 0) >>> 0))));\n\t\tif (!neg && (un.$high > cutoff.$high || (un.$high === cutoff.$high && un.$low >= cutoff.$low))) {\n\t\t\t_tmp$4 = ((x = new $Uint64(cutoff.$high - 0, cutoff.$low - 1), new $Int64(x.$high, x.$low)));\n\t\t\t_tmp$5 = rangeError(\"ParseInt\", s0);\n\t\t\ti = _tmp$4;\n\t\t\terr = _tmp$5;\n\t\t\treturn [i, err];\n\t\t}\n\t\tif (neg && (un.$high > cutoff.$high || (un.$high === cutoff.$high && un.$low > cutoff.$low))) {\n\t\t\t_tmp$6 = (x$1 = (new $Int64(cutoff.$high, cutoff.$low)), new $Int64(-x$1.$high, -x$1.$low));\n\t\t\t_tmp$7 = rangeError(\"ParseInt\", s0);\n\t\t\ti = _tmp$6;\n\t\t\terr = _tmp$7;\n\t\t\treturn [i, err];\n\t\t}\n\t\tn = (new $Int64(un.$high, un.$low));\n\t\tif (neg) {\n\t\t\tn = new $Int64(-n.$high, -n.$low);\n\t\t}\n\t\t_tmp$8 = n;\n\t\t_tmp$9 = $ifaceNil;\n\t\ti = _tmp$8;\n\t\terr = _tmp$9;\n\t\treturn [i, err];\n\t};\n\t$pkg.ParseInt = ParseInt;\n\tAtoi = function(s) {\n\t\tvar _i, _ref, _tuple, _tuple$1, ch, err, i64, n, nerr, ok, s, s0, sLen;\n\t\tsLen = s.length;\n\t\tif (true && (0 < sLen && sLen < 10) || false && (0 < sLen && sLen < 19)) {\n\t\t\ts0 = s;\n\t\t\tif ((s.charCodeAt(0) === 45) || (s.charCodeAt(0) === 43)) {\n\t\t\t\ts = $substring(s, 1);\n\t\t\t\tif (s.length < 1) {\n\t\t\t\t\treturn [0, new NumError.ptr(\"Atoi\", s0, $pkg.ErrSyntax)];\n\t\t\t\t}\n\t\t\t}\n\t\t\tn = 0;\n\t\t\t_ref = (new sliceType$6($stringToBytes(s)));\n\t\t\t_i = 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\t\tch = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\t\tch = ch - (48) << 24 >>> 24;\n\t\t\t\tif (ch > 9) {\n\t\t\t\t\treturn [0, new NumError.ptr(\"Atoi\", s0, $pkg.ErrSyntax)];\n\t\t\t\t}\n\t\t\t\tn = ($imul(n, 10)) + ((ch >> 0)) >> 0;\n\t\t\t\t_i++;\n\t\t\t}\n\t\t\tif (s0.charCodeAt(0) === 45) {\n\t\t\t\tn = -n;\n\t\t\t}\n\t\t\treturn [n, $ifaceNil];\n\t\t}\n\t\t_tuple = ParseInt(s, 10, 0);\n\t\ti64 = _tuple[0];\n\t\terr = _tuple[1];\n\t\t_tuple$1 = $assertType(err, ptrType, true);\n\t\tnerr = _tuple$1[0];\n\t\tok = _tuple$1[1];\n\t\tif (ok) {\n\t\t\tnerr.Func = \"Atoi\";\n\t\t}\n\t\treturn [(((i64.$low + ((i64.$high >> 31) * 4294967296)) >> 0)), err];\n\t};\n\t$pkg.Atoi = Atoi;\n\tdecimal.ptr.prototype.String = function() {\n\t\tvar a, buf, n, w;\n\t\ta = this;\n\t\tn = 10 + a.nd >> 0;\n\t\tif (a.dp > 0) {\n\t\t\tn = n + (a.dp) >> 0;\n\t\t}\n\t\tif (a.dp < 0) {\n\t\t\tn = n + (-a.dp) >> 0;\n\t\t}\n\t\tbuf = $makeSlice(sliceType$6, n);\n\t\tw = 0;\n\t\tif ((a.nd === 0)) {\n\t\t\treturn \"0\";\n\t\t} else if (a.dp <= 0) {\n\t\t\t((w < 0 || w >= buf.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + w] = 48);\n\t\t\tw = w + (1) >> 0;\n\t\t\t((w < 0 || w >= buf.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + w] = 46);\n\t\t\tw = w + (1) >> 0;\n\t\t\tw = w + (digitZero($subslice(buf, w, (w + -a.dp >> 0)))) >> 0;\n\t\t\tw = w + ($copySlice($subslice(buf, w), $subslice(new sliceType$6(a.d), 0, a.nd))) >> 0;\n\t\t} else if (a.dp < a.nd) {\n\t\t\tw = w + ($copySlice($subslice(buf, w), $subslice(new sliceType$6(a.d), 0, a.dp))) >> 0;\n\t\t\t((w < 0 || w >= buf.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + w] = 46);\n\t\t\tw = w + (1) >> 0;\n\t\t\tw = w + ($copySlice($subslice(buf, w), $subslice(new sliceType$6(a.d), a.dp, a.nd))) >> 0;\n\t\t} else {\n\t\t\tw = w + ($copySlice($subslice(buf, w), $subslice(new sliceType$6(a.d), 0, a.nd))) >> 0;\n\t\t\tw = w + (digitZero($subslice(buf, w, ((w + a.dp >> 0) - a.nd >> 0)))) >> 0;\n\t\t}\n\t\treturn ($bytesToString($subslice(buf, 0, w)));\n\t};\n\tdecimal.prototype.String = function() { return this.$val.String(); };\n\tdigitZero = function(dst) {\n\t\tvar _i, _ref, dst, i;\n\t\t_ref = dst;\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\ti = _i;\n\t\t\t((i < 0 || i >= dst.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : dst.$array[dst.$offset + i] = 48);\n\t\t\t_i++;\n\t\t}\n\t\treturn dst.$length;\n\t};\n\ttrim = function(a) {\n\t\tvar a, x, x$1;\n\t\twhile (true) {\n\t\t\tif (!(a.nd > 0 && ((x = a.d, x$1 = a.nd - 1 >> 0, ((x$1 < 0 || x$1 >= x.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x[x$1])) === 48))) { break; }\n\t\t\ta.nd = a.nd - (1) >> 0;\n\t\t}\n\t\tif (a.nd === 0) {\n\t\t\ta.dp = 0;\n\t\t}\n\t};\n\tdecimal.ptr.prototype.Assign = function(v) {\n\t\tvar a, buf, n, v, v1, x, x$1, x$2;\n\t\ta = this;\n\t\tbuf = arrayType$1.zero();\n\t\tn = 0;\n\t\twhile (true) {\n\t\t\tif (!((v.$high > 0 || (v.$high === 0 && v.$low > 0)))) { break; }\n\t\t\tv1 = $div64(v, new $Uint64(0, 10), false);\n\t\t\tv = (x = $mul64(new $Uint64(0, 10), v1), new $Uint64(v.$high - x.$high, v.$low - x.$low));\n\t\t\t((n < 0 || n >= buf.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf[n] = ((new $Uint64(v.$high + 0, v.$low + 48).$low << 24 >>> 24)));\n\t\t\tn = n + (1) >> 0;\n\t\t\tv = v1;\n\t\t}\n\t\ta.nd = 0;\n\t\tn = n - (1) >> 0;\n\t\twhile (true) {\n\t\t\tif (!(n >= 0)) { break; }\n\t\t\t(x$1 = a.d, x$2 = a.nd, ((x$2 < 0 || x$2 >= x$1.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$1[x$2] = ((n < 0 || n >= buf.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf[n])));\n\t\t\ta.nd = a.nd + (1) >> 0;\n\t\t\tn = n - (1) >> 0;\n\t\t}\n\t\ta.dp = a.nd;\n\t\ttrim(a);\n\t};\n\tdecimal.prototype.Assign = function(v) { return this.$val.Assign(v); };\n\trightShift = function(a, k) {\n\t\tvar a, c, c$1, dig, dig$1, k, mask, n, r, w, x, x$1, x$2, x$3, y, y$1, y$2, y$3, y$4;\n\t\tr = 0;\n\t\tw = 0;\n\t\tn = 0;\n\t\twhile (true) {\n\t\t\tif (!(((y = k, y < 32 ? (n >>> y) : 0) >>> 0) === 0)) { break; }\n\t\t\tif (r >= a.nd) {\n\t\t\t\tif (n === 0) {\n\t\t\t\t\ta.nd = 0;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (!(((y$1 = k, y$1 < 32 ? (n >>> y$1) : 0) >>> 0) === 0)) { break; }\n\t\t\t\t\tn = n * 10 >>> 0;\n\t\t\t\t\tr = r + (1) >> 0;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tc = (((x = a.d, ((r < 0 || r >= x.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x[r])) >>> 0));\n\t\t\tn = ((n * 10 >>> 0) + c >>> 0) - 48 >>> 0;\n\t\t\tr = r + (1) >> 0;\n\t\t}\n\t\ta.dp = a.dp - ((r - 1 >> 0)) >> 0;\n\t\tmask = (((y$2 = k, y$2 < 32 ? (1 << y$2) : 0) >>> 0)) - 1 >>> 0;\n\t\twhile (true) {\n\t\t\tif (!(r < a.nd)) { break; }\n\t\t\tc$1 = (((x$1 = a.d, ((r < 0 || r >= x$1.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$1[r])) >>> 0));\n\t\t\tdig = (y$3 = k, y$3 < 32 ? (n >>> y$3) : 0) >>> 0;\n\t\t\tn = (n & (mask)) >>> 0;\n\t\t\t(x$2 = a.d, ((w < 0 || w >= x$2.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$2[w] = (((dig + 48 >>> 0) << 24 >>> 24))));\n\t\t\tw = w + (1) >> 0;\n\t\t\tn = ((n * 10 >>> 0) + c$1 >>> 0) - 48 >>> 0;\n\t\t\tr = r + (1) >> 0;\n\t\t}\n\t\twhile (true) {\n\t\t\tif (!(n > 0)) { break; }\n\t\t\tdig$1 = (y$4 = k, y$4 < 32 ? (n >>> y$4) : 0) >>> 0;\n\t\t\tn = (n & (mask)) >>> 0;\n\t\t\tif (w < 800) {\n\t\t\t\t(x$3 = a.d, ((w < 0 || w >= x$3.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$3[w] = (((dig$1 + 48 >>> 0) << 24 >>> 24))));\n\t\t\t\tw = w + (1) >> 0;\n\t\t\t} else if (dig$1 > 0) {\n\t\t\t\ta.trunc = true;\n\t\t\t}\n\t\t\tn = n * 10 >>> 0;\n\t\t}\n\t\ta.nd = w;\n\t\ttrim(a);\n\t};\n\tprefixIsLessThan = function(b, s) {\n\t\tvar b, i, s;\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < s.length)) { break; }\n\t\t\tif (i >= b.$length) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (!((((i < 0 || i >= b.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + i]) === s.charCodeAt(i)))) {\n\t\t\t\treturn ((i < 0 || i >= b.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + i]) < s.charCodeAt(i);\n\t\t\t}\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\treturn false;\n\t};\n\tleftShift = function(a, k) {\n\t\tvar _q, _q$1, a, delta, k, n, quo, quo$1, r, rem, rem$1, w, x, x$1, x$2, y;\n\t\tdelta = ((k < 0 || k >= leftcheats.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : leftcheats.$array[leftcheats.$offset + k]).delta;\n\t\tif (prefixIsLessThan($subslice(new sliceType$6(a.d), 0, a.nd), ((k < 0 || k >= leftcheats.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : leftcheats.$array[leftcheats.$offset + k]).cutoff)) {\n\t\t\tdelta = delta - (1) >> 0;\n\t\t}\n\t\tr = a.nd;\n\t\tw = a.nd + delta >> 0;\n\t\tn = 0;\n\t\tr = r - (1) >> 0;\n\t\twhile (true) {\n\t\t\tif (!(r >= 0)) { break; }\n\t\t\tn = n + (((y = k, y < 32 ? ((((((x = a.d, ((r < 0 || r >= x.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x[r])) >>> 0)) - 48 >>> 0)) << y) : 0) >>> 0)) >>> 0;\n\t\t\tquo = (_q = n / 10, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >>> 0 : $throwRuntimeError(\"integer divide by zero\"));\n\t\t\trem = n - (10 * quo >>> 0) >>> 0;\n\t\t\tw = w - (1) >> 0;\n\t\t\tif (w < 800) {\n\t\t\t\t(x$1 = a.d, ((w < 0 || w >= x$1.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$1[w] = (((rem + 48 >>> 0) << 24 >>> 24))));\n\t\t\t} else if (!((rem === 0))) {\n\t\t\t\ta.trunc = true;\n\t\t\t}\n\t\t\tn = quo;\n\t\t\tr = r - (1) >> 0;\n\t\t}\n\t\twhile (true) {\n\t\t\tif (!(n > 0)) { break; }\n\t\t\tquo$1 = (_q$1 = n / 10, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >>> 0 : $throwRuntimeError(\"integer divide by zero\"));\n\t\t\trem$1 = n - (10 * quo$1 >>> 0) >>> 0;\n\t\t\tw = w - (1) >> 0;\n\t\t\tif (w < 800) {\n\t\t\t\t(x$2 = a.d, ((w < 0 || w >= x$2.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$2[w] = (((rem$1 + 48 >>> 0) << 24 >>> 24))));\n\t\t\t} else if (!((rem$1 === 0))) {\n\t\t\t\ta.trunc = true;\n\t\t\t}\n\t\t\tn = quo$1;\n\t\t}\n\t\ta.nd = a.nd + (delta) >> 0;\n\t\tif (a.nd >= 800) {\n\t\t\ta.nd = 800;\n\t\t}\n\t\ta.dp = a.dp + (delta) >> 0;\n\t\ttrim(a);\n\t};\n\tdecimal.ptr.prototype.Shift = function(k) {\n\t\tvar a, k;\n\t\ta = this;\n\t\tif ((a.nd === 0)) {\n\t\t} else if (k > 0) {\n\t\t\twhile (true) {\n\t\t\t\tif (!(k > 28)) { break; }\n\t\t\t\tleftShift(a, 28);\n\t\t\t\tk = k - (28) >> 0;\n\t\t\t}\n\t\t\tleftShift(a, ((k >>> 0)));\n\t\t} else if (k < 0) {\n\t\t\twhile (true) {\n\t\t\t\tif (!(k < -28)) { break; }\n\t\t\t\trightShift(a, 28);\n\t\t\t\tk = k + (28) >> 0;\n\t\t\t}\n\t\t\trightShift(a, ((-k >>> 0)));\n\t\t}\n\t};\n\tdecimal.prototype.Shift = function(k) { return this.$val.Shift(k); };\n\tshouldRoundUp = function(a, nd) {\n\t\tvar _r, a, nd, x, x$1, x$2, x$3;\n\t\tif (nd < 0 || nd >= a.nd) {\n\t\t\treturn false;\n\t\t}\n\t\tif (((x = a.d, ((nd < 0 || nd >= x.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x[nd])) === 53) && ((nd + 1 >> 0) === a.nd)) {\n\t\t\tif (a.trunc) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn nd > 0 && !(((_r = (((x$1 = a.d, x$2 = nd - 1 >> 0, ((x$2 < 0 || x$2 >= x$1.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$1[x$2])) - 48 << 24 >>> 24)) % 2, _r === _r ? _r : $throwRuntimeError(\"integer divide by zero\")) === 0));\n\t\t}\n\t\treturn (x$3 = a.d, ((nd < 0 || nd >= x$3.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$3[nd])) >= 53;\n\t};\n\tdecimal.ptr.prototype.Round = function(nd) {\n\t\tvar a, nd;\n\t\ta = this;\n\t\tif (nd < 0 || nd >= a.nd) {\n\t\t\treturn;\n\t\t}\n\t\tif (shouldRoundUp(a, nd)) {\n\t\t\ta.RoundUp(nd);\n\t\t} else {\n\t\t\ta.RoundDown(nd);\n\t\t}\n\t};\n\tdecimal.prototype.Round = function(nd) { return this.$val.Round(nd); };\n\tdecimal.ptr.prototype.RoundDown = function(nd) {\n\t\tvar a, nd;\n\t\ta = this;\n\t\tif (nd < 0 || nd >= a.nd) {\n\t\t\treturn;\n\t\t}\n\t\ta.nd = nd;\n\t\ttrim(a);\n\t};\n\tdecimal.prototype.RoundDown = function(nd) { return this.$val.RoundDown(nd); };\n\tdecimal.ptr.prototype.RoundUp = function(nd) {\n\t\tvar a, c, i, nd, x, x$1, x$2;\n\t\ta = this;\n\t\tif (nd < 0 || nd >= a.nd) {\n\t\t\treturn;\n\t\t}\n\t\ti = nd - 1 >> 0;\n\t\twhile (true) {\n\t\t\tif (!(i >= 0)) { break; }\n\t\t\tc = (x = a.d, ((i < 0 || i >= x.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x[i]));\n\t\t\tif (c < 57) {\n\t\t\t\t(x$2 = a.d, ((i < 0 || i >= x$2.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$2[i] = ((x$1 = a.d, ((i < 0 || i >= x$1.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$1[i])) + (1) << 24 >>> 24)));\n\t\t\t\ta.nd = i + 1 >> 0;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\ti = i - (1) >> 0;\n\t\t}\n\t\ta.d[0] = 49;\n\t\ta.nd = 1;\n\t\ta.dp = a.dp + (1) >> 0;\n\t};\n\tdecimal.prototype.RoundUp = function(nd) { return this.$val.RoundUp(nd); };\n\tdecimal.ptr.prototype.RoundedInteger = function() {\n\t\tvar a, i, n, x, x$1, x$2, x$3;\n\t\ta = this;\n\t\tif (a.dp > 20) {\n\t\t\treturn new $Uint64(4294967295, 4294967295);\n\t\t}\n\t\ti = 0;\n\t\tn = new $Uint64(0, 0);\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < a.dp && i < a.nd)) { break; }\n\t\t\tn = (x = $mul64(n, new $Uint64(0, 10)), x$1 = (new $Uint64(0, ((x$2 = a.d, ((i < 0 || i >= x$2.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$2[i])) - 48 << 24 >>> 24))), new $Uint64(x.$high + x$1.$high, x.$low + x$1.$low));\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\twhile (true) {\n\t\t\tif (!(i < a.dp)) { break; }\n\t\t\tn = $mul64(n, (new $Uint64(0, 10)));\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\tif (shouldRoundUp(a, a.dp)) {\n\t\t\tn = (x$3 = new $Uint64(0, 1), new $Uint64(n.$high + x$3.$high, n.$low + x$3.$low));\n\t\t}\n\t\treturn n;\n\t};\n\tdecimal.prototype.RoundedInteger = function() { return this.$val.RoundedInteger(); };\n\textFloat.ptr.prototype.floatBits = function(flt) {\n\t\tvar bits$1, exp, f, flt, mant, n, overflow, x, x$1, x$10, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, y, y$1, y$2;\n\t\tbits$1 = new $Uint64(0, 0);\n\t\toverflow = false;\n\t\tf = this;\n\t\tf.Normalize();\n\t\texp = f.exp + 63 >> 0;\n\t\tif (exp < (flt.bias + 1 >> 0)) {\n\t\t\tn = (flt.bias + 1 >> 0) - exp >> 0;\n\t\t\tf.mant = $shiftRightUint64(f.mant, (((n >>> 0))));\n\t\t\texp = exp + (n) >> 0;\n\t\t}\n\t\tmant = $shiftRightUint64(f.mant, ((63 - flt.mantbits >>> 0)));\n\t\tif (!((x = (x$1 = f.mant, x$2 = $shiftLeft64(new $Uint64(0, 1), ((62 - flt.mantbits >>> 0))), new $Uint64(x$1.$high & x$2.$high, (x$1.$low & x$2.$low) >>> 0)), (x.$high === 0 && x.$low === 0)))) {\n\t\t\tmant = (x$3 = new $Uint64(0, 1), new $Uint64(mant.$high + x$3.$high, mant.$low + x$3.$low));\n\t\t}\n\t\tif ((x$4 = $shiftLeft64(new $Uint64(0, 2), flt.mantbits), (mant.$high === x$4.$high && mant.$low === x$4.$low))) {\n\t\t\tmant = $shiftRightUint64(mant, (1));\n\t\t\texp = exp + (1) >> 0;\n\t\t}\n\t\tif ((exp - flt.bias >> 0) >= (((y = flt.expbits, y < 32 ? (1 << y) : 0) >> 0) - 1 >> 0)) {\n\t\t\tmant = new $Uint64(0, 0);\n\t\t\texp = (((y$1 = flt.expbits, y$1 < 32 ? (1 << y$1) : 0) >> 0) - 1 >> 0) + flt.bias >> 0;\n\t\t\toverflow = true;\n\t\t} else if ((x$5 = (x$6 = $shiftLeft64(new $Uint64(0, 1), flt.mantbits), new $Uint64(mant.$high & x$6.$high, (mant.$low & x$6.$low) >>> 0)), (x$5.$high === 0 && x$5.$low === 0))) {\n\t\t\texp = flt.bias;\n\t\t}\n\t\tbits$1 = (x$7 = (x$8 = $shiftLeft64(new $Uint64(0, 1), flt.mantbits), new $Uint64(x$8.$high - 0, x$8.$low - 1)), new $Uint64(mant.$high & x$7.$high, (mant.$low & x$7.$low) >>> 0));\n\t\tbits$1 = (x$9 = $shiftLeft64((new $Uint64(0, (((exp - flt.bias >> 0)) & ((((y$2 = flt.expbits, y$2 < 32 ? (1 << y$2) : 0) >> 0) - 1 >> 0))))), flt.mantbits), new $Uint64(bits$1.$high | x$9.$high, (bits$1.$low | x$9.$low) >>> 0));\n\t\tif (f.neg) {\n\t\t\tbits$1 = (x$10 = $shiftLeft64(new $Uint64(0, 1), ((flt.mantbits + flt.expbits >>> 0))), new $Uint64(bits$1.$high | x$10.$high, (bits$1.$low | x$10.$low) >>> 0));\n\t\t}\n\t\treturn [bits$1, overflow];\n\t};\n\textFloat.prototype.floatBits = function(flt) { return this.$val.floatBits(flt); };\n\textFloat.ptr.prototype.AssignComputeBounds = function(mant, exp, neg, flt) {\n\t\tvar _tmp, _tmp$1, exp, expBiased, f, flt, lower, mant, neg, upper, x, x$1, x$2, x$3, x$4;\n\t\tlower = new extFloat.ptr(new $Uint64(0, 0), 0, false);\n\t\tupper = new extFloat.ptr(new $Uint64(0, 0), 0, false);\n\t\tf = this;\n\t\tf.mant = mant;\n\t\tf.exp = exp - ((flt.mantbits >> 0)) >> 0;\n\t\tf.neg = neg;\n\t\tif (f.exp <= 0 && (x = $shiftLeft64(($shiftRightUint64(mant, ((-f.exp >>> 0)))), ((-f.exp >>> 0))), (mant.$high === x.$high && mant.$low === x.$low))) {\n\t\t\tf.mant = $shiftRightUint64(f.mant, (((-f.exp >>> 0))));\n\t\t\tf.exp = 0;\n\t\t\t_tmp = $clone(f, extFloat);\n\t\t\t_tmp$1 = $clone(f, extFloat);\n\t\t\textFloat.copy(lower, _tmp);\n\t\t\textFloat.copy(upper, _tmp$1);\n\t\t\treturn [lower, upper];\n\t\t}\n\t\texpBiased = exp - flt.bias >> 0;\n\t\textFloat.copy(upper, new extFloat.ptr((x$1 = $mul64(new $Uint64(0, 2), f.mant), new $Uint64(x$1.$high + 0, x$1.$low + 1)), f.exp - 1 >> 0, f.neg));\n\t\tif (!((x$2 = $shiftLeft64(new $Uint64(0, 1), flt.mantbits), (mant.$high === x$2.$high && mant.$low === x$2.$low))) || (expBiased === 1)) {\n\t\t\textFloat.copy(lower, new extFloat.ptr((x$3 = $mul64(new $Uint64(0, 2), f.mant), new $Uint64(x$3.$high - 0, x$3.$low - 1)), f.exp - 1 >> 0, f.neg));\n\t\t} else {\n\t\t\textFloat.copy(lower, new extFloat.ptr((x$4 = $mul64(new $Uint64(0, 4), f.mant), new $Uint64(x$4.$high - 0, x$4.$low - 1)), f.exp - 2 >> 0, f.neg));\n\t\t}\n\t\treturn [lower, upper];\n\t};\n\textFloat.prototype.AssignComputeBounds = function(mant, exp, neg, flt) { return this.$val.AssignComputeBounds(mant, exp, neg, flt); };\n\textFloat.ptr.prototype.Normalize = function() {\n\t\tvar f, shift, x;\n\t\tf = this;\n\t\tif ((x = f.mant, (x.$high === 0 && x.$low === 0))) {\n\t\t\treturn 0;\n\t\t}\n\t\tshift = bits.LeadingZeros64(f.mant);\n\t\tf.mant = $shiftLeft64(f.mant, (((shift >>> 0))));\n\t\tf.exp = f.exp - (shift) >> 0;\n\t\treturn ((shift >>> 0));\n\t};\n\textFloat.prototype.Normalize = function() { return this.$val.Normalize(); };\n\textFloat.ptr.prototype.Multiply = function(g) {\n\t\tvar _tmp, _tmp$1, _tmp$2, _tmp$3, cross1, cross2, f, fhi, flo, g, ghi, glo, rem, x, x$1, x$10, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9;\n\t\tf = this;\n\t\t_tmp = $shiftRightUint64(f.mant, 32);\n\t\t_tmp$1 = (new $Uint64(0, ((f.mant.$low >>> 0))));\n\t\tfhi = _tmp;\n\t\tflo = _tmp$1;\n\t\t_tmp$2 = $shiftRightUint64(g.mant, 32);\n\t\t_tmp$3 = (new $Uint64(0, ((g.mant.$low >>> 0))));\n\t\tghi = _tmp$2;\n\t\tglo = _tmp$3;\n\t\tcross1 = $mul64(fhi, glo);\n\t\tcross2 = $mul64(flo, ghi);\n\t\tf.mant = (x = (x$1 = $mul64(fhi, ghi), x$2 = $shiftRightUint64(cross1, 32), new $Uint64(x$1.$high + x$2.$high, x$1.$low + x$2.$low)), x$3 = $shiftRightUint64(cross2, 32), new $Uint64(x.$high + x$3.$high, x.$low + x$3.$low));\n\t\trem = (x$4 = (x$5 = (new $Uint64(0, ((cross1.$low >>> 0)))), x$6 = (new $Uint64(0, ((cross2.$low >>> 0)))), new $Uint64(x$5.$high + x$6.$high, x$5.$low + x$6.$low)), x$7 = $shiftRightUint64(($mul64(flo, glo)), 32), new $Uint64(x$4.$high + x$7.$high, x$4.$low + x$7.$low));\n\t\trem = (x$8 = new $Uint64(0, 2147483648), new $Uint64(rem.$high + x$8.$high, rem.$low + x$8.$low));\n\t\tf.mant = (x$9 = f.mant, x$10 = ($shiftRightUint64(rem, 32)), new $Uint64(x$9.$high + x$10.$high, x$9.$low + x$10.$low));\n\t\tf.exp = (f.exp + g.exp >> 0) + 64 >> 0;\n\t};\n\textFloat.prototype.Multiply = function(g) { return this.$val.Multiply(g); };\n\textFloat.ptr.prototype.AssignDecimal = function(mantissa, exp10, neg, trunc, flt) {\n\t\tvar _q, _r, adjExp, denormalExp, errors$1, exp10, extrabits, f, flt, halfway, i, mant_extra, mantissa, neg, ok, shift, trunc, x, x$1, x$10, x$11, x$12, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, y;\n\t\tok = false;\n\t\tf = this;\n\t\terrors$1 = 0;\n\t\tif (trunc) {\n\t\t\terrors$1 = errors$1 + (4) >> 0;\n\t\t}\n\t\tf.mant = mantissa;\n\t\tf.exp = 0;\n\t\tf.neg = neg;\n\t\ti = (_q = ((exp10 - -348 >> 0)) / 8, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError(\"integer divide by zero\"));\n\t\tif (exp10 < -348 || i >= 87) {\n\t\t\tok = false;\n\t\t\treturn ok;\n\t\t}\n\t\tadjExp = (_r = ((exp10 - -348 >> 0)) % 8, _r === _r ? _r : $throwRuntimeError(\"integer divide by zero\"));\n\t\tif (adjExp < 19 && (x = (x$1 = 19 - adjExp >> 0, ((x$1 < 0 || x$1 >= uint64pow10.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : uint64pow10[x$1])), (mantissa.$high < x.$high || (mantissa.$high === x.$high && mantissa.$low < x.$low)))) {\n\t\t\tf.mant = $mul64(f.mant, (((adjExp < 0 || adjExp >= uint64pow10.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : uint64pow10[adjExp])));\n\t\t\tf.Normalize();\n\t\t} else {\n\t\t\tf.Normalize();\n\t\t\tf.Multiply($clone(((adjExp < 0 || adjExp >= smallPowersOfTen.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : smallPowersOfTen[adjExp]), extFloat));\n\t\t\terrors$1 = errors$1 + (4) >> 0;\n\t\t}\n\t\tf.Multiply($clone(((i < 0 || i >= powersOfTen.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : powersOfTen[i]), extFloat));\n\t\tif (errors$1 > 0) {\n\t\t\terrors$1 = errors$1 + (1) >> 0;\n\t\t}\n\t\terrors$1 = errors$1 + (4) >> 0;\n\t\tshift = f.Normalize();\n\t\terrors$1 = (y = (shift), y < 32 ? (errors$1 << y) : 0) >> 0;\n\t\tdenormalExp = flt.bias - 63 >> 0;\n\t\textrabits = 0;\n\t\tif (f.exp <= denormalExp) {\n\t\t\textrabits = ((63 - flt.mantbits >>> 0) + 1 >>> 0) + (((denormalExp - f.exp >> 0) >>> 0)) >>> 0;\n\t\t} else {\n\t\t\textrabits = 63 - flt.mantbits >>> 0;\n\t\t}\n\t\thalfway = $shiftLeft64(new $Uint64(0, 1), ((extrabits - 1 >>> 0)));\n\t\tmant_extra = (x$2 = f.mant, x$3 = (x$4 = $shiftLeft64(new $Uint64(0, 1), extrabits), new $Uint64(x$4.$high - 0, x$4.$low - 1)), new $Uint64(x$2.$high & x$3.$high, (x$2.$low & x$3.$low) >>> 0));\n\t\tif ((x$5 = (x$6 = (new $Int64(halfway.$high, halfway.$low)), x$7 = (new $Int64(0, errors$1)), new $Int64(x$6.$high - x$7.$high, x$6.$low - x$7.$low)), x$8 = (new $Int64(mant_extra.$high, mant_extra.$low)), (x$5.$high < x$8.$high || (x$5.$high === x$8.$high && x$5.$low < x$8.$low))) && (x$9 = (new $Int64(mant_extra.$high, mant_extra.$low)), x$10 = (x$11 = (new $Int64(halfway.$high, halfway.$low)), x$12 = (new $Int64(0, errors$1)), new $Int64(x$11.$high + x$12.$high, x$11.$low + x$12.$low)), (x$9.$high < x$10.$high || (x$9.$high === x$10.$high && x$9.$low < x$10.$low)))) {\n\t\t\tok = false;\n\t\t\treturn ok;\n\t\t}\n\t\tok = true;\n\t\treturn ok;\n\t};\n\textFloat.prototype.AssignDecimal = function(mantissa, exp10, neg, trunc, flt) { return this.$val.AssignDecimal(mantissa, exp10, neg, trunc, flt); };\n\textFloat.ptr.prototype.frexp10 = function() {\n\t\tvar _q, _q$1, _tmp, _tmp$1, approxExp10, exp, exp10, f, i, index;\n\t\texp10 = 0;\n\t\tindex = 0;\n\t\tf = this;\n\t\tapproxExp10 = (_q = ($imul(((-46 - f.exp >> 0)), 28)) / 93, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError(\"integer divide by zero\"));\n\t\ti = (_q$1 = ((approxExp10 - -348 >> 0)) / 8, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError(\"integer divide by zero\"));\n\t\tLoop:\n\t\twhile (true) {\n\t\t\texp = (f.exp + ((i < 0 || i >= powersOfTen.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : powersOfTen[i]).exp >> 0) + 64 >> 0;\n\t\t\tif (exp < -60) {\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t} else if (exp > -32) {\n\t\t\t\ti = i - (1) >> 0;\n\t\t\t} else {\n\t\t\t\tbreak Loop;\n\t\t\t}\n\t\t}\n\t\tf.Multiply($clone(((i < 0 || i >= powersOfTen.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : powersOfTen[i]), extFloat));\n\t\t_tmp = -((-348 + ($imul(i, 8)) >> 0));\n\t\t_tmp$1 = i;\n\t\texp10 = _tmp;\n\t\tindex = _tmp$1;\n\t\treturn [exp10, index];\n\t};\n\textFloat.prototype.frexp10 = function() { return this.$val.frexp10(); };\n\tfrexp10Many = function(a, b, c) {\n\t\tvar _tuple, a, b, c, exp10, i;\n\t\texp10 = 0;\n\t\t_tuple = c.frexp10();\n\t\texp10 = _tuple[0];\n\t\ti = _tuple[1];\n\t\ta.Multiply($clone(((i < 0 || i >= powersOfTen.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : powersOfTen[i]), extFloat));\n\t\tb.Multiply($clone(((i < 0 || i >= powersOfTen.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : powersOfTen[i]), extFloat));\n\t\treturn exp10;\n\t};\n\textFloat.ptr.prototype.FixedDecimal = function(d, n) {\n\t\tvar $CE$B5, _q, _q$1, _tmp, _tmp$1, _tuple, buf, d, digit, exp10, f, fraction, i, i$1, i$2, integer, integerDigits, n, nd, needed, ok, pos, pow, pow10, rest, shift, v, v1, x, x$1, x$10, x$11, x$12, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9;\n\t\tf = this;\n\t\tif ((x = f.mant, (x.$high === 0 && x.$low === 0))) {\n\t\t\td.nd = 0;\n\t\t\td.dp = 0;\n\t\t\td.neg = f.neg;\n\t\t\treturn true;\n\t\t}\n\t\tif (n === 0) {\n\t\t\t$panic(new $String(\"strconv: internal error: extFloat.FixedDecimal called with n == 0\"));\n\t\t}\n\t\tf.Normalize();\n\t\t_tuple = f.frexp10();\n\t\texp10 = _tuple[0];\n\t\tshift = ((-f.exp >>> 0));\n\t\tinteger = (($shiftRightUint64(f.mant, shift).$low >>> 0));\n\t\tfraction = (x$1 = f.mant, x$2 = $shiftLeft64((new $Uint64(0, integer)), shift), new $Uint64(x$1.$high - x$2.$high, x$1.$low - x$2.$low));\n\t\t$CE$B5 = new $Uint64(0, 1);\n\t\tneeded = n;\n\t\tintegerDigits = 0;\n\t\tpow10 = new $Uint64(0, 1);\n\t\t_tmp = 0;\n\t\t_tmp$1 = new $Uint64(0, 1);\n\t\ti = _tmp;\n\t\tpow = _tmp$1;\n\t\twhile (true) {\n\t\t\tif (!(i < 20)) { break; }\n\t\t\tif ((x$3 = (new $Uint64(0, integer)), (pow.$high > x$3.$high || (pow.$high === x$3.$high && pow.$low > x$3.$low)))) {\n\t\t\t\tintegerDigits = i;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tpow = $mul64(pow, (new $Uint64(0, 10)));\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\trest = integer;\n\t\tif (integerDigits > needed) {\n\t\t\tpow10 = (x$4 = integerDigits - needed >> 0, ((x$4 < 0 || x$4 >= uint64pow10.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : uint64pow10[x$4]));\n\t\t\tinteger = (_q = integer / (((pow10.$low >>> 0))), (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >>> 0 : $throwRuntimeError(\"integer divide by zero\"));\n\t\t\trest = rest - (($imul(integer, ((pow10.$low >>> 0))) >>> 0)) >>> 0;\n\t\t} else {\n\t\t\trest = 0;\n\t\t}\n\t\tbuf = arrayType$2.zero();\n\t\tpos = 32;\n\t\tv = integer;\n\t\twhile (true) {\n\t\t\tif (!(v > 0)) { break; }\n\t\t\tv1 = (_q$1 = v / 10, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >>> 0 : $throwRuntimeError(\"integer divide by zero\"));\n\t\t\tv = v - (($imul(10, v1) >>> 0)) >>> 0;\n\t\t\tpos = pos - (1) >> 0;\n\t\t\t((pos < 0 || pos >= buf.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf[pos] = (((v + 48 >>> 0) << 24 >>> 24)));\n\t\t\tv = v1;\n\t\t}\n\t\ti$1 = pos;\n\t\twhile (true) {\n\t\t\tif (!(i$1 < 32)) { break; }\n\t\t\t(x$5 = d.d, x$6 = i$1 - pos >> 0, ((x$6 < 0 || x$6 >= x$5.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$5.$array[x$5.$offset + x$6] = ((i$1 < 0 || i$1 >= buf.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf[i$1])));\n\t\t\ti$1 = i$1 + (1) >> 0;\n\t\t}\n\t\tnd = 32 - pos >> 0;\n\t\td.nd = nd;\n\t\td.dp = integerDigits + exp10 >> 0;\n\t\tneeded = needed - (nd) >> 0;\n\t\tif (needed > 0) {\n\t\t\tif (!((rest === 0)) || !((pow10.$high === 0 && pow10.$low === 1))) {\n\t\t\t\t$panic(new $String(\"strconv: internal error, rest != 0 but needed > 0\"));\n\t\t\t}\n\t\t\twhile (true) {\n\t\t\t\tif (!(needed > 0)) { break; }\n\t\t\t\tfraction = $mul64(fraction, (new $Uint64(0, 10)));\n\t\t\t\t$CE$B5 = $mul64($CE$B5, (new $Uint64(0, 10)));\n\t\t\t\tif ((x$7 = $mul64(new $Uint64(0, 2), $CE$B5), x$8 = $shiftLeft64(new $Uint64(0, 1), shift), (x$7.$high > x$8.$high || (x$7.$high === x$8.$high && x$7.$low > x$8.$low)))) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tdigit = $shiftRightUint64(fraction, shift);\n\t\t\t\t(x$9 = d.d, ((nd < 0 || nd >= x$9.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$9.$array[x$9.$offset + nd] = ((new $Uint64(digit.$high + 0, digit.$low + 48).$low << 24 >>> 24))));\n\t\t\t\tfraction = (x$10 = $shiftLeft64(digit, shift), new $Uint64(fraction.$high - x$10.$high, fraction.$low - x$10.$low));\n\t\t\t\tnd = nd + (1) >> 0;\n\t\t\t\tneeded = needed - (1) >> 0;\n\t\t\t}\n\t\t\td.nd = nd;\n\t\t}\n\t\tok = adjustLastDigitFixed(d, (x$11 = $shiftLeft64((new $Uint64(0, rest)), shift), new $Uint64(x$11.$high | fraction.$high, (x$11.$low | fraction.$low) >>> 0)), pow10, shift, $CE$B5);\n\t\tif (!ok) {\n\t\t\treturn false;\n\t\t}\n\t\ti$2 = d.nd - 1 >> 0;\n\t\twhile (true) {\n\t\t\tif (!(i$2 >= 0)) { break; }\n\t\t\tif (!(((x$12 = d.d, ((i$2 < 0 || i$2 >= x$12.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$12.$array[x$12.$offset + i$2])) === 48))) {\n\t\t\t\td.nd = i$2 + 1 >> 0;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\ti$2 = i$2 - (1) >> 0;\n\t\t}\n\t\treturn true;\n\t};\n\textFloat.prototype.FixedDecimal = function(d, n) { return this.$val.FixedDecimal(d, n); };\n\tadjustLastDigitFixed = function(d, num, den, shift, $CE$B5) {\n\t\tvar $CE$B5, d, den, i, num, shift, x, x$1, x$10, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9;\n\t\tif ((x = $shiftLeft64(den, shift), (num.$high > x.$high || (num.$high === x.$high && num.$low > x.$low)))) {\n\t\t\t$panic(new $String(\"strconv: num > den<<shift in adjustLastDigitFixed\"));\n\t\t}\n\t\tif ((x$1 = $mul64(new $Uint64(0, 2), $CE$B5), x$2 = $shiftLeft64(den, shift), (x$1.$high > x$2.$high || (x$1.$high === x$2.$high && x$1.$low > x$2.$low)))) {\n\t\t\t$panic(new $String(\"strconv: \\xCE\\xB5 > (den<<shift)/2\"));\n\t\t}\n\t\tif ((x$3 = $mul64(new $Uint64(0, 2), (new $Uint64(num.$high + $CE$B5.$high, num.$low + $CE$B5.$low))), x$4 = $shiftLeft64(den, shift), (x$3.$high < x$4.$high || (x$3.$high === x$4.$high && x$3.$low < x$4.$low)))) {\n\t\t\treturn true;\n\t\t}\n\t\tif ((x$5 = $mul64(new $Uint64(0, 2), (new $Uint64(num.$high - $CE$B5.$high, num.$low - $CE$B5.$low))), x$6 = $shiftLeft64(den, shift), (x$5.$high > x$6.$high || (x$5.$high === x$6.$high && x$5.$low > x$6.$low)))) {\n\t\t\ti = d.nd - 1 >> 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(i >= 0)) { break; }\n\t\t\t\tif ((x$7 = d.d, ((i < 0 || i >= x$7.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$7.$array[x$7.$offset + i])) === 57) {\n\t\t\t\t\td.nd = d.nd - (1) >> 0;\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\ti = i - (1) >> 0;\n\t\t\t}\n\t\t\tif (i < 0) {\n\t\t\t\t(x$8 = d.d, (0 >= x$8.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : x$8.$array[x$8.$offset + 0] = 49));\n\t\t\t\td.nd = 1;\n\t\t\t\td.dp = d.dp + (1) >> 0;\n\t\t\t} else {\n\t\t\t\t(x$10 = d.d, ((i < 0 || i >= x$10.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$10.$array[x$10.$offset + i] = ((x$9 = d.d, ((i < 0 || i >= x$9.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$9.$array[x$9.$offset + i])) + (1) << 24 >>> 24)));\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t};\n\textFloat.ptr.prototype.ShortestDecimal = function(d, lower, upper) {\n\t\tvar _q, _tmp, _tmp$1, _tmp$2, _tmp$3, allowance, buf, currentDiff, d, digit, digit$1, exp10, f, fraction, i, i$1, i$2, integer, integerDigits, lower, multiplier, n, nd, pow, pow$1, shift, targetDiff, upper, v, v1, x, x$1, x$10, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$2, x$20, x$21, x$22, x$23, x$3, x$4, x$5, x$6, x$7, x$8, x$9;\n\t\tf = this;\n\t\tif ((x = f.mant, (x.$high === 0 && x.$low === 0))) {\n\t\t\td.nd = 0;\n\t\t\td.dp = 0;\n\t\t\td.neg = f.neg;\n\t\t\treturn true;\n\t\t}\n\t\tif ((f.exp === 0) && $equal(lower, f, extFloat) && $equal(lower, upper, extFloat)) {\n\t\t\tbuf = arrayType$1.zero();\n\t\t\tn = 23;\n\t\t\tv = f.mant;\n\t\t\twhile (true) {\n\t\t\t\tif (!((v.$high > 0 || (v.$high === 0 && v.$low > 0)))) { break; }\n\t\t\t\tv1 = $div64(v, new $Uint64(0, 10), false);\n\t\t\t\tv = (x$1 = $mul64(new $Uint64(0, 10), v1), new $Uint64(v.$high - x$1.$high, v.$low - x$1.$low));\n\t\t\t\t((n < 0 || n >= buf.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf[n] = ((new $Uint64(v.$high + 0, v.$low + 48).$low << 24 >>> 24)));\n\t\t\t\tn = n - (1) >> 0;\n\t\t\t\tv = v1;\n\t\t\t}\n\t\t\tnd = (24 - n >> 0) - 1 >> 0;\n\t\t\ti = 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(i < nd)) { break; }\n\t\t\t\t(x$3 = d.d, ((i < 0 || i >= x$3.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$3.$array[x$3.$offset + i] = (x$2 = (n + 1 >> 0) + i >> 0, ((x$2 < 0 || x$2 >= buf.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf[x$2]))));\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t}\n\t\t\t_tmp = nd;\n\t\t\t_tmp$1 = nd;\n\t\t\td.nd = _tmp;\n\t\t\td.dp = _tmp$1;\n\t\t\twhile (true) {\n\t\t\t\tif (!(d.nd > 0 && ((x$4 = d.d, x$5 = d.nd - 1 >> 0, ((x$5 < 0 || x$5 >= x$4.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$4.$array[x$4.$offset + x$5])) === 48))) { break; }\n\t\t\t\td.nd = d.nd - (1) >> 0;\n\t\t\t}\n\t\t\tif (d.nd === 0) {\n\t\t\t\td.dp = 0;\n\t\t\t}\n\t\t\td.neg = f.neg;\n\t\t\treturn true;\n\t\t}\n\t\tupper.Normalize();\n\t\tif (f.exp > upper.exp) {\n\t\t\tf.mant = $shiftLeft64(f.mant, ((((f.exp - upper.exp >> 0) >>> 0))));\n\t\t\tf.exp = upper.exp;\n\t\t}\n\t\tif (lower.exp > upper.exp) {\n\t\t\tlower.mant = $shiftLeft64(lower.mant, ((((lower.exp - upper.exp >> 0) >>> 0))));\n\t\t\tlower.exp = upper.exp;\n\t\t}\n\t\texp10 = frexp10Many(lower, f, upper);\n\t\tupper.mant = (x$6 = upper.mant, x$7 = new $Uint64(0, 1), new $Uint64(x$6.$high + x$7.$high, x$6.$low + x$7.$low));\n\t\tlower.mant = (x$8 = lower.mant, x$9 = new $Uint64(0, 1), new $Uint64(x$8.$high - x$9.$high, x$8.$low - x$9.$low));\n\t\tshift = ((-upper.exp >>> 0));\n\t\tinteger = (($shiftRightUint64(upper.mant, shift).$low >>> 0));\n\t\tfraction = (x$10 = upper.mant, x$11 = $shiftLeft64((new $Uint64(0, integer)), shift), new $Uint64(x$10.$high - x$11.$high, x$10.$low - x$11.$low));\n\t\tallowance = (x$12 = upper.mant, x$13 = lower.mant, new $Uint64(x$12.$high - x$13.$high, x$12.$low - x$13.$low));\n\t\ttargetDiff = (x$14 = upper.mant, x$15 = f.mant, new $Uint64(x$14.$high - x$15.$high, x$14.$low - x$15.$low));\n\t\tintegerDigits = 0;\n\t\t_tmp$2 = 0;\n\t\t_tmp$3 = new $Uint64(0, 1);\n\t\ti$1 = _tmp$2;\n\t\tpow = _tmp$3;\n\t\twhile (true) {\n\t\t\tif (!(i$1 < 20)) { break; }\n\t\t\tif ((x$16 = (new $Uint64(0, integer)), (pow.$high > x$16.$high || (pow.$high === x$16.$high && pow.$low > x$16.$low)))) {\n\t\t\t\tintegerDigits = i$1;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tpow = $mul64(pow, (new $Uint64(0, 10)));\n\t\t\ti$1 = i$1 + (1) >> 0;\n\t\t}\n\t\ti$2 = 0;\n\t\twhile (true) {\n\t\t\tif (!(i$2 < integerDigits)) { break; }\n\t\t\tpow$1 = (x$17 = (integerDigits - i$2 >> 0) - 1 >> 0, ((x$17 < 0 || x$17 >= uint64pow10.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : uint64pow10[x$17]));\n\t\t\tdigit = (_q = integer / ((pow$1.$low >>> 0)), (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >>> 0 : $throwRuntimeError(\"integer divide by zero\"));\n\t\t\t(x$18 = d.d, ((i$2 < 0 || i$2 >= x$18.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$18.$array[x$18.$offset + i$2] = (((digit + 48 >>> 0) << 24 >>> 24))));\n\t\t\tinteger = integer - (($imul(digit, ((pow$1.$low >>> 0))) >>> 0)) >>> 0;\n\t\t\tcurrentDiff = (x$19 = $shiftLeft64((new $Uint64(0, integer)), shift), new $Uint64(x$19.$high + fraction.$high, x$19.$low + fraction.$low));\n\t\t\tif ((currentDiff.$high < allowance.$high || (currentDiff.$high === allowance.$high && currentDiff.$low < allowance.$low))) {\n\t\t\t\td.nd = i$2 + 1 >> 0;\n\t\t\t\td.dp = integerDigits + exp10 >> 0;\n\t\t\t\td.neg = f.neg;\n\t\t\t\treturn adjustLastDigit(d, currentDiff, targetDiff, allowance, $shiftLeft64(pow$1, shift), new $Uint64(0, 2));\n\t\t\t}\n\t\t\ti$2 = i$2 + (1) >> 0;\n\t\t}\n\t\td.nd = integerDigits;\n\t\td.dp = d.nd + exp10 >> 0;\n\t\td.neg = f.neg;\n\t\tdigit$1 = 0;\n\t\tmultiplier = new $Uint64(0, 1);\n\t\twhile (true) {\n\t\t\tfraction = $mul64(fraction, (new $Uint64(0, 10)));\n\t\t\tmultiplier = $mul64(multiplier, (new $Uint64(0, 10)));\n\t\t\tdigit$1 = (($shiftRightUint64(fraction, shift).$low >> 0));\n\t\t\t(x$20 = d.d, x$21 = d.nd, ((x$21 < 0 || x$21 >= x$20.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$20.$array[x$20.$offset + x$21] = (((digit$1 + 48 >> 0) << 24 >>> 24))));\n\t\t\td.nd = d.nd + (1) >> 0;\n\t\t\tfraction = (x$22 = $shiftLeft64((new $Uint64(0, digit$1)), shift), new $Uint64(fraction.$high - x$22.$high, fraction.$low - x$22.$low));\n\t\t\tif ((x$23 = $mul64(allowance, multiplier), (fraction.$high < x$23.$high || (fraction.$high === x$23.$high && fraction.$low < x$23.$low)))) {\n\t\t\t\treturn adjustLastDigit(d, fraction, $mul64(targetDiff, multiplier), $mul64(allowance, multiplier), $shiftLeft64(new $Uint64(0, 1), shift), $mul64(multiplier, new $Uint64(0, 2)));\n\t\t\t}\n\t\t}\n\t};\n\textFloat.prototype.ShortestDecimal = function(d, lower, upper) { return this.$val.ShortestDecimal(d, lower, upper); };\n\tadjustLastDigit = function(d, currentDiff, targetDiff, maxDiff, ulpDecimal, ulpBinary) {\n\t\tvar _index, currentDiff, d, maxDiff, targetDiff, ulpBinary, ulpDecimal, x, x$1, x$10, x$11, x$12, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9;\n\t\tif ((x = $mul64(new $Uint64(0, 2), ulpBinary), (ulpDecimal.$high < x.$high || (ulpDecimal.$high === x.$high && ulpDecimal.$low < x.$low)))) {\n\t\t\treturn false;\n\t\t}\n\t\twhile (true) {\n\t\t\tif (!((x$1 = (x$2 = (x$3 = $div64(ulpDecimal, new $Uint64(0, 2), false), new $Uint64(currentDiff.$high + x$3.$high, currentDiff.$low + x$3.$low)), new $Uint64(x$2.$high + ulpBinary.$high, x$2.$low + ulpBinary.$low)), (x$1.$high < targetDiff.$high || (x$1.$high === targetDiff.$high && x$1.$low < targetDiff.$low))))) { break; }\n\t\t\t_index = d.nd - 1 >> 0;\n\t\t\t(x$5 = d.d, ((_index < 0 || _index >= x$5.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$5.$array[x$5.$offset + _index] = ((x$4 = d.d, ((_index < 0 || _index >= x$4.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$4.$array[x$4.$offset + _index])) - (1) << 24 >>> 24)));\n\t\t\tcurrentDiff = (x$6 = ulpDecimal, new $Uint64(currentDiff.$high + x$6.$high, currentDiff.$low + x$6.$low));\n\t\t}\n\t\tif ((x$7 = new $Uint64(currentDiff.$high + ulpDecimal.$high, currentDiff.$low + ulpDecimal.$low), x$8 = (x$9 = (x$10 = $div64(ulpDecimal, new $Uint64(0, 2), false), new $Uint64(targetDiff.$high + x$10.$high, targetDiff.$low + x$10.$low)), new $Uint64(x$9.$high + ulpBinary.$high, x$9.$low + ulpBinary.$low)), (x$7.$high < x$8.$high || (x$7.$high === x$8.$high && x$7.$low <= x$8.$low)))) {\n\t\t\treturn false;\n\t\t}\n\t\tif ((currentDiff.$high < ulpBinary.$high || (currentDiff.$high === ulpBinary.$high && currentDiff.$low < ulpBinary.$low)) || (x$11 = new $Uint64(maxDiff.$high - ulpBinary.$high, maxDiff.$low - ulpBinary.$low), (currentDiff.$high > x$11.$high || (currentDiff.$high === x$11.$high && currentDiff.$low > x$11.$low)))) {\n\t\t\treturn false;\n\t\t}\n\t\tif ((d.nd === 1) && ((x$12 = d.d, (0 >= x$12.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : x$12.$array[x$12.$offset + 0])) === 48)) {\n\t\t\td.nd = 0;\n\t\t\td.dp = 0;\n\t\t}\n\t\treturn true;\n\t};\n\tAppendFloat = function(dst, f, fmt, prec, bitSize) {\n\t\tvar bitSize, dst, f, fmt, prec;\n\t\treturn genericFtoa(dst, f, fmt, prec, bitSize);\n\t};\n\t$pkg.AppendFloat = AppendFloat;\n\tgenericFtoa = function(dst, val, fmt, prec, bitSize) {\n\t\tvar _1, _2, _3, _4, _tuple, bitSize, bits$1, buf, buf$1, digits, digs, dst, exp, f, f$1, flt, fmt, lower, mant, neg, ok, prec, s, shortest, upper, val, x, x$1, x$2, x$3, y, y$1;\n\t\tbits$1 = new $Uint64(0, 0);\n\t\tflt = ptrType$1.nil;\n\t\t_1 = bitSize;\n\t\tif (_1 === (32)) {\n\t\t\tbits$1 = (new $Uint64(0, math.Float32bits(($fround(val)))));\n\t\t\tflt = float32info;\n\t\t} else if (_1 === (64)) {\n\t\t\tbits$1 = math.Float64bits(val);\n\t\t\tflt = float64info;\n\t\t} else {\n\t\t\t$panic(new $String(\"strconv: illegal AppendFloat/FormatFloat bitSize\"));\n\t\t}\n\t\tneg = !((x = $shiftRightUint64(bits$1, ((flt.expbits + flt.mantbits >>> 0))), (x.$high === 0 && x.$low === 0)));\n\t\texp = (($shiftRightUint64(bits$1, flt.mantbits).$low >> 0)) & ((((y = flt.expbits, y < 32 ? (1 << y) : 0) >> 0) - 1 >> 0));\n\t\tmant = (x$1 = (x$2 = $shiftLeft64(new $Uint64(0, 1), flt.mantbits), new $Uint64(x$2.$high - 0, x$2.$low - 1)), new $Uint64(bits$1.$high & x$1.$high, (bits$1.$low & x$1.$low) >>> 0));\n\t\t_2 = exp;\n\t\tif (_2 === ((((y$1 = flt.expbits, y$1 < 32 ? (1 << y$1) : 0) >> 0) - 1 >> 0))) {\n\t\t\ts = \"\";\n\t\t\tif (!((mant.$high === 0 && mant.$low === 0))) {\n\t\t\t\ts = \"NaN\";\n\t\t\t} else if (neg) {\n\t\t\t\ts = \"-Inf\";\n\t\t\t} else {\n\t\t\t\ts = \"+Inf\";\n\t\t\t}\n\t\t\treturn $appendSlice(dst, s);\n\t\t} else if (_2 === (0)) {\n\t\t\texp = exp + (1) >> 0;\n\t\t} else {\n\t\t\tmant = (x$3 = $shiftLeft64(new $Uint64(0, 1), flt.mantbits), new $Uint64(mant.$high | x$3.$high, (mant.$low | x$3.$low) >>> 0));\n\t\t}\n\t\texp = exp + (flt.bias) >> 0;\n\t\tif (fmt === 98) {\n\t\t\treturn fmtB(dst, neg, mant, exp, flt);\n\t\t}\n\t\tif (!optimize) {\n\t\t\treturn bigFtoa(dst, prec, fmt, neg, mant, exp, flt);\n\t\t}\n\t\tdigs = new decimalSlice.ptr(sliceType$6.nil, 0, 0, false);\n\t\tok = false;\n\t\tshortest = prec < 0;\n\t\tif (shortest) {\n\t\t\tf = new extFloat.ptr(new $Uint64(0, 0), 0, false);\n\t\t\t_tuple = f.AssignComputeBounds(mant, exp, neg, flt);\n\t\t\tlower = $clone(_tuple[0], extFloat);\n\t\t\tupper = $clone(_tuple[1], extFloat);\n\t\t\tbuf = arrayType$2.zero();\n\t\t\tdigs.d = new sliceType$6(buf);\n\t\t\tok = f.ShortestDecimal(digs, lower, upper);\n\t\t\tif (!ok) {\n\t\t\t\treturn bigFtoa(dst, prec, fmt, neg, mant, exp, flt);\n\t\t\t}\n\t\t\t_3 = fmt;\n\t\t\tif ((_3 === (101)) || (_3 === (69))) {\n\t\t\t\tprec = max(digs.nd - 1 >> 0, 0);\n\t\t\t} else if (_3 === (102)) {\n\t\t\t\tprec = max(digs.nd - digs.dp >> 0, 0);\n\t\t\t} else if ((_3 === (103)) || (_3 === (71))) {\n\t\t\t\tprec = digs.nd;\n\t\t\t}\n\t\t} else if (!((fmt === 102))) {\n\t\t\tdigits = prec;\n\t\t\t_4 = fmt;\n\t\t\tif ((_4 === (101)) || (_4 === (69))) {\n\t\t\t\tdigits = digits + (1) >> 0;\n\t\t\t} else if ((_4 === (103)) || (_4 === (71))) {\n\t\t\t\tif (prec === 0) {\n\t\t\t\t\tprec = 1;\n\t\t\t\t}\n\t\t\t\tdigits = prec;\n\t\t\t}\n\t\t\tif (digits <= 15) {\n\t\t\t\tbuf$1 = arrayType$1.zero();\n\t\t\t\tdigs.d = new sliceType$6(buf$1);\n\t\t\t\tf$1 = new extFloat.ptr(mant, exp - ((flt.mantbits >> 0)) >> 0, neg);\n\t\t\t\tok = f$1.FixedDecimal(digs, digits);\n\t\t\t}\n\t\t}\n\t\tif (!ok) {\n\t\t\treturn bigFtoa(dst, prec, fmt, neg, mant, exp, flt);\n\t\t}\n\t\treturn formatDigits(dst, shortest, neg, $clone(digs, decimalSlice), prec, fmt);\n\t};\n\tbigFtoa = function(dst, prec, fmt, neg, mant, exp, flt) {\n\t\tvar _1, _2, d, digs, dst, exp, flt, fmt, mant, neg, prec, shortest;\n\t\td = new decimal.ptr(arrayType.zero(), 0, 0, false, false);\n\t\td.Assign(mant);\n\t\td.Shift(exp - ((flt.mantbits >> 0)) >> 0);\n\t\tdigs = new decimalSlice.ptr(sliceType$6.nil, 0, 0, false);\n\t\tshortest = prec < 0;\n\t\tif (shortest) {\n\t\t\troundShortest(d, mant, exp, flt);\n\t\t\tdecimalSlice.copy(digs, new decimalSlice.ptr(new sliceType$6(d.d), d.nd, d.dp, false));\n\t\t\t_1 = fmt;\n\t\t\tif ((_1 === (101)) || (_1 === (69))) {\n\t\t\t\tprec = digs.nd - 1 >> 0;\n\t\t\t} else if (_1 === (102)) {\n\t\t\t\tprec = max(digs.nd - digs.dp >> 0, 0);\n\t\t\t} else if ((_1 === (103)) || (_1 === (71))) {\n\t\t\t\tprec = digs.nd;\n\t\t\t}\n\t\t} else {\n\t\t\t_2 = fmt;\n\t\t\tif ((_2 === (101)) || (_2 === (69))) {\n\t\t\t\td.Round(prec + 1 >> 0);\n\t\t\t} else if (_2 === (102)) {\n\t\t\t\td.Round(d.dp + prec >> 0);\n\t\t\t} else if ((_2 === (103)) || (_2 === (71))) {\n\t\t\t\tif (prec === 0) {\n\t\t\t\t\tprec = 1;\n\t\t\t\t}\n\t\t\t\td.Round(prec);\n\t\t\t}\n\t\t\tdecimalSlice.copy(digs, new decimalSlice.ptr(new sliceType$6(d.d), d.nd, d.dp, false));\n\t\t}\n\t\treturn formatDigits(dst, shortest, neg, $clone(digs, decimalSlice), prec, fmt);\n\t};\n\tformatDigits = function(dst, shortest, neg, digs, prec, fmt) {\n\t\tvar _1, digs, dst, eprec, exp, fmt, neg, prec, shortest;\n\t\t_1 = fmt;\n\t\tif ((_1 === (101)) || (_1 === (69))) {\n\t\t\treturn fmtE(dst, neg, $clone(digs, decimalSlice), prec, fmt);\n\t\t} else if (_1 === (102)) {\n\t\t\treturn fmtF(dst, neg, $clone(digs, decimalSlice), prec);\n\t\t} else if ((_1 === (103)) || (_1 === (71))) {\n\t\t\teprec = prec;\n\t\t\tif (eprec > digs.nd && digs.nd >= digs.dp) {\n\t\t\t\teprec = digs.nd;\n\t\t\t}\n\t\t\tif (shortest) {\n\t\t\t\teprec = 6;\n\t\t\t}\n\t\t\texp = digs.dp - 1 >> 0;\n\t\t\tif (exp < -4 || exp >= eprec) {\n\t\t\t\tif (prec > digs.nd) {\n\t\t\t\t\tprec = digs.nd;\n\t\t\t\t}\n\t\t\t\treturn fmtE(dst, neg, $clone(digs, decimalSlice), prec - 1 >> 0, (fmt + 101 << 24 >>> 24) - 103 << 24 >>> 24);\n\t\t\t}\n\t\t\tif (prec > digs.dp) {\n\t\t\t\tprec = digs.nd;\n\t\t\t}\n\t\t\treturn fmtF(dst, neg, $clone(digs, decimalSlice), max(prec - digs.dp >> 0, 0));\n\t\t}\n\t\treturn $append(dst, 37, fmt);\n\t};\n\troundShortest = function(d, mant, exp, flt) {\n\t\tvar d, exp, explo, flt, i, inclusive, l, lower, m, mant, mantlo, minexp, okdown, okup, u, upper, x, x$1, x$2, x$3, x$4, x$5, x$6, x$7;\n\t\tif ((mant.$high === 0 && mant.$low === 0)) {\n\t\t\td.nd = 0;\n\t\t\treturn;\n\t\t}\n\t\tminexp = flt.bias + 1 >> 0;\n\t\tif (exp > minexp && ($imul(332, ((d.dp - d.nd >> 0)))) >= ($imul(100, ((exp - ((flt.mantbits >> 0)) >> 0))))) {\n\t\t\treturn;\n\t\t}\n\t\tupper = new decimal.ptr(arrayType.zero(), 0, 0, false, false);\n\t\tupper.Assign((x = $mul64(mant, new $Uint64(0, 2)), new $Uint64(x.$high + 0, x.$low + 1)));\n\t\tupper.Shift((exp - ((flt.mantbits >> 0)) >> 0) - 1 >> 0);\n\t\tmantlo = new $Uint64(0, 0);\n\t\texplo = 0;\n\t\tif ((x$1 = $shiftLeft64(new $Uint64(0, 1), flt.mantbits), (mant.$high > x$1.$high || (mant.$high === x$1.$high && mant.$low > x$1.$low))) || (exp === minexp)) {\n\t\t\tmantlo = new $Uint64(mant.$high - 0, mant.$low - 1);\n\t\t\texplo = exp;\n\t\t} else {\n\t\t\tmantlo = (x$2 = $mul64(mant, new $Uint64(0, 2)), new $Uint64(x$2.$high - 0, x$2.$low - 1));\n\t\t\texplo = exp - 1 >> 0;\n\t\t}\n\t\tlower = new decimal.ptr(arrayType.zero(), 0, 0, false, false);\n\t\tlower.Assign((x$3 = $mul64(mantlo, new $Uint64(0, 2)), new $Uint64(x$3.$high + 0, x$3.$low + 1)));\n\t\tlower.Shift((explo - ((flt.mantbits >> 0)) >> 0) - 1 >> 0);\n\t\tinclusive = (x$4 = $div64(mant, new $Uint64(0, 2), true), (x$4.$high === 0 && x$4.$low === 0));\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < d.nd)) { break; }\n\t\t\tl = 48;\n\t\t\tif (i < lower.nd) {\n\t\t\t\tl = (x$5 = lower.d, ((i < 0 || i >= x$5.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$5[i]));\n\t\t\t}\n\t\t\tm = (x$6 = d.d, ((i < 0 || i >= x$6.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$6[i]));\n\t\t\tu = 48;\n\t\t\tif (i < upper.nd) {\n\t\t\t\tu = (x$7 = upper.d, ((i < 0 || i >= x$7.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$7[i]));\n\t\t\t}\n\t\t\tokdown = !((l === m)) || inclusive && ((i + 1 >> 0) === lower.nd);\n\t\t\tokup = !((m === u)) && (inclusive || (m + 1 << 24 >>> 24) < u || (i + 1 >> 0) < upper.nd);\n\t\t\tif (okdown && okup) {\n\t\t\t\td.Round(i + 1 >> 0);\n\t\t\t\treturn;\n\t\t\t} else if (okdown) {\n\t\t\t\td.RoundDown(i + 1 >> 0);\n\t\t\t\treturn;\n\t\t\t} else if (okup) {\n\t\t\t\td.RoundUp(i + 1 >> 0);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t};\n\tfmtE = function(dst, neg, d, prec, fmt) {\n\t\tvar _q, _q$1, _q$2, _r, _r$1, _r$2, ch, d, dst, exp, fmt, i, m, neg, prec, x;\n\t\tif (neg) {\n\t\t\tdst = $append(dst, 45);\n\t\t}\n\t\tch = 48;\n\t\tif (!((d.nd === 0))) {\n\t\t\tch = (x = d.d, (0 >= x.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + 0]));\n\t\t}\n\t\tdst = $append(dst, ch);\n\t\tif (prec > 0) {\n\t\t\tdst = $append(dst, 46);\n\t\t\ti = 1;\n\t\t\tm = min(d.nd, prec + 1 >> 0);\n\t\t\tif (i < m) {\n\t\t\t\tdst = $appendSlice(dst, $subslice(d.d, i, m));\n\t\t\t\ti = m;\n\t\t\t}\n\t\t\twhile (true) {\n\t\t\t\tif (!(i <= prec)) { break; }\n\t\t\t\tdst = $append(dst, 48);\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t}\n\t\t}\n\t\tdst = $append(dst, fmt);\n\t\texp = d.dp - 1 >> 0;\n\t\tif (d.nd === 0) {\n\t\t\texp = 0;\n\t\t}\n\t\tif (exp < 0) {\n\t\t\tch = 45;\n\t\t\texp = -exp;\n\t\t} else {\n\t\t\tch = 43;\n\t\t}\n\t\tdst = $append(dst, ch);\n\t\tif (exp < 10) {\n\t\t\tdst = $append(dst, 48, ((exp << 24 >>> 24)) + 48 << 24 >>> 24);\n\t\t} else if (exp < 100) {\n\t\t\tdst = $append(dst, (((_q = exp / 10, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError(\"integer divide by zero\")) << 24 >>> 24)) + 48 << 24 >>> 24, (((_r = exp % 10, _r === _r ? _r : $throwRuntimeError(\"integer divide by zero\")) << 24 >>> 24)) + 48 << 24 >>> 24);\n\t\t} else {\n\t\t\tdst = $append(dst, (((_q$1 = exp / 100, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError(\"integer divide by zero\")) << 24 >>> 24)) + 48 << 24 >>> 24, (_r$1 = (((_q$2 = exp / 10, (_q$2 === _q$2 && _q$2 !== 1/0 && _q$2 !== -1/0) ? _q$2 >> 0 : $throwRuntimeError(\"integer divide by zero\")) << 24 >>> 24)) % 10, _r$1 === _r$1 ? _r$1 : $throwRuntimeError(\"integer divide by zero\")) + 48 << 24 >>> 24, (((_r$2 = exp % 10, _r$2 === _r$2 ? _r$2 : $throwRuntimeError(\"integer divide by zero\")) << 24 >>> 24)) + 48 << 24 >>> 24);\n\t\t}\n\t\treturn dst;\n\t};\n\tfmtF = function(dst, neg, d, prec) {\n\t\tvar ch, d, dst, i, j, m, neg, prec, x;\n\t\tif (neg) {\n\t\t\tdst = $append(dst, 45);\n\t\t}\n\t\tif (d.dp > 0) {\n\t\t\tm = min(d.nd, d.dp);\n\t\t\tdst = $appendSlice(dst, $subslice(d.d, 0, m));\n\t\t\twhile (true) {\n\t\t\t\tif (!(m < d.dp)) { break; }\n\t\t\t\tdst = $append(dst, 48);\n\t\t\t\tm = m + (1) >> 0;\n\t\t\t}\n\t\t} else {\n\t\t\tdst = $append(dst, 48);\n\t\t}\n\t\tif (prec > 0) {\n\t\t\tdst = $append(dst, 46);\n\t\t\ti = 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(i < prec)) { break; }\n\t\t\t\tch = 48;\n\t\t\t\tj = d.dp + i >> 0;\n\t\t\t\tif (0 <= j && j < d.nd) {\n\t\t\t\t\tch = (x = d.d, ((j < 0 || j >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + j]));\n\t\t\t\t}\n\t\t\t\tdst = $append(dst, ch);\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t}\n\t\t}\n\t\treturn dst;\n\t};\n\tfmtB = function(dst, neg, mant, exp, flt) {\n\t\tvar _tuple, _tuple$1, dst, exp, flt, mant, neg;\n\t\tif (neg) {\n\t\t\tdst = $append(dst, 45);\n\t\t}\n\t\t_tuple = formatBits(dst, mant, 10, false, true);\n\t\tdst = _tuple[0];\n\t\tdst = $append(dst, 112);\n\t\texp = exp - (((flt.mantbits >> 0))) >> 0;\n\t\tif (exp >= 0) {\n\t\t\tdst = $append(dst, 43);\n\t\t}\n\t\t_tuple$1 = formatBits(dst, (new $Uint64(0, exp)), 10, exp < 0, true);\n\t\tdst = _tuple$1[0];\n\t\treturn dst;\n\t};\n\tmin = function(a, b) {\n\t\tvar a, b;\n\t\tif (a < b) {\n\t\t\treturn a;\n\t\t}\n\t\treturn b;\n\t};\n\tmax = function(a, b) {\n\t\tvar a, b;\n\t\tif (a > b) {\n\t\t\treturn a;\n\t\t}\n\t\treturn b;\n\t};\n\tFormatInt = function(i, base) {\n\t\tvar _tuple, base, i, s;\n\t\tif (true && (0 < i.$high || (0 === i.$high && 0 <= i.$low)) && (i.$high < 0 || (i.$high === 0 && i.$low < 100)) && (base === 10)) {\n\t\t\treturn small((((i.$low + ((i.$high >> 31) * 4294967296)) >> 0)));\n\t\t}\n\t\t_tuple = formatBits(sliceType$6.nil, (new $Uint64(i.$high, i.$low)), base, (i.$high < 0 || (i.$high === 0 && i.$low < 0)), false);\n\t\ts = _tuple[1];\n\t\treturn s;\n\t};\n\t$pkg.FormatInt = FormatInt;\n\tItoa = function(i) {\n\t\tvar i;\n\t\treturn FormatInt((new $Int64(0, i)), 10);\n\t};\n\t$pkg.Itoa = Itoa;\n\tsmall = function(i) {\n\t\tvar i;\n\t\tif (i < 10) {\n\t\t\treturn $substring(\"0123456789abcdefghijklmnopqrstuvwxyz\", i, (i + 1 >> 0));\n\t\t}\n\t\treturn $substring(\"00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899\", ($imul(i, 2)), (($imul(i, 2)) + 2 >> 0));\n\t};\n\tformatBits = function(dst, u, base, neg, append_) {\n\t\tvar _q, _q$1, _r, _r$1, a, append_, b, b$1, base, d, dst, i, is, is$1, is$2, j, m, neg, q, q$1, s, shift, u, us, us$1, x, x$1, x$2, x$3, x$4, x$5;\n\t\td = sliceType$6.nil;\n\t\ts = \"\";\n\t\tif (base < 2 || base > 36) {\n\t\t\t$panic(new $String(\"strconv: illegal AppendInt/FormatInt base\"));\n\t\t}\n\t\ta = arrayType$3.zero();\n\t\ti = 65;\n\t\tif (neg) {\n\t\t\tu = new $Uint64(-u.$high, -u.$low);\n\t\t}\n\t\tif (base === 10) {\n\t\t\tif (true) {\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (!((u.$high > 0 || (u.$high === 0 && u.$low >= 1000000000)))) { break; }\n\t\t\t\t\tq = $div64(u, new $Uint64(0, 1000000000), false);\n\t\t\t\t\tus = (((x = $mul64(q, new $Uint64(0, 1000000000)), new $Uint64(u.$high - x.$high, u.$low - x.$low)).$low >>> 0));\n\t\t\t\t\tj = 4;\n\t\t\t\t\twhile (true) {\n\t\t\t\t\t\tif (!(j > 0)) { break; }\n\t\t\t\t\t\tis = (_r = us % 100, _r === _r ? _r : $throwRuntimeError(\"integer divide by zero\")) * 2 >>> 0;\n\t\t\t\t\t\tus = (_q = us / (100), (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >>> 0 : $throwRuntimeError(\"integer divide by zero\"));\n\t\t\t\t\t\ti = i - (2) >> 0;\n\t\t\t\t\t\t(x$1 = i + 1 >> 0, ((x$1 < 0 || x$1 >= a.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : a[x$1] = \"00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899\".charCodeAt((is + 1 >>> 0))));\n\t\t\t\t\t\t(x$2 = i + 0 >> 0, ((x$2 < 0 || x$2 >= a.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : a[x$2] = \"00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899\".charCodeAt((is + 0 >>> 0))));\n\t\t\t\t\t\tj = j - (1) >> 0;\n\t\t\t\t\t}\n\t\t\t\t\ti = i - (1) >> 0;\n\t\t\t\t\t((i < 0 || i >= a.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : a[i] = \"00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899\".charCodeAt(((us * 2 >>> 0) + 1 >>> 0)));\n\t\t\t\t\tu = q;\n\t\t\t\t}\n\t\t\t}\n\t\t\tus$1 = ((u.$low >>> 0));\n\t\t\twhile (true) {\n\t\t\t\tif (!(us$1 >= 100)) { break; }\n\t\t\t\tis$1 = (_r$1 = us$1 % 100, _r$1 === _r$1 ? _r$1 : $throwRuntimeError(\"integer divide by zero\")) * 2 >>> 0;\n\t\t\t\tus$1 = (_q$1 = us$1 / (100), (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >>> 0 : $throwRuntimeError(\"integer divide by zero\"));\n\t\t\t\ti = i - (2) >> 0;\n\t\t\t\t(x$3 = i + 1 >> 0, ((x$3 < 0 || x$3 >= a.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : a[x$3] = \"00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899\".charCodeAt((is$1 + 1 >>> 0))));\n\t\t\t\t(x$4 = i + 0 >> 0, ((x$4 < 0 || x$4 >= a.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : a[x$4] = \"00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899\".charCodeAt((is$1 + 0 >>> 0))));\n\t\t\t}\n\t\t\tis$2 = us$1 * 2 >>> 0;\n\t\t\ti = i - (1) >> 0;\n\t\t\t((i < 0 || i >= a.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : a[i] = \"00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899\".charCodeAt((is$2 + 1 >>> 0)));\n\t\t\tif (us$1 >= 10) {\n\t\t\t\ti = i - (1) >> 0;\n\t\t\t\t((i < 0 || i >= a.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : a[i] = \"00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899\".charCodeAt(is$2));\n\t\t\t}\n\t\t} else if (isPowerOfTwo(base)) {\n\t\t\tshift = (((bits.TrailingZeros(((base >>> 0))) >>> 0)) & 31) >>> 0;\n\t\t\tb = (new $Uint64(0, base));\n\t\t\tm = ((base >>> 0)) - 1 >>> 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!((u.$high > b.$high || (u.$high === b.$high && u.$low >= b.$low)))) { break; }\n\t\t\t\ti = i - (1) >> 0;\n\t\t\t\t((i < 0 || i >= a.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : a[i] = \"0123456789abcdefghijklmnopqrstuvwxyz\".charCodeAt(((((u.$low >>> 0)) & m) >>> 0)));\n\t\t\t\tu = $shiftRightUint64(u, (shift));\n\t\t\t}\n\t\t\ti = i - (1) >> 0;\n\t\t\t((i < 0 || i >= a.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : a[i] = \"0123456789abcdefghijklmnopqrstuvwxyz\".charCodeAt(((u.$low >>> 0))));\n\t\t} else {\n\t\t\tb$1 = (new $Uint64(0, base));\n\t\t\twhile (true) {\n\t\t\t\tif (!((u.$high > b$1.$high || (u.$high === b$1.$high && u.$low >= b$1.$low)))) { break; }\n\t\t\t\ti = i - (1) >> 0;\n\t\t\t\tq$1 = $div64(u, b$1, false);\n\t\t\t\t((i < 0 || i >= a.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : a[i] = \"0123456789abcdefghijklmnopqrstuvwxyz\".charCodeAt((((x$5 = $mul64(q$1, b$1), new $Uint64(u.$high - x$5.$high, u.$low - x$5.$low)).$low >>> 0))));\n\t\t\t\tu = q$1;\n\t\t\t}\n\t\t\ti = i - (1) >> 0;\n\t\t\t((i < 0 || i >= a.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : a[i] = \"0123456789abcdefghijklmnopqrstuvwxyz\".charCodeAt(((u.$low >>> 0))));\n\t\t}\n\t\tif (neg) {\n\t\t\ti = i - (1) >> 0;\n\t\t\t((i < 0 || i >= a.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : a[i] = 45);\n\t\t}\n\t\tif (append_) {\n\t\t\td = $appendSlice(dst, $subslice(new sliceType$6(a), i));\n\t\t\treturn [d, s];\n\t\t}\n\t\ts = ($bytesToString($subslice(new sliceType$6(a), i)));\n\t\treturn [d, s];\n\t};\n\tisPowerOfTwo = function(x) {\n\t\tvar x;\n\t\treturn (x & ((x - 1 >> 0))) === 0;\n\t};\n\tquoteWith = function(s, quote, ASCIIonly, graphicOnly) {\n\t\tvar ASCIIonly, _q, graphicOnly, quote, s;\n\t\treturn ($bytesToString(appendQuotedWith($makeSlice(sliceType$6, 0, (_q = ($imul(3, s.length)) / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError(\"integer divide by zero\"))), s, quote, ASCIIonly, graphicOnly)));\n\t};\n\tappendQuotedWith = function(buf, s, quote, ASCIIonly, graphicOnly) {\n\t\tvar ASCIIonly, _tuple, buf, graphicOnly, quote, r, s, width;\n\t\tbuf = $append(buf, quote);\n\t\twidth = 0;\n\t\twhile (true) {\n\t\t\tif (!(s.length > 0)) { break; }\n\t\t\tr = ((s.charCodeAt(0) >> 0));\n\t\t\twidth = 1;\n\t\t\tif (r >= 128) {\n\t\t\t\t_tuple = utf8.DecodeRuneInString(s);\n\t\t\t\tr = _tuple[0];\n\t\t\t\twidth = _tuple[1];\n\t\t\t}\n\t\t\tif ((width === 1) && (r === 65533)) {\n\t\t\t\tbuf = $appendSlice(buf, \"\\\\x\");\n\t\t\t\tbuf = $append(buf, \"0123456789abcdef\".charCodeAt((s.charCodeAt(0) >>> 4 << 24 >>> 24)));\n\t\t\t\tbuf = $append(buf, \"0123456789abcdef\".charCodeAt(((s.charCodeAt(0) & 15) >>> 0)));\n\t\t\t\ts = $substring(s, width);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tbuf = appendEscapedRune(buf, r, quote, ASCIIonly, graphicOnly);\n\t\t\ts = $substring(s, width);\n\t\t}\n\t\tbuf = $append(buf, quote);\n\t\treturn buf;\n\t};\n\tappendQuotedRuneWith = function(buf, r, quote, ASCIIonly, graphicOnly) {\n\t\tvar ASCIIonly, buf, graphicOnly, quote, r;\n\t\tbuf = $append(buf, quote);\n\t\tif (!utf8.ValidRune(r)) {\n\t\t\tr = 65533;\n\t\t}\n\t\tbuf = appendEscapedRune(buf, r, quote, ASCIIonly, graphicOnly);\n\t\tbuf = $append(buf, quote);\n\t\treturn buf;\n\t};\n\tappendEscapedRune = function(buf, r, quote, ASCIIonly, graphicOnly) {\n\t\tvar ASCIIonly, _1, buf, graphicOnly, n, quote, r, runeTmp, s, s$1;\n\t\truneTmp = arrayType$4.zero();\n\t\tif ((r === ((quote >> 0))) || (r === 92)) {\n\t\t\tbuf = $append(buf, 92);\n\t\t\tbuf = $append(buf, ((r << 24 >>> 24)));\n\t\t\treturn buf;\n\t\t}\n\t\tif (ASCIIonly) {\n\t\t\tif (r < 128 && IsPrint(r)) {\n\t\t\t\tbuf = $append(buf, ((r << 24 >>> 24)));\n\t\t\t\treturn buf;\n\t\t\t}\n\t\t} else if (IsPrint(r) || graphicOnly && isInGraphicList(r)) {\n\t\t\tn = utf8.EncodeRune(new sliceType$6(runeTmp), r);\n\t\t\tbuf = $appendSlice(buf, $subslice(new sliceType$6(runeTmp), 0, n));\n\t\t\treturn buf;\n\t\t}\n\t\t_1 = r;\n\t\tif (_1 === (7)) {\n\t\t\tbuf = $appendSlice(buf, \"\\\\a\");\n\t\t} else if (_1 === (8)) {\n\t\t\tbuf = $appendSlice(buf, \"\\\\b\");\n\t\t} else if (_1 === (12)) {\n\t\t\tbuf = $appendSlice(buf, \"\\\\f\");\n\t\t} else if (_1 === (10)) {\n\t\t\tbuf = $appendSlice(buf, \"\\\\n\");\n\t\t} else if (_1 === (13)) {\n\t\t\tbuf = $appendSlice(buf, \"\\\\r\");\n\t\t} else if (_1 === (9)) {\n\t\t\tbuf = $appendSlice(buf, \"\\\\t\");\n\t\t} else if (_1 === (11)) {\n\t\t\tbuf = $appendSlice(buf, \"\\\\v\");\n\t\t} else {\n\t\t\tif (r < 32) {\n\t\t\t\tbuf = $appendSlice(buf, \"\\\\x\");\n\t\t\t\tbuf = $append(buf, \"0123456789abcdef\".charCodeAt((((r << 24 >>> 24)) >>> 4 << 24 >>> 24)));\n\t\t\t\tbuf = $append(buf, \"0123456789abcdef\".charCodeAt(((((r << 24 >>> 24)) & 15) >>> 0)));\n\t\t\t} else if (r > 1114111) {\n\t\t\t\tr = 65533;\n\t\t\t\tbuf = $appendSlice(buf, \"\\\\u\");\n\t\t\t\ts = 12;\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (!(s >= 0)) { break; }\n\t\t\t\t\tbuf = $append(buf, \"0123456789abcdef\".charCodeAt((((r >> $min(((s >>> 0)), 31)) >> 0) & 15)));\n\t\t\t\t\ts = s - (4) >> 0;\n\t\t\t\t}\n\t\t\t} else if (r < 65536) {\n\t\t\t\tbuf = $appendSlice(buf, \"\\\\u\");\n\t\t\t\ts = 12;\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (!(s >= 0)) { break; }\n\t\t\t\t\tbuf = $append(buf, \"0123456789abcdef\".charCodeAt((((r >> $min(((s >>> 0)), 31)) >> 0) & 15)));\n\t\t\t\t\ts = s - (4) >> 0;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tbuf = $appendSlice(buf, \"\\\\U\");\n\t\t\t\ts$1 = 28;\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (!(s$1 >= 0)) { break; }\n\t\t\t\t\tbuf = $append(buf, \"0123456789abcdef\".charCodeAt((((r >> $min(((s$1 >>> 0)), 31)) >> 0) & 15)));\n\t\t\t\t\ts$1 = s$1 - (4) >> 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn buf;\n\t};\n\tQuote = function(s) {\n\t\tvar s;\n\t\treturn quoteWith(s, 34, false, false);\n\t};\n\t$pkg.Quote = Quote;\n\tAppendQuote = function(dst, s) {\n\t\tvar dst, s;\n\t\treturn appendQuotedWith(dst, s, 34, false, false);\n\t};\n\t$pkg.AppendQuote = AppendQuote;\n\tAppendQuoteToASCII = function(dst, s) {\n\t\tvar dst, s;\n\t\treturn appendQuotedWith(dst, s, 34, true, false);\n\t};\n\t$pkg.AppendQuoteToASCII = AppendQuoteToASCII;\n\tAppendQuoteRune = function(dst, r) {\n\t\tvar dst, r;\n\t\treturn appendQuotedRuneWith(dst, r, 39, false, false);\n\t};\n\t$pkg.AppendQuoteRune = AppendQuoteRune;\n\tAppendQuoteRuneToASCII = function(dst, r) {\n\t\tvar dst, r;\n\t\treturn appendQuotedRuneWith(dst, r, 39, true, false);\n\t};\n\t$pkg.AppendQuoteRuneToASCII = AppendQuoteRuneToASCII;\n\tCanBackquote = function(s) {\n\t\tvar _tuple, r, s, wid;\n\t\twhile (true) {\n\t\t\tif (!(s.length > 0)) { break; }\n\t\t\t_tuple = utf8.DecodeRuneInString(s);\n\t\t\tr = _tuple[0];\n\t\t\twid = _tuple[1];\n\t\t\ts = $substring(s, wid);\n\t\t\tif (wid > 1) {\n\t\t\t\tif (r === 65279) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (r === 65533) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif ((r < 32 && !((r === 9))) || (r === 96) || (r === 127)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t};\n\t$pkg.CanBackquote = CanBackquote;\n\tunhex = function(b) {\n\t\tvar _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, b, c, ok, v;\n\t\tv = 0;\n\t\tok = false;\n\t\tc = ((b >> 0));\n\t\tif (48 <= c && c <= 57) {\n\t\t\t_tmp = c - 48 >> 0;\n\t\t\t_tmp$1 = true;\n\t\t\tv = _tmp;\n\t\t\tok = _tmp$1;\n\t\t\treturn [v, ok];\n\t\t} else if (97 <= c && c <= 102) {\n\t\t\t_tmp$2 = (c - 97 >> 0) + 10 >> 0;\n\t\t\t_tmp$3 = true;\n\t\t\tv = _tmp$2;\n\t\t\tok = _tmp$3;\n\t\t\treturn [v, ok];\n\t\t} else if (65 <= c && c <= 70) {\n\t\t\t_tmp$4 = (c - 65 >> 0) + 10 >> 0;\n\t\t\t_tmp$5 = true;\n\t\t\tv = _tmp$4;\n\t\t\tok = _tmp$5;\n\t\t\treturn [v, ok];\n\t\t}\n\t\treturn [v, ok];\n\t};\n\tUnquoteChar = function(s, quote) {\n\t\tvar _1, _2, _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tuple, _tuple$1, c, c$1, err, j, j$1, multibyte, n, ok, quote, r, s, size, tail, v, v$1, value, x, x$1;\n\t\tvalue = 0;\n\t\tmultibyte = false;\n\t\ttail = \"\";\n\t\terr = $ifaceNil;\n\t\tif (s.length === 0) {\n\t\t\terr = $pkg.ErrSyntax;\n\t\t\treturn [value, multibyte, tail, err];\n\t\t}\n\t\tc = s.charCodeAt(0);\n\t\tif ((c === quote) && ((quote === 39) || (quote === 34))) {\n\t\t\terr = $pkg.ErrSyntax;\n\t\t\treturn [value, multibyte, tail, err];\n\t\t} else if (c >= 128) {\n\t\t\t_tuple = utf8.DecodeRuneInString(s);\n\t\t\tr = _tuple[0];\n\t\t\tsize = _tuple[1];\n\t\t\t_tmp = r;\n\t\t\t_tmp$1 = true;\n\t\t\t_tmp$2 = $substring(s, size);\n\t\t\t_tmp$3 = $ifaceNil;\n\t\t\tvalue = _tmp;\n\t\t\tmultibyte = _tmp$1;\n\t\t\ttail = _tmp$2;\n\t\t\terr = _tmp$3;\n\t\t\treturn [value, multibyte, tail, err];\n\t\t} else if (!((c === 92))) {\n\t\t\t_tmp$4 = ((s.charCodeAt(0) >> 0));\n\t\t\t_tmp$5 = false;\n\t\t\t_tmp$6 = $substring(s, 1);\n\t\t\t_tmp$7 = $ifaceNil;\n\t\t\tvalue = _tmp$4;\n\t\t\tmultibyte = _tmp$5;\n\t\t\ttail = _tmp$6;\n\t\t\terr = _tmp$7;\n\t\t\treturn [value, multibyte, tail, err];\n\t\t}\n\t\tif (s.length <= 1) {\n\t\t\terr = $pkg.ErrSyntax;\n\t\t\treturn [value, multibyte, tail, err];\n\t\t}\n\t\tc$1 = s.charCodeAt(1);\n\t\ts = $substring(s, 2);\n\t\tswitch (0) { default:\n\t\t\t_1 = c$1;\n\t\t\tif (_1 === (97)) {\n\t\t\t\tvalue = 7;\n\t\t\t} else if (_1 === (98)) {\n\t\t\t\tvalue = 8;\n\t\t\t} else if (_1 === (102)) {\n\t\t\t\tvalue = 12;\n\t\t\t} else if (_1 === (110)) {\n\t\t\t\tvalue = 10;\n\t\t\t} else if (_1 === (114)) {\n\t\t\t\tvalue = 13;\n\t\t\t} else if (_1 === (116)) {\n\t\t\t\tvalue = 9;\n\t\t\t} else if (_1 === (118)) {\n\t\t\t\tvalue = 11;\n\t\t\t} else if ((_1 === (120)) || (_1 === (117)) || (_1 === (85))) {\n\t\t\t\tn = 0;\n\t\t\t\t_2 = c$1;\n\t\t\t\tif (_2 === (120)) {\n\t\t\t\t\tn = 2;\n\t\t\t\t} else if (_2 === (117)) {\n\t\t\t\t\tn = 4;\n\t\t\t\t} else if (_2 === (85)) {\n\t\t\t\t\tn = 8;\n\t\t\t\t}\n\t\t\t\tv = 0;\n\t\t\t\tif (s.length < n) {\n\t\t\t\t\terr = $pkg.ErrSyntax;\n\t\t\t\t\treturn [value, multibyte, tail, err];\n\t\t\t\t}\n\t\t\t\tj = 0;\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (!(j < n)) { break; }\n\t\t\t\t\t_tuple$1 = unhex(s.charCodeAt(j));\n\t\t\t\t\tx = _tuple$1[0];\n\t\t\t\t\tok = _tuple$1[1];\n\t\t\t\t\tif (!ok) {\n\t\t\t\t\t\terr = $pkg.ErrSyntax;\n\t\t\t\t\t\treturn [value, multibyte, tail, err];\n\t\t\t\t\t}\n\t\t\t\t\tv = (v << 4 >> 0) | x;\n\t\t\t\t\tj = j + (1) >> 0;\n\t\t\t\t}\n\t\t\t\ts = $substring(s, n);\n\t\t\t\tif (c$1 === 120) {\n\t\t\t\t\tvalue = v;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif (v > 1114111) {\n\t\t\t\t\terr = $pkg.ErrSyntax;\n\t\t\t\t\treturn [value, multibyte, tail, err];\n\t\t\t\t}\n\t\t\t\tvalue = v;\n\t\t\t\tmultibyte = true;\n\t\t\t} else if ((_1 === (48)) || (_1 === (49)) || (_1 === (50)) || (_1 === (51)) || (_1 === (52)) || (_1 === (53)) || (_1 === (54)) || (_1 === (55))) {\n\t\t\t\tv$1 = ((c$1 >> 0)) - 48 >> 0;\n\t\t\t\tif (s.length < 2) {\n\t\t\t\t\terr = $pkg.ErrSyntax;\n\t\t\t\t\treturn [value, multibyte, tail, err];\n\t\t\t\t}\n\t\t\t\tj$1 = 0;\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (!(j$1 < 2)) { break; }\n\t\t\t\t\tx$1 = ((s.charCodeAt(j$1) >> 0)) - 48 >> 0;\n\t\t\t\t\tif (x$1 < 0 || x$1 > 7) {\n\t\t\t\t\t\terr = $pkg.ErrSyntax;\n\t\t\t\t\t\treturn [value, multibyte, tail, err];\n\t\t\t\t\t}\n\t\t\t\t\tv$1 = ((v$1 << 3 >> 0)) | x$1;\n\t\t\t\t\tj$1 = j$1 + (1) >> 0;\n\t\t\t\t}\n\t\t\t\ts = $substring(s, 2);\n\t\t\t\tif (v$1 > 255) {\n\t\t\t\t\terr = $pkg.ErrSyntax;\n\t\t\t\t\treturn [value, multibyte, tail, err];\n\t\t\t\t}\n\t\t\t\tvalue = v$1;\n\t\t\t} else if (_1 === (92)) {\n\t\t\t\tvalue = 92;\n\t\t\t} else if ((_1 === (39)) || (_1 === (34))) {\n\t\t\t\tif (!((c$1 === quote))) {\n\t\t\t\t\terr = $pkg.ErrSyntax;\n\t\t\t\t\treturn [value, multibyte, tail, err];\n\t\t\t\t}\n\t\t\t\tvalue = ((c$1 >> 0));\n\t\t\t} else {\n\t\t\t\terr = $pkg.ErrSyntax;\n\t\t\t\treturn [value, multibyte, tail, err];\n\t\t\t}\n\t\t}\n\t\ttail = s;\n\t\treturn [value, multibyte, tail, err];\n\t};\n\t$pkg.UnquoteChar = UnquoteChar;\n\tUnquote = function(s) {\n\t\tvar _1, _q, _tuple, _tuple$1, buf, buf$1, c, err, i, multibyte, n, n$1, quote, r, runeTmp, s, size, ss;\n\t\tn = s.length;\n\t\tif (n < 2) {\n\t\t\treturn [\"\", $pkg.ErrSyntax];\n\t\t}\n\t\tquote = s.charCodeAt(0);\n\t\tif (!((quote === s.charCodeAt((n - 1 >> 0))))) {\n\t\t\treturn [\"\", $pkg.ErrSyntax];\n\t\t}\n\t\ts = $substring(s, 1, (n - 1 >> 0));\n\t\tif (quote === 96) {\n\t\t\tif (contains(s, 96)) {\n\t\t\t\treturn [\"\", $pkg.ErrSyntax];\n\t\t\t}\n\t\t\tif (contains(s, 13)) {\n\t\t\t\tbuf = $makeSlice(sliceType$6, 0, (s.length - 1 >> 0));\n\t\t\t\ti = 0;\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (!(i < s.length)) { break; }\n\t\t\t\t\tif (!((s.charCodeAt(i) === 13))) {\n\t\t\t\t\t\tbuf = $append(buf, s.charCodeAt(i));\n\t\t\t\t\t}\n\t\t\t\t\ti = i + (1) >> 0;\n\t\t\t\t}\n\t\t\t\treturn [($bytesToString(buf)), $ifaceNil];\n\t\t\t}\n\t\t\treturn [s, $ifaceNil];\n\t\t}\n\t\tif (!((quote === 34)) && !((quote === 39))) {\n\t\t\treturn [\"\", $pkg.ErrSyntax];\n\t\t}\n\t\tif (contains(s, 10)) {\n\t\t\treturn [\"\", $pkg.ErrSyntax];\n\t\t}\n\t\tif (!contains(s, 92) && !contains(s, quote)) {\n\t\t\t_1 = quote;\n\t\t\tif (_1 === (34)) {\n\t\t\t\tif (utf8.ValidString(s)) {\n\t\t\t\t\treturn [s, $ifaceNil];\n\t\t\t\t}\n\t\t\t} else if (_1 === (39)) {\n\t\t\t\t_tuple = utf8.DecodeRuneInString(s);\n\t\t\t\tr = _tuple[0];\n\t\t\t\tsize = _tuple[1];\n\t\t\t\tif ((size === s.length) && (!((r === 65533)) || !((size === 1)))) {\n\t\t\t\t\treturn [s, $ifaceNil];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\truneTmp = arrayType$4.zero();\n\t\tbuf$1 = $makeSlice(sliceType$6, 0, (_q = ($imul(3, s.length)) / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError(\"integer divide by zero\")));\n\t\twhile (true) {\n\t\t\tif (!(s.length > 0)) { break; }\n\t\t\t_tuple$1 = UnquoteChar(s, quote);\n\t\t\tc = _tuple$1[0];\n\t\t\tmultibyte = _tuple$1[1];\n\t\t\tss = _tuple$1[2];\n\t\t\terr = _tuple$1[3];\n\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\treturn [\"\", err];\n\t\t\t}\n\t\t\ts = ss;\n\t\t\tif (c < 128 || !multibyte) {\n\t\t\t\tbuf$1 = $append(buf$1, ((c << 24 >>> 24)));\n\t\t\t} else {\n\t\t\t\tn$1 = utf8.EncodeRune(new sliceType$6(runeTmp), c);\n\t\t\t\tbuf$1 = $appendSlice(buf$1, $subslice(new sliceType$6(runeTmp), 0, n$1));\n\t\t\t}\n\t\t\tif ((quote === 39) && !((s.length === 0))) {\n\t\t\t\treturn [\"\", $pkg.ErrSyntax];\n\t\t\t}\n\t\t}\n\t\treturn [($bytesToString(buf$1)), $ifaceNil];\n\t};\n\t$pkg.Unquote = Unquote;\n\tcontains = function(s, c) {\n\t\tvar c, i, s;\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < s.length)) { break; }\n\t\t\tif (s.charCodeAt(i) === c) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\treturn false;\n\t};\n\tbsearch16 = function(a, x) {\n\t\tvar _q, _tmp, _tmp$1, a, h, i, j, x;\n\t\t_tmp = 0;\n\t\t_tmp$1 = a.$length;\n\t\ti = _tmp;\n\t\tj = _tmp$1;\n\t\twhile (true) {\n\t\t\tif (!(i < j)) { break; }\n\t\t\th = i + (_q = ((j - i >> 0)) / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError(\"integer divide by zero\")) >> 0;\n\t\t\tif (((h < 0 || h >= a.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : a.$array[a.$offset + h]) < x) {\n\t\t\t\ti = h + 1 >> 0;\n\t\t\t} else {\n\t\t\t\tj = h;\n\t\t\t}\n\t\t}\n\t\treturn i;\n\t};\n\tbsearch32 = function(a, x) {\n\t\tvar _q, _tmp, _tmp$1, a, h, i, j, x;\n\t\t_tmp = 0;\n\t\t_tmp$1 = a.$length;\n\t\ti = _tmp;\n\t\tj = _tmp$1;\n\t\twhile (true) {\n\t\t\tif (!(i < j)) { break; }\n\t\t\th = i + (_q = ((j - i >> 0)) / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError(\"integer divide by zero\")) >> 0;\n\t\t\tif (((h < 0 || h >= a.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : a.$array[a.$offset + h]) < x) {\n\t\t\t\ti = h + 1 >> 0;\n\t\t\t} else {\n\t\t\t\tj = h;\n\t\t\t}\n\t\t}\n\t\treturn i;\n\t};\n\tIsPrint = function(r) {\n\t\tvar _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, i, i$1, isNotPrint, isNotPrint$1, isPrint, isPrint$1, j, j$1, r, rr, rr$1, x, x$1, x$2, x$3;\n\t\tif (r <= 255) {\n\t\t\tif (32 <= r && r <= 126) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (161 <= r && r <= 255) {\n\t\t\t\treturn !((r === 173));\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t\tif (0 <= r && r < 65536) {\n\t\t\t_tmp = ((r << 16 >>> 16));\n\t\t\t_tmp$1 = isPrint16;\n\t\t\t_tmp$2 = isNotPrint16;\n\t\t\trr = _tmp;\n\t\t\tisPrint = _tmp$1;\n\t\t\tisNotPrint = _tmp$2;\n\t\t\ti = bsearch16(isPrint, rr);\n\t\t\tif (i >= isPrint.$length || rr < (x = (i & ~1) >> 0, ((x < 0 || x >= isPrint.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : isPrint.$array[isPrint.$offset + x])) || (x$1 = i | 1, ((x$1 < 0 || x$1 >= isPrint.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : isPrint.$array[isPrint.$offset + x$1])) < rr) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tj = bsearch16(isNotPrint, rr);\n\t\t\treturn j >= isNotPrint.$length || !((((j < 0 || j >= isNotPrint.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : isNotPrint.$array[isNotPrint.$offset + j]) === rr));\n\t\t}\n\t\t_tmp$3 = ((r >>> 0));\n\t\t_tmp$4 = isPrint32;\n\t\t_tmp$5 = isNotPrint32;\n\t\trr$1 = _tmp$3;\n\t\tisPrint$1 = _tmp$4;\n\t\tisNotPrint$1 = _tmp$5;\n\t\ti$1 = bsearch32(isPrint$1, rr$1);\n\t\tif (i$1 >= isPrint$1.$length || rr$1 < (x$2 = (i$1 & ~1) >> 0, ((x$2 < 0 || x$2 >= isPrint$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : isPrint$1.$array[isPrint$1.$offset + x$2])) || (x$3 = i$1 | 1, ((x$3 < 0 || x$3 >= isPrint$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : isPrint$1.$array[isPrint$1.$offset + x$3])) < rr$1) {\n\t\t\treturn false;\n\t\t}\n\t\tif (r >= 131072) {\n\t\t\treturn true;\n\t\t}\n\t\tr = r - (65536) >> 0;\n\t\tj$1 = bsearch16(isNotPrint$1, ((r << 16 >>> 16)));\n\t\treturn j$1 >= isNotPrint$1.$length || !((((j$1 < 0 || j$1 >= isNotPrint$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : isNotPrint$1.$array[isNotPrint$1.$offset + j$1]) === ((r << 16 >>> 16))));\n\t};\n\t$pkg.IsPrint = IsPrint;\n\tisInGraphicList = function(r) {\n\t\tvar i, r, rr;\n\t\tif (r > 65535) {\n\t\t\treturn false;\n\t\t}\n\t\trr = ((r << 16 >>> 16));\n\t\ti = bsearch16(isGraphic, rr);\n\t\treturn i < isGraphic.$length && (rr === ((i < 0 || i >= isGraphic.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : isGraphic.$array[isGraphic.$offset + i]));\n\t};\n\tptrType.methods = [{prop: \"Error\", name: \"Error\", pkg: \"\", typ: $funcType([], [$String], false)}];\n\tptrType$2.methods = [{prop: \"set\", name: \"set\", pkg: \"strconv\", typ: $funcType([$String], [$Bool], false)}, {prop: \"floatBits\", name: \"floatBits\", pkg: \"strconv\", typ: $funcType([ptrType$1], [$Uint64, $Bool], false)}, {prop: \"String\", name: \"String\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"Assign\", name: \"Assign\", pkg: \"\", typ: $funcType([$Uint64], [], false)}, {prop: \"Shift\", name: \"Shift\", pkg: \"\", typ: $funcType([$Int], [], false)}, {prop: \"Round\", name: \"Round\", pkg: \"\", typ: $funcType([$Int], [], false)}, {prop: \"RoundDown\", name: \"RoundDown\", pkg: \"\", typ: $funcType([$Int], [], false)}, {prop: \"RoundUp\", name: \"RoundUp\", pkg: \"\", typ: $funcType([$Int], [], false)}, {prop: \"RoundedInteger\", name: \"RoundedInteger\", pkg: \"\", typ: $funcType([], [$Uint64], false)}];\n\tptrType$4.methods = [{prop: \"floatBits\", name: \"floatBits\", pkg: \"strconv\", typ: $funcType([ptrType$1], [$Uint64, $Bool], false)}, {prop: \"AssignComputeBounds\", name: \"AssignComputeBounds\", pkg: \"\", typ: $funcType([$Uint64, $Int, $Bool, ptrType$1], [extFloat, extFloat], false)}, {prop: \"Normalize\", name: \"Normalize\", pkg: \"\", typ: $funcType([], [$Uint], false)}, {prop: \"Multiply\", name: \"Multiply\", pkg: \"\", typ: $funcType([extFloat], [], false)}, {prop: \"AssignDecimal\", name: \"AssignDecimal\", pkg: \"\", typ: $funcType([$Uint64, $Int, $Bool, $Bool, ptrType$1], [$Bool], false)}, {prop: \"frexp10\", name: \"frexp10\", pkg: \"strconv\", typ: $funcType([], [$Int, $Int], false)}, {prop: \"FixedDecimal\", name: \"FixedDecimal\", pkg: \"\", typ: $funcType([ptrType$3, $Int], [$Bool], false)}, {prop: \"ShortestDecimal\", name: \"ShortestDecimal\", pkg: \"\", typ: $funcType([ptrType$3, ptrType$4, ptrType$4], [$Bool], false)}];\n\tNumError.init(\"\", [{prop: \"Func\", name: \"Func\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"Num\", name: \"Num\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"Err\", name: \"Err\", embedded: false, exported: true, typ: $error, tag: \"\"}]);\n\tdecimal.init(\"strconv\", [{prop: \"d\", name: \"d\", embedded: false, exported: false, typ: arrayType, tag: \"\"}, {prop: \"nd\", name: \"nd\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"dp\", name: \"dp\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"neg\", name: \"neg\", embedded: false, exported: false, typ: $Bool, tag: \"\"}, {prop: \"trunc\", name: \"trunc\", embedded: false, exported: false, typ: $Bool, tag: \"\"}]);\n\tleftCheat.init(\"strconv\", [{prop: \"delta\", name: \"delta\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"cutoff\", name: \"cutoff\", embedded: false, exported: false, typ: $String, tag: \"\"}]);\n\textFloat.init(\"strconv\", [{prop: \"mant\", name: \"mant\", embedded: false, exported: false, typ: $Uint64, tag: \"\"}, {prop: \"exp\", name: \"exp\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"neg\", name: \"neg\", embedded: false, exported: false, typ: $Bool, tag: \"\"}]);\n\tfloatInfo.init(\"strconv\", [{prop: \"mantbits\", name: \"mantbits\", embedded: false, exported: false, typ: $Uint, tag: \"\"}, {prop: \"expbits\", name: \"expbits\", embedded: false, exported: false, typ: $Uint, tag: \"\"}, {prop: \"bias\", name: \"bias\", embedded: false, exported: false, typ: $Int, tag: \"\"}]);\n\tdecimalSlice.init(\"strconv\", [{prop: \"d\", name: \"d\", embedded: false, exported: false, typ: sliceType$6, tag: \"\"}, {prop: \"nd\", name: \"nd\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"dp\", name: \"dp\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"neg\", name: \"neg\", embedded: false, exported: false, typ: $Bool, tag: \"\"}]);\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = errors.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = math.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = bits.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = utf8.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\toptimize = true;\n\t\tpowtab = new sliceType([1, 3, 6, 9, 13, 16, 19, 23, 26]);\n\t\tfloat64pow10 = new sliceType$1([1, 10, 100, 1000, 10000, 100000, 1e+06, 1e+07, 1e+08, 1e+09, 1e+10, 1e+11, 1e+12, 1e+13, 1e+14, 1e+15, 1e+16, 1e+17, 1e+18, 1e+19, 1e+20, 1e+21, 1e+22]);\n\t\tfloat32pow10 = new sliceType$2([1, 10, 100, 1000, 10000, 100000, 1e+06, 1e+07, 1e+08, 1e+09, 1e+10]);\n\t\t$pkg.ErrRange = errors.New(\"value out of range\");\n\t\t$pkg.ErrSyntax = errors.New(\"invalid syntax\");\n\t\tleftcheats = new sliceType$3([new leftCheat.ptr(0, \"\"), new leftCheat.ptr(1, \"5\"), new leftCheat.ptr(1, \"25\"), new leftCheat.ptr(1, \"125\"), new leftCheat.ptr(2, \"625\"), new leftCheat.ptr(2, \"3125\"), new leftCheat.ptr(2, \"15625\"), new leftCheat.ptr(3, \"78125\"), new leftCheat.ptr(3, \"390625\"), new leftCheat.ptr(3, \"1953125\"), new leftCheat.ptr(4, \"9765625\"), new leftCheat.ptr(4, \"48828125\"), new leftCheat.ptr(4, \"244140625\"), new leftCheat.ptr(4, \"1220703125\"), new leftCheat.ptr(5, \"6103515625\"), new leftCheat.ptr(5, \"30517578125\"), new leftCheat.ptr(5, \"152587890625\"), new leftCheat.ptr(6, \"762939453125\"), new leftCheat.ptr(6, \"3814697265625\"), new leftCheat.ptr(6, \"19073486328125\"), new leftCheat.ptr(7, \"95367431640625\"), new leftCheat.ptr(7, \"476837158203125\"), new leftCheat.ptr(7, \"2384185791015625\"), new leftCheat.ptr(7, \"11920928955078125\"), new leftCheat.ptr(8, \"59604644775390625\"), new leftCheat.ptr(8, \"298023223876953125\"), new leftCheat.ptr(8, \"1490116119384765625\"), new leftCheat.ptr(9, \"7450580596923828125\"), new leftCheat.ptr(9, \"37252902984619140625\"), new leftCheat.ptr(9, \"186264514923095703125\"), new leftCheat.ptr(10, \"931322574615478515625\"), new leftCheat.ptr(10, \"4656612873077392578125\"), new leftCheat.ptr(10, \"23283064365386962890625\"), new leftCheat.ptr(10, \"116415321826934814453125\"), new leftCheat.ptr(11, \"582076609134674072265625\"), new leftCheat.ptr(11, \"2910383045673370361328125\"), new leftCheat.ptr(11, \"14551915228366851806640625\"), new leftCheat.ptr(12, \"72759576141834259033203125\"), new leftCheat.ptr(12, \"363797880709171295166015625\"), new leftCheat.ptr(12, \"1818989403545856475830078125\"), new leftCheat.ptr(13, \"9094947017729282379150390625\"), new leftCheat.ptr(13, \"45474735088646411895751953125\"), new leftCheat.ptr(13, \"227373675443232059478759765625\"), new leftCheat.ptr(13, \"1136868377216160297393798828125\"), new leftCheat.ptr(14, \"5684341886080801486968994140625\"), new leftCheat.ptr(14, \"28421709430404007434844970703125\"), new leftCheat.ptr(14, \"142108547152020037174224853515625\"), new leftCheat.ptr(15, \"710542735760100185871124267578125\"), new leftCheat.ptr(15, \"3552713678800500929355621337890625\"), new leftCheat.ptr(15, \"17763568394002504646778106689453125\"), new leftCheat.ptr(16, \"88817841970012523233890533447265625\"), new leftCheat.ptr(16, \"444089209850062616169452667236328125\"), new leftCheat.ptr(16, \"2220446049250313080847263336181640625\"), new leftCheat.ptr(16, \"11102230246251565404236316680908203125\"), new leftCheat.ptr(17, \"55511151231257827021181583404541015625\"), new leftCheat.ptr(17, \"277555756156289135105907917022705078125\"), new leftCheat.ptr(17, \"1387778780781445675529539585113525390625\"), new leftCheat.ptr(18, \"6938893903907228377647697925567626953125\"), new leftCheat.ptr(18, \"34694469519536141888238489627838134765625\"), new leftCheat.ptr(18, \"173472347597680709441192448139190673828125\"), new leftCheat.ptr(19, \"867361737988403547205962240695953369140625\")]);\n\t\tsmallPowersOfTen = $toNativeArray($kindStruct, [new extFloat.ptr(new $Uint64(2147483648, 0), -63, false), new extFloat.ptr(new $Uint64(2684354560, 0), -60, false), new extFloat.ptr(new $Uint64(3355443200, 0), -57, false), new extFloat.ptr(new $Uint64(4194304000, 0), -54, false), new extFloat.ptr(new $Uint64(2621440000, 0), -50, false), new extFloat.ptr(new $Uint64(3276800000, 0), -47, false), new extFloat.ptr(new $Uint64(4096000000, 0), -44, false), new extFloat.ptr(new $Uint64(2560000000, 0), -40, false)]);\n\t\tpowersOfTen = $toNativeArray($kindStruct, [new extFloat.ptr(new $Uint64(4203730336, 136053384), -1220, false), new extFloat.ptr(new $Uint64(3132023167, 2722021238), -1193, false), new extFloat.ptr(new $Uint64(2333539104, 810921078), -1166, false), new extFloat.ptr(new $Uint64(3477244234, 1573795306), -1140, false), new extFloat.ptr(new $Uint64(2590748842, 1432697645), -1113, false), new extFloat.ptr(new $Uint64(3860516611, 1025131999), -1087, false), new extFloat.ptr(new $Uint64(2876309015, 3348809418), -1060, false), new extFloat.ptr(new $Uint64(4286034428, 3200048207), -1034, false), new extFloat.ptr(new $Uint64(3193344495, 1097586188), -1007, false), new extFloat.ptr(new $Uint64(2379227053, 2424306748), -980, false), new extFloat.ptr(new $Uint64(3545324584, 827693699), -954, false), new extFloat.ptr(new $Uint64(2641472655, 2913388981), -927, false), new extFloat.ptr(new $Uint64(3936100983, 602835915), -901, false), new extFloat.ptr(new $Uint64(2932623761, 1081627501), -874, false), new extFloat.ptr(new $Uint64(2184974969, 1572261463), -847, false), new extFloat.ptr(new $Uint64(3255866422, 1308317239), -821, false), new extFloat.ptr(new $Uint64(2425809519, 944281679), -794, false), new extFloat.ptr(new $Uint64(3614737867, 629291719), -768, false), new extFloat.ptr(new $Uint64(2693189581, 2545915892), -741, false), new extFloat.ptr(new $Uint64(4013165208, 388672741), -715, false), new extFloat.ptr(new $Uint64(2990041083, 708162190), -688, false), new extFloat.ptr(new $Uint64(2227754207, 3536207675), -661, false), new extFloat.ptr(new $Uint64(3319612455, 450088378), -635, false), new extFloat.ptr(new $Uint64(2473304014, 3139815830), -608, false), new extFloat.ptr(new $Uint64(3685510180, 2103616900), -582, false), new extFloat.ptr(new $Uint64(2745919064, 224385782), -555, false), new extFloat.ptr(new $Uint64(4091738259, 3737383206), -529, false), new extFloat.ptr(new $Uint64(3048582568, 2868871352), -502, false), new extFloat.ptr(new $Uint64(2271371013, 1820084875), -475, false), new extFloat.ptr(new $Uint64(3384606560, 885076051), -449, false), new extFloat.ptr(new $Uint64(2521728396, 2444895829), -422, false), new extFloat.ptr(new $Uint64(3757668132, 1881767613), -396, false), new extFloat.ptr(new $Uint64(2799680927, 3102062735), -369, false), new extFloat.ptr(new $Uint64(4171849679, 2289335700), -343, false), new extFloat.ptr(new $Uint64(3108270227, 2410191823), -316, false), new extFloat.ptr(new $Uint64(2315841784, 3205436779), -289, false), new extFloat.ptr(new $Uint64(3450873173, 1697722806), -263, false), new extFloat.ptr(new $Uint64(2571100870, 3497754540), -236, false), new extFloat.ptr(new $Uint64(3831238852, 707476230), -210, false), new extFloat.ptr(new $Uint64(2854495385, 1769181907), -183, false), new extFloat.ptr(new $Uint64(4253529586, 2197867022), -157, false), new extFloat.ptr(new $Uint64(3169126500, 2450594539), -130, false), new extFloat.ptr(new $Uint64(2361183241, 1867548876), -103, false), new extFloat.ptr(new $Uint64(3518437208, 3793315116), -77, false), new extFloat.ptr(new $Uint64(2621440000, 0), -50, false), new extFloat.ptr(new $Uint64(3906250000, 0), -24, false), new extFloat.ptr(new $Uint64(2910383045, 2892103680), 3, false), new extFloat.ptr(new $Uint64(2168404344, 4170451332), 30, false), new extFloat.ptr(new $Uint64(3231174267, 3372684723), 56, false), new extFloat.ptr(new $Uint64(2407412430, 2078956656), 83, false), new extFloat.ptr(new $Uint64(3587324068, 2884206696), 109, false), new extFloat.ptr(new $Uint64(2672764710, 395977285), 136, false), new extFloat.ptr(new $Uint64(3982729777, 3569679143), 162, false), new extFloat.ptr(new $Uint64(2967364920, 2361961896), 189, false), new extFloat.ptr(new $Uint64(2210859150, 447440347), 216, false), new extFloat.ptr(new $Uint64(3294436857, 1114709402), 242, false), new extFloat.ptr(new $Uint64(2454546732, 2786846552), 269, false), new extFloat.ptr(new $Uint64(3657559652, 443583978), 295, false), new extFloat.ptr(new $Uint64(2725094297, 2599384906), 322, false), new extFloat.ptr(new $Uint64(4060706939, 3028118405), 348, false), new extFloat.ptr(new $Uint64(3025462433, 2044532855), 375, false), new extFloat.ptr(new $Uint64(2254145170, 1536935362), 402, false), new extFloat.ptr(new $Uint64(3358938053, 3365297469), 428, false), new extFloat.ptr(new $Uint64(2502603868, 4204241075), 455, false), new extFloat.ptr(new $Uint64(3729170365, 2577424355), 481, false), new extFloat.ptr(new $Uint64(2778448436, 3677981733), 508, false), new extFloat.ptr(new $Uint64(4140210802, 2744688476), 534, false), new extFloat.ptr(new $Uint64(3084697427, 1424604878), 561, false), new extFloat.ptr(new $Uint64(2298278679, 4062331362), 588, false), new extFloat.ptr(new $Uint64(3424702107, 3546052773), 614, false), new extFloat.ptr(new $Uint64(2551601907, 2065781727), 641, false), new extFloat.ptr(new $Uint64(3802183132, 2535403578), 667, false), new extFloat.ptr(new $Uint64(2832847187, 1558426518), 694, false), new extFloat.ptr(new $Uint64(4221271257, 2762425404), 720, false), new extFloat.ptr(new $Uint64(3145092172, 2812560400), 747, false), new extFloat.ptr(new $Uint64(2343276271, 3057687578), 774, false), new extFloat.ptr(new $Uint64(3491753744, 2790753324), 800, false), new extFloat.ptr(new $Uint64(2601559269, 3918606633), 827, false), new extFloat.ptr(new $Uint64(3876625403, 2711358621), 853, false), new extFloat.ptr(new $Uint64(2888311001, 1648096297), 880, false), new extFloat.ptr(new $Uint64(2151959390, 2057817989), 907, false), new extFloat.ptr(new $Uint64(3206669376, 61660461), 933, false), new extFloat.ptr(new $Uint64(2389154863, 1581580175), 960, false), new extFloat.ptr(new $Uint64(3560118173, 2626467905), 986, false), new extFloat.ptr(new $Uint64(2652494738, 3034782633), 1013, false), new extFloat.ptr(new $Uint64(3952525166, 3135207385), 1039, false), new extFloat.ptr(new $Uint64(2944860731, 2616258155), 1066, false)]);\n\t\tuint64pow10 = $toNativeArray($kindUint64, [new $Uint64(0, 1), new $Uint64(0, 10), new $Uint64(0, 100), new $Uint64(0, 1000), new $Uint64(0, 10000), new $Uint64(0, 100000), new $Uint64(0, 1000000), new $Uint64(0, 10000000), new $Uint64(0, 100000000), new $Uint64(0, 1000000000), new $Uint64(2, 1410065408), new $Uint64(23, 1215752192), new $Uint64(232, 3567587328), new $Uint64(2328, 1316134912), new $Uint64(23283, 276447232), new $Uint64(232830, 2764472320), new $Uint64(2328306, 1874919424), new $Uint64(23283064, 1569325056), new $Uint64(232830643, 2808348672), new $Uint64(2328306436, 2313682944)]);\n\t\tfloat32info = new floatInfo.ptr(23, 8, -127);\n\t\tfloat64info = new floatInfo.ptr(52, 11, -1023);\n\t\tisPrint16 = new sliceType$4([32, 126, 161, 887, 890, 895, 900, 1366, 1369, 1418, 1421, 1479, 1488, 1514, 1520, 1524, 1542, 1563, 1566, 1805, 1808, 1866, 1869, 1969, 1984, 2042, 2048, 2093, 2096, 2139, 2142, 2154, 2208, 2237, 2260, 2444, 2447, 2448, 2451, 2482, 2486, 2489, 2492, 2500, 2503, 2504, 2507, 2510, 2519, 2519, 2524, 2531, 2534, 2557, 2561, 2570, 2575, 2576, 2579, 2617, 2620, 2626, 2631, 2632, 2635, 2637, 2641, 2641, 2649, 2654, 2662, 2677, 2689, 2745, 2748, 2765, 2768, 2768, 2784, 2787, 2790, 2801, 2809, 2828, 2831, 2832, 2835, 2873, 2876, 2884, 2887, 2888, 2891, 2893, 2902, 2903, 2908, 2915, 2918, 2935, 2946, 2954, 2958, 2965, 2969, 2975, 2979, 2980, 2984, 2986, 2990, 3001, 3006, 3010, 3014, 3021, 3024, 3024, 3031, 3031, 3046, 3066, 3072, 3129, 3133, 3149, 3157, 3162, 3168, 3171, 3174, 3183, 3192, 3257, 3260, 3277, 3285, 3286, 3294, 3299, 3302, 3314, 3328, 3407, 3412, 3427, 3430, 3455, 3458, 3478, 3482, 3517, 3520, 3526, 3530, 3530, 3535, 3551, 3558, 3567, 3570, 3572, 3585, 3642, 3647, 3675, 3713, 3716, 3719, 3722, 3725, 3725, 3732, 3751, 3754, 3773, 3776, 3789, 3792, 3801, 3804, 3807, 3840, 3948, 3953, 4058, 4096, 4295, 4301, 4301, 4304, 4685, 4688, 4701, 4704, 4749, 4752, 4789, 4792, 4805, 4808, 4885, 4888, 4954, 4957, 4988, 4992, 5017, 5024, 5109, 5112, 5117, 5120, 5788, 5792, 5880, 5888, 5908, 5920, 5942, 5952, 5971, 5984, 6003, 6016, 6109, 6112, 6121, 6128, 6137, 6144, 6157, 6160, 6169, 6176, 6263, 6272, 6314, 6320, 6389, 6400, 6443, 6448, 6459, 6464, 6464, 6468, 6509, 6512, 6516, 6528, 6571, 6576, 6601, 6608, 6618, 6622, 6683, 6686, 6780, 6783, 6793, 6800, 6809, 6816, 6829, 6832, 6846, 6912, 6987, 6992, 7036, 7040, 7155, 7164, 7223, 7227, 7241, 7245, 7304, 7360, 7367, 7376, 7417, 7424, 7957, 7960, 7965, 7968, 8005, 8008, 8013, 8016, 8061, 8064, 8147, 8150, 8175, 8178, 8190, 8208, 8231, 8240, 8286, 8304, 8305, 8308, 8348, 8352, 8383, 8400, 8432, 8448, 8587, 8592, 9254, 9280, 9290, 9312, 11123, 11126, 11157, 11160, 11193, 11197, 11218, 11244, 11247, 11264, 11507, 11513, 11559, 11565, 11565, 11568, 11623, 11631, 11632, 11647, 11670, 11680, 11849, 11904, 12019, 12032, 12245, 12272, 12283, 12289, 12438, 12441, 12543, 12549, 12590, 12593, 12730, 12736, 12771, 12784, 19893, 19904, 40938, 40960, 42124, 42128, 42182, 42192, 42539, 42560, 42743, 42752, 42935, 42999, 43051, 43056, 43065, 43072, 43127, 43136, 43205, 43214, 43225, 43232, 43261, 43264, 43347, 43359, 43388, 43392, 43481, 43486, 43574, 43584, 43597, 43600, 43609, 43612, 43714, 43739, 43766, 43777, 43782, 43785, 43790, 43793, 43798, 43808, 43877, 43888, 44013, 44016, 44025, 44032, 55203, 55216, 55238, 55243, 55291, 63744, 64109, 64112, 64217, 64256, 64262, 64275, 64279, 64285, 64449, 64467, 64831, 64848, 64911, 64914, 64967, 65008, 65021, 65024, 65049, 65056, 65131, 65136, 65276, 65281, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500, 65504, 65518, 65532, 65533]);\n\t\tisNotPrint16 = new sliceType$4([173, 907, 909, 930, 1328, 1376, 1416, 1424, 1757, 2111, 2143, 2229, 2274, 2436, 2473, 2481, 2526, 2564, 2601, 2609, 2612, 2615, 2621, 2653, 2692, 2702, 2706, 2729, 2737, 2740, 2758, 2762, 2816, 2820, 2857, 2865, 2868, 2910, 2948, 2961, 2971, 2973, 3017, 3076, 3085, 3089, 3113, 3141, 3145, 3159, 3204, 3213, 3217, 3241, 3252, 3269, 3273, 3295, 3312, 3332, 3341, 3345, 3397, 3401, 3460, 3506, 3516, 3541, 3543, 3715, 3721, 3736, 3744, 3748, 3750, 3756, 3770, 3781, 3783, 3912, 3992, 4029, 4045, 4294, 4681, 4695, 4697, 4745, 4785, 4799, 4801, 4823, 4881, 5760, 5901, 5997, 6001, 6431, 6751, 7674, 8024, 8026, 8028, 8030, 8117, 8133, 8156, 8181, 8335, 11209, 11311, 11359, 11558, 11687, 11695, 11703, 11711, 11719, 11727, 11735, 11743, 11930, 12352, 12687, 12831, 13055, 42927, 43470, 43519, 43815, 43823, 64311, 64317, 64319, 64322, 64325, 65107, 65127, 65141, 65511]);\n\t\tisPrint32 = new sliceType$5([65536, 65613, 65616, 65629, 65664, 65786, 65792, 65794, 65799, 65843, 65847, 65947, 65952, 65952, 66000, 66045, 66176, 66204, 66208, 66256, 66272, 66299, 66304, 66339, 66349, 66378, 66384, 66426, 66432, 66499, 66504, 66517, 66560, 66717, 66720, 66729, 66736, 66771, 66776, 66811, 66816, 66855, 66864, 66915, 66927, 66927, 67072, 67382, 67392, 67413, 67424, 67431, 67584, 67589, 67592, 67640, 67644, 67644, 67647, 67742, 67751, 67759, 67808, 67829, 67835, 67867, 67871, 67897, 67903, 67903, 67968, 68023, 68028, 68047, 68050, 68102, 68108, 68147, 68152, 68154, 68159, 68167, 68176, 68184, 68192, 68255, 68288, 68326, 68331, 68342, 68352, 68405, 68409, 68437, 68440, 68466, 68472, 68497, 68505, 68508, 68521, 68527, 68608, 68680, 68736, 68786, 68800, 68850, 68858, 68863, 69216, 69246, 69632, 69709, 69714, 69743, 69759, 69825, 69840, 69864, 69872, 69881, 69888, 69955, 69968, 70006, 70016, 70093, 70096, 70132, 70144, 70206, 70272, 70313, 70320, 70378, 70384, 70393, 70400, 70412, 70415, 70416, 70419, 70457, 70460, 70468, 70471, 70472, 70475, 70477, 70480, 70480, 70487, 70487, 70493, 70499, 70502, 70508, 70512, 70516, 70656, 70749, 70784, 70855, 70864, 70873, 71040, 71093, 71096, 71133, 71168, 71236, 71248, 71257, 71264, 71276, 71296, 71351, 71360, 71369, 71424, 71449, 71453, 71467, 71472, 71487, 71840, 71922, 71935, 71935, 72192, 72263, 72272, 72323, 72326, 72354, 72384, 72440, 72704, 72773, 72784, 72812, 72816, 72847, 72850, 72886, 72960, 73014, 73018, 73031, 73040, 73049, 73728, 74649, 74752, 74868, 74880, 75075, 77824, 78894, 82944, 83526, 92160, 92728, 92736, 92777, 92782, 92783, 92880, 92909, 92912, 92917, 92928, 92997, 93008, 93047, 93053, 93071, 93952, 94020, 94032, 94078, 94095, 94111, 94176, 94177, 94208, 100332, 100352, 101106, 110592, 110878, 110960, 111355, 113664, 113770, 113776, 113788, 113792, 113800, 113808, 113817, 113820, 113823, 118784, 119029, 119040, 119078, 119081, 119154, 119163, 119272, 119296, 119365, 119552, 119638, 119648, 119665, 119808, 119967, 119970, 119970, 119973, 119974, 119977, 120074, 120077, 120134, 120138, 120485, 120488, 120779, 120782, 121483, 121499, 121519, 122880, 122904, 122907, 122922, 124928, 125124, 125127, 125142, 125184, 125258, 125264, 125273, 125278, 125279, 126464, 126500, 126503, 126523, 126530, 126530, 126535, 126548, 126551, 126564, 126567, 126619, 126625, 126651, 126704, 126705, 126976, 127019, 127024, 127123, 127136, 127150, 127153, 127221, 127232, 127244, 127248, 127339, 127344, 127404, 127462, 127490, 127504, 127547, 127552, 127560, 127568, 127569, 127584, 127589, 127744, 128724, 128736, 128748, 128752, 128760, 128768, 128883, 128896, 128980, 129024, 129035, 129040, 129095, 129104, 129113, 129120, 129159, 129168, 129197, 129280, 129291, 129296, 129356, 129360, 129387, 129408, 129431, 129472, 129472, 129488, 129510, 131072, 173782, 173824, 177972, 177984, 178205, 178208, 183969, 183984, 191456, 194560, 195101, 917760, 917999]);\n\t\tisNotPrint32 = new sliceType$4([12, 39, 59, 62, 399, 926, 2057, 2102, 2134, 2291, 2564, 2580, 2584, 4285, 4405, 4576, 4626, 4743, 4745, 4750, 4766, 4868, 4905, 4913, 4916, 5210, 5212, 6813, 7177, 7223, 7336, 7431, 7434, 7483, 7486, 9327, 27231, 27482, 27490, 54357, 54429, 54445, 54458, 54460, 54468, 54534, 54549, 54557, 54586, 54591, 54597, 54609, 55968, 57351, 57378, 57381, 60932, 60960, 60963, 60968, 60979, 60984, 60986, 61000, 61002, 61004, 61008, 61011, 61016, 61018, 61020, 61022, 61024, 61027, 61035, 61043, 61048, 61053, 61055, 61066, 61092, 61098, 61632, 61648, 61743, 63807]);\n\t\tisGraphic = new sliceType$4([160, 5760, 8192, 8193, 8194, 8195, 8196, 8197, 8198, 8199, 8200, 8201, 8202, 8239, 8287, 12288]);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"reflect\"] = (function() {\n\tvar $pkg = {}, $init, errors, js, math, runtime, strconv, sync, unicode, utf8, uncommonType, funcType, name, nameData, mapIter, Type, Kind, tflag, rtype, typeAlg, method, ChanDir, arrayType, chanType, imethod, interfaceType, mapType, ptrType, sliceType, structField, structType, Method, nameOff, typeOff, textOff, StructField, StructTag, fieldScan, Value, flag, ValueError, StringHeader, SliceHeader, sliceType$1, ptrType$1, sliceType$2, sliceType$3, ptrType$2, funcType$1, sliceType$4, ptrType$3, ptrType$4, sliceType$5, sliceType$6, sliceType$7, ptrType$5, ptrType$6, structType$3, sliceType$8, sliceType$9, sliceType$10, sliceType$11, ptrType$7, ptrType$8, ptrType$9, sliceType$13, sliceType$14, ptrType$10, sliceType$15, ptrType$16, sliceType$17, funcType$3, funcType$4, funcType$5, ptrType$17, arrayType$12, ptrType$18, initialized, uncommonTypeMap, nameMap, nameOffList, typeOffList, callHelper, jsObjectPtr, selectHelper, kindNames, uint8Type, init, jsType, reflectType, setKindType, newName, newNameOff, newTypeOff, internalStr, isWrapped, copyStruct, makeValue, MakeSlice, TypeOf, ValueOf, FuncOf, SliceOf, Zero, unsafe_New, makeInt, typedmemmove, keyFor, mapaccess, mapassign, mapdelete, mapiterinit, mapiterkey, mapiternext, maplen, cvtDirect, valueInterface, ifaceE2I, methodName, makeMethodValue, wrapJsObject, unwrapJsObject, getJsTag, chanrecv, chansend, methodReceiver, PtrTo, implements$1, directlyAssignable, haveIdenticalType, haveIdenticalUnderlyingType, toType, ifaceIndir, overflowFloat32, New, convertOp, makeFloat, makeComplex, makeString, makeBytes, makeRunes, cvtInt, cvtUint, cvtFloatInt, cvtFloatUint, cvtIntFloat, cvtUintFloat, cvtFloat, cvtComplex, cvtIntString, cvtUintString, cvtBytesString, cvtStringBytes, cvtRunesString, cvtStringRunes, cvtT2I, cvtI2I;\n\terrors = $packages[\"errors\"];\n\tjs = $packages[\"github.com/gopherjs/gopherjs/js\"];\n\tmath = $packages[\"math\"];\n\truntime = $packages[\"runtime\"];\n\tstrconv = $packages[\"strconv\"];\n\tsync = $packages[\"sync\"];\n\tunicode = $packages[\"unicode\"];\n\tutf8 = $packages[\"unicode/utf8\"];\n\tuncommonType = $pkg.uncommonType = $newType(0, $kindStruct, \"reflect.uncommonType\", true, \"reflect\", false, function(pkgPath_, mcount_, xcount_, moff_, _methods_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.pkgPath = 0;\n\t\t\tthis.mcount = 0;\n\t\t\tthis.xcount = 0;\n\t\t\tthis.moff = 0;\n\t\t\tthis._methods = sliceType$5.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.pkgPath = pkgPath_;\n\t\tthis.mcount = mcount_;\n\t\tthis.xcount = xcount_;\n\t\tthis.moff = moff_;\n\t\tthis._methods = _methods_;\n\t});\n\tfuncType = $pkg.funcType = $newType(0, $kindStruct, \"reflect.funcType\", true, \"reflect\", false, function(rtype_, inCount_, outCount_, _in_, _out_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.rtype = new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0);\n\t\t\tthis.inCount = 0;\n\t\t\tthis.outCount = 0;\n\t\t\tthis._in = sliceType$2.nil;\n\t\t\tthis._out = sliceType$2.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.rtype = rtype_;\n\t\tthis.inCount = inCount_;\n\t\tthis.outCount = outCount_;\n\t\tthis._in = _in_;\n\t\tthis._out = _out_;\n\t});\n\tname = $pkg.name = $newType(0, $kindStruct, \"reflect.name\", true, \"reflect\", false, function(bytes_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.bytes = ptrType$4.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.bytes = bytes_;\n\t});\n\tnameData = $pkg.nameData = $newType(0, $kindStruct, \"reflect.nameData\", true, \"reflect\", false, function(name_, tag_, exported_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.name = \"\";\n\t\t\tthis.tag = \"\";\n\t\t\tthis.exported = false;\n\t\t\treturn;\n\t\t}\n\t\tthis.name = name_;\n\t\tthis.tag = tag_;\n\t\tthis.exported = exported_;\n\t});\n\tmapIter = $pkg.mapIter = $newType(0, $kindStruct, \"reflect.mapIter\", true, \"reflect\", false, function(t_, m_, keys_, i_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.t = $ifaceNil;\n\t\t\tthis.m = null;\n\t\t\tthis.keys = null;\n\t\t\tthis.i = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.t = t_;\n\t\tthis.m = m_;\n\t\tthis.keys = keys_;\n\t\tthis.i = i_;\n\t});\n\tType = $pkg.Type = $newType(8, $kindInterface, \"reflect.Type\", true, \"reflect\", true, null);\n\tKind = $pkg.Kind = $newType(4, $kindUint, \"reflect.Kind\", true, \"reflect\", true, null);\n\ttflag = $pkg.tflag = $newType(1, $kindUint8, \"reflect.tflag\", true, \"reflect\", false, null);\n\trtype = $pkg.rtype = $newType(0, $kindStruct, \"reflect.rtype\", true, \"reflect\", false, function(size_, ptrdata_, hash_, tflag_, align_, fieldAlign_, kind_, alg_, gcdata_, str_, ptrToThis_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.size = 0;\n\t\t\tthis.ptrdata = 0;\n\t\t\tthis.hash = 0;\n\t\t\tthis.tflag = 0;\n\t\t\tthis.align = 0;\n\t\t\tthis.fieldAlign = 0;\n\t\t\tthis.kind = 0;\n\t\t\tthis.alg = ptrType$3.nil;\n\t\t\tthis.gcdata = ptrType$4.nil;\n\t\t\tthis.str = 0;\n\t\t\tthis.ptrToThis = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.size = size_;\n\t\tthis.ptrdata = ptrdata_;\n\t\tthis.hash = hash_;\n\t\tthis.tflag = tflag_;\n\t\tthis.align = align_;\n\t\tthis.fieldAlign = fieldAlign_;\n\t\tthis.kind = kind_;\n\t\tthis.alg = alg_;\n\t\tthis.gcdata = gcdata_;\n\t\tthis.str = str_;\n\t\tthis.ptrToThis = ptrToThis_;\n\t});\n\ttypeAlg = $pkg.typeAlg = $newType(0, $kindStruct, \"reflect.typeAlg\", true, \"reflect\", false, function(hash_, equal_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.hash = $throwNilPointerError;\n\t\t\tthis.equal = $throwNilPointerError;\n\t\t\treturn;\n\t\t}\n\t\tthis.hash = hash_;\n\t\tthis.equal = equal_;\n\t});\n\tmethod = $pkg.method = $newType(0, $kindStruct, \"reflect.method\", true, \"reflect\", false, function(name_, mtyp_, ifn_, tfn_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.name = 0;\n\t\t\tthis.mtyp = 0;\n\t\t\tthis.ifn = 0;\n\t\t\tthis.tfn = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.name = name_;\n\t\tthis.mtyp = mtyp_;\n\t\tthis.ifn = ifn_;\n\t\tthis.tfn = tfn_;\n\t});\n\tChanDir = $pkg.ChanDir = $newType(4, $kindInt, \"reflect.ChanDir\", true, \"reflect\", true, null);\n\tarrayType = $pkg.arrayType = $newType(0, $kindStruct, \"reflect.arrayType\", true, \"reflect\", false, function(rtype_, elem_, slice_, len_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.rtype = new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0);\n\t\t\tthis.elem = ptrType$1.nil;\n\t\t\tthis.slice = ptrType$1.nil;\n\t\t\tthis.len = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.rtype = rtype_;\n\t\tthis.elem = elem_;\n\t\tthis.slice = slice_;\n\t\tthis.len = len_;\n\t});\n\tchanType = $pkg.chanType = $newType(0, $kindStruct, \"reflect.chanType\", true, \"reflect\", false, function(rtype_, elem_, dir_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.rtype = new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0);\n\t\t\tthis.elem = ptrType$1.nil;\n\t\t\tthis.dir = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.rtype = rtype_;\n\t\tthis.elem = elem_;\n\t\tthis.dir = dir_;\n\t});\n\timethod = $pkg.imethod = $newType(0, $kindStruct, \"reflect.imethod\", true, \"reflect\", false, function(name_, typ_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.name = 0;\n\t\t\tthis.typ = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.name = name_;\n\t\tthis.typ = typ_;\n\t});\n\tinterfaceType = $pkg.interfaceType = $newType(0, $kindStruct, \"reflect.interfaceType\", true, \"reflect\", false, function(rtype_, pkgPath_, methods_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.rtype = new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0);\n\t\t\tthis.pkgPath = new name.ptr(ptrType$4.nil);\n\t\t\tthis.methods = sliceType$6.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.rtype = rtype_;\n\t\tthis.pkgPath = pkgPath_;\n\t\tthis.methods = methods_;\n\t});\n\tmapType = $pkg.mapType = $newType(0, $kindStruct, \"reflect.mapType\", true, \"reflect\", false, function(rtype_, key_, elem_, bucket_, keysize_, indirectkey_, valuesize_, indirectvalue_, bucketsize_, reflexivekey_, needkeyupdate_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.rtype = new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0);\n\t\t\tthis.key = ptrType$1.nil;\n\t\t\tthis.elem = ptrType$1.nil;\n\t\t\tthis.bucket = ptrType$1.nil;\n\t\t\tthis.keysize = 0;\n\t\t\tthis.indirectkey = 0;\n\t\t\tthis.valuesize = 0;\n\t\t\tthis.indirectvalue = 0;\n\t\t\tthis.bucketsize = 0;\n\t\t\tthis.reflexivekey = false;\n\t\t\tthis.needkeyupdate = false;\n\t\t\treturn;\n\t\t}\n\t\tthis.rtype = rtype_;\n\t\tthis.key = key_;\n\t\tthis.elem = elem_;\n\t\tthis.bucket = bucket_;\n\t\tthis.keysize = keysize_;\n\t\tthis.indirectkey = indirectkey_;\n\t\tthis.valuesize = valuesize_;\n\t\tthis.indirectvalue = indirectvalue_;\n\t\tthis.bucketsize = bucketsize_;\n\t\tthis.reflexivekey = reflexivekey_;\n\t\tthis.needkeyupdate = needkeyupdate_;\n\t});\n\tptrType = $pkg.ptrType = $newType(0, $kindStruct, \"reflect.ptrType\", true, \"reflect\", false, function(rtype_, elem_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.rtype = new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0);\n\t\t\tthis.elem = ptrType$1.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.rtype = rtype_;\n\t\tthis.elem = elem_;\n\t});\n\tsliceType = $pkg.sliceType = $newType(0, $kindStruct, \"reflect.sliceType\", true, \"reflect\", false, function(rtype_, elem_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.rtype = new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0);\n\t\t\tthis.elem = ptrType$1.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.rtype = rtype_;\n\t\tthis.elem = elem_;\n\t});\n\tstructField = $pkg.structField = $newType(0, $kindStruct, \"reflect.structField\", true, \"reflect\", false, function(name_, typ_, offsetEmbed_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.name = new name.ptr(ptrType$4.nil);\n\t\t\tthis.typ = ptrType$1.nil;\n\t\t\tthis.offsetEmbed = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.name = name_;\n\t\tthis.typ = typ_;\n\t\tthis.offsetEmbed = offsetEmbed_;\n\t});\n\tstructType = $pkg.structType = $newType(0, $kindStruct, \"reflect.structType\", true, \"reflect\", false, function(rtype_, pkgPath_, fields_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.rtype = new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0);\n\t\t\tthis.pkgPath = new name.ptr(ptrType$4.nil);\n\t\t\tthis.fields = sliceType$7.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.rtype = rtype_;\n\t\tthis.pkgPath = pkgPath_;\n\t\tthis.fields = fields_;\n\t});\n\tMethod = $pkg.Method = $newType(0, $kindStruct, \"reflect.Method\", true, \"reflect\", true, function(Name_, PkgPath_, Type_, Func_, Index_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Name = \"\";\n\t\t\tthis.PkgPath = \"\";\n\t\t\tthis.Type = $ifaceNil;\n\t\t\tthis.Func = new Value.ptr(ptrType$1.nil, 0, 0);\n\t\t\tthis.Index = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.Name = Name_;\n\t\tthis.PkgPath = PkgPath_;\n\t\tthis.Type = Type_;\n\t\tthis.Func = Func_;\n\t\tthis.Index = Index_;\n\t});\n\tnameOff = $pkg.nameOff = $newType(4, $kindInt32, \"reflect.nameOff\", true, \"reflect\", false, null);\n\ttypeOff = $pkg.typeOff = $newType(4, $kindInt32, \"reflect.typeOff\", true, \"reflect\", false, null);\n\ttextOff = $pkg.textOff = $newType(4, $kindInt32, \"reflect.textOff\", true, \"reflect\", false, null);\n\tStructField = $pkg.StructField = $newType(0, $kindStruct, \"reflect.StructField\", true, \"reflect\", true, function(Name_, PkgPath_, Type_, Tag_, Offset_, Index_, Anonymous_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Name = \"\";\n\t\t\tthis.PkgPath = \"\";\n\t\t\tthis.Type = $ifaceNil;\n\t\t\tthis.Tag = \"\";\n\t\t\tthis.Offset = 0;\n\t\t\tthis.Index = sliceType$13.nil;\n\t\t\tthis.Anonymous = false;\n\t\t\treturn;\n\t\t}\n\t\tthis.Name = Name_;\n\t\tthis.PkgPath = PkgPath_;\n\t\tthis.Type = Type_;\n\t\tthis.Tag = Tag_;\n\t\tthis.Offset = Offset_;\n\t\tthis.Index = Index_;\n\t\tthis.Anonymous = Anonymous_;\n\t});\n\tStructTag = $pkg.StructTag = $newType(8, $kindString, \"reflect.StructTag\", true, \"reflect\", true, null);\n\tfieldScan = $pkg.fieldScan = $newType(0, $kindStruct, \"reflect.fieldScan\", true, \"reflect\", false, function(typ_, index_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.typ = ptrType$10.nil;\n\t\t\tthis.index = sliceType$13.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.typ = typ_;\n\t\tthis.index = index_;\n\t});\n\tValue = $pkg.Value = $newType(0, $kindStruct, \"reflect.Value\", true, \"reflect\", true, function(typ_, ptr_, flag_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.typ = ptrType$1.nil;\n\t\t\tthis.ptr = 0;\n\t\t\tthis.flag = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.typ = typ_;\n\t\tthis.ptr = ptr_;\n\t\tthis.flag = flag_;\n\t});\n\tflag = $pkg.flag = $newType(4, $kindUintptr, \"reflect.flag\", true, \"reflect\", false, null);\n\tValueError = $pkg.ValueError = $newType(0, $kindStruct, \"reflect.ValueError\", true, \"reflect\", true, function(Method_, Kind_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Method = \"\";\n\t\t\tthis.Kind = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.Method = Method_;\n\t\tthis.Kind = Kind_;\n\t});\n\tStringHeader = $pkg.StringHeader = $newType(0, $kindStruct, \"reflect.StringHeader\", true, \"reflect\", true, function(Data_, Len_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Data = 0;\n\t\t\tthis.Len = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.Data = Data_;\n\t\tthis.Len = Len_;\n\t});\n\tSliceHeader = $pkg.SliceHeader = $newType(0, $kindStruct, \"reflect.SliceHeader\", true, \"reflect\", true, function(Data_, Len_, Cap_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Data = 0;\n\t\t\tthis.Len = 0;\n\t\t\tthis.Cap = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.Data = Data_;\n\t\tthis.Len = Len_;\n\t\tthis.Cap = Cap_;\n\t});\n\tsliceType$1 = $sliceType(name);\n\tptrType$1 = $ptrType(rtype);\n\tsliceType$2 = $sliceType(ptrType$1);\n\tsliceType$3 = $sliceType($emptyInterface);\n\tptrType$2 = $ptrType(js.Object);\n\tfuncType$1 = $funcType([sliceType$3], [ptrType$2], true);\n\tsliceType$4 = $sliceType($String);\n\tptrType$3 = $ptrType(typeAlg);\n\tptrType$4 = $ptrType($Uint8);\n\tsliceType$5 = $sliceType(method);\n\tsliceType$6 = $sliceType(imethod);\n\tsliceType$7 = $sliceType(structField);\n\tptrType$5 = $ptrType(uncommonType);\n\tptrType$6 = $ptrType(nameData);\n\tstructType$3 = $structType(\"reflect\", [{prop: \"str\", name: \"str\", embedded: false, exported: false, typ: $String, tag: \"\"}]);\n\tsliceType$8 = $sliceType(ptrType$2);\n\tsliceType$9 = $sliceType(Value);\n\tsliceType$10 = $sliceType(Type);\n\tsliceType$11 = $sliceType(sliceType$8);\n\tptrType$7 = $ptrType(funcType);\n\tptrType$8 = $ptrType(interfaceType);\n\tptrType$9 = $ptrType(imethod);\n\tsliceType$13 = $sliceType($Int);\n\tsliceType$14 = $sliceType(fieldScan);\n\tptrType$10 = $ptrType(structType);\n\tsliceType$15 = $sliceType($Uint8);\n\tptrType$16 = $ptrType($UnsafePointer);\n\tsliceType$17 = $sliceType($Int32);\n\tfuncType$3 = $funcType([$String], [$Bool], false);\n\tfuncType$4 = $funcType([$UnsafePointer, $Uintptr], [$Uintptr], false);\n\tfuncType$5 = $funcType([$UnsafePointer, $UnsafePointer], [$Bool], false);\n\tptrType$17 = $ptrType(structField);\n\tarrayType$12 = $arrayType($Uintptr, 2);\n\tptrType$18 = $ptrType(ValueError);\n\tinit = function() {\n\t\tvar used, x, x$1, x$10, x$11, x$12, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; used = $f.used; x = $f.x; x$1 = $f.x$1; x$10 = $f.x$10; x$11 = $f.x$11; x$12 = $f.x$12; x$2 = $f.x$2; x$3 = $f.x$3; x$4 = $f.x$4; x$5 = $f.x$5; x$6 = $f.x$6; x$7 = $f.x$7; x$8 = $f.x$8; x$9 = $f.x$9; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tused = (function(i) {\n\t\t\tvar i;\n\t\t});\n\t\t$r = used((x = new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), new x.constructor.elem(x))); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = used((x$1 = new uncommonType.ptr(0, 0, 0, 0, sliceType$5.nil), new x$1.constructor.elem(x$1))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = used((x$2 = new method.ptr(0, 0, 0, 0), new x$2.constructor.elem(x$2))); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = used((x$3 = new arrayType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), ptrType$1.nil, ptrType$1.nil, 0), new x$3.constructor.elem(x$3))); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = used((x$4 = new chanType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), ptrType$1.nil, 0), new x$4.constructor.elem(x$4))); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = used((x$5 = new funcType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), 0, 0, sliceType$2.nil, sliceType$2.nil), new x$5.constructor.elem(x$5))); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = used((x$6 = new interfaceType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), new name.ptr(ptrType$4.nil), sliceType$6.nil), new x$6.constructor.elem(x$6))); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = used((x$7 = new mapType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), ptrType$1.nil, ptrType$1.nil, ptrType$1.nil, 0, 0, 0, 0, 0, false, false), new x$7.constructor.elem(x$7))); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = used((x$8 = new ptrType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), ptrType$1.nil), new x$8.constructor.elem(x$8))); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = used((x$9 = new sliceType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), ptrType$1.nil), new x$9.constructor.elem(x$9))); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = used((x$10 = new structType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), new name.ptr(ptrType$4.nil), sliceType$7.nil), new x$10.constructor.elem(x$10))); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = used((x$11 = new imethod.ptr(0, 0), new x$11.constructor.elem(x$11))); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = used((x$12 = new structField.ptr(new name.ptr(ptrType$4.nil), ptrType$1.nil, 0), new x$12.constructor.elem(x$12))); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tinitialized = true;\n\t\tuint8Type = $assertType(TypeOf(new $Uint8(0)), ptrType$1);\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: init }; } $f.used = used; $f.x = x; $f.x$1 = x$1; $f.x$10 = x$10; $f.x$11 = x$11; $f.x$12 = x$12; $f.x$2 = x$2; $f.x$3 = x$3; $f.x$4 = x$4; $f.x$5 = x$5; $f.x$6 = x$6; $f.x$7 = x$7; $f.x$8 = x$8; $f.x$9 = x$9; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tjsType = function(typ) {\n\t\tvar typ;\n\t\treturn typ.jsType;\n\t};\n\treflectType = function(typ) {\n\t\tvar _1, _i, _i$1, _i$2, _i$3, _key, _ref, _ref$1, _ref$2, _ref$3, dir, exported, exported$1, f, fields, i, i$1, i$2, i$3, i$4, i$5, imethods, in$1, m, m$1, m$2, methodSet, methods, offsetEmbed, out, outCount, params, reflectFields, reflectMethods, results, rt, typ, ut, xcount;\n\t\tif (typ.reflectType === undefined) {\n\t\t\trt = new rtype.ptr(((($parseInt(typ.size) >> 0) >>> 0)), 0, 0, 0, 0, 0, ((($parseInt(typ.kind) >> 0) << 24 >>> 24)), ptrType$3.nil, ptrType$4.nil, newNameOff($clone(newName(internalStr(typ.string), \"\", !!(typ.exported)), name)), 0);\n\t\t\trt.jsType = typ;\n\t\t\ttyp.reflectType = rt;\n\t\t\tmethodSet = $methodSet(typ);\n\t\t\tif (!(($parseInt(methodSet.length) === 0)) || !!(typ.named)) {\n\t\t\t\trt.tflag = (rt.tflag | (1)) >>> 0;\n\t\t\t\tif (!!(typ.named)) {\n\t\t\t\t\trt.tflag = (rt.tflag | (4)) >>> 0;\n\t\t\t\t}\n\t\t\t\treflectMethods = sliceType$5.nil;\n\t\t\t\ti = 0;\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (!(i < $parseInt(methodSet.length))) { break; }\n\t\t\t\t\tm = methodSet[i];\n\t\t\t\t\texported = internalStr(m.pkg) === \"\";\n\t\t\t\t\tif (!exported) {\n\t\t\t\t\t\ti = i + (1) >> 0;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\treflectMethods = $append(reflectMethods, new method.ptr(newNameOff($clone(newName(internalStr(m.name), \"\", exported), name)), newTypeOff(reflectType(m.typ)), 0, 0));\n\t\t\t\t\ti = i + (1) >> 0;\n\t\t\t\t}\n\t\t\t\txcount = ((reflectMethods.$length << 16 >>> 16));\n\t\t\t\ti$1 = 0;\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (!(i$1 < $parseInt(methodSet.length))) { break; }\n\t\t\t\t\tm$1 = methodSet[i$1];\n\t\t\t\t\texported$1 = internalStr(m$1.pkg) === \"\";\n\t\t\t\t\tif (exported$1) {\n\t\t\t\t\t\ti$1 = i$1 + (1) >> 0;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\treflectMethods = $append(reflectMethods, new method.ptr(newNameOff($clone(newName(internalStr(m$1.name), \"\", exported$1), name)), newTypeOff(reflectType(m$1.typ)), 0, 0));\n\t\t\t\t\ti$1 = i$1 + (1) >> 0;\n\t\t\t\t}\n\t\t\t\tut = new uncommonType.ptr(newNameOff($clone(newName(internalStr(typ.pkg), \"\", false), name)), (($parseInt(methodSet.length) << 16 >>> 16)), xcount, 0, reflectMethods);\n\t\t\t\t_key = rt; (uncommonTypeMap || $throwRuntimeError(\"assignment to entry in nil map\"))[ptrType$1.keyFor(_key)] = { k: _key, v: ut };\n\t\t\t\tut.jsType = typ;\n\t\t\t}\n\t\t\t_1 = rt.Kind();\n\t\t\tif (_1 === (17)) {\n\t\t\t\tsetKindType(rt, new arrayType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), reflectType(typ.elem), ptrType$1.nil, ((($parseInt(typ.len) >> 0) >>> 0))));\n\t\t\t} else if (_1 === (18)) {\n\t\t\t\tdir = 3;\n\t\t\t\tif (!!(typ.sendOnly)) {\n\t\t\t\t\tdir = 2;\n\t\t\t\t}\n\t\t\t\tif (!!(typ.recvOnly)) {\n\t\t\t\t\tdir = 1;\n\t\t\t\t}\n\t\t\t\tsetKindType(rt, new chanType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), reflectType(typ.elem), ((dir >>> 0))));\n\t\t\t} else if (_1 === (19)) {\n\t\t\t\tparams = typ.params;\n\t\t\t\tin$1 = $makeSlice(sliceType$2, $parseInt(params.length));\n\t\t\t\t_ref = in$1;\n\t\t\t\t_i = 0;\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\t\t\ti$2 = _i;\n\t\t\t\t\t((i$2 < 0 || i$2 >= in$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : in$1.$array[in$1.$offset + i$2] = reflectType(params[i$2]));\n\t\t\t\t\t_i++;\n\t\t\t\t}\n\t\t\t\tresults = typ.results;\n\t\t\t\tout = $makeSlice(sliceType$2, $parseInt(results.length));\n\t\t\t\t_ref$1 = out;\n\t\t\t\t_i$1 = 0;\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (!(_i$1 < _ref$1.$length)) { break; }\n\t\t\t\t\ti$3 = _i$1;\n\t\t\t\t\t((i$3 < 0 || i$3 >= out.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : out.$array[out.$offset + i$3] = reflectType(results[i$3]));\n\t\t\t\t\t_i$1++;\n\t\t\t\t}\n\t\t\t\toutCount = (($parseInt(results.length) << 16 >>> 16));\n\t\t\t\tif (!!(typ.variadic)) {\n\t\t\t\t\toutCount = (outCount | (32768)) >>> 0;\n\t\t\t\t}\n\t\t\t\tsetKindType(rt, new funcType.ptr($clone(rt, rtype), (($parseInt(params.length) << 16 >>> 16)), outCount, in$1, out));\n\t\t\t} else if (_1 === (20)) {\n\t\t\t\tmethods = typ.methods;\n\t\t\t\timethods = $makeSlice(sliceType$6, $parseInt(methods.length));\n\t\t\t\t_ref$2 = imethods;\n\t\t\t\t_i$2 = 0;\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (!(_i$2 < _ref$2.$length)) { break; }\n\t\t\t\t\ti$4 = _i$2;\n\t\t\t\t\tm$2 = methods[i$4];\n\t\t\t\t\timethod.copy(((i$4 < 0 || i$4 >= imethods.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : imethods.$array[imethods.$offset + i$4]), new imethod.ptr(newNameOff($clone(newName(internalStr(m$2.name), \"\", internalStr(m$2.pkg) === \"\"), name)), newTypeOff(reflectType(m$2.typ))));\n\t\t\t\t\t_i$2++;\n\t\t\t\t}\n\t\t\t\tsetKindType(rt, new interfaceType.ptr($clone(rt, rtype), $clone(newName(internalStr(typ.pkg), \"\", false), name), imethods));\n\t\t\t} else if (_1 === (21)) {\n\t\t\t\tsetKindType(rt, new mapType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), reflectType(typ.key), reflectType(typ.elem), ptrType$1.nil, 0, 0, 0, 0, 0, false, false));\n\t\t\t} else if (_1 === (22)) {\n\t\t\t\tsetKindType(rt, new ptrType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), reflectType(typ.elem)));\n\t\t\t} else if (_1 === (23)) {\n\t\t\t\tsetKindType(rt, new sliceType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), reflectType(typ.elem)));\n\t\t\t} else if (_1 === (25)) {\n\t\t\t\tfields = typ.fields;\n\t\t\t\treflectFields = $makeSlice(sliceType$7, $parseInt(fields.length));\n\t\t\t\t_ref$3 = reflectFields;\n\t\t\t\t_i$3 = 0;\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (!(_i$3 < _ref$3.$length)) { break; }\n\t\t\t\t\ti$5 = _i$3;\n\t\t\t\t\tf = fields[i$5];\n\t\t\t\t\toffsetEmbed = ((i$5 >>> 0)) << 1 >>> 0;\n\t\t\t\t\tif (!!(f.embedded)) {\n\t\t\t\t\t\toffsetEmbed = (offsetEmbed | (1)) >>> 0;\n\t\t\t\t\t}\n\t\t\t\t\tstructField.copy(((i$5 < 0 || i$5 >= reflectFields.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : reflectFields.$array[reflectFields.$offset + i$5]), new structField.ptr($clone(newName(internalStr(f.name), internalStr(f.tag), !!(f.exported)), name), reflectType(f.typ), offsetEmbed));\n\t\t\t\t\t_i$3++;\n\t\t\t\t}\n\t\t\t\tsetKindType(rt, new structType.ptr($clone(rt, rtype), $clone(newName(internalStr(typ.pkgPath), \"\", false), name), reflectFields));\n\t\t\t}\n\t\t}\n\t\treturn ((typ.reflectType));\n\t};\n\tsetKindType = function(rt, kindType) {\n\t\tvar kindType, rt;\n\t\trt.kindType = kindType;\n\t\tkindType.rtype = rt;\n\t};\n\tuncommonType.ptr.prototype.methods = function() {\n\t\tvar t;\n\t\tt = this;\n\t\treturn t._methods;\n\t};\n\tuncommonType.prototype.methods = function() { return this.$val.methods(); };\n\tuncommonType.ptr.prototype.exportedMethods = function() {\n\t\tvar t;\n\t\tt = this;\n\t\treturn $subslice(t._methods, 0, t.xcount, t.xcount);\n\t};\n\tuncommonType.prototype.exportedMethods = function() { return this.$val.exportedMethods(); };\n\trtype.ptr.prototype.uncommon = function() {\n\t\tvar _entry, t;\n\t\tt = this;\n\t\treturn (_entry = uncommonTypeMap[ptrType$1.keyFor(t)], _entry !== undefined ? _entry.v : ptrType$5.nil);\n\t};\n\trtype.prototype.uncommon = function() { return this.$val.uncommon(); };\n\tfuncType.ptr.prototype.in$ = function() {\n\t\tvar t;\n\t\tt = this;\n\t\treturn t._in;\n\t};\n\tfuncType.prototype.in$ = function() { return this.$val.in$(); };\n\tfuncType.ptr.prototype.out = function() {\n\t\tvar t;\n\t\tt = this;\n\t\treturn t._out;\n\t};\n\tfuncType.prototype.out = function() { return this.$val.out(); };\n\tname.ptr.prototype.name = function() {\n\t\tvar _entry, n, s;\n\t\ts = \"\";\n\t\tn = this;\n\t\ts = (_entry = nameMap[ptrType$4.keyFor(n.bytes)], _entry !== undefined ? _entry.v : ptrType$6.nil).name;\n\t\treturn s;\n\t};\n\tname.prototype.name = function() { return this.$val.name(); };\n\tname.ptr.prototype.tag = function() {\n\t\tvar _entry, n, s;\n\t\ts = \"\";\n\t\tn = this;\n\t\ts = (_entry = nameMap[ptrType$4.keyFor(n.bytes)], _entry !== undefined ? _entry.v : ptrType$6.nil).tag;\n\t\treturn s;\n\t};\n\tname.prototype.tag = function() { return this.$val.tag(); };\n\tname.ptr.prototype.pkgPath = function() {\n\t\tvar n;\n\t\tn = this;\n\t\treturn \"\";\n\t};\n\tname.prototype.pkgPath = function() { return this.$val.pkgPath(); };\n\tname.ptr.prototype.isExported = function() {\n\t\tvar _entry, n;\n\t\tn = this;\n\t\treturn (_entry = nameMap[ptrType$4.keyFor(n.bytes)], _entry !== undefined ? _entry.v : ptrType$6.nil).exported;\n\t};\n\tname.prototype.isExported = function() { return this.$val.isExported(); };\n\tnewName = function(n, tag, exported) {\n\t\tvar _key, b, exported, n, tag;\n\t\tb = $newDataPointer(0, ptrType$4);\n\t\t_key = b; (nameMap || $throwRuntimeError(\"assignment to entry in nil map\"))[ptrType$4.keyFor(_key)] = { k: _key, v: new nameData.ptr(n, tag, exported) };\n\t\treturn new name.ptr(b);\n\t};\n\trtype.ptr.prototype.nameOff = function(off) {\n\t\tvar off, t, x;\n\t\tt = this;\n\t\treturn (x = ((off >> 0)), ((x < 0 || x >= nameOffList.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : nameOffList.$array[nameOffList.$offset + x]));\n\t};\n\trtype.prototype.nameOff = function(off) { return this.$val.nameOff(off); };\n\tnewNameOff = function(n) {\n\t\tvar i, n;\n\t\ti = nameOffList.$length;\n\t\tnameOffList = $append(nameOffList, n);\n\t\treturn ((i >> 0));\n\t};\n\trtype.ptr.prototype.typeOff = function(off) {\n\t\tvar off, t, x;\n\t\tt = this;\n\t\treturn (x = ((off >> 0)), ((x < 0 || x >= typeOffList.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : typeOffList.$array[typeOffList.$offset + x]));\n\t};\n\trtype.prototype.typeOff = function(off) { return this.$val.typeOff(off); };\n\tnewTypeOff = function(t) {\n\t\tvar i, t;\n\t\ti = typeOffList.$length;\n\t\ttypeOffList = $append(typeOffList, t);\n\t\treturn ((i >> 0));\n\t};\n\tinternalStr = function(strObj) {\n\t\tvar c, strObj;\n\t\tc = new structType$3.ptr(\"\");\n\t\tc.str = strObj;\n\t\treturn c.str;\n\t};\n\tisWrapped = function(typ) {\n\t\tvar typ;\n\t\treturn !!(jsType(typ).wrapped);\n\t};\n\tcopyStruct = function(dst, src, typ) {\n\t\tvar dst, fields, i, prop, src, typ;\n\t\tfields = jsType(typ).fields;\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < $parseInt(fields.length))) { break; }\n\t\t\tprop = $internalize(fields[i].prop, $String);\n\t\t\tdst[$externalize(prop, $String)] = src[$externalize(prop, $String)];\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t};\n\tmakeValue = function(t, v, fl) {\n\t\tvar _r, _r$1, _r$2, _r$3, _r$4, _r$5, _v, _v$1, fl, rt, t, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _v = $f._v; _v$1 = $f._v$1; fl = $f.fl; rt = $f.rt; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = t.common(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\trt = _r;\n\t\t_r$1 = t.Kind(); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tif (_r$1 === 17) { _v$1 = true; $s = 5; continue s; }\n\t\t_r$2 = t.Kind(); /* */ $s = 7; case 7: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t_v$1 = _r$2 === 25; case 5:\n\t\tif (_v$1) { _v = true; $s = 4; continue s; }\n\t\t_r$3 = t.Kind(); /* */ $s = 8; case 8: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t_v = _r$3 === 22; case 4:\n\t\t/* */ if (_v) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (_v) { */ case 2:\n\t\t\t_r$4 = t.Kind(); /* */ $s = 9; case 9: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return new Value.ptr(rt, (v), (fl | ((_r$4 >>> 0))) >>> 0);\n\t\t/* } */ case 3:\n\t\t_r$5 = t.Kind(); /* */ $s = 10; case 10: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t$s = -1; return new Value.ptr(rt, ($newDataPointer(v, jsType(rt.ptrTo()))), (((fl | ((_r$5 >>> 0))) >>> 0) | 128) >>> 0);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: makeValue }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._v = _v; $f._v$1 = _v$1; $f.fl = fl; $f.rt = rt; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tMakeSlice = function(typ, len, cap) {\n\t\tvar _r, _r$1, cap, len, typ, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; cap = $f.cap; len = $f.len; typ = $f.typ; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\ttyp = [typ];\n\t\t_r = typ[0].Kind(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t/* */ if (!((_r === 23))) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!((_r === 23))) { */ case 1:\n\t\t\t$panic(new $String(\"reflect.MakeSlice of non-slice type\"));\n\t\t/* } */ case 2:\n\t\tif (len < 0) {\n\t\t\t$panic(new $String(\"reflect.MakeSlice: negative len\"));\n\t\t}\n\t\tif (cap < 0) {\n\t\t\t$panic(new $String(\"reflect.MakeSlice: negative cap\"));\n\t\t}\n\t\tif (len > cap) {\n\t\t\t$panic(new $String(\"reflect.MakeSlice: len > cap\"));\n\t\t}\n\t\t_r$1 = makeValue(typ[0], $makeSlice(jsType(typ[0]), len, cap, (function(typ) { return function $b() {\n\t\t\tvar _r$1, _r$2, $s, $r;\n\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r$1 = $f._r$1; _r$2 = $f._r$2; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t\t_r$1 = typ[0].Elem(); /* */ $s = 1; case 1: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_r$2 = jsType(_r$1); /* */ $s = 2; case 2: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return _r$2.zero();\n\t\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f._r$1 = _r$1; $f._r$2 = _r$2; $f.$s = $s; $f.$r = $r; return $f;\n\t\t}; })(typ)), 0); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r$1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: MakeSlice }; } $f._r = _r; $f._r$1 = _r$1; $f.cap = cap; $f.len = len; $f.typ = typ; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.MakeSlice = MakeSlice;\n\tTypeOf = function(i) {\n\t\tvar i;\n\t\tif (!initialized) {\n\t\t\treturn new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0);\n\t\t}\n\t\tif ($interfaceIsEqual(i, $ifaceNil)) {\n\t\t\treturn $ifaceNil;\n\t\t}\n\t\treturn reflectType(i.constructor);\n\t};\n\t$pkg.TypeOf = TypeOf;\n\tValueOf = function(i) {\n\t\tvar _r, i, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; i = $f.i; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tif ($interfaceIsEqual(i, $ifaceNil)) {\n\t\t\t$s = -1; return new Value.ptr(ptrType$1.nil, 0, 0);\n\t\t}\n\t\t_r = makeValue(reflectType(i.constructor), i.$val, 0); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ValueOf }; } $f._r = _r; $f.i = i; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.ValueOf = ValueOf;\n\tFuncOf = function(in$1, out, variadic) {\n\t\tvar _i, _i$1, _r, _ref, _ref$1, _v, _v$1, i, i$1, in$1, jsIn, jsOut, out, v, v$1, variadic, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _i$1 = $f._i$1; _r = $f._r; _ref = $f._ref; _ref$1 = $f._ref$1; _v = $f._v; _v$1 = $f._v$1; i = $f.i; i$1 = $f.i$1; in$1 = $f.in$1; jsIn = $f.jsIn; jsOut = $f.jsOut; out = $f.out; v = $f.v; v$1 = $f.v$1; variadic = $f.variadic; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tif (!(variadic)) { _v = false; $s = 3; continue s; }\n\t\tif (in$1.$length === 0) { _v$1 = true; $s = 4; continue s; }\n\t\t_r = (x = in$1.$length - 1 >> 0, ((x < 0 || x >= in$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : in$1.$array[in$1.$offset + x])).Kind(); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_v$1 = !((_r === 23)); case 4:\n\t\t_v = _v$1; case 3:\n\t\t/* */ if (_v) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (_v) { */ case 1:\n\t\t\t$panic(new $String(\"reflect.FuncOf: last arg of variadic func must be slice\"));\n\t\t/* } */ case 2:\n\t\tjsIn = $makeSlice(sliceType$8, in$1.$length);\n\t\t_ref = in$1;\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\ti = _i;\n\t\t\tv = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\t((i < 0 || i >= jsIn.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : jsIn.$array[jsIn.$offset + i] = jsType(v));\n\t\t\t_i++;\n\t\t}\n\t\tjsOut = $makeSlice(sliceType$8, out.$length);\n\t\t_ref$1 = out;\n\t\t_i$1 = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i$1 < _ref$1.$length)) { break; }\n\t\t\ti$1 = _i$1;\n\t\t\tv$1 = ((_i$1 < 0 || _i$1 >= _ref$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref$1.$array[_ref$1.$offset + _i$1]);\n\t\t\t((i$1 < 0 || i$1 >= jsOut.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : jsOut.$array[jsOut.$offset + i$1] = jsType(v$1));\n\t\t\t_i$1++;\n\t\t}\n\t\t$s = -1; return reflectType($funcType($externalize(jsIn, sliceType$8), $externalize(jsOut, sliceType$8), $externalize(variadic, $Bool)));\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: FuncOf }; } $f._i = _i; $f._i$1 = _i$1; $f._r = _r; $f._ref = _ref; $f._ref$1 = _ref$1; $f._v = _v; $f._v$1 = _v$1; $f.i = i; $f.i$1 = i$1; $f.in$1 = in$1; $f.jsIn = jsIn; $f.jsOut = jsOut; $f.out = out; $f.v = v; $f.v$1 = v$1; $f.variadic = variadic; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.FuncOf = FuncOf;\n\trtype.ptr.prototype.ptrTo = function() {\n\t\tvar t;\n\t\tt = this;\n\t\treturn reflectType($ptrType(jsType(t)));\n\t};\n\trtype.prototype.ptrTo = function() { return this.$val.ptrTo(); };\n\tSliceOf = function(t) {\n\t\tvar t;\n\t\treturn reflectType($sliceType(jsType(t)));\n\t};\n\t$pkg.SliceOf = SliceOf;\n\tZero = function(typ) {\n\t\tvar _r, typ, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; typ = $f.typ; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = makeValue(typ, jsType(typ).zero(), 0); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Zero }; } $f._r = _r; $f.typ = typ; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.Zero = Zero;\n\tunsafe_New = function(typ) {\n\t\tvar _1, typ;\n\t\t_1 = typ.Kind();\n\t\tif (_1 === (25)) {\n\t\t\treturn (new (jsType(typ).ptr)());\n\t\t} else if (_1 === (17)) {\n\t\t\treturn (jsType(typ).zero());\n\t\t} else {\n\t\t\treturn ($newDataPointer(jsType(typ).zero(), jsType(typ.ptrTo())));\n\t\t}\n\t};\n\tmakeInt = function(f, bits, t) {\n\t\tvar _1, _r, bits, f, ptr, t, typ, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; bits = $f.bits; f = $f.f; ptr = $f.ptr; t = $f.t; typ = $f.typ; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = t.common(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\ttyp = _r;\n\t\tptr = unsafe_New(typ);\n\t\t_1 = typ.Kind();\n\t\tif (_1 === (3)) {\n\t\t\t(ptr).$set(((bits.$low << 24 >> 24)));\n\t\t} else if (_1 === (4)) {\n\t\t\t(ptr).$set(((bits.$low << 16 >> 16)));\n\t\t} else if ((_1 === (2)) || (_1 === (5))) {\n\t\t\t(ptr).$set(((bits.$low >> 0)));\n\t\t} else if (_1 === (6)) {\n\t\t\t(ptr).$set((new $Int64(bits.$high, bits.$low)));\n\t\t} else if (_1 === (8)) {\n\t\t\t(ptr).$set(((bits.$low << 24 >>> 24)));\n\t\t} else if (_1 === (9)) {\n\t\t\t(ptr).$set(((bits.$low << 16 >>> 16)));\n\t\t} else if ((_1 === (7)) || (_1 === (10)) || (_1 === (12))) {\n\t\t\t(ptr).$set(((bits.$low >>> 0)));\n\t\t} else if (_1 === (11)) {\n\t\t\t(ptr).$set((bits));\n\t\t}\n\t\t$s = -1; return new Value.ptr(typ, ptr, (((f | 128) >>> 0) | ((typ.Kind() >>> 0))) >>> 0);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: makeInt }; } $f._1 = _1; $f._r = _r; $f.bits = bits; $f.f = f; $f.ptr = ptr; $f.t = t; $f.typ = typ; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\ttypedmemmove = function(t, dst, src) {\n\t\tvar dst, src, t;\n\t\tdst.$set(src.$get());\n\t};\n\tkeyFor = function(t, key) {\n\t\tvar k, key, kv, t;\n\t\tkv = key;\n\t\tif (!(kv.$get === undefined)) {\n\t\t\tkv = kv.$get();\n\t\t}\n\t\tk = $internalize(jsType(t.Key()).keyFor(kv), $String);\n\t\treturn [kv, k];\n\t};\n\tmapaccess = function(t, m, key) {\n\t\tvar _tuple, entry, k, key, m, t;\n\t\t_tuple = keyFor(t, key);\n\t\tk = _tuple[1];\n\t\tentry = m[$externalize(k, $String)];\n\t\tif (entry === undefined) {\n\t\t\treturn 0;\n\t\t}\n\t\treturn ($newDataPointer(entry.v, jsType(PtrTo(t.Elem()))));\n\t};\n\tmapassign = function(t, m, key, val) {\n\t\tvar _r, _tuple, entry, et, jsVal, k, key, kv, m, newVal, t, val, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; entry = $f.entry; et = $f.et; jsVal = $f.jsVal; k = $f.k; key = $f.key; kv = $f.kv; m = $f.m; newVal = $f.newVal; t = $f.t; val = $f.val; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_tuple = keyFor(t, key);\n\t\tkv = _tuple[0];\n\t\tk = _tuple[1];\n\t\tjsVal = val.$get();\n\t\tet = t.Elem();\n\t\t_r = et.Kind(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t/* */ if (_r === 25) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (_r === 25) { */ case 1:\n\t\t\tnewVal = jsType(et).zero();\n\t\t\tcopyStruct(newVal, jsVal, et);\n\t\t\tjsVal = newVal;\n\t\t/* } */ case 2:\n\t\tentry = new ($global.Object)();\n\t\tentry.k = kv;\n\t\tentry.v = jsVal;\n\t\tm[$externalize(k, $String)] = entry;\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: mapassign }; } $f._r = _r; $f._tuple = _tuple; $f.entry = entry; $f.et = et; $f.jsVal = jsVal; $f.k = k; $f.key = key; $f.kv = kv; $f.m = m; $f.newVal = newVal; $f.t = t; $f.val = val; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmapdelete = function(t, m, key) {\n\t\tvar _tuple, k, key, m, t;\n\t\t_tuple = keyFor(t, key);\n\t\tk = _tuple[1];\n\t\tdelete m[$externalize(k, $String)];\n\t};\n\tmapiterinit = function(t, m) {\n\t\tvar m, t;\n\t\treturn ((new mapIter.ptr(t, m, $keys(m), 0)));\n\t};\n\tmapiterkey = function(it) {\n\t\tvar _r, _r$1, _r$2, it, iter, k, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; it = $f.it; iter = $f.iter; k = $f.k; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\titer = ((it));\n\t\tk = iter.keys[iter.i];\n\t\t_r = iter.t.Key(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = PtrTo(_r); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_r$2 = jsType(_r$1); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t$s = -1; return ($newDataPointer(iter.m[$externalize($internalize(k, $String), $String)].k, _r$2));\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: mapiterkey }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.it = it; $f.iter = iter; $f.k = k; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmapiternext = function(it) {\n\t\tvar it, iter;\n\t\titer = ((it));\n\t\titer.i = iter.i + (1) >> 0;\n\t};\n\tmaplen = function(m) {\n\t\tvar m;\n\t\treturn $parseInt($keys(m).length);\n\t};\n\tcvtDirect = function(v, typ) {\n\t\tvar _1, _arg, _arg$1, _arg$2, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, k, slice, srcVal, typ, v, val, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; k = $f.k; slice = $f.slice; srcVal = $f.srcVal; typ = $f.typ; v = $f.v; val = $f.val; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tsrcVal = $clone(v, Value).object();\n\t\t/* */ if (srcVal === jsType(v.typ).nil) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (srcVal === jsType(v.typ).nil) { */ case 1:\n\t\t\t_r = makeValue(typ, jsType(typ).nil, v.flag); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return _r;\n\t\t/* } */ case 2:\n\t\tval = null;\n\t\t\t_r$1 = typ.Kind(); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\tk = _r$1;\n\t\t\t_1 = k;\n\t\t\t/* */ if (_1 === (23)) { $s = 6; continue; }\n\t\t\t/* */ if (_1 === (22)) { $s = 7; continue; }\n\t\t\t/* */ if (_1 === (25)) { $s = 8; continue; }\n\t\t\t/* */ if ((_1 === (17)) || (_1 === (1)) || (_1 === (18)) || (_1 === (19)) || (_1 === (20)) || (_1 === (21)) || (_1 === (24))) { $s = 9; continue; }\n\t\t\t/* */ $s = 10; continue;\n\t\t\t/* if (_1 === (23)) { */ case 6:\n\t\t\t\tslice = new (jsType(typ))(srcVal.$array);\n\t\t\t\tslice.$offset = srcVal.$offset;\n\t\t\t\tslice.$length = srcVal.$length;\n\t\t\t\tslice.$capacity = srcVal.$capacity;\n\t\t\t\tval = $newDataPointer(slice, jsType(PtrTo(typ)));\n\t\t\t\t$s = 11; continue;\n\t\t\t/* } else if (_1 === (22)) { */ case 7:\n\t\t\t\t_r$2 = typ.Elem(); /* */ $s = 14; case 14: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t_r$3 = _r$2.Kind(); /* */ $s = 15; case 15: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t/* */ if (_r$3 === 25) { $s = 12; continue; }\n\t\t\t\t/* */ $s = 13; continue;\n\t\t\t\t/* if (_r$3 === 25) { */ case 12:\n\t\t\t\t\t_r$4 = typ.Elem(); /* */ $s = 18; case 18: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\t\t/* */ if ($interfaceIsEqual(_r$4, v.typ.Elem())) { $s = 16; continue; }\n\t\t\t\t\t/* */ $s = 17; continue;\n\t\t\t\t\t/* if ($interfaceIsEqual(_r$4, v.typ.Elem())) { */ case 16:\n\t\t\t\t\t\tval = srcVal;\n\t\t\t\t\t\t/* break; */ $s = 4; continue;\n\t\t\t\t\t/* } */ case 17:\n\t\t\t\t\tval = new (jsType(typ))();\n\t\t\t\t\t_arg = val;\n\t\t\t\t\t_arg$1 = srcVal;\n\t\t\t\t\t_r$5 = typ.Elem(); /* */ $s = 19; case 19: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t\t\t_arg$2 = _r$5;\n\t\t\t\t\t$r = copyStruct(_arg, _arg$1, _arg$2); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t/* break; */ $s = 4; continue;\n\t\t\t\t/* } */ case 13:\n\t\t\t\tval = new (jsType(typ))(srcVal.$get, srcVal.$set);\n\t\t\t\t$s = 11; continue;\n\t\t\t/* } else if (_1 === (25)) { */ case 8:\n\t\t\t\tval = new (jsType(typ).ptr)();\n\t\t\t\tcopyStruct(val, srcVal, typ);\n\t\t\t\t$s = 11; continue;\n\t\t\t/* } else if ((_1 === (17)) || (_1 === (1)) || (_1 === (18)) || (_1 === (19)) || (_1 === (20)) || (_1 === (21)) || (_1 === (24))) { */ case 9:\n\t\t\t\tval = v.ptr;\n\t\t\t\t$s = 11; continue;\n\t\t\t/* } else { */ case 10:\n\t\t\t\t$panic(new ValueError.ptr(\"reflect.Convert\", k));\n\t\t\t/* } */ case 11:\n\t\tcase 4:\n\t\t_r$6 = typ.common(); /* */ $s = 21; case 21: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t_r$7 = typ.Kind(); /* */ $s = 22; case 22: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }\n\t\t$s = -1; return new Value.ptr(_r$6, (val), (((new flag(v.flag).ro() | ((v.flag & 128) >>> 0)) >>> 0) | ((_r$7 >>> 0))) >>> 0);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: cvtDirect }; } $f._1 = _1; $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f.k = k; $f.slice = slice; $f.srcVal = srcVal; $f.typ = typ; $f.v = v; $f.val = val; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tvalueInterface = function(v, safe) {\n\t\tvar _r, safe, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; safe = $f.safe; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tif (v.flag === 0) {\n\t\t\t$panic(new ValueError.ptr(\"reflect.Value.Interface\", 0));\n\t\t}\n\t\tif (safe && !((((v.flag & 96) >>> 0) === 0))) {\n\t\t\t$panic(new $String(\"reflect.Value.Interface: cannot return value obtained from unexported field or method\"));\n\t\t}\n\t\t/* */ if (!((((v.flag & 512) >>> 0) === 0))) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!((((v.flag & 512) >>> 0) === 0))) { */ case 1:\n\t\t\t_r = makeMethodValue(\"Interface\", $clone(v, Value)); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tv = _r;\n\t\t/* } */ case 2:\n\t\tif (isWrapped(v.typ)) {\n\t\t\t$s = -1; return ((new (jsType(v.typ))($clone(v, Value).object())));\n\t\t}\n\t\t$s = -1; return (($clone(v, Value).object()));\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: valueInterface }; } $f._r = _r; $f.safe = safe; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tifaceE2I = function(t, src, dst) {\n\t\tvar dst, src, t;\n\t\tdst.$set(src);\n\t};\n\tmethodName = function() {\n\t\treturn \"?FIXME?\";\n\t};\n\tmakeMethodValue = function(op, v) {\n\t\tvar _r, _tuple, fn, fv, op, rcvr, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; fn = $f.fn; fv = $f.fv; op = $f.op; rcvr = $f.rcvr; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tfn = [fn];\n\t\trcvr = [rcvr];\n\t\tif (((v.flag & 512) >>> 0) === 0) {\n\t\t\t$panic(new $String(\"reflect: internal error: invalid use of makePartialFunc\"));\n\t\t}\n\t\t_tuple = methodReceiver(op, $clone(v, Value), ((v.flag >> 0)) >> 10 >> 0);\n\t\tfn[0] = _tuple[2];\n\t\trcvr[0] = $clone(v, Value).object();\n\t\tif (isWrapped(v.typ)) {\n\t\t\trcvr[0] = new (jsType(v.typ))(rcvr[0]);\n\t\t}\n\t\tfv = js.MakeFunc((function(fn, rcvr) { return function(this$1, arguments$1) {\n\t\t\tvar arguments$1, this$1;\n\t\t\treturn new $jsObjectPtr(fn[0].apply(rcvr[0], $externalize(arguments$1, sliceType$8)));\n\t\t}; })(fn, rcvr));\n\t\t_r = $clone(v, Value).Type().common(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return new Value.ptr(_r, (fv), (new flag(v.flag).ro() | 19) >>> 0);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: makeMethodValue }; } $f._r = _r; $f._tuple = _tuple; $f.fn = fn; $f.fv = fv; $f.op = op; $f.rcvr = rcvr; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\trtype.ptr.prototype.pointers = function() {\n\t\tvar _1, t;\n\t\tt = this;\n\t\t_1 = t.Kind();\n\t\tif ((_1 === (22)) || (_1 === (21)) || (_1 === (18)) || (_1 === (19)) || (_1 === (25)) || (_1 === (17))) {\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t};\n\trtype.prototype.pointers = function() { return this.$val.pointers(); };\n\trtype.ptr.prototype.Comparable = function() {\n\t\tvar _1, _r, _r$1, i, t, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; _r$1 = $f._r$1; i = $f.i; t = $f.t; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tt = this;\n\t\t\t_1 = t.Kind();\n\t\t\t/* */ if ((_1 === (19)) || (_1 === (23)) || (_1 === (21))) { $s = 2; continue; }\n\t\t\t/* */ if (_1 === (17)) { $s = 3; continue; }\n\t\t\t/* */ if (_1 === (25)) { $s = 4; continue; }\n\t\t\t/* */ $s = 5; continue;\n\t\t\t/* if ((_1 === (19)) || (_1 === (23)) || (_1 === (21))) { */ case 2:\n\t\t\t\t$s = -1; return false;\n\t\t\t/* } else if (_1 === (17)) { */ case 3:\n\t\t\t\t_r = t.Elem().Comparable(); /* */ $s = 6; case 6: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return _r;\n\t\t\t/* } else if (_1 === (25)) { */ case 4:\n\t\t\t\ti = 0;\n\t\t\t\t/* while (true) { */ case 7:\n\t\t\t\t\t/* if (!(i < t.NumField())) { break; } */ if(!(i < t.NumField())) { $s = 8; continue; }\n\t\t\t\t\t_r$1 = t.Field(i).Type.Comparable(); /* */ $s = 11; case 11: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t\t/* */ if (!_r$1) { $s = 9; continue; }\n\t\t\t\t\t/* */ $s = 10; continue;\n\t\t\t\t\t/* if (!_r$1) { */ case 9:\n\t\t\t\t\t\t$s = -1; return false;\n\t\t\t\t\t/* } */ case 10:\n\t\t\t\t\ti = i + (1) >> 0;\n\t\t\t\t/* } */ $s = 7; continue; case 8:\n\t\t\t/* } */ case 5:\n\t\tcase 1:\n\t\t$s = -1; return true;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: rtype.ptr.prototype.Comparable }; } $f._1 = _1; $f._r = _r; $f._r$1 = _r$1; $f.i = i; $f.t = t; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\trtype.prototype.Comparable = function() { return this.$val.Comparable(); };\n\trtype.ptr.prototype.Method = function(i) {\n\t\tvar _i, _i$1, _r, _ref, _ref$1, arg, fl, fn, ft, i, in$1, m, methods, mt, mtyp, out, p, pname, prop, ret, t, tt, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _i$1 = $f._i$1; _r = $f._r; _ref = $f._ref; _ref$1 = $f._ref$1; arg = $f.arg; fl = $f.fl; fn = $f.fn; ft = $f.ft; i = $f.i; in$1 = $f.in$1; m = $f.m; methods = $f.methods; mt = $f.mt; mtyp = $f.mtyp; out = $f.out; p = $f.p; pname = $f.pname; prop = $f.prop; ret = $f.ret; t = $f.t; tt = $f.tt; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tprop = [prop];\n\t\tm = new Method.ptr(\"\", \"\", $ifaceNil, new Value.ptr(ptrType$1.nil, 0, 0), 0);\n\t\tt = this;\n\t\tif (t.Kind() === 20) {\n\t\t\ttt = (t.kindType);\n\t\t\tMethod.copy(m, tt.Method(i));\n\t\t\t$s = -1; return m;\n\t\t}\n\t\tmethods = t.exportedMethods();\n\t\tif (i < 0 || i >= methods.$length) {\n\t\t\t$panic(new $String(\"reflect: Method index out of range\"));\n\t\t}\n\t\tp = $clone(((i < 0 || i >= methods.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : methods.$array[methods.$offset + i]), method);\n\t\tpname = $clone(t.nameOff(p.name), name);\n\t\tm.Name = $clone(pname, name).name();\n\t\tfl = 19;\n\t\tmtyp = t.typeOff(p.mtyp);\n\t\tft = (mtyp.kindType);\n\t\tin$1 = $makeSlice(sliceType$10, 0, (1 + ft.in$().$length >> 0));\n\t\tin$1 = $append(in$1, t);\n\t\t_ref = ft.in$();\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\targ = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\tin$1 = $append(in$1, arg);\n\t\t\t_i++;\n\t\t}\n\t\tout = $makeSlice(sliceType$10, 0, ft.out().$length);\n\t\t_ref$1 = ft.out();\n\t\t_i$1 = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i$1 < _ref$1.$length)) { break; }\n\t\t\tret = ((_i$1 < 0 || _i$1 >= _ref$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref$1.$array[_ref$1.$offset + _i$1]);\n\t\t\tout = $append(out, ret);\n\t\t\t_i$1++;\n\t\t}\n\t\t_r = FuncOf(in$1, out, ft.rtype.IsVariadic()); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tmt = _r;\n\t\tm.Type = mt;\n\t\tprop[0] = $internalize($methodSet(t.jsType)[i].prop, $String);\n\t\tfn = js.MakeFunc((function(prop) { return function(this$1, arguments$1) {\n\t\t\tvar arguments$1, rcvr, this$1;\n\t\t\trcvr = (0 >= arguments$1.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : arguments$1.$array[arguments$1.$offset + 0]);\n\t\t\treturn new $jsObjectPtr(rcvr[$externalize(prop[0], $String)].apply(rcvr, $externalize($subslice(arguments$1, 1), sliceType$8)));\n\t\t}; })(prop));\n\t\tm.Func = new Value.ptr($assertType(mt, ptrType$1), (fn), fl);\n\t\tm.Index = i;\n\t\tMethod.copy(m, m);\n\t\t$s = -1; return m;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: rtype.ptr.prototype.Method }; } $f._i = _i; $f._i$1 = _i$1; $f._r = _r; $f._ref = _ref; $f._ref$1 = _ref$1; $f.arg = arg; $f.fl = fl; $f.fn = fn; $f.ft = ft; $f.i = i; $f.in$1 = in$1; $f.m = m; $f.methods = methods; $f.mt = mt; $f.mtyp = mtyp; $f.out = out; $f.p = p; $f.pname = pname; $f.prop = prop; $f.ret = ret; $f.t = t; $f.tt = tt; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\trtype.prototype.Method = function(i) { return this.$val.Method(i); };\n\tValue.ptr.prototype.object = function() {\n\t\tvar _1, newVal, v, val;\n\t\tv = this;\n\t\tif ((v.typ.Kind() === 17) || (v.typ.Kind() === 25)) {\n\t\t\treturn v.ptr;\n\t\t}\n\t\tif (!((((v.flag & 128) >>> 0) === 0))) {\n\t\t\tval = v.ptr.$get();\n\t\t\tif (!(val === $ifaceNil) && !(val.constructor === jsType(v.typ))) {\n\t\t\t\tswitch (0) { default:\n\t\t\t\t\t_1 = v.typ.Kind();\n\t\t\t\t\tif ((_1 === (11)) || (_1 === (6))) {\n\t\t\t\t\t\tval = new (jsType(v.typ))(val.$high, val.$low);\n\t\t\t\t\t} else if ((_1 === (15)) || (_1 === (16))) {\n\t\t\t\t\t\tval = new (jsType(v.typ))(val.$real, val.$imag);\n\t\t\t\t\t} else if (_1 === (23)) {\n\t\t\t\t\t\tif (val === val.constructor.nil) {\n\t\t\t\t\t\t\tval = jsType(v.typ).nil;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tnewVal = new (jsType(v.typ))(val.$array);\n\t\t\t\t\t\tnewVal.$offset = val.$offset;\n\t\t\t\t\t\tnewVal.$length = val.$length;\n\t\t\t\t\t\tnewVal.$capacity = val.$capacity;\n\t\t\t\t\t\tval = newVal;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn val;\n\t\t}\n\t\treturn v.ptr;\n\t};\n\tValue.prototype.object = function() { return this.$val.object(); };\n\tValue.ptr.prototype.assignTo = function(context, dst, target) {\n\t\tvar _r, _r$1, _r$2, context, dst, fl, target, v, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; context = $f.context; dst = $f.dst; fl = $f.fl; target = $f.target; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tv = this;\n\t\t/* */ if (!((((v.flag & 512) >>> 0) === 0))) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!((((v.flag & 512) >>> 0) === 0))) { */ case 1:\n\t\t\t_r = makeMethodValue(context, $clone(v, Value)); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tv = _r;\n\t\t/* } */ case 2:\n\t\t\t_r$1 = directlyAssignable(dst, v.typ); /* */ $s = 8; case 8: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t/* */ if (_r$1) { $s = 5; continue; }\n\t\t\t/* */ if (implements$1(dst, v.typ)) { $s = 6; continue; }\n\t\t\t/* */ $s = 7; continue;\n\t\t\t/* if (_r$1) { */ case 5:\n\t\t\t\tfl = (((v.flag & 384) >>> 0) | new flag(v.flag).ro()) >>> 0;\n\t\t\t\tfl = (fl | (((dst.Kind() >>> 0)))) >>> 0;\n\t\t\t\t$s = -1; return new Value.ptr(dst, v.ptr, fl);\n\t\t\t/* } else if (implements$1(dst, v.typ)) { */ case 6:\n\t\t\t\tif (target === 0) {\n\t\t\t\t\ttarget = unsafe_New(dst);\n\t\t\t\t}\n\t\t\t\t_r$2 = valueInterface($clone(v, Value), false); /* */ $s = 9; case 9: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\tx = _r$2;\n\t\t\t\tif (dst.NumMethod() === 0) {\n\t\t\t\t\t(target).$set(x);\n\t\t\t\t} else {\n\t\t\t\t\tifaceE2I(dst, x, target);\n\t\t\t\t}\n\t\t\t\t$s = -1; return new Value.ptr(dst, target, 148);\n\t\t\t/* } */ case 7:\n\t\tcase 4:\n\t\t$panic(new $String(context + \": value of type \" + v.typ.String() + \" is not assignable to type \" + dst.String()));\n\t\t$s = -1; return new Value.ptr(ptrType$1.nil, 0, 0);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.assignTo }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.context = context; $f.dst = dst; $f.fl = fl; $f.target = target; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tValue.prototype.assignTo = function(context, dst, target) { return this.$val.assignTo(context, dst, target); };\n\tValue.ptr.prototype.Cap = function() {\n\t\tvar _1, k, v;\n\t\tv = this;\n\t\tk = new flag(v.flag).kind();\n\t\t_1 = k;\n\t\tif (_1 === (17)) {\n\t\t\treturn v.typ.Len();\n\t\t} else if ((_1 === (18)) || (_1 === (23))) {\n\t\t\treturn $parseInt($clone(v, Value).object().$capacity) >> 0;\n\t\t}\n\t\t$panic(new ValueError.ptr(\"reflect.Value.Cap\", k));\n\t};\n\tValue.prototype.Cap = function() { return this.$val.Cap(); };\n\twrapJsObject = function(typ, val) {\n\t\tvar typ, val;\n\t\tif ($interfaceIsEqual(typ, jsObjectPtr)) {\n\t\t\treturn new (jsType(jsObjectPtr))(val);\n\t\t}\n\t\treturn val;\n\t};\n\tunwrapJsObject = function(typ, val) {\n\t\tvar typ, val;\n\t\tif ($interfaceIsEqual(typ, jsObjectPtr)) {\n\t\t\treturn val.object;\n\t\t}\n\t\treturn val;\n\t};\n\tValue.ptr.prototype.Elem = function() {\n\t\tvar _1, _r, fl, k, tt, typ, v, val, val$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; fl = $f.fl; k = $f.k; tt = $f.tt; typ = $f.typ; v = $f.v; val = $f.val; val$1 = $f.val$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tv = this;\n\t\t\tk = new flag(v.flag).kind();\n\t\t\t_1 = k;\n\t\t\t/* */ if (_1 === (20)) { $s = 2; continue; }\n\t\t\t/* */ if (_1 === (22)) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (_1 === (20)) { */ case 2:\n\t\t\t\tval = $clone(v, Value).object();\n\t\t\t\tif (val === $ifaceNil) {\n\t\t\t\t\t$s = -1; return new Value.ptr(ptrType$1.nil, 0, 0);\n\t\t\t\t}\n\t\t\t\ttyp = reflectType(val.constructor);\n\t\t\t\t_r = makeValue(typ, val.$val, new flag(v.flag).ro()); /* */ $s = 6; case 6: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return _r;\n\t\t\t/* } else if (_1 === (22)) { */ case 3:\n\t\t\t\tif ($clone(v, Value).IsNil()) {\n\t\t\t\t\t$s = -1; return new Value.ptr(ptrType$1.nil, 0, 0);\n\t\t\t\t}\n\t\t\t\tval$1 = $clone(v, Value).object();\n\t\t\t\ttt = (v.typ.kindType);\n\t\t\t\tfl = (((((v.flag & 96) >>> 0) | 128) >>> 0) | 256) >>> 0;\n\t\t\t\tfl = (fl | (((tt.elem.Kind() >>> 0)))) >>> 0;\n\t\t\t\t$s = -1; return new Value.ptr(tt.elem, (wrapJsObject(tt.elem, val$1)), fl);\n\t\t\t/* } else { */ case 4:\n\t\t\t\t$panic(new ValueError.ptr(\"reflect.Value.Elem\", k));\n\t\t\t/* } */ case 5:\n\t\tcase 1:\n\t\t$s = -1; return new Value.ptr(ptrType$1.nil, 0, 0);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Elem }; } $f._1 = _1; $f._r = _r; $f.fl = fl; $f.k = k; $f.tt = tt; $f.typ = typ; $f.v = v; $f.val = val; $f.val$1 = val$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tValue.prototype.Elem = function() { return this.$val.Elem(); };\n\tValue.ptr.prototype.Field = function(i) {\n\t\tvar _r, _r$1, _r$2, field, fl, i, jsTag, o, prop, s, tag, tt, typ, v, x, x$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; field = $f.field; fl = $f.fl; i = $f.i; jsTag = $f.jsTag; o = $f.o; prop = $f.prop; s = $f.s; tag = $f.tag; tt = $f.tt; typ = $f.typ; v = $f.v; x = $f.x; x$1 = $f.x$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tjsTag = [jsTag];\n\t\tprop = [prop];\n\t\ts = [s];\n\t\ttyp = [typ];\n\t\tv = this;\n\t\tif (!((new flag(v.flag).kind() === 25))) {\n\t\t\t$panic(new ValueError.ptr(\"reflect.Value.Field\", new flag(v.flag).kind()));\n\t\t}\n\t\ttt = (v.typ.kindType);\n\t\tif (((i >>> 0)) >= ((tt.fields.$length >>> 0))) {\n\t\t\t$panic(new $String(\"reflect: Field index out of range\"));\n\t\t}\n\t\tprop[0] = $internalize(jsType(v.typ).fields[i].prop, $String);\n\t\tfield = (x = tt.fields, ((i < 0 || i >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + i]));\n\t\ttyp[0] = field.typ;\n\t\tfl = (((v.flag & 416) >>> 0) | ((typ[0].Kind() >>> 0))) >>> 0;\n\t\tif (!$clone(field.name, name).isExported()) {\n\t\t\tif (field.embedded()) {\n\t\t\t\tfl = (fl | (64)) >>> 0;\n\t\t\t} else {\n\t\t\t\tfl = (fl | (32)) >>> 0;\n\t\t\t}\n\t\t}\n\t\ttag = $clone((x$1 = tt.fields, ((i < 0 || i >= x$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$1.$array[x$1.$offset + i])).name, name).tag();\n\t\t/* */ if (!(tag === \"\") && !((i === 0))) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!(tag === \"\") && !((i === 0))) { */ case 1:\n\t\t\tjsTag[0] = getJsTag(tag);\n\t\t\t/* */ if (!(jsTag[0] === \"\")) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (!(jsTag[0] === \"\")) { */ case 3:\n\t\t\t\t/* while (true) { */ case 5:\n\t\t\t\t\to = [o];\n\t\t\t\t\t_r = $clone(v, Value).Field(0); /* */ $s = 7; case 7: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t\tv = _r;\n\t\t\t\t\t/* */ if (v.typ === jsObjectPtr) { $s = 8; continue; }\n\t\t\t\t\t/* */ $s = 9; continue;\n\t\t\t\t\t/* if (v.typ === jsObjectPtr) { */ case 8:\n\t\t\t\t\t\to[0] = $clone(v, Value).object().object;\n\t\t\t\t\t\t$s = -1; return new Value.ptr(typ[0], (new (jsType(PtrTo(typ[0])))((function(jsTag, o, prop, s, typ) { return function() {\n\t\t\t\t\t\t\treturn $internalize(o[0][$externalize(jsTag[0], $String)], jsType(typ[0]));\n\t\t\t\t\t\t}; })(jsTag, o, prop, s, typ), (function(jsTag, o, prop, s, typ) { return function(x$2) {\n\t\t\t\t\t\t\tvar x$2;\n\t\t\t\t\t\t\to[0][$externalize(jsTag[0], $String)] = $externalize(x$2, jsType(typ[0]));\n\t\t\t\t\t\t}; })(jsTag, o, prop, s, typ))), fl);\n\t\t\t\t\t/* } */ case 9:\n\t\t\t\t\t/* */ if (v.typ.Kind() === 22) { $s = 10; continue; }\n\t\t\t\t\t/* */ $s = 11; continue;\n\t\t\t\t\t/* if (v.typ.Kind() === 22) { */ case 10:\n\t\t\t\t\t\t_r$1 = $clone(v, Value).Elem(); /* */ $s = 12; case 12: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t\t\tv = _r$1;\n\t\t\t\t\t/* } */ case 11:\n\t\t\t\t/* } */ $s = 5; continue; case 6:\n\t\t\t/* } */ case 4:\n\t\t/* } */ case 2:\n\t\ts[0] = v.ptr;\n\t\t/* */ if (!((((fl & 128) >>> 0) === 0)) && !((typ[0].Kind() === 17)) && !((typ[0].Kind() === 25))) { $s = 13; continue; }\n\t\t/* */ $s = 14; continue;\n\t\t/* if (!((((fl & 128) >>> 0) === 0)) && !((typ[0].Kind() === 17)) && !((typ[0].Kind() === 25))) { */ case 13:\n\t\t\t$s = -1; return new Value.ptr(typ[0], (new (jsType(PtrTo(typ[0])))((function(jsTag, prop, s, typ) { return function() {\n\t\t\t\treturn wrapJsObject(typ[0], s[0][$externalize(prop[0], $String)]);\n\t\t\t}; })(jsTag, prop, s, typ), (function(jsTag, prop, s, typ) { return function(x$2) {\n\t\t\t\tvar x$2;\n\t\t\t\ts[0][$externalize(prop[0], $String)] = unwrapJsObject(typ[0], x$2);\n\t\t\t}; })(jsTag, prop, s, typ))), fl);\n\t\t/* } */ case 14:\n\t\t_r$2 = makeValue(typ[0], wrapJsObject(typ[0], s[0][$externalize(prop[0], $String)]), fl); /* */ $s = 15; case 15: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r$2;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Field }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.field = field; $f.fl = fl; $f.i = i; $f.jsTag = jsTag; $f.o = o; $f.prop = prop; $f.s = s; $f.tag = tag; $f.tt = tt; $f.typ = typ; $f.v = v; $f.x = x; $f.x$1 = x$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tValue.prototype.Field = function(i) { return this.$val.Field(i); };\n\tgetJsTag = function(tag) {\n\t\tvar _tuple, i, name$1, qvalue, tag, value;\n\t\twhile (true) {\n\t\t\tif (!(!(tag === \"\"))) { break; }\n\t\t\ti = 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(i < tag.length && (tag.charCodeAt(i) === 32))) { break; }\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t}\n\t\t\ttag = $substring(tag, i);\n\t\t\tif (tag === \"\") {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\ti = 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(i < tag.length && !((tag.charCodeAt(i) === 32)) && !((tag.charCodeAt(i) === 58)) && !((tag.charCodeAt(i) === 34)))) { break; }\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t}\n\t\t\tif ((i + 1 >> 0) >= tag.length || !((tag.charCodeAt(i) === 58)) || !((tag.charCodeAt((i + 1 >> 0)) === 34))) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tname$1 = ($substring(tag, 0, i));\n\t\t\ttag = $substring(tag, (i + 1 >> 0));\n\t\t\ti = 1;\n\t\t\twhile (true) {\n\t\t\t\tif (!(i < tag.length && !((tag.charCodeAt(i) === 34)))) { break; }\n\t\t\t\tif (tag.charCodeAt(i) === 92) {\n\t\t\t\t\ti = i + (1) >> 0;\n\t\t\t\t}\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t}\n\t\t\tif (i >= tag.length) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tqvalue = ($substring(tag, 0, (i + 1 >> 0)));\n\t\t\ttag = $substring(tag, (i + 1 >> 0));\n\t\t\tif (name$1 === \"js\") {\n\t\t\t\t_tuple = strconv.Unquote(qvalue);\n\t\t\t\tvalue = _tuple[0];\n\t\t\t\treturn value;\n\t\t\t}\n\t\t}\n\t\treturn \"\";\n\t};\n\tValue.ptr.prototype.Index = function(i) {\n\t\tvar _1, _r, _r$1, a, a$1, c, fl, fl$1, fl$2, i, k, s, str, tt, tt$1, typ, typ$1, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; _r$1 = $f._r$1; a = $f.a; a$1 = $f.a$1; c = $f.c; fl = $f.fl; fl$1 = $f.fl$1; fl$2 = $f.fl$2; i = $f.i; k = $f.k; s = $f.s; str = $f.str; tt = $f.tt; tt$1 = $f.tt$1; typ = $f.typ; typ$1 = $f.typ$1; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\ta = [a];\n\t\ta$1 = [a$1];\n\t\tc = [c];\n\t\ti = [i];\n\t\ttyp = [typ];\n\t\ttyp$1 = [typ$1];\n\t\tv = this;\n\t\t\tk = new flag(v.flag).kind();\n\t\t\t_1 = k;\n\t\t\t/* */ if (_1 === (17)) { $s = 2; continue; }\n\t\t\t/* */ if (_1 === (23)) { $s = 3; continue; }\n\t\t\t/* */ if (_1 === (24)) { $s = 4; continue; }\n\t\t\t/* */ $s = 5; continue;\n\t\t\t/* if (_1 === (17)) { */ case 2:\n\t\t\t\ttt = (v.typ.kindType);\n\t\t\t\tif (i[0] < 0 || i[0] > ((tt.len >> 0))) {\n\t\t\t\t\t$panic(new $String(\"reflect: array index out of range\"));\n\t\t\t\t}\n\t\t\t\ttyp[0] = tt.elem;\n\t\t\t\tfl = (((((v.flag & 384) >>> 0) | new flag(v.flag).ro()) >>> 0) | ((typ[0].Kind() >>> 0))) >>> 0;\n\t\t\t\ta[0] = v.ptr;\n\t\t\t\t/* */ if (!((((fl & 128) >>> 0) === 0)) && !((typ[0].Kind() === 17)) && !((typ[0].Kind() === 25))) { $s = 7; continue; }\n\t\t\t\t/* */ $s = 8; continue;\n\t\t\t\t/* if (!((((fl & 128) >>> 0) === 0)) && !((typ[0].Kind() === 17)) && !((typ[0].Kind() === 25))) { */ case 7:\n\t\t\t\t\t$s = -1; return new Value.ptr(typ[0], (new (jsType(PtrTo(typ[0])))((function(a, a$1, c, i, typ, typ$1) { return function() {\n\t\t\t\t\t\treturn wrapJsObject(typ[0], a[0][i[0]]);\n\t\t\t\t\t}; })(a, a$1, c, i, typ, typ$1), (function(a, a$1, c, i, typ, typ$1) { return function(x) {\n\t\t\t\t\t\tvar x;\n\t\t\t\t\t\ta[0][i[0]] = unwrapJsObject(typ[0], x);\n\t\t\t\t\t}; })(a, a$1, c, i, typ, typ$1))), fl);\n\t\t\t\t/* } */ case 8:\n\t\t\t\t_r = makeValue(typ[0], wrapJsObject(typ[0], a[0][i[0]]), fl); /* */ $s = 9; case 9: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return _r;\n\t\t\t/* } else if (_1 === (23)) { */ case 3:\n\t\t\t\ts = $clone(v, Value).object();\n\t\t\t\tif (i[0] < 0 || i[0] >= ($parseInt(s.$length) >> 0)) {\n\t\t\t\t\t$panic(new $String(\"reflect: slice index out of range\"));\n\t\t\t\t}\n\t\t\t\ttt$1 = (v.typ.kindType);\n\t\t\t\ttyp$1[0] = tt$1.elem;\n\t\t\t\tfl$1 = (((384 | new flag(v.flag).ro()) >>> 0) | ((typ$1[0].Kind() >>> 0))) >>> 0;\n\t\t\t\ti[0] = i[0] + (($parseInt(s.$offset) >> 0)) >> 0;\n\t\t\t\ta$1[0] = s.$array;\n\t\t\t\t/* */ if (!((((fl$1 & 128) >>> 0) === 0)) && !((typ$1[0].Kind() === 17)) && !((typ$1[0].Kind() === 25))) { $s = 10; continue; }\n\t\t\t\t/* */ $s = 11; continue;\n\t\t\t\t/* if (!((((fl$1 & 128) >>> 0) === 0)) && !((typ$1[0].Kind() === 17)) && !((typ$1[0].Kind() === 25))) { */ case 10:\n\t\t\t\t\t$s = -1; return new Value.ptr(typ$1[0], (new (jsType(PtrTo(typ$1[0])))((function(a, a$1, c, i, typ, typ$1) { return function() {\n\t\t\t\t\t\treturn wrapJsObject(typ$1[0], a$1[0][i[0]]);\n\t\t\t\t\t}; })(a, a$1, c, i, typ, typ$1), (function(a, a$1, c, i, typ, typ$1) { return function(x) {\n\t\t\t\t\t\tvar x;\n\t\t\t\t\t\ta$1[0][i[0]] = unwrapJsObject(typ$1[0], x);\n\t\t\t\t\t}; })(a, a$1, c, i, typ, typ$1))), fl$1);\n\t\t\t\t/* } */ case 11:\n\t\t\t\t_r$1 = makeValue(typ$1[0], wrapJsObject(typ$1[0], a$1[0][i[0]]), fl$1); /* */ $s = 12; case 12: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return _r$1;\n\t\t\t/* } else if (_1 === (24)) { */ case 4:\n\t\t\t\tstr = (v.ptr).$get();\n\t\t\t\tif (i[0] < 0 || i[0] >= str.length) {\n\t\t\t\t\t$panic(new $String(\"reflect: string index out of range\"));\n\t\t\t\t}\n\t\t\t\tfl$2 = (((new flag(v.flag).ro() | 8) >>> 0) | 128) >>> 0;\n\t\t\t\tc[0] = str.charCodeAt(i[0]);\n\t\t\t\t$s = -1; return new Value.ptr(uint8Type, ((c.$ptr || (c.$ptr = new ptrType$4(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, c)))), fl$2);\n\t\t\t/* } else { */ case 5:\n\t\t\t\t$panic(new ValueError.ptr(\"reflect.Value.Index\", k));\n\t\t\t/* } */ case 6:\n\t\tcase 1:\n\t\t$s = -1; return new Value.ptr(ptrType$1.nil, 0, 0);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Index }; } $f._1 = _1; $f._r = _r; $f._r$1 = _r$1; $f.a = a; $f.a$1 = a$1; $f.c = c; $f.fl = fl; $f.fl$1 = fl$1; $f.fl$2 = fl$2; $f.i = i; $f.k = k; $f.s = s; $f.str = str; $f.tt = tt; $f.tt$1 = tt$1; $f.typ = typ; $f.typ$1 = typ$1; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tValue.prototype.Index = function(i) { return this.$val.Index(i); };\n\tValue.ptr.prototype.InterfaceData = function() {\n\t\tvar v;\n\t\tv = this;\n\t\t$panic(errors.New(\"InterfaceData is not supported by GopherJS\"));\n\t};\n\tValue.prototype.InterfaceData = function() { return this.$val.InterfaceData(); };\n\tValue.ptr.prototype.IsNil = function() {\n\t\tvar _1, k, v;\n\t\tv = this;\n\t\tk = new flag(v.flag).kind();\n\t\t_1 = k;\n\t\tif ((_1 === (22)) || (_1 === (23))) {\n\t\t\treturn $clone(v, Value).object() === jsType(v.typ).nil;\n\t\t} else if (_1 === (18)) {\n\t\t\treturn $clone(v, Value).object() === $chanNil;\n\t\t} else if (_1 === (19)) {\n\t\t\treturn $clone(v, Value).object() === $throwNilPointerError;\n\t\t} else if (_1 === (21)) {\n\t\t\treturn $clone(v, Value).object() === false;\n\t\t} else if (_1 === (20)) {\n\t\t\treturn $clone(v, Value).object() === $ifaceNil;\n\t\t} else {\n\t\t\t$panic(new ValueError.ptr(\"reflect.Value.IsNil\", k));\n\t\t}\n\t};\n\tValue.prototype.IsNil = function() { return this.$val.IsNil(); };\n\tValue.ptr.prototype.Len = function() {\n\t\tvar _1, k, v;\n\t\tv = this;\n\t\tk = new flag(v.flag).kind();\n\t\t_1 = k;\n\t\tif ((_1 === (17)) || (_1 === (24))) {\n\t\t\treturn $parseInt($clone(v, Value).object().length);\n\t\t} else if (_1 === (23)) {\n\t\t\treturn $parseInt($clone(v, Value).object().$length) >> 0;\n\t\t} else if (_1 === (18)) {\n\t\t\treturn $parseInt($clone(v, Value).object().$buffer.length) >> 0;\n\t\t} else if (_1 === (21)) {\n\t\t\treturn $parseInt($keys($clone(v, Value).object()).length);\n\t\t} else {\n\t\t\t$panic(new ValueError.ptr(\"reflect.Value.Len\", k));\n\t\t}\n\t};\n\tValue.prototype.Len = function() { return this.$val.Len(); };\n\tValue.ptr.prototype.Pointer = function() {\n\t\tvar _1, k, v;\n\t\tv = this;\n\t\tk = new flag(v.flag).kind();\n\t\t_1 = k;\n\t\tif ((_1 === (18)) || (_1 === (21)) || (_1 === (22)) || (_1 === (26))) {\n\t\t\tif ($clone(v, Value).IsNil()) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\treturn $clone(v, Value).object();\n\t\t} else if (_1 === (19)) {\n\t\t\tif ($clone(v, Value).IsNil()) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\treturn 1;\n\t\t} else if (_1 === (23)) {\n\t\t\tif ($clone(v, Value).IsNil()) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\treturn $clone(v, Value).object().$array;\n\t\t} else {\n\t\t\t$panic(new ValueError.ptr(\"reflect.Value.Pointer\", k));\n\t\t}\n\t};\n\tValue.prototype.Pointer = function() { return this.$val.Pointer(); };\n\tValue.ptr.prototype.Set = function(x) {\n\t\tvar _1, _r, _r$1, v, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; _r$1 = $f._r$1; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tv = this;\n\t\tnew flag(v.flag).mustBeAssignable();\n\t\tnew flag(x.flag).mustBeExported();\n\t\t_r = $clone(x, Value).assignTo(\"reflect.Set\", v.typ, 0); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tx = _r;\n\t\t/* */ if (!((((v.flag & 128) >>> 0) === 0))) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (!((((v.flag & 128) >>> 0) === 0))) { */ case 2:\n\t\t\t\t_1 = v.typ.Kind();\n\t\t\t\t/* */ if (_1 === (17)) { $s = 5; continue; }\n\t\t\t\t/* */ if (_1 === (20)) { $s = 6; continue; }\n\t\t\t\t/* */ if (_1 === (25)) { $s = 7; continue; }\n\t\t\t\t/* */ $s = 8; continue;\n\t\t\t\t/* if (_1 === (17)) { */ case 5:\n\t\t\t\t\tjsType(v.typ).copy(v.ptr, x.ptr);\n\t\t\t\t\t$s = 9; continue;\n\t\t\t\t/* } else if (_1 === (20)) { */ case 6:\n\t\t\t\t\t_r$1 = valueInterface($clone(x, Value), false); /* */ $s = 10; case 10: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t\tv.ptr.$set(_r$1);\n\t\t\t\t\t$s = 9; continue;\n\t\t\t\t/* } else if (_1 === (25)) { */ case 7:\n\t\t\t\t\tcopyStruct(v.ptr, x.ptr, v.typ);\n\t\t\t\t\t$s = 9; continue;\n\t\t\t\t/* } else { */ case 8:\n\t\t\t\t\tv.ptr.$set($clone(x, Value).object());\n\t\t\t\t/* } */ case 9:\n\t\t\tcase 4:\n\t\t\t$s = -1; return;\n\t\t/* } */ case 3:\n\t\tv.ptr = x.ptr;\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Set }; } $f._1 = _1; $f._r = _r; $f._r$1 = _r$1; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tValue.prototype.Set = function(x) { return this.$val.Set(x); };\n\tValue.ptr.prototype.SetBytes = function(x) {\n\t\tvar _r, _r$1, _v, slice, typedSlice, v, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _v = $f._v; slice = $f.slice; typedSlice = $f.typedSlice; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tv = this;\n\t\tnew flag(v.flag).mustBeAssignable();\n\t\tnew flag(v.flag).mustBe(23);\n\t\t_r = v.typ.Elem().Kind(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t/* */ if (!((_r === 8))) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!((_r === 8))) { */ case 1:\n\t\t\t$panic(new $String(\"reflect.Value.SetBytes of non-byte slice\"));\n\t\t/* } */ case 2:\n\t\tslice = x;\n\t\tif (!(v.typ.Name() === \"\")) { _v = true; $s = 6; continue s; }\n\t\t_r$1 = v.typ.Elem().Name(); /* */ $s = 7; case 7: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_v = !(_r$1 === \"\"); case 6:\n\t\t/* */ if (_v) { $s = 4; continue; }\n\t\t/* */ $s = 5; continue;\n\t\t/* if (_v) { */ case 4:\n\t\t\ttypedSlice = new (jsType(v.typ))(slice.$array);\n\t\t\ttypedSlice.$offset = slice.$offset;\n\t\t\ttypedSlice.$length = slice.$length;\n\t\t\ttypedSlice.$capacity = slice.$capacity;\n\t\t\tslice = typedSlice;\n\t\t/* } */ case 5:\n\t\tv.ptr.$set(slice);\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.SetBytes }; } $f._r = _r; $f._r$1 = _r$1; $f._v = _v; $f.slice = slice; $f.typedSlice = typedSlice; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tValue.prototype.SetBytes = function(x) { return this.$val.SetBytes(x); };\n\tValue.ptr.prototype.SetCap = function(n) {\n\t\tvar n, newSlice, s, v;\n\t\tv = this;\n\t\tnew flag(v.flag).mustBeAssignable();\n\t\tnew flag(v.flag).mustBe(23);\n\t\ts = v.ptr.$get();\n\t\tif (n < ($parseInt(s.$length) >> 0) || n > ($parseInt(s.$capacity) >> 0)) {\n\t\t\t$panic(new $String(\"reflect: slice capacity out of range in SetCap\"));\n\t\t}\n\t\tnewSlice = new (jsType(v.typ))(s.$array);\n\t\tnewSlice.$offset = s.$offset;\n\t\tnewSlice.$length = s.$length;\n\t\tnewSlice.$capacity = n;\n\t\tv.ptr.$set(newSlice);\n\t};\n\tValue.prototype.SetCap = function(n) { return this.$val.SetCap(n); };\n\tValue.ptr.prototype.SetLen = function(n) {\n\t\tvar n, newSlice, s, v;\n\t\tv = this;\n\t\tnew flag(v.flag).mustBeAssignable();\n\t\tnew flag(v.flag).mustBe(23);\n\t\ts = v.ptr.$get();\n\t\tif (n < 0 || n > ($parseInt(s.$capacity) >> 0)) {\n\t\t\t$panic(new $String(\"reflect: slice length out of range in SetLen\"));\n\t\t}\n\t\tnewSlice = new (jsType(v.typ))(s.$array);\n\t\tnewSlice.$offset = s.$offset;\n\t\tnewSlice.$length = n;\n\t\tnewSlice.$capacity = s.$capacity;\n\t\tv.ptr.$set(newSlice);\n\t};\n\tValue.prototype.SetLen = function(n) { return this.$val.SetLen(n); };\n\tValue.ptr.prototype.Slice = function(i, j) {\n\t\tvar _1, _r, _r$1, cap, i, j, kind, s, str, tt, typ, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; _r$1 = $f._r$1; cap = $f.cap; i = $f.i; j = $f.j; kind = $f.kind; s = $f.s; str = $f.str; tt = $f.tt; typ = $f.typ; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tv = this;\n\t\tcap = 0;\n\t\ttyp = $ifaceNil;\n\t\ts = null;\n\t\t\tkind = new flag(v.flag).kind();\n\t\t\t_1 = kind;\n\t\t\t/* */ if (_1 === (17)) { $s = 2; continue; }\n\t\t\t/* */ if (_1 === (23)) { $s = 3; continue; }\n\t\t\t/* */ if (_1 === (24)) { $s = 4; continue; }\n\t\t\t/* */ $s = 5; continue;\n\t\t\t/* if (_1 === (17)) { */ case 2:\n\t\t\t\tif (((v.flag & 256) >>> 0) === 0) {\n\t\t\t\t\t$panic(new $String(\"reflect.Value.Slice: slice of unaddressable array\"));\n\t\t\t\t}\n\t\t\t\ttt = (v.typ.kindType);\n\t\t\t\tcap = ((tt.len >> 0));\n\t\t\t\ttyp = SliceOf(tt.elem);\n\t\t\t\ts = new (jsType(typ))($clone(v, Value).object());\n\t\t\t\t$s = 6; continue;\n\t\t\t/* } else if (_1 === (23)) { */ case 3:\n\t\t\t\ttyp = v.typ;\n\t\t\t\ts = $clone(v, Value).object();\n\t\t\t\tcap = $parseInt(s.$capacity) >> 0;\n\t\t\t\t$s = 6; continue;\n\t\t\t/* } else if (_1 === (24)) { */ case 4:\n\t\t\t\tstr = (v.ptr).$get();\n\t\t\t\tif (i < 0 || j < i || j > str.length) {\n\t\t\t\t\t$panic(new $String(\"reflect.Value.Slice: string slice index out of bounds\"));\n\t\t\t\t}\n\t\t\t\t_r = ValueOf(new $String($substring(str, i, j))); /* */ $s = 7; case 7: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return _r;\n\t\t\t/* } else { */ case 5:\n\t\t\t\t$panic(new ValueError.ptr(\"reflect.Value.Slice\", kind));\n\t\t\t/* } */ case 6:\n\t\tcase 1:\n\t\tif (i < 0 || j < i || j > cap) {\n\t\t\t$panic(new $String(\"reflect.Value.Slice: slice index out of bounds\"));\n\t\t}\n\t\t_r$1 = makeValue(typ, $subslice(s, i, j), new flag(v.flag).ro()); /* */ $s = 8; case 8: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r$1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Slice }; } $f._1 = _1; $f._r = _r; $f._r$1 = _r$1; $f.cap = cap; $f.i = i; $f.j = j; $f.kind = kind; $f.s = s; $f.str = str; $f.tt = tt; $f.typ = typ; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tValue.prototype.Slice = function(i, j) { return this.$val.Slice(i, j); };\n\tValue.ptr.prototype.Slice3 = function(i, j, k) {\n\t\tvar _1, _r, cap, i, j, k, kind, s, tt, typ, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; cap = $f.cap; i = $f.i; j = $f.j; k = $f.k; kind = $f.kind; s = $f.s; tt = $f.tt; typ = $f.typ; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tv = this;\n\t\tcap = 0;\n\t\ttyp = $ifaceNil;\n\t\ts = null;\n\t\tkind = new flag(v.flag).kind();\n\t\t_1 = kind;\n\t\tif (_1 === (17)) {\n\t\t\tif (((v.flag & 256) >>> 0) === 0) {\n\t\t\t\t$panic(new $String(\"reflect.Value.Slice: slice of unaddressable array\"));\n\t\t\t}\n\t\t\ttt = (v.typ.kindType);\n\t\t\tcap = ((tt.len >> 0));\n\t\t\ttyp = SliceOf(tt.elem);\n\t\t\ts = new (jsType(typ))($clone(v, Value).object());\n\t\t} else if (_1 === (23)) {\n\t\t\ttyp = v.typ;\n\t\t\ts = $clone(v, Value).object();\n\t\t\tcap = $parseInt(s.$capacity) >> 0;\n\t\t} else {\n\t\t\t$panic(new ValueError.ptr(\"reflect.Value.Slice3\", kind));\n\t\t}\n\t\tif (i < 0 || j < i || k < j || k > cap) {\n\t\t\t$panic(new $String(\"reflect.Value.Slice3: slice index out of bounds\"));\n\t\t}\n\t\t_r = makeValue(typ, $subslice(s, i, j, k), new flag(v.flag).ro()); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Slice3 }; } $f._1 = _1; $f._r = _r; $f.cap = cap; $f.i = i; $f.j = j; $f.k = k; $f.kind = kind; $f.s = s; $f.tt = tt; $f.typ = typ; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tValue.prototype.Slice3 = function(i, j, k) { return this.$val.Slice3(i, j, k); };\n\tValue.ptr.prototype.Close = function() {\n\t\tvar v;\n\t\tv = this;\n\t\tnew flag(v.flag).mustBe(18);\n\t\tnew flag(v.flag).mustBeExported();\n\t\t$close($clone(v, Value).object());\n\t};\n\tValue.prototype.Close = function() { return this.$val.Close(); };\n\tchanrecv = function(ch, nb, val) {\n\t\tvar _r, _tmp, _tmp$1, _tmp$2, _tmp$3, ch, comms, nb, received, recvRes, selectRes, selected, val, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; ch = $f.ch; comms = $f.comms; nb = $f.nb; received = $f.received; recvRes = $f.recvRes; selectRes = $f.selectRes; selected = $f.selected; val = $f.val; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tselected = false;\n\t\treceived = false;\n\t\tcomms = new sliceType$11([new sliceType$8([ch])]);\n\t\tif (nb) {\n\t\t\tcomms = $append(comms, new sliceType$8([]));\n\t\t}\n\t\t_r = selectHelper(new sliceType$3([comms])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tselectRes = _r;\n\t\tif (nb && (($parseInt(selectRes[0]) >> 0) === 1)) {\n\t\t\t_tmp = false;\n\t\t\t_tmp$1 = false;\n\t\t\tselected = _tmp;\n\t\t\treceived = _tmp$1;\n\t\t\t$s = -1; return [selected, received];\n\t\t}\n\t\trecvRes = selectRes[1];\n\t\tval.$set(recvRes[0]);\n\t\t_tmp$2 = true;\n\t\t_tmp$3 = !!(recvRes[1]);\n\t\tselected = _tmp$2;\n\t\treceived = _tmp$3;\n\t\t$s = -1; return [selected, received];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: chanrecv }; } $f._r = _r; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f.ch = ch; $f.comms = comms; $f.nb = nb; $f.received = received; $f.recvRes = recvRes; $f.selectRes = selectRes; $f.selected = selected; $f.val = val; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tchansend = function(ch, val, nb) {\n\t\tvar _r, ch, comms, nb, selectRes, val, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; ch = $f.ch; comms = $f.comms; nb = $f.nb; selectRes = $f.selectRes; val = $f.val; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tcomms = new sliceType$11([new sliceType$8([ch, val.$get()])]);\n\t\tif (nb) {\n\t\t\tcomms = $append(comms, new sliceType$8([]));\n\t\t}\n\t\t_r = selectHelper(new sliceType$3([comms])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tselectRes = _r;\n\t\tif (nb && (($parseInt(selectRes[0]) >> 0) === 1)) {\n\t\t\t$s = -1; return false;\n\t\t}\n\t\t$s = -1; return true;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: chansend }; } $f._r = _r; $f.ch = ch; $f.comms = comms; $f.nb = nb; $f.selectRes = selectRes; $f.val = val; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmethodReceiver = function(op, v, i) {\n\t\tvar _$38, fn, i, m, m$1, ms, op, prop, rcvr, t, tt, v, x;\n\t\t_$38 = ptrType$1.nil;\n\t\tt = ptrType$7.nil;\n\t\tfn = 0;\n\t\tprop = \"\";\n\t\tif (v.typ.Kind() === 20) {\n\t\t\ttt = (v.typ.kindType);\n\t\t\tif (i < 0 || i >= tt.methods.$length) {\n\t\t\t\t$panic(new $String(\"reflect: internal error: invalid method index\"));\n\t\t\t}\n\t\t\tm = (x = tt.methods, ((i < 0 || i >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + i]));\n\t\t\tif (!$clone(tt.rtype.nameOff(m.name), name).isExported()) {\n\t\t\t\t$panic(new $String(\"reflect: \" + op + \" of unexported method\"));\n\t\t\t}\n\t\t\tt = (tt.rtype.typeOff(m.typ).kindType);\n\t\t\tprop = $clone(tt.rtype.nameOff(m.name), name).name();\n\t\t} else {\n\t\t\tms = v.typ.exportedMethods();\n\t\t\tif (((i >>> 0)) >= ((ms.$length >>> 0))) {\n\t\t\t\t$panic(new $String(\"reflect: internal error: invalid method index\"));\n\t\t\t}\n\t\t\tm$1 = $clone(((i < 0 || i >= ms.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : ms.$array[ms.$offset + i]), method);\n\t\t\tif (!$clone(v.typ.nameOff(m$1.name), name).isExported()) {\n\t\t\t\t$panic(new $String(\"reflect: \" + op + \" of unexported method\"));\n\t\t\t}\n\t\t\tt = (v.typ.typeOff(m$1.mtyp).kindType);\n\t\t\tprop = $internalize($methodSet(jsType(v.typ))[i].prop, $String);\n\t\t}\n\t\trcvr = $clone(v, Value).object();\n\t\tif (isWrapped(v.typ)) {\n\t\t\trcvr = new (jsType(v.typ))(rcvr);\n\t\t}\n\t\tfn = (rcvr[$externalize(prop, $String)]);\n\t\treturn [_$38, t, fn];\n\t};\n\tValue.ptr.prototype.call = function(op, in$1) {\n\t\tvar _1, _arg, _arg$1, _arg$2, _arg$3, _i, _i$1, _i$2, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _ref, _ref$1, _ref$2, _tmp, _tmp$1, _tuple, arg, argsArray, elem, fn, i, i$1, i$2, i$3, in$1, isSlice, m, n, nin, nout, op, origIn, rcvr, results, ret, slice, t, targ, v, x, x$1, x$2, xt, xt$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _arg$3 = $f._arg$3; _i = $f._i; _i$1 = $f._i$1; _i$2 = $f._i$2; _r = $f._r; _r$1 = $f._r$1; _r$10 = $f._r$10; _r$11 = $f._r$11; _r$12 = $f._r$12; _r$13 = $f._r$13; _r$14 = $f._r$14; _r$15 = $f._r$15; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _r$8 = $f._r$8; _r$9 = $f._r$9; _ref = $f._ref; _ref$1 = $f._ref$1; _ref$2 = $f._ref$2; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tuple = $f._tuple; arg = $f.arg; argsArray = $f.argsArray; elem = $f.elem; fn = $f.fn; i = $f.i; i$1 = $f.i$1; i$2 = $f.i$2; i$3 = $f.i$3; in$1 = $f.in$1; isSlice = $f.isSlice; m = $f.m; n = $f.n; nin = $f.nin; nout = $f.nout; op = $f.op; origIn = $f.origIn; rcvr = $f.rcvr; results = $f.results; ret = $f.ret; slice = $f.slice; t = $f.t; targ = $f.targ; v = $f.v; x = $f.x; x$1 = $f.x$1; x$2 = $f.x$2; xt = $f.xt; xt$1 = $f.xt$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tv = this;\n\t\tt = ptrType$7.nil;\n\t\tfn = 0;\n\t\trcvr = null;\n\t\tif (!((((v.flag & 512) >>> 0) === 0))) {\n\t\t\t_tuple = methodReceiver(op, $clone(v, Value), ((v.flag >> 0)) >> 10 >> 0);\n\t\t\tt = _tuple[1];\n\t\t\tfn = _tuple[2];\n\t\t\trcvr = $clone(v, Value).object();\n\t\t\tif (isWrapped(v.typ)) {\n\t\t\t\trcvr = new (jsType(v.typ))(rcvr);\n\t\t\t}\n\t\t} else {\n\t\t\tt = (v.typ.kindType);\n\t\t\tfn = ($clone(v, Value).object());\n\t\t\trcvr = undefined;\n\t\t}\n\t\tif (fn === 0) {\n\t\t\t$panic(new $String(\"reflect.Value.Call: call of nil function\"));\n\t\t}\n\t\tisSlice = op === \"CallSlice\";\n\t\tn = t.rtype.NumIn();\n\t\tif (isSlice) {\n\t\t\tif (!t.rtype.IsVariadic()) {\n\t\t\t\t$panic(new $String(\"reflect: CallSlice of non-variadic function\"));\n\t\t\t}\n\t\t\tif (in$1.$length < n) {\n\t\t\t\t$panic(new $String(\"reflect: CallSlice with too few input arguments\"));\n\t\t\t}\n\t\t\tif (in$1.$length > n) {\n\t\t\t\t$panic(new $String(\"reflect: CallSlice with too many input arguments\"));\n\t\t\t}\n\t\t} else {\n\t\t\tif (t.rtype.IsVariadic()) {\n\t\t\t\tn = n - (1) >> 0;\n\t\t\t}\n\t\t\tif (in$1.$length < n) {\n\t\t\t\t$panic(new $String(\"reflect: Call with too few input arguments\"));\n\t\t\t}\n\t\t\tif (!t.rtype.IsVariadic() && in$1.$length > n) {\n\t\t\t\t$panic(new $String(\"reflect: Call with too many input arguments\"));\n\t\t\t}\n\t\t}\n\t\t_ref = in$1;\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\tx = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\tif ($clone(x, Value).Kind() === 0) {\n\t\t\t\t$panic(new $String(\"reflect: \" + op + \" using zero Value argument\"));\n\t\t\t}\n\t\t\t_i++;\n\t\t}\n\t\ti = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(i < n)) { break; } */ if(!(i < n)) { $s = 2; continue; }\n\t\t\t_tmp = $clone(((i < 0 || i >= in$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : in$1.$array[in$1.$offset + i]), Value).Type();\n\t\t\t_tmp$1 = t.rtype.In(i);\n\t\t\txt = _tmp;\n\t\t\ttarg = _tmp$1;\n\t\t\t_r = xt.AssignableTo(targ); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t/* */ if (!_r) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (!_r) { */ case 3:\n\t\t\t\t_r$1 = xt.String(); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t_r$2 = targ.String(); /* */ $s = 7; case 7: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t$panic(new $String(\"reflect: \" + op + \" using \" + _r$1 + \" as type \" + _r$2));\n\t\t\t/* } */ case 4:\n\t\t\ti = i + (1) >> 0;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t/* */ if (!isSlice && t.rtype.IsVariadic()) { $s = 8; continue; }\n\t\t/* */ $s = 9; continue;\n\t\t/* if (!isSlice && t.rtype.IsVariadic()) { */ case 8:\n\t\t\tm = in$1.$length - n >> 0;\n\t\t\t_r$3 = MakeSlice(t.rtype.In(n), m, m); /* */ $s = 10; case 10: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\tslice = _r$3;\n\t\t\t_r$4 = t.rtype.In(n).Elem(); /* */ $s = 11; case 11: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\telem = _r$4;\n\t\t\ti$1 = 0;\n\t\t\t/* while (true) { */ case 12:\n\t\t\t\t/* if (!(i$1 < m)) { break; } */ if(!(i$1 < m)) { $s = 13; continue; }\n\t\t\t\tx$2 = (x$1 = n + i$1 >> 0, ((x$1 < 0 || x$1 >= in$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : in$1.$array[in$1.$offset + x$1]));\n\t\t\t\txt$1 = $clone(x$2, Value).Type();\n\t\t\t\t_r$5 = xt$1.AssignableTo(elem); /* */ $s = 16; case 16: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t\t/* */ if (!_r$5) { $s = 14; continue; }\n\t\t\t\t/* */ $s = 15; continue;\n\t\t\t\t/* if (!_r$5) { */ case 14:\n\t\t\t\t\t_r$6 = xt$1.String(); /* */ $s = 17; case 17: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t\t\t\t_r$7 = elem.String(); /* */ $s = 18; case 18: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }\n\t\t\t\t\t$panic(new $String(\"reflect: cannot use \" + _r$6 + \" as type \" + _r$7 + \" in \" + op));\n\t\t\t\t/* } */ case 15:\n\t\t\t\t_r$8 = $clone(slice, Value).Index(i$1); /* */ $s = 19; case 19: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }\n\t\t\t\t$r = $clone(_r$8, Value).Set($clone(x$2, Value)); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\ti$1 = i$1 + (1) >> 0;\n\t\t\t/* } */ $s = 12; continue; case 13:\n\t\t\torigIn = in$1;\n\t\t\tin$1 = $makeSlice(sliceType$9, (n + 1 >> 0));\n\t\t\t$copySlice($subslice(in$1, 0, n), origIn);\n\t\t\t((n < 0 || n >= in$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : in$1.$array[in$1.$offset + n] = slice);\n\t\t/* } */ case 9:\n\t\tnin = in$1.$length;\n\t\tif (!((nin === t.rtype.NumIn()))) {\n\t\t\t$panic(new $String(\"reflect.Value.Call: wrong argument count\"));\n\t\t}\n\t\tnout = t.rtype.NumOut();\n\t\targsArray = new ($global.Array)(t.rtype.NumIn());\n\t\t_ref$1 = in$1;\n\t\t_i$1 = 0;\n\t\t/* while (true) { */ case 21:\n\t\t\t/* if (!(_i$1 < _ref$1.$length)) { break; } */ if(!(_i$1 < _ref$1.$length)) { $s = 22; continue; }\n\t\t\ti$2 = _i$1;\n\t\t\targ = ((_i$1 < 0 || _i$1 >= _ref$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref$1.$array[_ref$1.$offset + _i$1]);\n\t\t\t_arg = t.rtype.In(i$2);\n\t\t\t_r$9 = t.rtype.In(i$2).common(); /* */ $s = 23; case 23: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }\n\t\t\t_arg$1 = _r$9;\n\t\t\t_arg$2 = 0;\n\t\t\t_r$10 = $clone(arg, Value).assignTo(\"reflect.Value.Call\", _arg$1, _arg$2); /* */ $s = 24; case 24: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }\n\t\t\t_r$11 = $clone(_r$10, Value).object(); /* */ $s = 25; case 25: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }\n\t\t\t_arg$3 = _r$11;\n\t\t\t_r$12 = unwrapJsObject(_arg, _arg$3); /* */ $s = 26; case 26: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; }\n\t\t\targsArray[i$2] = _r$12;\n\t\t\t_i$1++;\n\t\t/* } */ $s = 21; continue; case 22:\n\t\t_r$13 = callHelper(new sliceType$3([new $jsObjectPtr(fn), new $jsObjectPtr(rcvr), new $jsObjectPtr(argsArray)])); /* */ $s = 27; case 27: if($c) { $c = false; _r$13 = _r$13.$blk(); } if (_r$13 && _r$13.$blk !== undefined) { break s; }\n\t\tresults = _r$13;\n\t\t\t_1 = nout;\n\t\t\t/* */ if (_1 === (0)) { $s = 29; continue; }\n\t\t\t/* */ if (_1 === (1)) { $s = 30; continue; }\n\t\t\t/* */ $s = 31; continue;\n\t\t\t/* if (_1 === (0)) { */ case 29:\n\t\t\t\t$s = -1; return sliceType$9.nil;\n\t\t\t/* } else if (_1 === (1)) { */ case 30:\n\t\t\t\t_r$14 = makeValue(t.rtype.Out(0), wrapJsObject(t.rtype.Out(0), results), 0); /* */ $s = 33; case 33: if($c) { $c = false; _r$14 = _r$14.$blk(); } if (_r$14 && _r$14.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return new sliceType$9([$clone(_r$14, Value)]);\n\t\t\t/* } else { */ case 31:\n\t\t\t\tret = $makeSlice(sliceType$9, nout);\n\t\t\t\t_ref$2 = ret;\n\t\t\t\t_i$2 = 0;\n\t\t\t\t/* while (true) { */ case 34:\n\t\t\t\t\t/* if (!(_i$2 < _ref$2.$length)) { break; } */ if(!(_i$2 < _ref$2.$length)) { $s = 35; continue; }\n\t\t\t\t\ti$3 = _i$2;\n\t\t\t\t\t_r$15 = makeValue(t.rtype.Out(i$3), wrapJsObject(t.rtype.Out(i$3), results[i$3]), 0); /* */ $s = 36; case 36: if($c) { $c = false; _r$15 = _r$15.$blk(); } if (_r$15 && _r$15.$blk !== undefined) { break s; }\n\t\t\t\t\t((i$3 < 0 || i$3 >= ret.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : ret.$array[ret.$offset + i$3] = _r$15);\n\t\t\t\t\t_i$2++;\n\t\t\t\t/* } */ $s = 34; continue; case 35:\n\t\t\t\t$s = -1; return ret;\n\t\t\t/* } */ case 32:\n\t\tcase 28:\n\t\t$s = -1; return sliceType$9.nil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.call }; } $f._1 = _1; $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._arg$3 = _arg$3; $f._i = _i; $f._i$1 = _i$1; $f._i$2 = _i$2; $f._r = _r; $f._r$1 = _r$1; $f._r$10 = _r$10; $f._r$11 = _r$11; $f._r$12 = _r$12; $f._r$13 = _r$13; $f._r$14 = _r$14; $f._r$15 = _r$15; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._r$8 = _r$8; $f._r$9 = _r$9; $f._ref = _ref; $f._ref$1 = _ref$1; $f._ref$2 = _ref$2; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tuple = _tuple; $f.arg = arg; $f.argsArray = argsArray; $f.elem = elem; $f.fn = fn; $f.i = i; $f.i$1 = i$1; $f.i$2 = i$2; $f.i$3 = i$3; $f.in$1 = in$1; $f.isSlice = isSlice; $f.m = m; $f.n = n; $f.nin = nin; $f.nout = nout; $f.op = op; $f.origIn = origIn; $f.rcvr = rcvr; $f.results = results; $f.ret = ret; $f.slice = slice; $f.t = t; $f.targ = targ; $f.v = v; $f.x = x; $f.x$1 = x$1; $f.x$2 = x$2; $f.xt = xt; $f.xt$1 = xt$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tValue.prototype.call = function(op, in$1) { return this.$val.call(op, in$1); };\n\tstructField.ptr.prototype.offset = function() {\n\t\tvar f;\n\t\tf = this;\n\t\treturn f.offsetEmbed >>> 1 >>> 0;\n\t};\n\tstructField.prototype.offset = function() { return this.$val.offset(); };\n\tstructField.ptr.prototype.embedded = function() {\n\t\tvar f;\n\t\tf = this;\n\t\treturn !((((f.offsetEmbed & 1) >>> 0) === 0));\n\t};\n\tstructField.prototype.embedded = function() { return this.$val.embedded(); };\n\tKind.prototype.String = function() {\n\t\tvar k;\n\t\tk = this.$val;\n\t\tif (((k >> 0)) < kindNames.$length) {\n\t\t\treturn ((k < 0 || k >= kindNames.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : kindNames.$array[kindNames.$offset + k]);\n\t\t}\n\t\treturn \"kind\" + strconv.Itoa(((k >> 0)));\n\t};\n\t$ptrType(Kind).prototype.String = function() { return new Kind(this.$get()).String(); };\n\trtype.ptr.prototype.String = function() {\n\t\tvar s, t;\n\t\tt = this;\n\t\ts = $clone(t.nameOff(t.str), name).name();\n\t\tif (!((((t.tflag & 2) >>> 0) === 0))) {\n\t\t\treturn $substring(s, 1);\n\t\t}\n\t\treturn s;\n\t};\n\trtype.prototype.String = function() { return this.$val.String(); };\n\trtype.ptr.prototype.Size = function() {\n\t\tvar t;\n\t\tt = this;\n\t\treturn t.size;\n\t};\n\trtype.prototype.Size = function() { return this.$val.Size(); };\n\trtype.ptr.prototype.Bits = function() {\n\t\tvar k, t;\n\t\tt = this;\n\t\tif (t === ptrType$1.nil) {\n\t\t\t$panic(new $String(\"reflect: Bits of nil Type\"));\n\t\t}\n\t\tk = t.Kind();\n\t\tif (k < 2 || k > 16) {\n\t\t\t$panic(new $String(\"reflect: Bits of non-arithmetic Type \" + t.String()));\n\t\t}\n\t\treturn $imul(((t.size >> 0)), 8);\n\t};\n\trtype.prototype.Bits = function() { return this.$val.Bits(); };\n\trtype.ptr.prototype.Align = function() {\n\t\tvar t;\n\t\tt = this;\n\t\treturn ((t.align >> 0));\n\t};\n\trtype.prototype.Align = function() { return this.$val.Align(); };\n\trtype.ptr.prototype.FieldAlign = function() {\n\t\tvar t;\n\t\tt = this;\n\t\treturn ((t.fieldAlign >> 0));\n\t};\n\trtype.prototype.FieldAlign = function() { return this.$val.FieldAlign(); };\n\trtype.ptr.prototype.Kind = function() {\n\t\tvar t;\n\t\tt = this;\n\t\treturn ((((t.kind & 31) >>> 0) >>> 0));\n\t};\n\trtype.prototype.Kind = function() { return this.$val.Kind(); };\n\trtype.ptr.prototype.common = function() {\n\t\tvar t;\n\t\tt = this;\n\t\treturn t;\n\t};\n\trtype.prototype.common = function() { return this.$val.common(); };\n\trtype.ptr.prototype.exportedMethods = function() {\n\t\tvar t, ut;\n\t\tt = this;\n\t\tut = t.uncommon();\n\t\tif (ut === ptrType$5.nil) {\n\t\t\treturn sliceType$5.nil;\n\t\t}\n\t\treturn ut.exportedMethods();\n\t};\n\trtype.prototype.exportedMethods = function() { return this.$val.exportedMethods(); };\n\trtype.ptr.prototype.NumMethod = function() {\n\t\tvar t, tt;\n\t\tt = this;\n\t\tif (t.Kind() === 20) {\n\t\t\ttt = (t.kindType);\n\t\t\treturn tt.NumMethod();\n\t\t}\n\t\treturn t.exportedMethods().$length;\n\t};\n\trtype.prototype.NumMethod = function() { return this.$val.NumMethod(); };\n\trtype.ptr.prototype.MethodByName = function(name$1) {\n\t\tvar _i, _r, _ref, _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tuple, i, m, name$1, ok, p, t, tt, ut, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _r = $f._r; _ref = $f._ref; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; _tmp$4 = $f._tmp$4; _tmp$5 = $f._tmp$5; _tuple = $f._tuple; i = $f.i; m = $f.m; name$1 = $f.name$1; ok = $f.ok; p = $f.p; t = $f.t; tt = $f.tt; ut = $f.ut; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tm = new Method.ptr(\"\", \"\", $ifaceNil, new Value.ptr(ptrType$1.nil, 0, 0), 0);\n\t\tok = false;\n\t\tt = this;\n\t\tif (t.Kind() === 20) {\n\t\t\ttt = (t.kindType);\n\t\t\t_tuple = tt.MethodByName(name$1);\n\t\t\tMethod.copy(m, _tuple[0]);\n\t\t\tok = _tuple[1];\n\t\t\t$s = -1; return [m, ok];\n\t\t}\n\t\tut = t.uncommon();\n\t\tif (ut === ptrType$5.nil) {\n\t\t\t_tmp = new Method.ptr(\"\", \"\", $ifaceNil, new Value.ptr(ptrType$1.nil, 0, 0), 0);\n\t\t\t_tmp$1 = false;\n\t\t\tMethod.copy(m, _tmp);\n\t\t\tok = _tmp$1;\n\t\t\t$s = -1; return [m, ok];\n\t\t}\n\t\t_ref = ut.exportedMethods();\n\t\t_i = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 2; continue; }\n\t\t\ti = _i;\n\t\t\tp = $clone(((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]), method);\n\t\t\t/* */ if ($clone(t.nameOff(p.name), name).name() === name$1) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if ($clone(t.nameOff(p.name), name).name() === name$1) { */ case 3:\n\t\t\t\t_r = t.Method(i); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t_tmp$2 = $clone(_r, Method);\n\t\t\t\t_tmp$3 = true;\n\t\t\t\tMethod.copy(m, _tmp$2);\n\t\t\t\tok = _tmp$3;\n\t\t\t\t$s = -1; return [m, ok];\n\t\t\t/* } */ case 4:\n\t\t\t_i++;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t_tmp$4 = new Method.ptr(\"\", \"\", $ifaceNil, new Value.ptr(ptrType$1.nil, 0, 0), 0);\n\t\t_tmp$5 = false;\n\t\tMethod.copy(m, _tmp$4);\n\t\tok = _tmp$5;\n\t\t$s = -1; return [m, ok];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: rtype.ptr.prototype.MethodByName }; } $f._i = _i; $f._r = _r; $f._ref = _ref; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f._tmp$4 = _tmp$4; $f._tmp$5 = _tmp$5; $f._tuple = _tuple; $f.i = i; $f.m = m; $f.name$1 = name$1; $f.ok = ok; $f.p = p; $f.t = t; $f.tt = tt; $f.ut = ut; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\trtype.prototype.MethodByName = function(name$1) { return this.$val.MethodByName(name$1); };\n\trtype.ptr.prototype.PkgPath = function() {\n\t\tvar t, ut;\n\t\tt = this;\n\t\tif (((t.tflag & 4) >>> 0) === 0) {\n\t\t\treturn \"\";\n\t\t}\n\t\tut = t.uncommon();\n\t\tif (ut === ptrType$5.nil) {\n\t\t\treturn \"\";\n\t\t}\n\t\treturn $clone(t.nameOff(ut.pkgPath), name).name();\n\t};\n\trtype.prototype.PkgPath = function() { return this.$val.PkgPath(); };\n\trtype.ptr.prototype.Name = function() {\n\t\tvar i, s, t;\n\t\tt = this;\n\t\tif (((t.tflag & 4) >>> 0) === 0) {\n\t\t\treturn \"\";\n\t\t}\n\t\ts = t.String();\n\t\ti = s.length - 1 >> 0;\n\t\twhile (true) {\n\t\t\tif (!(i >= 0)) { break; }\n\t\t\tif (s.charCodeAt(i) === 46) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\ti = i - (1) >> 0;\n\t\t}\n\t\treturn $substring(s, (i + 1 >> 0));\n\t};\n\trtype.prototype.Name = function() { return this.$val.Name(); };\n\trtype.ptr.prototype.ChanDir = function() {\n\t\tvar t, tt;\n\t\tt = this;\n\t\tif (!((t.Kind() === 18))) {\n\t\t\t$panic(new $String(\"reflect: ChanDir of non-chan type\"));\n\t\t}\n\t\ttt = (t.kindType);\n\t\treturn ((tt.dir >> 0));\n\t};\n\trtype.prototype.ChanDir = function() { return this.$val.ChanDir(); };\n\trtype.ptr.prototype.IsVariadic = function() {\n\t\tvar t, tt;\n\t\tt = this;\n\t\tif (!((t.Kind() === 19))) {\n\t\t\t$panic(new $String(\"reflect: IsVariadic of non-func type\"));\n\t\t}\n\t\ttt = (t.kindType);\n\t\treturn !((((tt.outCount & 32768) >>> 0) === 0));\n\t};\n\trtype.prototype.IsVariadic = function() { return this.$val.IsVariadic(); };\n\trtype.ptr.prototype.Elem = function() {\n\t\tvar _1, t, tt, tt$1, tt$2, tt$3, tt$4;\n\t\tt = this;\n\t\t_1 = t.Kind();\n\t\tif (_1 === (17)) {\n\t\t\ttt = (t.kindType);\n\t\t\treturn toType(tt.elem);\n\t\t} else if (_1 === (18)) {\n\t\t\ttt$1 = (t.kindType);\n\t\t\treturn toType(tt$1.elem);\n\t\t} else if (_1 === (21)) {\n\t\t\ttt$2 = (t.kindType);\n\t\t\treturn toType(tt$2.elem);\n\t\t} else if (_1 === (22)) {\n\t\t\ttt$3 = (t.kindType);\n\t\t\treturn toType(tt$3.elem);\n\t\t} else if (_1 === (23)) {\n\t\t\ttt$4 = (t.kindType);\n\t\t\treturn toType(tt$4.elem);\n\t\t}\n\t\t$panic(new $String(\"reflect: Elem of invalid type\"));\n\t};\n\trtype.prototype.Elem = function() { return this.$val.Elem(); };\n\trtype.ptr.prototype.Field = function(i) {\n\t\tvar i, t, tt;\n\t\tt = this;\n\t\tif (!((t.Kind() === 25))) {\n\t\t\t$panic(new $String(\"reflect: Field of non-struct type\"));\n\t\t}\n\t\ttt = (t.kindType);\n\t\treturn tt.Field(i);\n\t};\n\trtype.prototype.Field = function(i) { return this.$val.Field(i); };\n\trtype.ptr.prototype.FieldByIndex = function(index) {\n\t\tvar _r, index, t, tt, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; index = $f.index; t = $f.t; tt = $f.tt; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tt = this;\n\t\tif (!((t.Kind() === 25))) {\n\t\t\t$panic(new $String(\"reflect: FieldByIndex of non-struct type\"));\n\t\t}\n\t\ttt = (t.kindType);\n\t\t_r = tt.FieldByIndex(index); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: rtype.ptr.prototype.FieldByIndex }; } $f._r = _r; $f.index = index; $f.t = t; $f.tt = tt; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\trtype.prototype.FieldByIndex = function(index) { return this.$val.FieldByIndex(index); };\n\trtype.ptr.prototype.FieldByName = function(name$1) {\n\t\tvar _r, name$1, t, tt, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; name$1 = $f.name$1; t = $f.t; tt = $f.tt; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tt = this;\n\t\tif (!((t.Kind() === 25))) {\n\t\t\t$panic(new $String(\"reflect: FieldByName of non-struct type\"));\n\t\t}\n\t\ttt = (t.kindType);\n\t\t_r = tt.FieldByName(name$1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: rtype.ptr.prototype.FieldByName }; } $f._r = _r; $f.name$1 = name$1; $f.t = t; $f.tt = tt; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\trtype.prototype.FieldByName = function(name$1) { return this.$val.FieldByName(name$1); };\n\trtype.ptr.prototype.FieldByNameFunc = function(match) {\n\t\tvar _r, match, t, tt, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; match = $f.match; t = $f.t; tt = $f.tt; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tt = this;\n\t\tif (!((t.Kind() === 25))) {\n\t\t\t$panic(new $String(\"reflect: FieldByNameFunc of non-struct type\"));\n\t\t}\n\t\ttt = (t.kindType);\n\t\t_r = tt.FieldByNameFunc(match); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: rtype.ptr.prototype.FieldByNameFunc }; } $f._r = _r; $f.match = match; $f.t = t; $f.tt = tt; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\trtype.prototype.FieldByNameFunc = function(match) { return this.$val.FieldByNameFunc(match); };\n\trtype.ptr.prototype.In = function(i) {\n\t\tvar i, t, tt, x;\n\t\tt = this;\n\t\tif (!((t.Kind() === 19))) {\n\t\t\t$panic(new $String(\"reflect: In of non-func type\"));\n\t\t}\n\t\ttt = (t.kindType);\n\t\treturn toType((x = tt.in$(), ((i < 0 || i >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + i])));\n\t};\n\trtype.prototype.In = function(i) { return this.$val.In(i); };\n\trtype.ptr.prototype.Key = function() {\n\t\tvar t, tt;\n\t\tt = this;\n\t\tif (!((t.Kind() === 21))) {\n\t\t\t$panic(new $String(\"reflect: Key of non-map type\"));\n\t\t}\n\t\ttt = (t.kindType);\n\t\treturn toType(tt.key);\n\t};\n\trtype.prototype.Key = function() { return this.$val.Key(); };\n\trtype.ptr.prototype.Len = function() {\n\t\tvar t, tt;\n\t\tt = this;\n\t\tif (!((t.Kind() === 17))) {\n\t\t\t$panic(new $String(\"reflect: Len of non-array type\"));\n\t\t}\n\t\ttt = (t.kindType);\n\t\treturn ((tt.len >> 0));\n\t};\n\trtype.prototype.Len = function() { return this.$val.Len(); };\n\trtype.ptr.prototype.NumField = function() {\n\t\tvar t, tt;\n\t\tt = this;\n\t\tif (!((t.Kind() === 25))) {\n\t\t\t$panic(new $String(\"reflect: NumField of non-struct type\"));\n\t\t}\n\t\ttt = (t.kindType);\n\t\treturn tt.fields.$length;\n\t};\n\trtype.prototype.NumField = function() { return this.$val.NumField(); };\n\trtype.ptr.prototype.NumIn = function() {\n\t\tvar t, tt;\n\t\tt = this;\n\t\tif (!((t.Kind() === 19))) {\n\t\t\t$panic(new $String(\"reflect: NumIn of non-func type\"));\n\t\t}\n\t\ttt = (t.kindType);\n\t\treturn ((tt.inCount >> 0));\n\t};\n\trtype.prototype.NumIn = function() { return this.$val.NumIn(); };\n\trtype.ptr.prototype.NumOut = function() {\n\t\tvar t, tt;\n\t\tt = this;\n\t\tif (!((t.Kind() === 19))) {\n\t\t\t$panic(new $String(\"reflect: NumOut of non-func type\"));\n\t\t}\n\t\ttt = (t.kindType);\n\t\treturn tt.out().$length;\n\t};\n\trtype.prototype.NumOut = function() { return this.$val.NumOut(); };\n\trtype.ptr.prototype.Out = function(i) {\n\t\tvar i, t, tt, x;\n\t\tt = this;\n\t\tif (!((t.Kind() === 19))) {\n\t\t\t$panic(new $String(\"reflect: Out of non-func type\"));\n\t\t}\n\t\ttt = (t.kindType);\n\t\treturn toType((x = tt.out(), ((i < 0 || i >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + i])));\n\t};\n\trtype.prototype.Out = function(i) { return this.$val.Out(i); };\n\tChanDir.prototype.String = function() {\n\t\tvar _1, d;\n\t\td = this.$val;\n\t\t_1 = d;\n\t\tif (_1 === (2)) {\n\t\t\treturn \"chan<-\";\n\t\t} else if (_1 === (1)) {\n\t\t\treturn \"<-chan\";\n\t\t} else if (_1 === (3)) {\n\t\t\treturn \"chan\";\n\t\t}\n\t\treturn \"ChanDir\" + strconv.Itoa(((d >> 0)));\n\t};\n\t$ptrType(ChanDir).prototype.String = function() { return new ChanDir(this.$get()).String(); };\n\tinterfaceType.ptr.prototype.Method = function(i) {\n\t\tvar i, m, p, pname, t, x;\n\t\tm = new Method.ptr(\"\", \"\", $ifaceNil, new Value.ptr(ptrType$1.nil, 0, 0), 0);\n\t\tt = this;\n\t\tif (i < 0 || i >= t.methods.$length) {\n\t\t\treturn m;\n\t\t}\n\t\tp = (x = t.methods, ((i < 0 || i >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + i]));\n\t\tpname = $clone(t.rtype.nameOff(p.name), name);\n\t\tm.Name = $clone(pname, name).name();\n\t\tif (!$clone(pname, name).isExported()) {\n\t\t\tm.PkgPath = $clone(pname, name).pkgPath();\n\t\t\tif (m.PkgPath === \"\") {\n\t\t\t\tm.PkgPath = $clone(t.pkgPath, name).name();\n\t\t\t}\n\t\t}\n\t\tm.Type = toType(t.rtype.typeOff(p.typ));\n\t\tm.Index = i;\n\t\treturn m;\n\t};\n\tinterfaceType.prototype.Method = function(i) { return this.$val.Method(i); };\n\tinterfaceType.ptr.prototype.NumMethod = function() {\n\t\tvar t;\n\t\tt = this;\n\t\treturn t.methods.$length;\n\t};\n\tinterfaceType.prototype.NumMethod = function() { return this.$val.NumMethod(); };\n\tinterfaceType.ptr.prototype.MethodByName = function(name$1) {\n\t\tvar _i, _ref, _tmp, _tmp$1, i, m, name$1, ok, p, t, x;\n\t\tm = new Method.ptr(\"\", \"\", $ifaceNil, new Value.ptr(ptrType$1.nil, 0, 0), 0);\n\t\tok = false;\n\t\tt = this;\n\t\tif (t === ptrType$8.nil) {\n\t\t\treturn [m, ok];\n\t\t}\n\t\tp = ptrType$9.nil;\n\t\t_ref = t.methods;\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\ti = _i;\n\t\t\tp = (x = t.methods, ((i < 0 || i >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + i]));\n\t\t\tif ($clone(t.rtype.nameOff(p.name), name).name() === name$1) {\n\t\t\t\t_tmp = $clone(t.Method(i), Method);\n\t\t\t\t_tmp$1 = true;\n\t\t\t\tMethod.copy(m, _tmp);\n\t\t\t\tok = _tmp$1;\n\t\t\t\treturn [m, ok];\n\t\t\t}\n\t\t\t_i++;\n\t\t}\n\t\treturn [m, ok];\n\t};\n\tinterfaceType.prototype.MethodByName = function(name$1) { return this.$val.MethodByName(name$1); };\n\tStructTag.prototype.Get = function(key) {\n\t\tvar _tuple, key, tag, v;\n\t\ttag = this.$val;\n\t\t_tuple = new StructTag(tag).Lookup(key);\n\t\tv = _tuple[0];\n\t\treturn v;\n\t};\n\t$ptrType(StructTag).prototype.Get = function(key) { return new StructTag(this.$get()).Get(key); };\n\tStructTag.prototype.Lookup = function(key) {\n\t\tvar _tmp, _tmp$1, _tmp$2, _tmp$3, _tuple, err, i, key, name$1, ok, qvalue, tag, value, value$1;\n\t\tvalue = \"\";\n\t\tok = false;\n\t\ttag = this.$val;\n\t\twhile (true) {\n\t\t\tif (!(!(tag === \"\"))) { break; }\n\t\t\ti = 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(i < tag.length && (tag.charCodeAt(i) === 32))) { break; }\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t}\n\t\t\ttag = $substring(tag, i);\n\t\t\tif (tag === \"\") {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\ti = 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(i < tag.length && tag.charCodeAt(i) > 32 && !((tag.charCodeAt(i) === 58)) && !((tag.charCodeAt(i) === 34)) && !((tag.charCodeAt(i) === 127)))) { break; }\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t}\n\t\t\tif ((i === 0) || (i + 1 >> 0) >= tag.length || !((tag.charCodeAt(i) === 58)) || !((tag.charCodeAt((i + 1 >> 0)) === 34))) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tname$1 = ($substring(tag, 0, i));\n\t\t\ttag = $substring(tag, (i + 1 >> 0));\n\t\t\ti = 1;\n\t\t\twhile (true) {\n\t\t\t\tif (!(i < tag.length && !((tag.charCodeAt(i) === 34)))) { break; }\n\t\t\t\tif (tag.charCodeAt(i) === 92) {\n\t\t\t\t\ti = i + (1) >> 0;\n\t\t\t\t}\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t}\n\t\t\tif (i >= tag.length) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tqvalue = ($substring(tag, 0, (i + 1 >> 0)));\n\t\t\ttag = $substring(tag, (i + 1 >> 0));\n\t\t\tif (key === name$1) {\n\t\t\t\t_tuple = strconv.Unquote(qvalue);\n\t\t\t\tvalue$1 = _tuple[0];\n\t\t\t\terr = _tuple[1];\n\t\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\t_tmp = value$1;\n\t\t\t\t_tmp$1 = true;\n\t\t\t\tvalue = _tmp;\n\t\t\t\tok = _tmp$1;\n\t\t\t\treturn [value, ok];\n\t\t\t}\n\t\t}\n\t\t_tmp$2 = \"\";\n\t\t_tmp$3 = false;\n\t\tvalue = _tmp$2;\n\t\tok = _tmp$3;\n\t\treturn [value, ok];\n\t};\n\t$ptrType(StructTag).prototype.Lookup = function(key) { return new StructTag(this.$get()).Lookup(key); };\n\tstructType.ptr.prototype.Field = function(i) {\n\t\tvar f, i, p, t, tag, x;\n\t\tf = new StructField.ptr(\"\", \"\", $ifaceNil, \"\", 0, sliceType$13.nil, false);\n\t\tt = this;\n\t\tif (i < 0 || i >= t.fields.$length) {\n\t\t\t$panic(new $String(\"reflect: Field index out of bounds\"));\n\t\t}\n\t\tp = (x = t.fields, ((i < 0 || i >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + i]));\n\t\tf.Type = toType(p.typ);\n\t\tf.Name = $clone(p.name, name).name();\n\t\tf.Anonymous = p.embedded();\n\t\tif (!$clone(p.name, name).isExported()) {\n\t\t\tf.PkgPath = $clone(t.pkgPath, name).name();\n\t\t}\n\t\ttag = $clone(p.name, name).tag();\n\t\tif (!(tag === \"\")) {\n\t\t\tf.Tag = (tag);\n\t\t}\n\t\tf.Offset = p.offset();\n\t\tf.Index = new sliceType$13([i]);\n\t\treturn f;\n\t};\n\tstructType.prototype.Field = function(i) { return this.$val.Field(i); };\n\tstructType.ptr.prototype.FieldByIndex = function(index) {\n\t\tvar _i, _r, _r$1, _r$2, _r$3, _r$4, _ref, _v, f, ft, i, index, t, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _ref = $f._ref; _v = $f._v; f = $f.f; ft = $f.ft; i = $f.i; index = $f.index; t = $f.t; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tf = new StructField.ptr(\"\", \"\", $ifaceNil, \"\", 0, sliceType$13.nil, false);\n\t\tt = this;\n\t\tf.Type = toType(t.rtype);\n\t\t_ref = index;\n\t\t_i = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 2; continue; }\n\t\t\ti = _i;\n\t\t\tx = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\t/* */ if (i > 0) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (i > 0) { */ case 3:\n\t\t\t\tft = f.Type;\n\t\t\t\t_r = ft.Kind(); /* */ $s = 8; case 8: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\tif (!(_r === 22)) { _v = false; $s = 7; continue s; }\n\t\t\t\t_r$1 = ft.Elem(); /* */ $s = 9; case 9: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t_r$2 = _r$1.Kind(); /* */ $s = 10; case 10: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t_v = _r$2 === 25; case 7:\n\t\t\t\t/* */ if (_v) { $s = 5; continue; }\n\t\t\t\t/* */ $s = 6; continue;\n\t\t\t\t/* if (_v) { */ case 5:\n\t\t\t\t\t_r$3 = ft.Elem(); /* */ $s = 11; case 11: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t\tft = _r$3;\n\t\t\t\t/* } */ case 6:\n\t\t\t\tf.Type = ft;\n\t\t\t/* } */ case 4:\n\t\t\t_r$4 = f.Type.Field(x); /* */ $s = 12; case 12: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\tStructField.copy(f, _r$4);\n\t\t\t_i++;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return f;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: structType.ptr.prototype.FieldByIndex }; } $f._i = _i; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._ref = _ref; $f._v = _v; $f.f = f; $f.ft = ft; $f.i = i; $f.index = index; $f.t = t; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tstructType.prototype.FieldByIndex = function(index) { return this.$val.FieldByIndex(index); };\n\tstructType.ptr.prototype.FieldByNameFunc = function(match) {\n\t\tvar _entry, _entry$1, _entry$2, _entry$3, _i, _i$1, _key, _key$1, _key$2, _key$3, _r, _r$1, _ref, _ref$1, _tmp, _tmp$1, _tmp$2, _tmp$3, count, current, f, fname, i, index, match, next, nextCount, ntyp, ok, result, scan, styp, t, t$1, visited, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _entry = $f._entry; _entry$1 = $f._entry$1; _entry$2 = $f._entry$2; _entry$3 = $f._entry$3; _i = $f._i; _i$1 = $f._i$1; _key = $f._key; _key$1 = $f._key$1; _key$2 = $f._key$2; _key$3 = $f._key$3; _r = $f._r; _r$1 = $f._r$1; _ref = $f._ref; _ref$1 = $f._ref$1; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; count = $f.count; current = $f.current; f = $f.f; fname = $f.fname; i = $f.i; index = $f.index; match = $f.match; next = $f.next; nextCount = $f.nextCount; ntyp = $f.ntyp; ok = $f.ok; result = $f.result; scan = $f.scan; styp = $f.styp; t = $f.t; t$1 = $f.t$1; visited = $f.visited; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tresult = new StructField.ptr(\"\", \"\", $ifaceNil, \"\", 0, sliceType$13.nil, false);\n\t\tok = false;\n\t\tt = this;\n\t\tcurrent = new sliceType$14([]);\n\t\tnext = new sliceType$14([new fieldScan.ptr(t, sliceType$13.nil)]);\n\t\tnextCount = false;\n\t\tvisited = $makeMap(ptrType$10.keyFor, []);\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(next.$length > 0)) { break; } */ if(!(next.$length > 0)) { $s = 2; continue; }\n\t\t\t_tmp = next;\n\t\t\t_tmp$1 = $subslice(current, 0, 0);\n\t\t\tcurrent = _tmp;\n\t\t\tnext = _tmp$1;\n\t\t\tcount = nextCount;\n\t\t\tnextCount = false;\n\t\t\t_ref = current;\n\t\t\t_i = 0;\n\t\t\t/* while (true) { */ case 3:\n\t\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 4; continue; }\n\t\t\t\tscan = $clone(((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]), fieldScan);\n\t\t\t\tt$1 = scan.typ;\n\t\t\t\t/* */ if ((_entry = visited[ptrType$10.keyFor(t$1)], _entry !== undefined ? _entry.v : false)) { $s = 5; continue; }\n\t\t\t\t/* */ $s = 6; continue;\n\t\t\t\t/* if ((_entry = visited[ptrType$10.keyFor(t$1)], _entry !== undefined ? _entry.v : false)) { */ case 5:\n\t\t\t\t\t_i++;\n\t\t\t\t\t/* continue; */ $s = 3; continue;\n\t\t\t\t/* } */ case 6:\n\t\t\t\t_key = t$1; (visited || $throwRuntimeError(\"assignment to entry in nil map\"))[ptrType$10.keyFor(_key)] = { k: _key, v: true };\n\t\t\t\t_ref$1 = t$1.fields;\n\t\t\t\t_i$1 = 0;\n\t\t\t\t/* while (true) { */ case 7:\n\t\t\t\t\t/* if (!(_i$1 < _ref$1.$length)) { break; } */ if(!(_i$1 < _ref$1.$length)) { $s = 8; continue; }\n\t\t\t\t\ti = _i$1;\n\t\t\t\t\tf = (x = t$1.fields, ((i < 0 || i >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + i]));\n\t\t\t\t\tfname = $clone(f.name, name).name();\n\t\t\t\t\tntyp = ptrType$1.nil;\n\t\t\t\t\t/* */ if (f.embedded()) { $s = 9; continue; }\n\t\t\t\t\t/* */ $s = 10; continue;\n\t\t\t\t\t/* if (f.embedded()) { */ case 9:\n\t\t\t\t\t\tntyp = f.typ;\n\t\t\t\t\t\t/* */ if (ntyp.Kind() === 22) { $s = 11; continue; }\n\t\t\t\t\t\t/* */ $s = 12; continue;\n\t\t\t\t\t\t/* if (ntyp.Kind() === 22) { */ case 11:\n\t\t\t\t\t\t\t_r = ntyp.Elem().common(); /* */ $s = 13; case 13: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\tntyp = _r;\n\t\t\t\t\t\t/* } */ case 12:\n\t\t\t\t\t/* } */ case 10:\n\t\t\t\t\t_r$1 = match(fname); /* */ $s = 16; case 16: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t\t/* */ if (_r$1) { $s = 14; continue; }\n\t\t\t\t\t/* */ $s = 15; continue;\n\t\t\t\t\t/* if (_r$1) { */ case 14:\n\t\t\t\t\t\tif ((_entry$1 = count[ptrType$10.keyFor(t$1)], _entry$1 !== undefined ? _entry$1.v : 0) > 1 || ok) {\n\t\t\t\t\t\t\t_tmp$2 = new StructField.ptr(\"\", \"\", $ifaceNil, \"\", 0, sliceType$13.nil, false);\n\t\t\t\t\t\t\t_tmp$3 = false;\n\t\t\t\t\t\t\tStructField.copy(result, _tmp$2);\n\t\t\t\t\t\t\tok = _tmp$3;\n\t\t\t\t\t\t\t$s = -1; return [result, ok];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tStructField.copy(result, t$1.Field(i));\n\t\t\t\t\t\tresult.Index = sliceType$13.nil;\n\t\t\t\t\t\tresult.Index = $appendSlice(result.Index, scan.index);\n\t\t\t\t\t\tresult.Index = $append(result.Index, i);\n\t\t\t\t\t\tok = true;\n\t\t\t\t\t\t_i$1++;\n\t\t\t\t\t\t/* continue; */ $s = 7; continue;\n\t\t\t\t\t/* } */ case 15:\n\t\t\t\t\tif (ok || ntyp === ptrType$1.nil || !((ntyp.Kind() === 25))) {\n\t\t\t\t\t\t_i$1++;\n\t\t\t\t\t\t/* continue; */ $s = 7; continue;\n\t\t\t\t\t}\n\t\t\t\t\tstyp = (ntyp.kindType);\n\t\t\t\t\tif ((_entry$2 = nextCount[ptrType$10.keyFor(styp)], _entry$2 !== undefined ? _entry$2.v : 0) > 0) {\n\t\t\t\t\t\t_key$1 = styp; (nextCount || $throwRuntimeError(\"assignment to entry in nil map\"))[ptrType$10.keyFor(_key$1)] = { k: _key$1, v: 2 };\n\t\t\t\t\t\t_i$1++;\n\t\t\t\t\t\t/* continue; */ $s = 7; continue;\n\t\t\t\t\t}\n\t\t\t\t\tif (nextCount === false) {\n\t\t\t\t\t\tnextCount = $makeMap(ptrType$10.keyFor, []);\n\t\t\t\t\t}\n\t\t\t\t\t_key$2 = styp; (nextCount || $throwRuntimeError(\"assignment to entry in nil map\"))[ptrType$10.keyFor(_key$2)] = { k: _key$2, v: 1 };\n\t\t\t\t\tif ((_entry$3 = count[ptrType$10.keyFor(t$1)], _entry$3 !== undefined ? _entry$3.v : 0) > 1) {\n\t\t\t\t\t\t_key$3 = styp; (nextCount || $throwRuntimeError(\"assignment to entry in nil map\"))[ptrType$10.keyFor(_key$3)] = { k: _key$3, v: 2 };\n\t\t\t\t\t}\n\t\t\t\t\tindex = sliceType$13.nil;\n\t\t\t\t\tindex = $appendSlice(index, scan.index);\n\t\t\t\t\tindex = $append(index, i);\n\t\t\t\t\tnext = $append(next, new fieldScan.ptr(styp, index));\n\t\t\t\t\t_i$1++;\n\t\t\t\t/* } */ $s = 7; continue; case 8:\n\t\t\t\t_i++;\n\t\t\t/* } */ $s = 3; continue; case 4:\n\t\t\tif (ok) {\n\t\t\t\t/* break; */ $s = 2; continue;\n\t\t\t}\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return [result, ok];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: structType.ptr.prototype.FieldByNameFunc }; } $f._entry = _entry; $f._entry$1 = _entry$1; $f._entry$2 = _entry$2; $f._entry$3 = _entry$3; $f._i = _i; $f._i$1 = _i$1; $f._key = _key; $f._key$1 = _key$1; $f._key$2 = _key$2; $f._key$3 = _key$3; $f._r = _r; $f._r$1 = _r$1; $f._ref = _ref; $f._ref$1 = _ref$1; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f.count = count; $f.current = current; $f.f = f; $f.fname = fname; $f.i = i; $f.index = index; $f.match = match; $f.next = next; $f.nextCount = nextCount; $f.ntyp = ntyp; $f.ok = ok; $f.result = result; $f.scan = scan; $f.styp = styp; $f.t = t; $f.t$1 = t$1; $f.visited = visited; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tstructType.prototype.FieldByNameFunc = function(match) { return this.$val.FieldByNameFunc(match); };\n\tstructType.ptr.prototype.FieldByName = function(name$1) {\n\t\tvar _i, _r, _ref, _tmp, _tmp$1, _tuple, f, hasEmbeds, i, name$1, present, t, tf, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _r = $f._r; _ref = $f._ref; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tuple = $f._tuple; f = $f.f; hasEmbeds = $f.hasEmbeds; i = $f.i; name$1 = $f.name$1; present = $f.present; t = $f.t; tf = $f.tf; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tname$1 = [name$1];\n\t\tf = new StructField.ptr(\"\", \"\", $ifaceNil, \"\", 0, sliceType$13.nil, false);\n\t\tpresent = false;\n\t\tt = this;\n\t\thasEmbeds = false;\n\t\tif (!(name$1[0] === \"\")) {\n\t\t\t_ref = t.fields;\n\t\t\t_i = 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\t\ti = _i;\n\t\t\t\ttf = (x = t.fields, ((i < 0 || i >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + i]));\n\t\t\t\tif ($clone(tf.name, name).name() === name$1[0]) {\n\t\t\t\t\t_tmp = $clone(t.Field(i), StructField);\n\t\t\t\t\t_tmp$1 = true;\n\t\t\t\t\tStructField.copy(f, _tmp);\n\t\t\t\t\tpresent = _tmp$1;\n\t\t\t\t\t$s = -1; return [f, present];\n\t\t\t\t}\n\t\t\t\tif (tf.embedded()) {\n\t\t\t\t\thasEmbeds = true;\n\t\t\t\t}\n\t\t\t\t_i++;\n\t\t\t}\n\t\t}\n\t\tif (!hasEmbeds) {\n\t\t\t$s = -1; return [f, present];\n\t\t}\n\t\t_r = t.FieldByNameFunc((function(name$1) { return function(s) {\n\t\t\tvar s;\n\t\t\treturn s === name$1[0];\n\t\t}; })(name$1)); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tStructField.copy(f, _tuple[0]);\n\t\tpresent = _tuple[1];\n\t\t$s = -1; return [f, present];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: structType.ptr.prototype.FieldByName }; } $f._i = _i; $f._r = _r; $f._ref = _ref; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tuple = _tuple; $f.f = f; $f.hasEmbeds = hasEmbeds; $f.i = i; $f.name$1 = name$1; $f.present = present; $f.t = t; $f.tf = tf; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tstructType.prototype.FieldByName = function(name$1) { return this.$val.FieldByName(name$1); };\n\tPtrTo = function(t) {\n\t\tvar t;\n\t\treturn $assertType(t, ptrType$1).ptrTo();\n\t};\n\t$pkg.PtrTo = PtrTo;\n\trtype.ptr.prototype.Implements = function(u) {\n\t\tvar _r, t, u, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; u = $f.u; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tt = this;\n\t\tif ($interfaceIsEqual(u, $ifaceNil)) {\n\t\t\t$panic(new $String(\"reflect: nil type passed to Type.Implements\"));\n\t\t}\n\t\t_r = u.Kind(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t/* */ if (!((_r === 20))) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!((_r === 20))) { */ case 1:\n\t\t\t$panic(new $String(\"reflect: non-interface type passed to Type.Implements\"));\n\t\t/* } */ case 2:\n\t\t$s = -1; return implements$1($assertType(u, ptrType$1), t);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: rtype.ptr.prototype.Implements }; } $f._r = _r; $f.t = t; $f.u = u; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\trtype.prototype.Implements = function(u) { return this.$val.Implements(u); };\n\trtype.ptr.prototype.AssignableTo = function(u) {\n\t\tvar _r, t, u, uu, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; u = $f.u; uu = $f.uu; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tt = this;\n\t\tif ($interfaceIsEqual(u, $ifaceNil)) {\n\t\t\t$panic(new $String(\"reflect: nil type passed to Type.AssignableTo\"));\n\t\t}\n\t\tuu = $assertType(u, ptrType$1);\n\t\t_r = directlyAssignable(uu, t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r || implements$1(uu, t);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: rtype.ptr.prototype.AssignableTo }; } $f._r = _r; $f.t = t; $f.u = u; $f.uu = uu; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\trtype.prototype.AssignableTo = function(u) { return this.$val.AssignableTo(u); };\n\trtype.ptr.prototype.ConvertibleTo = function(u) {\n\t\tvar _r, t, u, uu, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; u = $f.u; uu = $f.uu; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tt = this;\n\t\tif ($interfaceIsEqual(u, $ifaceNil)) {\n\t\t\t$panic(new $String(\"reflect: nil type passed to Type.ConvertibleTo\"));\n\t\t}\n\t\tuu = $assertType(u, ptrType$1);\n\t\t_r = convertOp(uu, t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return !(_r === $throwNilPointerError);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: rtype.ptr.prototype.ConvertibleTo }; } $f._r = _r; $f.t = t; $f.u = u; $f.uu = uu; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\trtype.prototype.ConvertibleTo = function(u) { return this.$val.ConvertibleTo(u); };\n\timplements$1 = function(T, V) {\n\t\tvar T, V, i, i$1, j, j$1, t, tm, tm$1, tmName, tmName$1, tmPkgPath, tmPkgPath$1, v, v$1, vm, vm$1, vmName, vmName$1, vmPkgPath, vmPkgPath$1, vmethods, x, x$1, x$2;\n\t\tif (!((T.Kind() === 20))) {\n\t\t\treturn false;\n\t\t}\n\t\tt = (T.kindType);\n\t\tif (t.methods.$length === 0) {\n\t\t\treturn true;\n\t\t}\n\t\tif (V.Kind() === 20) {\n\t\t\tv = (V.kindType);\n\t\t\ti = 0;\n\t\t\tj = 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(j < v.methods.$length)) { break; }\n\t\t\t\ttm = (x = t.methods, ((i < 0 || i >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + i]));\n\t\t\t\ttmName = $clone(t.rtype.nameOff(tm.name), name);\n\t\t\t\tvm = (x$1 = v.methods, ((j < 0 || j >= x$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$1.$array[x$1.$offset + j]));\n\t\t\t\tvmName = $clone(V.nameOff(vm.name), name);\n\t\t\t\tif ($clone(vmName, name).name() === $clone(tmName, name).name() && V.typeOff(vm.typ) === t.rtype.typeOff(tm.typ)) {\n\t\t\t\t\tif (!$clone(tmName, name).isExported()) {\n\t\t\t\t\t\ttmPkgPath = $clone(tmName, name).pkgPath();\n\t\t\t\t\t\tif (tmPkgPath === \"\") {\n\t\t\t\t\t\t\ttmPkgPath = $clone(t.pkgPath, name).name();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvmPkgPath = $clone(vmName, name).pkgPath();\n\t\t\t\t\t\tif (vmPkgPath === \"\") {\n\t\t\t\t\t\t\tvmPkgPath = $clone(v.pkgPath, name).name();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!(tmPkgPath === vmPkgPath)) {\n\t\t\t\t\t\t\tj = j + (1) >> 0;\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\ti = i + (1) >> 0;\n\t\t\t\t\tif (i >= t.methods.$length) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tj = j + (1) >> 0;\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t\tv$1 = V.uncommon();\n\t\tif (v$1 === ptrType$5.nil) {\n\t\t\treturn false;\n\t\t}\n\t\ti$1 = 0;\n\t\tvmethods = v$1.methods();\n\t\tj$1 = 0;\n\t\twhile (true) {\n\t\t\tif (!(j$1 < ((v$1.mcount >> 0)))) { break; }\n\t\t\ttm$1 = (x$2 = t.methods, ((i$1 < 0 || i$1 >= x$2.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$2.$array[x$2.$offset + i$1]));\n\t\t\ttmName$1 = $clone(t.rtype.nameOff(tm$1.name), name);\n\t\t\tvm$1 = $clone(((j$1 < 0 || j$1 >= vmethods.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : vmethods.$array[vmethods.$offset + j$1]), method);\n\t\t\tvmName$1 = $clone(V.nameOff(vm$1.name), name);\n\t\t\tif ($clone(vmName$1, name).name() === $clone(tmName$1, name).name() && V.typeOff(vm$1.mtyp) === t.rtype.typeOff(tm$1.typ)) {\n\t\t\t\tif (!$clone(tmName$1, name).isExported()) {\n\t\t\t\t\ttmPkgPath$1 = $clone(tmName$1, name).pkgPath();\n\t\t\t\t\tif (tmPkgPath$1 === \"\") {\n\t\t\t\t\t\ttmPkgPath$1 = $clone(t.pkgPath, name).name();\n\t\t\t\t\t}\n\t\t\t\t\tvmPkgPath$1 = $clone(vmName$1, name).pkgPath();\n\t\t\t\t\tif (vmPkgPath$1 === \"\") {\n\t\t\t\t\t\tvmPkgPath$1 = $clone(V.nameOff(v$1.pkgPath), name).name();\n\t\t\t\t\t}\n\t\t\t\t\tif (!(tmPkgPath$1 === vmPkgPath$1)) {\n\t\t\t\t\t\tj$1 = j$1 + (1) >> 0;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\ti$1 = i$1 + (1) >> 0;\n\t\t\t\tif (i$1 >= t.methods.$length) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\tj$1 = j$1 + (1) >> 0;\n\t\t}\n\t\treturn false;\n\t};\n\tdirectlyAssignable = function(T, V) {\n\t\tvar T, V, _r, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; T = $f.T; V = $f.V; _r = $f._r; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tif (T === V) {\n\t\t\t$s = -1; return true;\n\t\t}\n\t\tif (!(T.Name() === \"\") && !(V.Name() === \"\") || !((T.Kind() === V.Kind()))) {\n\t\t\t$s = -1; return false;\n\t\t}\n\t\t_r = haveIdenticalUnderlyingType(T, V, true); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: directlyAssignable }; } $f.T = T; $f.V = V; $f._r = _r; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\thaveIdenticalType = function(T, V, cmpTags) {\n\t\tvar T, V, _arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _v, cmpTags, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; T = $f.T; V = $f.V; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _v = $f._v; cmpTags = $f.cmpTags; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tif (cmpTags) {\n\t\t\t$s = -1; return $interfaceIsEqual(T, V);\n\t\t}\n\t\t_r = T.Name(); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = V.Name(); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tif (!(_r === _r$1)) { _v = true; $s = 3; continue s; }\n\t\t_r$2 = T.Kind(); /* */ $s = 6; case 6: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t_r$3 = V.Kind(); /* */ $s = 7; case 7: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t_v = !((_r$2 === _r$3)); case 3:\n\t\t/* */ if (_v) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (_v) { */ case 1:\n\t\t\t$s = -1; return false;\n\t\t/* } */ case 2:\n\t\t_r$4 = T.common(); /* */ $s = 8; case 8: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t_arg = _r$4;\n\t\t_r$5 = V.common(); /* */ $s = 9; case 9: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t_arg$1 = _r$5;\n\t\t_r$6 = haveIdenticalUnderlyingType(_arg, _arg$1, false); /* */ $s = 10; case 10: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r$6;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: haveIdenticalType }; } $f.T = T; $f.V = V; $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._v = _v; $f.cmpTags = cmpTags; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\thaveIdenticalUnderlyingType = function(T, V, cmpTags) {\n\t\tvar T, V, _1, _i, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _ref, _v, _v$1, _v$2, _v$3, cmpTags, i, i$1, i$2, kind, t, t$1, t$2, tf, v, v$1, v$2, vf, x, x$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; T = $f.T; V = $f.V; _1 = $f._1; _i = $f._i; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _r$8 = $f._r$8; _ref = $f._ref; _v = $f._v; _v$1 = $f._v$1; _v$2 = $f._v$2; _v$3 = $f._v$3; cmpTags = $f.cmpTags; i = $f.i; i$1 = $f.i$1; i$2 = $f.i$2; kind = $f.kind; t = $f.t; t$1 = $f.t$1; t$2 = $f.t$2; tf = $f.tf; v = $f.v; v$1 = $f.v$1; v$2 = $f.v$2; vf = $f.vf; x = $f.x; x$1 = $f.x$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tif (T === V) {\n\t\t\t$s = -1; return true;\n\t\t}\n\t\tkind = T.Kind();\n\t\tif (!((kind === V.Kind()))) {\n\t\t\t$s = -1; return false;\n\t\t}\n\t\tif (1 <= kind && kind <= 16 || (kind === 24) || (kind === 26)) {\n\t\t\t$s = -1; return true;\n\t\t}\n\t\t\t_1 = kind;\n\t\t\t/* */ if (_1 === (17)) { $s = 2; continue; }\n\t\t\t/* */ if (_1 === (18)) { $s = 3; continue; }\n\t\t\t/* */ if (_1 === (19)) { $s = 4; continue; }\n\t\t\t/* */ if (_1 === (20)) { $s = 5; continue; }\n\t\t\t/* */ if (_1 === (21)) { $s = 6; continue; }\n\t\t\t/* */ if ((_1 === (22)) || (_1 === (23))) { $s = 7; continue; }\n\t\t\t/* */ if (_1 === (25)) { $s = 8; continue; }\n\t\t\t/* */ $s = 9; continue;\n\t\t\t/* if (_1 === (17)) { */ case 2:\n\t\t\t\tif (!(T.Len() === V.Len())) { _v = false; $s = 10; continue s; }\n\t\t\t\t_r = haveIdenticalType(T.Elem(), V.Elem(), cmpTags); /* */ $s = 11; case 11: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t_v = _r; case 10:\n\t\t\t\t$s = -1; return _v;\n\t\t\t/* } else if (_1 === (18)) { */ case 3:\n\t\t\t\tif (!(V.ChanDir() === 3)) { _v$1 = false; $s = 14; continue s; }\n\t\t\t\t_r$1 = haveIdenticalType(T.Elem(), V.Elem(), cmpTags); /* */ $s = 15; case 15: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t_v$1 = _r$1; case 14:\n\t\t\t\t/* */ if (_v$1) { $s = 12; continue; }\n\t\t\t\t/* */ $s = 13; continue;\n\t\t\t\t/* if (_v$1) { */ case 12:\n\t\t\t\t\t$s = -1; return true;\n\t\t\t\t/* } */ case 13:\n\t\t\t\tif (!(V.ChanDir() === T.ChanDir())) { _v$2 = false; $s = 16; continue s; }\n\t\t\t\t_r$2 = haveIdenticalType(T.Elem(), V.Elem(), cmpTags); /* */ $s = 17; case 17: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t_v$2 = _r$2; case 16:\n\t\t\t\t$s = -1; return _v$2;\n\t\t\t/* } else if (_1 === (19)) { */ case 4:\n\t\t\t\tt = (T.kindType);\n\t\t\t\tv = (V.kindType);\n\t\t\t\tif (!((t.outCount === v.outCount)) || !((t.inCount === v.inCount))) {\n\t\t\t\t\t$s = -1; return false;\n\t\t\t\t}\n\t\t\t\ti = 0;\n\t\t\t\t/* while (true) { */ case 18:\n\t\t\t\t\t/* if (!(i < t.rtype.NumIn())) { break; } */ if(!(i < t.rtype.NumIn())) { $s = 19; continue; }\n\t\t\t\t\t_r$3 = haveIdenticalType(t.rtype.In(i), v.rtype.In(i), cmpTags); /* */ $s = 22; case 22: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t\t/* */ if (!_r$3) { $s = 20; continue; }\n\t\t\t\t\t/* */ $s = 21; continue;\n\t\t\t\t\t/* if (!_r$3) { */ case 20:\n\t\t\t\t\t\t$s = -1; return false;\n\t\t\t\t\t/* } */ case 21:\n\t\t\t\t\ti = i + (1) >> 0;\n\t\t\t\t/* } */ $s = 18; continue; case 19:\n\t\t\t\ti$1 = 0;\n\t\t\t\t/* while (true) { */ case 23:\n\t\t\t\t\t/* if (!(i$1 < t.rtype.NumOut())) { break; } */ if(!(i$1 < t.rtype.NumOut())) { $s = 24; continue; }\n\t\t\t\t\t_r$4 = haveIdenticalType(t.rtype.Out(i$1), v.rtype.Out(i$1), cmpTags); /* */ $s = 27; case 27: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\t\t/* */ if (!_r$4) { $s = 25; continue; }\n\t\t\t\t\t/* */ $s = 26; continue;\n\t\t\t\t\t/* if (!_r$4) { */ case 25:\n\t\t\t\t\t\t$s = -1; return false;\n\t\t\t\t\t/* } */ case 26:\n\t\t\t\t\ti$1 = i$1 + (1) >> 0;\n\t\t\t\t/* } */ $s = 23; continue; case 24:\n\t\t\t\t$s = -1; return true;\n\t\t\t/* } else if (_1 === (20)) { */ case 5:\n\t\t\t\tt$1 = (T.kindType);\n\t\t\t\tv$1 = (V.kindType);\n\t\t\t\tif ((t$1.methods.$length === 0) && (v$1.methods.$length === 0)) {\n\t\t\t\t\t$s = -1; return true;\n\t\t\t\t}\n\t\t\t\t$s = -1; return false;\n\t\t\t/* } else if (_1 === (21)) { */ case 6:\n\t\t\t\t_r$5 = haveIdenticalType(T.Key(), V.Key(), cmpTags); /* */ $s = 29; case 29: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t\tif (!(_r$5)) { _v$3 = false; $s = 28; continue s; }\n\t\t\t\t_r$6 = haveIdenticalType(T.Elem(), V.Elem(), cmpTags); /* */ $s = 30; case 30: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t\t\t_v$3 = _r$6; case 28:\n\t\t\t\t$s = -1; return _v$3;\n\t\t\t/* } else if ((_1 === (22)) || (_1 === (23))) { */ case 7:\n\t\t\t\t_r$7 = haveIdenticalType(T.Elem(), V.Elem(), cmpTags); /* */ $s = 31; case 31: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return _r$7;\n\t\t\t/* } else if (_1 === (25)) { */ case 8:\n\t\t\t\tt$2 = (T.kindType);\n\t\t\t\tv$2 = (V.kindType);\n\t\t\t\tif (!((t$2.fields.$length === v$2.fields.$length))) {\n\t\t\t\t\t$s = -1; return false;\n\t\t\t\t}\n\t\t\t\tif (!($clone(t$2.pkgPath, name).name() === $clone(v$2.pkgPath, name).name())) {\n\t\t\t\t\t$s = -1; return false;\n\t\t\t\t}\n\t\t\t\t_ref = t$2.fields;\n\t\t\t\t_i = 0;\n\t\t\t\t/* while (true) { */ case 32:\n\t\t\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 33; continue; }\n\t\t\t\t\ti$2 = _i;\n\t\t\t\t\ttf = (x = t$2.fields, ((i$2 < 0 || i$2 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + i$2]));\n\t\t\t\t\tvf = (x$1 = v$2.fields, ((i$2 < 0 || i$2 >= x$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$1.$array[x$1.$offset + i$2]));\n\t\t\t\t\tif (!($clone(tf.name, name).name() === $clone(vf.name, name).name())) {\n\t\t\t\t\t\t$s = -1; return false;\n\t\t\t\t\t}\n\t\t\t\t\t_r$8 = haveIdenticalType(tf.typ, vf.typ, cmpTags); /* */ $s = 36; case 36: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }\n\t\t\t\t\t/* */ if (!_r$8) { $s = 34; continue; }\n\t\t\t\t\t/* */ $s = 35; continue;\n\t\t\t\t\t/* if (!_r$8) { */ case 34:\n\t\t\t\t\t\t$s = -1; return false;\n\t\t\t\t\t/* } */ case 35:\n\t\t\t\t\tif (cmpTags && !($clone(tf.name, name).tag() === $clone(vf.name, name).tag())) {\n\t\t\t\t\t\t$s = -1; return false;\n\t\t\t\t\t}\n\t\t\t\t\tif (!((tf.offsetEmbed === vf.offsetEmbed))) {\n\t\t\t\t\t\t$s = -1; return false;\n\t\t\t\t\t}\n\t\t\t\t\t_i++;\n\t\t\t\t/* } */ $s = 32; continue; case 33:\n\t\t\t\t$s = -1; return true;\n\t\t\t/* } */ case 9:\n\t\tcase 1:\n\t\t$s = -1; return false;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: haveIdenticalUnderlyingType }; } $f.T = T; $f.V = V; $f._1 = _1; $f._i = _i; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._r$8 = _r$8; $f._ref = _ref; $f._v = _v; $f._v$1 = _v$1; $f._v$2 = _v$2; $f._v$3 = _v$3; $f.cmpTags = cmpTags; $f.i = i; $f.i$1 = i$1; $f.i$2 = i$2; $f.kind = kind; $f.t = t; $f.t$1 = t$1; $f.t$2 = t$2; $f.tf = tf; $f.v = v; $f.v$1 = v$1; $f.v$2 = v$2; $f.vf = vf; $f.x = x; $f.x$1 = x$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\ttoType = function(t) {\n\t\tvar t;\n\t\tif (t === ptrType$1.nil) {\n\t\t\treturn $ifaceNil;\n\t\t}\n\t\treturn t;\n\t};\n\tifaceIndir = function(t) {\n\t\tvar t;\n\t\treturn ((t.kind & 32) >>> 0) === 0;\n\t};\n\tflag.prototype.kind = function() {\n\t\tvar f;\n\t\tf = this.$val;\n\t\treturn ((((f & 31) >>> 0) >>> 0));\n\t};\n\t$ptrType(flag).prototype.kind = function() { return new flag(this.$get()).kind(); };\n\tflag.prototype.ro = function() {\n\t\tvar f;\n\t\tf = this.$val;\n\t\tif (!((((f & 96) >>> 0) === 0))) {\n\t\t\treturn 32;\n\t\t}\n\t\treturn 0;\n\t};\n\t$ptrType(flag).prototype.ro = function() { return new flag(this.$get()).ro(); };\n\tValue.ptr.prototype.pointer = function() {\n\t\tvar v;\n\t\tv = this;\n\t\tif (!((v.typ.size === 4)) || !v.typ.pointers()) {\n\t\t\t$panic(new $String(\"can't call pointer on a non-pointer Value\"));\n\t\t}\n\t\tif (!((((v.flag & 128) >>> 0) === 0))) {\n\t\t\treturn (v.ptr).$get();\n\t\t}\n\t\treturn v.ptr;\n\t};\n\tValue.prototype.pointer = function() { return this.$val.pointer(); };\n\tValueError.ptr.prototype.Error = function() {\n\t\tvar e;\n\t\te = this;\n\t\tif (e.Kind === 0) {\n\t\t\treturn \"reflect: call of \" + e.Method + \" on zero Value\";\n\t\t}\n\t\treturn \"reflect: call of \" + e.Method + \" on \" + new Kind(e.Kind).String() + \" Value\";\n\t};\n\tValueError.prototype.Error = function() { return this.$val.Error(); };\n\tflag.prototype.mustBe = function(expected) {\n\t\tvar expected, f;\n\t\tf = this.$val;\n\t\tif (!((new flag(f).kind() === expected))) {\n\t\t\t$panic(new ValueError.ptr(methodName(), new flag(f).kind()));\n\t\t}\n\t};\n\t$ptrType(flag).prototype.mustBe = function(expected) { return new flag(this.$get()).mustBe(expected); };\n\tflag.prototype.mustBeExported = function() {\n\t\tvar f;\n\t\tf = this.$val;\n\t\tif (f === 0) {\n\t\t\t$panic(new ValueError.ptr(methodName(), 0));\n\t\t}\n\t\tif (!((((f & 96) >>> 0) === 0))) {\n\t\t\t$panic(new $String(\"reflect: \" + methodName() + \" using value obtained using unexported field\"));\n\t\t}\n\t};\n\t$ptrType(flag).prototype.mustBeExported = function() { return new flag(this.$get()).mustBeExported(); };\n\tflag.prototype.mustBeAssignable = function() {\n\t\tvar f;\n\t\tf = this.$val;\n\t\tif (f === 0) {\n\t\t\t$panic(new ValueError.ptr(methodName(), 0));\n\t\t}\n\t\tif (!((((f & 96) >>> 0) === 0))) {\n\t\t\t$panic(new $String(\"reflect: \" + methodName() + \" using value obtained using unexported field\"));\n\t\t}\n\t\tif (((f & 256) >>> 0) === 0) {\n\t\t\t$panic(new $String(\"reflect: \" + methodName() + \" using unaddressable value\"));\n\t\t}\n\t};\n\t$ptrType(flag).prototype.mustBeAssignable = function() { return new flag(this.$get()).mustBeAssignable(); };\n\tValue.ptr.prototype.Addr = function() {\n\t\tvar v;\n\t\tv = this;\n\t\tif (((v.flag & 256) >>> 0) === 0) {\n\t\t\t$panic(new $String(\"reflect.Value.Addr of unaddressable value\"));\n\t\t}\n\t\treturn new Value.ptr(v.typ.ptrTo(), v.ptr, (new flag(v.flag).ro() | 22) >>> 0);\n\t};\n\tValue.prototype.Addr = function() { return this.$val.Addr(); };\n\tValue.ptr.prototype.Bool = function() {\n\t\tvar v;\n\t\tv = this;\n\t\tnew flag(v.flag).mustBe(1);\n\t\treturn (v.ptr).$get();\n\t};\n\tValue.prototype.Bool = function() { return this.$val.Bool(); };\n\tValue.ptr.prototype.Bytes = function() {\n\t\tvar _r, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tv = this;\n\t\tnew flag(v.flag).mustBe(23);\n\t\t_r = v.typ.Elem().Kind(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t/* */ if (!((_r === 8))) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!((_r === 8))) { */ case 1:\n\t\t\t$panic(new $String(\"reflect.Value.Bytes of non-byte slice\"));\n\t\t/* } */ case 2:\n\t\t$s = -1; return (v.ptr).$get();\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Bytes }; } $f._r = _r; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tValue.prototype.Bytes = function() { return this.$val.Bytes(); };\n\tValue.ptr.prototype.runes = function() {\n\t\tvar _r, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tv = this;\n\t\tnew flag(v.flag).mustBe(23);\n\t\t_r = v.typ.Elem().Kind(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t/* */ if (!((_r === 5))) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!((_r === 5))) { */ case 1:\n\t\t\t$panic(new $String(\"reflect.Value.Bytes of non-rune slice\"));\n\t\t/* } */ case 2:\n\t\t$s = -1; return (v.ptr).$get();\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.runes }; } $f._r = _r; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tValue.prototype.runes = function() { return this.$val.runes(); };\n\tValue.ptr.prototype.CanAddr = function() {\n\t\tvar v;\n\t\tv = this;\n\t\treturn !((((v.flag & 256) >>> 0) === 0));\n\t};\n\tValue.prototype.CanAddr = function() { return this.$val.CanAddr(); };\n\tValue.ptr.prototype.CanSet = function() {\n\t\tvar v;\n\t\tv = this;\n\t\treturn ((v.flag & 352) >>> 0) === 256;\n\t};\n\tValue.prototype.CanSet = function() { return this.$val.CanSet(); };\n\tValue.ptr.prototype.Call = function(in$1) {\n\t\tvar _r, in$1, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; in$1 = $f.in$1; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tv = this;\n\t\tnew flag(v.flag).mustBe(19);\n\t\tnew flag(v.flag).mustBeExported();\n\t\t_r = $clone(v, Value).call(\"Call\", in$1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Call }; } $f._r = _r; $f.in$1 = in$1; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tValue.prototype.Call = function(in$1) { return this.$val.Call(in$1); };\n\tValue.ptr.prototype.CallSlice = function(in$1) {\n\t\tvar _r, in$1, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; in$1 = $f.in$1; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tv = this;\n\t\tnew flag(v.flag).mustBe(19);\n\t\tnew flag(v.flag).mustBeExported();\n\t\t_r = $clone(v, Value).call(\"CallSlice\", in$1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.CallSlice }; } $f._r = _r; $f.in$1 = in$1; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tValue.prototype.CallSlice = function(in$1) { return this.$val.CallSlice(in$1); };\n\tValue.ptr.prototype.Complex = function() {\n\t\tvar _1, k, v, x;\n\t\tv = this;\n\t\tk = new flag(v.flag).kind();\n\t\t_1 = k;\n\t\tif (_1 === (15)) {\n\t\t\treturn ((x = (v.ptr).$get(), new $Complex128(x.$real, x.$imag)));\n\t\t} else if (_1 === (16)) {\n\t\t\treturn (v.ptr).$get();\n\t\t}\n\t\t$panic(new ValueError.ptr(\"reflect.Value.Complex\", new flag(v.flag).kind()));\n\t};\n\tValue.prototype.Complex = function() { return this.$val.Complex(); };\n\tValue.ptr.prototype.FieldByIndex = function(index) {\n\t\tvar _i, _r, _r$1, _r$2, _r$3, _ref, _v, i, index, v, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _ref = $f._ref; _v = $f._v; i = $f.i; index = $f.index; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tv = this;\n\t\t/* */ if (index.$length === 1) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (index.$length === 1) { */ case 1:\n\t\t\t_r = $clone(v, Value).Field((0 >= index.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : index.$array[index.$offset + 0])); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return _r;\n\t\t/* } */ case 2:\n\t\tnew flag(v.flag).mustBe(25);\n\t\t_ref = index;\n\t\t_i = 0;\n\t\t/* while (true) { */ case 4:\n\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 5; continue; }\n\t\t\ti = _i;\n\t\t\tx = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\t/* */ if (i > 0) { $s = 6; continue; }\n\t\t\t/* */ $s = 7; continue;\n\t\t\t/* if (i > 0) { */ case 6:\n\t\t\t\tif (!($clone(v, Value).Kind() === 22)) { _v = false; $s = 10; continue s; }\n\t\t\t\t_r$1 = v.typ.Elem().Kind(); /* */ $s = 11; case 11: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t_v = _r$1 === 25; case 10:\n\t\t\t\t/* */ if (_v) { $s = 8; continue; }\n\t\t\t\t/* */ $s = 9; continue;\n\t\t\t\t/* if (_v) { */ case 8:\n\t\t\t\t\tif ($clone(v, Value).IsNil()) {\n\t\t\t\t\t\t$panic(new $String(\"reflect: indirection through nil pointer to embedded struct\"));\n\t\t\t\t\t}\n\t\t\t\t\t_r$2 = $clone(v, Value).Elem(); /* */ $s = 12; case 12: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t\tv = _r$2;\n\t\t\t\t/* } */ case 9:\n\t\t\t/* } */ case 7:\n\t\t\t_r$3 = $clone(v, Value).Field(x); /* */ $s = 13; case 13: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\tv = _r$3;\n\t\t\t_i++;\n\t\t/* } */ $s = 4; continue; case 5:\n\t\t$s = -1; return v;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.FieldByIndex }; } $f._i = _i; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._ref = _ref; $f._v = _v; $f.i = i; $f.index = index; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tValue.prototype.FieldByIndex = function(index) { return this.$val.FieldByIndex(index); };\n\tValue.ptr.prototype.FieldByName = function(name$1) {\n\t\tvar _r, _r$1, _tuple, f, name$1, ok, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; f = $f.f; name$1 = $f.name$1; ok = $f.ok; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tv = this;\n\t\tnew flag(v.flag).mustBe(25);\n\t\t_r = v.typ.FieldByName(name$1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tf = $clone(_tuple[0], StructField);\n\t\tok = _tuple[1];\n\t\t/* */ if (ok) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (ok) { */ case 2:\n\t\t\t_r$1 = $clone(v, Value).FieldByIndex(f.Index); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return _r$1;\n\t\t/* } */ case 3:\n\t\t$s = -1; return new Value.ptr(ptrType$1.nil, 0, 0);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.FieldByName }; } $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f.f = f; $f.name$1 = name$1; $f.ok = ok; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tValue.prototype.FieldByName = function(name$1) { return this.$val.FieldByName(name$1); };\n\tValue.ptr.prototype.FieldByNameFunc = function(match) {\n\t\tvar _r, _r$1, _tuple, f, match, ok, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; f = $f.f; match = $f.match; ok = $f.ok; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tv = this;\n\t\t_r = v.typ.FieldByNameFunc(match); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tf = $clone(_tuple[0], StructField);\n\t\tok = _tuple[1];\n\t\t/* */ if (ok) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (ok) { */ case 2:\n\t\t\t_r$1 = $clone(v, Value).FieldByIndex(f.Index); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return _r$1;\n\t\t/* } */ case 3:\n\t\t$s = -1; return new Value.ptr(ptrType$1.nil, 0, 0);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.FieldByNameFunc }; } $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f.f = f; $f.match = match; $f.ok = ok; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tValue.prototype.FieldByNameFunc = function(match) { return this.$val.FieldByNameFunc(match); };\n\tValue.ptr.prototype.Float = function() {\n\t\tvar _1, k, v;\n\t\tv = this;\n\t\tk = new flag(v.flag).kind();\n\t\t_1 = k;\n\t\tif (_1 === (13)) {\n\t\t\treturn ((v.ptr).$get());\n\t\t} else if (_1 === (14)) {\n\t\t\treturn (v.ptr).$get();\n\t\t}\n\t\t$panic(new ValueError.ptr(\"reflect.Value.Float\", new flag(v.flag).kind()));\n\t};\n\tValue.prototype.Float = function() { return this.$val.Float(); };\n\tValue.ptr.prototype.Int = function() {\n\t\tvar _1, k, p, v;\n\t\tv = this;\n\t\tk = new flag(v.flag).kind();\n\t\tp = v.ptr;\n\t\t_1 = k;\n\t\tif (_1 === (2)) {\n\t\t\treturn (new $Int64(0, (p).$get()));\n\t\t} else if (_1 === (3)) {\n\t\t\treturn (new $Int64(0, (p).$get()));\n\t\t} else if (_1 === (4)) {\n\t\t\treturn (new $Int64(0, (p).$get()));\n\t\t} else if (_1 === (5)) {\n\t\t\treturn (new $Int64(0, (p).$get()));\n\t\t} else if (_1 === (6)) {\n\t\t\treturn (p).$get();\n\t\t}\n\t\t$panic(new ValueError.ptr(\"reflect.Value.Int\", new flag(v.flag).kind()));\n\t};\n\tValue.prototype.Int = function() { return this.$val.Int(); };\n\tValue.ptr.prototype.CanInterface = function() {\n\t\tvar v;\n\t\tv = this;\n\t\tif (v.flag === 0) {\n\t\t\t$panic(new ValueError.ptr(\"reflect.Value.CanInterface\", 0));\n\t\t}\n\t\treturn ((v.flag & 96) >>> 0) === 0;\n\t};\n\tValue.prototype.CanInterface = function() { return this.$val.CanInterface(); };\n\tValue.ptr.prototype.Interface = function() {\n\t\tvar _r, i, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; i = $f.i; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\ti = $ifaceNil;\n\t\tv = this;\n\t\t_r = valueInterface($clone(v, Value), true); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\ti = _r;\n\t\t$s = -1; return i;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Interface }; } $f._r = _r; $f.i = i; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tValue.prototype.Interface = function() { return this.$val.Interface(); };\n\tValue.ptr.prototype.IsValid = function() {\n\t\tvar v;\n\t\tv = this;\n\t\treturn !((v.flag === 0));\n\t};\n\tValue.prototype.IsValid = function() { return this.$val.IsValid(); };\n\tValue.ptr.prototype.Kind = function() {\n\t\tvar v;\n\t\tv = this;\n\t\treturn new flag(v.flag).kind();\n\t};\n\tValue.prototype.Kind = function() { return this.$val.Kind(); };\n\tValue.ptr.prototype.MapIndex = function(key) {\n\t\tvar _r, c, e, fl, k, key, tt, typ, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; c = $f.c; e = $f.e; fl = $f.fl; k = $f.k; key = $f.key; tt = $f.tt; typ = $f.typ; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tv = this;\n\t\tnew flag(v.flag).mustBe(21);\n\t\ttt = (v.typ.kindType);\n\t\t_r = $clone(key, Value).assignTo(\"reflect.Value.MapIndex\", tt.key, 0); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tkey = _r;\n\t\tk = 0;\n\t\tif (!((((key.flag & 128) >>> 0) === 0))) {\n\t\t\tk = key.ptr;\n\t\t} else {\n\t\t\tk = ((key.$ptr_ptr || (key.$ptr_ptr = new ptrType$16(function() { return this.$target.ptr; }, function($v) { this.$target.ptr = $v; }, key))));\n\t\t}\n\t\te = mapaccess(v.typ, $clone(v, Value).pointer(), k);\n\t\tif (e === 0) {\n\t\t\t$s = -1; return new Value.ptr(ptrType$1.nil, 0, 0);\n\t\t}\n\t\ttyp = tt.elem;\n\t\tfl = new flag((((v.flag | key.flag) >>> 0))).ro();\n\t\tfl = (fl | (((typ.Kind() >>> 0)))) >>> 0;\n\t\tif (!ifaceIndir(typ)) {\n\t\t\t$s = -1; return new Value.ptr(typ, (e).$get(), fl);\n\t\t}\n\t\tc = unsafe_New(typ);\n\t\ttypedmemmove(typ, c, e);\n\t\t$s = -1; return new Value.ptr(typ, c, (fl | 128) >>> 0);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.MapIndex }; } $f._r = _r; $f.c = c; $f.e = e; $f.fl = fl; $f.k = k; $f.key = key; $f.tt = tt; $f.typ = typ; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tValue.prototype.MapIndex = function(key) { return this.$val.MapIndex(key); };\n\tValue.ptr.prototype.MapKeys = function() {\n\t\tvar _r, a, c, fl, i, it, key, keyType, m, mlen, tt, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; a = $f.a; c = $f.c; fl = $f.fl; i = $f.i; it = $f.it; key = $f.key; keyType = $f.keyType; m = $f.m; mlen = $f.mlen; tt = $f.tt; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tv = this;\n\t\tnew flag(v.flag).mustBe(21);\n\t\ttt = (v.typ.kindType);\n\t\tkeyType = tt.key;\n\t\tfl = (new flag(v.flag).ro() | ((keyType.Kind() >>> 0))) >>> 0;\n\t\tm = $clone(v, Value).pointer();\n\t\tmlen = 0;\n\t\tif (!(m === 0)) {\n\t\t\tmlen = maplen(m);\n\t\t}\n\t\tit = mapiterinit(v.typ, m);\n\t\ta = $makeSlice(sliceType$9, mlen);\n\t\ti = 0;\n\t\ti = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(i < a.$length)) { break; } */ if(!(i < a.$length)) { $s = 2; continue; }\n\t\t\t_r = mapiterkey(it); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tkey = _r;\n\t\t\tif (key === 0) {\n\t\t\t\t/* break; */ $s = 2; continue;\n\t\t\t}\n\t\t\tif (ifaceIndir(keyType)) {\n\t\t\t\tc = unsafe_New(keyType);\n\t\t\t\ttypedmemmove(keyType, c, key);\n\t\t\t\t((i < 0 || i >= a.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : a.$array[a.$offset + i] = new Value.ptr(keyType, c, (fl | 128) >>> 0));\n\t\t\t} else {\n\t\t\t\t((i < 0 || i >= a.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : a.$array[a.$offset + i] = new Value.ptr(keyType, (key).$get(), fl));\n\t\t\t}\n\t\t\tmapiternext(it);\n\t\t\ti = i + (1) >> 0;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return $subslice(a, 0, i);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.MapKeys }; } $f._r = _r; $f.a = a; $f.c = c; $f.fl = fl; $f.i = i; $f.it = it; $f.key = key; $f.keyType = keyType; $f.m = m; $f.mlen = mlen; $f.tt = tt; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tValue.prototype.MapKeys = function() { return this.$val.MapKeys(); };\n\tValue.ptr.prototype.Method = function(i) {\n\t\tvar fl, i, v;\n\t\tv = this;\n\t\tif (v.typ === ptrType$1.nil) {\n\t\t\t$panic(new ValueError.ptr(\"reflect.Value.Method\", 0));\n\t\t}\n\t\tif (!((((v.flag & 512) >>> 0) === 0)) || ((i >>> 0)) >= ((v.typ.NumMethod() >>> 0))) {\n\t\t\t$panic(new $String(\"reflect: Method index out of range\"));\n\t\t}\n\t\tif ((v.typ.Kind() === 20) && $clone(v, Value).IsNil()) {\n\t\t\t$panic(new $String(\"reflect: Method on nil interface value\"));\n\t\t}\n\t\tfl = (v.flag & 160) >>> 0;\n\t\tfl = (fl | (19)) >>> 0;\n\t\tfl = (fl | ((((((i >>> 0)) << 10 >>> 0) | 512) >>> 0))) >>> 0;\n\t\treturn new Value.ptr(v.typ, v.ptr, fl);\n\t};\n\tValue.prototype.Method = function(i) { return this.$val.Method(i); };\n\tValue.ptr.prototype.NumMethod = function() {\n\t\tvar v;\n\t\tv = this;\n\t\tif (v.typ === ptrType$1.nil) {\n\t\t\t$panic(new ValueError.ptr(\"reflect.Value.NumMethod\", 0));\n\t\t}\n\t\tif (!((((v.flag & 512) >>> 0) === 0))) {\n\t\t\treturn 0;\n\t\t}\n\t\treturn v.typ.NumMethod();\n\t};\n\tValue.prototype.NumMethod = function() { return this.$val.NumMethod(); };\n\tValue.ptr.prototype.MethodByName = function(name$1) {\n\t\tvar _r, _tuple, m, name$1, ok, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; m = $f.m; name$1 = $f.name$1; ok = $f.ok; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tv = this;\n\t\tif (v.typ === ptrType$1.nil) {\n\t\t\t$panic(new ValueError.ptr(\"reflect.Value.MethodByName\", 0));\n\t\t}\n\t\tif (!((((v.flag & 512) >>> 0) === 0))) {\n\t\t\t$s = -1; return new Value.ptr(ptrType$1.nil, 0, 0);\n\t\t}\n\t\t_r = v.typ.MethodByName(name$1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tm = $clone(_tuple[0], Method);\n\t\tok = _tuple[1];\n\t\tif (!ok) {\n\t\t\t$s = -1; return new Value.ptr(ptrType$1.nil, 0, 0);\n\t\t}\n\t\t$s = -1; return $clone(v, Value).Method(m.Index);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.MethodByName }; } $f._r = _r; $f._tuple = _tuple; $f.m = m; $f.name$1 = name$1; $f.ok = ok; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tValue.prototype.MethodByName = function(name$1) { return this.$val.MethodByName(name$1); };\n\tValue.ptr.prototype.NumField = function() {\n\t\tvar tt, v;\n\t\tv = this;\n\t\tnew flag(v.flag).mustBe(25);\n\t\ttt = (v.typ.kindType);\n\t\treturn tt.fields.$length;\n\t};\n\tValue.prototype.NumField = function() { return this.$val.NumField(); };\n\tValue.ptr.prototype.OverflowComplex = function(x) {\n\t\tvar _1, k, v, x;\n\t\tv = this;\n\t\tk = new flag(v.flag).kind();\n\t\t_1 = k;\n\t\tif (_1 === (15)) {\n\t\t\treturn overflowFloat32(x.$real) || overflowFloat32(x.$imag);\n\t\t} else if (_1 === (16)) {\n\t\t\treturn false;\n\t\t}\n\t\t$panic(new ValueError.ptr(\"reflect.Value.OverflowComplex\", new flag(v.flag).kind()));\n\t};\n\tValue.prototype.OverflowComplex = function(x) { return this.$val.OverflowComplex(x); };\n\tValue.ptr.prototype.OverflowFloat = function(x) {\n\t\tvar _1, k, v, x;\n\t\tv = this;\n\t\tk = new flag(v.flag).kind();\n\t\t_1 = k;\n\t\tif (_1 === (13)) {\n\t\t\treturn overflowFloat32(x);\n\t\t} else if (_1 === (14)) {\n\t\t\treturn false;\n\t\t}\n\t\t$panic(new ValueError.ptr(\"reflect.Value.OverflowFloat\", new flag(v.flag).kind()));\n\t};\n\tValue.prototype.OverflowFloat = function(x) { return this.$val.OverflowFloat(x); };\n\toverflowFloat32 = function(x) {\n\t\tvar x;\n\t\tif (x < 0) {\n\t\t\tx = -x;\n\t\t}\n\t\treturn 3.4028234663852886e+38 < x && x <= 1.7976931348623157e+308;\n\t};\n\tValue.ptr.prototype.OverflowInt = function(x) {\n\t\tvar _1, bitSize, k, trunc, v, x;\n\t\tv = this;\n\t\tk = new flag(v.flag).kind();\n\t\t_1 = k;\n\t\tif ((_1 === (2)) || (_1 === (3)) || (_1 === (4)) || (_1 === (5)) || (_1 === (6))) {\n\t\t\tbitSize = $imul(v.typ.size, 8) >>> 0;\n\t\t\ttrunc = $shiftRightInt64(($shiftLeft64(x, ((64 - bitSize >>> 0)))), ((64 - bitSize >>> 0)));\n\t\t\treturn !((x.$high === trunc.$high && x.$low === trunc.$low));\n\t\t}\n\t\t$panic(new ValueError.ptr(\"reflect.Value.OverflowInt\", new flag(v.flag).kind()));\n\t};\n\tValue.prototype.OverflowInt = function(x) { return this.$val.OverflowInt(x); };\n\tValue.ptr.prototype.OverflowUint = function(x) {\n\t\tvar _1, bitSize, k, trunc, v, x;\n\t\tv = this;\n\t\tk = new flag(v.flag).kind();\n\t\t_1 = k;\n\t\tif ((_1 === (7)) || (_1 === (12)) || (_1 === (8)) || (_1 === (9)) || (_1 === (10)) || (_1 === (11))) {\n\t\t\tbitSize = $imul(v.typ.size, 8) >>> 0;\n\t\t\ttrunc = $shiftRightUint64(($shiftLeft64(x, ((64 - bitSize >>> 0)))), ((64 - bitSize >>> 0)));\n\t\t\treturn !((x.$high === trunc.$high && x.$low === trunc.$low));\n\t\t}\n\t\t$panic(new ValueError.ptr(\"reflect.Value.OverflowUint\", new flag(v.flag).kind()));\n\t};\n\tValue.prototype.OverflowUint = function(x) { return this.$val.OverflowUint(x); };\n\tValue.ptr.prototype.Recv = function() {\n\t\tvar _r, _tuple, ok, v, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; ok = $f.ok; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tx = new Value.ptr(ptrType$1.nil, 0, 0);\n\t\tok = false;\n\t\tv = this;\n\t\tnew flag(v.flag).mustBe(18);\n\t\tnew flag(v.flag).mustBeExported();\n\t\t_r = $clone(v, Value).recv(false); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tx = _tuple[0];\n\t\tok = _tuple[1];\n\t\t$s = -1; return [x, ok];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Recv }; } $f._r = _r; $f._tuple = _tuple; $f.ok = ok; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tValue.prototype.Recv = function() { return this.$val.Recv(); };\n\tValue.ptr.prototype.recv = function(nb) {\n\t\tvar _r, _tuple, nb, ok, p, selected, t, tt, v, val, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; nb = $f.nb; ok = $f.ok; p = $f.p; selected = $f.selected; t = $f.t; tt = $f.tt; v = $f.v; val = $f.val; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tval = new Value.ptr(ptrType$1.nil, 0, 0);\n\t\tok = false;\n\t\tv = this;\n\t\ttt = (v.typ.kindType);\n\t\tif ((((tt.dir >> 0)) & 1) === 0) {\n\t\t\t$panic(new $String(\"reflect: recv on send-only channel\"));\n\t\t}\n\t\tt = tt.elem;\n\t\tval = new Value.ptr(t, 0, ((t.Kind() >>> 0)));\n\t\tp = 0;\n\t\tif (ifaceIndir(t)) {\n\t\t\tp = unsafe_New(t);\n\t\t\tval.ptr = p;\n\t\t\tval.flag = (val.flag | (128)) >>> 0;\n\t\t} else {\n\t\t\tp = ((val.$ptr_ptr || (val.$ptr_ptr = new ptrType$16(function() { return this.$target.ptr; }, function($v) { this.$target.ptr = $v; }, val))));\n\t\t}\n\t\t_r = chanrecv($clone(v, Value).pointer(), nb, p); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tselected = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (!selected) {\n\t\t\tval = new Value.ptr(ptrType$1.nil, 0, 0);\n\t\t}\n\t\t$s = -1; return [val, ok];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.recv }; } $f._r = _r; $f._tuple = _tuple; $f.nb = nb; $f.ok = ok; $f.p = p; $f.selected = selected; $f.t = t; $f.tt = tt; $f.v = v; $f.val = val; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tValue.prototype.recv = function(nb) { return this.$val.recv(nb); };\n\tValue.ptr.prototype.Send = function(x) {\n\t\tvar _r, v, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tv = this;\n\t\tnew flag(v.flag).mustBe(18);\n\t\tnew flag(v.flag).mustBeExported();\n\t\t_r = $clone(v, Value).send($clone(x, Value), false); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r;\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Send }; } $f._r = _r; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tValue.prototype.Send = function(x) { return this.$val.Send(x); };\n\tValue.ptr.prototype.send = function(x, nb) {\n\t\tvar _r, _r$1, nb, p, selected, tt, v, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; nb = $f.nb; p = $f.p; selected = $f.selected; tt = $f.tt; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tselected = false;\n\t\tv = this;\n\t\ttt = (v.typ.kindType);\n\t\tif ((((tt.dir >> 0)) & 2) === 0) {\n\t\t\t$panic(new $String(\"reflect: send on recv-only channel\"));\n\t\t}\n\t\tnew flag(x.flag).mustBeExported();\n\t\t_r = $clone(x, Value).assignTo(\"reflect.Value.Send\", tt.elem, 0); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tx = _r;\n\t\tp = 0;\n\t\tif (!((((x.flag & 128) >>> 0) === 0))) {\n\t\t\tp = x.ptr;\n\t\t} else {\n\t\t\tp = ((x.$ptr_ptr || (x.$ptr_ptr = new ptrType$16(function() { return this.$target.ptr; }, function($v) { this.$target.ptr = $v; }, x))));\n\t\t}\n\t\t_r$1 = chansend($clone(v, Value).pointer(), p, nb); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tselected = _r$1;\n\t\t$s = -1; return selected;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.send }; } $f._r = _r; $f._r$1 = _r$1; $f.nb = nb; $f.p = p; $f.selected = selected; $f.tt = tt; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tValue.prototype.send = function(x, nb) { return this.$val.send(x, nb); };\n\tValue.ptr.prototype.SetBool = function(x) {\n\t\tvar v, x;\n\t\tv = this;\n\t\tnew flag(v.flag).mustBeAssignable();\n\t\tnew flag(v.flag).mustBe(1);\n\t\t(v.ptr).$set(x);\n\t};\n\tValue.prototype.SetBool = function(x) { return this.$val.SetBool(x); };\n\tValue.ptr.prototype.setRunes = function(x) {\n\t\tvar _r, v, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tv = this;\n\t\tnew flag(v.flag).mustBeAssignable();\n\t\tnew flag(v.flag).mustBe(23);\n\t\t_r = v.typ.Elem().Kind(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t/* */ if (!((_r === 5))) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!((_r === 5))) { */ case 1:\n\t\t\t$panic(new $String(\"reflect.Value.setRunes of non-rune slice\"));\n\t\t/* } */ case 2:\n\t\t(v.ptr).$set(x);\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.setRunes }; } $f._r = _r; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tValue.prototype.setRunes = function(x) { return this.$val.setRunes(x); };\n\tValue.ptr.prototype.SetComplex = function(x) {\n\t\tvar _1, k, v, x;\n\t\tv = this;\n\t\tnew flag(v.flag).mustBeAssignable();\n\t\tk = new flag(v.flag).kind();\n\t\t_1 = k;\n\t\tif (_1 === (15)) {\n\t\t\t(v.ptr).$set((new $Complex64(x.$real, x.$imag)));\n\t\t} else if (_1 === (16)) {\n\t\t\t(v.ptr).$set(x);\n\t\t} else {\n\t\t\t$panic(new ValueError.ptr(\"reflect.Value.SetComplex\", new flag(v.flag).kind()));\n\t\t}\n\t};\n\tValue.prototype.SetComplex = function(x) { return this.$val.SetComplex(x); };\n\tValue.ptr.prototype.SetFloat = function(x) {\n\t\tvar _1, k, v, x;\n\t\tv = this;\n\t\tnew flag(v.flag).mustBeAssignable();\n\t\tk = new flag(v.flag).kind();\n\t\t_1 = k;\n\t\tif (_1 === (13)) {\n\t\t\t(v.ptr).$set(($fround(x)));\n\t\t} else if (_1 === (14)) {\n\t\t\t(v.ptr).$set(x);\n\t\t} else {\n\t\t\t$panic(new ValueError.ptr(\"reflect.Value.SetFloat\", new flag(v.flag).kind()));\n\t\t}\n\t};\n\tValue.prototype.SetFloat = function(x) { return this.$val.SetFloat(x); };\n\tValue.ptr.prototype.SetInt = function(x) {\n\t\tvar _1, k, v, x;\n\t\tv = this;\n\t\tnew flag(v.flag).mustBeAssignable();\n\t\tk = new flag(v.flag).kind();\n\t\t_1 = k;\n\t\tif (_1 === (2)) {\n\t\t\t(v.ptr).$set((((x.$low + ((x.$high >> 31) * 4294967296)) >> 0)));\n\t\t} else if (_1 === (3)) {\n\t\t\t(v.ptr).$set((((x.$low + ((x.$high >> 31) * 4294967296)) << 24 >> 24)));\n\t\t} else if (_1 === (4)) {\n\t\t\t(v.ptr).$set((((x.$low + ((x.$high >> 31) * 4294967296)) << 16 >> 16)));\n\t\t} else if (_1 === (5)) {\n\t\t\t(v.ptr).$set((((x.$low + ((x.$high >> 31) * 4294967296)) >> 0)));\n\t\t} else if (_1 === (6)) {\n\t\t\t(v.ptr).$set(x);\n\t\t} else {\n\t\t\t$panic(new ValueError.ptr(\"reflect.Value.SetInt\", new flag(v.flag).kind()));\n\t\t}\n\t};\n\tValue.prototype.SetInt = function(x) { return this.$val.SetInt(x); };\n\tValue.ptr.prototype.SetMapIndex = function(key, val) {\n\t\tvar _r, _r$1, e, k, key, tt, v, val, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; e = $f.e; k = $f.k; key = $f.key; tt = $f.tt; v = $f.v; val = $f.val; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tv = this;\n\t\tnew flag(v.flag).mustBe(21);\n\t\tnew flag(v.flag).mustBeExported();\n\t\tnew flag(key.flag).mustBeExported();\n\t\ttt = (v.typ.kindType);\n\t\t_r = $clone(key, Value).assignTo(\"reflect.Value.SetMapIndex\", tt.key, 0); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tkey = _r;\n\t\tk = 0;\n\t\tif (!((((key.flag & 128) >>> 0) === 0))) {\n\t\t\tk = key.ptr;\n\t\t} else {\n\t\t\tk = ((key.$ptr_ptr || (key.$ptr_ptr = new ptrType$16(function() { return this.$target.ptr; }, function($v) { this.$target.ptr = $v; }, key))));\n\t\t}\n\t\tif (val.typ === ptrType$1.nil) {\n\t\t\tmapdelete(v.typ, $clone(v, Value).pointer(), k);\n\t\t\t$s = -1; return;\n\t\t}\n\t\tnew flag(val.flag).mustBeExported();\n\t\t_r$1 = $clone(val, Value).assignTo(\"reflect.Value.SetMapIndex\", tt.elem, 0); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tval = _r$1;\n\t\te = 0;\n\t\tif (!((((val.flag & 128) >>> 0) === 0))) {\n\t\t\te = val.ptr;\n\t\t} else {\n\t\t\te = ((val.$ptr_ptr || (val.$ptr_ptr = new ptrType$16(function() { return this.$target.ptr; }, function($v) { this.$target.ptr = $v; }, val))));\n\t\t}\n\t\t$r = mapassign(v.typ, $clone(v, Value).pointer(), k, e); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.SetMapIndex }; } $f._r = _r; $f._r$1 = _r$1; $f.e = e; $f.k = k; $f.key = key; $f.tt = tt; $f.v = v; $f.val = val; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tValue.prototype.SetMapIndex = function(key, val) { return this.$val.SetMapIndex(key, val); };\n\tValue.ptr.prototype.SetUint = function(x) {\n\t\tvar _1, k, v, x;\n\t\tv = this;\n\t\tnew flag(v.flag).mustBeAssignable();\n\t\tk = new flag(v.flag).kind();\n\t\t_1 = k;\n\t\tif (_1 === (7)) {\n\t\t\t(v.ptr).$set(((x.$low >>> 0)));\n\t\t} else if (_1 === (8)) {\n\t\t\t(v.ptr).$set(((x.$low << 24 >>> 24)));\n\t\t} else if (_1 === (9)) {\n\t\t\t(v.ptr).$set(((x.$low << 16 >>> 16)));\n\t\t} else if (_1 === (10)) {\n\t\t\t(v.ptr).$set(((x.$low >>> 0)));\n\t\t} else if (_1 === (11)) {\n\t\t\t(v.ptr).$set(x);\n\t\t} else if (_1 === (12)) {\n\t\t\t(v.ptr).$set(((x.$low >>> 0)));\n\t\t} else {\n\t\t\t$panic(new ValueError.ptr(\"reflect.Value.SetUint\", new flag(v.flag).kind()));\n\t\t}\n\t};\n\tValue.prototype.SetUint = function(x) { return this.$val.SetUint(x); };\n\tValue.ptr.prototype.SetPointer = function(x) {\n\t\tvar v, x;\n\t\tv = this;\n\t\tnew flag(v.flag).mustBeAssignable();\n\t\tnew flag(v.flag).mustBe(26);\n\t\t(v.ptr).$set(x);\n\t};\n\tValue.prototype.SetPointer = function(x) { return this.$val.SetPointer(x); };\n\tValue.ptr.prototype.SetString = function(x) {\n\t\tvar v, x;\n\t\tv = this;\n\t\tnew flag(v.flag).mustBeAssignable();\n\t\tnew flag(v.flag).mustBe(24);\n\t\t(v.ptr).$set(x);\n\t};\n\tValue.prototype.SetString = function(x) { return this.$val.SetString(x); };\n\tValue.ptr.prototype.String = function() {\n\t\tvar _1, _r, k, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; k = $f.k; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tv = this;\n\t\tk = new flag(v.flag).kind();\n\t\t_1 = k;\n\t\tif (_1 === (0)) {\n\t\t\t$s = -1; return \"<invalid Value>\";\n\t\t} else if (_1 === (24)) {\n\t\t\t$s = -1; return (v.ptr).$get();\n\t\t}\n\t\t_r = $clone(v, Value).Type().String(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return \"<\" + _r + \" Value>\";\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.String }; } $f._1 = _1; $f._r = _r; $f.k = k; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tValue.prototype.String = function() { return this.$val.String(); };\n\tValue.ptr.prototype.TryRecv = function() {\n\t\tvar _r, _tuple, ok, v, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; ok = $f.ok; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tx = new Value.ptr(ptrType$1.nil, 0, 0);\n\t\tok = false;\n\t\tv = this;\n\t\tnew flag(v.flag).mustBe(18);\n\t\tnew flag(v.flag).mustBeExported();\n\t\t_r = $clone(v, Value).recv(true); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tx = _tuple[0];\n\t\tok = _tuple[1];\n\t\t$s = -1; return [x, ok];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.TryRecv }; } $f._r = _r; $f._tuple = _tuple; $f.ok = ok; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tValue.prototype.TryRecv = function() { return this.$val.TryRecv(); };\n\tValue.ptr.prototype.TrySend = function(x) {\n\t\tvar _r, v, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tv = this;\n\t\tnew flag(v.flag).mustBe(18);\n\t\tnew flag(v.flag).mustBeExported();\n\t\t_r = $clone(v, Value).send($clone(x, Value), true); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.TrySend }; } $f._r = _r; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tValue.prototype.TrySend = function(x) { return this.$val.TrySend(x); };\n\tValue.ptr.prototype.Type = function() {\n\t\tvar f, i, m, m$1, ms, tt, v, x;\n\t\tv = this;\n\t\tf = v.flag;\n\t\tif (f === 0) {\n\t\t\t$panic(new ValueError.ptr(\"reflect.Value.Type\", 0));\n\t\t}\n\t\tif (((f & 512) >>> 0) === 0) {\n\t\t\treturn v.typ;\n\t\t}\n\t\ti = ((v.flag >> 0)) >> 10 >> 0;\n\t\tif (v.typ.Kind() === 20) {\n\t\t\ttt = (v.typ.kindType);\n\t\t\tif (((i >>> 0)) >= ((tt.methods.$length >>> 0))) {\n\t\t\t\t$panic(new $String(\"reflect: internal error: invalid method index\"));\n\t\t\t}\n\t\t\tm = (x = tt.methods, ((i < 0 || i >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + i]));\n\t\t\treturn v.typ.typeOff(m.typ);\n\t\t}\n\t\tms = v.typ.exportedMethods();\n\t\tif (((i >>> 0)) >= ((ms.$length >>> 0))) {\n\t\t\t$panic(new $String(\"reflect: internal error: invalid method index\"));\n\t\t}\n\t\tm$1 = $clone(((i < 0 || i >= ms.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : ms.$array[ms.$offset + i]), method);\n\t\treturn v.typ.typeOff(m$1.mtyp);\n\t};\n\tValue.prototype.Type = function() { return this.$val.Type(); };\n\tValue.ptr.prototype.Uint = function() {\n\t\tvar _1, k, p, v, x;\n\t\tv = this;\n\t\tk = new flag(v.flag).kind();\n\t\tp = v.ptr;\n\t\t_1 = k;\n\t\tif (_1 === (7)) {\n\t\t\treturn (new $Uint64(0, (p).$get()));\n\t\t} else if (_1 === (8)) {\n\t\t\treturn (new $Uint64(0, (p).$get()));\n\t\t} else if (_1 === (9)) {\n\t\t\treturn (new $Uint64(0, (p).$get()));\n\t\t} else if (_1 === (10)) {\n\t\t\treturn (new $Uint64(0, (p).$get()));\n\t\t} else if (_1 === (11)) {\n\t\t\treturn (p).$get();\n\t\t} else if (_1 === (12)) {\n\t\t\treturn ((x = (p).$get(), new $Uint64(0, x.constructor === Number ? x : 1)));\n\t\t}\n\t\t$panic(new ValueError.ptr(\"reflect.Value.Uint\", new flag(v.flag).kind()));\n\t};\n\tValue.prototype.Uint = function() { return this.$val.Uint(); };\n\tValue.ptr.prototype.UnsafeAddr = function() {\n\t\tvar v;\n\t\tv = this;\n\t\tif (v.typ === ptrType$1.nil) {\n\t\t\t$panic(new ValueError.ptr(\"reflect.Value.UnsafeAddr\", 0));\n\t\t}\n\t\tif (((v.flag & 256) >>> 0) === 0) {\n\t\t\t$panic(new $String(\"reflect.Value.UnsafeAddr of unaddressable value\"));\n\t\t}\n\t\treturn (v.ptr);\n\t};\n\tValue.prototype.UnsafeAddr = function() { return this.$val.UnsafeAddr(); };\n\tNew = function(typ) {\n\t\tvar fl, ptr, t, typ;\n\t\tif ($interfaceIsEqual(typ, $ifaceNil)) {\n\t\t\t$panic(new $String(\"reflect: New(nil)\"));\n\t\t}\n\t\tt = $assertType(typ, ptrType$1);\n\t\tptr = unsafe_New(t);\n\t\tfl = 22;\n\t\treturn new Value.ptr(t.ptrTo(), ptr, fl);\n\t};\n\t$pkg.New = New;\n\tValue.ptr.prototype.Convert = function(t) {\n\t\tvar _r, _r$1, _r$2, _r$3, _r$4, op, t, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; op = $f.op; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tv = this;\n\t\t/* */ if (!((((v.flag & 512) >>> 0) === 0))) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!((((v.flag & 512) >>> 0) === 0))) { */ case 1:\n\t\t\t_r = makeMethodValue(\"Convert\", $clone(v, Value)); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tv = _r;\n\t\t/* } */ case 2:\n\t\t_r$1 = t.common(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_r$2 = convertOp(_r$1, v.typ); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\top = _r$2;\n\t\t/* */ if (op === $throwNilPointerError) { $s = 6; continue; }\n\t\t/* */ $s = 7; continue;\n\t\t/* if (op === $throwNilPointerError) { */ case 6:\n\t\t\t_r$3 = t.String(); /* */ $s = 8; case 8: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t$panic(new $String(\"reflect.Value.Convert: value of type \" + v.typ.String() + \" cannot be converted to type \" + _r$3));\n\t\t/* } */ case 7:\n\t\t_r$4 = op($clone(v, Value), t); /* */ $s = 9; case 9: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r$4;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Convert }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f.op = op; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tValue.prototype.Convert = function(t) { return this.$val.Convert(t); };\n\tconvertOp = function(dst, src) {\n\t\tvar _1, _2, _3, _4, _5, _6, _7, _arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _v, _v$1, _v$2, dst, src, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _2 = $f._2; _3 = $f._3; _4 = $f._4; _5 = $f._5; _6 = $f._6; _7 = $f._7; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _v = $f._v; _v$1 = $f._v$1; _v$2 = $f._v$2; dst = $f.dst; src = $f.src; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t\t_1 = src.Kind();\n\t\t\t/* */ if ((_1 === (2)) || (_1 === (3)) || (_1 === (4)) || (_1 === (5)) || (_1 === (6))) { $s = 2; continue; }\n\t\t\t/* */ if ((_1 === (7)) || (_1 === (8)) || (_1 === (9)) || (_1 === (10)) || (_1 === (11)) || (_1 === (12))) { $s = 3; continue; }\n\t\t\t/* */ if ((_1 === (13)) || (_1 === (14))) { $s = 4; continue; }\n\t\t\t/* */ if ((_1 === (15)) || (_1 === (16))) { $s = 5; continue; }\n\t\t\t/* */ if (_1 === (24)) { $s = 6; continue; }\n\t\t\t/* */ if (_1 === (23)) { $s = 7; continue; }\n\t\t\t/* */ $s = 8; continue;\n\t\t\t/* if ((_1 === (2)) || (_1 === (3)) || (_1 === (4)) || (_1 === (5)) || (_1 === (6))) { */ case 2:\n\t\t\t\t_2 = dst.Kind();\n\t\t\t\tif ((_2 === (2)) || (_2 === (3)) || (_2 === (4)) || (_2 === (5)) || (_2 === (6)) || (_2 === (7)) || (_2 === (8)) || (_2 === (9)) || (_2 === (10)) || (_2 === (11)) || (_2 === (12))) {\n\t\t\t\t\t$s = -1; return cvtInt;\n\t\t\t\t} else if ((_2 === (13)) || (_2 === (14))) {\n\t\t\t\t\t$s = -1; return cvtIntFloat;\n\t\t\t\t} else if (_2 === (24)) {\n\t\t\t\t\t$s = -1; return cvtIntString;\n\t\t\t\t}\n\t\t\t\t$s = 8; continue;\n\t\t\t/* } else if ((_1 === (7)) || (_1 === (8)) || (_1 === (9)) || (_1 === (10)) || (_1 === (11)) || (_1 === (12))) { */ case 3:\n\t\t\t\t_3 = dst.Kind();\n\t\t\t\tif ((_3 === (2)) || (_3 === (3)) || (_3 === (4)) || (_3 === (5)) || (_3 === (6)) || (_3 === (7)) || (_3 === (8)) || (_3 === (9)) || (_3 === (10)) || (_3 === (11)) || (_3 === (12))) {\n\t\t\t\t\t$s = -1; return cvtUint;\n\t\t\t\t} else if ((_3 === (13)) || (_3 === (14))) {\n\t\t\t\t\t$s = -1; return cvtUintFloat;\n\t\t\t\t} else if (_3 === (24)) {\n\t\t\t\t\t$s = -1; return cvtUintString;\n\t\t\t\t}\n\t\t\t\t$s = 8; continue;\n\t\t\t/* } else if ((_1 === (13)) || (_1 === (14))) { */ case 4:\n\t\t\t\t_4 = dst.Kind();\n\t\t\t\tif ((_4 === (2)) || (_4 === (3)) || (_4 === (4)) || (_4 === (5)) || (_4 === (6))) {\n\t\t\t\t\t$s = -1; return cvtFloatInt;\n\t\t\t\t} else if ((_4 === (7)) || (_4 === (8)) || (_4 === (9)) || (_4 === (10)) || (_4 === (11)) || (_4 === (12))) {\n\t\t\t\t\t$s = -1; return cvtFloatUint;\n\t\t\t\t} else if ((_4 === (13)) || (_4 === (14))) {\n\t\t\t\t\t$s = -1; return cvtFloat;\n\t\t\t\t}\n\t\t\t\t$s = 8; continue;\n\t\t\t/* } else if ((_1 === (15)) || (_1 === (16))) { */ case 5:\n\t\t\t\t_5 = dst.Kind();\n\t\t\t\tif ((_5 === (15)) || (_5 === (16))) {\n\t\t\t\t\t$s = -1; return cvtComplex;\n\t\t\t\t}\n\t\t\t\t$s = 8; continue;\n\t\t\t/* } else if (_1 === (24)) { */ case 6:\n\t\t\t\tif (!(dst.Kind() === 23)) { _v = false; $s = 11; continue s; }\n\t\t\t\t_r = dst.Elem().PkgPath(); /* */ $s = 12; case 12: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t_v = _r === \"\"; case 11:\n\t\t\t\t/* */ if (_v) { $s = 9; continue; }\n\t\t\t\t/* */ $s = 10; continue;\n\t\t\t\t/* if (_v) { */ case 9:\n\t\t\t\t\t\t_r$1 = dst.Elem().Kind(); /* */ $s = 14; case 14: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t\t\t_6 = _r$1;\n\t\t\t\t\t\tif (_6 === (8)) {\n\t\t\t\t\t\t\t$s = -1; return cvtStringBytes;\n\t\t\t\t\t\t} else if (_6 === (5)) {\n\t\t\t\t\t\t\t$s = -1; return cvtStringRunes;\n\t\t\t\t\t\t}\n\t\t\t\t\tcase 13:\n\t\t\t\t/* } */ case 10:\n\t\t\t\t$s = 8; continue;\n\t\t\t/* } else if (_1 === (23)) { */ case 7:\n\t\t\t\tif (!(dst.Kind() === 24)) { _v$1 = false; $s = 17; continue s; }\n\t\t\t\t_r$2 = src.Elem().PkgPath(); /* */ $s = 18; case 18: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t_v$1 = _r$2 === \"\"; case 17:\n\t\t\t\t/* */ if (_v$1) { $s = 15; continue; }\n\t\t\t\t/* */ $s = 16; continue;\n\t\t\t\t/* if (_v$1) { */ case 15:\n\t\t\t\t\t\t_r$3 = src.Elem().Kind(); /* */ $s = 20; case 20: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t\t\t_7 = _r$3;\n\t\t\t\t\t\tif (_7 === (8)) {\n\t\t\t\t\t\t\t$s = -1; return cvtBytesString;\n\t\t\t\t\t\t} else if (_7 === (5)) {\n\t\t\t\t\t\t\t$s = -1; return cvtRunesString;\n\t\t\t\t\t\t}\n\t\t\t\t\tcase 19:\n\t\t\t\t/* } */ case 16:\n\t\t\t/* } */ case 8:\n\t\tcase 1:\n\t\t_r$4 = haveIdenticalUnderlyingType(dst, src, false); /* */ $s = 23; case 23: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t/* */ if (_r$4) { $s = 21; continue; }\n\t\t/* */ $s = 22; continue;\n\t\t/* if (_r$4) { */ case 21:\n\t\t\t$s = -1; return cvtDirect;\n\t\t/* } */ case 22:\n\t\tif (!((dst.Kind() === 22) && dst.Name() === \"\" && (src.Kind() === 22) && src.Name() === \"\")) { _v$2 = false; $s = 26; continue s; }\n\t\t_r$5 = dst.Elem().common(); /* */ $s = 27; case 27: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t_arg = _r$5;\n\t\t_r$6 = src.Elem().common(); /* */ $s = 28; case 28: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t_arg$1 = _r$6;\n\t\t_r$7 = haveIdenticalUnderlyingType(_arg, _arg$1, false); /* */ $s = 29; case 29: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }\n\t\t_v$2 = _r$7; case 26:\n\t\t/* */ if (_v$2) { $s = 24; continue; }\n\t\t/* */ $s = 25; continue;\n\t\t/* if (_v$2) { */ case 24:\n\t\t\t$s = -1; return cvtDirect;\n\t\t/* } */ case 25:\n\t\tif (implements$1(dst, src)) {\n\t\t\tif (src.Kind() === 20) {\n\t\t\t\t$s = -1; return cvtI2I;\n\t\t\t}\n\t\t\t$s = -1; return cvtT2I;\n\t\t}\n\t\t$s = -1; return $throwNilPointerError;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: convertOp }; } $f._1 = _1; $f._2 = _2; $f._3 = _3; $f._4 = _4; $f._5 = _5; $f._6 = _6; $f._7 = _7; $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._v = _v; $f._v$1 = _v$1; $f._v$2 = _v$2; $f.dst = dst; $f.src = src; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmakeFloat = function(f, v, t) {\n\t\tvar _1, _r, f, ptr, t, typ, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; f = $f.f; ptr = $f.ptr; t = $f.t; typ = $f.typ; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = t.common(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\ttyp = _r;\n\t\tptr = unsafe_New(typ);\n\t\t_1 = typ.size;\n\t\tif (_1 === (4)) {\n\t\t\t(ptr).$set(($fround(v)));\n\t\t} else if (_1 === (8)) {\n\t\t\t(ptr).$set(v);\n\t\t}\n\t\t$s = -1; return new Value.ptr(typ, ptr, (((f | 128) >>> 0) | ((typ.Kind() >>> 0))) >>> 0);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: makeFloat }; } $f._1 = _1; $f._r = _r; $f.f = f; $f.ptr = ptr; $f.t = t; $f.typ = typ; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmakeComplex = function(f, v, t) {\n\t\tvar _1, _r, f, ptr, t, typ, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; f = $f.f; ptr = $f.ptr; t = $f.t; typ = $f.typ; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = t.common(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\ttyp = _r;\n\t\tptr = unsafe_New(typ);\n\t\t_1 = typ.size;\n\t\tif (_1 === (8)) {\n\t\t\t(ptr).$set((new $Complex64(v.$real, v.$imag)));\n\t\t} else if (_1 === (16)) {\n\t\t\t(ptr).$set(v);\n\t\t}\n\t\t$s = -1; return new Value.ptr(typ, ptr, (((f | 128) >>> 0) | ((typ.Kind() >>> 0))) >>> 0);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: makeComplex }; } $f._1 = _1; $f._r = _r; $f.f = f; $f.ptr = ptr; $f.t = t; $f.typ = typ; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmakeString = function(f, v, t) {\n\t\tvar _r, f, ret, t, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; f = $f.f; ret = $f.ret; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = $clone(New(t), Value).Elem(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tret = _r;\n\t\t$clone(ret, Value).SetString(v);\n\t\tret.flag = (((ret.flag & ~256) >>> 0) | f) >>> 0;\n\t\t$s = -1; return ret;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: makeString }; } $f._r = _r; $f.f = f; $f.ret = ret; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmakeBytes = function(f, v, t) {\n\t\tvar _r, f, ret, t, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; f = $f.f; ret = $f.ret; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = $clone(New(t), Value).Elem(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tret = _r;\n\t\t$r = $clone(ret, Value).SetBytes(v); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tret.flag = (((ret.flag & ~256) >>> 0) | f) >>> 0;\n\t\t$s = -1; return ret;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: makeBytes }; } $f._r = _r; $f.f = f; $f.ret = ret; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmakeRunes = function(f, v, t) {\n\t\tvar _r, f, ret, t, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; f = $f.f; ret = $f.ret; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = $clone(New(t), Value).Elem(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tret = _r;\n\t\t$r = $clone(ret, Value).setRunes(v); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tret.flag = (((ret.flag & ~256) >>> 0) | f) >>> 0;\n\t\t$s = -1; return ret;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: makeRunes }; } $f._r = _r; $f.f = f; $f.ret = ret; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcvtInt = function(v, t) {\n\t\tvar _r, t, v, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = makeInt(new flag(v.flag).ro(), ((x = $clone(v, Value).Int(), new $Uint64(x.$high, x.$low))), t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: cvtInt }; } $f._r = _r; $f.t = t; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcvtUint = function(v, t) {\n\t\tvar _r, t, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = makeInt(new flag(v.flag).ro(), $clone(v, Value).Uint(), t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: cvtUint }; } $f._r = _r; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcvtFloatInt = function(v, t) {\n\t\tvar _r, t, v, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = makeInt(new flag(v.flag).ro(), ((x = (new $Int64(0, $clone(v, Value).Float())), new $Uint64(x.$high, x.$low))), t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: cvtFloatInt }; } $f._r = _r; $f.t = t; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcvtFloatUint = function(v, t) {\n\t\tvar _r, t, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = makeInt(new flag(v.flag).ro(), (new $Uint64(0, $clone(v, Value).Float())), t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: cvtFloatUint }; } $f._r = _r; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcvtIntFloat = function(v, t) {\n\t\tvar _r, t, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = makeFloat(new flag(v.flag).ro(), ($flatten64($clone(v, Value).Int())), t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: cvtIntFloat }; } $f._r = _r; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcvtUintFloat = function(v, t) {\n\t\tvar _r, t, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = makeFloat(new flag(v.flag).ro(), ($flatten64($clone(v, Value).Uint())), t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: cvtUintFloat }; } $f._r = _r; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcvtFloat = function(v, t) {\n\t\tvar _r, t, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = makeFloat(new flag(v.flag).ro(), $clone(v, Value).Float(), t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: cvtFloat }; } $f._r = _r; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcvtComplex = function(v, t) {\n\t\tvar _r, t, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = makeComplex(new flag(v.flag).ro(), $clone(v, Value).Complex(), t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: cvtComplex }; } $f._r = _r; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcvtIntString = function(v, t) {\n\t\tvar _r, t, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = makeString(new flag(v.flag).ro(), ($encodeRune($clone(v, Value).Int().$low)), t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: cvtIntString }; } $f._r = _r; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcvtUintString = function(v, t) {\n\t\tvar _r, t, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = makeString(new flag(v.flag).ro(), ($encodeRune($clone(v, Value).Uint().$low)), t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: cvtUintString }; } $f._r = _r; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcvtBytesString = function(v, t) {\n\t\tvar _arg, _arg$1, _arg$2, _r, _r$1, t, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _r = $f._r; _r$1 = $f._r$1; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_arg = new flag(v.flag).ro();\n\t\t_r = $clone(v, Value).Bytes(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_arg$1 = ($bytesToString(_r));\n\t\t_arg$2 = t;\n\t\t_r$1 = makeString(_arg, _arg$1, _arg$2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r$1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: cvtBytesString }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._r = _r; $f._r$1 = _r$1; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcvtStringBytes = function(v, t) {\n\t\tvar _arg, _arg$1, _arg$2, _r, _r$1, t, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _r = $f._r; _r$1 = $f._r$1; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_arg = new flag(v.flag).ro();\n\t\t_r = $clone(v, Value).String(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_arg$1 = (new sliceType$15($stringToBytes(_r)));\n\t\t_arg$2 = t;\n\t\t_r$1 = makeBytes(_arg, _arg$1, _arg$2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r$1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: cvtStringBytes }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._r = _r; $f._r$1 = _r$1; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcvtRunesString = function(v, t) {\n\t\tvar _arg, _arg$1, _arg$2, _r, _r$1, t, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _r = $f._r; _r$1 = $f._r$1; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_arg = new flag(v.flag).ro();\n\t\t_r = $clone(v, Value).runes(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_arg$1 = ($runesToString(_r));\n\t\t_arg$2 = t;\n\t\t_r$1 = makeString(_arg, _arg$1, _arg$2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r$1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: cvtRunesString }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._r = _r; $f._r$1 = _r$1; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcvtStringRunes = function(v, t) {\n\t\tvar _arg, _arg$1, _arg$2, _r, _r$1, t, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _r = $f._r; _r$1 = $f._r$1; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_arg = new flag(v.flag).ro();\n\t\t_r = $clone(v, Value).String(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_arg$1 = (new sliceType$17($stringToRunes(_r)));\n\t\t_arg$2 = t;\n\t\t_r$1 = makeRunes(_arg, _arg$1, _arg$2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r$1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: cvtStringRunes }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._r = _r; $f._r$1 = _r$1; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcvtT2I = function(v, typ) {\n\t\tvar _r, _r$1, _r$2, _r$3, _r$4, target, typ, v, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; target = $f.target; typ = $f.typ; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = typ.common(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = unsafe_New(_r); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\ttarget = _r$1;\n\t\t_r$2 = valueInterface($clone(v, Value), false); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\tx = _r$2;\n\t\t_r$3 = typ.NumMethod(); /* */ $s = 7; case 7: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t/* */ if (_r$3 === 0) { $s = 4; continue; }\n\t\t/* */ $s = 5; continue;\n\t\t/* if (_r$3 === 0) { */ case 4:\n\t\t\t(target).$set(x);\n\t\t\t$s = 6; continue;\n\t\t/* } else { */ case 5:\n\t\t\tifaceE2I($assertType(typ, ptrType$1), x, target);\n\t\t/* } */ case 6:\n\t\t_r$4 = typ.common(); /* */ $s = 8; case 8: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t$s = -1; return new Value.ptr(_r$4, target, (((new flag(v.flag).ro() | 128) >>> 0) | 20) >>> 0);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: cvtT2I }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f.target = target; $f.typ = typ; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcvtI2I = function(v, typ) {\n\t\tvar _r, _r$1, _r$2, ret, typ, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; ret = $f.ret; typ = $f.typ; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t/* */ if ($clone(v, Value).IsNil()) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if ($clone(v, Value).IsNil()) { */ case 1:\n\t\t\t_r = Zero(typ); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tret = _r;\n\t\t\tret.flag = (ret.flag | (new flag(v.flag).ro())) >>> 0;\n\t\t\t$s = -1; return ret;\n\t\t/* } */ case 2:\n\t\t_r$1 = $clone(v, Value).Elem(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_r$2 = cvtT2I($clone(_r$1, Value), typ); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r$2;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: cvtI2I }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.ret = ret; $f.typ = typ; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tptrType$5.methods = [{prop: \"methods\", name: \"methods\", pkg: \"reflect\", typ: $funcType([], [sliceType$5], false)}, {prop: \"exportedMethods\", name: \"exportedMethods\", pkg: \"reflect\", typ: $funcType([], [sliceType$5], false)}];\n\tptrType$7.methods = [{prop: \"in$\", name: \"in\", pkg: \"reflect\", typ: $funcType([], [sliceType$2], false)}, {prop: \"out\", name: \"out\", pkg: \"reflect\", typ: $funcType([], [sliceType$2], false)}];\n\tname.methods = [{prop: \"name\", name: \"name\", pkg: \"reflect\", typ: $funcType([], [$String], false)}, {prop: \"tag\", name: \"tag\", pkg: \"reflect\", typ: $funcType([], [$String], false)}, {prop: \"pkgPath\", name: \"pkgPath\", pkg: \"reflect\", typ: $funcType([], [$String], false)}, {prop: \"isExported\", name: \"isExported\", pkg: \"reflect\", typ: $funcType([], [$Bool], false)}, {prop: \"data\", name: \"data\", pkg: \"reflect\", typ: $funcType([$Int, $String], [ptrType$4], false)}, {prop: \"nameLen\", name: \"nameLen\", pkg: \"reflect\", typ: $funcType([], [$Int], false)}, {prop: \"tagLen\", name: \"tagLen\", pkg: \"reflect\", typ: $funcType([], [$Int], false)}];\n\tKind.methods = [{prop: \"String\", name: \"String\", pkg: \"\", typ: $funcType([], [$String], false)}];\n\tptrType$1.methods = [{prop: \"uncommon\", name: \"uncommon\", pkg: \"reflect\", typ: $funcType([], [ptrType$5], false)}, {prop: \"nameOff\", name: \"nameOff\", pkg: \"reflect\", typ: $funcType([nameOff], [name], false)}, {prop: \"typeOff\", name: \"typeOff\", pkg: \"reflect\", typ: $funcType([typeOff], [ptrType$1], false)}, {prop: \"ptrTo\", name: \"ptrTo\", pkg: \"reflect\", typ: $funcType([], [ptrType$1], false)}, {prop: \"pointers\", name: \"pointers\", pkg: \"reflect\", typ: $funcType([], [$Bool], false)}, {prop: \"Comparable\", name: \"Comparable\", pkg: \"\", typ: $funcType([], [$Bool], false)}, {prop: \"Method\", name: \"Method\", pkg: \"\", typ: $funcType([$Int], [Method], false)}, {prop: \"textOff\", name: \"textOff\", pkg: \"reflect\", typ: $funcType([textOff], [$UnsafePointer], false)}, {prop: \"String\", name: \"String\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"Size\", name: \"Size\", pkg: \"\", typ: $funcType([], [$Uintptr], false)}, {prop: \"Bits\", name: \"Bits\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Align\", name: \"Align\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"FieldAlign\", name: \"FieldAlign\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Kind\", name: \"Kind\", pkg: \"\", typ: $funcType([], [Kind], false)}, {prop: \"common\", name: \"common\", pkg: \"reflect\", typ: $funcType([], [ptrType$1], false)}, {prop: \"exportedMethods\", name: \"exportedMethods\", pkg: \"reflect\", typ: $funcType([], [sliceType$5], false)}, {prop: \"NumMethod\", name: \"NumMethod\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"MethodByName\", name: \"MethodByName\", pkg: \"\", typ: $funcType([$String], [Method, $Bool], false)}, {prop: \"PkgPath\", name: \"PkgPath\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"Name\", name: \"Name\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"ChanDir\", name: \"ChanDir\", pkg: \"\", typ: $funcType([], [ChanDir], false)}, {prop: \"IsVariadic\", name: \"IsVariadic\", pkg: \"\", typ: $funcType([], [$Bool], false)}, {prop: \"Elem\", name: \"Elem\", pkg: \"\", typ: $funcType([], [Type], false)}, {prop: \"Field\", name: \"Field\", pkg: \"\", typ: $funcType([$Int], [StructField], false)}, {prop: \"FieldByIndex\", name: \"FieldByIndex\", pkg: \"\", typ: $funcType([sliceType$13], [StructField], false)}, {prop: \"FieldByName\", name: \"FieldByName\", pkg: \"\", typ: $funcType([$String], [StructField, $Bool], false)}, {prop: \"FieldByNameFunc\", name: \"FieldByNameFunc\", pkg: \"\", typ: $funcType([funcType$3], [StructField, $Bool], false)}, {prop: \"In\", name: \"In\", pkg: \"\", typ: $funcType([$Int], [Type], false)}, {prop: \"Key\", name: \"Key\", pkg: \"\", typ: $funcType([], [Type], false)}, {prop: \"Len\", name: \"Len\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"NumField\", name: \"NumField\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"NumIn\", name: \"NumIn\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"NumOut\", name: \"NumOut\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Out\", name: \"Out\", pkg: \"\", typ: $funcType([$Int], [Type], false)}, {prop: \"Implements\", name: \"Implements\", pkg: \"\", typ: $funcType([Type], [$Bool], false)}, {prop: \"AssignableTo\", name: \"AssignableTo\", pkg: \"\", typ: $funcType([Type], [$Bool], false)}, {prop: \"ConvertibleTo\", name: \"ConvertibleTo\", pkg: \"\", typ: $funcType([Type], [$Bool], false)}];\n\tChanDir.methods = [{prop: \"String\", name: \"String\", pkg: \"\", typ: $funcType([], [$String], false)}];\n\tptrType$8.methods = [{prop: \"Method\", name: \"Method\", pkg: \"\", typ: $funcType([$Int], [Method], false)}, {prop: \"NumMethod\", name: \"NumMethod\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"MethodByName\", name: \"MethodByName\", pkg: \"\", typ: $funcType([$String], [Method, $Bool], false)}];\n\tptrType$17.methods = [{prop: \"offset\", name: \"offset\", pkg: \"reflect\", typ: $funcType([], [$Uintptr], false)}, {prop: \"embedded\", name: \"embedded\", pkg: \"reflect\", typ: $funcType([], [$Bool], false)}];\n\tptrType$10.methods = [{prop: \"Field\", name: \"Field\", pkg: \"\", typ: $funcType([$Int], [StructField], false)}, {prop: \"FieldByIndex\", name: \"FieldByIndex\", pkg: \"\", typ: $funcType([sliceType$13], [StructField], false)}, {prop: \"FieldByNameFunc\", name: \"FieldByNameFunc\", pkg: \"\", typ: $funcType([funcType$3], [StructField, $Bool], false)}, {prop: \"FieldByName\", name: \"FieldByName\", pkg: \"\", typ: $funcType([$String], [StructField, $Bool], false)}];\n\tStructTag.methods = [{prop: \"Get\", name: \"Get\", pkg: \"\", typ: $funcType([$String], [$String], false)}, {prop: \"Lookup\", name: \"Lookup\", pkg: \"\", typ: $funcType([$String], [$String, $Bool], false)}];\n\tValue.methods = [{prop: \"object\", name: \"object\", pkg: \"reflect\", typ: $funcType([], [ptrType$2], false)}, {prop: \"assignTo\", name: \"assignTo\", pkg: \"reflect\", typ: $funcType([$String, ptrType$1, $UnsafePointer], [Value], false)}, {prop: \"Cap\", name: \"Cap\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Elem\", name: \"Elem\", pkg: \"\", typ: $funcType([], [Value], false)}, {prop: \"Field\", name: \"Field\", pkg: \"\", typ: $funcType([$Int], [Value], false)}, {prop: \"Index\", name: \"Index\", pkg: \"\", typ: $funcType([$Int], [Value], false)}, {prop: \"InterfaceData\", name: \"InterfaceData\", pkg: \"\", typ: $funcType([], [arrayType$12], false)}, {prop: \"IsNil\", name: \"IsNil\", pkg: \"\", typ: $funcType([], [$Bool], false)}, {prop: \"Len\", name: \"Len\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Pointer\", name: \"Pointer\", pkg: \"\", typ: $funcType([], [$Uintptr], false)}, {prop: \"Set\", name: \"Set\", pkg: \"\", typ: $funcType([Value], [], false)}, {prop: \"SetBytes\", name: \"SetBytes\", pkg: \"\", typ: $funcType([sliceType$15], [], false)}, {prop: \"SetCap\", name: \"SetCap\", pkg: \"\", typ: $funcType([$Int], [], false)}, {prop: \"SetLen\", name: \"SetLen\", pkg: \"\", typ: $funcType([$Int], [], false)}, {prop: \"Slice\", name: \"Slice\", pkg: \"\", typ: $funcType([$Int, $Int], [Value], false)}, {prop: \"Slice3\", name: \"Slice3\", pkg: \"\", typ: $funcType([$Int, $Int, $Int], [Value], false)}, {prop: \"Close\", name: \"Close\", pkg: \"\", typ: $funcType([], [], false)}, {prop: \"call\", name: \"call\", pkg: \"reflect\", typ: $funcType([$String, sliceType$9], [sliceType$9], false)}, {prop: \"pointer\", name: \"pointer\", pkg: \"reflect\", typ: $funcType([], [$UnsafePointer], false)}, {prop: \"Addr\", name: \"Addr\", pkg: \"\", typ: $funcType([], [Value], false)}, {prop: \"Bool\", name: \"Bool\", pkg: \"\", typ: $funcType([], [$Bool], false)}, {prop: \"Bytes\", name: \"Bytes\", pkg: \"\", typ: $funcType([], [sliceType$15], false)}, {prop: \"runes\", name: \"runes\", pkg: \"reflect\", typ: $funcType([], [sliceType$17], false)}, {prop: \"CanAddr\", name: \"CanAddr\", pkg: \"\", typ: $funcType([], [$Bool], false)}, {prop: \"CanSet\", name: \"CanSet\", pkg: \"\", typ: $funcType([], [$Bool], false)}, {prop: \"Call\", name: \"Call\", pkg: \"\", typ: $funcType([sliceType$9], [sliceType$9], false)}, {prop: \"CallSlice\", name: \"CallSlice\", pkg: \"\", typ: $funcType([sliceType$9], [sliceType$9], false)}, {prop: \"Complex\", name: \"Complex\", pkg: \"\", typ: $funcType([], [$Complex128], false)}, {prop: \"FieldByIndex\", name: \"FieldByIndex\", pkg: \"\", typ: $funcType([sliceType$13], [Value], false)}, {prop: \"FieldByName\", name: \"FieldByName\", pkg: \"\", typ: $funcType([$String], [Value], false)}, {prop: \"FieldByNameFunc\", name: \"FieldByNameFunc\", pkg: \"\", typ: $funcType([funcType$3], [Value], false)}, {prop: \"Float\", name: \"Float\", pkg: \"\", typ: $funcType([], [$Float64], false)}, {prop: \"Int\", name: \"Int\", pkg: \"\", typ: $funcType([], [$Int64], false)}, {prop: \"CanInterface\", name: \"CanInterface\", pkg: \"\", typ: $funcType([], [$Bool], false)}, {prop: \"Interface\", name: \"Interface\", pkg: \"\", typ: $funcType([], [$emptyInterface], false)}, {prop: \"IsValid\", name: \"IsValid\", pkg: \"\", typ: $funcType([], [$Bool], false)}, {prop: \"Kind\", name: \"Kind\", pkg: \"\", typ: $funcType([], [Kind], false)}, {prop: \"MapIndex\", name: \"MapIndex\", pkg: \"\", typ: $funcType([Value], [Value], false)}, {prop: \"MapKeys\", name: \"MapKeys\", pkg: \"\", typ: $funcType([], [sliceType$9], false)}, {prop: \"Method\", name: \"Method\", pkg: \"\", typ: $funcType([$Int], [Value], false)}, {prop: \"NumMethod\", name: \"NumMethod\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"MethodByName\", name: \"MethodByName\", pkg: \"\", typ: $funcType([$String], [Value], false)}, {prop: \"NumField\", name: \"NumField\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"OverflowComplex\", name: \"OverflowComplex\", pkg: \"\", typ: $funcType([$Complex128], [$Bool], false)}, {prop: \"OverflowFloat\", name: \"OverflowFloat\", pkg: \"\", typ: $funcType([$Float64], [$Bool], false)}, {prop: \"OverflowInt\", name: \"OverflowInt\", pkg: \"\", typ: $funcType([$Int64], [$Bool], false)}, {prop: \"OverflowUint\", name: \"OverflowUint\", pkg: \"\", typ: $funcType([$Uint64], [$Bool], false)}, {prop: \"Recv\", name: \"Recv\", pkg: \"\", typ: $funcType([], [Value, $Bool], false)}, {prop: \"recv\", name: \"recv\", pkg: \"reflect\", typ: $funcType([$Bool], [Value, $Bool], false)}, {prop: \"Send\", name: \"Send\", pkg: \"\", typ: $funcType([Value], [], false)}, {prop: \"send\", name: \"send\", pkg: \"reflect\", typ: $funcType([Value, $Bool], [$Bool], false)}, {prop: \"SetBool\", name: \"SetBool\", pkg: \"\", typ: $funcType([$Bool], [], false)}, {prop: \"setRunes\", name: \"setRunes\", pkg: \"reflect\", typ: $funcType([sliceType$17], [], false)}, {prop: \"SetComplex\", name: \"SetComplex\", pkg: \"\", typ: $funcType([$Complex128], [], false)}, {prop: \"SetFloat\", name: \"SetFloat\", pkg: \"\", typ: $funcType([$Float64], [], false)}, {prop: \"SetInt\", name: \"SetInt\", pkg: \"\", typ: $funcType([$Int64], [], false)}, {prop: \"SetMapIndex\", name: \"SetMapIndex\", pkg: \"\", typ: $funcType([Value, Value], [], false)}, {prop: \"SetUint\", name: \"SetUint\", pkg: \"\", typ: $funcType([$Uint64], [], false)}, {prop: \"SetPointer\", name: \"SetPointer\", pkg: \"\", typ: $funcType([$UnsafePointer], [], false)}, {prop: \"SetString\", name: \"SetString\", pkg: \"\", typ: $funcType([$String], [], false)}, {prop: \"String\", name: \"String\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"TryRecv\", name: \"TryRecv\", pkg: \"\", typ: $funcType([], [Value, $Bool], false)}, {prop: \"TrySend\", name: \"TrySend\", pkg: \"\", typ: $funcType([Value], [$Bool], false)}, {prop: \"Type\", name: \"Type\", pkg: \"\", typ: $funcType([], [Type], false)}, {prop: \"Uint\", name: \"Uint\", pkg: \"\", typ: $funcType([], [$Uint64], false)}, {prop: \"UnsafeAddr\", name: \"UnsafeAddr\", pkg: \"\", typ: $funcType([], [$Uintptr], false)}, {prop: \"Convert\", name: \"Convert\", pkg: \"\", typ: $funcType([Type], [Value], false)}];\n\tflag.methods = [{prop: \"kind\", name: \"kind\", pkg: \"reflect\", typ: $funcType([], [Kind], false)}, {prop: \"ro\", name: \"ro\", pkg: \"reflect\", typ: $funcType([], [flag], false)}, {prop: \"mustBe\", name: \"mustBe\", pkg: \"reflect\", typ: $funcType([Kind], [], false)}, {prop: \"mustBeExported\", name: \"mustBeExported\", pkg: \"reflect\", typ: $funcType([], [], false)}, {prop: \"mustBeAssignable\", name: \"mustBeAssignable\", pkg: \"reflect\", typ: $funcType([], [], false)}];\n\tptrType$18.methods = [{prop: \"Error\", name: \"Error\", pkg: \"\", typ: $funcType([], [$String], false)}];\n\tuncommonType.init(\"reflect\", [{prop: \"pkgPath\", name: \"pkgPath\", embedded: false, exported: false, typ: nameOff, tag: \"\"}, {prop: \"mcount\", name: \"mcount\", embedded: false, exported: false, typ: $Uint16, tag: \"\"}, {prop: \"xcount\", name: \"xcount\", embedded: false, exported: false, typ: $Uint16, tag: \"\"}, {prop: \"moff\", name: \"moff\", embedded: false, exported: false, typ: $Uint32, tag: \"\"}, {prop: \"_methods\", name: \"_methods\", embedded: false, exported: false, typ: sliceType$5, tag: \"\"}]);\n\tfuncType.init(\"reflect\", [{prop: \"rtype\", name: \"rtype\", embedded: true, exported: false, typ: rtype, tag: \"reflect:\\\"func\\\"\"}, {prop: \"inCount\", name: \"inCount\", embedded: false, exported: false, typ: $Uint16, tag: \"\"}, {prop: \"outCount\", name: \"outCount\", embedded: false, exported: false, typ: $Uint16, tag: \"\"}, {prop: \"_in\", name: \"_in\", embedded: false, exported: false, typ: sliceType$2, tag: \"\"}, {prop: \"_out\", name: \"_out\", embedded: false, exported: false, typ: sliceType$2, tag: \"\"}]);\n\tname.init(\"reflect\", [{prop: \"bytes\", name: \"bytes\", embedded: false, exported: false, typ: ptrType$4, tag: \"\"}]);\n\tnameData.init(\"reflect\", [{prop: \"name\", name: \"name\", embedded: false, exported: false, typ: $String, tag: \"\"}, {prop: \"tag\", name: \"tag\", embedded: false, exported: false, typ: $String, tag: \"\"}, {prop: \"exported\", name: \"exported\", embedded: false, exported: false, typ: $Bool, tag: \"\"}]);\n\tmapIter.init(\"reflect\", [{prop: \"t\", name: \"t\", embedded: false, exported: false, typ: Type, tag: \"\"}, {prop: \"m\", name: \"m\", embedded: false, exported: false, typ: ptrType$2, tag: \"\"}, {prop: \"keys\", name: \"keys\", embedded: false, exported: false, typ: ptrType$2, tag: \"\"}, {prop: \"i\", name: \"i\", embedded: false, exported: false, typ: $Int, tag: \"\"}]);\n\tType.init([{prop: \"Align\", name: \"Align\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"AssignableTo\", name: \"AssignableTo\", pkg: \"\", typ: $funcType([Type], [$Bool], false)}, {prop: \"Bits\", name: \"Bits\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"ChanDir\", name: \"ChanDir\", pkg: \"\", typ: $funcType([], [ChanDir], false)}, {prop: \"Comparable\", name: \"Comparable\", pkg: \"\", typ: $funcType([], [$Bool], false)}, {prop: \"ConvertibleTo\", name: \"ConvertibleTo\", pkg: \"\", typ: $funcType([Type], [$Bool], false)}, {prop: \"Elem\", name: \"Elem\", pkg: \"\", typ: $funcType([], [Type], false)}, {prop: \"Field\", name: \"Field\", pkg: \"\", typ: $funcType([$Int], [StructField], false)}, {prop: \"FieldAlign\", name: \"FieldAlign\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"FieldByIndex\", name: \"FieldByIndex\", pkg: \"\", typ: $funcType([sliceType$13], [StructField], false)}, {prop: \"FieldByName\", name: \"FieldByName\", pkg: \"\", typ: $funcType([$String], [StructField, $Bool], false)}, {prop: \"FieldByNameFunc\", name: \"FieldByNameFunc\", pkg: \"\", typ: $funcType([funcType$3], [StructField, $Bool], false)}, {prop: \"Implements\", name: \"Implements\", pkg: \"\", typ: $funcType([Type], [$Bool], false)}, {prop: \"In\", name: \"In\", pkg: \"\", typ: $funcType([$Int], [Type], false)}, {prop: \"IsVariadic\", name: \"IsVariadic\", pkg: \"\", typ: $funcType([], [$Bool], false)}, {prop: \"Key\", name: \"Key\", pkg: \"\", typ: $funcType([], [Type], false)}, {prop: \"Kind\", name: \"Kind\", pkg: \"\", typ: $funcType([], [Kind], false)}, {prop: \"Len\", name: \"Len\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Method\", name: \"Method\", pkg: \"\", typ: $funcType([$Int], [Method], false)}, {prop: \"MethodByName\", name: \"MethodByName\", pkg: \"\", typ: $funcType([$String], [Method, $Bool], false)}, {prop: \"Name\", name: \"Name\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"NumField\", name: \"NumField\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"NumIn\", name: \"NumIn\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"NumMethod\", name: \"NumMethod\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"NumOut\", name: \"NumOut\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Out\", name: \"Out\", pkg: \"\", typ: $funcType([$Int], [Type], false)}, {prop: \"PkgPath\", name: \"PkgPath\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"Size\", name: \"Size\", pkg: \"\", typ: $funcType([], [$Uintptr], false)}, {prop: \"String\", name: \"String\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"common\", name: \"common\", pkg: \"reflect\", typ: $funcType([], [ptrType$1], false)}, {prop: \"uncommon\", name: \"uncommon\", pkg: \"reflect\", typ: $funcType([], [ptrType$5], false)}]);\n\trtype.init(\"reflect\", [{prop: \"size\", name: \"size\", embedded: false, exported: false, typ: $Uintptr, tag: \"\"}, {prop: \"ptrdata\", name: \"ptrdata\", embedded: false, exported: false, typ: $Uintptr, tag: \"\"}, {prop: \"hash\", name: \"hash\", embedded: false, exported: false, typ: $Uint32, tag: \"\"}, {prop: \"tflag\", name: \"tflag\", embedded: false, exported: false, typ: tflag, tag: \"\"}, {prop: \"align\", name: \"align\", embedded: false, exported: false, typ: $Uint8, tag: \"\"}, {prop: \"fieldAlign\", name: \"fieldAlign\", embedded: false, exported: false, typ: $Uint8, tag: \"\"}, {prop: \"kind\", name: \"kind\", embedded: false, exported: false, typ: $Uint8, tag: \"\"}, {prop: \"alg\", name: \"alg\", embedded: false, exported: false, typ: ptrType$3, tag: \"\"}, {prop: \"gcdata\", name: \"gcdata\", embedded: false, exported: false, typ: ptrType$4, tag: \"\"}, {prop: \"str\", name: \"str\", embedded: false, exported: false, typ: nameOff, tag: \"\"}, {prop: \"ptrToThis\", name: \"ptrToThis\", embedded: false, exported: false, typ: typeOff, tag: \"\"}]);\n\ttypeAlg.init(\"reflect\", [{prop: \"hash\", name: \"hash\", embedded: false, exported: false, typ: funcType$4, tag: \"\"}, {prop: \"equal\", name: \"equal\", embedded: false, exported: false, typ: funcType$5, tag: \"\"}]);\n\tmethod.init(\"reflect\", [{prop: \"name\", name: \"name\", embedded: false, exported: false, typ: nameOff, tag: \"\"}, {prop: \"mtyp\", name: \"mtyp\", embedded: false, exported: false, typ: typeOff, tag: \"\"}, {prop: \"ifn\", name: \"ifn\", embedded: false, exported: false, typ: textOff, tag: \"\"}, {prop: \"tfn\", name: \"tfn\", embedded: false, exported: false, typ: textOff, tag: \"\"}]);\n\tarrayType.init(\"reflect\", [{prop: \"rtype\", name: \"rtype\", embedded: true, exported: false, typ: rtype, tag: \"\"}, {prop: \"elem\", name: \"elem\", embedded: false, exported: false, typ: ptrType$1, tag: \"\"}, {prop: \"slice\", name: \"slice\", embedded: false, exported: false, typ: ptrType$1, tag: \"\"}, {prop: \"len\", name: \"len\", embedded: false, exported: false, typ: $Uintptr, tag: \"\"}]);\n\tchanType.init(\"reflect\", [{prop: \"rtype\", name: \"rtype\", embedded: true, exported: false, typ: rtype, tag: \"\"}, {prop: \"elem\", name: \"elem\", embedded: false, exported: false, typ: ptrType$1, tag: \"\"}, {prop: \"dir\", name: \"dir\", embedded: false, exported: false, typ: $Uintptr, tag: \"\"}]);\n\timethod.init(\"reflect\", [{prop: \"name\", name: \"name\", embedded: false, exported: false, typ: nameOff, tag: \"\"}, {prop: \"typ\", name: \"typ\", embedded: false, exported: false, typ: typeOff, tag: \"\"}]);\n\tinterfaceType.init(\"reflect\", [{prop: \"rtype\", name: \"rtype\", embedded: true, exported: false, typ: rtype, tag: \"\"}, {prop: \"pkgPath\", name: \"pkgPath\", embedded: false, exported: false, typ: name, tag: \"\"}, {prop: \"methods\", name: \"methods\", embedded: false, exported: false, typ: sliceType$6, tag: \"\"}]);\n\tmapType.init(\"reflect\", [{prop: \"rtype\", name: \"rtype\", embedded: true, exported: false, typ: rtype, tag: \"\"}, {prop: \"key\", name: \"key\", embedded: false, exported: false, typ: ptrType$1, tag: \"\"}, {prop: \"elem\", name: \"elem\", embedded: false, exported: false, typ: ptrType$1, tag: \"\"}, {prop: \"bucket\", name: \"bucket\", embedded: false, exported: false, typ: ptrType$1, tag: \"\"}, {prop: \"keysize\", name: \"keysize\", embedded: false, exported: false, typ: $Uint8, tag: \"\"}, {prop: \"indirectkey\", name: \"indirectkey\", embedded: false, exported: false, typ: $Uint8, tag: \"\"}, {prop: \"valuesize\", name: \"valuesize\", embedded: false, exported: false, typ: $Uint8, tag: \"\"}, {prop: \"indirectvalue\", name: \"indirectvalue\", embedded: false, exported: false, typ: $Uint8, tag: \"\"}, {prop: \"bucketsize\", name: \"bucketsize\", embedded: false, exported: false, typ: $Uint16, tag: \"\"}, {prop: \"reflexivekey\", name: \"reflexivekey\", embedded: false, exported: false, typ: $Bool, tag: \"\"}, {prop: \"needkeyupdate\", name: \"needkeyupdate\", embedded: false, exported: false, typ: $Bool, tag: \"\"}]);\n\tptrType.init(\"reflect\", [{prop: \"rtype\", name: \"rtype\", embedded: true, exported: false, typ: rtype, tag: \"\"}, {prop: \"elem\", name: \"elem\", embedded: false, exported: false, typ: ptrType$1, tag: \"\"}]);\n\tsliceType.init(\"reflect\", [{prop: \"rtype\", name: \"rtype\", embedded: true, exported: false, typ: rtype, tag: \"\"}, {prop: \"elem\", name: \"elem\", embedded: false, exported: false, typ: ptrType$1, tag: \"\"}]);\n\tstructField.init(\"reflect\", [{prop: \"name\", name: \"name\", embedded: false, exported: false, typ: name, tag: \"\"}, {prop: \"typ\", name: \"typ\", embedded: false, exported: false, typ: ptrType$1, tag: \"\"}, {prop: \"offsetEmbed\", name: \"offsetEmbed\", embedded: false, exported: false, typ: $Uintptr, tag: \"\"}]);\n\tstructType.init(\"reflect\", [{prop: \"rtype\", name: \"rtype\", embedded: true, exported: false, typ: rtype, tag: \"\"}, {prop: \"pkgPath\", name: \"pkgPath\", embedded: false, exported: false, typ: name, tag: \"\"}, {prop: \"fields\", name: \"fields\", embedded: false, exported: false, typ: sliceType$7, tag: \"\"}]);\n\tMethod.init(\"\", [{prop: \"Name\", name: \"Name\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"PkgPath\", name: \"PkgPath\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"Type\", name: \"Type\", embedded: false, exported: true, typ: Type, tag: \"\"}, {prop: \"Func\", name: \"Func\", embedded: false, exported: true, typ: Value, tag: \"\"}, {prop: \"Index\", name: \"Index\", embedded: false, exported: true, typ: $Int, tag: \"\"}]);\n\tStructField.init(\"\", [{prop: \"Name\", name: \"Name\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"PkgPath\", name: \"PkgPath\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"Type\", name: \"Type\", embedded: false, exported: true, typ: Type, tag: \"\"}, {prop: \"Tag\", name: \"Tag\", embedded: false, exported: true, typ: StructTag, tag: \"\"}, {prop: \"Offset\", name: \"Offset\", embedded: false, exported: true, typ: $Uintptr, tag: \"\"}, {prop: \"Index\", name: \"Index\", embedded: false, exported: true, typ: sliceType$13, tag: \"\"}, {prop: \"Anonymous\", name: \"Anonymous\", embedded: false, exported: true, typ: $Bool, tag: \"\"}]);\n\tfieldScan.init(\"reflect\", [{prop: \"typ\", name: \"typ\", embedded: false, exported: false, typ: ptrType$10, tag: \"\"}, {prop: \"index\", name: \"index\", embedded: false, exported: false, typ: sliceType$13, tag: \"\"}]);\n\tValue.init(\"reflect\", [{prop: \"typ\", name: \"typ\", embedded: false, exported: false, typ: ptrType$1, tag: \"\"}, {prop: \"ptr\", name: \"ptr\", embedded: false, exported: false, typ: $UnsafePointer, tag: \"\"}, {prop: \"flag\", name: \"flag\", embedded: true, exported: false, typ: flag, tag: \"\"}]);\n\tValueError.init(\"\", [{prop: \"Method\", name: \"Method\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"Kind\", name: \"Kind\", embedded: false, exported: true, typ: Kind, tag: \"\"}]);\n\tStringHeader.init(\"\", [{prop: \"Data\", name: \"Data\", embedded: false, exported: true, typ: $Uintptr, tag: \"\"}, {prop: \"Len\", name: \"Len\", embedded: false, exported: true, typ: $Int, tag: \"\"}]);\n\tSliceHeader.init(\"\", [{prop: \"Data\", name: \"Data\", embedded: false, exported: true, typ: $Uintptr, tag: \"\"}, {prop: \"Len\", name: \"Len\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"Cap\", name: \"Cap\", embedded: false, exported: true, typ: $Int, tag: \"\"}]);\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = errors.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = js.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = math.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = runtime.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = strconv.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = sync.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = unicode.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = utf8.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tnameOffList = sliceType$1.nil;\n\t\ttypeOffList = sliceType$2.nil;\n\t\tinitialized = false;\n\t\tuncommonTypeMap = {};\n\t\tnameMap = {};\n\t\tcallHelper = $assertType($internalize($call, $emptyInterface), funcType$1);\n\t\tselectHelper = $assertType($internalize($select, $emptyInterface), funcType$1);\n\t\tjsObjectPtr = reflectType($jsObjectPtr);\n\t\tkindNames = new sliceType$4([\"invalid\", \"bool\", \"int\", \"int8\", \"int16\", \"int32\", \"int64\", \"uint\", \"uint8\", \"uint16\", \"uint32\", \"uint64\", \"uintptr\", \"float32\", \"float64\", \"complex64\", \"complex128\", \"array\", \"chan\", \"func\", \"interface\", \"map\", \"ptr\", \"slice\", \"string\", \"struct\", \"unsafe.Pointer\"]);\n\t\tuint8Type = $assertType(TypeOf(new $Uint8(0)), ptrType$1);\n\t\t$r = init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"fmt\"] = (function() {\n\tvar $pkg = {}, $init, errors, io, math, os, reflect, strconv, sync, utf8, fmtFlags, fmt, State, Formatter, Stringer, GoStringer, buffer, pp, ScanState, Scanner, scanError, ss, ssave, readRune, sliceType, ptrType, ptrType$1, arrayType, arrayType$1, sliceType$1, sliceType$2, arrayType$2, ptrType$2, ptrType$4, ptrType$5, arrayType$3, ptrType$6, ptrType$7, ptrType$8, ptrType$9, ptrType$10, ptrType$11, ptrType$12, ptrType$13, ptrType$14, ptrType$15, ptrType$16, ptrType$17, ptrType$18, ptrType$19, ptrType$20, ptrType$21, ptrType$22, ptrType$23, ptrType$24, ptrType$25, funcType, ptrType$26, ppFree, space, ssFree, complexError, boolError, newPrinter, Fprintf, Printf, Sprintf, Fprint, Print, Sprint, Fprintln, Println, getField, tooLarge, parsenum, intFromArg, parseArgNumber, Fscanf, isSpace, notSpace, newScanState, indexRune, hexDigit, errorHandler;\n\terrors = $packages[\"errors\"];\n\tio = $packages[\"io\"];\n\tmath = $packages[\"math\"];\n\tos = $packages[\"os\"];\n\treflect = $packages[\"reflect\"];\n\tstrconv = $packages[\"strconv\"];\n\tsync = $packages[\"sync\"];\n\tutf8 = $packages[\"unicode/utf8\"];\n\tfmtFlags = $pkg.fmtFlags = $newType(0, $kindStruct, \"fmt.fmtFlags\", true, \"fmt\", false, function(widPresent_, precPresent_, minus_, plus_, sharp_, space_, zero_, plusV_, sharpV_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.widPresent = false;\n\t\t\tthis.precPresent = false;\n\t\t\tthis.minus = false;\n\t\t\tthis.plus = false;\n\t\t\tthis.sharp = false;\n\t\t\tthis.space = false;\n\t\t\tthis.zero = false;\n\t\t\tthis.plusV = false;\n\t\t\tthis.sharpV = false;\n\t\t\treturn;\n\t\t}\n\t\tthis.widPresent = widPresent_;\n\t\tthis.precPresent = precPresent_;\n\t\tthis.minus = minus_;\n\t\tthis.plus = plus_;\n\t\tthis.sharp = sharp_;\n\t\tthis.space = space_;\n\t\tthis.zero = zero_;\n\t\tthis.plusV = plusV_;\n\t\tthis.sharpV = sharpV_;\n\t});\n\tfmt = $pkg.fmt = $newType(0, $kindStruct, \"fmt.fmt\", true, \"fmt\", false, function(buf_, fmtFlags_, wid_, prec_, intbuf_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.buf = ptrType$1.nil;\n\t\t\tthis.fmtFlags = new fmtFlags.ptr(false, false, false, false, false, false, false, false, false);\n\t\t\tthis.wid = 0;\n\t\t\tthis.prec = 0;\n\t\t\tthis.intbuf = arrayType.zero();\n\t\t\treturn;\n\t\t}\n\t\tthis.buf = buf_;\n\t\tthis.fmtFlags = fmtFlags_;\n\t\tthis.wid = wid_;\n\t\tthis.prec = prec_;\n\t\tthis.intbuf = intbuf_;\n\t});\n\tState = $pkg.State = $newType(8, $kindInterface, \"fmt.State\", true, \"fmt\", true, null);\n\tFormatter = $pkg.Formatter = $newType(8, $kindInterface, \"fmt.Formatter\", true, \"fmt\", true, null);\n\tStringer = $pkg.Stringer = $newType(8, $kindInterface, \"fmt.Stringer\", true, \"fmt\", true, null);\n\tGoStringer = $pkg.GoStringer = $newType(8, $kindInterface, \"fmt.GoStringer\", true, \"fmt\", true, null);\n\tbuffer = $pkg.buffer = $newType(12, $kindSlice, \"fmt.buffer\", true, \"fmt\", false, null);\n\tpp = $pkg.pp = $newType(0, $kindStruct, \"fmt.pp\", true, \"fmt\", false, function(buf_, arg_, value_, fmt_, reordered_, goodArgNum_, panicking_, erroring_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.buf = buffer.nil;\n\t\t\tthis.arg = $ifaceNil;\n\t\t\tthis.value = new reflect.Value.ptr(ptrType.nil, 0, 0);\n\t\t\tthis.fmt = new fmt.ptr(ptrType$1.nil, new fmtFlags.ptr(false, false, false, false, false, false, false, false, false), 0, 0, arrayType.zero());\n\t\t\tthis.reordered = false;\n\t\t\tthis.goodArgNum = false;\n\t\t\tthis.panicking = false;\n\t\t\tthis.erroring = false;\n\t\t\treturn;\n\t\t}\n\t\tthis.buf = buf_;\n\t\tthis.arg = arg_;\n\t\tthis.value = value_;\n\t\tthis.fmt = fmt_;\n\t\tthis.reordered = reordered_;\n\t\tthis.goodArgNum = goodArgNum_;\n\t\tthis.panicking = panicking_;\n\t\tthis.erroring = erroring_;\n\t});\n\tScanState = $pkg.ScanState = $newType(8, $kindInterface, \"fmt.ScanState\", true, \"fmt\", true, null);\n\tScanner = $pkg.Scanner = $newType(8, $kindInterface, \"fmt.Scanner\", true, \"fmt\", true, null);\n\tscanError = $pkg.scanError = $newType(0, $kindStruct, \"fmt.scanError\", true, \"fmt\", false, function(err_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.err = $ifaceNil;\n\t\t\treturn;\n\t\t}\n\t\tthis.err = err_;\n\t});\n\tss = $pkg.ss = $newType(0, $kindStruct, \"fmt.ss\", true, \"fmt\", false, function(rs_, buf_, count_, atEOF_, ssave_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.rs = $ifaceNil;\n\t\t\tthis.buf = buffer.nil;\n\t\t\tthis.count = 0;\n\t\t\tthis.atEOF = false;\n\t\t\tthis.ssave = new ssave.ptr(false, false, false, 0, 0, 0);\n\t\t\treturn;\n\t\t}\n\t\tthis.rs = rs_;\n\t\tthis.buf = buf_;\n\t\tthis.count = count_;\n\t\tthis.atEOF = atEOF_;\n\t\tthis.ssave = ssave_;\n\t});\n\tssave = $pkg.ssave = $newType(0, $kindStruct, \"fmt.ssave\", true, \"fmt\", false, function(validSave_, nlIsEnd_, nlIsSpace_, argLimit_, limit_, maxWid_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.validSave = false;\n\t\t\tthis.nlIsEnd = false;\n\t\t\tthis.nlIsSpace = false;\n\t\t\tthis.argLimit = 0;\n\t\t\tthis.limit = 0;\n\t\t\tthis.maxWid = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.validSave = validSave_;\n\t\tthis.nlIsEnd = nlIsEnd_;\n\t\tthis.nlIsSpace = nlIsSpace_;\n\t\tthis.argLimit = argLimit_;\n\t\tthis.limit = limit_;\n\t\tthis.maxWid = maxWid_;\n\t});\n\treadRune = $pkg.readRune = $newType(0, $kindStruct, \"fmt.readRune\", true, \"fmt\", false, function(reader_, buf_, pending_, pendBuf_, peekRune_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.reader = $ifaceNil;\n\t\t\tthis.buf = arrayType$3.zero();\n\t\t\tthis.pending = 0;\n\t\t\tthis.pendBuf = arrayType$3.zero();\n\t\t\tthis.peekRune = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.reader = reader_;\n\t\tthis.buf = buf_;\n\t\tthis.pending = pending_;\n\t\tthis.pendBuf = pendBuf_;\n\t\tthis.peekRune = peekRune_;\n\t});\n\tsliceType = $sliceType($emptyInterface);\n\tptrType = $ptrType(reflect.rtype);\n\tptrType$1 = $ptrType(buffer);\n\tarrayType = $arrayType($Uint8, 68);\n\tarrayType$1 = $arrayType($Uint16, 2);\n\tsliceType$1 = $sliceType(arrayType$1);\n\tsliceType$2 = $sliceType($Uint8);\n\tarrayType$2 = $arrayType($Uint8, 5);\n\tptrType$2 = $ptrType(pp);\n\tptrType$4 = $ptrType($String);\n\tptrType$5 = $ptrType(ss);\n\tarrayType$3 = $arrayType($Uint8, 4);\n\tptrType$6 = $ptrType(strconv.NumError);\n\tptrType$7 = $ptrType($Bool);\n\tptrType$8 = $ptrType($Complex64);\n\tptrType$9 = $ptrType($Complex128);\n\tptrType$10 = $ptrType($Int);\n\tptrType$11 = $ptrType($Int8);\n\tptrType$12 = $ptrType($Int16);\n\tptrType$13 = $ptrType($Int32);\n\tptrType$14 = $ptrType($Int64);\n\tptrType$15 = $ptrType($Uint);\n\tptrType$16 = $ptrType($Uint8);\n\tptrType$17 = $ptrType($Uint16);\n\tptrType$18 = $ptrType($Uint32);\n\tptrType$19 = $ptrType($Uint64);\n\tptrType$20 = $ptrType($Uintptr);\n\tptrType$21 = $ptrType($Float32);\n\tptrType$22 = $ptrType($Float64);\n\tptrType$23 = $ptrType(sliceType$2);\n\tptrType$24 = $ptrType($error);\n\tptrType$25 = $ptrType(fmt);\n\tfuncType = $funcType([$Int32], [$Bool], false);\n\tptrType$26 = $ptrType(readRune);\n\tfmt.ptr.prototype.clearflags = function() {\n\t\tvar f;\n\t\tf = this;\n\t\tfmtFlags.copy(f.fmtFlags, new fmtFlags.ptr(false, false, false, false, false, false, false, false, false));\n\t};\n\tfmt.prototype.clearflags = function() { return this.$val.clearflags(); };\n\tfmt.ptr.prototype.init = function(buf) {\n\t\tvar buf, f;\n\t\tf = this;\n\t\tf.buf = buf;\n\t\tf.clearflags();\n\t};\n\tfmt.prototype.init = function(buf) { return this.$val.init(buf); };\n\tfmt.ptr.prototype.writePadding = function(n) {\n\t\tvar _i, _ref, buf, f, i, n, newLen, oldLen, padByte, padding;\n\t\tf = this;\n\t\tif (n <= 0) {\n\t\t\treturn;\n\t\t}\n\t\tbuf = f.buf.$get();\n\t\toldLen = buf.$length;\n\t\tnewLen = oldLen + n >> 0;\n\t\tif (newLen > buf.$capacity) {\n\t\t\tbuf = $makeSlice(buffer, (($imul(buf.$capacity, 2)) + n >> 0));\n\t\t\t$copySlice(buf, f.buf.$get());\n\t\t}\n\t\tpadByte = 32;\n\t\tif (f.fmtFlags.zero) {\n\t\t\tpadByte = 48;\n\t\t}\n\t\tpadding = $subslice(buf, oldLen, newLen);\n\t\t_ref = padding;\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\ti = _i;\n\t\t\t((i < 0 || i >= padding.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : padding.$array[padding.$offset + i] = padByte);\n\t\t\t_i++;\n\t\t}\n\t\tf.buf.$set($subslice(buf, 0, newLen));\n\t};\n\tfmt.prototype.writePadding = function(n) { return this.$val.writePadding(n); };\n\tfmt.ptr.prototype.pad = function(b) {\n\t\tvar b, f, width;\n\t\tf = this;\n\t\tif (!f.fmtFlags.widPresent || (f.wid === 0)) {\n\t\t\tf.buf.Write(b);\n\t\t\treturn;\n\t\t}\n\t\twidth = f.wid - utf8.RuneCount(b) >> 0;\n\t\tif (!f.fmtFlags.minus) {\n\t\t\tf.writePadding(width);\n\t\t\tf.buf.Write(b);\n\t\t} else {\n\t\t\tf.buf.Write(b);\n\t\t\tf.writePadding(width);\n\t\t}\n\t};\n\tfmt.prototype.pad = function(b) { return this.$val.pad(b); };\n\tfmt.ptr.prototype.padString = function(s) {\n\t\tvar f, s, width;\n\t\tf = this;\n\t\tif (!f.fmtFlags.widPresent || (f.wid === 0)) {\n\t\t\tf.buf.WriteString(s);\n\t\t\treturn;\n\t\t}\n\t\twidth = f.wid - utf8.RuneCountInString(s) >> 0;\n\t\tif (!f.fmtFlags.minus) {\n\t\t\tf.writePadding(width);\n\t\t\tf.buf.WriteString(s);\n\t\t} else {\n\t\t\tf.buf.WriteString(s);\n\t\t\tf.writePadding(width);\n\t\t}\n\t};\n\tfmt.prototype.padString = function(s) { return this.$val.padString(s); };\n\tfmt.ptr.prototype.fmtBoolean = function(v) {\n\t\tvar f, v;\n\t\tf = this;\n\t\tif (v) {\n\t\t\tf.padString(\"true\");\n\t\t} else {\n\t\t\tf.padString(\"false\");\n\t\t}\n\t};\n\tfmt.prototype.fmtBoolean = function(v) { return this.$val.fmtBoolean(v); };\n\tfmt.ptr.prototype.fmtUnicode = function(u) {\n\t\tvar buf, f, i, oldZero, prec, u, width;\n\t\tf = this;\n\t\tbuf = $subslice(new sliceType$2(f.intbuf), 0);\n\t\tprec = 4;\n\t\tif (f.fmtFlags.precPresent && f.prec > 4) {\n\t\t\tprec = f.prec;\n\t\t\twidth = (((2 + prec >> 0) + 2 >> 0) + 4 >> 0) + 1 >> 0;\n\t\t\tif (width > buf.$length) {\n\t\t\t\tbuf = $makeSlice(sliceType$2, width);\n\t\t\t}\n\t\t}\n\t\ti = buf.$length;\n\t\tif (f.fmtFlags.sharp && (u.$high < 0 || (u.$high === 0 && u.$low <= 1114111)) && strconv.IsPrint(((u.$low >> 0)))) {\n\t\t\ti = i - (1) >> 0;\n\t\t\t((i < 0 || i >= buf.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + i] = 39);\n\t\t\ti = i - (utf8.RuneLen(((u.$low >> 0)))) >> 0;\n\t\t\tutf8.EncodeRune($subslice(buf, i), ((u.$low >> 0)));\n\t\t\ti = i - (1) >> 0;\n\t\t\t((i < 0 || i >= buf.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + i] = 39);\n\t\t\ti = i - (1) >> 0;\n\t\t\t((i < 0 || i >= buf.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + i] = 32);\n\t\t}\n\t\twhile (true) {\n\t\t\tif (!((u.$high > 0 || (u.$high === 0 && u.$low >= 16)))) { break; }\n\t\t\ti = i - (1) >> 0;\n\t\t\t((i < 0 || i >= buf.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + i] = \"0123456789ABCDEFX\".charCodeAt($flatten64(new $Uint64(u.$high & 0, (u.$low & 15) >>> 0))));\n\t\t\tprec = prec - (1) >> 0;\n\t\t\tu = $shiftRightUint64(u, (4));\n\t\t}\n\t\ti = i - (1) >> 0;\n\t\t((i < 0 || i >= buf.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + i] = \"0123456789ABCDEFX\".charCodeAt($flatten64(u)));\n\t\tprec = prec - (1) >> 0;\n\t\twhile (true) {\n\t\t\tif (!(prec > 0)) { break; }\n\t\t\ti = i - (1) >> 0;\n\t\t\t((i < 0 || i >= buf.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + i] = 48);\n\t\t\tprec = prec - (1) >> 0;\n\t\t}\n\t\ti = i - (1) >> 0;\n\t\t((i < 0 || i >= buf.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + i] = 43);\n\t\ti = i - (1) >> 0;\n\t\t((i < 0 || i >= buf.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + i] = 85);\n\t\toldZero = f.fmtFlags.zero;\n\t\tf.fmtFlags.zero = false;\n\t\tf.pad($subslice(buf, i));\n\t\tf.fmtFlags.zero = oldZero;\n\t};\n\tfmt.prototype.fmtUnicode = function(u) { return this.$val.fmtUnicode(u); };\n\tfmt.ptr.prototype.fmtInteger = function(u, base, isSigned, digits) {\n\t\tvar _1, _2, base, buf, digits, f, i, isSigned, negative, next, oldZero, oldZero$1, prec, u, width, x, x$1, x$2, x$3, x$4;\n\t\tf = this;\n\t\tnegative = isSigned && (x = (new $Int64(u.$high, u.$low)), (x.$high < 0 || (x.$high === 0 && x.$low < 0)));\n\t\tif (negative) {\n\t\t\tu = new $Uint64(-u.$high, -u.$low);\n\t\t}\n\t\tbuf = $subslice(new sliceType$2(f.intbuf), 0);\n\t\tif (f.fmtFlags.widPresent || f.fmtFlags.precPresent) {\n\t\t\twidth = (3 + f.wid >> 0) + f.prec >> 0;\n\t\t\tif (width > buf.$length) {\n\t\t\t\tbuf = $makeSlice(sliceType$2, width);\n\t\t\t}\n\t\t}\n\t\tprec = 0;\n\t\tif (f.fmtFlags.precPresent) {\n\t\t\tprec = f.prec;\n\t\t\tif ((prec === 0) && (u.$high === 0 && u.$low === 0)) {\n\t\t\t\toldZero = f.fmtFlags.zero;\n\t\t\t\tf.fmtFlags.zero = false;\n\t\t\t\tf.writePadding(f.wid);\n\t\t\t\tf.fmtFlags.zero = oldZero;\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else if (f.fmtFlags.zero && f.fmtFlags.widPresent) {\n\t\t\tprec = f.wid;\n\t\t\tif (negative || f.fmtFlags.plus || f.fmtFlags.space) {\n\t\t\t\tprec = prec - (1) >> 0;\n\t\t\t}\n\t\t}\n\t\ti = buf.$length;\n\t\t_1 = base;\n\t\tif (_1 === (10)) {\n\t\t\twhile (true) {\n\t\t\t\tif (!((u.$high > 0 || (u.$high === 0 && u.$low >= 10)))) { break; }\n\t\t\t\ti = i - (1) >> 0;\n\t\t\t\tnext = $div64(u, new $Uint64(0, 10), false);\n\t\t\t\t((i < 0 || i >= buf.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + i] = (((x$1 = new $Uint64(0 + u.$high, 48 + u.$low), x$2 = $mul64(next, new $Uint64(0, 10)), new $Uint64(x$1.$high - x$2.$high, x$1.$low - x$2.$low)).$low << 24 >>> 24)));\n\t\t\t\tu = next;\n\t\t\t}\n\t\t} else if (_1 === (16)) {\n\t\t\twhile (true) {\n\t\t\t\tif (!((u.$high > 0 || (u.$high === 0 && u.$low >= 16)))) { break; }\n\t\t\t\ti = i - (1) >> 0;\n\t\t\t\t((i < 0 || i >= buf.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + i] = digits.charCodeAt($flatten64(new $Uint64(u.$high & 0, (u.$low & 15) >>> 0))));\n\t\t\t\tu = $shiftRightUint64(u, (4));\n\t\t\t}\n\t\t} else if (_1 === (8)) {\n\t\t\twhile (true) {\n\t\t\t\tif (!((u.$high > 0 || (u.$high === 0 && u.$low >= 8)))) { break; }\n\t\t\t\ti = i - (1) >> 0;\n\t\t\t\t((i < 0 || i >= buf.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + i] = (((x$3 = new $Uint64(u.$high & 0, (u.$low & 7) >>> 0), new $Uint64(0 + x$3.$high, 48 + x$3.$low)).$low << 24 >>> 24)));\n\t\t\t\tu = $shiftRightUint64(u, (3));\n\t\t\t}\n\t\t} else if (_1 === (2)) {\n\t\t\twhile (true) {\n\t\t\t\tif (!((u.$high > 0 || (u.$high === 0 && u.$low >= 2)))) { break; }\n\t\t\t\ti = i - (1) >> 0;\n\t\t\t\t((i < 0 || i >= buf.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + i] = (((x$4 = new $Uint64(u.$high & 0, (u.$low & 1) >>> 0), new $Uint64(0 + x$4.$high, 48 + x$4.$low)).$low << 24 >>> 24)));\n\t\t\t\tu = $shiftRightUint64(u, (1));\n\t\t\t}\n\t\t} else {\n\t\t\t$panic(new $String(\"fmt: unknown base; can't happen\"));\n\t\t}\n\t\ti = i - (1) >> 0;\n\t\t((i < 0 || i >= buf.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + i] = digits.charCodeAt($flatten64(u)));\n\t\twhile (true) {\n\t\t\tif (!(i > 0 && prec > (buf.$length - i >> 0))) { break; }\n\t\t\ti = i - (1) >> 0;\n\t\t\t((i < 0 || i >= buf.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + i] = 48);\n\t\t}\n\t\tif (f.fmtFlags.sharp) {\n\t\t\t_2 = base;\n\t\t\tif (_2 === (8)) {\n\t\t\t\tif (!((((i < 0 || i >= buf.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + i]) === 48))) {\n\t\t\t\t\ti = i - (1) >> 0;\n\t\t\t\t\t((i < 0 || i >= buf.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + i] = 48);\n\t\t\t\t}\n\t\t\t} else if (_2 === (16)) {\n\t\t\t\ti = i - (1) >> 0;\n\t\t\t\t((i < 0 || i >= buf.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + i] = digits.charCodeAt(16));\n\t\t\t\ti = i - (1) >> 0;\n\t\t\t\t((i < 0 || i >= buf.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + i] = 48);\n\t\t\t}\n\t\t}\n\t\tif (negative) {\n\t\t\ti = i - (1) >> 0;\n\t\t\t((i < 0 || i >= buf.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + i] = 45);\n\t\t} else if (f.fmtFlags.plus) {\n\t\t\ti = i - (1) >> 0;\n\t\t\t((i < 0 || i >= buf.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + i] = 43);\n\t\t} else if (f.fmtFlags.space) {\n\t\t\ti = i - (1) >> 0;\n\t\t\t((i < 0 || i >= buf.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + i] = 32);\n\t\t}\n\t\toldZero$1 = f.fmtFlags.zero;\n\t\tf.fmtFlags.zero = false;\n\t\tf.pad($subslice(buf, i));\n\t\tf.fmtFlags.zero = oldZero$1;\n\t};\n\tfmt.prototype.fmtInteger = function(u, base, isSigned, digits) { return this.$val.fmtInteger(u, base, isSigned, digits); };\n\tfmt.ptr.prototype.truncate = function(s) {\n\t\tvar _i, _ref, _rune, f, i, n, s;\n\t\tf = this;\n\t\tif (f.fmtFlags.precPresent) {\n\t\t\tn = f.prec;\n\t\t\t_ref = s;\n\t\t\t_i = 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(_i < _ref.length)) { break; }\n\t\t\t\t_rune = $decodeRune(_ref, _i);\n\t\t\t\ti = _i;\n\t\t\t\tn = n - (1) >> 0;\n\t\t\t\tif (n < 0) {\n\t\t\t\t\treturn $substring(s, 0, i);\n\t\t\t\t}\n\t\t\t\t_i += _rune[1];\n\t\t\t}\n\t\t}\n\t\treturn s;\n\t};\n\tfmt.prototype.truncate = function(s) { return this.$val.truncate(s); };\n\tfmt.ptr.prototype.fmtS = function(s) {\n\t\tvar f, s;\n\t\tf = this;\n\t\ts = f.truncate(s);\n\t\tf.padString(s);\n\t};\n\tfmt.prototype.fmtS = function(s) { return this.$val.fmtS(s); };\n\tfmt.ptr.prototype.fmtSbx = function(s, b, digits) {\n\t\tvar b, buf, c, digits, f, i, length, s, width;\n\t\tf = this;\n\t\tlength = b.$length;\n\t\tif (b === sliceType$2.nil) {\n\t\t\tlength = s.length;\n\t\t}\n\t\tif (f.fmtFlags.precPresent && f.prec < length) {\n\t\t\tlength = f.prec;\n\t\t}\n\t\twidth = $imul(2, length);\n\t\tif (width > 0) {\n\t\t\tif (f.fmtFlags.space) {\n\t\t\t\tif (f.fmtFlags.sharp) {\n\t\t\t\t\twidth = $imul(width, (2));\n\t\t\t\t}\n\t\t\t\twidth = width + ((length - 1 >> 0)) >> 0;\n\t\t\t} else if (f.fmtFlags.sharp) {\n\t\t\t\twidth = width + (2) >> 0;\n\t\t\t}\n\t\t} else {\n\t\t\tif (f.fmtFlags.widPresent) {\n\t\t\t\tf.writePadding(f.wid);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tif (f.fmtFlags.widPresent && f.wid > width && !f.fmtFlags.minus) {\n\t\t\tf.writePadding(f.wid - width >> 0);\n\t\t}\n\t\tbuf = f.buf.$get();\n\t\tif (f.fmtFlags.sharp) {\n\t\t\tbuf = $append(buf, 48, digits.charCodeAt(16));\n\t\t}\n\t\tc = 0;\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < length)) { break; }\n\t\t\tif (f.fmtFlags.space && i > 0) {\n\t\t\t\tbuf = $append(buf, 32);\n\t\t\t\tif (f.fmtFlags.sharp) {\n\t\t\t\t\tbuf = $append(buf, 48, digits.charCodeAt(16));\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!(b === sliceType$2.nil)) {\n\t\t\t\tc = ((i < 0 || i >= b.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + i]);\n\t\t\t} else {\n\t\t\t\tc = s.charCodeAt(i);\n\t\t\t}\n\t\t\tbuf = $append(buf, digits.charCodeAt((c >>> 4 << 24 >>> 24)), digits.charCodeAt(((c & 15) >>> 0)));\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\tf.buf.$set(buf);\n\t\tif (f.fmtFlags.widPresent && f.wid > width && f.fmtFlags.minus) {\n\t\t\tf.writePadding(f.wid - width >> 0);\n\t\t}\n\t};\n\tfmt.prototype.fmtSbx = function(s, b, digits) { return this.$val.fmtSbx(s, b, digits); };\n\tfmt.ptr.prototype.fmtSx = function(s, digits) {\n\t\tvar digits, f, s;\n\t\tf = this;\n\t\tf.fmtSbx(s, sliceType$2.nil, digits);\n\t};\n\tfmt.prototype.fmtSx = function(s, digits) { return this.$val.fmtSx(s, digits); };\n\tfmt.ptr.prototype.fmtBx = function(b, digits) {\n\t\tvar b, digits, f;\n\t\tf = this;\n\t\tf.fmtSbx(\"\", b, digits);\n\t};\n\tfmt.prototype.fmtBx = function(b, digits) { return this.$val.fmtBx(b, digits); };\n\tfmt.ptr.prototype.fmtQ = function(s) {\n\t\tvar buf, f, s;\n\t\tf = this;\n\t\ts = f.truncate(s);\n\t\tif (f.fmtFlags.sharp && strconv.CanBackquote(s)) {\n\t\t\tf.padString(\"`\" + s + \"`\");\n\t\t\treturn;\n\t\t}\n\t\tbuf = $subslice(new sliceType$2(f.intbuf), 0, 0);\n\t\tif (f.fmtFlags.plus) {\n\t\t\tf.pad(strconv.AppendQuoteToASCII(buf, s));\n\t\t} else {\n\t\t\tf.pad(strconv.AppendQuote(buf, s));\n\t\t}\n\t};\n\tfmt.prototype.fmtQ = function(s) { return this.$val.fmtQ(s); };\n\tfmt.ptr.prototype.fmtC = function(c) {\n\t\tvar buf, c, f, r, w;\n\t\tf = this;\n\t\tr = ((c.$low >> 0));\n\t\tif ((c.$high > 0 || (c.$high === 0 && c.$low > 1114111))) {\n\t\t\tr = 65533;\n\t\t}\n\t\tbuf = $subslice(new sliceType$2(f.intbuf), 0, 0);\n\t\tw = utf8.EncodeRune($subslice(buf, 0, 4), r);\n\t\tf.pad($subslice(buf, 0, w));\n\t};\n\tfmt.prototype.fmtC = function(c) { return this.$val.fmtC(c); };\n\tfmt.ptr.prototype.fmtQc = function(c) {\n\t\tvar buf, c, f, r;\n\t\tf = this;\n\t\tr = ((c.$low >> 0));\n\t\tif ((c.$high > 0 || (c.$high === 0 && c.$low > 1114111))) {\n\t\t\tr = 65533;\n\t\t}\n\t\tbuf = $subslice(new sliceType$2(f.intbuf), 0, 0);\n\t\tif (f.fmtFlags.plus) {\n\t\t\tf.pad(strconv.AppendQuoteRuneToASCII(buf, r));\n\t\t} else {\n\t\t\tf.pad(strconv.AppendQuoteRune(buf, r));\n\t\t}\n\t};\n\tfmt.prototype.fmtQc = function(c) { return this.$val.fmtQc(c); };\n\tfmt.ptr.prototype.fmtFloat = function(v, size, verb, prec) {\n\t\tvar _1, _2, digits, f, hasDecimalPoint, i, num, oldZero, prec, size, tail, tailBuf, v, verb;\n\t\tf = this;\n\t\tif (f.fmtFlags.precPresent) {\n\t\t\tprec = f.prec;\n\t\t}\n\t\tnum = strconv.AppendFloat($subslice(new sliceType$2(f.intbuf), 0, 1), v, ((verb << 24 >>> 24)), prec, size);\n\t\tif (((1 >= num.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : num.$array[num.$offset + 1]) === 45) || ((1 >= num.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : num.$array[num.$offset + 1]) === 43)) {\n\t\t\tnum = $subslice(num, 1);\n\t\t} else {\n\t\t\t(0 >= num.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : num.$array[num.$offset + 0] = 43);\n\t\t}\n\t\tif (f.fmtFlags.space && ((0 >= num.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : num.$array[num.$offset + 0]) === 43) && !f.fmtFlags.plus) {\n\t\t\t(0 >= num.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : num.$array[num.$offset + 0] = 32);\n\t\t}\n\t\tif (((1 >= num.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : num.$array[num.$offset + 1]) === 73) || ((1 >= num.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : num.$array[num.$offset + 1]) === 78)) {\n\t\t\toldZero = f.fmtFlags.zero;\n\t\t\tf.fmtFlags.zero = false;\n\t\t\tif (((1 >= num.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : num.$array[num.$offset + 1]) === 78) && !f.fmtFlags.space && !f.fmtFlags.plus) {\n\t\t\t\tnum = $subslice(num, 1);\n\t\t\t}\n\t\t\tf.pad(num);\n\t\t\tf.fmtFlags.zero = oldZero;\n\t\t\treturn;\n\t\t}\n\t\tif (f.fmtFlags.sharp && !((verb === 98))) {\n\t\t\tdigits = 0;\n\t\t\t_1 = verb;\n\t\t\tif ((_1 === (118)) || (_1 === (103)) || (_1 === (71))) {\n\t\t\t\tdigits = prec;\n\t\t\t\tif (digits === -1) {\n\t\t\t\t\tdigits = 6;\n\t\t\t\t}\n\t\t\t}\n\t\t\ttailBuf = arrayType$2.zero();\n\t\t\ttail = $subslice(new sliceType$2(tailBuf), 0, 0);\n\t\t\thasDecimalPoint = false;\n\t\t\ti = 1;\n\t\t\twhile (true) {\n\t\t\t\tif (!(i < num.$length)) { break; }\n\t\t\t\t_2 = ((i < 0 || i >= num.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : num.$array[num.$offset + i]);\n\t\t\t\tif (_2 === (46)) {\n\t\t\t\t\thasDecimalPoint = true;\n\t\t\t\t} else if ((_2 === (101)) || (_2 === (69))) {\n\t\t\t\t\ttail = $appendSlice(tail, $subslice(num, i));\n\t\t\t\t\tnum = $subslice(num, 0, i);\n\t\t\t\t} else {\n\t\t\t\t\tdigits = digits - (1) >> 0;\n\t\t\t\t}\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t}\n\t\t\tif (!hasDecimalPoint) {\n\t\t\t\tnum = $append(num, 46);\n\t\t\t}\n\t\t\twhile (true) {\n\t\t\t\tif (!(digits > 0)) { break; }\n\t\t\t\tnum = $append(num, 48);\n\t\t\t\tdigits = digits - (1) >> 0;\n\t\t\t}\n\t\t\tnum = $appendSlice(num, tail);\n\t\t}\n\t\tif (f.fmtFlags.plus || !(((0 >= num.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : num.$array[num.$offset + 0]) === 43))) {\n\t\t\tif (f.fmtFlags.zero && f.fmtFlags.widPresent && f.wid > num.$length) {\n\t\t\t\tf.buf.WriteByte((0 >= num.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : num.$array[num.$offset + 0]));\n\t\t\t\tf.writePadding(f.wid - num.$length >> 0);\n\t\t\t\tf.buf.Write($subslice(num, 1));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tf.pad(num);\n\t\t\treturn;\n\t\t}\n\t\tf.pad($subslice(num, 1));\n\t};\n\tfmt.prototype.fmtFloat = function(v, size, verb, prec) { return this.$val.fmtFloat(v, size, verb, prec); };\n\t$ptrType(buffer).prototype.Write = function(p) {\n\t\tvar b, p;\n\t\tb = this;\n\t\tb.$set($appendSlice(b.$get(), p));\n\t};\n\t$ptrType(buffer).prototype.WriteString = function(s) {\n\t\tvar b, s;\n\t\tb = this;\n\t\tb.$set($appendSlice(b.$get(), s));\n\t};\n\t$ptrType(buffer).prototype.WriteByte = function(c) {\n\t\tvar b, c;\n\t\tb = this;\n\t\tb.$set($append(b.$get(), c));\n\t};\n\t$ptrType(buffer).prototype.WriteRune = function(r) {\n\t\tvar b, bp, n, r, w, x;\n\t\tbp = this;\n\t\tif (r < 128) {\n\t\t\tbp.$set($append(bp.$get(), ((r << 24 >>> 24))));\n\t\t\treturn;\n\t\t}\n\t\tb = bp.$get();\n\t\tn = b.$length;\n\t\twhile (true) {\n\t\t\tif (!((n + 4 >> 0) > b.$capacity)) { break; }\n\t\t\tb = $append(b, 0);\n\t\t}\n\t\tw = utf8.EncodeRune((x = $subslice(b, n, (n + 4 >> 0)), $subslice(new sliceType$2(x.$array), x.$offset, x.$offset + x.$length)), r);\n\t\tbp.$set($subslice(b, 0, (n + w >> 0)));\n\t};\n\tnewPrinter = function() {\n\t\tvar _r, p, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; p = $f.p; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = ppFree.Get(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tp = $assertType(_r, ptrType$2);\n\t\tp.panicking = false;\n\t\tp.erroring = false;\n\t\tp.fmt.init((p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))));\n\t\t$s = -1; return p;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: newPrinter }; } $f._r = _r; $f.p = p; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tpp.ptr.prototype.free = function() {\n\t\tvar p;\n\t\tp = this;\n\t\tp.buf = $subslice(p.buf, 0, 0);\n\t\tp.arg = $ifaceNil;\n\t\tp.value = new reflect.Value.ptr(ptrType.nil, 0, 0);\n\t\tppFree.Put(p);\n\t};\n\tpp.prototype.free = function() { return this.$val.free(); };\n\tpp.ptr.prototype.Width = function() {\n\t\tvar _tmp, _tmp$1, ok, p, wid;\n\t\twid = 0;\n\t\tok = false;\n\t\tp = this;\n\t\t_tmp = p.fmt.wid;\n\t\t_tmp$1 = p.fmt.fmtFlags.widPresent;\n\t\twid = _tmp;\n\t\tok = _tmp$1;\n\t\treturn [wid, ok];\n\t};\n\tpp.prototype.Width = function() { return this.$val.Width(); };\n\tpp.ptr.prototype.Precision = function() {\n\t\tvar _tmp, _tmp$1, ok, p, prec;\n\t\tprec = 0;\n\t\tok = false;\n\t\tp = this;\n\t\t_tmp = p.fmt.prec;\n\t\t_tmp$1 = p.fmt.fmtFlags.precPresent;\n\t\tprec = _tmp;\n\t\tok = _tmp$1;\n\t\treturn [prec, ok];\n\t};\n\tpp.prototype.Precision = function() { return this.$val.Precision(); };\n\tpp.ptr.prototype.Flag = function(b) {\n\t\tvar _1, b, p;\n\t\tp = this;\n\t\t_1 = b;\n\t\tif (_1 === (45)) {\n\t\t\treturn p.fmt.fmtFlags.minus;\n\t\t} else if (_1 === (43)) {\n\t\t\treturn p.fmt.fmtFlags.plus || p.fmt.fmtFlags.plusV;\n\t\t} else if (_1 === (35)) {\n\t\t\treturn p.fmt.fmtFlags.sharp || p.fmt.fmtFlags.sharpV;\n\t\t} else if (_1 === (32)) {\n\t\t\treturn p.fmt.fmtFlags.space;\n\t\t} else if (_1 === (48)) {\n\t\t\treturn p.fmt.fmtFlags.zero;\n\t\t}\n\t\treturn false;\n\t};\n\tpp.prototype.Flag = function(b) { return this.$val.Flag(b); };\n\tpp.ptr.prototype.Write = function(b) {\n\t\tvar _tmp, _tmp$1, b, err, p, ret;\n\t\tret = 0;\n\t\terr = $ifaceNil;\n\t\tp = this;\n\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).Write(b);\n\t\t_tmp = b.$length;\n\t\t_tmp$1 = $ifaceNil;\n\t\tret = _tmp;\n\t\terr = _tmp$1;\n\t\treturn [ret, err];\n\t};\n\tpp.prototype.Write = function(b) { return this.$val.Write(b); };\n\tpp.ptr.prototype.WriteString = function(s) {\n\t\tvar _tmp, _tmp$1, err, p, ret, s;\n\t\tret = 0;\n\t\terr = $ifaceNil;\n\t\tp = this;\n\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(s);\n\t\t_tmp = s.length;\n\t\t_tmp$1 = $ifaceNil;\n\t\tret = _tmp;\n\t\terr = _tmp$1;\n\t\treturn [ret, err];\n\t};\n\tpp.prototype.WriteString = function(s) { return this.$val.WriteString(s); };\n\tFprintf = function(w, format, a) {\n\t\tvar _r, _r$1, _tuple, a, err, format, n, p, w, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; a = $f.a; err = $f.err; format = $f.format; n = $f.n; p = $f.p; w = $f.w; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\t_r = newPrinter(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tp = _r;\n\t\t$r = p.doPrintf(format, a); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_r$1 = w.Write((x = p.buf, $subslice(new sliceType$2(x.$array), x.$offset, x.$offset + x.$length))); /* */ $s = 3; case 3: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_tuple = _r$1;\n\t\tn = _tuple[0];\n\t\terr = _tuple[1];\n\t\tp.free();\n\t\t$s = -1; return [n, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Fprintf }; } $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f.a = a; $f.err = err; $f.format = format; $f.n = n; $f.p = p; $f.w = w; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.Fprintf = Fprintf;\n\tPrintf = function(format, a) {\n\t\tvar _r, _tuple, a, err, format, n, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; a = $f.a; err = $f.err; format = $f.format; n = $f.n; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\t_r = Fprintf(os.Stdout, format, a); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tn = _tuple[0];\n\t\terr = _tuple[1];\n\t\t$s = -1; return [n, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Printf }; } $f._r = _r; $f._tuple = _tuple; $f.a = a; $f.err = err; $f.format = format; $f.n = n; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.Printf = Printf;\n\tSprintf = function(format, a) {\n\t\tvar _r, a, format, p, s, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; a = $f.a; format = $f.format; p = $f.p; s = $f.s; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = newPrinter(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tp = _r;\n\t\t$r = p.doPrintf(format, a); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\ts = ($bytesToString(p.buf));\n\t\tp.free();\n\t\t$s = -1; return s;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Sprintf }; } $f._r = _r; $f.a = a; $f.format = format; $f.p = p; $f.s = s; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.Sprintf = Sprintf;\n\tFprint = function(w, a) {\n\t\tvar _r, _r$1, _tuple, a, err, n, p, w, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; a = $f.a; err = $f.err; n = $f.n; p = $f.p; w = $f.w; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\t_r = newPrinter(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tp = _r;\n\t\t$r = p.doPrint(a); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_r$1 = w.Write((x = p.buf, $subslice(new sliceType$2(x.$array), x.$offset, x.$offset + x.$length))); /* */ $s = 3; case 3: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_tuple = _r$1;\n\t\tn = _tuple[0];\n\t\terr = _tuple[1];\n\t\tp.free();\n\t\t$s = -1; return [n, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Fprint }; } $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f.a = a; $f.err = err; $f.n = n; $f.p = p; $f.w = w; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.Fprint = Fprint;\n\tPrint = function(a) {\n\t\tvar _r, _tuple, a, err, n, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; a = $f.a; err = $f.err; n = $f.n; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\t_r = Fprint(os.Stdout, a); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tn = _tuple[0];\n\t\terr = _tuple[1];\n\t\t$s = -1; return [n, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Print }; } $f._r = _r; $f._tuple = _tuple; $f.a = a; $f.err = err; $f.n = n; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.Print = Print;\n\tSprint = function(a) {\n\t\tvar _r, a, p, s, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; a = $f.a; p = $f.p; s = $f.s; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = newPrinter(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tp = _r;\n\t\t$r = p.doPrint(a); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\ts = ($bytesToString(p.buf));\n\t\tp.free();\n\t\t$s = -1; return s;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Sprint }; } $f._r = _r; $f.a = a; $f.p = p; $f.s = s; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.Sprint = Sprint;\n\tFprintln = function(w, a) {\n\t\tvar _r, _r$1, _tuple, a, err, n, p, w, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; a = $f.a; err = $f.err; n = $f.n; p = $f.p; w = $f.w; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\t_r = newPrinter(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tp = _r;\n\t\t$r = p.doPrintln(a); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_r$1 = w.Write((x = p.buf, $subslice(new sliceType$2(x.$array), x.$offset, x.$offset + x.$length))); /* */ $s = 3; case 3: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_tuple = _r$1;\n\t\tn = _tuple[0];\n\t\terr = _tuple[1];\n\t\tp.free();\n\t\t$s = -1; return [n, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Fprintln }; } $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f.a = a; $f.err = err; $f.n = n; $f.p = p; $f.w = w; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.Fprintln = Fprintln;\n\tPrintln = function(a) {\n\t\tvar _r, _tuple, a, err, n, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; a = $f.a; err = $f.err; n = $f.n; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\t_r = Fprintln(os.Stdout, a); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tn = _tuple[0];\n\t\terr = _tuple[1];\n\t\t$s = -1; return [n, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Println }; } $f._r = _r; $f._tuple = _tuple; $f.a = a; $f.err = err; $f.n = n; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.Println = Println;\n\tgetField = function(v, i) {\n\t\tvar _r, _r$1, i, v, val, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; i = $f.i; v = $f.v; val = $f.val; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = $clone(v, reflect.Value).Field(i); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tval = _r;\n\t\t/* */ if (($clone(val, reflect.Value).Kind() === 20) && !$clone(val, reflect.Value).IsNil()) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (($clone(val, reflect.Value).Kind() === 20) && !$clone(val, reflect.Value).IsNil()) { */ case 2:\n\t\t\t_r$1 = $clone(val, reflect.Value).Elem(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\tval = _r$1;\n\t\t/* } */ case 3:\n\t\t$s = -1; return val;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: getField }; } $f._r = _r; $f._r$1 = _r$1; $f.i = i; $f.v = v; $f.val = val; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\ttooLarge = function(x) {\n\t\tvar x;\n\t\treturn x > 1000000 || x < -1000000;\n\t};\n\tparsenum = function(s, start, end) {\n\t\tvar _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, end, isnum, newi, num, s, start;\n\t\tnum = 0;\n\t\tisnum = false;\n\t\tnewi = 0;\n\t\tif (start >= end) {\n\t\t\t_tmp = 0;\n\t\t\t_tmp$1 = false;\n\t\t\t_tmp$2 = end;\n\t\t\tnum = _tmp;\n\t\t\tisnum = _tmp$1;\n\t\t\tnewi = _tmp$2;\n\t\t\treturn [num, isnum, newi];\n\t\t}\n\t\tnewi = start;\n\t\twhile (true) {\n\t\t\tif (!(newi < end && 48 <= s.charCodeAt(newi) && s.charCodeAt(newi) <= 57)) { break; }\n\t\t\tif (tooLarge(num)) {\n\t\t\t\t_tmp$3 = 0;\n\t\t\t\t_tmp$4 = false;\n\t\t\t\t_tmp$5 = end;\n\t\t\t\tnum = _tmp$3;\n\t\t\t\tisnum = _tmp$4;\n\t\t\t\tnewi = _tmp$5;\n\t\t\t\treturn [num, isnum, newi];\n\t\t\t}\n\t\t\tnum = ($imul(num, 10)) + (((s.charCodeAt(newi) - 48 << 24 >>> 24) >> 0)) >> 0;\n\t\t\tisnum = true;\n\t\t\tnewi = newi + (1) >> 0;\n\t\t}\n\t\treturn [num, isnum, newi];\n\t};\n\tpp.ptr.prototype.unknownType = function(v) {\n\t\tvar _r, p, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; p = $f.p; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tp = this;\n\t\tif (!$clone(v, reflect.Value).IsValid()) {\n\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(\"<nil>\");\n\t\t\t$s = -1; return;\n\t\t}\n\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(63);\n\t\t_r = $clone(v, reflect.Value).Type().String(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$r = (p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(_r); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(63);\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: pp.ptr.prototype.unknownType }; } $f._r = _r; $f.p = p; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tpp.prototype.unknownType = function(v) { return this.$val.unknownType(v); };\n\tpp.ptr.prototype.badVerb = function(verb) {\n\t\tvar _r, _r$1, p, verb, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; p = $f.p; verb = $f.verb; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tp = this;\n\t\tp.erroring = true;\n\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(\"%!\");\n\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteRune(verb);\n\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(40);\n\t\t\t/* */ if (!($interfaceIsEqual(p.arg, $ifaceNil))) { $s = 2; continue; }\n\t\t\t/* */ if ($clone(p.value, reflect.Value).IsValid()) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (!($interfaceIsEqual(p.arg, $ifaceNil))) { */ case 2:\n\t\t\t\t_r = reflect.TypeOf(p.arg).String(); /* */ $s = 6; case 6: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t$r = (p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(_r); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(61);\n\t\t\t\t$r = p.printArg(p.arg, 118); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 5; continue;\n\t\t\t/* } else if ($clone(p.value, reflect.Value).IsValid()) { */ case 3:\n\t\t\t\t_r$1 = $clone(p.value, reflect.Value).Type().String(); /* */ $s = 9; case 9: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t$r = (p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(_r$1); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(61);\n\t\t\t\t$r = p.printValue($clone(p.value, reflect.Value), 118, 0); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 5; continue;\n\t\t\t/* } else { */ case 4:\n\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(\"<nil>\");\n\t\t\t/* } */ case 5:\n\t\tcase 1:\n\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(41);\n\t\tp.erroring = false;\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: pp.ptr.prototype.badVerb }; } $f._r = _r; $f._r$1 = _r$1; $f.p = p; $f.verb = verb; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tpp.prototype.badVerb = function(verb) { return this.$val.badVerb(verb); };\n\tpp.ptr.prototype.fmtBool = function(v, verb) {\n\t\tvar _1, p, v, verb, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; p = $f.p; v = $f.v; verb = $f.verb; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tp = this;\n\t\t\t_1 = verb;\n\t\t\t/* */ if ((_1 === (116)) || (_1 === (118))) { $s = 2; continue; }\n\t\t\t/* */ $s = 3; continue;\n\t\t\t/* if ((_1 === (116)) || (_1 === (118))) { */ case 2:\n\t\t\t\tp.fmt.fmtBoolean(v);\n\t\t\t\t$s = 4; continue;\n\t\t\t/* } else { */ case 3:\n\t\t\t\t$r = p.badVerb(verb); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 4:\n\t\tcase 1:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: pp.ptr.prototype.fmtBool }; } $f._1 = _1; $f.p = p; $f.v = v; $f.verb = verb; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tpp.prototype.fmtBool = function(v, verb) { return this.$val.fmtBool(v, verb); };\n\tpp.ptr.prototype.fmt0x64 = function(v, leading0x) {\n\t\tvar leading0x, p, sharp, v;\n\t\tp = this;\n\t\tsharp = p.fmt.fmtFlags.sharp;\n\t\tp.fmt.fmtFlags.sharp = leading0x;\n\t\tp.fmt.fmtInteger(v, 16, false, \"0123456789abcdefx\");\n\t\tp.fmt.fmtFlags.sharp = sharp;\n\t};\n\tpp.prototype.fmt0x64 = function(v, leading0x) { return this.$val.fmt0x64(v, leading0x); };\n\tpp.ptr.prototype.fmtInteger = function(v, isSigned, verb) {\n\t\tvar _1, isSigned, p, v, verb, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; isSigned = $f.isSigned; p = $f.p; v = $f.v; verb = $f.verb; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tp = this;\n\t\t\t_1 = verb;\n\t\t\t/* */ if (_1 === (118)) { $s = 2; continue; }\n\t\t\t/* */ if (_1 === (100)) { $s = 3; continue; }\n\t\t\t/* */ if (_1 === (98)) { $s = 4; continue; }\n\t\t\t/* */ if (_1 === (111)) { $s = 5; continue; }\n\t\t\t/* */ if (_1 === (120)) { $s = 6; continue; }\n\t\t\t/* */ if (_1 === (88)) { $s = 7; continue; }\n\t\t\t/* */ if (_1 === (99)) { $s = 8; continue; }\n\t\t\t/* */ if (_1 === (113)) { $s = 9; continue; }\n\t\t\t/* */ if (_1 === (85)) { $s = 10; continue; }\n\t\t\t/* */ $s = 11; continue;\n\t\t\t/* if (_1 === (118)) { */ case 2:\n\t\t\t\tif (p.fmt.fmtFlags.sharpV && !isSigned) {\n\t\t\t\t\tp.fmt0x64(v, true);\n\t\t\t\t} else {\n\t\t\t\t\tp.fmt.fmtInteger(v, 10, isSigned, \"0123456789abcdefx\");\n\t\t\t\t}\n\t\t\t\t$s = 12; continue;\n\t\t\t/* } else if (_1 === (100)) { */ case 3:\n\t\t\t\tp.fmt.fmtInteger(v, 10, isSigned, \"0123456789abcdefx\");\n\t\t\t\t$s = 12; continue;\n\t\t\t/* } else if (_1 === (98)) { */ case 4:\n\t\t\t\tp.fmt.fmtInteger(v, 2, isSigned, \"0123456789abcdefx\");\n\t\t\t\t$s = 12; continue;\n\t\t\t/* } else if (_1 === (111)) { */ case 5:\n\t\t\t\tp.fmt.fmtInteger(v, 8, isSigned, \"0123456789abcdefx\");\n\t\t\t\t$s = 12; continue;\n\t\t\t/* } else if (_1 === (120)) { */ case 6:\n\t\t\t\tp.fmt.fmtInteger(v, 16, isSigned, \"0123456789abcdefx\");\n\t\t\t\t$s = 12; continue;\n\t\t\t/* } else if (_1 === (88)) { */ case 7:\n\t\t\t\tp.fmt.fmtInteger(v, 16, isSigned, \"0123456789ABCDEFX\");\n\t\t\t\t$s = 12; continue;\n\t\t\t/* } else if (_1 === (99)) { */ case 8:\n\t\t\t\tp.fmt.fmtC(v);\n\t\t\t\t$s = 12; continue;\n\t\t\t/* } else if (_1 === (113)) { */ case 9:\n\t\t\t\t/* */ if ((v.$high < 0 || (v.$high === 0 && v.$low <= 1114111))) { $s = 13; continue; }\n\t\t\t\t/* */ $s = 14; continue;\n\t\t\t\t/* if ((v.$high < 0 || (v.$high === 0 && v.$low <= 1114111))) { */ case 13:\n\t\t\t\t\tp.fmt.fmtQc(v);\n\t\t\t\t\t$s = 15; continue;\n\t\t\t\t/* } else { */ case 14:\n\t\t\t\t\t$r = p.badVerb(verb); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t/* } */ case 15:\n\t\t\t\t$s = 12; continue;\n\t\t\t/* } else if (_1 === (85)) { */ case 10:\n\t\t\t\tp.fmt.fmtUnicode(v);\n\t\t\t\t$s = 12; continue;\n\t\t\t/* } else { */ case 11:\n\t\t\t\t$r = p.badVerb(verb); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 12:\n\t\tcase 1:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: pp.ptr.prototype.fmtInteger }; } $f._1 = _1; $f.isSigned = isSigned; $f.p = p; $f.v = v; $f.verb = verb; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tpp.prototype.fmtInteger = function(v, isSigned, verb) { return this.$val.fmtInteger(v, isSigned, verb); };\n\tpp.ptr.prototype.fmtFloat = function(v, size, verb) {\n\t\tvar _1, p, size, v, verb, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; p = $f.p; size = $f.size; v = $f.v; verb = $f.verb; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tp = this;\n\t\t\t_1 = verb;\n\t\t\t/* */ if (_1 === (118)) { $s = 2; continue; }\n\t\t\t/* */ if ((_1 === (98)) || (_1 === (103)) || (_1 === (71))) { $s = 3; continue; }\n\t\t\t/* */ if ((_1 === (102)) || (_1 === (101)) || (_1 === (69))) { $s = 4; continue; }\n\t\t\t/* */ if (_1 === (70)) { $s = 5; continue; }\n\t\t\t/* */ $s = 6; continue;\n\t\t\t/* if (_1 === (118)) { */ case 2:\n\t\t\t\tp.fmt.fmtFloat(v, size, 103, -1);\n\t\t\t\t$s = 7; continue;\n\t\t\t/* } else if ((_1 === (98)) || (_1 === (103)) || (_1 === (71))) { */ case 3:\n\t\t\t\tp.fmt.fmtFloat(v, size, verb, -1);\n\t\t\t\t$s = 7; continue;\n\t\t\t/* } else if ((_1 === (102)) || (_1 === (101)) || (_1 === (69))) { */ case 4:\n\t\t\t\tp.fmt.fmtFloat(v, size, verb, 6);\n\t\t\t\t$s = 7; continue;\n\t\t\t/* } else if (_1 === (70)) { */ case 5:\n\t\t\t\tp.fmt.fmtFloat(v, size, 102, 6);\n\t\t\t\t$s = 7; continue;\n\t\t\t/* } else { */ case 6:\n\t\t\t\t$r = p.badVerb(verb); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 7:\n\t\tcase 1:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: pp.ptr.prototype.fmtFloat }; } $f._1 = _1; $f.p = p; $f.size = size; $f.v = v; $f.verb = verb; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tpp.prototype.fmtFloat = function(v, size, verb) { return this.$val.fmtFloat(v, size, verb); };\n\tpp.ptr.prototype.fmtComplex = function(v, size, verb) {\n\t\tvar _1, _q, _q$1, oldPlus, p, size, v, verb, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _q = $f._q; _q$1 = $f._q$1; oldPlus = $f.oldPlus; p = $f.p; size = $f.size; v = $f.v; verb = $f.verb; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tp = this;\n\t\t\t_1 = verb;\n\t\t\t/* */ if ((_1 === (118)) || (_1 === (98)) || (_1 === (103)) || (_1 === (71)) || (_1 === (102)) || (_1 === (70)) || (_1 === (101)) || (_1 === (69))) { $s = 2; continue; }\n\t\t\t/* */ $s = 3; continue;\n\t\t\t/* if ((_1 === (118)) || (_1 === (98)) || (_1 === (103)) || (_1 === (71)) || (_1 === (102)) || (_1 === (70)) || (_1 === (101)) || (_1 === (69))) { */ case 2:\n\t\t\t\toldPlus = p.fmt.fmtFlags.plus;\n\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(40);\n\t\t\t\t$r = p.fmtFloat(v.$real, (_q = size / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError(\"integer divide by zero\")), verb); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\tp.fmt.fmtFlags.plus = true;\n\t\t\t\t$r = p.fmtFloat(v.$imag, (_q$1 = size / 2, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError(\"integer divide by zero\")), verb); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(\"i)\");\n\t\t\t\tp.fmt.fmtFlags.plus = oldPlus;\n\t\t\t\t$s = 4; continue;\n\t\t\t/* } else { */ case 3:\n\t\t\t\t$r = p.badVerb(verb); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 4:\n\t\tcase 1:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: pp.ptr.prototype.fmtComplex }; } $f._1 = _1; $f._q = _q; $f._q$1 = _q$1; $f.oldPlus = oldPlus; $f.p = p; $f.size = size; $f.v = v; $f.verb = verb; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tpp.prototype.fmtComplex = function(v, size, verb) { return this.$val.fmtComplex(v, size, verb); };\n\tpp.ptr.prototype.fmtString = function(v, verb) {\n\t\tvar _1, p, v, verb, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; p = $f.p; v = $f.v; verb = $f.verb; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tp = this;\n\t\t\t_1 = verb;\n\t\t\t/* */ if (_1 === (118)) { $s = 2; continue; }\n\t\t\t/* */ if (_1 === (115)) { $s = 3; continue; }\n\t\t\t/* */ if (_1 === (120)) { $s = 4; continue; }\n\t\t\t/* */ if (_1 === (88)) { $s = 5; continue; }\n\t\t\t/* */ if (_1 === (113)) { $s = 6; continue; }\n\t\t\t/* */ $s = 7; continue;\n\t\t\t/* if (_1 === (118)) { */ case 2:\n\t\t\t\tif (p.fmt.fmtFlags.sharpV) {\n\t\t\t\t\tp.fmt.fmtQ(v);\n\t\t\t\t} else {\n\t\t\t\t\tp.fmt.fmtS(v);\n\t\t\t\t}\n\t\t\t\t$s = 8; continue;\n\t\t\t/* } else if (_1 === (115)) { */ case 3:\n\t\t\t\tp.fmt.fmtS(v);\n\t\t\t\t$s = 8; continue;\n\t\t\t/* } else if (_1 === (120)) { */ case 4:\n\t\t\t\tp.fmt.fmtSx(v, \"0123456789abcdefx\");\n\t\t\t\t$s = 8; continue;\n\t\t\t/* } else if (_1 === (88)) { */ case 5:\n\t\t\t\tp.fmt.fmtSx(v, \"0123456789ABCDEFX\");\n\t\t\t\t$s = 8; continue;\n\t\t\t/* } else if (_1 === (113)) { */ case 6:\n\t\t\t\tp.fmt.fmtQ(v);\n\t\t\t\t$s = 8; continue;\n\t\t\t/* } else { */ case 7:\n\t\t\t\t$r = p.badVerb(verb); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 8:\n\t\tcase 1:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: pp.ptr.prototype.fmtString }; } $f._1 = _1; $f.p = p; $f.v = v; $f.verb = verb; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tpp.prototype.fmtString = function(v, verb) { return this.$val.fmtString(v, verb); };\n\tpp.ptr.prototype.fmtBytes = function(v, verb, typeString) {\n\t\tvar _1, _i, _i$1, _r, _ref, _ref$1, c, c$1, i, i$1, p, typeString, v, verb, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _i = $f._i; _i$1 = $f._i$1; _r = $f._r; _ref = $f._ref; _ref$1 = $f._ref$1; c = $f.c; c$1 = $f.c$1; i = $f.i; i$1 = $f.i$1; p = $f.p; typeString = $f.typeString; v = $f.v; verb = $f.verb; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tp = this;\n\t\t\t_1 = verb;\n\t\t\t/* */ if ((_1 === (118)) || (_1 === (100))) { $s = 2; continue; }\n\t\t\t/* */ if (_1 === (115)) { $s = 3; continue; }\n\t\t\t/* */ if (_1 === (120)) { $s = 4; continue; }\n\t\t\t/* */ if (_1 === (88)) { $s = 5; continue; }\n\t\t\t/* */ if (_1 === (113)) { $s = 6; continue; }\n\t\t\t/* */ $s = 7; continue;\n\t\t\t/* if ((_1 === (118)) || (_1 === (100))) { */ case 2:\n\t\t\t\tif (p.fmt.fmtFlags.sharpV) {\n\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(typeString);\n\t\t\t\t\tif (v === sliceType$2.nil) {\n\t\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(\"(nil)\");\n\t\t\t\t\t\t$s = -1; return;\n\t\t\t\t\t}\n\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(123);\n\t\t\t\t\t_ref = v;\n\t\t\t\t\t_i = 0;\n\t\t\t\t\twhile (true) {\n\t\t\t\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\t\t\t\ti = _i;\n\t\t\t\t\t\tc = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\t\t\t\tif (i > 0) {\n\t\t\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(\", \");\n\t\t\t\t\t\t}\n\t\t\t\t\t\tp.fmt0x64((new $Uint64(0, c)), true);\n\t\t\t\t\t\t_i++;\n\t\t\t\t\t}\n\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(125);\n\t\t\t\t} else {\n\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(91);\n\t\t\t\t\t_ref$1 = v;\n\t\t\t\t\t_i$1 = 0;\n\t\t\t\t\twhile (true) {\n\t\t\t\t\t\tif (!(_i$1 < _ref$1.$length)) { break; }\n\t\t\t\t\t\ti$1 = _i$1;\n\t\t\t\t\t\tc$1 = ((_i$1 < 0 || _i$1 >= _ref$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref$1.$array[_ref$1.$offset + _i$1]);\n\t\t\t\t\t\tif (i$1 > 0) {\n\t\t\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(32);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tp.fmt.fmtInteger((new $Uint64(0, c$1)), 10, false, \"0123456789abcdefx\");\n\t\t\t\t\t\t_i$1++;\n\t\t\t\t\t}\n\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(93);\n\t\t\t\t}\n\t\t\t\t$s = 8; continue;\n\t\t\t/* } else if (_1 === (115)) { */ case 3:\n\t\t\t\tp.fmt.fmtS(($bytesToString(v)));\n\t\t\t\t$s = 8; continue;\n\t\t\t/* } else if (_1 === (120)) { */ case 4:\n\t\t\t\tp.fmt.fmtBx(v, \"0123456789abcdefx\");\n\t\t\t\t$s = 8; continue;\n\t\t\t/* } else if (_1 === (88)) { */ case 5:\n\t\t\t\tp.fmt.fmtBx(v, \"0123456789ABCDEFX\");\n\t\t\t\t$s = 8; continue;\n\t\t\t/* } else if (_1 === (113)) { */ case 6:\n\t\t\t\tp.fmt.fmtQ(($bytesToString(v)));\n\t\t\t\t$s = 8; continue;\n\t\t\t/* } else { */ case 7:\n\t\t\t\t_r = reflect.ValueOf(v); /* */ $s = 9; case 9: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t$r = p.printValue($clone(_r, reflect.Value), verb, 0); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 8:\n\t\tcase 1:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: pp.ptr.prototype.fmtBytes }; } $f._1 = _1; $f._i = _i; $f._i$1 = _i$1; $f._r = _r; $f._ref = _ref; $f._ref$1 = _ref$1; $f.c = c; $f.c$1 = c$1; $f.i = i; $f.i$1 = i$1; $f.p = p; $f.typeString = typeString; $f.v = v; $f.verb = verb; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tpp.prototype.fmtBytes = function(v, verb, typeString) { return this.$val.fmtBytes(v, verb, typeString); };\n\tpp.ptr.prototype.fmtPointer = function(value, verb) {\n\t\tvar _1, _2, _r, p, u, value, verb, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _2 = $f._2; _r = $f._r; p = $f.p; u = $f.u; value = $f.value; verb = $f.verb; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tp = this;\n\t\tu = 0;\n\t\t\t_1 = $clone(value, reflect.Value).Kind();\n\t\t\t/* */ if ((_1 === (18)) || (_1 === (19)) || (_1 === (21)) || (_1 === (22)) || (_1 === (23)) || (_1 === (26))) { $s = 2; continue; }\n\t\t\t/* */ $s = 3; continue;\n\t\t\t/* if ((_1 === (18)) || (_1 === (19)) || (_1 === (21)) || (_1 === (22)) || (_1 === (23)) || (_1 === (26))) { */ case 2:\n\t\t\t\tu = $clone(value, reflect.Value).Pointer();\n\t\t\t\t$s = 4; continue;\n\t\t\t/* } else { */ case 3:\n\t\t\t\t$r = p.badVerb(verb); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return;\n\t\t\t/* } */ case 4:\n\t\tcase 1:\n\t\t\t_2 = verb;\n\t\t\t/* */ if (_2 === (118)) { $s = 7; continue; }\n\t\t\t/* */ if (_2 === (112)) { $s = 8; continue; }\n\t\t\t/* */ if ((_2 === (98)) || (_2 === (111)) || (_2 === (100)) || (_2 === (120)) || (_2 === (88))) { $s = 9; continue; }\n\t\t\t/* */ $s = 10; continue;\n\t\t\t/* if (_2 === (118)) { */ case 7:\n\t\t\t\t/* */ if (p.fmt.fmtFlags.sharpV) { $s = 12; continue; }\n\t\t\t\t/* */ $s = 13; continue;\n\t\t\t\t/* if (p.fmt.fmtFlags.sharpV) { */ case 12:\n\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(40);\n\t\t\t\t\t_r = $clone(value, reflect.Value).Type().String(); /* */ $s = 15; case 15: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t\t$r = (p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(_r); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(\")(\");\n\t\t\t\t\tif (u === 0) {\n\t\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(\"nil\");\n\t\t\t\t\t} else {\n\t\t\t\t\t\tp.fmt0x64((new $Uint64(0, u.constructor === Number ? u : 1)), true);\n\t\t\t\t\t}\n\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(41);\n\t\t\t\t\t$s = 14; continue;\n\t\t\t\t/* } else { */ case 13:\n\t\t\t\t\tif (u === 0) {\n\t\t\t\t\t\tp.fmt.padString(\"<nil>\");\n\t\t\t\t\t} else {\n\t\t\t\t\t\tp.fmt0x64((new $Uint64(0, u.constructor === Number ? u : 1)), !p.fmt.fmtFlags.sharp);\n\t\t\t\t\t}\n\t\t\t\t/* } */ case 14:\n\t\t\t\t$s = 11; continue;\n\t\t\t/* } else if (_2 === (112)) { */ case 8:\n\t\t\t\tp.fmt0x64((new $Uint64(0, u.constructor === Number ? u : 1)), !p.fmt.fmtFlags.sharp);\n\t\t\t\t$s = 11; continue;\n\t\t\t/* } else if ((_2 === (98)) || (_2 === (111)) || (_2 === (100)) || (_2 === (120)) || (_2 === (88))) { */ case 9:\n\t\t\t\t$r = p.fmtInteger((new $Uint64(0, u.constructor === Number ? u : 1)), false, verb); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 11; continue;\n\t\t\t/* } else { */ case 10:\n\t\t\t\t$r = p.badVerb(verb); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 11:\n\t\tcase 6:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: pp.ptr.prototype.fmtPointer }; } $f._1 = _1; $f._2 = _2; $f._r = _r; $f.p = p; $f.u = u; $f.value = value; $f.verb = verb; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tpp.prototype.fmtPointer = function(value, verb) { return this.$val.fmtPointer(value, verb); };\n\tpp.ptr.prototype.catchPanic = function(arg, verb) {\n\t\tvar _r, arg, err, oldFlags, p, v, verb, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; arg = $f.arg; err = $f.err; oldFlags = $f.oldFlags; p = $f.p; v = $f.v; verb = $f.verb; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tp = this;\n\t\terr = $recover();\n\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 1:\n\t\t\t_r = reflect.ValueOf(arg); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tv = _r;\n\t\t\tif (($clone(v, reflect.Value).Kind() === 22) && $clone(v, reflect.Value).IsNil()) {\n\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(\"<nil>\");\n\t\t\t\t$s = -1; return;\n\t\t\t}\n\t\t\tif (p.panicking) {\n\t\t\t\t$panic(err);\n\t\t\t}\n\t\t\toldFlags = $clone(p.fmt.fmtFlags, fmtFlags);\n\t\t\tp.fmt.clearflags();\n\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(\"%!\");\n\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteRune(verb);\n\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(\"(PANIC=\");\n\t\t\tp.panicking = true;\n\t\t\t$r = p.printArg(err, 118); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\tp.panicking = false;\n\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(41);\n\t\t\tfmtFlags.copy(p.fmt.fmtFlags, oldFlags);\n\t\t/* } */ case 2:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: pp.ptr.prototype.catchPanic }; } $f._r = _r; $f.arg = arg; $f.err = err; $f.oldFlags = oldFlags; $f.p = p; $f.v = v; $f.verb = verb; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tpp.prototype.catchPanic = function(arg, verb) { return this.$val.catchPanic(arg, verb); };\n\tpp.ptr.prototype.handleMethods = function(verb) {\n\t\tvar _1, _r, _r$1, _r$2, _ref, _tuple, _tuple$1, formatter, handled, ok, ok$1, p, stringer, v, v$1, verb, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _ref = $f._ref; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; formatter = $f.formatter; handled = $f.handled; ok = $f.ok; ok$1 = $f.ok$1; p = $f.p; stringer = $f.stringer; v = $f.v; v$1 = $f.v$1; verb = $f.verb; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\thandled = false;\n\t\tp = this;\n\t\tif (p.erroring) {\n\t\t\t$s = -1; return handled;\n\t\t}\n\t\t_tuple = $assertType(p.arg, Formatter, true);\n\t\tformatter = _tuple[0];\n\t\tok = _tuple[1];\n\t\t/* */ if (ok) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (ok) { */ case 1:\n\t\t\thandled = true;\n\t\t\t$deferred.push([$methodVal(p, \"catchPanic\"), [p.arg, verb]]);\n\t\t\t$r = formatter.Format(p, verb); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return handled;\n\t\t/* } */ case 2:\n\t\t/* */ if (p.fmt.fmtFlags.sharpV) { $s = 4; continue; }\n\t\t/* */ $s = 5; continue;\n\t\t/* if (p.fmt.fmtFlags.sharpV) { */ case 4:\n\t\t\t_tuple$1 = $assertType(p.arg, GoStringer, true);\n\t\t\tstringer = _tuple$1[0];\n\t\t\tok$1 = _tuple$1[1];\n\t\t\t/* */ if (ok$1) { $s = 7; continue; }\n\t\t\t/* */ $s = 8; continue;\n\t\t\t/* if (ok$1) { */ case 7:\n\t\t\t\thandled = true;\n\t\t\t\t$deferred.push([$methodVal(p, \"catchPanic\"), [p.arg, verb]]);\n\t\t\t\t_r = stringer.GoString(); /* */ $s = 9; case 9: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t$r = p.fmt.fmtS(_r); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return handled;\n\t\t\t/* } */ case 8:\n\t\t\t$s = 6; continue;\n\t\t/* } else { */ case 5:\n\t\t\t\t_1 = verb;\n\t\t\t\t/* */ if ((_1 === (118)) || (_1 === (115)) || (_1 === (120)) || (_1 === (88)) || (_1 === (113))) { $s = 12; continue; }\n\t\t\t\t/* */ $s = 13; continue;\n\t\t\t\t/* if ((_1 === (118)) || (_1 === (115)) || (_1 === (120)) || (_1 === (88)) || (_1 === (113))) { */ case 12:\n\t\t\t\t\t_ref = p.arg;\n\t\t\t\t\t/* */ if ($assertType(_ref, $error, true)[1]) { $s = 14; continue; }\n\t\t\t\t\t/* */ if ($assertType(_ref, Stringer, true)[1]) { $s = 15; continue; }\n\t\t\t\t\t/* */ $s = 16; continue;\n\t\t\t\t\t/* if ($assertType(_ref, $error, true)[1]) { */ case 14:\n\t\t\t\t\t\tv = _ref;\n\t\t\t\t\t\thandled = true;\n\t\t\t\t\t\t$deferred.push([$methodVal(p, \"catchPanic\"), [p.arg, verb]]);\n\t\t\t\t\t\t_r$1 = v.Error(); /* */ $s = 17; case 17: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t\t\t$r = p.fmtString(_r$1, verb); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t\t$s = -1; return handled;\n\t\t\t\t\t/* } else if ($assertType(_ref, Stringer, true)[1]) { */ case 15:\n\t\t\t\t\t\tv$1 = _ref;\n\t\t\t\t\t\thandled = true;\n\t\t\t\t\t\t$deferred.push([$methodVal(p, \"catchPanic\"), [p.arg, verb]]);\n\t\t\t\t\t\t_r$2 = v$1.String(); /* */ $s = 19; case 19: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t\t\t$r = p.fmtString(_r$2, verb); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t\t$s = -1; return handled;\n\t\t\t\t\t/* } */ case 16:\n\t\t\t\t/* } */ case 13:\n\t\t\tcase 11:\n\t\t/* } */ case 6:\n\t\thandled = false;\n\t\t$s = -1; return handled;\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if (!$curGoroutine.asleep) { return  handled; } if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: pp.ptr.prototype.handleMethods }; } $f._1 = _1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._ref = _ref; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.formatter = formatter; $f.handled = handled; $f.ok = ok; $f.ok$1 = ok$1; $f.p = p; $f.stringer = stringer; $f.v = v; $f.v$1 = v$1; $f.verb = verb; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tpp.prototype.handleMethods = function(verb) { return this.$val.handleMethods(verb); };\n\tpp.ptr.prototype.printArg = function(arg, verb) {\n\t\tvar _1, _2, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _ref, arg, f, f$1, f$10, f$11, f$12, f$13, f$14, f$15, f$16, f$17, f$18, f$19, f$2, f$3, f$4, f$5, f$6, f$7, f$8, f$9, p, verb, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _2 = $f._2; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _ref = $f._ref; arg = $f.arg; f = $f.f; f$1 = $f.f$1; f$10 = $f.f$10; f$11 = $f.f$11; f$12 = $f.f$12; f$13 = $f.f$13; f$14 = $f.f$14; f$15 = $f.f$15; f$16 = $f.f$16; f$17 = $f.f$17; f$18 = $f.f$18; f$19 = $f.f$19; f$2 = $f.f$2; f$3 = $f.f$3; f$4 = $f.f$4; f$5 = $f.f$5; f$6 = $f.f$6; f$7 = $f.f$7; f$8 = $f.f$8; f$9 = $f.f$9; p = $f.p; verb = $f.verb; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tp = this;\n\t\tp.arg = arg;\n\t\tp.value = new reflect.Value.ptr(ptrType.nil, 0, 0);\n\t\t/* */ if ($interfaceIsEqual(arg, $ifaceNil)) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if ($interfaceIsEqual(arg, $ifaceNil)) { */ case 1:\n\t\t\t\t_1 = verb;\n\t\t\t\t/* */ if ((_1 === (84)) || (_1 === (118))) { $s = 4; continue; }\n\t\t\t\t/* */ $s = 5; continue;\n\t\t\t\t/* if ((_1 === (84)) || (_1 === (118))) { */ case 4:\n\t\t\t\t\tp.fmt.padString(\"<nil>\");\n\t\t\t\t\t$s = 6; continue;\n\t\t\t\t/* } else { */ case 5:\n\t\t\t\t\t$r = p.badVerb(verb); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t/* } */ case 6:\n\t\t\tcase 3:\n\t\t\t$s = -1; return;\n\t\t/* } */ case 2:\n\t\t\t_2 = verb;\n\t\t\t/* */ if (_2 === (84)) { $s = 9; continue; }\n\t\t\t/* */ if (_2 === (112)) { $s = 10; continue; }\n\t\t\t/* */ $s = 11; continue;\n\t\t\t/* if (_2 === (84)) { */ case 9:\n\t\t\t\t_r = reflect.TypeOf(arg).String(); /* */ $s = 12; case 12: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t$r = p.fmt.fmtS(_r); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return;\n\t\t\t/* } else if (_2 === (112)) { */ case 10:\n\t\t\t\t_r$1 = reflect.ValueOf(arg); /* */ $s = 14; case 14: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t$r = p.fmtPointer($clone(_r$1, reflect.Value), 112); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return;\n\t\t\t/* } */ case 11:\n\t\tcase 8:\n\t\t_ref = arg;\n\t\t/* */ if ($assertType(_ref, $Bool, true)[1]) { $s = 16; continue; }\n\t\t/* */ if ($assertType(_ref, $Float32, true)[1]) { $s = 17; continue; }\n\t\t/* */ if ($assertType(_ref, $Float64, true)[1]) { $s = 18; continue; }\n\t\t/* */ if ($assertType(_ref, $Complex64, true)[1]) { $s = 19; continue; }\n\t\t/* */ if ($assertType(_ref, $Complex128, true)[1]) { $s = 20; continue; }\n\t\t/* */ if ($assertType(_ref, $Int, true)[1]) { $s = 21; continue; }\n\t\t/* */ if ($assertType(_ref, $Int8, true)[1]) { $s = 22; continue; }\n\t\t/* */ if ($assertType(_ref, $Int16, true)[1]) { $s = 23; continue; }\n\t\t/* */ if ($assertType(_ref, $Int32, true)[1]) { $s = 24; continue; }\n\t\t/* */ if ($assertType(_ref, $Int64, true)[1]) { $s = 25; continue; }\n\t\t/* */ if ($assertType(_ref, $Uint, true)[1]) { $s = 26; continue; }\n\t\t/* */ if ($assertType(_ref, $Uint8, true)[1]) { $s = 27; continue; }\n\t\t/* */ if ($assertType(_ref, $Uint16, true)[1]) { $s = 28; continue; }\n\t\t/* */ if ($assertType(_ref, $Uint32, true)[1]) { $s = 29; continue; }\n\t\t/* */ if ($assertType(_ref, $Uint64, true)[1]) { $s = 30; continue; }\n\t\t/* */ if ($assertType(_ref, $Uintptr, true)[1]) { $s = 31; continue; }\n\t\t/* */ if ($assertType(_ref, $String, true)[1]) { $s = 32; continue; }\n\t\t/* */ if ($assertType(_ref, sliceType$2, true)[1]) { $s = 33; continue; }\n\t\t/* */ if ($assertType(_ref, reflect.Value, true)[1]) { $s = 34; continue; }\n\t\t/* */ $s = 35; continue;\n\t\t/* if ($assertType(_ref, $Bool, true)[1]) { */ case 16:\n\t\t\tf = _ref.$val;\n\t\t\t$r = p.fmtBool(f, verb); /* */ $s = 37; case 37: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 36; continue;\n\t\t/* } else if ($assertType(_ref, $Float32, true)[1]) { */ case 17:\n\t\t\tf$1 = _ref.$val;\n\t\t\t$r = p.fmtFloat((f$1), 32, verb); /* */ $s = 38; case 38: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 36; continue;\n\t\t/* } else if ($assertType(_ref, $Float64, true)[1]) { */ case 18:\n\t\t\tf$2 = _ref.$val;\n\t\t\t$r = p.fmtFloat(f$2, 64, verb); /* */ $s = 39; case 39: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 36; continue;\n\t\t/* } else if ($assertType(_ref, $Complex64, true)[1]) { */ case 19:\n\t\t\tf$3 = _ref.$val;\n\t\t\t$r = p.fmtComplex((new $Complex128(f$3.$real, f$3.$imag)), 64, verb); /* */ $s = 40; case 40: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 36; continue;\n\t\t/* } else if ($assertType(_ref, $Complex128, true)[1]) { */ case 20:\n\t\t\tf$4 = _ref.$val;\n\t\t\t$r = p.fmtComplex(f$4, 128, verb); /* */ $s = 41; case 41: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 36; continue;\n\t\t/* } else if ($assertType(_ref, $Int, true)[1]) { */ case 21:\n\t\t\tf$5 = _ref.$val;\n\t\t\t$r = p.fmtInteger((new $Uint64(0, f$5)), true, verb); /* */ $s = 42; case 42: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 36; continue;\n\t\t/* } else if ($assertType(_ref, $Int8, true)[1]) { */ case 22:\n\t\t\tf$6 = _ref.$val;\n\t\t\t$r = p.fmtInteger((new $Uint64(0, f$6)), true, verb); /* */ $s = 43; case 43: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 36; continue;\n\t\t/* } else if ($assertType(_ref, $Int16, true)[1]) { */ case 23:\n\t\t\tf$7 = _ref.$val;\n\t\t\t$r = p.fmtInteger((new $Uint64(0, f$7)), true, verb); /* */ $s = 44; case 44: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 36; continue;\n\t\t/* } else if ($assertType(_ref, $Int32, true)[1]) { */ case 24:\n\t\t\tf$8 = _ref.$val;\n\t\t\t$r = p.fmtInteger((new $Uint64(0, f$8)), true, verb); /* */ $s = 45; case 45: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 36; continue;\n\t\t/* } else if ($assertType(_ref, $Int64, true)[1]) { */ case 25:\n\t\t\tf$9 = _ref.$val;\n\t\t\t$r = p.fmtInteger((new $Uint64(f$9.$high, f$9.$low)), true, verb); /* */ $s = 46; case 46: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 36; continue;\n\t\t/* } else if ($assertType(_ref, $Uint, true)[1]) { */ case 26:\n\t\t\tf$10 = _ref.$val;\n\t\t\t$r = p.fmtInteger((new $Uint64(0, f$10)), false, verb); /* */ $s = 47; case 47: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 36; continue;\n\t\t/* } else if ($assertType(_ref, $Uint8, true)[1]) { */ case 27:\n\t\t\tf$11 = _ref.$val;\n\t\t\t$r = p.fmtInteger((new $Uint64(0, f$11)), false, verb); /* */ $s = 48; case 48: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 36; continue;\n\t\t/* } else if ($assertType(_ref, $Uint16, true)[1]) { */ case 28:\n\t\t\tf$12 = _ref.$val;\n\t\t\t$r = p.fmtInteger((new $Uint64(0, f$12)), false, verb); /* */ $s = 49; case 49: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 36; continue;\n\t\t/* } else if ($assertType(_ref, $Uint32, true)[1]) { */ case 29:\n\t\t\tf$13 = _ref.$val;\n\t\t\t$r = p.fmtInteger((new $Uint64(0, f$13)), false, verb); /* */ $s = 50; case 50: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 36; continue;\n\t\t/* } else if ($assertType(_ref, $Uint64, true)[1]) { */ case 30:\n\t\t\tf$14 = _ref.$val;\n\t\t\t$r = p.fmtInteger(f$14, false, verb); /* */ $s = 51; case 51: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 36; continue;\n\t\t/* } else if ($assertType(_ref, $Uintptr, true)[1]) { */ case 31:\n\t\t\tf$15 = _ref.$val;\n\t\t\t$r = p.fmtInteger((new $Uint64(0, f$15.constructor === Number ? f$15 : 1)), false, verb); /* */ $s = 52; case 52: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 36; continue;\n\t\t/* } else if ($assertType(_ref, $String, true)[1]) { */ case 32:\n\t\t\tf$16 = _ref.$val;\n\t\t\t$r = p.fmtString(f$16, verb); /* */ $s = 53; case 53: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 36; continue;\n\t\t/* } else if ($assertType(_ref, sliceType$2, true)[1]) { */ case 33:\n\t\t\tf$17 = _ref.$val;\n\t\t\t$r = p.fmtBytes(f$17, verb, \"[]byte\"); /* */ $s = 54; case 54: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 36; continue;\n\t\t/* } else if ($assertType(_ref, reflect.Value, true)[1]) { */ case 34:\n\t\t\tf$18 = _ref.$val;\n\t\t\t/* */ if ($clone(f$18, reflect.Value).IsValid() && $clone(f$18, reflect.Value).CanInterface()) { $s = 55; continue; }\n\t\t\t/* */ $s = 56; continue;\n\t\t\t/* if ($clone(f$18, reflect.Value).IsValid() && $clone(f$18, reflect.Value).CanInterface()) { */ case 55:\n\t\t\t\t_r$2 = $clone(f$18, reflect.Value).Interface(); /* */ $s = 57; case 57: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\tp.arg = _r$2;\n\t\t\t\t_r$3 = p.handleMethods(verb); /* */ $s = 60; case 60: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t/* */ if (_r$3) { $s = 58; continue; }\n\t\t\t\t/* */ $s = 59; continue;\n\t\t\t\t/* if (_r$3) { */ case 58:\n\t\t\t\t\t$s = -1; return;\n\t\t\t\t/* } */ case 59:\n\t\t\t/* } */ case 56:\n\t\t\t$r = p.printValue($clone(f$18, reflect.Value), verb, 0); /* */ $s = 61; case 61: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 36; continue;\n\t\t/* } else { */ case 35:\n\t\t\tf$19 = _ref;\n\t\t\t_r$4 = p.handleMethods(verb); /* */ $s = 64; case 64: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t/* */ if (!_r$4) { $s = 62; continue; }\n\t\t\t/* */ $s = 63; continue;\n\t\t\t/* if (!_r$4) { */ case 62:\n\t\t\t\t_r$5 = reflect.ValueOf(f$19); /* */ $s = 65; case 65: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t\t$r = p.printValue($clone(_r$5, reflect.Value), verb, 0); /* */ $s = 66; case 66: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 63:\n\t\t/* } */ case 36:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: pp.ptr.prototype.printArg }; } $f._1 = _1; $f._2 = _2; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._ref = _ref; $f.arg = arg; $f.f = f; $f.f$1 = f$1; $f.f$10 = f$10; $f.f$11 = f$11; $f.f$12 = f$12; $f.f$13 = f$13; $f.f$14 = f$14; $f.f$15 = f$15; $f.f$16 = f$16; $f.f$17 = f$17; $f.f$18 = f$18; $f.f$19 = f$19; $f.f$2 = f$2; $f.f$3 = f$3; $f.f$4 = f$4; $f.f$5 = f$5; $f.f$6 = f$6; $f.f$7 = f$7; $f.f$8 = f$8; $f.f$9 = f$9; $f.p = p; $f.verb = verb; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tpp.prototype.printArg = function(arg, verb) { return this.$val.printArg(arg, verb); };\n\tpp.ptr.prototype.printValue = function(value, verb, depth) {\n\t\tvar _1, _2, _3, _4, _arg, _arg$1, _arg$2, _i, _i$1, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$16, _r$17, _r$18, _r$19, _r$2, _r$20, _r$21, _r$22, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _ref, _ref$1, a, bytes, depth, f, i, i$1, i$2, i$3, i$4, key, keys, name, p, t, value, value$1, verb, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _2 = $f._2; _3 = $f._3; _4 = $f._4; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _i = $f._i; _i$1 = $f._i$1; _r = $f._r; _r$1 = $f._r$1; _r$10 = $f._r$10; _r$11 = $f._r$11; _r$12 = $f._r$12; _r$13 = $f._r$13; _r$14 = $f._r$14; _r$15 = $f._r$15; _r$16 = $f._r$16; _r$17 = $f._r$17; _r$18 = $f._r$18; _r$19 = $f._r$19; _r$2 = $f._r$2; _r$20 = $f._r$20; _r$21 = $f._r$21; _r$22 = $f._r$22; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _r$8 = $f._r$8; _r$9 = $f._r$9; _ref = $f._ref; _ref$1 = $f._ref$1; a = $f.a; bytes = $f.bytes; depth = $f.depth; f = $f.f; i = $f.i; i$1 = $f.i$1; i$2 = $f.i$2; i$3 = $f.i$3; i$4 = $f.i$4; key = $f.key; keys = $f.keys; name = $f.name; p = $f.p; t = $f.t; value = $f.value; value$1 = $f.value$1; verb = $f.verb; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tp = this;\n\t\t/* */ if (depth > 0 && $clone(value, reflect.Value).IsValid() && $clone(value, reflect.Value).CanInterface()) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (depth > 0 && $clone(value, reflect.Value).IsValid() && $clone(value, reflect.Value).CanInterface()) { */ case 1:\n\t\t\t_r = $clone(value, reflect.Value).Interface(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tp.arg = _r;\n\t\t\t_r$1 = p.handleMethods(verb); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t/* */ if (_r$1) { $s = 4; continue; }\n\t\t\t/* */ $s = 5; continue;\n\t\t\t/* if (_r$1) { */ case 4:\n\t\t\t\t$s = -1; return;\n\t\t\t/* } */ case 5:\n\t\t/* } */ case 2:\n\t\tp.arg = $ifaceNil;\n\t\tp.value = value;\n\t\t\tf = value;\n\t\t\t_1 = $clone(value, reflect.Value).Kind();\n\t\t\t/* */ if (_1 === (0)) { $s = 8; continue; }\n\t\t\t/* */ if (_1 === (1)) { $s = 9; continue; }\n\t\t\t/* */ if ((_1 === (2)) || (_1 === (3)) || (_1 === (4)) || (_1 === (5)) || (_1 === (6))) { $s = 10; continue; }\n\t\t\t/* */ if ((_1 === (7)) || (_1 === (8)) || (_1 === (9)) || (_1 === (10)) || (_1 === (11)) || (_1 === (12))) { $s = 11; continue; }\n\t\t\t/* */ if (_1 === (13)) { $s = 12; continue; }\n\t\t\t/* */ if (_1 === (14)) { $s = 13; continue; }\n\t\t\t/* */ if (_1 === (15)) { $s = 14; continue; }\n\t\t\t/* */ if (_1 === (16)) { $s = 15; continue; }\n\t\t\t/* */ if (_1 === (24)) { $s = 16; continue; }\n\t\t\t/* */ if (_1 === (21)) { $s = 17; continue; }\n\t\t\t/* */ if (_1 === (25)) { $s = 18; continue; }\n\t\t\t/* */ if (_1 === (20)) { $s = 19; continue; }\n\t\t\t/* */ if ((_1 === (17)) || (_1 === (23))) { $s = 20; continue; }\n\t\t\t/* */ if (_1 === (22)) { $s = 21; continue; }\n\t\t\t/* */ if ((_1 === (18)) || (_1 === (19)) || (_1 === (26))) { $s = 22; continue; }\n\t\t\t/* */ $s = 23; continue;\n\t\t\t/* if (_1 === (0)) { */ case 8:\n\t\t\t\t/* */ if (depth === 0) { $s = 25; continue; }\n\t\t\t\t/* */ $s = 26; continue;\n\t\t\t\t/* if (depth === 0) { */ case 25:\n\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(\"<invalid reflect.Value>\");\n\t\t\t\t\t$s = 27; continue;\n\t\t\t\t/* } else { */ case 26:\n\t\t\t\t\t\t_2 = verb;\n\t\t\t\t\t\t/* */ if (_2 === (118)) { $s = 29; continue; }\n\t\t\t\t\t\t/* */ $s = 30; continue;\n\t\t\t\t\t\t/* if (_2 === (118)) { */ case 29:\n\t\t\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(\"<nil>\");\n\t\t\t\t\t\t\t$s = 31; continue;\n\t\t\t\t\t\t/* } else { */ case 30:\n\t\t\t\t\t\t\t$r = p.badVerb(verb); /* */ $s = 32; case 32: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t\t/* } */ case 31:\n\t\t\t\t\tcase 28:\n\t\t\t\t/* } */ case 27:\n\t\t\t\t$s = 24; continue;\n\t\t\t/* } else if (_1 === (1)) { */ case 9:\n\t\t\t\t$r = p.fmtBool($clone(f, reflect.Value).Bool(), verb); /* */ $s = 33; case 33: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 24; continue;\n\t\t\t/* } else if ((_1 === (2)) || (_1 === (3)) || (_1 === (4)) || (_1 === (5)) || (_1 === (6))) { */ case 10:\n\t\t\t\t$r = p.fmtInteger(((x = $clone(f, reflect.Value).Int(), new $Uint64(x.$high, x.$low))), true, verb); /* */ $s = 34; case 34: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 24; continue;\n\t\t\t/* } else if ((_1 === (7)) || (_1 === (8)) || (_1 === (9)) || (_1 === (10)) || (_1 === (11)) || (_1 === (12))) { */ case 11:\n\t\t\t\t$r = p.fmtInteger($clone(f, reflect.Value).Uint(), false, verb); /* */ $s = 35; case 35: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 24; continue;\n\t\t\t/* } else if (_1 === (13)) { */ case 12:\n\t\t\t\t$r = p.fmtFloat($clone(f, reflect.Value).Float(), 32, verb); /* */ $s = 36; case 36: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 24; continue;\n\t\t\t/* } else if (_1 === (14)) { */ case 13:\n\t\t\t\t$r = p.fmtFloat($clone(f, reflect.Value).Float(), 64, verb); /* */ $s = 37; case 37: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 24; continue;\n\t\t\t/* } else if (_1 === (15)) { */ case 14:\n\t\t\t\t$r = p.fmtComplex($clone(f, reflect.Value).Complex(), 64, verb); /* */ $s = 38; case 38: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 24; continue;\n\t\t\t/* } else if (_1 === (16)) { */ case 15:\n\t\t\t\t$r = p.fmtComplex($clone(f, reflect.Value).Complex(), 128, verb); /* */ $s = 39; case 39: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 24; continue;\n\t\t\t/* } else if (_1 === (24)) { */ case 16:\n\t\t\t\t_r$2 = $clone(f, reflect.Value).String(); /* */ $s = 40; case 40: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t$r = p.fmtString(_r$2, verb); /* */ $s = 41; case 41: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 24; continue;\n\t\t\t/* } else if (_1 === (21)) { */ case 17:\n\t\t\t\t/* */ if (p.fmt.fmtFlags.sharpV) { $s = 42; continue; }\n\t\t\t\t/* */ $s = 43; continue;\n\t\t\t\t/* if (p.fmt.fmtFlags.sharpV) { */ case 42:\n\t\t\t\t\t_r$3 = $clone(f, reflect.Value).Type().String(); /* */ $s = 45; case 45: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t\t$r = (p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(_r$3); /* */ $s = 46; case 46: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\tif ($clone(f, reflect.Value).IsNil()) {\n\t\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(\"(nil)\");\n\t\t\t\t\t\t$s = -1; return;\n\t\t\t\t\t}\n\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(123);\n\t\t\t\t\t$s = 44; continue;\n\t\t\t\t/* } else { */ case 43:\n\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(\"map[\");\n\t\t\t\t/* } */ case 44:\n\t\t\t\t_r$4 = $clone(f, reflect.Value).MapKeys(); /* */ $s = 47; case 47: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\tkeys = _r$4;\n\t\t\t\t_ref = keys;\n\t\t\t\t_i = 0;\n\t\t\t\t/* while (true) { */ case 48:\n\t\t\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 49; continue; }\n\t\t\t\t\ti = _i;\n\t\t\t\t\tkey = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\t\t\tif (i > 0) {\n\t\t\t\t\t\tif (p.fmt.fmtFlags.sharpV) {\n\t\t\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(\", \");\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(32);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t$r = p.printValue($clone(key, reflect.Value), verb, depth + 1 >> 0); /* */ $s = 50; case 50: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(58);\n\t\t\t\t\t_r$5 = $clone(f, reflect.Value).MapIndex($clone(key, reflect.Value)); /* */ $s = 51; case 51: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t\t\t$r = p.printValue($clone(_r$5, reflect.Value), verb, depth + 1 >> 0); /* */ $s = 52; case 52: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t_i++;\n\t\t\t\t/* } */ $s = 48; continue; case 49:\n\t\t\t\tif (p.fmt.fmtFlags.sharpV) {\n\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(125);\n\t\t\t\t} else {\n\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(93);\n\t\t\t\t}\n\t\t\t\t$s = 24; continue;\n\t\t\t/* } else if (_1 === (25)) { */ case 18:\n\t\t\t\t/* */ if (p.fmt.fmtFlags.sharpV) { $s = 53; continue; }\n\t\t\t\t/* */ $s = 54; continue;\n\t\t\t\t/* if (p.fmt.fmtFlags.sharpV) { */ case 53:\n\t\t\t\t\t_r$6 = $clone(f, reflect.Value).Type().String(); /* */ $s = 55; case 55: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t\t\t\t$r = (p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(_r$6); /* */ $s = 56; case 56: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t/* } */ case 54:\n\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(123);\n\t\t\t\ti$1 = 0;\n\t\t\t\t/* while (true) { */ case 57:\n\t\t\t\t\t/* if (!(i$1 < $clone(f, reflect.Value).NumField())) { break; } */ if(!(i$1 < $clone(f, reflect.Value).NumField())) { $s = 58; continue; }\n\t\t\t\t\tif (i$1 > 0) {\n\t\t\t\t\t\tif (p.fmt.fmtFlags.sharpV) {\n\t\t\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(\", \");\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(32);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t/* */ if (p.fmt.fmtFlags.plusV || p.fmt.fmtFlags.sharpV) { $s = 59; continue; }\n\t\t\t\t\t/* */ $s = 60; continue;\n\t\t\t\t\t/* if (p.fmt.fmtFlags.plusV || p.fmt.fmtFlags.sharpV) { */ case 59:\n\t\t\t\t\t\t_r$7 = $clone(f, reflect.Value).Type().Field(i$1); /* */ $s = 61; case 61: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }\n\t\t\t\t\t\tname = _r$7.Name;\n\t\t\t\t\t\tif (!(name === \"\")) {\n\t\t\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(name);\n\t\t\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(58);\n\t\t\t\t\t\t}\n\t\t\t\t\t/* } */ case 60:\n\t\t\t\t\t_r$8 = getField($clone(f, reflect.Value), i$1); /* */ $s = 62; case 62: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }\n\t\t\t\t\t$r = p.printValue($clone(_r$8, reflect.Value), verb, depth + 1 >> 0); /* */ $s = 63; case 63: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\ti$1 = i$1 + (1) >> 0;\n\t\t\t\t/* } */ $s = 57; continue; case 58:\n\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(125);\n\t\t\t\t$s = 24; continue;\n\t\t\t/* } else if (_1 === (20)) { */ case 19:\n\t\t\t\t_r$9 = $clone(f, reflect.Value).Elem(); /* */ $s = 64; case 64: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }\n\t\t\t\tvalue$1 = _r$9;\n\t\t\t\t/* */ if (!$clone(value$1, reflect.Value).IsValid()) { $s = 65; continue; }\n\t\t\t\t/* */ $s = 66; continue;\n\t\t\t\t/* if (!$clone(value$1, reflect.Value).IsValid()) { */ case 65:\n\t\t\t\t\t/* */ if (p.fmt.fmtFlags.sharpV) { $s = 68; continue; }\n\t\t\t\t\t/* */ $s = 69; continue;\n\t\t\t\t\t/* if (p.fmt.fmtFlags.sharpV) { */ case 68:\n\t\t\t\t\t\t_r$10 = $clone(f, reflect.Value).Type().String(); /* */ $s = 71; case 71: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }\n\t\t\t\t\t\t$r = (p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(_r$10); /* */ $s = 72; case 72: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(\"(nil)\");\n\t\t\t\t\t\t$s = 70; continue;\n\t\t\t\t\t/* } else { */ case 69:\n\t\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(\"<nil>\");\n\t\t\t\t\t/* } */ case 70:\n\t\t\t\t\t$s = 67; continue;\n\t\t\t\t/* } else { */ case 66:\n\t\t\t\t\t$r = p.printValue($clone(value$1, reflect.Value), verb, depth + 1 >> 0); /* */ $s = 73; case 73: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t/* } */ case 67:\n\t\t\t\t$s = 24; continue;\n\t\t\t/* } else if ((_1 === (17)) || (_1 === (23))) { */ case 20:\n\t\t\t\t\t_3 = verb;\n\t\t\t\t\t/* */ if ((_3 === (115)) || (_3 === (113)) || (_3 === (120)) || (_3 === (88))) { $s = 75; continue; }\n\t\t\t\t\t/* */ $s = 76; continue;\n\t\t\t\t\t/* if ((_3 === (115)) || (_3 === (113)) || (_3 === (120)) || (_3 === (88))) { */ case 75:\n\t\t\t\t\t\tt = $clone(f, reflect.Value).Type();\n\t\t\t\t\t\t_r$11 = t.Elem(); /* */ $s = 79; case 79: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }\n\t\t\t\t\t\t_r$12 = _r$11.Kind(); /* */ $s = 80; case 80: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; }\n\t\t\t\t\t\t/* */ if (_r$12 === 8) { $s = 77; continue; }\n\t\t\t\t\t\t/* */ $s = 78; continue;\n\t\t\t\t\t\t/* if (_r$12 === 8) { */ case 77:\n\t\t\t\t\t\t\tbytes = sliceType$2.nil;\n\t\t\t\t\t\t\t/* */ if ($clone(f, reflect.Value).Kind() === 23) { $s = 81; continue; }\n\t\t\t\t\t\t\t/* */ if ($clone(f, reflect.Value).CanAddr()) { $s = 82; continue; }\n\t\t\t\t\t\t\t/* */ $s = 83; continue;\n\t\t\t\t\t\t\t/* if ($clone(f, reflect.Value).Kind() === 23) { */ case 81:\n\t\t\t\t\t\t\t\t_r$13 = $clone(f, reflect.Value).Bytes(); /* */ $s = 85; case 85: if($c) { $c = false; _r$13 = _r$13.$blk(); } if (_r$13 && _r$13.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t\tbytes = _r$13;\n\t\t\t\t\t\t\t\t$s = 84; continue;\n\t\t\t\t\t\t\t/* } else if ($clone(f, reflect.Value).CanAddr()) { */ case 82:\n\t\t\t\t\t\t\t\t_r$14 = $clone(f, reflect.Value).Slice(0, $clone(f, reflect.Value).Len()); /* */ $s = 86; case 86: if($c) { $c = false; _r$14 = _r$14.$blk(); } if (_r$14 && _r$14.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t\t_r$15 = $clone(_r$14, reflect.Value).Bytes(); /* */ $s = 87; case 87: if($c) { $c = false; _r$15 = _r$15.$blk(); } if (_r$15 && _r$15.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t\tbytes = _r$15;\n\t\t\t\t\t\t\t\t$s = 84; continue;\n\t\t\t\t\t\t\t/* } else { */ case 83:\n\t\t\t\t\t\t\t\tbytes = $makeSlice(sliceType$2, $clone(f, reflect.Value).Len());\n\t\t\t\t\t\t\t\t_ref$1 = bytes;\n\t\t\t\t\t\t\t\t_i$1 = 0;\n\t\t\t\t\t\t\t\t/* while (true) { */ case 88:\n\t\t\t\t\t\t\t\t\t/* if (!(_i$1 < _ref$1.$length)) { break; } */ if(!(_i$1 < _ref$1.$length)) { $s = 89; continue; }\n\t\t\t\t\t\t\t\t\ti$2 = _i$1;\n\t\t\t\t\t\t\t\t\t_r$16 = $clone(f, reflect.Value).Index(i$2); /* */ $s = 90; case 90: if($c) { $c = false; _r$16 = _r$16.$blk(); } if (_r$16 && _r$16.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t\t\t_r$17 = $clone(_r$16, reflect.Value).Uint(); /* */ $s = 91; case 91: if($c) { $c = false; _r$17 = _r$17.$blk(); } if (_r$17 && _r$17.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t\t\t((i$2 < 0 || i$2 >= bytes.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : bytes.$array[bytes.$offset + i$2] = ((_r$17.$low << 24 >>> 24)));\n\t\t\t\t\t\t\t\t\t_i$1++;\n\t\t\t\t\t\t\t\t/* } */ $s = 88; continue; case 89:\n\t\t\t\t\t\t\t/* } */ case 84:\n\t\t\t\t\t\t\t_arg = bytes;\n\t\t\t\t\t\t\t_arg$1 = verb;\n\t\t\t\t\t\t\t_r$18 = t.String(); /* */ $s = 92; case 92: if($c) { $c = false; _r$18 = _r$18.$blk(); } if (_r$18 && _r$18.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t_arg$2 = _r$18;\n\t\t\t\t\t\t\t$r = p.fmtBytes(_arg, _arg$1, _arg$2); /* */ $s = 93; case 93: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t$s = -1; return;\n\t\t\t\t\t\t/* } */ case 78:\n\t\t\t\t\t/* } */ case 76:\n\t\t\t\tcase 74:\n\t\t\t\t/* */ if (p.fmt.fmtFlags.sharpV) { $s = 94; continue; }\n\t\t\t\t/* */ $s = 95; continue;\n\t\t\t\t/* if (p.fmt.fmtFlags.sharpV) { */ case 94:\n\t\t\t\t\t_r$19 = $clone(f, reflect.Value).Type().String(); /* */ $s = 97; case 97: if($c) { $c = false; _r$19 = _r$19.$blk(); } if (_r$19 && _r$19.$blk !== undefined) { break s; }\n\t\t\t\t\t$r = (p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(_r$19); /* */ $s = 98; case 98: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\tif (($clone(f, reflect.Value).Kind() === 23) && $clone(f, reflect.Value).IsNil()) {\n\t\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(\"(nil)\");\n\t\t\t\t\t\t$s = -1; return;\n\t\t\t\t\t}\n\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(123);\n\t\t\t\t\ti$3 = 0;\n\t\t\t\t\t/* while (true) { */ case 99:\n\t\t\t\t\t\t/* if (!(i$3 < $clone(f, reflect.Value).Len())) { break; } */ if(!(i$3 < $clone(f, reflect.Value).Len())) { $s = 100; continue; }\n\t\t\t\t\t\tif (i$3 > 0) {\n\t\t\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(\", \");\n\t\t\t\t\t\t}\n\t\t\t\t\t\t_r$20 = $clone(f, reflect.Value).Index(i$3); /* */ $s = 101; case 101: if($c) { $c = false; _r$20 = _r$20.$blk(); } if (_r$20 && _r$20.$blk !== undefined) { break s; }\n\t\t\t\t\t\t$r = p.printValue($clone(_r$20, reflect.Value), verb, depth + 1 >> 0); /* */ $s = 102; case 102: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t\ti$3 = i$3 + (1) >> 0;\n\t\t\t\t\t/* } */ $s = 99; continue; case 100:\n\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(125);\n\t\t\t\t\t$s = 96; continue;\n\t\t\t\t/* } else { */ case 95:\n\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(91);\n\t\t\t\t\ti$4 = 0;\n\t\t\t\t\t/* while (true) { */ case 103:\n\t\t\t\t\t\t/* if (!(i$4 < $clone(f, reflect.Value).Len())) { break; } */ if(!(i$4 < $clone(f, reflect.Value).Len())) { $s = 104; continue; }\n\t\t\t\t\t\tif (i$4 > 0) {\n\t\t\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(32);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t_r$21 = $clone(f, reflect.Value).Index(i$4); /* */ $s = 105; case 105: if($c) { $c = false; _r$21 = _r$21.$blk(); } if (_r$21 && _r$21.$blk !== undefined) { break s; }\n\t\t\t\t\t\t$r = p.printValue($clone(_r$21, reflect.Value), verb, depth + 1 >> 0); /* */ $s = 106; case 106: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t\ti$4 = i$4 + (1) >> 0;\n\t\t\t\t\t/* } */ $s = 103; continue; case 104:\n\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(93);\n\t\t\t\t/* } */ case 96:\n\t\t\t\t$s = 24; continue;\n\t\t\t/* } else if (_1 === (22)) { */ case 21:\n\t\t\t\t/* */ if ((depth === 0) && !(($clone(f, reflect.Value).Pointer() === 0))) { $s = 107; continue; }\n\t\t\t\t/* */ $s = 108; continue;\n\t\t\t\t/* if ((depth === 0) && !(($clone(f, reflect.Value).Pointer() === 0))) { */ case 107:\n\t\t\t\t\t\t_r$22 = $clone(f, reflect.Value).Elem(); /* */ $s = 110; case 110: if($c) { $c = false; _r$22 = _r$22.$blk(); } if (_r$22 && _r$22.$blk !== undefined) { break s; }\n\t\t\t\t\t\ta = _r$22;\n\t\t\t\t\t\t_4 = $clone(a, reflect.Value).Kind();\n\t\t\t\t\t\t/* */ if ((_4 === (17)) || (_4 === (23)) || (_4 === (25)) || (_4 === (21))) { $s = 111; continue; }\n\t\t\t\t\t\t/* */ $s = 112; continue;\n\t\t\t\t\t\t/* if ((_4 === (17)) || (_4 === (23)) || (_4 === (25)) || (_4 === (21))) { */ case 111:\n\t\t\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(38);\n\t\t\t\t\t\t\t$r = p.printValue($clone(a, reflect.Value), verb, depth + 1 >> 0); /* */ $s = 113; case 113: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t$s = -1; return;\n\t\t\t\t\t\t/* } */ case 112:\n\t\t\t\t\tcase 109:\n\t\t\t\t/* } */ case 108:\n\t\t\t\t$r = p.fmtPointer($clone(f, reflect.Value), verb); /* */ $s = 114; case 114: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 24; continue;\n\t\t\t/* } else if ((_1 === (18)) || (_1 === (19)) || (_1 === (26))) { */ case 22:\n\t\t\t\t$r = p.fmtPointer($clone(f, reflect.Value), verb); /* */ $s = 115; case 115: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 24; continue;\n\t\t\t/* } else { */ case 23:\n\t\t\t\t$r = p.unknownType($clone(f, reflect.Value)); /* */ $s = 116; case 116: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 24:\n\t\tcase 7:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: pp.ptr.prototype.printValue }; } $f._1 = _1; $f._2 = _2; $f._3 = _3; $f._4 = _4; $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._i = _i; $f._i$1 = _i$1; $f._r = _r; $f._r$1 = _r$1; $f._r$10 = _r$10; $f._r$11 = _r$11; $f._r$12 = _r$12; $f._r$13 = _r$13; $f._r$14 = _r$14; $f._r$15 = _r$15; $f._r$16 = _r$16; $f._r$17 = _r$17; $f._r$18 = _r$18; $f._r$19 = _r$19; $f._r$2 = _r$2; $f._r$20 = _r$20; $f._r$21 = _r$21; $f._r$22 = _r$22; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._r$8 = _r$8; $f._r$9 = _r$9; $f._ref = _ref; $f._ref$1 = _ref$1; $f.a = a; $f.bytes = bytes; $f.depth = depth; $f.f = f; $f.i = i; $f.i$1 = i$1; $f.i$2 = i$2; $f.i$3 = i$3; $f.i$4 = i$4; $f.key = key; $f.keys = keys; $f.name = name; $f.p = p; $f.t = t; $f.value = value; $f.value$1 = value$1; $f.verb = verb; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tpp.prototype.printValue = function(value, verb, depth) { return this.$val.printValue(value, verb, depth); };\n\tintFromArg = function(a, argNum) {\n\t\tvar _1, _r, _tuple, a, argNum, isInt, n, n$1, newArgNum, num, v, x, x$1, x$2, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; _tuple = $f._tuple; a = $f.a; argNum = $f.argNum; isInt = $f.isInt; n = $f.n; n$1 = $f.n$1; newArgNum = $f.newArgNum; num = $f.num; v = $f.v; x = $f.x; x$1 = $f.x$1; x$2 = $f.x$2; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tnum = 0;\n\t\tisInt = false;\n\t\tnewArgNum = 0;\n\t\tnewArgNum = argNum;\n\t\t/* */ if (argNum < a.$length) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (argNum < a.$length) { */ case 1:\n\t\t\t_tuple = $assertType(((argNum < 0 || argNum >= a.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : a.$array[a.$offset + argNum]), $Int, true);\n\t\t\tnum = _tuple[0];\n\t\t\tisInt = _tuple[1];\n\t\t\t/* */ if (!isInt) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (!isInt) { */ case 3:\n\t\t\t\t\t_r = reflect.ValueOf(((argNum < 0 || argNum >= a.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : a.$array[a.$offset + argNum])); /* */ $s = 6; case 6: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t\tv = _r;\n\t\t\t\t\t_1 = $clone(v, reflect.Value).Kind();\n\t\t\t\t\tif ((_1 === (2)) || (_1 === (3)) || (_1 === (4)) || (_1 === (5)) || (_1 === (6))) {\n\t\t\t\t\t\tn = $clone(v, reflect.Value).Int();\n\t\t\t\t\t\tif ((x = (new $Int64(0, (((n.$low + ((n.$high >> 31) * 4294967296)) >> 0)))), (x.$high === n.$high && x.$low === n.$low))) {\n\t\t\t\t\t\t\tnum = (((n.$low + ((n.$high >> 31) * 4294967296)) >> 0));\n\t\t\t\t\t\t\tisInt = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if ((_1 === (7)) || (_1 === (8)) || (_1 === (9)) || (_1 === (10)) || (_1 === (11)) || (_1 === (12))) {\n\t\t\t\t\t\tn$1 = $clone(v, reflect.Value).Uint();\n\t\t\t\t\t\tif ((x$1 = (new $Int64(n$1.$high, n$1.$low)), (x$1.$high > 0 || (x$1.$high === 0 && x$1.$low >= 0))) && (x$2 = (new $Uint64(0, ((n$1.$low >> 0)))), (x$2.$high === n$1.$high && x$2.$low === n$1.$low))) {\n\t\t\t\t\t\t\tnum = ((n$1.$low >> 0));\n\t\t\t\t\t\t\tisInt = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\tcase 5:\n\t\t\t/* } */ case 4:\n\t\t\tnewArgNum = argNum + 1 >> 0;\n\t\t\tif (tooLarge(num)) {\n\t\t\t\tnum = 0;\n\t\t\t\tisInt = false;\n\t\t\t}\n\t\t/* } */ case 2:\n\t\t$s = -1; return [num, isInt, newArgNum];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: intFromArg }; } $f._1 = _1; $f._r = _r; $f._tuple = _tuple; $f.a = a; $f.argNum = argNum; $f.isInt = isInt; $f.n = n; $f.n$1 = n$1; $f.newArgNum = newArgNum; $f.num = num; $f.v = v; $f.x = x; $f.x$1 = x$1; $f.x$2 = x$2; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tparseArgNumber = function(format) {\n\t\tvar _tmp, _tmp$1, _tmp$10, _tmp$11, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, _tuple, format, i, index, newi, ok, ok$1, wid, width;\n\t\tindex = 0;\n\t\twid = 0;\n\t\tok = false;\n\t\tif (format.length < 3) {\n\t\t\t_tmp = 0;\n\t\t\t_tmp$1 = 1;\n\t\t\t_tmp$2 = false;\n\t\t\tindex = _tmp;\n\t\t\twid = _tmp$1;\n\t\t\tok = _tmp$2;\n\t\t\treturn [index, wid, ok];\n\t\t}\n\t\ti = 1;\n\t\twhile (true) {\n\t\t\tif (!(i < format.length)) { break; }\n\t\t\tif (format.charCodeAt(i) === 93) {\n\t\t\t\t_tuple = parsenum(format, 1, i);\n\t\t\t\twidth = _tuple[0];\n\t\t\t\tok$1 = _tuple[1];\n\t\t\t\tnewi = _tuple[2];\n\t\t\t\tif (!ok$1 || !((newi === i))) {\n\t\t\t\t\t_tmp$3 = 0;\n\t\t\t\t\t_tmp$4 = i + 1 >> 0;\n\t\t\t\t\t_tmp$5 = false;\n\t\t\t\t\tindex = _tmp$3;\n\t\t\t\t\twid = _tmp$4;\n\t\t\t\t\tok = _tmp$5;\n\t\t\t\t\treturn [index, wid, ok];\n\t\t\t\t}\n\t\t\t\t_tmp$6 = width - 1 >> 0;\n\t\t\t\t_tmp$7 = i + 1 >> 0;\n\t\t\t\t_tmp$8 = true;\n\t\t\t\tindex = _tmp$6;\n\t\t\t\twid = _tmp$7;\n\t\t\t\tok = _tmp$8;\n\t\t\t\treturn [index, wid, ok];\n\t\t\t}\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\t_tmp$9 = 0;\n\t\t_tmp$10 = 1;\n\t\t_tmp$11 = false;\n\t\tindex = _tmp$9;\n\t\twid = _tmp$10;\n\t\tok = _tmp$11;\n\t\treturn [index, wid, ok];\n\t};\n\tpp.ptr.prototype.argNumber = function(argNum, format, i, numArgs) {\n\t\tvar _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tuple, argNum, format, found, i, index, newArgNum, newi, numArgs, ok, p, wid;\n\t\tnewArgNum = 0;\n\t\tnewi = 0;\n\t\tfound = false;\n\t\tp = this;\n\t\tif (format.length <= i || !((format.charCodeAt(i) === 91))) {\n\t\t\t_tmp = argNum;\n\t\t\t_tmp$1 = i;\n\t\t\t_tmp$2 = false;\n\t\t\tnewArgNum = _tmp;\n\t\t\tnewi = _tmp$1;\n\t\t\tfound = _tmp$2;\n\t\t\treturn [newArgNum, newi, found];\n\t\t}\n\t\tp.reordered = true;\n\t\t_tuple = parseArgNumber($substring(format, i));\n\t\tindex = _tuple[0];\n\t\twid = _tuple[1];\n\t\tok = _tuple[2];\n\t\tif (ok && 0 <= index && index < numArgs) {\n\t\t\t_tmp$3 = index;\n\t\t\t_tmp$4 = i + wid >> 0;\n\t\t\t_tmp$5 = true;\n\t\t\tnewArgNum = _tmp$3;\n\t\t\tnewi = _tmp$4;\n\t\t\tfound = _tmp$5;\n\t\t\treturn [newArgNum, newi, found];\n\t\t}\n\t\tp.goodArgNum = false;\n\t\t_tmp$6 = argNum;\n\t\t_tmp$7 = i + wid >> 0;\n\t\t_tmp$8 = ok;\n\t\tnewArgNum = _tmp$6;\n\t\tnewi = _tmp$7;\n\t\tfound = _tmp$8;\n\t\treturn [newArgNum, newi, found];\n\t};\n\tpp.prototype.argNumber = function(argNum, format, i, numArgs) { return this.$val.argNumber(argNum, format, i, numArgs); };\n\tpp.ptr.prototype.badArgNum = function(verb) {\n\t\tvar p, verb;\n\t\tp = this;\n\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(\"%!\");\n\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteRune(verb);\n\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(\"(BADINDEX)\");\n\t};\n\tpp.prototype.badArgNum = function(verb) { return this.$val.badArgNum(verb); };\n\tpp.ptr.prototype.missingArg = function(verb) {\n\t\tvar p, verb;\n\t\tp = this;\n\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(\"%!\");\n\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteRune(verb);\n\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(\"(MISSING)\");\n\t};\n\tpp.prototype.missingArg = function(verb) { return this.$val.missingArg(verb); };\n\tpp.ptr.prototype.doPrintf = function(format, a) {\n\t\tvar _1, _i, _r, _r$1, _r$2, _ref, _tmp, _tmp$1, _tuple, _tuple$1, _tuple$2, _tuple$3, _tuple$4, _tuple$5, _tuple$6, _tuple$7, a, afterIndex, arg, argNum, c, end, format, i, i$1, lasti, p, size, verb, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _i = $f._i; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _ref = $f._ref; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; _tuple$3 = $f._tuple$3; _tuple$4 = $f._tuple$4; _tuple$5 = $f._tuple$5; _tuple$6 = $f._tuple$6; _tuple$7 = $f._tuple$7; a = $f.a; afterIndex = $f.afterIndex; arg = $f.arg; argNum = $f.argNum; c = $f.c; end = $f.end; format = $f.format; i = $f.i; i$1 = $f.i$1; lasti = $f.lasti; p = $f.p; size = $f.size; verb = $f.verb; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tp = this;\n\t\tend = format.length;\n\t\targNum = 0;\n\t\tafterIndex = false;\n\t\tp.reordered = false;\n\t\ti = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(i < end)) { break; } */ if(!(i < end)) { $s = 2; continue; }\n\t\t\tp.goodArgNum = true;\n\t\t\tlasti = i;\n\t\t\twhile (true) {\n\t\t\t\tif (!(i < end && !((format.charCodeAt(i) === 37)))) { break; }\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t}\n\t\t\tif (i > lasti) {\n\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString($substring(format, lasti, i));\n\t\t\t}\n\t\t\tif (i >= end) {\n\t\t\t\t/* break; */ $s = 2; continue;\n\t\t\t}\n\t\t\ti = i + (1) >> 0;\n\t\t\tp.fmt.clearflags();\n\t\t\t/* while (true) { */ case 3:\n\t\t\t\t/* if (!(i < end)) { break; } */ if(!(i < end)) { $s = 4; continue; }\n\t\t\t\tc = format.charCodeAt(i);\n\t\t\t\t\t_1 = c;\n\t\t\t\t\t/* */ if (_1 === (35)) { $s = 6; continue; }\n\t\t\t\t\t/* */ if (_1 === (48)) { $s = 7; continue; }\n\t\t\t\t\t/* */ if (_1 === (43)) { $s = 8; continue; }\n\t\t\t\t\t/* */ if (_1 === (45)) { $s = 9; continue; }\n\t\t\t\t\t/* */ if (_1 === (32)) { $s = 10; continue; }\n\t\t\t\t\t/* */ $s = 11; continue;\n\t\t\t\t\t/* if (_1 === (35)) { */ case 6:\n\t\t\t\t\t\tp.fmt.fmtFlags.sharp = true;\n\t\t\t\t\t\t$s = 12; continue;\n\t\t\t\t\t/* } else if (_1 === (48)) { */ case 7:\n\t\t\t\t\t\tp.fmt.fmtFlags.zero = !p.fmt.fmtFlags.minus;\n\t\t\t\t\t\t$s = 12; continue;\n\t\t\t\t\t/* } else if (_1 === (43)) { */ case 8:\n\t\t\t\t\t\tp.fmt.fmtFlags.plus = true;\n\t\t\t\t\t\t$s = 12; continue;\n\t\t\t\t\t/* } else if (_1 === (45)) { */ case 9:\n\t\t\t\t\t\tp.fmt.fmtFlags.minus = true;\n\t\t\t\t\t\tp.fmt.fmtFlags.zero = false;\n\t\t\t\t\t\t$s = 12; continue;\n\t\t\t\t\t/* } else if (_1 === (32)) { */ case 10:\n\t\t\t\t\t\tp.fmt.fmtFlags.space = true;\n\t\t\t\t\t\t$s = 12; continue;\n\t\t\t\t\t/* } else { */ case 11:\n\t\t\t\t\t\t/* */ if (97 <= c && c <= 122 && argNum < a.$length) { $s = 13; continue; }\n\t\t\t\t\t\t/* */ $s = 14; continue;\n\t\t\t\t\t\t/* if (97 <= c && c <= 122 && argNum < a.$length) { */ case 13:\n\t\t\t\t\t\t\tif (c === 118) {\n\t\t\t\t\t\t\t\tp.fmt.fmtFlags.sharpV = p.fmt.fmtFlags.sharp;\n\t\t\t\t\t\t\t\tp.fmt.fmtFlags.sharp = false;\n\t\t\t\t\t\t\t\tp.fmt.fmtFlags.plusV = p.fmt.fmtFlags.plus;\n\t\t\t\t\t\t\t\tp.fmt.fmtFlags.plus = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t$r = p.printArg(((argNum < 0 || argNum >= a.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : a.$array[a.$offset + argNum]), ((c >> 0))); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\targNum = argNum + (1) >> 0;\n\t\t\t\t\t\t\ti = i + (1) >> 0;\n\t\t\t\t\t\t\t/* continue formatLoop; */ $s = 1; continue s;\n\t\t\t\t\t\t/* } */ case 14:\n\t\t\t\t\t\t/* break simpleFormat; */ $s = 4; continue s;\n\t\t\t\t\t/* } */ case 12:\n\t\t\t\tcase 5:\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t/* } */ $s = 3; continue; case 4:\n\t\t\t_tuple = p.argNumber(argNum, format, i, a.$length);\n\t\t\targNum = _tuple[0];\n\t\t\ti = _tuple[1];\n\t\t\tafterIndex = _tuple[2];\n\t\t\t/* */ if (i < end && (format.charCodeAt(i) === 42)) { $s = 16; continue; }\n\t\t\t/* */ $s = 17; continue;\n\t\t\t/* if (i < end && (format.charCodeAt(i) === 42)) { */ case 16:\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t\t_r = intFromArg(a, argNum); /* */ $s = 19; case 19: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t_tuple$1 = _r;\n\t\t\t\tp.fmt.wid = _tuple$1[0];\n\t\t\t\tp.fmt.fmtFlags.widPresent = _tuple$1[1];\n\t\t\t\targNum = _tuple$1[2];\n\t\t\t\tif (!p.fmt.fmtFlags.widPresent) {\n\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(\"%!(BADWIDTH)\");\n\t\t\t\t}\n\t\t\t\tif (p.fmt.wid < 0) {\n\t\t\t\t\tp.fmt.wid = -p.fmt.wid;\n\t\t\t\t\tp.fmt.fmtFlags.minus = true;\n\t\t\t\t\tp.fmt.fmtFlags.zero = false;\n\t\t\t\t}\n\t\t\t\tafterIndex = false;\n\t\t\t\t$s = 18; continue;\n\t\t\t/* } else { */ case 17:\n\t\t\t\t_tuple$2 = parsenum(format, i, end);\n\t\t\t\tp.fmt.wid = _tuple$2[0];\n\t\t\t\tp.fmt.fmtFlags.widPresent = _tuple$2[1];\n\t\t\t\ti = _tuple$2[2];\n\t\t\t\tif (afterIndex && p.fmt.fmtFlags.widPresent) {\n\t\t\t\t\tp.goodArgNum = false;\n\t\t\t\t}\n\t\t\t/* } */ case 18:\n\t\t\t/* */ if ((i + 1 >> 0) < end && (format.charCodeAt(i) === 46)) { $s = 20; continue; }\n\t\t\t/* */ $s = 21; continue;\n\t\t\t/* if ((i + 1 >> 0) < end && (format.charCodeAt(i) === 46)) { */ case 20:\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t\tif (afterIndex) {\n\t\t\t\t\tp.goodArgNum = false;\n\t\t\t\t}\n\t\t\t\t_tuple$3 = p.argNumber(argNum, format, i, a.$length);\n\t\t\t\targNum = _tuple$3[0];\n\t\t\t\ti = _tuple$3[1];\n\t\t\t\tafterIndex = _tuple$3[2];\n\t\t\t\t/* */ if (i < end && (format.charCodeAt(i) === 42)) { $s = 22; continue; }\n\t\t\t\t/* */ $s = 23; continue;\n\t\t\t\t/* if (i < end && (format.charCodeAt(i) === 42)) { */ case 22:\n\t\t\t\t\ti = i + (1) >> 0;\n\t\t\t\t\t_r$1 = intFromArg(a, argNum); /* */ $s = 25; case 25: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t\t_tuple$4 = _r$1;\n\t\t\t\t\tp.fmt.prec = _tuple$4[0];\n\t\t\t\t\tp.fmt.fmtFlags.precPresent = _tuple$4[1];\n\t\t\t\t\targNum = _tuple$4[2];\n\t\t\t\t\tif (p.fmt.prec < 0) {\n\t\t\t\t\t\tp.fmt.prec = 0;\n\t\t\t\t\t\tp.fmt.fmtFlags.precPresent = false;\n\t\t\t\t\t}\n\t\t\t\t\tif (!p.fmt.fmtFlags.precPresent) {\n\t\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(\"%!(BADPREC)\");\n\t\t\t\t\t}\n\t\t\t\t\tafterIndex = false;\n\t\t\t\t\t$s = 24; continue;\n\t\t\t\t/* } else { */ case 23:\n\t\t\t\t\t_tuple$5 = parsenum(format, i, end);\n\t\t\t\t\tp.fmt.prec = _tuple$5[0];\n\t\t\t\t\tp.fmt.fmtFlags.precPresent = _tuple$5[1];\n\t\t\t\t\ti = _tuple$5[2];\n\t\t\t\t\tif (!p.fmt.fmtFlags.precPresent) {\n\t\t\t\t\t\tp.fmt.prec = 0;\n\t\t\t\t\t\tp.fmt.fmtFlags.precPresent = true;\n\t\t\t\t\t}\n\t\t\t\t/* } */ case 24:\n\t\t\t/* } */ case 21:\n\t\t\tif (!afterIndex) {\n\t\t\t\t_tuple$6 = p.argNumber(argNum, format, i, a.$length);\n\t\t\t\targNum = _tuple$6[0];\n\t\t\t\ti = _tuple$6[1];\n\t\t\t\tafterIndex = _tuple$6[2];\n\t\t\t}\n\t\t\tif (i >= end) {\n\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(\"%!(NOVERB)\");\n\t\t\t\t/* break; */ $s = 2; continue;\n\t\t\t}\n\t\t\t_tmp = ((format.charCodeAt(i) >> 0));\n\t\t\t_tmp$1 = 1;\n\t\t\tverb = _tmp;\n\t\t\tsize = _tmp$1;\n\t\t\tif (verb >= 128) {\n\t\t\t\t_tuple$7 = utf8.DecodeRuneInString($substring(format, i));\n\t\t\t\tverb = _tuple$7[0];\n\t\t\t\tsize = _tuple$7[1];\n\t\t\t}\n\t\t\ti = i + (size) >> 0;\n\t\t\t\t/* */ if ((verb === 37)) { $s = 27; continue; }\n\t\t\t\t/* */ if (!p.goodArgNum) { $s = 28; continue; }\n\t\t\t\t/* */ if (argNum >= a.$length) { $s = 29; continue; }\n\t\t\t\t/* */ if ((verb === 118)) { $s = 30; continue; }\n\t\t\t\t/* */ $s = 31; continue;\n\t\t\t\t/* if ((verb === 37)) { */ case 27:\n\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(37);\n\t\t\t\t\t$s = 32; continue;\n\t\t\t\t/* } else if (!p.goodArgNum) { */ case 28:\n\t\t\t\t\tp.badArgNum(verb);\n\t\t\t\t\t$s = 32; continue;\n\t\t\t\t/* } else if (argNum >= a.$length) { */ case 29:\n\t\t\t\t\tp.missingArg(verb);\n\t\t\t\t\t$s = 32; continue;\n\t\t\t\t/* } else if ((verb === 118)) { */ case 30:\n\t\t\t\t\tp.fmt.fmtFlags.sharpV = p.fmt.fmtFlags.sharp;\n\t\t\t\t\tp.fmt.fmtFlags.sharp = false;\n\t\t\t\t\tp.fmt.fmtFlags.plusV = p.fmt.fmtFlags.plus;\n\t\t\t\t\tp.fmt.fmtFlags.plus = false;\n\t\t\t\t\t$r = p.printArg(((argNum < 0 || argNum >= a.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : a.$array[a.$offset + argNum]), verb); /* */ $s = 33; case 33: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\targNum = argNum + (1) >> 0;\n\t\t\t\t\t$s = 32; continue;\n\t\t\t\t/* } else { */ case 31:\n\t\t\t\t\t$r = p.printArg(((argNum < 0 || argNum >= a.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : a.$array[a.$offset + argNum]), verb); /* */ $s = 34; case 34: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\targNum = argNum + (1) >> 0;\n\t\t\t\t/* } */ case 32:\n\t\t\tcase 26:\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t/* */ if (!p.reordered && argNum < a.$length) { $s = 35; continue; }\n\t\t/* */ $s = 36; continue;\n\t\t/* if (!p.reordered && argNum < a.$length) { */ case 35:\n\t\t\tp.fmt.clearflags();\n\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(\"%!(EXTRA \");\n\t\t\t_ref = $subslice(a, argNum);\n\t\t\t_i = 0;\n\t\t\t/* while (true) { */ case 37:\n\t\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 38; continue; }\n\t\t\t\ti$1 = _i;\n\t\t\t\targ = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\t\tif (i$1 > 0) {\n\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(\", \");\n\t\t\t\t}\n\t\t\t\t/* */ if ($interfaceIsEqual(arg, $ifaceNil)) { $s = 39; continue; }\n\t\t\t\t/* */ $s = 40; continue;\n\t\t\t\t/* if ($interfaceIsEqual(arg, $ifaceNil)) { */ case 39:\n\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(\"<nil>\");\n\t\t\t\t\t$s = 41; continue;\n\t\t\t\t/* } else { */ case 40:\n\t\t\t\t\t_r$2 = reflect.TypeOf(arg).String(); /* */ $s = 42; case 42: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t\t$r = (p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteString(_r$2); /* */ $s = 43; case 43: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(61);\n\t\t\t\t\t$r = p.printArg(arg, 118); /* */ $s = 44; case 44: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t/* } */ case 41:\n\t\t\t\t_i++;\n\t\t\t/* } */ $s = 37; continue; case 38:\n\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(41);\n\t\t/* } */ case 36:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: pp.ptr.prototype.doPrintf }; } $f._1 = _1; $f._i = _i; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._ref = _ref; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f._tuple$3 = _tuple$3; $f._tuple$4 = _tuple$4; $f._tuple$5 = _tuple$5; $f._tuple$6 = _tuple$6; $f._tuple$7 = _tuple$7; $f.a = a; $f.afterIndex = afterIndex; $f.arg = arg; $f.argNum = argNum; $f.c = c; $f.end = end; $f.format = format; $f.i = i; $f.i$1 = i$1; $f.lasti = lasti; $f.p = p; $f.size = size; $f.verb = verb; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tpp.prototype.doPrintf = function(format, a) { return this.$val.doPrintf(format, a); };\n\tpp.ptr.prototype.doPrint = function(a) {\n\t\tvar _i, _r, _ref, _v, a, arg, argNum, isString, p, prevString, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _r = $f._r; _ref = $f._ref; _v = $f._v; a = $f.a; arg = $f.arg; argNum = $f.argNum; isString = $f.isString; p = $f.p; prevString = $f.prevString; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tp = this;\n\t\tprevString = false;\n\t\t_ref = a;\n\t\t_i = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 2; continue; }\n\t\t\targNum = _i;\n\t\t\targ = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\tif (!(!($interfaceIsEqual(arg, $ifaceNil)))) { _v = false; $s = 3; continue s; }\n\t\t\t_r = reflect.TypeOf(arg).Kind(); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_v = _r === 24; case 3:\n\t\t\tisString = _v;\n\t\t\tif (argNum > 0 && !isString && !prevString) {\n\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(32);\n\t\t\t}\n\t\t\t$r = p.printArg(arg, 118); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\tprevString = isString;\n\t\t\t_i++;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: pp.ptr.prototype.doPrint }; } $f._i = _i; $f._r = _r; $f._ref = _ref; $f._v = _v; $f.a = a; $f.arg = arg; $f.argNum = argNum; $f.isString = isString; $f.p = p; $f.prevString = prevString; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tpp.prototype.doPrint = function(a) { return this.$val.doPrint(a); };\n\tpp.ptr.prototype.doPrintln = function(a) {\n\t\tvar _i, _ref, a, arg, argNum, p, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _ref = $f._ref; a = $f.a; arg = $f.arg; argNum = $f.argNum; p = $f.p; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tp = this;\n\t\t_ref = a;\n\t\t_i = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 2; continue; }\n\t\t\targNum = _i;\n\t\t\targ = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\tif (argNum > 0) {\n\t\t\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(32);\n\t\t\t}\n\t\t\t$r = p.printArg(arg, 118); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t_i++;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t(p.$ptr_buf || (p.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, p))).WriteByte(10);\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: pp.ptr.prototype.doPrintln }; } $f._i = _i; $f._ref = _ref; $f.a = a; $f.arg = arg; $f.argNum = argNum; $f.p = p; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tpp.prototype.doPrintln = function(a) { return this.$val.doPrintln(a); };\n\tFscanf = function(r, format, a) {\n\t\tvar _r, _r$1, _tuple, _tuple$1, a, err, format, n, old, r, s, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; a = $f.a; err = $f.err; format = $f.format; n = $f.n; old = $f.old; r = $f.r; s = $f.s; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\t_r = newScanState(r, false, false); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\ts = _tuple[0];\n\t\told = $clone(_tuple[1], ssave);\n\t\t_r$1 = s.doScanf(format, a); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_tuple$1 = _r$1;\n\t\tn = _tuple$1[0];\n\t\terr = _tuple$1[1];\n\t\ts.free($clone(old, ssave));\n\t\t$s = -1; return [n, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Fscanf }; } $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.a = a; $f.err = err; $f.format = format; $f.n = n; $f.old = old; $f.r = r; $f.s = s; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.Fscanf = Fscanf;\n\tss.ptr.prototype.Read = function(buf) {\n\t\tvar _tmp, _tmp$1, buf, err, n, s;\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\ts = this;\n\t\t_tmp = 0;\n\t\t_tmp$1 = errors.New(\"ScanState's Read should not be called. Use ReadRune\");\n\t\tn = _tmp;\n\t\terr = _tmp$1;\n\t\treturn [n, err];\n\t};\n\tss.prototype.Read = function(buf) { return this.$val.Read(buf); };\n\tss.ptr.prototype.ReadRune = function() {\n\t\tvar _r, _tuple, err, r, s, size, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; err = $f.err; r = $f.r; s = $f.s; size = $f.size; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tr = 0;\n\t\tsize = 0;\n\t\terr = $ifaceNil;\n\t\ts = this;\n\t\tif (s.atEOF || s.count >= s.ssave.argLimit) {\n\t\t\terr = io.EOF;\n\t\t\t$s = -1; return [r, size, err];\n\t\t}\n\t\t_r = s.rs.ReadRune(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tr = _tuple[0];\n\t\tsize = _tuple[1];\n\t\terr = _tuple[2];\n\t\tif ($interfaceIsEqual(err, $ifaceNil)) {\n\t\t\ts.count = s.count + (1) >> 0;\n\t\t\tif (s.ssave.nlIsEnd && (r === 10)) {\n\t\t\t\ts.atEOF = true;\n\t\t\t}\n\t\t} else if ($interfaceIsEqual(err, io.EOF)) {\n\t\t\ts.atEOF = true;\n\t\t}\n\t\t$s = -1; return [r, size, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ss.ptr.prototype.ReadRune }; } $f._r = _r; $f._tuple = _tuple; $f.err = err; $f.r = r; $f.s = s; $f.size = size; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tss.prototype.ReadRune = function() { return this.$val.ReadRune(); };\n\tss.ptr.prototype.Width = function() {\n\t\tvar _tmp, _tmp$1, _tmp$2, _tmp$3, ok, s, wid;\n\t\twid = 0;\n\t\tok = false;\n\t\ts = this;\n\t\tif (s.ssave.maxWid === 1073741824) {\n\t\t\t_tmp = 0;\n\t\t\t_tmp$1 = false;\n\t\t\twid = _tmp;\n\t\t\tok = _tmp$1;\n\t\t\treturn [wid, ok];\n\t\t}\n\t\t_tmp$2 = s.ssave.maxWid;\n\t\t_tmp$3 = true;\n\t\twid = _tmp$2;\n\t\tok = _tmp$3;\n\t\treturn [wid, ok];\n\t};\n\tss.prototype.Width = function() { return this.$val.Width(); };\n\tss.ptr.prototype.getRune = function() {\n\t\tvar _r, _tuple, err, r, s, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; err = $f.err; r = $f.r; s = $f.s; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tr = 0;\n\t\ts = this;\n\t\t_r = s.ReadRune(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tr = _tuple[0];\n\t\terr = _tuple[2];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\tif ($interfaceIsEqual(err, io.EOF)) {\n\t\t\t\tr = -1;\n\t\t\t\t$s = -1; return r;\n\t\t\t}\n\t\t\ts.error(err);\n\t\t}\n\t\t$s = -1; return r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ss.ptr.prototype.getRune }; } $f._r = _r; $f._tuple = _tuple; $f.err = err; $f.r = r; $f.s = s; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tss.prototype.getRune = function() { return this.$val.getRune(); };\n\tss.ptr.prototype.mustReadRune = function() {\n\t\tvar _r, r, s, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; r = $f.r; s = $f.s; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tr = 0;\n\t\ts = this;\n\t\t_r = s.getRune(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tr = _r;\n\t\tif (r === -1) {\n\t\t\ts.error(io.ErrUnexpectedEOF);\n\t\t}\n\t\t$s = -1; return r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ss.ptr.prototype.mustReadRune }; } $f._r = _r; $f.r = r; $f.s = s; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tss.prototype.mustReadRune = function() { return this.$val.mustReadRune(); };\n\tss.ptr.prototype.UnreadRune = function() {\n\t\tvar _r, s, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; s = $f.s; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\ts = this;\n\t\t_r = s.rs.UnreadRune(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r;\n\t\ts.atEOF = false;\n\t\ts.count = s.count - (1) >> 0;\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ss.ptr.prototype.UnreadRune }; } $f._r = _r; $f.s = s; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tss.prototype.UnreadRune = function() { return this.$val.UnreadRune(); };\n\tss.ptr.prototype.error = function(err) {\n\t\tvar err, s, x;\n\t\ts = this;\n\t\t$panic((x = new scanError.ptr(err), new x.constructor.elem(x)));\n\t};\n\tss.prototype.error = function(err) { return this.$val.error(err); };\n\tss.ptr.prototype.errorString = function(err) {\n\t\tvar err, s, x;\n\t\ts = this;\n\t\t$panic((x = new scanError.ptr(errors.New(err)), new x.constructor.elem(x)));\n\t};\n\tss.prototype.errorString = function(err) { return this.$val.errorString(err); };\n\tss.ptr.prototype.Token = function(skipSpace, f) {\n\t\tvar _r, err, f, s, skipSpace, tok, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; err = $f.err; f = $f.f; s = $f.s; skipSpace = $f.skipSpace; tok = $f.tok; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\terr = [err];\n\t\ttok = sliceType$2.nil;\n\t\terr[0] = $ifaceNil;\n\t\ts = this;\n\t\t$deferred.push([(function(err) { return function() {\n\t\t\tvar _tuple, e, ok, se;\n\t\t\te = $recover();\n\t\t\tif (!($interfaceIsEqual(e, $ifaceNil))) {\n\t\t\t\t_tuple = $assertType(e, scanError, true);\n\t\t\t\tse = $clone(_tuple[0], scanError);\n\t\t\t\tok = _tuple[1];\n\t\t\t\tif (ok) {\n\t\t\t\t\terr[0] = se.err;\n\t\t\t\t} else {\n\t\t\t\t\t$panic(e);\n\t\t\t\t}\n\t\t\t}\n\t\t}; })(err), []]);\n\t\tif (f === $throwNilPointerError) {\n\t\t\tf = notSpace;\n\t\t}\n\t\ts.buf = $subslice(s.buf, 0, 0);\n\t\t_r = s.token(skipSpace, f); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\ttok = _r;\n\t\t$s = -1; return [tok, err[0]];\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if (!$curGoroutine.asleep) { return  [tok, err[0]]; } if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: ss.ptr.prototype.Token }; } $f._r = _r; $f.err = err; $f.f = f; $f.s = s; $f.skipSpace = skipSpace; $f.tok = tok; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tss.prototype.Token = function(skipSpace, f) { return this.$val.Token(skipSpace, f); };\n\tisSpace = function(r) {\n\t\tvar _i, _ref, r, rng, rx;\n\t\tif (r >= 65536) {\n\t\t\treturn false;\n\t\t}\n\t\trx = ((r << 16 >>> 16));\n\t\t_ref = space;\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\trng = $clone(((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]), arrayType$1);\n\t\t\tif (rx < rng[0]) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (rx <= rng[1]) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\t_i++;\n\t\t}\n\t\treturn false;\n\t};\n\tnotSpace = function(r) {\n\t\tvar r;\n\t\treturn !isSpace(r);\n\t};\n\treadRune.ptr.prototype.readByte = function() {\n\t\tvar _r, _tmp, _tmp$1, _tmp$2, _tmp$3, _tuple, b, err, n, r, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; _tuple = $f._tuple; b = $f.b; err = $f.err; n = $f.n; r = $f.r; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tb = 0;\n\t\terr = $ifaceNil;\n\t\tr = this;\n\t\tif (r.pending > 0) {\n\t\t\tb = r.pendBuf[0];\n\t\t\t$copySlice($subslice(new sliceType$2(r.pendBuf), 0), $subslice(new sliceType$2(r.pendBuf), 1));\n\t\t\tr.pending = r.pending - (1) >> 0;\n\t\t\t$s = -1; return [b, err];\n\t\t}\n\t\t_r = io.ReadFull(r.reader, $subslice(new sliceType$2(r.pendBuf), 0, 1)); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tn = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (!((n === 1))) {\n\t\t\t_tmp = 0;\n\t\t\t_tmp$1 = err;\n\t\t\tb = _tmp;\n\t\t\terr = _tmp$1;\n\t\t\t$s = -1; return [b, err];\n\t\t}\n\t\t_tmp$2 = r.pendBuf[0];\n\t\t_tmp$3 = err;\n\t\tb = _tmp$2;\n\t\terr = _tmp$3;\n\t\t$s = -1; return [b, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: readRune.ptr.prototype.readByte }; } $f._r = _r; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f._tuple = _tuple; $f.b = b; $f.err = err; $f.n = n; $f.r = r; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\treadRune.prototype.readByte = function() { return this.$val.readByte(); };\n\treadRune.ptr.prototype.ReadRune = function() {\n\t\tvar _r, _r$1, _tuple, _tuple$1, _tuple$2, err, n, r, rr, size, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; err = $f.err; n = $f.n; r = $f.r; rr = $f.rr; size = $f.size; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\trr = 0;\n\t\tsize = 0;\n\t\terr = $ifaceNil;\n\t\tr = this;\n\t\tif (r.peekRune >= 0) {\n\t\t\trr = r.peekRune;\n\t\t\tr.peekRune = ~r.peekRune >> 0;\n\t\t\tsize = utf8.RuneLen(rr);\n\t\t\t$s = -1; return [rr, size, err];\n\t\t}\n\t\t_r = r.readByte(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tr.buf[0] = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return [rr, size, err];\n\t\t}\n\t\tif (r.buf[0] < 128) {\n\t\t\trr = ((r.buf[0] >> 0));\n\t\t\tsize = 1;\n\t\t\tr.peekRune = ~rr >> 0;\n\t\t\t$s = -1; return [rr, size, err];\n\t\t}\n\t\tn = 0;\n\t\tn = 1;\n\t\t/* while (true) { */ case 2:\n\t\t\t/* if (!(!utf8.FullRune($subslice(new sliceType$2(r.buf), 0, n)))) { break; } */ if(!(!utf8.FullRune($subslice(new sliceType$2(r.buf), 0, n)))) { $s = 3; continue; }\n\t\t\t_r$1 = r.readByte(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_tuple$1 = _r$1;\n\t\t\t(x = r.buf, ((n < 0 || n >= x.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x[n] = _tuple$1[0]));\n\t\t\terr = _tuple$1[1];\n\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\tif ($interfaceIsEqual(err, io.EOF)) {\n\t\t\t\t\terr = $ifaceNil;\n\t\t\t\t\t/* break; */ $s = 3; continue;\n\t\t\t\t}\n\t\t\t\t$s = -1; return [rr, size, err];\n\t\t\t}\n\t\t\tn = n + (1) >> 0;\n\t\t/* } */ $s = 2; continue; case 3:\n\t\t_tuple$2 = utf8.DecodeRune($subslice(new sliceType$2(r.buf), 0, n));\n\t\trr = _tuple$2[0];\n\t\tsize = _tuple$2[1];\n\t\tif (size < n) {\n\t\t\t$copySlice($subslice(new sliceType$2(r.pendBuf), r.pending), $subslice(new sliceType$2(r.buf), size, n));\n\t\t\tr.pending = r.pending + ((n - size >> 0)) >> 0;\n\t\t}\n\t\tr.peekRune = ~rr >> 0;\n\t\t$s = -1; return [rr, size, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: readRune.ptr.prototype.ReadRune }; } $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f.err = err; $f.n = n; $f.r = r; $f.rr = rr; $f.size = size; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\treadRune.prototype.ReadRune = function() { return this.$val.ReadRune(); };\n\treadRune.ptr.prototype.UnreadRune = function() {\n\t\tvar r;\n\t\tr = this;\n\t\tif (r.peekRune >= 0) {\n\t\t\treturn errors.New(\"fmt: scanning called UnreadRune with no rune available\");\n\t\t}\n\t\tr.peekRune = ~r.peekRune >> 0;\n\t\treturn $ifaceNil;\n\t};\n\treadRune.prototype.UnreadRune = function() { return this.$val.UnreadRune(); };\n\tnewScanState = function(r, nlIsSpace, nlIsEnd) {\n\t\tvar _r, _tuple, nlIsEnd, nlIsSpace, ok, old, r, rs, s, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; nlIsEnd = $f.nlIsEnd; nlIsSpace = $f.nlIsSpace; ok = $f.ok; old = $f.old; r = $f.r; rs = $f.rs; s = $f.s; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\ts = ptrType$5.nil;\n\t\told = new ssave.ptr(false, false, false, 0, 0, 0);\n\t\t_r = ssFree.Get(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\ts = $assertType(_r, ptrType$5);\n\t\t_tuple = $assertType(r, io.RuneScanner, true);\n\t\trs = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\ts.rs = rs;\n\t\t} else {\n\t\t\ts.rs = new readRune.ptr(r, arrayType$3.zero(), 0, arrayType$3.zero(), -1);\n\t\t}\n\t\ts.ssave.nlIsSpace = nlIsSpace;\n\t\ts.ssave.nlIsEnd = nlIsEnd;\n\t\ts.atEOF = false;\n\t\ts.ssave.limit = 1073741824;\n\t\ts.ssave.argLimit = 1073741824;\n\t\ts.ssave.maxWid = 1073741824;\n\t\ts.ssave.validSave = true;\n\t\ts.count = 0;\n\t\t$s = -1; return [s, old];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: newScanState }; } $f._r = _r; $f._tuple = _tuple; $f.nlIsEnd = nlIsEnd; $f.nlIsSpace = nlIsSpace; $f.ok = ok; $f.old = old; $f.r = r; $f.rs = rs; $f.s = s; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tss.ptr.prototype.free = function(old) {\n\t\tvar old, s;\n\t\ts = this;\n\t\tif (old.validSave) {\n\t\t\tssave.copy(s.ssave, old);\n\t\t\treturn;\n\t\t}\n\t\tif (s.buf.$capacity > 1024) {\n\t\t\treturn;\n\t\t}\n\t\ts.buf = $subslice(s.buf, 0, 0);\n\t\ts.rs = $ifaceNil;\n\t\tssFree.Put(s);\n\t};\n\tss.prototype.free = function(old) { return this.$val.free(old); };\n\tss.ptr.prototype.SkipSpace = function() {\n\t\tvar _r, _r$1, _r$2, _v, r, s, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _v = $f._v; r = $f.r; s = $f.s; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\ts = this;\n\t\t/* while (true) { */ case 1:\n\t\t\t_r = s.getRune(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tr = _r;\n\t\t\tif (r === -1) {\n\t\t\t\t$s = -1; return;\n\t\t\t}\n\t\t\tif (!(r === 13)) { _v = false; $s = 6; continue s; }\n\t\t\t_r$1 = s.peek(\"\\n\"); /* */ $s = 7; case 7: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_v = _r$1; case 6:\n\t\t\t/* */ if (_v) { $s = 4; continue; }\n\t\t\t/* */ $s = 5; continue;\n\t\t\t/* if (_v) { */ case 4:\n\t\t\t\t/* continue; */ $s = 1; continue;\n\t\t\t/* } */ case 5:\n\t\t\t/* */ if (r === 10) { $s = 8; continue; }\n\t\t\t/* */ $s = 9; continue;\n\t\t\t/* if (r === 10) { */ case 8:\n\t\t\t\tif (s.ssave.nlIsSpace) {\n\t\t\t\t\t/* continue; */ $s = 1; continue;\n\t\t\t\t}\n\t\t\t\ts.errorString(\"unexpected newline\");\n\t\t\t\t$s = -1; return;\n\t\t\t/* } */ case 9:\n\t\t\t/* */ if (!isSpace(r)) { $s = 10; continue; }\n\t\t\t/* */ $s = 11; continue;\n\t\t\t/* if (!isSpace(r)) { */ case 10:\n\t\t\t\t_r$2 = s.UnreadRune(); /* */ $s = 12; case 12: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t_r$2;\n\t\t\t\t/* break; */ $s = 2; continue;\n\t\t\t/* } */ case 11:\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ss.ptr.prototype.SkipSpace }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._v = _v; $f.r = r; $f.s = s; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tss.prototype.SkipSpace = function() { return this.$val.SkipSpace(); };\n\tss.ptr.prototype.token = function(skipSpace, f) {\n\t\tvar _r, _r$1, _r$2, f, r, s, skipSpace, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; f = $f.f; r = $f.r; s = $f.s; skipSpace = $f.skipSpace; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\ts = this;\n\t\t/* */ if (skipSpace) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (skipSpace) { */ case 1:\n\t\t\t$r = s.SkipSpace(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 2:\n\t\t/* while (true) { */ case 4:\n\t\t\t_r = s.getRune(); /* */ $s = 6; case 6: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tr = _r;\n\t\t\tif (r === -1) {\n\t\t\t\t/* break; */ $s = 5; continue;\n\t\t\t}\n\t\t\t_r$1 = f(r); /* */ $s = 9; case 9: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t/* */ if (!_r$1) { $s = 7; continue; }\n\t\t\t/* */ $s = 8; continue;\n\t\t\t/* if (!_r$1) { */ case 7:\n\t\t\t\t_r$2 = s.UnreadRune(); /* */ $s = 10; case 10: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t_r$2;\n\t\t\t\t/* break; */ $s = 5; continue;\n\t\t\t/* } */ case 8:\n\t\t\t(s.$ptr_buf || (s.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, s))).WriteRune(r);\n\t\t/* } */ $s = 4; continue; case 5:\n\t\t$s = -1; return (x = s.buf, $subslice(new sliceType$2(x.$array), x.$offset, x.$offset + x.$length));\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ss.ptr.prototype.token }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.f = f; $f.r = r; $f.s = s; $f.skipSpace = skipSpace; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tss.prototype.token = function(skipSpace, f) { return this.$val.token(skipSpace, f); };\n\tindexRune = function(s, r) {\n\t\tvar _i, _ref, _rune, c, i, r, s;\n\t\t_ref = s;\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.length)) { break; }\n\t\t\t_rune = $decodeRune(_ref, _i);\n\t\t\ti = _i;\n\t\t\tc = _rune[0];\n\t\t\tif (c === r) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t\t_i += _rune[1];\n\t\t}\n\t\treturn -1;\n\t};\n\tss.ptr.prototype.consume = function(ok, accept) {\n\t\tvar _r, _r$1, accept, ok, r, s, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; accept = $f.accept; ok = $f.ok; r = $f.r; s = $f.s; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\ts = this;\n\t\t_r = s.getRune(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tr = _r;\n\t\tif (r === -1) {\n\t\t\t$s = -1; return false;\n\t\t}\n\t\tif (indexRune(ok, r) >= 0) {\n\t\t\tif (accept) {\n\t\t\t\t(s.$ptr_buf || (s.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, s))).WriteRune(r);\n\t\t\t}\n\t\t\t$s = -1; return true;\n\t\t}\n\t\t/* */ if (!((r === -1)) && accept) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (!((r === -1)) && accept) { */ case 2:\n\t\t\t_r$1 = s.UnreadRune(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_r$1;\n\t\t/* } */ case 3:\n\t\t$s = -1; return false;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ss.ptr.prototype.consume }; } $f._r = _r; $f._r$1 = _r$1; $f.accept = accept; $f.ok = ok; $f.r = r; $f.s = s; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tss.prototype.consume = function(ok, accept) { return this.$val.consume(ok, accept); };\n\tss.ptr.prototype.peek = function(ok) {\n\t\tvar _r, _r$1, ok, r, s, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; ok = $f.ok; r = $f.r; s = $f.s; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\ts = this;\n\t\t_r = s.getRune(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tr = _r;\n\t\t/* */ if (!((r === -1))) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (!((r === -1))) { */ case 2:\n\t\t\t_r$1 = s.UnreadRune(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_r$1;\n\t\t/* } */ case 3:\n\t\t$s = -1; return indexRune(ok, r) >= 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ss.ptr.prototype.peek }; } $f._r = _r; $f._r$1 = _r$1; $f.ok = ok; $f.r = r; $f.s = s; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tss.prototype.peek = function(ok) { return this.$val.peek(ok); };\n\tss.ptr.prototype.notEOF = function() {\n\t\tvar _r, _r$1, r, s, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; r = $f.r; s = $f.s; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\ts = this;\n\t\t_r = s.getRune(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tr = _r;\n\t\tif (r === -1) {\n\t\t\t$panic(io.EOF);\n\t\t}\n\t\t_r$1 = s.UnreadRune(); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_r$1;\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ss.ptr.prototype.notEOF }; } $f._r = _r; $f._r$1 = _r$1; $f.r = r; $f.s = s; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tss.prototype.notEOF = function() { return this.$val.notEOF(); };\n\tss.ptr.prototype.accept = function(ok) {\n\t\tvar _r, ok, s, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; ok = $f.ok; s = $f.s; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\ts = this;\n\t\t_r = s.consume(ok, true); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ss.ptr.prototype.accept }; } $f._r = _r; $f.ok = ok; $f.s = s; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tss.prototype.accept = function(ok) { return this.$val.accept(ok); };\n\tss.ptr.prototype.okVerb = function(verb, okVerbs, typ) {\n\t\tvar _i, _ref, _rune, okVerbs, s, typ, v, verb;\n\t\ts = this;\n\t\t_ref = okVerbs;\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.length)) { break; }\n\t\t\t_rune = $decodeRune(_ref, _i);\n\t\t\tv = _rune[0];\n\t\t\tif (v === verb) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\t_i += _rune[1];\n\t\t}\n\t\ts.errorString(\"bad verb '%\" + ($encodeRune(verb)) + \"' for \" + typ);\n\t\treturn false;\n\t};\n\tss.prototype.okVerb = function(verb, okVerbs, typ) { return this.$val.okVerb(verb, okVerbs, typ); };\n\tss.ptr.prototype.scanBool = function(verb) {\n\t\tvar _1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _v, _v$1, _v$2, _v$3, _v$4, s, verb, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _v = $f._v; _v$1 = $f._v$1; _v$2 = $f._v$2; _v$3 = $f._v$3; _v$4 = $f._v$4; s = $f.s; verb = $f.verb; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\ts = this;\n\t\t$r = s.SkipSpace(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = s.notEOF(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tif (!s.okVerb(verb, \"tv\", \"boolean\")) {\n\t\t\t$s = -1; return false;\n\t\t}\n\t\t\t_r = s.getRune(); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_1 = _r;\n\t\t\t/* */ if (_1 === (48)) { $s = 5; continue; }\n\t\t\t/* */ if (_1 === (49)) { $s = 6; continue; }\n\t\t\t/* */ if ((_1 === (116)) || (_1 === (84))) { $s = 7; continue; }\n\t\t\t/* */ if ((_1 === (102)) || (_1 === (70))) { $s = 8; continue; }\n\t\t\t/* */ $s = 9; continue;\n\t\t\t/* if (_1 === (48)) { */ case 5:\n\t\t\t\t$s = -1; return false;\n\t\t\t/* } else if (_1 === (49)) { */ case 6:\n\t\t\t\t$s = -1; return true;\n\t\t\t/* } else if ((_1 === (116)) || (_1 === (84))) { */ case 7:\n\t\t\t\t_r$1 = s.accept(\"rR\"); /* */ $s = 13; case 13: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\tif (!(_r$1)) { _v = false; $s = 12; continue s; }\n\t\t\t\t_r$2 = s.accept(\"uU\"); /* */ $s = 15; case 15: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\tif (!_r$2) { _v$1 = true; $s = 14; continue s; }\n\t\t\t\t_r$3 = s.accept(\"eE\"); /* */ $s = 16; case 16: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t_v$1 = !_r$3; case 14:\n\t\t\t\t_v = _v$1; case 12:\n\t\t\t\t/* */ if (_v) { $s = 10; continue; }\n\t\t\t\t/* */ $s = 11; continue;\n\t\t\t\t/* if (_v) { */ case 10:\n\t\t\t\t\ts.error(boolError);\n\t\t\t\t/* } */ case 11:\n\t\t\t\t$s = -1; return true;\n\t\t\t/* } else if ((_1 === (102)) || (_1 === (70))) { */ case 8:\n\t\t\t\t_r$4 = s.accept(\"aA\"); /* */ $s = 20; case 20: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\tif (!(_r$4)) { _v$2 = false; $s = 19; continue s; }\n\t\t\t\t_r$5 = s.accept(\"lL\"); /* */ $s = 23; case 23: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t\tif (!_r$5) { _v$4 = true; $s = 22; continue s; }\n\t\t\t\t_r$6 = s.accept(\"sS\"); /* */ $s = 24; case 24: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t\t\t_v$4 = !_r$6; case 22:\n\t\t\t\tif (_v$4) { _v$3 = true; $s = 21; continue s; }\n\t\t\t\t_r$7 = s.accept(\"eE\"); /* */ $s = 25; case 25: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }\n\t\t\t\t_v$3 = !_r$7; case 21:\n\t\t\t\t_v$2 = _v$3; case 19:\n\t\t\t\t/* */ if (_v$2) { $s = 17; continue; }\n\t\t\t\t/* */ $s = 18; continue;\n\t\t\t\t/* if (_v$2) { */ case 17:\n\t\t\t\t\ts.error(boolError);\n\t\t\t\t/* } */ case 18:\n\t\t\t\t$s = -1; return false;\n\t\t\t/* } */ case 9:\n\t\tcase 3:\n\t\t$s = -1; return false;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ss.ptr.prototype.scanBool }; } $f._1 = _1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._v = _v; $f._v$1 = _v$1; $f._v$2 = _v$2; $f._v$3 = _v$3; $f._v$4 = _v$4; $f.s = s; $f.verb = verb; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tss.prototype.scanBool = function(verb) { return this.$val.scanBool(verb); };\n\tss.ptr.prototype.getBase = function(verb) {\n\t\tvar _1, base, digits, s, verb;\n\t\tbase = 0;\n\t\tdigits = \"\";\n\t\ts = this;\n\t\ts.okVerb(verb, \"bdoUxXv\", \"integer\");\n\t\tbase = 10;\n\t\tdigits = \"0123456789\";\n\t\t_1 = verb;\n\t\tif (_1 === (98)) {\n\t\t\tbase = 2;\n\t\t\tdigits = \"01\";\n\t\t} else if (_1 === (111)) {\n\t\t\tbase = 8;\n\t\t\tdigits = \"01234567\";\n\t\t} else if ((_1 === (120)) || (_1 === (88)) || (_1 === (85))) {\n\t\t\tbase = 16;\n\t\t\tdigits = \"0123456789aAbBcCdDeEfF\";\n\t\t}\n\t\treturn [base, digits];\n\t};\n\tss.prototype.getBase = function(verb) { return this.$val.getBase(verb); };\n\tss.ptr.prototype.scanNumber = function(digits, haveDigits) {\n\t\tvar _r, _r$1, digits, haveDigits, s, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; digits = $f.digits; haveDigits = $f.haveDigits; s = $f.s; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\ts = this;\n\t\t/* */ if (!haveDigits) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!haveDigits) { */ case 1:\n\t\t\t$r = s.notEOF(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t_r = s.accept(digits); /* */ $s = 6; case 6: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t/* */ if (!_r) { $s = 4; continue; }\n\t\t\t/* */ $s = 5; continue;\n\t\t\t/* if (!_r) { */ case 4:\n\t\t\t\ts.errorString(\"expected integer\");\n\t\t\t/* } */ case 5:\n\t\t/* } */ case 2:\n\t\t/* while (true) { */ case 7:\n\t\t\t_r$1 = s.accept(digits); /* */ $s = 9; case 9: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t/* if (!(_r$1)) { break; } */ if(!(_r$1)) { $s = 8; continue; }\n\t\t/* } */ $s = 7; continue; case 8:\n\t\t$s = -1; return ($bytesToString(s.buf));\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ss.ptr.prototype.scanNumber }; } $f._r = _r; $f._r$1 = _r$1; $f.digits = digits; $f.haveDigits = haveDigits; $f.s = s; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tss.prototype.scanNumber = function(digits, haveDigits) { return this.$val.scanNumber(digits, haveDigits); };\n\tss.ptr.prototype.scanRune = function(bitSize) {\n\t\tvar _r, bitSize, n, r, s, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; bitSize = $f.bitSize; n = $f.n; r = $f.r; s = $f.s; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\ts = this;\n\t\t$r = s.notEOF(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_r = s.getRune(); /* */ $s = 2; case 2: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tr = (new $Int64(0, _r));\n\t\tn = ((bitSize >>> 0));\n\t\tx = $shiftRightInt64(($shiftLeft64(r, ((64 - n >>> 0)))), ((64 - n >>> 0)));\n\t\tif (!((x.$high === r.$high && x.$low === r.$low))) {\n\t\t\ts.errorString(\"overflow on character value \" + ($encodeRune(r.$low)));\n\t\t}\n\t\t$s = -1; return r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ss.ptr.prototype.scanRune }; } $f._r = _r; $f.bitSize = bitSize; $f.n = n; $f.r = r; $f.s = s; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tss.prototype.scanRune = function(bitSize) { return this.$val.scanRune(bitSize); };\n\tss.ptr.prototype.scanBasePrefix = function() {\n\t\tvar _r, _r$1, _r$2, _r$3, _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, base, digits, found, s, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; _tmp$4 = $f._tmp$4; _tmp$5 = $f._tmp$5; _tmp$6 = $f._tmp$6; base = $f.base; digits = $f.digits; found = $f.found; s = $f.s; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tbase = 0;\n\t\tdigits = \"\";\n\t\tfound = false;\n\t\ts = this;\n\t\t_r = s.peek(\"0\"); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t/* */ if (!_r) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!_r) { */ case 1:\n\t\t\t_tmp = 10;\n\t\t\t_tmp$1 = \"0123456789\";\n\t\t\t_tmp$2 = false;\n\t\t\tbase = _tmp;\n\t\t\tdigits = _tmp$1;\n\t\t\tfound = _tmp$2;\n\t\t\t$s = -1; return [base, digits, found];\n\t\t/* } */ case 2:\n\t\t_r$1 = s.accept(\"0\"); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_r$1;\n\t\tfound = true;\n\t\t_tmp$3 = 8;\n\t\t_tmp$4 = \"01234567\";\n\t\tbase = _tmp$3;\n\t\tdigits = _tmp$4;\n\t\t_r$2 = s.peek(\"xX\"); /* */ $s = 7; case 7: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t/* */ if (_r$2) { $s = 5; continue; }\n\t\t/* */ $s = 6; continue;\n\t\t/* if (_r$2) { */ case 5:\n\t\t\t_r$3 = s.consume(\"xX\", false); /* */ $s = 8; case 8: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t_r$3;\n\t\t\t_tmp$5 = 16;\n\t\t\t_tmp$6 = \"0123456789aAbBcCdDeEfF\";\n\t\t\tbase = _tmp$5;\n\t\t\tdigits = _tmp$6;\n\t\t/* } */ case 6:\n\t\t$s = -1; return [base, digits, found];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ss.ptr.prototype.scanBasePrefix }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f._tmp$4 = _tmp$4; $f._tmp$5 = _tmp$5; $f._tmp$6 = _tmp$6; $f.base = base; $f.digits = digits; $f.found = found; $f.s = s; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tss.prototype.scanBasePrefix = function() { return this.$val.scanBasePrefix(); };\n\tss.ptr.prototype.scanInt = function(verb, bitSize) {\n\t\tvar _r, _r$1, _r$2, _r$3, _r$4, _r$5, _tuple, _tuple$1, _tuple$2, _v, base, bitSize, digits, err, haveDigits, i, n, s, tok, verb, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; _v = $f._v; base = $f.base; bitSize = $f.bitSize; digits = $f.digits; err = $f.err; haveDigits = $f.haveDigits; i = $f.i; n = $f.n; s = $f.s; tok = $f.tok; verb = $f.verb; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\ts = this;\n\t\t/* */ if (verb === 99) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (verb === 99) { */ case 1:\n\t\t\t_r = s.scanRune(bitSize); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return _r;\n\t\t/* } */ case 2:\n\t\t$r = s.SkipSpace(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = s.notEOF(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_tuple = s.getBase(verb);\n\t\tbase = _tuple[0];\n\t\tdigits = _tuple[1];\n\t\thaveDigits = false;\n\t\t/* */ if (verb === 85) { $s = 6; continue; }\n\t\t/* */ $s = 7; continue;\n\t\t/* if (verb === 85) { */ case 6:\n\t\t\t_r$1 = s.consume(\"U\", false); /* */ $s = 12; case 12: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\tif (!_r$1) { _v = true; $s = 11; continue s; }\n\t\t\t_r$2 = s.consume(\"+\", false); /* */ $s = 13; case 13: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t_v = !_r$2; case 11:\n\t\t\t/* */ if (_v) { $s = 9; continue; }\n\t\t\t/* */ $s = 10; continue;\n\t\t\t/* if (_v) { */ case 9:\n\t\t\t\ts.errorString(\"bad unicode format \");\n\t\t\t/* } */ case 10:\n\t\t\t$s = 8; continue;\n\t\t/* } else { */ case 7:\n\t\t\t_r$3 = s.accept(\"+-\"); /* */ $s = 14; case 14: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t_r$3;\n\t\t\t/* */ if (verb === 118) { $s = 15; continue; }\n\t\t\t/* */ $s = 16; continue;\n\t\t\t/* if (verb === 118) { */ case 15:\n\t\t\t\t_r$4 = s.scanBasePrefix(); /* */ $s = 17; case 17: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\t_tuple$1 = _r$4;\n\t\t\t\tbase = _tuple$1[0];\n\t\t\t\tdigits = _tuple$1[1];\n\t\t\t\thaveDigits = _tuple$1[2];\n\t\t\t/* } */ case 16:\n\t\t/* } */ case 8:\n\t\t_r$5 = s.scanNumber(digits, haveDigits); /* */ $s = 18; case 18: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\ttok = _r$5;\n\t\t_tuple$2 = strconv.ParseInt(tok, base, 64);\n\t\ti = _tuple$2[0];\n\t\terr = _tuple$2[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\ts.error(err);\n\t\t}\n\t\tn = ((bitSize >>> 0));\n\t\tx = $shiftRightInt64(($shiftLeft64(i, ((64 - n >>> 0)))), ((64 - n >>> 0)));\n\t\tif (!((x.$high === i.$high && x.$low === i.$low))) {\n\t\t\ts.errorString(\"integer overflow on token \" + tok);\n\t\t}\n\t\t$s = -1; return i;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ss.ptr.prototype.scanInt }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f._v = _v; $f.base = base; $f.bitSize = bitSize; $f.digits = digits; $f.err = err; $f.haveDigits = haveDigits; $f.i = i; $f.n = n; $f.s = s; $f.tok = tok; $f.verb = verb; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tss.prototype.scanInt = function(verb, bitSize) { return this.$val.scanInt(verb, bitSize); };\n\tss.ptr.prototype.scanUint = function(verb, bitSize) {\n\t\tvar _r, _r$1, _r$2, _r$3, _r$4, _tuple, _tuple$1, _tuple$2, _v, base, bitSize, digits, err, haveDigits, i, n, s, tok, verb, x, x$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; _v = $f._v; base = $f.base; bitSize = $f.bitSize; digits = $f.digits; err = $f.err; haveDigits = $f.haveDigits; i = $f.i; n = $f.n; s = $f.s; tok = $f.tok; verb = $f.verb; x = $f.x; x$1 = $f.x$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\ts = this;\n\t\t/* */ if (verb === 99) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (verb === 99) { */ case 1:\n\t\t\t_r = s.scanRune(bitSize); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return ((x = _r, new $Uint64(x.$high, x.$low)));\n\t\t/* } */ case 2:\n\t\t$r = s.SkipSpace(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = s.notEOF(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_tuple = s.getBase(verb);\n\t\tbase = _tuple[0];\n\t\tdigits = _tuple[1];\n\t\thaveDigits = false;\n\t\t/* */ if (verb === 85) { $s = 6; continue; }\n\t\t/* */ if (verb === 118) { $s = 7; continue; }\n\t\t/* */ $s = 8; continue;\n\t\t/* if (verb === 85) { */ case 6:\n\t\t\t_r$1 = s.consume(\"U\", false); /* */ $s = 12; case 12: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\tif (!_r$1) { _v = true; $s = 11; continue s; }\n\t\t\t_r$2 = s.consume(\"+\", false); /* */ $s = 13; case 13: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t_v = !_r$2; case 11:\n\t\t\t/* */ if (_v) { $s = 9; continue; }\n\t\t\t/* */ $s = 10; continue;\n\t\t\t/* if (_v) { */ case 9:\n\t\t\t\ts.errorString(\"bad unicode format \");\n\t\t\t/* } */ case 10:\n\t\t\t$s = 8; continue;\n\t\t/* } else if (verb === 118) { */ case 7:\n\t\t\t_r$3 = s.scanBasePrefix(); /* */ $s = 14; case 14: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t_tuple$1 = _r$3;\n\t\t\tbase = _tuple$1[0];\n\t\t\tdigits = _tuple$1[1];\n\t\t\thaveDigits = _tuple$1[2];\n\t\t/* } */ case 8:\n\t\t_r$4 = s.scanNumber(digits, haveDigits); /* */ $s = 15; case 15: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\ttok = _r$4;\n\t\t_tuple$2 = strconv.ParseUint(tok, base, 64);\n\t\ti = _tuple$2[0];\n\t\terr = _tuple$2[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\ts.error(err);\n\t\t}\n\t\tn = ((bitSize >>> 0));\n\t\tx$1 = $shiftRightUint64(($shiftLeft64(i, ((64 - n >>> 0)))), ((64 - n >>> 0)));\n\t\tif (!((x$1.$high === i.$high && x$1.$low === i.$low))) {\n\t\t\ts.errorString(\"unsigned integer overflow on token \" + tok);\n\t\t}\n\t\t$s = -1; return i;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ss.ptr.prototype.scanUint }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f._v = _v; $f.base = base; $f.bitSize = bitSize; $f.digits = digits; $f.err = err; $f.haveDigits = haveDigits; $f.i = i; $f.n = n; $f.s = s; $f.tok = tok; $f.verb = verb; $f.x = x; $f.x$1 = x$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tss.prototype.scanUint = function(verb, bitSize) { return this.$val.scanUint(verb, bitSize); };\n\tss.ptr.prototype.floatToken = function() {\n\t\tvar _r, _r$1, _r$10, _r$11, _r$12, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _v, _v$1, _v$2, _v$3, s, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$10 = $f._r$10; _r$11 = $f._r$11; _r$12 = $f._r$12; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _r$8 = $f._r$8; _r$9 = $f._r$9; _v = $f._v; _v$1 = $f._v$1; _v$2 = $f._v$2; _v$3 = $f._v$3; s = $f.s; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\ts = this;\n\t\ts.buf = $subslice(s.buf, 0, 0);\n\t\t_r = s.accept(\"nN\"); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tif (!(_r)) { _v$1 = false; $s = 4; continue s; }\n\t\t_r$1 = s.accept(\"aA\"); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_v$1 = _r$1; case 4:\n\t\tif (!(_v$1)) { _v = false; $s = 3; continue s; }\n\t\t_r$2 = s.accept(\"nN\"); /* */ $s = 7; case 7: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t_v = _r$2; case 3:\n\t\t/* */ if (_v) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (_v) { */ case 1:\n\t\t\t$s = -1; return ($bytesToString(s.buf));\n\t\t/* } */ case 2:\n\t\t_r$3 = s.accept(\"+-\"); /* */ $s = 8; case 8: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t_r$3;\n\t\t_r$4 = s.accept(\"iI\"); /* */ $s = 13; case 13: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\tif (!(_r$4)) { _v$3 = false; $s = 12; continue s; }\n\t\t_r$5 = s.accept(\"nN\"); /* */ $s = 14; case 14: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t_v$3 = _r$5; case 12:\n\t\tif (!(_v$3)) { _v$2 = false; $s = 11; continue s; }\n\t\t_r$6 = s.accept(\"fF\"); /* */ $s = 15; case 15: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t_v$2 = _r$6; case 11:\n\t\t/* */ if (_v$2) { $s = 9; continue; }\n\t\t/* */ $s = 10; continue;\n\t\t/* if (_v$2) { */ case 9:\n\t\t\t$s = -1; return ($bytesToString(s.buf));\n\t\t/* } */ case 10:\n\t\t/* while (true) { */ case 16:\n\t\t\t_r$7 = s.accept(\"0123456789\"); /* */ $s = 18; case 18: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }\n\t\t\t/* if (!(_r$7)) { break; } */ if(!(_r$7)) { $s = 17; continue; }\n\t\t/* } */ $s = 16; continue; case 17:\n\t\t_r$8 = s.accept(\".\"); /* */ $s = 21; case 21: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }\n\t\t/* */ if (_r$8) { $s = 19; continue; }\n\t\t/* */ $s = 20; continue;\n\t\t/* if (_r$8) { */ case 19:\n\t\t\t/* while (true) { */ case 22:\n\t\t\t\t_r$9 = s.accept(\"0123456789\"); /* */ $s = 24; case 24: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }\n\t\t\t\t/* if (!(_r$9)) { break; } */ if(!(_r$9)) { $s = 23; continue; }\n\t\t\t/* } */ $s = 22; continue; case 23:\n\t\t/* } */ case 20:\n\t\t_r$10 = s.accept(\"eEp\"); /* */ $s = 27; case 27: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }\n\t\t/* */ if (_r$10) { $s = 25; continue; }\n\t\t/* */ $s = 26; continue;\n\t\t/* if (_r$10) { */ case 25:\n\t\t\t_r$11 = s.accept(\"+-\"); /* */ $s = 28; case 28: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }\n\t\t\t_r$11;\n\t\t\t/* while (true) { */ case 29:\n\t\t\t\t_r$12 = s.accept(\"0123456789\"); /* */ $s = 31; case 31: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; }\n\t\t\t\t/* if (!(_r$12)) { break; } */ if(!(_r$12)) { $s = 30; continue; }\n\t\t\t/* } */ $s = 29; continue; case 30:\n\t\t/* } */ case 26:\n\t\t$s = -1; return ($bytesToString(s.buf));\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ss.ptr.prototype.floatToken }; } $f._r = _r; $f._r$1 = _r$1; $f._r$10 = _r$10; $f._r$11 = _r$11; $f._r$12 = _r$12; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._r$8 = _r$8; $f._r$9 = _r$9; $f._v = _v; $f._v$1 = _v$1; $f._v$2 = _v$2; $f._v$3 = _v$3; $f.s = s; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tss.prototype.floatToken = function() { return this.$val.floatToken(); };\n\tss.ptr.prototype.complexTokens = function() {\n\t\tvar _r, _r$1, _r$2, _r$3, _r$4, _r$5, _tmp, _tmp$1, _v, imag, imagSign, parens, real, s, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _v = $f._v; imag = $f.imag; imagSign = $f.imagSign; parens = $f.parens; real = $f.real; s = $f.s; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\treal = \"\";\n\t\timag = \"\";\n\t\ts = this;\n\t\t_r = s.accept(\"(\"); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tparens = _r;\n\t\t_r$1 = s.floatToken(); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\treal = _r$1;\n\t\ts.buf = $subslice(s.buf, 0, 0);\n\t\t_r$2 = s.accept(\"+-\"); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t/* */ if (!_r$2) { $s = 3; continue; }\n\t\t/* */ $s = 4; continue;\n\t\t/* if (!_r$2) { */ case 3:\n\t\t\ts.error(complexError);\n\t\t/* } */ case 4:\n\t\timagSign = ($bytesToString(s.buf));\n\t\t_r$3 = s.floatToken(); /* */ $s = 6; case 6: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\timag = _r$3;\n\t\t_r$4 = s.accept(\"i\"); /* */ $s = 9; case 9: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t/* */ if (!_r$4) { $s = 7; continue; }\n\t\t/* */ $s = 8; continue;\n\t\t/* if (!_r$4) { */ case 7:\n\t\t\ts.error(complexError);\n\t\t/* } */ case 8:\n\t\tif (!(parens)) { _v = false; $s = 12; continue s; }\n\t\t_r$5 = s.accept(\")\"); /* */ $s = 13; case 13: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t_v = !_r$5; case 12:\n\t\t/* */ if (_v) { $s = 10; continue; }\n\t\t/* */ $s = 11; continue;\n\t\t/* if (_v) { */ case 10:\n\t\t\ts.error(complexError);\n\t\t/* } */ case 11:\n\t\t_tmp = real;\n\t\t_tmp$1 = imagSign + imag;\n\t\treal = _tmp;\n\t\timag = _tmp$1;\n\t\t$s = -1; return [real, imag];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ss.ptr.prototype.complexTokens }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._v = _v; $f.imag = imag; $f.imagSign = imagSign; $f.parens = parens; $f.real = real; $f.s = s; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tss.prototype.complexTokens = function() { return this.$val.complexTokens(); };\n\tss.ptr.prototype.convertFloat = function(str, n) {\n\t\tvar _tuple, _tuple$1, _tuple$2, _tuple$3, _tuple$4, e, e$1, err, err$1, f, f$1, m, n, ok, ok$1, p, s, str;\n\t\ts = this;\n\t\tp = indexRune(str, 112);\n\t\tif (p >= 0) {\n\t\t\t_tuple = strconv.ParseFloat($substring(str, 0, p), n);\n\t\t\tf = _tuple[0];\n\t\t\terr = _tuple[1];\n\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\t_tuple$1 = $assertType(err, ptrType$6, true);\n\t\t\t\te = _tuple$1[0];\n\t\t\t\tok = _tuple$1[1];\n\t\t\t\tif (ok) {\n\t\t\t\t\te.Num = str;\n\t\t\t\t}\n\t\t\t\ts.error(err);\n\t\t\t}\n\t\t\t_tuple$2 = strconv.Atoi($substring(str, (p + 1 >> 0)));\n\t\t\tm = _tuple$2[0];\n\t\t\terr = _tuple$2[1];\n\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\t_tuple$3 = $assertType(err, ptrType$6, true);\n\t\t\t\te$1 = _tuple$3[0];\n\t\t\t\tok$1 = _tuple$3[1];\n\t\t\t\tif (ok$1) {\n\t\t\t\t\te$1.Num = str;\n\t\t\t\t}\n\t\t\t\ts.error(err);\n\t\t\t}\n\t\t\treturn math.Ldexp(f, m);\n\t\t}\n\t\t_tuple$4 = strconv.ParseFloat(str, n);\n\t\tf$1 = _tuple$4[0];\n\t\terr$1 = _tuple$4[1];\n\t\tif (!($interfaceIsEqual(err$1, $ifaceNil))) {\n\t\t\ts.error(err$1);\n\t\t}\n\t\treturn f$1;\n\t};\n\tss.prototype.convertFloat = function(str, n) { return this.$val.convertFloat(str, n); };\n\tss.ptr.prototype.scanComplex = function(verb, n) {\n\t\tvar _q, _q$1, _r, _tuple, imag, n, real, s, simag, sreal, verb, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _q = $f._q; _q$1 = $f._q$1; _r = $f._r; _tuple = $f._tuple; imag = $f.imag; n = $f.n; real = $f.real; s = $f.s; simag = $f.simag; sreal = $f.sreal; verb = $f.verb; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\ts = this;\n\t\tif (!s.okVerb(verb, \"beEfFgGv\", \"complex\")) {\n\t\t\t$s = -1; return new $Complex128(0, 0);\n\t\t}\n\t\t$r = s.SkipSpace(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = s.notEOF(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_r = s.complexTokens(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tsreal = _tuple[0];\n\t\tsimag = _tuple[1];\n\t\treal = s.convertFloat(sreal, (_q = n / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError(\"integer divide by zero\")));\n\t\timag = s.convertFloat(simag, (_q$1 = n / 2, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError(\"integer divide by zero\")));\n\t\t$s = -1; return new $Complex128(real, imag);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ss.ptr.prototype.scanComplex }; } $f._q = _q; $f._q$1 = _q$1; $f._r = _r; $f._tuple = _tuple; $f.imag = imag; $f.n = n; $f.real = real; $f.s = s; $f.simag = simag; $f.sreal = sreal; $f.verb = verb; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tss.prototype.scanComplex = function(verb, n) { return this.$val.scanComplex(verb, n); };\n\tss.ptr.prototype.convertString = function(verb) {\n\t\tvar _1, _r, _r$1, _r$2, s, str, verb, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; s = $f.s; str = $f.str; verb = $f.verb; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tstr = \"\";\n\t\ts = this;\n\t\tif (!s.okVerb(verb, \"svqxX\", \"string\")) {\n\t\t\tstr = \"\";\n\t\t\t$s = -1; return str;\n\t\t}\n\t\t$r = s.SkipSpace(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = s.notEOF(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t_1 = verb;\n\t\t\t/* */ if (_1 === (113)) { $s = 4; continue; }\n\t\t\t/* */ if ((_1 === (120)) || (_1 === (88))) { $s = 5; continue; }\n\t\t\t/* */ $s = 6; continue;\n\t\t\t/* if (_1 === (113)) { */ case 4:\n\t\t\t\t_r = s.quotedString(); /* */ $s = 8; case 8: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\tstr = _r;\n\t\t\t\t$s = 7; continue;\n\t\t\t/* } else if ((_1 === (120)) || (_1 === (88))) { */ case 5:\n\t\t\t\t_r$1 = s.hexString(); /* */ $s = 9; case 9: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\tstr = _r$1;\n\t\t\t\t$s = 7; continue;\n\t\t\t/* } else { */ case 6:\n\t\t\t\t_r$2 = s.token(true, notSpace); /* */ $s = 10; case 10: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\tstr = ($bytesToString(_r$2));\n\t\t\t/* } */ case 7:\n\t\tcase 3:\n\t\t$s = -1; return str;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ss.ptr.prototype.convertString }; } $f._1 = _1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.s = s; $f.str = str; $f.verb = verb; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tss.prototype.convertString = function(verb) { return this.$val.convertString(verb); };\n\tss.ptr.prototype.quotedString = function() {\n\t\tvar _1, _r, _r$1, _r$2, _r$3, _tuple, err, quote, r, r$1, result, s, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _tuple = $f._tuple; err = $f.err; quote = $f.quote; r = $f.r; r$1 = $f.r$1; result = $f.result; s = $f.s; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\ts = this;\n\t\t$r = s.notEOF(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_r = s.getRune(); /* */ $s = 2; case 2: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tquote = _r;\n\t\t\t_1 = quote;\n\t\t\t/* */ if (_1 === (96)) { $s = 4; continue; }\n\t\t\t/* */ if (_1 === (34)) { $s = 5; continue; }\n\t\t\t/* */ $s = 6; continue;\n\t\t\t/* if (_1 === (96)) { */ case 4:\n\t\t\t\t/* while (true) { */ case 8:\n\t\t\t\t\t_r$1 = s.mustReadRune(); /* */ $s = 10; case 10: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t\tr = _r$1;\n\t\t\t\t\tif (r === quote) {\n\t\t\t\t\t\t/* break; */ $s = 9; continue;\n\t\t\t\t\t}\n\t\t\t\t\t(s.$ptr_buf || (s.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, s))).WriteRune(r);\n\t\t\t\t/* } */ $s = 8; continue; case 9:\n\t\t\t\t$s = -1; return ($bytesToString(s.buf));\n\t\t\t/* } else if (_1 === (34)) { */ case 5:\n\t\t\t\t(s.$ptr_buf || (s.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, s))).WriteByte(34);\n\t\t\t\t/* while (true) { */ case 11:\n\t\t\t\t\t_r$2 = s.mustReadRune(); /* */ $s = 13; case 13: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t\tr$1 = _r$2;\n\t\t\t\t\t(s.$ptr_buf || (s.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, s))).WriteRune(r$1);\n\t\t\t\t\t/* */ if (r$1 === 92) { $s = 14; continue; }\n\t\t\t\t\t/* */ if (r$1 === 34) { $s = 15; continue; }\n\t\t\t\t\t/* */ $s = 16; continue;\n\t\t\t\t\t/* if (r$1 === 92) { */ case 14:\n\t\t\t\t\t\t_r$3 = s.mustReadRune(); /* */ $s = 17; case 17: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t\t\t$r = (s.$ptr_buf || (s.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, s))).WriteRune(_r$3); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t\t$s = 16; continue;\n\t\t\t\t\t/* } else if (r$1 === 34) { */ case 15:\n\t\t\t\t\t\t/* break; */ $s = 12; continue;\n\t\t\t\t\t/* } */ case 16:\n\t\t\t\t/* } */ $s = 11; continue; case 12:\n\t\t\t\t_tuple = strconv.Unquote(($bytesToString(s.buf)));\n\t\t\t\tresult = _tuple[0];\n\t\t\t\terr = _tuple[1];\n\t\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\t\ts.error(err);\n\t\t\t\t}\n\t\t\t\t$s = -1; return result;\n\t\t\t/* } else { */ case 6:\n\t\t\t\ts.errorString(\"expected quoted string\");\n\t\t\t/* } */ case 7:\n\t\tcase 3:\n\t\t$s = -1; return \"\";\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ss.ptr.prototype.quotedString }; } $f._1 = _1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._tuple = _tuple; $f.err = err; $f.quote = quote; $f.r = r; $f.r$1 = r$1; $f.result = result; $f.s = s; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tss.prototype.quotedString = function() { return this.$val.quotedString(); };\n\thexDigit = function(d) {\n\t\tvar _1, d, digit;\n\t\tdigit = ((d >> 0));\n\t\t_1 = digit;\n\t\tif ((_1 === (48)) || (_1 === (49)) || (_1 === (50)) || (_1 === (51)) || (_1 === (52)) || (_1 === (53)) || (_1 === (54)) || (_1 === (55)) || (_1 === (56)) || (_1 === (57))) {\n\t\t\treturn [digit - 48 >> 0, true];\n\t\t} else if ((_1 === (97)) || (_1 === (98)) || (_1 === (99)) || (_1 === (100)) || (_1 === (101)) || (_1 === (102))) {\n\t\t\treturn [(10 + digit >> 0) - 97 >> 0, true];\n\t\t} else if ((_1 === (65)) || (_1 === (66)) || (_1 === (67)) || (_1 === (68)) || (_1 === (69)) || (_1 === (70))) {\n\t\t\treturn [(10 + digit >> 0) - 65 >> 0, true];\n\t\t}\n\t\treturn [-1, false];\n\t};\n\tss.ptr.prototype.hexByte = function() {\n\t\tvar _r, _r$1, _r$2, _r$3, _tmp, _tmp$1, _tuple, _tuple$1, b, ok, rune1, s, value1, value2, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; b = $f.b; ok = $f.ok; rune1 = $f.rune1; s = $f.s; value1 = $f.value1; value2 = $f.value2; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tb = 0;\n\t\tok = false;\n\t\ts = this;\n\t\t_r = s.getRune(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\trune1 = _r;\n\t\tif (rune1 === -1) {\n\t\t\t$s = -1; return [b, ok];\n\t\t}\n\t\t_tuple = hexDigit(rune1);\n\t\tvalue1 = _tuple[0];\n\t\tok = _tuple[1];\n\t\t/* */ if (!ok) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (!ok) { */ case 2:\n\t\t\t_r$1 = s.UnreadRune(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_r$1;\n\t\t\t$s = -1; return [b, ok];\n\t\t/* } */ case 3:\n\t\t_r$2 = s.mustReadRune(); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t_r$3 = hexDigit(_r$2); /* */ $s = 6; case 6: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t_tuple$1 = _r$3;\n\t\tvalue2 = _tuple$1[0];\n\t\tok = _tuple$1[1];\n\t\tif (!ok) {\n\t\t\ts.errorString(\"illegal hex digit\");\n\t\t\t$s = -1; return [b, ok];\n\t\t}\n\t\t_tmp = ((((value1 << 4 >> 0) | value2) << 24 >>> 24));\n\t\t_tmp$1 = true;\n\t\tb = _tmp;\n\t\tok = _tmp$1;\n\t\t$s = -1; return [b, ok];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ss.ptr.prototype.hexByte }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.b = b; $f.ok = ok; $f.rune1 = rune1; $f.s = s; $f.value1 = value1; $f.value2 = value2; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tss.prototype.hexByte = function() { return this.$val.hexByte(); };\n\tss.ptr.prototype.hexString = function() {\n\t\tvar _r, _tuple, b, ok, s, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; b = $f.b; ok = $f.ok; s = $f.s; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\ts = this;\n\t\t$r = s.notEOF(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* while (true) { */ case 2:\n\t\t\t_r = s.hexByte(); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r;\n\t\t\tb = _tuple[0];\n\t\t\tok = _tuple[1];\n\t\t\tif (!ok) {\n\t\t\t\t/* break; */ $s = 3; continue;\n\t\t\t}\n\t\t\t(s.$ptr_buf || (s.$ptr_buf = new ptrType$1(function() { return this.$target.buf; }, function($v) { this.$target.buf = $v; }, s))).WriteByte(b);\n\t\t/* } */ $s = 2; continue; case 3:\n\t\tif (s.buf.$length === 0) {\n\t\t\ts.errorString(\"no hex data for %x string\");\n\t\t\t$s = -1; return \"\";\n\t\t}\n\t\t$s = -1; return ($bytesToString(s.buf));\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ss.ptr.prototype.hexString }; } $f._r = _r; $f._tuple = _tuple; $f.b = b; $f.ok = ok; $f.s = s; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tss.prototype.hexString = function() { return this.$val.hexString(); };\n\tss.ptr.prototype.scanOne = function(verb, arg) {\n\t\tvar _1, _arg, _arg$1, _arg$2, _arg$3, _arg$4, _arg$5, _arg$6, _arg$7, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$16, _r$17, _r$18, _r$19, _r$2, _r$20, _r$21, _r$22, _r$23, _r$24, _r$25, _r$26, _r$27, _r$28, _r$29, _r$3, _r$30, _r$31, _r$32, _r$33, _r$34, _r$35, _r$36, _r$37, _r$38, _r$39, _r$4, _r$40, _r$41, _r$5, _r$6, _r$7, _r$8, _r$9, _ref, _tuple, arg, err, i, ok, ptr, s, str, typ, v, v$1, v$10, v$11, v$12, v$13, v$14, v$15, v$16, v$17, v$18, v$19, v$2, v$20, v$3, v$4, v$5, v$6, v$7, v$8, v$9, val, verb, x, x$1, x$2, x$3, x$4, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _arg$3 = $f._arg$3; _arg$4 = $f._arg$4; _arg$5 = $f._arg$5; _arg$6 = $f._arg$6; _arg$7 = $f._arg$7; _r = $f._r; _r$1 = $f._r$1; _r$10 = $f._r$10; _r$11 = $f._r$11; _r$12 = $f._r$12; _r$13 = $f._r$13; _r$14 = $f._r$14; _r$15 = $f._r$15; _r$16 = $f._r$16; _r$17 = $f._r$17; _r$18 = $f._r$18; _r$19 = $f._r$19; _r$2 = $f._r$2; _r$20 = $f._r$20; _r$21 = $f._r$21; _r$22 = $f._r$22; _r$23 = $f._r$23; _r$24 = $f._r$24; _r$25 = $f._r$25; _r$26 = $f._r$26; _r$27 = $f._r$27; _r$28 = $f._r$28; _r$29 = $f._r$29; _r$3 = $f._r$3; _r$30 = $f._r$30; _r$31 = $f._r$31; _r$32 = $f._r$32; _r$33 = $f._r$33; _r$34 = $f._r$34; _r$35 = $f._r$35; _r$36 = $f._r$36; _r$37 = $f._r$37; _r$38 = $f._r$38; _r$39 = $f._r$39; _r$4 = $f._r$4; _r$40 = $f._r$40; _r$41 = $f._r$41; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _r$8 = $f._r$8; _r$9 = $f._r$9; _ref = $f._ref; _tuple = $f._tuple; arg = $f.arg; err = $f.err; i = $f.i; ok = $f.ok; ptr = $f.ptr; s = $f.s; str = $f.str; typ = $f.typ; v = $f.v; v$1 = $f.v$1; v$10 = $f.v$10; v$11 = $f.v$11; v$12 = $f.v$12; v$13 = $f.v$13; v$14 = $f.v$14; v$15 = $f.v$15; v$16 = $f.v$16; v$17 = $f.v$17; v$18 = $f.v$18; v$19 = $f.v$19; v$2 = $f.v$2; v$20 = $f.v$20; v$3 = $f.v$3; v$4 = $f.v$4; v$5 = $f.v$5; v$6 = $f.v$6; v$7 = $f.v$7; v$8 = $f.v$8; v$9 = $f.v$9; val = $f.val; verb = $f.verb; x = $f.x; x$1 = $f.x$1; x$2 = $f.x$2; x$3 = $f.x$3; x$4 = $f.x$4; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\ts = this;\n\t\ts.buf = $subslice(s.buf, 0, 0);\n\t\terr = $ifaceNil;\n\t\t_tuple = $assertType(arg, Scanner, true);\n\t\tv = _tuple[0];\n\t\tok = _tuple[1];\n\t\t/* */ if (ok) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (ok) { */ case 1:\n\t\t\t_r = v.Scan(s, verb); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\terr = _r;\n\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\tif ($interfaceIsEqual(err, io.EOF)) {\n\t\t\t\t\terr = io.ErrUnexpectedEOF;\n\t\t\t\t}\n\t\t\t\ts.error(err);\n\t\t\t}\n\t\t\t$s = -1; return;\n\t\t/* } */ case 2:\n\t\t_ref = arg;\n\t\t/* */ if ($assertType(_ref, ptrType$7, true)[1]) { $s = 4; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$8, true)[1]) { $s = 5; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$9, true)[1]) { $s = 6; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$10, true)[1]) { $s = 7; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$11, true)[1]) { $s = 8; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$12, true)[1]) { $s = 9; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$13, true)[1]) { $s = 10; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$14, true)[1]) { $s = 11; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$15, true)[1]) { $s = 12; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$16, true)[1]) { $s = 13; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$17, true)[1]) { $s = 14; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$18, true)[1]) { $s = 15; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$19, true)[1]) { $s = 16; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$20, true)[1]) { $s = 17; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$21, true)[1]) { $s = 18; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$22, true)[1]) { $s = 19; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$4, true)[1]) { $s = 20; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$23, true)[1]) { $s = 21; continue; }\n\t\t/* */ $s = 22; continue;\n\t\t/* if ($assertType(_ref, ptrType$7, true)[1]) { */ case 4:\n\t\t\tv$1 = _ref.$val;\n\t\t\t_r$1 = s.scanBool(verb); /* */ $s = 24; case 24: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\tv$1.$set(_r$1);\n\t\t\t$s = 23; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$8, true)[1]) { */ case 5:\n\t\t\tv$2 = _ref.$val;\n\t\t\t_r$2 = s.scanComplex(verb, 64); /* */ $s = 25; case 25: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\tv$2.$set(((x = _r$2, new $Complex64(x.$real, x.$imag))));\n\t\t\t$s = 23; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$9, true)[1]) { */ case 6:\n\t\t\tv$3 = _ref.$val;\n\t\t\t_r$3 = s.scanComplex(verb, 128); /* */ $s = 26; case 26: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\tv$3.$set(_r$3);\n\t\t\t$s = 23; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$10, true)[1]) { */ case 7:\n\t\t\tv$4 = _ref.$val;\n\t\t\t_r$4 = s.scanInt(verb, 32); /* */ $s = 27; case 27: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\tv$4.$set((((x$1 = _r$4, x$1.$low + ((x$1.$high >> 31) * 4294967296)) >> 0)));\n\t\t\t$s = 23; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$11, true)[1]) { */ case 8:\n\t\t\tv$5 = _ref.$val;\n\t\t\t_r$5 = s.scanInt(verb, 8); /* */ $s = 28; case 28: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\tv$5.$set((((x$2 = _r$5, x$2.$low + ((x$2.$high >> 31) * 4294967296)) << 24 >> 24)));\n\t\t\t$s = 23; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$12, true)[1]) { */ case 9:\n\t\t\tv$6 = _ref.$val;\n\t\t\t_r$6 = s.scanInt(verb, 16); /* */ $s = 29; case 29: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t\tv$6.$set((((x$3 = _r$6, x$3.$low + ((x$3.$high >> 31) * 4294967296)) << 16 >> 16)));\n\t\t\t$s = 23; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$13, true)[1]) { */ case 10:\n\t\t\tv$7 = _ref.$val;\n\t\t\t_r$7 = s.scanInt(verb, 32); /* */ $s = 30; case 30: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }\n\t\t\tv$7.$set((((x$4 = _r$7, x$4.$low + ((x$4.$high >> 31) * 4294967296)) >> 0)));\n\t\t\t$s = 23; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$14, true)[1]) { */ case 11:\n\t\t\tv$8 = _ref.$val;\n\t\t\t_r$8 = s.scanInt(verb, 64); /* */ $s = 31; case 31: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }\n\t\t\tv$8.$set(_r$8);\n\t\t\t$s = 23; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$15, true)[1]) { */ case 12:\n\t\t\tv$9 = _ref.$val;\n\t\t\t_r$9 = s.scanUint(verb, 32); /* */ $s = 32; case 32: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }\n\t\t\tv$9.$set(((_r$9.$low >>> 0)));\n\t\t\t$s = 23; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$16, true)[1]) { */ case 13:\n\t\t\tv$10 = _ref.$val;\n\t\t\t_r$10 = s.scanUint(verb, 8); /* */ $s = 33; case 33: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }\n\t\t\tv$10.$set(((_r$10.$low << 24 >>> 24)));\n\t\t\t$s = 23; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$17, true)[1]) { */ case 14:\n\t\t\tv$11 = _ref.$val;\n\t\t\t_r$11 = s.scanUint(verb, 16); /* */ $s = 34; case 34: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }\n\t\t\tv$11.$set(((_r$11.$low << 16 >>> 16)));\n\t\t\t$s = 23; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$18, true)[1]) { */ case 15:\n\t\t\tv$12 = _ref.$val;\n\t\t\t_r$12 = s.scanUint(verb, 32); /* */ $s = 35; case 35: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; }\n\t\t\tv$12.$set(((_r$12.$low >>> 0)));\n\t\t\t$s = 23; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$19, true)[1]) { */ case 16:\n\t\t\tv$13 = _ref.$val;\n\t\t\t_r$13 = s.scanUint(verb, 64); /* */ $s = 36; case 36: if($c) { $c = false; _r$13 = _r$13.$blk(); } if (_r$13 && _r$13.$blk !== undefined) { break s; }\n\t\t\tv$13.$set(_r$13);\n\t\t\t$s = 23; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$20, true)[1]) { */ case 17:\n\t\t\tv$14 = _ref.$val;\n\t\t\t_r$14 = s.scanUint(verb, 32); /* */ $s = 37; case 37: if($c) { $c = false; _r$14 = _r$14.$blk(); } if (_r$14 && _r$14.$blk !== undefined) { break s; }\n\t\t\tv$14.$set(((_r$14.$low >>> 0)));\n\t\t\t$s = 23; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$21, true)[1]) { */ case 18:\n\t\t\tv$15 = _ref.$val;\n\t\t\t/* */ if (s.okVerb(verb, \"beEfFgGv\", \"float32\")) { $s = 38; continue; }\n\t\t\t/* */ $s = 39; continue;\n\t\t\t/* if (s.okVerb(verb, \"beEfFgGv\", \"float32\")) { */ case 38:\n\t\t\t\t$r = s.SkipSpace(); /* */ $s = 40; case 40: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$r = s.notEOF(); /* */ $s = 41; case 41: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t_r$15 = s.floatToken(); /* */ $s = 42; case 42: if($c) { $c = false; _r$15 = _r$15.$blk(); } if (_r$15 && _r$15.$blk !== undefined) { break s; }\n\t\t\t\t_r$16 = s.convertFloat(_r$15, 32); /* */ $s = 43; case 43: if($c) { $c = false; _r$16 = _r$16.$blk(); } if (_r$16 && _r$16.$blk !== undefined) { break s; }\n\t\t\t\tv$15.$set(($fround(_r$16)));\n\t\t\t/* } */ case 39:\n\t\t\t$s = 23; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$22, true)[1]) { */ case 19:\n\t\t\tv$16 = _ref.$val;\n\t\t\t/* */ if (s.okVerb(verb, \"beEfFgGv\", \"float64\")) { $s = 44; continue; }\n\t\t\t/* */ $s = 45; continue;\n\t\t\t/* if (s.okVerb(verb, \"beEfFgGv\", \"float64\")) { */ case 44:\n\t\t\t\t$r = s.SkipSpace(); /* */ $s = 46; case 46: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$r = s.notEOF(); /* */ $s = 47; case 47: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t_r$17 = s.floatToken(); /* */ $s = 48; case 48: if($c) { $c = false; _r$17 = _r$17.$blk(); } if (_r$17 && _r$17.$blk !== undefined) { break s; }\n\t\t\t\t_r$18 = s.convertFloat(_r$17, 64); /* */ $s = 49; case 49: if($c) { $c = false; _r$18 = _r$18.$blk(); } if (_r$18 && _r$18.$blk !== undefined) { break s; }\n\t\t\t\tv$16.$set(_r$18);\n\t\t\t/* } */ case 45:\n\t\t\t$s = 23; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$4, true)[1]) { */ case 20:\n\t\t\tv$17 = _ref.$val;\n\t\t\t_r$19 = s.convertString(verb); /* */ $s = 50; case 50: if($c) { $c = false; _r$19 = _r$19.$blk(); } if (_r$19 && _r$19.$blk !== undefined) { break s; }\n\t\t\tv$17.$set(_r$19);\n\t\t\t$s = 23; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$23, true)[1]) { */ case 21:\n\t\t\tv$18 = _ref.$val;\n\t\t\t_r$20 = s.convertString(verb); /* */ $s = 51; case 51: if($c) { $c = false; _r$20 = _r$20.$blk(); } if (_r$20 && _r$20.$blk !== undefined) { break s; }\n\t\t\tv$18.$set((new sliceType$2($stringToBytes(_r$20))));\n\t\t\t$s = 23; continue;\n\t\t/* } else { */ case 22:\n\t\t\tv$19 = _ref;\n\t\t\t_r$21 = reflect.ValueOf(v$19); /* */ $s = 52; case 52: if($c) { $c = false; _r$21 = _r$21.$blk(); } if (_r$21 && _r$21.$blk !== undefined) { break s; }\n\t\t\tval = _r$21;\n\t\t\tptr = val;\n\t\t\t/* */ if (!(($clone(ptr, reflect.Value).Kind() === 22))) { $s = 53; continue; }\n\t\t\t/* */ $s = 54; continue;\n\t\t\t/* if (!(($clone(ptr, reflect.Value).Kind() === 22))) { */ case 53:\n\t\t\t\t_r$22 = $clone(val, reflect.Value).Type().String(); /* */ $s = 55; case 55: if($c) { $c = false; _r$22 = _r$22.$blk(); } if (_r$22 && _r$22.$blk !== undefined) { break s; }\n\t\t\t\t$r = s.errorString(\"type not a pointer: \" + _r$22); /* */ $s = 56; case 56: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return;\n\t\t\t/* } */ case 54:\n\t\t\t\t_r$23 = $clone(ptr, reflect.Value).Elem(); /* */ $s = 58; case 58: if($c) { $c = false; _r$23 = _r$23.$blk(); } if (_r$23 && _r$23.$blk !== undefined) { break s; }\n\t\t\t\tv$20 = _r$23;\n\t\t\t\t_1 = $clone(v$20, reflect.Value).Kind();\n\t\t\t\t/* */ if (_1 === (1)) { $s = 59; continue; }\n\t\t\t\t/* */ if ((_1 === (2)) || (_1 === (3)) || (_1 === (4)) || (_1 === (5)) || (_1 === (6))) { $s = 60; continue; }\n\t\t\t\t/* */ if ((_1 === (7)) || (_1 === (8)) || (_1 === (9)) || (_1 === (10)) || (_1 === (11)) || (_1 === (12))) { $s = 61; continue; }\n\t\t\t\t/* */ if (_1 === (24)) { $s = 62; continue; }\n\t\t\t\t/* */ if (_1 === (23)) { $s = 63; continue; }\n\t\t\t\t/* */ if ((_1 === (13)) || (_1 === (14))) { $s = 64; continue; }\n\t\t\t\t/* */ if ((_1 === (15)) || (_1 === (16))) { $s = 65; continue; }\n\t\t\t\t/* */ $s = 66; continue;\n\t\t\t\t/* if (_1 === (1)) { */ case 59:\n\t\t\t\t\t_r$24 = s.scanBool(verb); /* */ $s = 68; case 68: if($c) { $c = false; _r$24 = _r$24.$blk(); } if (_r$24 && _r$24.$blk !== undefined) { break s; }\n\t\t\t\t\t$r = $clone(v$20, reflect.Value).SetBool(_r$24); /* */ $s = 69; case 69: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t$s = 67; continue;\n\t\t\t\t/* } else if ((_1 === (2)) || (_1 === (3)) || (_1 === (4)) || (_1 === (5)) || (_1 === (6))) { */ case 60:\n\t\t\t\t\t_arg = verb;\n\t\t\t\t\t_r$25 = $clone(v$20, reflect.Value).Type().Bits(); /* */ $s = 70; case 70: if($c) { $c = false; _r$25 = _r$25.$blk(); } if (_r$25 && _r$25.$blk !== undefined) { break s; }\n\t\t\t\t\t_arg$1 = _r$25;\n\t\t\t\t\t_r$26 = s.scanInt(_arg, _arg$1); /* */ $s = 71; case 71: if($c) { $c = false; _r$26 = _r$26.$blk(); } if (_r$26 && _r$26.$blk !== undefined) { break s; }\n\t\t\t\t\t$r = $clone(v$20, reflect.Value).SetInt(_r$26); /* */ $s = 72; case 72: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t$s = 67; continue;\n\t\t\t\t/* } else if ((_1 === (7)) || (_1 === (8)) || (_1 === (9)) || (_1 === (10)) || (_1 === (11)) || (_1 === (12))) { */ case 61:\n\t\t\t\t\t_arg$2 = verb;\n\t\t\t\t\t_r$27 = $clone(v$20, reflect.Value).Type().Bits(); /* */ $s = 73; case 73: if($c) { $c = false; _r$27 = _r$27.$blk(); } if (_r$27 && _r$27.$blk !== undefined) { break s; }\n\t\t\t\t\t_arg$3 = _r$27;\n\t\t\t\t\t_r$28 = s.scanUint(_arg$2, _arg$3); /* */ $s = 74; case 74: if($c) { $c = false; _r$28 = _r$28.$blk(); } if (_r$28 && _r$28.$blk !== undefined) { break s; }\n\t\t\t\t\t$r = $clone(v$20, reflect.Value).SetUint(_r$28); /* */ $s = 75; case 75: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t$s = 67; continue;\n\t\t\t\t/* } else if (_1 === (24)) { */ case 62:\n\t\t\t\t\t_r$29 = s.convertString(verb); /* */ $s = 76; case 76: if($c) { $c = false; _r$29 = _r$29.$blk(); } if (_r$29 && _r$29.$blk !== undefined) { break s; }\n\t\t\t\t\t$r = $clone(v$20, reflect.Value).SetString(_r$29); /* */ $s = 77; case 77: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t$s = 67; continue;\n\t\t\t\t/* } else if (_1 === (23)) { */ case 63:\n\t\t\t\t\ttyp = $clone(v$20, reflect.Value).Type();\n\t\t\t\t\t_r$30 = typ.Elem(); /* */ $s = 80; case 80: if($c) { $c = false; _r$30 = _r$30.$blk(); } if (_r$30 && _r$30.$blk !== undefined) { break s; }\n\t\t\t\t\t_r$31 = _r$30.Kind(); /* */ $s = 81; case 81: if($c) { $c = false; _r$31 = _r$31.$blk(); } if (_r$31 && _r$31.$blk !== undefined) { break s; }\n\t\t\t\t\t/* */ if (!((_r$31 === 8))) { $s = 78; continue; }\n\t\t\t\t\t/* */ $s = 79; continue;\n\t\t\t\t\t/* if (!((_r$31 === 8))) { */ case 78:\n\t\t\t\t\t\t_r$32 = $clone(val, reflect.Value).Type().String(); /* */ $s = 82; case 82: if($c) { $c = false; _r$32 = _r$32.$blk(); } if (_r$32 && _r$32.$blk !== undefined) { break s; }\n\t\t\t\t\t\t$r = s.errorString(\"can't scan type: \" + _r$32); /* */ $s = 83; case 83: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t/* } */ case 79:\n\t\t\t\t\t_r$33 = s.convertString(verb); /* */ $s = 84; case 84: if($c) { $c = false; _r$33 = _r$33.$blk(); } if (_r$33 && _r$33.$blk !== undefined) { break s; }\n\t\t\t\t\tstr = _r$33;\n\t\t\t\t\t_r$34 = reflect.MakeSlice(typ, str.length, str.length); /* */ $s = 85; case 85: if($c) { $c = false; _r$34 = _r$34.$blk(); } if (_r$34 && _r$34.$blk !== undefined) { break s; }\n\t\t\t\t\t$r = $clone(v$20, reflect.Value).Set($clone(_r$34, reflect.Value)); /* */ $s = 86; case 86: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\ti = 0;\n\t\t\t\t\t/* while (true) { */ case 87:\n\t\t\t\t\t\t/* if (!(i < str.length)) { break; } */ if(!(i < str.length)) { $s = 88; continue; }\n\t\t\t\t\t\t_r$35 = $clone(v$20, reflect.Value).Index(i); /* */ $s = 89; case 89: if($c) { $c = false; _r$35 = _r$35.$blk(); } if (_r$35 && _r$35.$blk !== undefined) { break s; }\n\t\t\t\t\t\t$r = $clone(_r$35, reflect.Value).SetUint((new $Uint64(0, str.charCodeAt(i)))); /* */ $s = 90; case 90: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t\ti = i + (1) >> 0;\n\t\t\t\t\t/* } */ $s = 87; continue; case 88:\n\t\t\t\t\t$s = 67; continue;\n\t\t\t\t/* } else if ((_1 === (13)) || (_1 === (14))) { */ case 64:\n\t\t\t\t\t$r = s.SkipSpace(); /* */ $s = 91; case 91: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t$r = s.notEOF(); /* */ $s = 92; case 92: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t_r$36 = s.floatToken(); /* */ $s = 93; case 93: if($c) { $c = false; _r$36 = _r$36.$blk(); } if (_r$36 && _r$36.$blk !== undefined) { break s; }\n\t\t\t\t\t_arg$4 = _r$36;\n\t\t\t\t\t_r$37 = $clone(v$20, reflect.Value).Type().Bits(); /* */ $s = 94; case 94: if($c) { $c = false; _r$37 = _r$37.$blk(); } if (_r$37 && _r$37.$blk !== undefined) { break s; }\n\t\t\t\t\t_arg$5 = _r$37;\n\t\t\t\t\t_r$38 = s.convertFloat(_arg$4, _arg$5); /* */ $s = 95; case 95: if($c) { $c = false; _r$38 = _r$38.$blk(); } if (_r$38 && _r$38.$blk !== undefined) { break s; }\n\t\t\t\t\t$r = $clone(v$20, reflect.Value).SetFloat(_r$38); /* */ $s = 96; case 96: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t$s = 67; continue;\n\t\t\t\t/* } else if ((_1 === (15)) || (_1 === (16))) { */ case 65:\n\t\t\t\t\t_arg$6 = verb;\n\t\t\t\t\t_r$39 = $clone(v$20, reflect.Value).Type().Bits(); /* */ $s = 97; case 97: if($c) { $c = false; _r$39 = _r$39.$blk(); } if (_r$39 && _r$39.$blk !== undefined) { break s; }\n\t\t\t\t\t_arg$7 = _r$39;\n\t\t\t\t\t_r$40 = s.scanComplex(_arg$6, _arg$7); /* */ $s = 98; case 98: if($c) { $c = false; _r$40 = _r$40.$blk(); } if (_r$40 && _r$40.$blk !== undefined) { break s; }\n\t\t\t\t\t$r = $clone(v$20, reflect.Value).SetComplex(_r$40); /* */ $s = 99; case 99: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t$s = 67; continue;\n\t\t\t\t/* } else { */ case 66:\n\t\t\t\t\t_r$41 = $clone(val, reflect.Value).Type().String(); /* */ $s = 100; case 100: if($c) { $c = false; _r$41 = _r$41.$blk(); } if (_r$41 && _r$41.$blk !== undefined) { break s; }\n\t\t\t\t\t$r = s.errorString(\"can't scan type: \" + _r$41); /* */ $s = 101; case 101: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t/* } */ case 67:\n\t\t\tcase 57:\n\t\t/* } */ case 23:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ss.ptr.prototype.scanOne }; } $f._1 = _1; $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._arg$3 = _arg$3; $f._arg$4 = _arg$4; $f._arg$5 = _arg$5; $f._arg$6 = _arg$6; $f._arg$7 = _arg$7; $f._r = _r; $f._r$1 = _r$1; $f._r$10 = _r$10; $f._r$11 = _r$11; $f._r$12 = _r$12; $f._r$13 = _r$13; $f._r$14 = _r$14; $f._r$15 = _r$15; $f._r$16 = _r$16; $f._r$17 = _r$17; $f._r$18 = _r$18; $f._r$19 = _r$19; $f._r$2 = _r$2; $f._r$20 = _r$20; $f._r$21 = _r$21; $f._r$22 = _r$22; $f._r$23 = _r$23; $f._r$24 = _r$24; $f._r$25 = _r$25; $f._r$26 = _r$26; $f._r$27 = _r$27; $f._r$28 = _r$28; $f._r$29 = _r$29; $f._r$3 = _r$3; $f._r$30 = _r$30; $f._r$31 = _r$31; $f._r$32 = _r$32; $f._r$33 = _r$33; $f._r$34 = _r$34; $f._r$35 = _r$35; $f._r$36 = _r$36; $f._r$37 = _r$37; $f._r$38 = _r$38; $f._r$39 = _r$39; $f._r$4 = _r$4; $f._r$40 = _r$40; $f._r$41 = _r$41; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._r$8 = _r$8; $f._r$9 = _r$9; $f._ref = _ref; $f._tuple = _tuple; $f.arg = arg; $f.err = err; $f.i = i; $f.ok = ok; $f.ptr = ptr; $f.s = s; $f.str = str; $f.typ = typ; $f.v = v; $f.v$1 = v$1; $f.v$10 = v$10; $f.v$11 = v$11; $f.v$12 = v$12; $f.v$13 = v$13; $f.v$14 = v$14; $f.v$15 = v$15; $f.v$16 = v$16; $f.v$17 = v$17; $f.v$18 = v$18; $f.v$19 = v$19; $f.v$2 = v$2; $f.v$20 = v$20; $f.v$3 = v$3; $f.v$4 = v$4; $f.v$5 = v$5; $f.v$6 = v$6; $f.v$7 = v$7; $f.v$8 = v$8; $f.v$9 = v$9; $f.val = val; $f.verb = verb; $f.x = x; $f.x$1 = x$1; $f.x$2 = x$2; $f.x$3 = x$3; $f.x$4 = x$4; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tss.prototype.scanOne = function(verb, arg) { return this.$val.scanOne(verb, arg); };\n\terrorHandler = function(errp) {\n\t\tvar _tuple, _tuple$1, e, eof, errp, ok, ok$1, se;\n\t\te = $recover();\n\t\tif (!($interfaceIsEqual(e, $ifaceNil))) {\n\t\t\t_tuple = $assertType(e, scanError, true);\n\t\t\tse = $clone(_tuple[0], scanError);\n\t\t\tok = _tuple[1];\n\t\t\tif (ok) {\n\t\t\t\terrp.$set(se.err);\n\t\t\t} else {\n\t\t\t\t_tuple$1 = $assertType(e, $error, true);\n\t\t\t\teof = _tuple$1[0];\n\t\t\t\tok$1 = _tuple$1[1];\n\t\t\t\tif (ok$1 && $interfaceIsEqual(eof, io.EOF)) {\n\t\t\t\t\terrp.$set(eof);\n\t\t\t\t} else {\n\t\t\t\t\t$panic(e);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\tss.ptr.prototype.advance = function(format) {\n\t\tvar _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _tuple, _tuple$1, _tuple$2, fmtc, format, i, inputc, inputc$1, inputc$2, j, newlines, nextc, s, trailingSpace, w, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; fmtc = $f.fmtc; format = $f.format; i = $f.i; inputc = $f.inputc; inputc$1 = $f.inputc$1; inputc$2 = $f.inputc$2; j = $f.j; newlines = $f.newlines; nextc = $f.nextc; s = $f.s; trailingSpace = $f.trailingSpace; w = $f.w; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\ti = 0;\n\t\ts = this;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(i < format.length)) { break; } */ if(!(i < format.length)) { $s = 2; continue; }\n\t\t\t_tuple = utf8.DecodeRuneInString($substring(format, i));\n\t\t\tfmtc = _tuple[0];\n\t\t\tw = _tuple[1];\n\t\t\t/* */ if (isSpace(fmtc)) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (isSpace(fmtc)) { */ case 3:\n\t\t\t\tnewlines = 0;\n\t\t\t\ttrailingSpace = false;\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (!(isSpace(fmtc) && i < format.length)) { break; }\n\t\t\t\t\tif (fmtc === 10) {\n\t\t\t\t\t\tnewlines = newlines + (1) >> 0;\n\t\t\t\t\t\ttrailingSpace = false;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttrailingSpace = true;\n\t\t\t\t\t}\n\t\t\t\t\ti = i + (w) >> 0;\n\t\t\t\t\t_tuple$1 = utf8.DecodeRuneInString($substring(format, i));\n\t\t\t\t\tfmtc = _tuple$1[0];\n\t\t\t\t\tw = _tuple$1[1];\n\t\t\t\t}\n\t\t\t\tj = 0;\n\t\t\t\t/* while (true) { */ case 5:\n\t\t\t\t\t/* if (!(j < newlines)) { break; } */ if(!(j < newlines)) { $s = 6; continue; }\n\t\t\t\t\t_r = s.getRune(); /* */ $s = 7; case 7: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t\tinputc = _r;\n\t\t\t\t\t/* while (true) { */ case 8:\n\t\t\t\t\t\t/* if (!(isSpace(inputc) && !((inputc === 10)))) { break; } */ if(!(isSpace(inputc) && !((inputc === 10)))) { $s = 9; continue; }\n\t\t\t\t\t\t_r$1 = s.getRune(); /* */ $s = 10; case 10: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t\t\tinputc = _r$1;\n\t\t\t\t\t/* } */ $s = 8; continue; case 9:\n\t\t\t\t\tif (!((inputc === 10)) && !((inputc === -1))) {\n\t\t\t\t\t\ts.errorString(\"newline in format does not match input\");\n\t\t\t\t\t}\n\t\t\t\t\tj = j + (1) >> 0;\n\t\t\t\t/* } */ $s = 5; continue; case 6:\n\t\t\t\t/* */ if (trailingSpace) { $s = 11; continue; }\n\t\t\t\t/* */ $s = 12; continue;\n\t\t\t\t/* if (trailingSpace) { */ case 11:\n\t\t\t\t\t_r$2 = s.getRune(); /* */ $s = 13; case 13: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t\tinputc$1 = _r$2;\n\t\t\t\t\tif (newlines === 0) {\n\t\t\t\t\t\tif (!isSpace(inputc$1) && !((inputc$1 === -1))) {\n\t\t\t\t\t\t\ts.errorString(\"expected space in input to match format\");\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (inputc$1 === 10) {\n\t\t\t\t\t\t\ts.errorString(\"newline in input does not match format\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t/* while (true) { */ case 14:\n\t\t\t\t\t\t/* if (!(isSpace(inputc$1) && !((inputc$1 === 10)))) { break; } */ if(!(isSpace(inputc$1) && !((inputc$1 === 10)))) { $s = 15; continue; }\n\t\t\t\t\t\t_r$3 = s.getRune(); /* */ $s = 16; case 16: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t\t\tinputc$1 = _r$3;\n\t\t\t\t\t/* } */ $s = 14; continue; case 15:\n\t\t\t\t\t/* */ if (!((inputc$1 === -1))) { $s = 17; continue; }\n\t\t\t\t\t/* */ $s = 18; continue;\n\t\t\t\t\t/* if (!((inputc$1 === -1))) { */ case 17:\n\t\t\t\t\t\t_r$4 = s.UnreadRune(); /* */ $s = 19; case 19: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\t\t\t_r$4;\n\t\t\t\t\t/* } */ case 18:\n\t\t\t\t/* } */ case 12:\n\t\t\t\t/* continue; */ $s = 1; continue;\n\t\t\t/* } */ case 4:\n\t\t\tif (fmtc === 37) {\n\t\t\t\tif ((i + w >> 0) === format.length) {\n\t\t\t\t\ts.errorString(\"missing verb: % at end of format string\");\n\t\t\t\t}\n\t\t\t\t_tuple$2 = utf8.DecodeRuneInString($substring(format, (i + w >> 0)));\n\t\t\t\tnextc = _tuple$2[0];\n\t\t\t\tif (!((nextc === 37))) {\n\t\t\t\t\t$s = -1; return i;\n\t\t\t\t}\n\t\t\t\ti = i + (w) >> 0;\n\t\t\t}\n\t\t\t_r$5 = s.mustReadRune(); /* */ $s = 20; case 20: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\tinputc$2 = _r$5;\n\t\t\t/* */ if (!((fmtc === inputc$2))) { $s = 21; continue; }\n\t\t\t/* */ $s = 22; continue;\n\t\t\t/* if (!((fmtc === inputc$2))) { */ case 21:\n\t\t\t\t_r$6 = s.UnreadRune(); /* */ $s = 23; case 23: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t\t\t_r$6;\n\t\t\t\ti = -1;\n\t\t\t\t$s = -1; return i;\n\t\t\t/* } */ case 22:\n\t\t\ti = i + (w) >> 0;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return i;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ss.ptr.prototype.advance }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f.fmtc = fmtc; $f.format = format; $f.i = i; $f.inputc = inputc; $f.inputc$1 = inputc$1; $f.inputc$2 = inputc$2; $f.j = j; $f.newlines = newlines; $f.nextc = nextc; $f.s = s; $f.trailingSpace = trailingSpace; $f.w = w; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tss.prototype.advance = function(format) { return this.$val.advance(format); };\n\tss.ptr.prototype.doScanf = function(format, a) {\n\t\tvar _r, _tuple, _tuple$1, a, arg, c, end, err, f, format, i, numProcessed, s, w, widPresent, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; a = $f.a; arg = $f.arg; c = $f.c; end = $f.end; err = $f.err; f = $f.f; format = $f.format; i = $f.i; numProcessed = $f.numProcessed; s = $f.s; w = $f.w; widPresent = $f.widPresent; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\terr = [err];\n\t\tnumProcessed = 0;\n\t\terr[0] = $ifaceNil;\n\t\ts = this;\n\t\t$deferred.push([errorHandler, [(err.$ptr || (err.$ptr = new ptrType$24(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, err)))]]);\n\t\tend = format.length - 1 >> 0;\n\t\ti = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(i <= end)) { break; } */ if(!(i <= end)) { $s = 2; continue; }\n\t\t\t_r = s.advance($substring(format, i)); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tw = _r;\n\t\t\t/* */ if (w > 0) { $s = 4; continue; }\n\t\t\t/* */ $s = 5; continue;\n\t\t\t/* if (w > 0) { */ case 4:\n\t\t\t\ti = i + (w) >> 0;\n\t\t\t\t/* continue; */ $s = 1; continue;\n\t\t\t/* } */ case 5:\n\t\t\tif (!((format.charCodeAt(i) === 37))) {\n\t\t\t\tif (w < 0) {\n\t\t\t\t\ts.errorString(\"input does not match format\");\n\t\t\t\t}\n\t\t\t\t/* break; */ $s = 2; continue;\n\t\t\t}\n\t\t\ti = i + (1) >> 0;\n\t\t\twidPresent = false;\n\t\t\t_tuple = parsenum(format, i, end);\n\t\t\ts.ssave.maxWid = _tuple[0];\n\t\t\twidPresent = _tuple[1];\n\t\t\ti = _tuple[2];\n\t\t\tif (!widPresent) {\n\t\t\t\ts.ssave.maxWid = 1073741824;\n\t\t\t}\n\t\t\t_tuple$1 = utf8.DecodeRuneInString($substring(format, i));\n\t\t\tc = _tuple$1[0];\n\t\t\tw = _tuple$1[1];\n\t\t\ti = i + (w) >> 0;\n\t\t\t/* */ if (!((c === 99))) { $s = 6; continue; }\n\t\t\t/* */ $s = 7; continue;\n\t\t\t/* if (!((c === 99))) { */ case 6:\n\t\t\t\t$r = s.SkipSpace(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 7:\n\t\t\ts.ssave.argLimit = s.ssave.limit;\n\t\t\tf = s.count + s.ssave.maxWid >> 0;\n\t\t\tif (f < s.ssave.argLimit) {\n\t\t\t\ts.ssave.argLimit = f;\n\t\t\t}\n\t\t\tif (numProcessed >= a.$length) {\n\t\t\t\ts.errorString(\"too few operands for format '%\" + $substring(format, (i - w >> 0)) + \"'\");\n\t\t\t\t/* break; */ $s = 2; continue;\n\t\t\t}\n\t\t\targ = ((numProcessed < 0 || numProcessed >= a.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : a.$array[a.$offset + numProcessed]);\n\t\t\t$r = s.scanOne(c, arg); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\tnumProcessed = numProcessed + (1) >> 0;\n\t\t\ts.ssave.argLimit = s.ssave.limit;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\tif (numProcessed < a.$length) {\n\t\t\ts.errorString(\"too many operands\");\n\t\t}\n\t\t$s = -1; return [numProcessed, err[0]];\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if (!$curGoroutine.asleep) { return  [numProcessed, err[0]]; } if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: ss.ptr.prototype.doScanf }; } $f._r = _r; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.a = a; $f.arg = arg; $f.c = c; $f.end = end; $f.err = err; $f.f = f; $f.format = format; $f.i = i; $f.numProcessed = numProcessed; $f.s = s; $f.w = w; $f.widPresent = widPresent; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tss.prototype.doScanf = function(format, a) { return this.$val.doScanf(format, a); };\n\tptrType$25.methods = [{prop: \"clearflags\", name: \"clearflags\", pkg: \"fmt\", typ: $funcType([], [], false)}, {prop: \"init\", name: \"init\", pkg: \"fmt\", typ: $funcType([ptrType$1], [], false)}, {prop: \"writePadding\", name: \"writePadding\", pkg: \"fmt\", typ: $funcType([$Int], [], false)}, {prop: \"pad\", name: \"pad\", pkg: \"fmt\", typ: $funcType([sliceType$2], [], false)}, {prop: \"padString\", name: \"padString\", pkg: \"fmt\", typ: $funcType([$String], [], false)}, {prop: \"fmtBoolean\", name: \"fmtBoolean\", pkg: \"fmt\", typ: $funcType([$Bool], [], false)}, {prop: \"fmtUnicode\", name: \"fmtUnicode\", pkg: \"fmt\", typ: $funcType([$Uint64], [], false)}, {prop: \"fmtInteger\", name: \"fmtInteger\", pkg: \"fmt\", typ: $funcType([$Uint64, $Int, $Bool, $String], [], false)}, {prop: \"truncate\", name: \"truncate\", pkg: \"fmt\", typ: $funcType([$String], [$String], false)}, {prop: \"fmtS\", name: \"fmtS\", pkg: \"fmt\", typ: $funcType([$String], [], false)}, {prop: \"fmtSbx\", name: \"fmtSbx\", pkg: \"fmt\", typ: $funcType([$String, sliceType$2, $String], [], false)}, {prop: \"fmtSx\", name: \"fmtSx\", pkg: \"fmt\", typ: $funcType([$String, $String], [], false)}, {prop: \"fmtBx\", name: \"fmtBx\", pkg: \"fmt\", typ: $funcType([sliceType$2, $String], [], false)}, {prop: \"fmtQ\", name: \"fmtQ\", pkg: \"fmt\", typ: $funcType([$String], [], false)}, {prop: \"fmtC\", name: \"fmtC\", pkg: \"fmt\", typ: $funcType([$Uint64], [], false)}, {prop: \"fmtQc\", name: \"fmtQc\", pkg: \"fmt\", typ: $funcType([$Uint64], [], false)}, {prop: \"fmtFloat\", name: \"fmtFloat\", pkg: \"fmt\", typ: $funcType([$Float64, $Int, $Int32, $Int], [], false)}];\n\tptrType$1.methods = [{prop: \"Write\", name: \"Write\", pkg: \"\", typ: $funcType([sliceType$2], [], false)}, {prop: \"WriteString\", name: \"WriteString\", pkg: \"\", typ: $funcType([$String], [], false)}, {prop: \"WriteByte\", name: \"WriteByte\", pkg: \"\", typ: $funcType([$Uint8], [], false)}, {prop: \"WriteRune\", name: \"WriteRune\", pkg: \"\", typ: $funcType([$Int32], [], false)}];\n\tptrType$2.methods = [{prop: \"free\", name: \"free\", pkg: \"fmt\", typ: $funcType([], [], false)}, {prop: \"Width\", name: \"Width\", pkg: \"\", typ: $funcType([], [$Int, $Bool], false)}, {prop: \"Precision\", name: \"Precision\", pkg: \"\", typ: $funcType([], [$Int, $Bool], false)}, {prop: \"Flag\", name: \"Flag\", pkg: \"\", typ: $funcType([$Int], [$Bool], false)}, {prop: \"Write\", name: \"Write\", pkg: \"\", typ: $funcType([sliceType$2], [$Int, $error], false)}, {prop: \"WriteString\", name: \"WriteString\", pkg: \"\", typ: $funcType([$String], [$Int, $error], false)}, {prop: \"unknownType\", name: \"unknownType\", pkg: \"fmt\", typ: $funcType([reflect.Value], [], false)}, {prop: \"badVerb\", name: \"badVerb\", pkg: \"fmt\", typ: $funcType([$Int32], [], false)}, {prop: \"fmtBool\", name: \"fmtBool\", pkg: \"fmt\", typ: $funcType([$Bool, $Int32], [], false)}, {prop: \"fmt0x64\", name: \"fmt0x64\", pkg: \"fmt\", typ: $funcType([$Uint64, $Bool], [], false)}, {prop: \"fmtInteger\", name: \"fmtInteger\", pkg: \"fmt\", typ: $funcType([$Uint64, $Bool, $Int32], [], false)}, {prop: \"fmtFloat\", name: \"fmtFloat\", pkg: \"fmt\", typ: $funcType([$Float64, $Int, $Int32], [], false)}, {prop: \"fmtComplex\", name: \"fmtComplex\", pkg: \"fmt\", typ: $funcType([$Complex128, $Int, $Int32], [], false)}, {prop: \"fmtString\", name: \"fmtString\", pkg: \"fmt\", typ: $funcType([$String, $Int32], [], false)}, {prop: \"fmtBytes\", name: \"fmtBytes\", pkg: \"fmt\", typ: $funcType([sliceType$2, $Int32, $String], [], false)}, {prop: \"fmtPointer\", name: \"fmtPointer\", pkg: \"fmt\", typ: $funcType([reflect.Value, $Int32], [], false)}, {prop: \"catchPanic\", name: \"catchPanic\", pkg: \"fmt\", typ: $funcType([$emptyInterface, $Int32], [], false)}, {prop: \"handleMethods\", name: \"handleMethods\", pkg: \"fmt\", typ: $funcType([$Int32], [$Bool], false)}, {prop: \"printArg\", name: \"printArg\", pkg: \"fmt\", typ: $funcType([$emptyInterface, $Int32], [], false)}, {prop: \"printValue\", name: \"printValue\", pkg: \"fmt\", typ: $funcType([reflect.Value, $Int32, $Int], [], false)}, {prop: \"argNumber\", name: \"argNumber\", pkg: \"fmt\", typ: $funcType([$Int, $String, $Int, $Int], [$Int, $Int, $Bool], false)}, {prop: \"badArgNum\", name: \"badArgNum\", pkg: \"fmt\", typ: $funcType([$Int32], [], false)}, {prop: \"missingArg\", name: \"missingArg\", pkg: \"fmt\", typ: $funcType([$Int32], [], false)}, {prop: \"doPrintf\", name: \"doPrintf\", pkg: \"fmt\", typ: $funcType([$String, sliceType], [], false)}, {prop: \"doPrint\", name: \"doPrint\", pkg: \"fmt\", typ: $funcType([sliceType], [], false)}, {prop: \"doPrintln\", name: \"doPrintln\", pkg: \"fmt\", typ: $funcType([sliceType], [], false)}];\n\tptrType$5.methods = [{prop: \"Read\", name: \"Read\", pkg: \"\", typ: $funcType([sliceType$2], [$Int, $error], false)}, {prop: \"ReadRune\", name: \"ReadRune\", pkg: \"\", typ: $funcType([], [$Int32, $Int, $error], false)}, {prop: \"Width\", name: \"Width\", pkg: \"\", typ: $funcType([], [$Int, $Bool], false)}, {prop: \"getRune\", name: \"getRune\", pkg: \"fmt\", typ: $funcType([], [$Int32], false)}, {prop: \"mustReadRune\", name: \"mustReadRune\", pkg: \"fmt\", typ: $funcType([], [$Int32], false)}, {prop: \"UnreadRune\", name: \"UnreadRune\", pkg: \"\", typ: $funcType([], [$error], false)}, {prop: \"error\", name: \"error\", pkg: \"fmt\", typ: $funcType([$error], [], false)}, {prop: \"errorString\", name: \"errorString\", pkg: \"fmt\", typ: $funcType([$String], [], false)}, {prop: \"Token\", name: \"Token\", pkg: \"\", typ: $funcType([$Bool, funcType], [sliceType$2, $error], false)}, {prop: \"free\", name: \"free\", pkg: \"fmt\", typ: $funcType([ssave], [], false)}, {prop: \"SkipSpace\", name: \"SkipSpace\", pkg: \"\", typ: $funcType([], [], false)}, {prop: \"token\", name: \"token\", pkg: \"fmt\", typ: $funcType([$Bool, funcType], [sliceType$2], false)}, {prop: \"consume\", name: \"consume\", pkg: \"fmt\", typ: $funcType([$String, $Bool], [$Bool], false)}, {prop: \"peek\", name: \"peek\", pkg: \"fmt\", typ: $funcType([$String], [$Bool], false)}, {prop: \"notEOF\", name: \"notEOF\", pkg: \"fmt\", typ: $funcType([], [], false)}, {prop: \"accept\", name: \"accept\", pkg: \"fmt\", typ: $funcType([$String], [$Bool], false)}, {prop: \"okVerb\", name: \"okVerb\", pkg: \"fmt\", typ: $funcType([$Int32, $String, $String], [$Bool], false)}, {prop: \"scanBool\", name: \"scanBool\", pkg: \"fmt\", typ: $funcType([$Int32], [$Bool], false)}, {prop: \"getBase\", name: \"getBase\", pkg: \"fmt\", typ: $funcType([$Int32], [$Int, $String], false)}, {prop: \"scanNumber\", name: \"scanNumber\", pkg: \"fmt\", typ: $funcType([$String, $Bool], [$String], false)}, {prop: \"scanRune\", name: \"scanRune\", pkg: \"fmt\", typ: $funcType([$Int], [$Int64], false)}, {prop: \"scanBasePrefix\", name: \"scanBasePrefix\", pkg: \"fmt\", typ: $funcType([], [$Int, $String, $Bool], false)}, {prop: \"scanInt\", name: \"scanInt\", pkg: \"fmt\", typ: $funcType([$Int32, $Int], [$Int64], false)}, {prop: \"scanUint\", name: \"scanUint\", pkg: \"fmt\", typ: $funcType([$Int32, $Int], [$Uint64], false)}, {prop: \"floatToken\", name: \"floatToken\", pkg: \"fmt\", typ: $funcType([], [$String], false)}, {prop: \"complexTokens\", name: \"complexTokens\", pkg: \"fmt\", typ: $funcType([], [$String, $String], false)}, {prop: \"convertFloat\", name: \"convertFloat\", pkg: \"fmt\", typ: $funcType([$String, $Int], [$Float64], false)}, {prop: \"scanComplex\", name: \"scanComplex\", pkg: \"fmt\", typ: $funcType([$Int32, $Int], [$Complex128], false)}, {prop: \"convertString\", name: \"convertString\", pkg: \"fmt\", typ: $funcType([$Int32], [$String], false)}, {prop: \"quotedString\", name: \"quotedString\", pkg: \"fmt\", typ: $funcType([], [$String], false)}, {prop: \"hexByte\", name: \"hexByte\", pkg: \"fmt\", typ: $funcType([], [$Uint8, $Bool], false)}, {prop: \"hexString\", name: \"hexString\", pkg: \"fmt\", typ: $funcType([], [$String], false)}, {prop: \"scanOne\", name: \"scanOne\", pkg: \"fmt\", typ: $funcType([$Int32, $emptyInterface], [], false)}, {prop: \"doScan\", name: \"doScan\", pkg: \"fmt\", typ: $funcType([sliceType], [$Int, $error], false)}, {prop: \"advance\", name: \"advance\", pkg: \"fmt\", typ: $funcType([$String], [$Int], false)}, {prop: \"doScanf\", name: \"doScanf\", pkg: \"fmt\", typ: $funcType([$String, sliceType], [$Int, $error], false)}];\n\tptrType$26.methods = [{prop: \"readByte\", name: \"readByte\", pkg: \"fmt\", typ: $funcType([], [$Uint8, $error], false)}, {prop: \"ReadRune\", name: \"ReadRune\", pkg: \"\", typ: $funcType([], [$Int32, $Int, $error], false)}, {prop: \"UnreadRune\", name: \"UnreadRune\", pkg: \"\", typ: $funcType([], [$error], false)}];\n\tfmtFlags.init(\"fmt\", [{prop: \"widPresent\", name: \"widPresent\", embedded: false, exported: false, typ: $Bool, tag: \"\"}, {prop: \"precPresent\", name: \"precPresent\", embedded: false, exported: false, typ: $Bool, tag: \"\"}, {prop: \"minus\", name: \"minus\", embedded: false, exported: false, typ: $Bool, tag: \"\"}, {prop: \"plus\", name: \"plus\", embedded: false, exported: false, typ: $Bool, tag: \"\"}, {prop: \"sharp\", name: \"sharp\", embedded: false, exported: false, typ: $Bool, tag: \"\"}, {prop: \"space\", name: \"space\", embedded: false, exported: false, typ: $Bool, tag: \"\"}, {prop: \"zero\", name: \"zero\", embedded: false, exported: false, typ: $Bool, tag: \"\"}, {prop: \"plusV\", name: \"plusV\", embedded: false, exported: false, typ: $Bool, tag: \"\"}, {prop: \"sharpV\", name: \"sharpV\", embedded: false, exported: false, typ: $Bool, tag: \"\"}]);\n\tfmt.init(\"fmt\", [{prop: \"buf\", name: \"buf\", embedded: false, exported: false, typ: ptrType$1, tag: \"\"}, {prop: \"fmtFlags\", name: \"fmtFlags\", embedded: true, exported: false, typ: fmtFlags, tag: \"\"}, {prop: \"wid\", name: \"wid\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"prec\", name: \"prec\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"intbuf\", name: \"intbuf\", embedded: false, exported: false, typ: arrayType, tag: \"\"}]);\n\tState.init([{prop: \"Flag\", name: \"Flag\", pkg: \"\", typ: $funcType([$Int], [$Bool], false)}, {prop: \"Precision\", name: \"Precision\", pkg: \"\", typ: $funcType([], [$Int, $Bool], false)}, {prop: \"Width\", name: \"Width\", pkg: \"\", typ: $funcType([], [$Int, $Bool], false)}, {prop: \"Write\", name: \"Write\", pkg: \"\", typ: $funcType([sliceType$2], [$Int, $error], false)}]);\n\tFormatter.init([{prop: \"Format\", name: \"Format\", pkg: \"\", typ: $funcType([State, $Int32], [], false)}]);\n\tStringer.init([{prop: \"String\", name: \"String\", pkg: \"\", typ: $funcType([], [$String], false)}]);\n\tGoStringer.init([{prop: \"GoString\", name: \"GoString\", pkg: \"\", typ: $funcType([], [$String], false)}]);\n\tbuffer.init($Uint8);\n\tpp.init(\"fmt\", [{prop: \"buf\", name: \"buf\", embedded: false, exported: false, typ: buffer, tag: \"\"}, {prop: \"arg\", name: \"arg\", embedded: false, exported: false, typ: $emptyInterface, tag: \"\"}, {prop: \"value\", name: \"value\", embedded: false, exported: false, typ: reflect.Value, tag: \"\"}, {prop: \"fmt\", name: \"fmt\", embedded: false, exported: false, typ: fmt, tag: \"\"}, {prop: \"reordered\", name: \"reordered\", embedded: false, exported: false, typ: $Bool, tag: \"\"}, {prop: \"goodArgNum\", name: \"goodArgNum\", embedded: false, exported: false, typ: $Bool, tag: \"\"}, {prop: \"panicking\", name: \"panicking\", embedded: false, exported: false, typ: $Bool, tag: \"\"}, {prop: \"erroring\", name: \"erroring\", embedded: false, exported: false, typ: $Bool, tag: \"\"}]);\n\tScanState.init([{prop: \"Read\", name: \"Read\", pkg: \"\", typ: $funcType([sliceType$2], [$Int, $error], false)}, {prop: \"ReadRune\", name: \"ReadRune\", pkg: \"\", typ: $funcType([], [$Int32, $Int, $error], false)}, {prop: \"SkipSpace\", name: \"SkipSpace\", pkg: \"\", typ: $funcType([], [], false)}, {prop: \"Token\", name: \"Token\", pkg: \"\", typ: $funcType([$Bool, funcType], [sliceType$2, $error], false)}, {prop: \"UnreadRune\", name: \"UnreadRune\", pkg: \"\", typ: $funcType([], [$error], false)}, {prop: \"Width\", name: \"Width\", pkg: \"\", typ: $funcType([], [$Int, $Bool], false)}]);\n\tScanner.init([{prop: \"Scan\", name: \"Scan\", pkg: \"\", typ: $funcType([ScanState, $Int32], [$error], false)}]);\n\tscanError.init(\"fmt\", [{prop: \"err\", name: \"err\", embedded: false, exported: false, typ: $error, tag: \"\"}]);\n\tss.init(\"fmt\", [{prop: \"rs\", name: \"rs\", embedded: false, exported: false, typ: io.RuneScanner, tag: \"\"}, {prop: \"buf\", name: \"buf\", embedded: false, exported: false, typ: buffer, tag: \"\"}, {prop: \"count\", name: \"count\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"atEOF\", name: \"atEOF\", embedded: false, exported: false, typ: $Bool, tag: \"\"}, {prop: \"ssave\", name: \"ssave\", embedded: true, exported: false, typ: ssave, tag: \"\"}]);\n\tssave.init(\"fmt\", [{prop: \"validSave\", name: \"validSave\", embedded: false, exported: false, typ: $Bool, tag: \"\"}, {prop: \"nlIsEnd\", name: \"nlIsEnd\", embedded: false, exported: false, typ: $Bool, tag: \"\"}, {prop: \"nlIsSpace\", name: \"nlIsSpace\", embedded: false, exported: false, typ: $Bool, tag: \"\"}, {prop: \"argLimit\", name: \"argLimit\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"limit\", name: \"limit\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"maxWid\", name: \"maxWid\", embedded: false, exported: false, typ: $Int, tag: \"\"}]);\n\treadRune.init(\"fmt\", [{prop: \"reader\", name: \"reader\", embedded: false, exported: false, typ: io.Reader, tag: \"\"}, {prop: \"buf\", name: \"buf\", embedded: false, exported: false, typ: arrayType$3, tag: \"\"}, {prop: \"pending\", name: \"pending\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"pendBuf\", name: \"pendBuf\", embedded: false, exported: false, typ: arrayType$3, tag: \"\"}, {prop: \"peekRune\", name: \"peekRune\", embedded: false, exported: false, typ: $Int32, tag: \"\"}]);\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = errors.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = io.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = math.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = os.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = reflect.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = strconv.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = sync.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = utf8.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tppFree = new sync.Pool.ptr(0, 0, sliceType.nil, (function() {\n\t\t\treturn new pp.ptr(buffer.nil, $ifaceNil, new reflect.Value.ptr(ptrType.nil, 0, 0), new fmt.ptr(ptrType$1.nil, new fmtFlags.ptr(false, false, false, false, false, false, false, false, false), 0, 0, arrayType.zero()), false, false, false, false);\n\t\t}));\n\t\tspace = new sliceType$1([$toNativeArray($kindUint16, [9, 13]), $toNativeArray($kindUint16, [32, 32]), $toNativeArray($kindUint16, [133, 133]), $toNativeArray($kindUint16, [160, 160]), $toNativeArray($kindUint16, [5760, 5760]), $toNativeArray($kindUint16, [8192, 8202]), $toNativeArray($kindUint16, [8232, 8233]), $toNativeArray($kindUint16, [8239, 8239]), $toNativeArray($kindUint16, [8287, 8287]), $toNativeArray($kindUint16, [12288, 12288])]);\n\t\tssFree = new sync.Pool.ptr(0, 0, sliceType.nil, (function() {\n\t\t\treturn new ss.ptr($ifaceNil, buffer.nil, 0, false, new ssave.ptr(false, false, false, 0, 0, 0));\n\t\t}));\n\t\tcomplexError = errors.New(\"syntax error scanning complex number\");\n\t\tboolError = errors.New(\"syntax error scanning boolean\");\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"context\"] = (function() {\n\tvar $pkg = {}, $init, errors, fmt, reflect, sync, time, Context, emptyCtx, CancelFunc, canceler, cancelCtx, timerCtx, valueCtx, ptrType, structType, ptrType$1, ptrType$2, ptrType$3, ptrType$4, sliceType, ptrType$5, chanType, chanType$1, mapType, background, todo, closedchan, WithCancel, newCancelCtx, propagateCancel, parentCancelCtx, removeChild, init;\n\terrors = $packages[\"errors\"];\n\tfmt = $packages[\"fmt\"];\n\treflect = $packages[\"reflect\"];\n\tsync = $packages[\"sync\"];\n\ttime = $packages[\"time\"];\n\tContext = $pkg.Context = $newType(8, $kindInterface, \"context.Context\", true, \"context\", true, null);\n\temptyCtx = $pkg.emptyCtx = $newType(4, $kindInt, \"context.emptyCtx\", true, \"context\", false, null);\n\tCancelFunc = $pkg.CancelFunc = $newType(4, $kindFunc, \"context.CancelFunc\", true, \"context\", true, null);\n\tcanceler = $pkg.canceler = $newType(8, $kindInterface, \"context.canceler\", true, \"context\", false, null);\n\tcancelCtx = $pkg.cancelCtx = $newType(0, $kindStruct, \"context.cancelCtx\", true, \"context\", false, function(Context_, mu_, done_, children_, err_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Context = $ifaceNil;\n\t\t\tthis.mu = new sync.Mutex.ptr(0, 0);\n\t\t\tthis.done = $chanNil;\n\t\t\tthis.children = false;\n\t\t\tthis.err = $ifaceNil;\n\t\t\treturn;\n\t\t}\n\t\tthis.Context = Context_;\n\t\tthis.mu = mu_;\n\t\tthis.done = done_;\n\t\tthis.children = children_;\n\t\tthis.err = err_;\n\t});\n\ttimerCtx = $pkg.timerCtx = $newType(0, $kindStruct, \"context.timerCtx\", true, \"context\", false, function(cancelCtx_, timer_, deadline_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.cancelCtx = new cancelCtx.ptr($ifaceNil, new sync.Mutex.ptr(0, 0), $chanNil, false, $ifaceNil);\n\t\t\tthis.timer = ptrType$5.nil;\n\t\t\tthis.deadline = new time.Time.ptr(new $Uint64(0, 0), new $Int64(0, 0), ptrType$1.nil);\n\t\t\treturn;\n\t\t}\n\t\tthis.cancelCtx = cancelCtx_;\n\t\tthis.timer = timer_;\n\t\tthis.deadline = deadline_;\n\t});\n\tvalueCtx = $pkg.valueCtx = $newType(0, $kindStruct, \"context.valueCtx\", true, \"context\", false, function(Context_, key_, val_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Context = $ifaceNil;\n\t\t\tthis.key = $ifaceNil;\n\t\t\tthis.val = $ifaceNil;\n\t\t\treturn;\n\t\t}\n\t\tthis.Context = Context_;\n\t\tthis.key = key_;\n\t\tthis.val = val_;\n\t});\n\tptrType = $ptrType(emptyCtx);\n\tstructType = $structType(\"\", []);\n\tptrType$1 = $ptrType(time.Location);\n\tptrType$2 = $ptrType(cancelCtx);\n\tptrType$3 = $ptrType(timerCtx);\n\tptrType$4 = $ptrType(valueCtx);\n\tsliceType = $sliceType($emptyInterface);\n\tptrType$5 = $ptrType(time.Timer);\n\tchanType = $chanType(structType, false, true);\n\tchanType$1 = $chanType(structType, false, false);\n\tmapType = $mapType(canceler, structType);\n\t$ptrType(emptyCtx).prototype.Deadline = function() {\n\t\tvar deadline, ok;\n\t\tdeadline = new time.Time.ptr(new $Uint64(0, 0), new $Int64(0, 0), ptrType$1.nil);\n\t\tok = false;\n\t\treturn [deadline, ok];\n\t};\n\t$ptrType(emptyCtx).prototype.Done = function() {\n\t\treturn $chanNil;\n\t};\n\t$ptrType(emptyCtx).prototype.Err = function() {\n\t\treturn $ifaceNil;\n\t};\n\t$ptrType(emptyCtx).prototype.Value = function(key) {\n\t\tvar key;\n\t\treturn $ifaceNil;\n\t};\n\t$ptrType(emptyCtx).prototype.String = function() {\n\t\tvar _1, e;\n\t\te = this;\n\t\t_1 = e;\n\t\tif (_1 === (background)) {\n\t\t\treturn \"context.Background\";\n\t\t} else if (_1 === (todo)) {\n\t\t\treturn \"context.TODO\";\n\t\t}\n\t\treturn \"unknown empty Context\";\n\t};\n\tWithCancel = function(parent) {\n\t\tvar _tmp, _tmp$1, c, cancel, ctx, parent, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; c = $f.c; cancel = $f.cancel; ctx = $f.ctx; parent = $f.parent; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tc = [c];\n\t\tctx = $ifaceNil;\n\t\tcancel = $throwNilPointerError;\n\t\tc[0] = $clone(newCancelCtx(parent), cancelCtx);\n\t\t$r = propagateCancel(parent, c[0]); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_tmp = c[0];\n\t\t_tmp$1 = (function(c) { return function $b() {\n\t\t\tvar $s, $r;\n\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t\t$r = c[0].cancel(true, $pkg.Canceled); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return;\n\t\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.$s = $s; $f.$r = $r; return $f;\n\t\t}; })(c);\n\t\tctx = _tmp;\n\t\tcancel = _tmp$1;\n\t\t$s = -1; return [ctx, cancel];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: WithCancel }; } $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f.c = c; $f.cancel = cancel; $f.ctx = ctx; $f.parent = parent; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.WithCancel = WithCancel;\n\tnewCancelCtx = function(parent) {\n\t\tvar parent;\n\t\treturn new cancelCtx.ptr(parent, new sync.Mutex.ptr(0, 0), $chanNil, false, $ifaceNil);\n\t};\n\tpropagateCancel = function(parent, child) {\n\t\tvar _key, _r, _tuple, child, ok, p, parent, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _key = $f._key; _r = $f._r; _tuple = $f._tuple; child = $f.child; ok = $f.ok; p = $f.p; parent = $f.parent; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tchild = [child];\n\t\tparent = [parent];\n\t\t_r = parent[0].Done(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t/* */ if (_r === $chanNil) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (_r === $chanNil) { */ case 1:\n\t\t\t$s = -1; return;\n\t\t/* } */ case 2:\n\t\t_tuple = parentCancelCtx(parent[0]);\n\t\tp = _tuple[0];\n\t\tok = _tuple[1];\n\t\t/* */ if (ok) { $s = 4; continue; }\n\t\t/* */ $s = 5; continue;\n\t\t/* if (ok) { */ case 4:\n\t\t\t$r = p.mu.Lock(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* */ if (!($interfaceIsEqual(p.err, $ifaceNil))) { $s = 8; continue; }\n\t\t\t/* */ $s = 9; continue;\n\t\t\t/* if (!($interfaceIsEqual(p.err, $ifaceNil))) { */ case 8:\n\t\t\t\t$r = child[0].cancel(false, p.err); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 10; continue;\n\t\t\t/* } else { */ case 9:\n\t\t\t\tif (p.children === false) {\n\t\t\t\t\tp.children = {};\n\t\t\t\t}\n\t\t\t\t_key = child[0]; (p.children || $throwRuntimeError(\"assignment to entry in nil map\"))[canceler.keyFor(_key)] = { k: _key, v: new structType.ptr() };\n\t\t\t/* } */ case 10:\n\t\t\t$r = p.mu.Unlock(); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 6; continue;\n\t\t/* } else { */ case 5:\n\t\t\t$go((function(child, parent) { return function $b() {\n\t\t\t\tvar _arg, _r$1, _r$2, _r$3, _r$4, _selection, $s, $r;\n\t\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _selection = $f._selection; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t\t\t_r$1 = parent[0].Done(); /* */ $s = 1; case 1: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t_r$2 = child[0].Done(); /* */ $s = 2; case 2: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t_r$3 = $select([[_r$1], [_r$2]]); /* */ $s = 3; case 3: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t_selection = _r$3;\n\t\t\t\t/* */ if (_selection[0] === 0) { $s = 4; continue; }\n\t\t\t\t/* */ if (_selection[0] === 1) { $s = 5; continue; }\n\t\t\t\t/* */ $s = 6; continue;\n\t\t\t\t/* if (_selection[0] === 0) { */ case 4:\n\t\t\t\t\t_r$4 = parent[0].Err(); /* */ $s = 7; case 7: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\t\t_arg = _r$4;\n\t\t\t\t\t$r = child[0].cancel(false, _arg); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t$s = 6; continue;\n\t\t\t\t/* } else if (_selection[0] === 1) { */ case 5:\n\t\t\t\t/* } */ case 6:\n\t\t\t\t$s = -1; return;\n\t\t\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f._arg = _arg; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._selection = _selection; $f.$s = $s; $f.$r = $r; return $f;\n\t\t\t}; })(child, parent), []);\n\t\t/* } */ case 6:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: propagateCancel }; } $f._key = _key; $f._r = _r; $f._tuple = _tuple; $f.child = child; $f.ok = ok; $f.p = p; $f.parent = parent; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tparentCancelCtx = function(parent) {\n\t\tvar _ref, c, c$1, c$2, c$3, parent;\n\t\twhile (true) {\n\t\t\t_ref = parent;\n\t\t\tif ($assertType(_ref, ptrType$2, true)[1]) {\n\t\t\t\tc = _ref.$val;\n\t\t\t\treturn [c, true];\n\t\t\t} else if ($assertType(_ref, ptrType$3, true)[1]) {\n\t\t\t\tc$1 = _ref.$val;\n\t\t\t\treturn [c$1.cancelCtx, true];\n\t\t\t} else if ($assertType(_ref, ptrType$4, true)[1]) {\n\t\t\t\tc$2 = _ref.$val;\n\t\t\t\tparent = c$2.Context;\n\t\t\t} else {\n\t\t\t\tc$3 = _ref;\n\t\t\t\treturn [ptrType$2.nil, false];\n\t\t\t}\n\t\t}\n\t};\n\tremoveChild = function(parent, child) {\n\t\tvar _tuple, child, ok, p, parent, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _tuple = $f._tuple; child = $f.child; ok = $f.ok; p = $f.p; parent = $f.parent; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_tuple = parentCancelCtx(parent);\n\t\tp = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (!ok) {\n\t\t\t$s = -1; return;\n\t\t}\n\t\t$r = p.mu.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tif (!(p.children === false)) {\n\t\t\tdelete p.children[canceler.keyFor(child)];\n\t\t}\n\t\t$r = p.mu.Unlock(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: removeChild }; } $f._tuple = _tuple; $f.child = child; $f.ok = ok; $f.p = p; $f.parent = parent; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tinit = function() {\n\t\t$close(closedchan);\n\t};\n\tcancelCtx.ptr.prototype.Done = function() {\n\t\tvar c, d, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; c = $f.c; d = $f.d; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tc = this;\n\t\t$r = c.mu.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tif (c.done === $chanNil) {\n\t\t\tc.done = new $Chan(structType, 0);\n\t\t}\n\t\td = c.done;\n\t\t$r = c.mu.Unlock(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return d;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: cancelCtx.ptr.prototype.Done }; } $f.c = c; $f.d = d; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcancelCtx.prototype.Done = function() { return this.$val.Done(); };\n\tcancelCtx.ptr.prototype.Err = function() {\n\t\tvar c, err, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; c = $f.c; err = $f.err; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tc = this;\n\t\t$r = c.mu.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\terr = c.err;\n\t\t$r = c.mu.Unlock(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return err;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: cancelCtx.ptr.prototype.Err }; } $f.c = c; $f.err = err; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcancelCtx.prototype.Err = function() { return this.$val.Err(); };\n\tcancelCtx.ptr.prototype.String = function() {\n\t\tvar _r, c, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; c = $f.c; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tc = this;\n\t\t_r = fmt.Sprintf(\"%v.WithCancel\", new sliceType([c.Context])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: cancelCtx.ptr.prototype.String }; } $f._r = _r; $f.c = c; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcancelCtx.prototype.String = function() { return this.$val.String(); };\n\tcancelCtx.ptr.prototype.cancel = function(removeFromParent, err) {\n\t\tvar _entry, _i, _keys, _ref, c, child, err, removeFromParent, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _entry = $f._entry; _i = $f._i; _keys = $f._keys; _ref = $f._ref; c = $f.c; child = $f.child; err = $f.err; removeFromParent = $f.removeFromParent; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tc = this;\n\t\tif ($interfaceIsEqual(err, $ifaceNil)) {\n\t\t\t$panic(new $String(\"context: internal error: missing cancel error\"));\n\t\t}\n\t\t$r = c.mu.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* */ if (!($interfaceIsEqual(c.err, $ifaceNil))) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (!($interfaceIsEqual(c.err, $ifaceNil))) { */ case 2:\n\t\t\t$r = c.mu.Unlock(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return;\n\t\t/* } */ case 3:\n\t\tc.err = err;\n\t\tif (c.done === $chanNil) {\n\t\t\tc.done = closedchan;\n\t\t} else {\n\t\t\t$close(c.done);\n\t\t}\n\t\t_ref = c.children;\n\t\t_i = 0;\n\t\t_keys = $keys(_ref);\n\t\t/* while (true) { */ case 5:\n\t\t\t/* if (!(_i < _keys.length)) { break; } */ if(!(_i < _keys.length)) { $s = 6; continue; }\n\t\t\t_entry = _ref[_keys[_i]];\n\t\t\tif (_entry === undefined) {\n\t\t\t\t_i++;\n\t\t\t\t/* continue; */ $s = 5; continue;\n\t\t\t}\n\t\t\tchild = _entry.k;\n\t\t\t$r = child.cancel(false, err); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t_i++;\n\t\t/* } */ $s = 5; continue; case 6:\n\t\tc.children = false;\n\t\t$r = c.mu.Unlock(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* */ if (removeFromParent) { $s = 9; continue; }\n\t\t/* */ $s = 10; continue;\n\t\t/* if (removeFromParent) { */ case 9:\n\t\t\t$r = removeChild(c.Context, c); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 10:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: cancelCtx.ptr.prototype.cancel }; } $f._entry = _entry; $f._i = _i; $f._keys = _keys; $f._ref = _ref; $f.c = c; $f.child = child; $f.err = err; $f.removeFromParent = removeFromParent; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcancelCtx.prototype.cancel = function(removeFromParent, err) { return this.$val.cancel(removeFromParent, err); };\n\ttimerCtx.ptr.prototype.Deadline = function() {\n\t\tvar _tmp, _tmp$1, c, deadline, ok;\n\t\tdeadline = new time.Time.ptr(new $Uint64(0, 0), new $Int64(0, 0), ptrType$1.nil);\n\t\tok = false;\n\t\tc = this;\n\t\t_tmp = $clone(c.deadline, time.Time);\n\t\t_tmp$1 = true;\n\t\ttime.Time.copy(deadline, _tmp);\n\t\tok = _tmp$1;\n\t\treturn [deadline, ok];\n\t};\n\ttimerCtx.prototype.Deadline = function() { return this.$val.Deadline(); };\n\ttimerCtx.ptr.prototype.String = function() {\n\t\tvar _r, c, x$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; c = $f.c; x$1 = $f.x$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tc = this;\n\t\t_r = fmt.Sprintf(\"%v.WithDeadline(%s [%s])\", new sliceType([c.cancelCtx.Context, (x$1 = c.deadline, new x$1.constructor.elem(x$1)), time.Until($clone(c.deadline, time.Time))])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: timerCtx.ptr.prototype.String }; } $f._r = _r; $f.c = c; $f.x$1 = x$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\ttimerCtx.prototype.String = function() { return this.$val.String(); };\n\ttimerCtx.ptr.prototype.cancel = function(removeFromParent, err) {\n\t\tvar c, err, removeFromParent, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; c = $f.c; err = $f.err; removeFromParent = $f.removeFromParent; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tc = this;\n\t\t$r = c.cancelCtx.cancel(false, err); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* */ if (removeFromParent) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (removeFromParent) { */ case 2:\n\t\t\t$r = removeChild(c.cancelCtx.Context, c); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 3:\n\t\t$r = c.cancelCtx.mu.Lock(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tif (!(c.timer === ptrType$5.nil)) {\n\t\t\tc.timer.Stop();\n\t\t\tc.timer = ptrType$5.nil;\n\t\t}\n\t\t$r = c.cancelCtx.mu.Unlock(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: timerCtx.ptr.prototype.cancel }; } $f.c = c; $f.err = err; $f.removeFromParent = removeFromParent; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\ttimerCtx.prototype.cancel = function(removeFromParent, err) { return this.$val.cancel(removeFromParent, err); };\n\tvalueCtx.ptr.prototype.String = function() {\n\t\tvar _r, c, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; c = $f.c; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tc = this;\n\t\t_r = fmt.Sprintf(\"%v.WithValue(%#v, %#v)\", new sliceType([c.Context, c.key, c.val])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: valueCtx.ptr.prototype.String }; } $f._r = _r; $f.c = c; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tvalueCtx.prototype.String = function() { return this.$val.String(); };\n\tvalueCtx.ptr.prototype.Value = function(key) {\n\t\tvar _r, c, key, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; c = $f.c; key = $f.key; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tc = this;\n\t\tif ($interfaceIsEqual(c.key, key)) {\n\t\t\t$s = -1; return c.val;\n\t\t}\n\t\t_r = c.Context.Value(key); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: valueCtx.ptr.prototype.Value }; } $f._r = _r; $f.c = c; $f.key = key; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tvalueCtx.prototype.Value = function(key) { return this.$val.Value(key); };\n\tptrType.methods = [{prop: \"Deadline\", name: \"Deadline\", pkg: \"\", typ: $funcType([], [time.Time, $Bool], false)}, {prop: \"Done\", name: \"Done\", pkg: \"\", typ: $funcType([], [chanType], false)}, {prop: \"Err\", name: \"Err\", pkg: \"\", typ: $funcType([], [$error], false)}, {prop: \"Value\", name: \"Value\", pkg: \"\", typ: $funcType([$emptyInterface], [$emptyInterface], false)}, {prop: \"String\", name: \"String\", pkg: \"\", typ: $funcType([], [$String], false)}];\n\tptrType$2.methods = [{prop: \"Done\", name: \"Done\", pkg: \"\", typ: $funcType([], [chanType], false)}, {prop: \"Err\", name: \"Err\", pkg: \"\", typ: $funcType([], [$error], false)}, {prop: \"String\", name: \"String\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"cancel\", name: \"cancel\", pkg: \"context\", typ: $funcType([$Bool, $error], [], false)}];\n\tptrType$3.methods = [{prop: \"Deadline\", name: \"Deadline\", pkg: \"\", typ: $funcType([], [time.Time, $Bool], false)}, {prop: \"String\", name: \"String\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"cancel\", name: \"cancel\", pkg: \"context\", typ: $funcType([$Bool, $error], [], false)}];\n\tptrType$4.methods = [{prop: \"String\", name: \"String\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"Value\", name: \"Value\", pkg: \"\", typ: $funcType([$emptyInterface], [$emptyInterface], false)}];\n\tContext.init([{prop: \"Deadline\", name: \"Deadline\", pkg: \"\", typ: $funcType([], [time.Time, $Bool], false)}, {prop: \"Done\", name: \"Done\", pkg: \"\", typ: $funcType([], [chanType], false)}, {prop: \"Err\", name: \"Err\", pkg: \"\", typ: $funcType([], [$error], false)}, {prop: \"Value\", name: \"Value\", pkg: \"\", typ: $funcType([$emptyInterface], [$emptyInterface], false)}]);\n\tCancelFunc.init([], [], false);\n\tcanceler.init([{prop: \"Done\", name: \"Done\", pkg: \"\", typ: $funcType([], [chanType], false)}, {prop: \"cancel\", name: \"cancel\", pkg: \"context\", typ: $funcType([$Bool, $error], [], false)}]);\n\tcancelCtx.init(\"context\", [{prop: \"Context\", name: \"Context\", embedded: true, exported: true, typ: Context, tag: \"\"}, {prop: \"mu\", name: \"mu\", embedded: false, exported: false, typ: sync.Mutex, tag: \"\"}, {prop: \"done\", name: \"done\", embedded: false, exported: false, typ: chanType$1, tag: \"\"}, {prop: \"children\", name: \"children\", embedded: false, exported: false, typ: mapType, tag: \"\"}, {prop: \"err\", name: \"err\", embedded: false, exported: false, typ: $error, tag: \"\"}]);\n\ttimerCtx.init(\"context\", [{prop: \"cancelCtx\", name: \"cancelCtx\", embedded: true, exported: false, typ: cancelCtx, tag: \"\"}, {prop: \"timer\", name: \"timer\", embedded: false, exported: false, typ: ptrType$5, tag: \"\"}, {prop: \"deadline\", name: \"deadline\", embedded: false, exported: false, typ: time.Time, tag: \"\"}]);\n\tvalueCtx.init(\"context\", [{prop: \"Context\", name: \"Context\", embedded: true, exported: true, typ: Context, tag: \"\"}, {prop: \"key\", name: \"key\", embedded: false, exported: false, typ: $emptyInterface, tag: \"\"}, {prop: \"val\", name: \"val\", embedded: false, exported: false, typ: $emptyInterface, tag: \"\"}]);\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = errors.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = fmt.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = reflect.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = sync.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = time.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$pkg.Canceled = errors.New(\"context canceled\");\n\t\tbackground = $newDataPointer(0, ptrType);\n\t\ttodo = $newDataPointer(0, ptrType);\n\t\tclosedchan = new $Chan(structType, 0);\n\t\tinit();\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"github.com/J-J-J/goluajit/ast\"] = (function() {\n\tvar $pkg = {}, $init, fmt, PositionHolder, Node, Expr, ExprBase, ConstExprBase, TrueExpr, FalseExpr, NilExpr, NumberExpr, StringExpr, Comma3Expr, IdentExpr, AttrGetExpr, TableExpr, FuncCallExpr, LogicalOpExpr, RelationalOpExpr, StringConcatOpExpr, ArithmeticOpExpr, UnaryMinusOpExpr, UnaryNotOpExpr, UnaryLenOpExpr, FunctionExpr, Field, ParList, FuncName, Stmt, StmtBase, AssignStmt, LocalAssignStmt, FuncCallStmt, DoBlockStmt, WhileStmt, RepeatStmt, IfStmt, NumberForStmt, GenericForStmt, FuncDefStmt, ReturnStmt, BreakStmt, Position, Token, sliceType, ptrType, ptrType$1, ptrType$2, ptrType$3, sliceType$1, sliceType$2, ptrType$4, sliceType$3, sliceType$4, ptrType$5, ptrType$6, ptrType$7, ptrType$8;\n\tfmt = $packages[\"fmt\"];\n\tPositionHolder = $pkg.PositionHolder = $newType(8, $kindInterface, \"ast.PositionHolder\", true, \"github.com/J-J-J/goluajit/ast\", true, null);\n\tNode = $pkg.Node = $newType(0, $kindStruct, \"ast.Node\", true, \"github.com/J-J-J/goluajit/ast\", true, function(line_, lastline_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.line = 0;\n\t\t\tthis.lastline = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.line = line_;\n\t\tthis.lastline = lastline_;\n\t});\n\tExpr = $pkg.Expr = $newType(8, $kindInterface, \"ast.Expr\", true, \"github.com/J-J-J/goluajit/ast\", true, null);\n\tExprBase = $pkg.ExprBase = $newType(0, $kindStruct, \"ast.ExprBase\", true, \"github.com/J-J-J/goluajit/ast\", true, function(Node_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Node = new Node.ptr(0, 0);\n\t\t\treturn;\n\t\t}\n\t\tthis.Node = Node_;\n\t});\n\tConstExprBase = $pkg.ConstExprBase = $newType(0, $kindStruct, \"ast.ConstExprBase\", true, \"github.com/J-J-J/goluajit/ast\", true, function(ExprBase_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.ExprBase = new ExprBase.ptr(new Node.ptr(0, 0));\n\t\t\treturn;\n\t\t}\n\t\tthis.ExprBase = ExprBase_;\n\t});\n\tTrueExpr = $pkg.TrueExpr = $newType(0, $kindStruct, \"ast.TrueExpr\", true, \"github.com/J-J-J/goluajit/ast\", true, function(ConstExprBase_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.ConstExprBase = new ConstExprBase.ptr(new ExprBase.ptr(new Node.ptr(0, 0)));\n\t\t\treturn;\n\t\t}\n\t\tthis.ConstExprBase = ConstExprBase_;\n\t});\n\tFalseExpr = $pkg.FalseExpr = $newType(0, $kindStruct, \"ast.FalseExpr\", true, \"github.com/J-J-J/goluajit/ast\", true, function(ConstExprBase_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.ConstExprBase = new ConstExprBase.ptr(new ExprBase.ptr(new Node.ptr(0, 0)));\n\t\t\treturn;\n\t\t}\n\t\tthis.ConstExprBase = ConstExprBase_;\n\t});\n\tNilExpr = $pkg.NilExpr = $newType(0, $kindStruct, \"ast.NilExpr\", true, \"github.com/J-J-J/goluajit/ast\", true, function(ConstExprBase_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.ConstExprBase = new ConstExprBase.ptr(new ExprBase.ptr(new Node.ptr(0, 0)));\n\t\t\treturn;\n\t\t}\n\t\tthis.ConstExprBase = ConstExprBase_;\n\t});\n\tNumberExpr = $pkg.NumberExpr = $newType(0, $kindStruct, \"ast.NumberExpr\", true, \"github.com/J-J-J/goluajit/ast\", true, function(ConstExprBase_, Value_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.ConstExprBase = new ConstExprBase.ptr(new ExprBase.ptr(new Node.ptr(0, 0)));\n\t\t\tthis.Value = \"\";\n\t\t\treturn;\n\t\t}\n\t\tthis.ConstExprBase = ConstExprBase_;\n\t\tthis.Value = Value_;\n\t});\n\tStringExpr = $pkg.StringExpr = $newType(0, $kindStruct, \"ast.StringExpr\", true, \"github.com/J-J-J/goluajit/ast\", true, function(ConstExprBase_, Value_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.ConstExprBase = new ConstExprBase.ptr(new ExprBase.ptr(new Node.ptr(0, 0)));\n\t\t\tthis.Value = \"\";\n\t\t\treturn;\n\t\t}\n\t\tthis.ConstExprBase = ConstExprBase_;\n\t\tthis.Value = Value_;\n\t});\n\tComma3Expr = $pkg.Comma3Expr = $newType(0, $kindStruct, \"ast.Comma3Expr\", true, \"github.com/J-J-J/goluajit/ast\", true, function(ExprBase_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.ExprBase = new ExprBase.ptr(new Node.ptr(0, 0));\n\t\t\treturn;\n\t\t}\n\t\tthis.ExprBase = ExprBase_;\n\t});\n\tIdentExpr = $pkg.IdentExpr = $newType(0, $kindStruct, \"ast.IdentExpr\", true, \"github.com/J-J-J/goluajit/ast\", true, function(ExprBase_, Value_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.ExprBase = new ExprBase.ptr(new Node.ptr(0, 0));\n\t\t\tthis.Value = \"\";\n\t\t\treturn;\n\t\t}\n\t\tthis.ExprBase = ExprBase_;\n\t\tthis.Value = Value_;\n\t});\n\tAttrGetExpr = $pkg.AttrGetExpr = $newType(0, $kindStruct, \"ast.AttrGetExpr\", true, \"github.com/J-J-J/goluajit/ast\", true, function(ExprBase_, Object_, Key_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.ExprBase = new ExprBase.ptr(new Node.ptr(0, 0));\n\t\t\tthis.Object = $ifaceNil;\n\t\t\tthis.Key = $ifaceNil;\n\t\t\treturn;\n\t\t}\n\t\tthis.ExprBase = ExprBase_;\n\t\tthis.Object = Object_;\n\t\tthis.Key = Key_;\n\t});\n\tTableExpr = $pkg.TableExpr = $newType(0, $kindStruct, \"ast.TableExpr\", true, \"github.com/J-J-J/goluajit/ast\", true, function(ExprBase_, Fields_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.ExprBase = new ExprBase.ptr(new Node.ptr(0, 0));\n\t\t\tthis.Fields = sliceType$1.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.ExprBase = ExprBase_;\n\t\tthis.Fields = Fields_;\n\t});\n\tFuncCallExpr = $pkg.FuncCallExpr = $newType(0, $kindStruct, \"ast.FuncCallExpr\", true, \"github.com/J-J-J/goluajit/ast\", true, function(ExprBase_, Func_, Receiver_, Method_, Args_, AdjustRet_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.ExprBase = new ExprBase.ptr(new Node.ptr(0, 0));\n\t\t\tthis.Func = $ifaceNil;\n\t\t\tthis.Receiver = $ifaceNil;\n\t\t\tthis.Method = \"\";\n\t\t\tthis.Args = sliceType$2.nil;\n\t\t\tthis.AdjustRet = false;\n\t\t\treturn;\n\t\t}\n\t\tthis.ExprBase = ExprBase_;\n\t\tthis.Func = Func_;\n\t\tthis.Receiver = Receiver_;\n\t\tthis.Method = Method_;\n\t\tthis.Args = Args_;\n\t\tthis.AdjustRet = AdjustRet_;\n\t});\n\tLogicalOpExpr = $pkg.LogicalOpExpr = $newType(0, $kindStruct, \"ast.LogicalOpExpr\", true, \"github.com/J-J-J/goluajit/ast\", true, function(ExprBase_, Operator_, Lhs_, Rhs_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.ExprBase = new ExprBase.ptr(new Node.ptr(0, 0));\n\t\t\tthis.Operator = \"\";\n\t\t\tthis.Lhs = $ifaceNil;\n\t\t\tthis.Rhs = $ifaceNil;\n\t\t\treturn;\n\t\t}\n\t\tthis.ExprBase = ExprBase_;\n\t\tthis.Operator = Operator_;\n\t\tthis.Lhs = Lhs_;\n\t\tthis.Rhs = Rhs_;\n\t});\n\tRelationalOpExpr = $pkg.RelationalOpExpr = $newType(0, $kindStruct, \"ast.RelationalOpExpr\", true, \"github.com/J-J-J/goluajit/ast\", true, function(ExprBase_, Operator_, Lhs_, Rhs_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.ExprBase = new ExprBase.ptr(new Node.ptr(0, 0));\n\t\t\tthis.Operator = \"\";\n\t\t\tthis.Lhs = $ifaceNil;\n\t\t\tthis.Rhs = $ifaceNil;\n\t\t\treturn;\n\t\t}\n\t\tthis.ExprBase = ExprBase_;\n\t\tthis.Operator = Operator_;\n\t\tthis.Lhs = Lhs_;\n\t\tthis.Rhs = Rhs_;\n\t});\n\tStringConcatOpExpr = $pkg.StringConcatOpExpr = $newType(0, $kindStruct, \"ast.StringConcatOpExpr\", true, \"github.com/J-J-J/goluajit/ast\", true, function(ExprBase_, Lhs_, Rhs_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.ExprBase = new ExprBase.ptr(new Node.ptr(0, 0));\n\t\t\tthis.Lhs = $ifaceNil;\n\t\t\tthis.Rhs = $ifaceNil;\n\t\t\treturn;\n\t\t}\n\t\tthis.ExprBase = ExprBase_;\n\t\tthis.Lhs = Lhs_;\n\t\tthis.Rhs = Rhs_;\n\t});\n\tArithmeticOpExpr = $pkg.ArithmeticOpExpr = $newType(0, $kindStruct, \"ast.ArithmeticOpExpr\", true, \"github.com/J-J-J/goluajit/ast\", true, function(ExprBase_, Operator_, Lhs_, Rhs_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.ExprBase = new ExprBase.ptr(new Node.ptr(0, 0));\n\t\t\tthis.Operator = \"\";\n\t\t\tthis.Lhs = $ifaceNil;\n\t\t\tthis.Rhs = $ifaceNil;\n\t\t\treturn;\n\t\t}\n\t\tthis.ExprBase = ExprBase_;\n\t\tthis.Operator = Operator_;\n\t\tthis.Lhs = Lhs_;\n\t\tthis.Rhs = Rhs_;\n\t});\n\tUnaryMinusOpExpr = $pkg.UnaryMinusOpExpr = $newType(0, $kindStruct, \"ast.UnaryMinusOpExpr\", true, \"github.com/J-J-J/goluajit/ast\", true, function(ExprBase_, Expr_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.ExprBase = new ExprBase.ptr(new Node.ptr(0, 0));\n\t\t\tthis.Expr = $ifaceNil;\n\t\t\treturn;\n\t\t}\n\t\tthis.ExprBase = ExprBase_;\n\t\tthis.Expr = Expr_;\n\t});\n\tUnaryNotOpExpr = $pkg.UnaryNotOpExpr = $newType(0, $kindStruct, \"ast.UnaryNotOpExpr\", true, \"github.com/J-J-J/goluajit/ast\", true, function(ExprBase_, Expr_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.ExprBase = new ExprBase.ptr(new Node.ptr(0, 0));\n\t\t\tthis.Expr = $ifaceNil;\n\t\t\treturn;\n\t\t}\n\t\tthis.ExprBase = ExprBase_;\n\t\tthis.Expr = Expr_;\n\t});\n\tUnaryLenOpExpr = $pkg.UnaryLenOpExpr = $newType(0, $kindStruct, \"ast.UnaryLenOpExpr\", true, \"github.com/J-J-J/goluajit/ast\", true, function(ExprBase_, Expr_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.ExprBase = new ExprBase.ptr(new Node.ptr(0, 0));\n\t\t\tthis.Expr = $ifaceNil;\n\t\t\treturn;\n\t\t}\n\t\tthis.ExprBase = ExprBase_;\n\t\tthis.Expr = Expr_;\n\t});\n\tFunctionExpr = $pkg.FunctionExpr = $newType(0, $kindStruct, \"ast.FunctionExpr\", true, \"github.com/J-J-J/goluajit/ast\", true, function(ExprBase_, ParList_, Stmts_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.ExprBase = new ExprBase.ptr(new Node.ptr(0, 0));\n\t\t\tthis.ParList = ptrType$4.nil;\n\t\t\tthis.Stmts = sliceType$3.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.ExprBase = ExprBase_;\n\t\tthis.ParList = ParList_;\n\t\tthis.Stmts = Stmts_;\n\t});\n\tField = $pkg.Field = $newType(0, $kindStruct, \"ast.Field\", true, \"github.com/J-J-J/goluajit/ast\", true, function(Key_, Value_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Key = $ifaceNil;\n\t\t\tthis.Value = $ifaceNil;\n\t\t\treturn;\n\t\t}\n\t\tthis.Key = Key_;\n\t\tthis.Value = Value_;\n\t});\n\tParList = $pkg.ParList = $newType(0, $kindStruct, \"ast.ParList\", true, \"github.com/J-J-J/goluajit/ast\", true, function(HasVargs_, Names_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.HasVargs = false;\n\t\t\tthis.Names = sliceType$4.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.HasVargs = HasVargs_;\n\t\tthis.Names = Names_;\n\t});\n\tFuncName = $pkg.FuncName = $newType(0, $kindStruct, \"ast.FuncName\", true, \"github.com/J-J-J/goluajit/ast\", true, function(Func_, Receiver_, Method_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Func = $ifaceNil;\n\t\t\tthis.Receiver = $ifaceNil;\n\t\t\tthis.Method = \"\";\n\t\t\treturn;\n\t\t}\n\t\tthis.Func = Func_;\n\t\tthis.Receiver = Receiver_;\n\t\tthis.Method = Method_;\n\t});\n\tStmt = $pkg.Stmt = $newType(8, $kindInterface, \"ast.Stmt\", true, \"github.com/J-J-J/goluajit/ast\", true, null);\n\tStmtBase = $pkg.StmtBase = $newType(0, $kindStruct, \"ast.StmtBase\", true, \"github.com/J-J-J/goluajit/ast\", true, function(Node_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Node = new Node.ptr(0, 0);\n\t\t\treturn;\n\t\t}\n\t\tthis.Node = Node_;\n\t});\n\tAssignStmt = $pkg.AssignStmt = $newType(0, $kindStruct, \"ast.AssignStmt\", true, \"github.com/J-J-J/goluajit/ast\", true, function(StmtBase_, Lhs_, Rhs_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.StmtBase = new StmtBase.ptr(new Node.ptr(0, 0));\n\t\t\tthis.Lhs = sliceType$2.nil;\n\t\t\tthis.Rhs = sliceType$2.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.StmtBase = StmtBase_;\n\t\tthis.Lhs = Lhs_;\n\t\tthis.Rhs = Rhs_;\n\t});\n\tLocalAssignStmt = $pkg.LocalAssignStmt = $newType(0, $kindStruct, \"ast.LocalAssignStmt\", true, \"github.com/J-J-J/goluajit/ast\", true, function(StmtBase_, Names_, Exprs_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.StmtBase = new StmtBase.ptr(new Node.ptr(0, 0));\n\t\t\tthis.Names = sliceType$4.nil;\n\t\t\tthis.Exprs = sliceType$2.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.StmtBase = StmtBase_;\n\t\tthis.Names = Names_;\n\t\tthis.Exprs = Exprs_;\n\t});\n\tFuncCallStmt = $pkg.FuncCallStmt = $newType(0, $kindStruct, \"ast.FuncCallStmt\", true, \"github.com/J-J-J/goluajit/ast\", true, function(StmtBase_, Expr_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.StmtBase = new StmtBase.ptr(new Node.ptr(0, 0));\n\t\t\tthis.Expr = $ifaceNil;\n\t\t\treturn;\n\t\t}\n\t\tthis.StmtBase = StmtBase_;\n\t\tthis.Expr = Expr_;\n\t});\n\tDoBlockStmt = $pkg.DoBlockStmt = $newType(0, $kindStruct, \"ast.DoBlockStmt\", true, \"github.com/J-J-J/goluajit/ast\", true, function(StmtBase_, Stmts_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.StmtBase = new StmtBase.ptr(new Node.ptr(0, 0));\n\t\t\tthis.Stmts = sliceType$3.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.StmtBase = StmtBase_;\n\t\tthis.Stmts = Stmts_;\n\t});\n\tWhileStmt = $pkg.WhileStmt = $newType(0, $kindStruct, \"ast.WhileStmt\", true, \"github.com/J-J-J/goluajit/ast\", true, function(StmtBase_, Condition_, Stmts_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.StmtBase = new StmtBase.ptr(new Node.ptr(0, 0));\n\t\t\tthis.Condition = $ifaceNil;\n\t\t\tthis.Stmts = sliceType$3.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.StmtBase = StmtBase_;\n\t\tthis.Condition = Condition_;\n\t\tthis.Stmts = Stmts_;\n\t});\n\tRepeatStmt = $pkg.RepeatStmt = $newType(0, $kindStruct, \"ast.RepeatStmt\", true, \"github.com/J-J-J/goluajit/ast\", true, function(StmtBase_, Condition_, Stmts_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.StmtBase = new StmtBase.ptr(new Node.ptr(0, 0));\n\t\t\tthis.Condition = $ifaceNil;\n\t\t\tthis.Stmts = sliceType$3.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.StmtBase = StmtBase_;\n\t\tthis.Condition = Condition_;\n\t\tthis.Stmts = Stmts_;\n\t});\n\tIfStmt = $pkg.IfStmt = $newType(0, $kindStruct, \"ast.IfStmt\", true, \"github.com/J-J-J/goluajit/ast\", true, function(StmtBase_, Condition_, Then_, Else_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.StmtBase = new StmtBase.ptr(new Node.ptr(0, 0));\n\t\t\tthis.Condition = $ifaceNil;\n\t\t\tthis.Then = sliceType$3.nil;\n\t\t\tthis.Else = sliceType$3.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.StmtBase = StmtBase_;\n\t\tthis.Condition = Condition_;\n\t\tthis.Then = Then_;\n\t\tthis.Else = Else_;\n\t});\n\tNumberForStmt = $pkg.NumberForStmt = $newType(0, $kindStruct, \"ast.NumberForStmt\", true, \"github.com/J-J-J/goluajit/ast\", true, function(StmtBase_, Name_, Init_, Limit_, Step_, Stmts_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.StmtBase = new StmtBase.ptr(new Node.ptr(0, 0));\n\t\t\tthis.Name = \"\";\n\t\t\tthis.Init = $ifaceNil;\n\t\t\tthis.Limit = $ifaceNil;\n\t\t\tthis.Step = $ifaceNil;\n\t\t\tthis.Stmts = sliceType$3.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.StmtBase = StmtBase_;\n\t\tthis.Name = Name_;\n\t\tthis.Init = Init_;\n\t\tthis.Limit = Limit_;\n\t\tthis.Step = Step_;\n\t\tthis.Stmts = Stmts_;\n\t});\n\tGenericForStmt = $pkg.GenericForStmt = $newType(0, $kindStruct, \"ast.GenericForStmt\", true, \"github.com/J-J-J/goluajit/ast\", true, function(StmtBase_, Names_, Exprs_, Stmts_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.StmtBase = new StmtBase.ptr(new Node.ptr(0, 0));\n\t\t\tthis.Names = sliceType$4.nil;\n\t\t\tthis.Exprs = sliceType$2.nil;\n\t\t\tthis.Stmts = sliceType$3.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.StmtBase = StmtBase_;\n\t\tthis.Names = Names_;\n\t\tthis.Exprs = Exprs_;\n\t\tthis.Stmts = Stmts_;\n\t});\n\tFuncDefStmt = $pkg.FuncDefStmt = $newType(0, $kindStruct, \"ast.FuncDefStmt\", true, \"github.com/J-J-J/goluajit/ast\", true, function(StmtBase_, Name_, Func_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.StmtBase = new StmtBase.ptr(new Node.ptr(0, 0));\n\t\t\tthis.Name = ptrType$6.nil;\n\t\t\tthis.Func = ptrType$7.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.StmtBase = StmtBase_;\n\t\tthis.Name = Name_;\n\t\tthis.Func = Func_;\n\t});\n\tReturnStmt = $pkg.ReturnStmt = $newType(0, $kindStruct, \"ast.ReturnStmt\", true, \"github.com/J-J-J/goluajit/ast\", true, function(StmtBase_, Exprs_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.StmtBase = new StmtBase.ptr(new Node.ptr(0, 0));\n\t\t\tthis.Exprs = sliceType$2.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.StmtBase = StmtBase_;\n\t\tthis.Exprs = Exprs_;\n\t});\n\tBreakStmt = $pkg.BreakStmt = $newType(0, $kindStruct, \"ast.BreakStmt\", true, \"github.com/J-J-J/goluajit/ast\", true, function(StmtBase_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.StmtBase = new StmtBase.ptr(new Node.ptr(0, 0));\n\t\t\treturn;\n\t\t}\n\t\tthis.StmtBase = StmtBase_;\n\t});\n\tPosition = $pkg.Position = $newType(0, $kindStruct, \"ast.Position\", true, \"github.com/J-J-J/goluajit/ast\", true, function(Source_, Line_, Column_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Source = \"\";\n\t\t\tthis.Line = 0;\n\t\t\tthis.Column = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.Source = Source_;\n\t\tthis.Line = Line_;\n\t\tthis.Column = Column_;\n\t});\n\tToken = $pkg.Token = $newType(0, $kindStruct, \"ast.Token\", true, \"github.com/J-J-J/goluajit/ast\", true, function(Type_, Name_, Str_, Pos_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Type = 0;\n\t\t\tthis.Name = \"\";\n\t\t\tthis.Str = \"\";\n\t\t\tthis.Pos = new Position.ptr(\"\", 0, 0);\n\t\t\treturn;\n\t\t}\n\t\tthis.Type = Type_;\n\t\tthis.Name = Name_;\n\t\tthis.Str = Str_;\n\t\tthis.Pos = Pos_;\n\t});\n\tsliceType = $sliceType($emptyInterface);\n\tptrType = $ptrType(Node);\n\tptrType$1 = $ptrType(ExprBase);\n\tptrType$2 = $ptrType(ConstExprBase);\n\tptrType$3 = $ptrType(Field);\n\tsliceType$1 = $sliceType(ptrType$3);\n\tsliceType$2 = $sliceType(Expr);\n\tptrType$4 = $ptrType(ParList);\n\tsliceType$3 = $sliceType(Stmt);\n\tsliceType$4 = $sliceType($String);\n\tptrType$5 = $ptrType(StmtBase);\n\tptrType$6 = $ptrType(FuncName);\n\tptrType$7 = $ptrType(FunctionExpr);\n\tptrType$8 = $ptrType(Token);\n\tNode.ptr.prototype.Line = function() {\n\t\tvar n;\n\t\tn = this;\n\t\treturn n.line;\n\t};\n\tNode.prototype.Line = function() { return this.$val.Line(); };\n\tNode.ptr.prototype.SetLine = function(line) {\n\t\tvar line, n;\n\t\tn = this;\n\t\tn.line = line;\n\t};\n\tNode.prototype.SetLine = function(line) { return this.$val.SetLine(line); };\n\tNode.ptr.prototype.LastLine = function() {\n\t\tvar n;\n\t\tn = this;\n\t\treturn n.lastline;\n\t};\n\tNode.prototype.LastLine = function() { return this.$val.LastLine(); };\n\tNode.ptr.prototype.SetLastLine = function(line) {\n\t\tvar line, n;\n\t\tn = this;\n\t\tn.lastline = line;\n\t};\n\tNode.prototype.SetLastLine = function(line) { return this.$val.SetLastLine(line); };\n\tToken.ptr.prototype.String = function() {\n\t\tvar _r, t, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tt = this;\n\t\t_r = fmt.Sprintf(\"<type:%v, str:%v>\", new sliceType([new $String(t.Name), new $String(t.Str)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Token.ptr.prototype.String }; } $f._r = _r; $f.t = t; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tToken.prototype.String = function() { return this.$val.String(); };\n\tptrType.methods = [{prop: \"Line\", name: \"Line\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"SetLine\", name: \"SetLine\", pkg: \"\", typ: $funcType([$Int], [], false)}, {prop: \"LastLine\", name: \"LastLine\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"SetLastLine\", name: \"SetLastLine\", pkg: \"\", typ: $funcType([$Int], [], false)}];\n\tptrType$1.methods = [{prop: \"exprMarker\", name: \"exprMarker\", pkg: \"github.com/J-J-J/goluajit/ast\", typ: $funcType([], [], false)}];\n\tptrType$2.methods = [{prop: \"constExprMarker\", name: \"constExprMarker\", pkg: \"github.com/J-J-J/goluajit/ast\", typ: $funcType([], [], false)}];\n\tptrType$5.methods = [{prop: \"stmtMarker\", name: \"stmtMarker\", pkg: \"github.com/J-J-J/goluajit/ast\", typ: $funcType([], [], false)}];\n\tptrType$8.methods = [{prop: \"String\", name: \"String\", pkg: \"\", typ: $funcType([], [$String], false)}];\n\tPositionHolder.init([{prop: \"LastLine\", name: \"LastLine\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Line\", name: \"Line\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"SetLastLine\", name: \"SetLastLine\", pkg: \"\", typ: $funcType([$Int], [], false)}, {prop: \"SetLine\", name: \"SetLine\", pkg: \"\", typ: $funcType([$Int], [], false)}]);\n\tNode.init(\"github.com/J-J-J/goluajit/ast\", [{prop: \"line\", name: \"line\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"lastline\", name: \"lastline\", embedded: false, exported: false, typ: $Int, tag: \"\"}]);\n\tExpr.init([{prop: \"LastLine\", name: \"LastLine\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Line\", name: \"Line\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"SetLastLine\", name: \"SetLastLine\", pkg: \"\", typ: $funcType([$Int], [], false)}, {prop: \"SetLine\", name: \"SetLine\", pkg: \"\", typ: $funcType([$Int], [], false)}, {prop: \"exprMarker\", name: \"exprMarker\", pkg: \"github.com/J-J-J/goluajit/ast\", typ: $funcType([], [], false)}]);\n\tExprBase.init(\"\", [{prop: \"Node\", name: \"Node\", embedded: true, exported: true, typ: Node, tag: \"\"}]);\n\tConstExprBase.init(\"\", [{prop: \"ExprBase\", name: \"ExprBase\", embedded: true, exported: true, typ: ExprBase, tag: \"\"}]);\n\tTrueExpr.init(\"\", [{prop: \"ConstExprBase\", name: \"ConstExprBase\", embedded: true, exported: true, typ: ConstExprBase, tag: \"\"}]);\n\tFalseExpr.init(\"\", [{prop: \"ConstExprBase\", name: \"ConstExprBase\", embedded: true, exported: true, typ: ConstExprBase, tag: \"\"}]);\n\tNilExpr.init(\"\", [{prop: \"ConstExprBase\", name: \"ConstExprBase\", embedded: true, exported: true, typ: ConstExprBase, tag: \"\"}]);\n\tNumberExpr.init(\"\", [{prop: \"ConstExprBase\", name: \"ConstExprBase\", embedded: true, exported: true, typ: ConstExprBase, tag: \"\"}, {prop: \"Value\", name: \"Value\", embedded: false, exported: true, typ: $String, tag: \"\"}]);\n\tStringExpr.init(\"\", [{prop: \"ConstExprBase\", name: \"ConstExprBase\", embedded: true, exported: true, typ: ConstExprBase, tag: \"\"}, {prop: \"Value\", name: \"Value\", embedded: false, exported: true, typ: $String, tag: \"\"}]);\n\tComma3Expr.init(\"\", [{prop: \"ExprBase\", name: \"ExprBase\", embedded: true, exported: true, typ: ExprBase, tag: \"\"}]);\n\tIdentExpr.init(\"\", [{prop: \"ExprBase\", name: \"ExprBase\", embedded: true, exported: true, typ: ExprBase, tag: \"\"}, {prop: \"Value\", name: \"Value\", embedded: false, exported: true, typ: $String, tag: \"\"}]);\n\tAttrGetExpr.init(\"\", [{prop: \"ExprBase\", name: \"ExprBase\", embedded: true, exported: true, typ: ExprBase, tag: \"\"}, {prop: \"Object\", name: \"Object\", embedded: false, exported: true, typ: Expr, tag: \"\"}, {prop: \"Key\", name: \"Key\", embedded: false, exported: true, typ: Expr, tag: \"\"}]);\n\tTableExpr.init(\"\", [{prop: \"ExprBase\", name: \"ExprBase\", embedded: true, exported: true, typ: ExprBase, tag: \"\"}, {prop: \"Fields\", name: \"Fields\", embedded: false, exported: true, typ: sliceType$1, tag: \"\"}]);\n\tFuncCallExpr.init(\"\", [{prop: \"ExprBase\", name: \"ExprBase\", embedded: true, exported: true, typ: ExprBase, tag: \"\"}, {prop: \"Func\", name: \"Func\", embedded: false, exported: true, typ: Expr, tag: \"\"}, {prop: \"Receiver\", name: \"Receiver\", embedded: false, exported: true, typ: Expr, tag: \"\"}, {prop: \"Method\", name: \"Method\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"Args\", name: \"Args\", embedded: false, exported: true, typ: sliceType$2, tag: \"\"}, {prop: \"AdjustRet\", name: \"AdjustRet\", embedded: false, exported: true, typ: $Bool, tag: \"\"}]);\n\tLogicalOpExpr.init(\"\", [{prop: \"ExprBase\", name: \"ExprBase\", embedded: true, exported: true, typ: ExprBase, tag: \"\"}, {prop: \"Operator\", name: \"Operator\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"Lhs\", name: \"Lhs\", embedded: false, exported: true, typ: Expr, tag: \"\"}, {prop: \"Rhs\", name: \"Rhs\", embedded: false, exported: true, typ: Expr, tag: \"\"}]);\n\tRelationalOpExpr.init(\"\", [{prop: \"ExprBase\", name: \"ExprBase\", embedded: true, exported: true, typ: ExprBase, tag: \"\"}, {prop: \"Operator\", name: \"Operator\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"Lhs\", name: \"Lhs\", embedded: false, exported: true, typ: Expr, tag: \"\"}, {prop: \"Rhs\", name: \"Rhs\", embedded: false, exported: true, typ: Expr, tag: \"\"}]);\n\tStringConcatOpExpr.init(\"\", [{prop: \"ExprBase\", name: \"ExprBase\", embedded: true, exported: true, typ: ExprBase, tag: \"\"}, {prop: \"Lhs\", name: \"Lhs\", embedded: false, exported: true, typ: Expr, tag: \"\"}, {prop: \"Rhs\", name: \"Rhs\", embedded: false, exported: true, typ: Expr, tag: \"\"}]);\n\tArithmeticOpExpr.init(\"\", [{prop: \"ExprBase\", name: \"ExprBase\", embedded: true, exported: true, typ: ExprBase, tag: \"\"}, {prop: \"Operator\", name: \"Operator\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"Lhs\", name: \"Lhs\", embedded: false, exported: true, typ: Expr, tag: \"\"}, {prop: \"Rhs\", name: \"Rhs\", embedded: false, exported: true, typ: Expr, tag: \"\"}]);\n\tUnaryMinusOpExpr.init(\"\", [{prop: \"ExprBase\", name: \"ExprBase\", embedded: true, exported: true, typ: ExprBase, tag: \"\"}, {prop: \"Expr\", name: \"Expr\", embedded: false, exported: true, typ: Expr, tag: \"\"}]);\n\tUnaryNotOpExpr.init(\"\", [{prop: \"ExprBase\", name: \"ExprBase\", embedded: true, exported: true, typ: ExprBase, tag: \"\"}, {prop: \"Expr\", name: \"Expr\", embedded: false, exported: true, typ: Expr, tag: \"\"}]);\n\tUnaryLenOpExpr.init(\"\", [{prop: \"ExprBase\", name: \"ExprBase\", embedded: true, exported: true, typ: ExprBase, tag: \"\"}, {prop: \"Expr\", name: \"Expr\", embedded: false, exported: true, typ: Expr, tag: \"\"}]);\n\tFunctionExpr.init(\"\", [{prop: \"ExprBase\", name: \"ExprBase\", embedded: true, exported: true, typ: ExprBase, tag: \"\"}, {prop: \"ParList\", name: \"ParList\", embedded: false, exported: true, typ: ptrType$4, tag: \"\"}, {prop: \"Stmts\", name: \"Stmts\", embedded: false, exported: true, typ: sliceType$3, tag: \"\"}]);\n\tField.init(\"\", [{prop: \"Key\", name: \"Key\", embedded: false, exported: true, typ: Expr, tag: \"\"}, {prop: \"Value\", name: \"Value\", embedded: false, exported: true, typ: Expr, tag: \"\"}]);\n\tParList.init(\"\", [{prop: \"HasVargs\", name: \"HasVargs\", embedded: false, exported: true, typ: $Bool, tag: \"\"}, {prop: \"Names\", name: \"Names\", embedded: false, exported: true, typ: sliceType$4, tag: \"\"}]);\n\tFuncName.init(\"\", [{prop: \"Func\", name: \"Func\", embedded: false, exported: true, typ: Expr, tag: \"\"}, {prop: \"Receiver\", name: \"Receiver\", embedded: false, exported: true, typ: Expr, tag: \"\"}, {prop: \"Method\", name: \"Method\", embedded: false, exported: true, typ: $String, tag: \"\"}]);\n\tStmt.init([{prop: \"LastLine\", name: \"LastLine\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Line\", name: \"Line\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"SetLastLine\", name: \"SetLastLine\", pkg: \"\", typ: $funcType([$Int], [], false)}, {prop: \"SetLine\", name: \"SetLine\", pkg: \"\", typ: $funcType([$Int], [], false)}, {prop: \"stmtMarker\", name: \"stmtMarker\", pkg: \"github.com/J-J-J/goluajit/ast\", typ: $funcType([], [], false)}]);\n\tStmtBase.init(\"\", [{prop: \"Node\", name: \"Node\", embedded: true, exported: true, typ: Node, tag: \"\"}]);\n\tAssignStmt.init(\"\", [{prop: \"StmtBase\", name: \"StmtBase\", embedded: true, exported: true, typ: StmtBase, tag: \"\"}, {prop: \"Lhs\", name: \"Lhs\", embedded: false, exported: true, typ: sliceType$2, tag: \"\"}, {prop: \"Rhs\", name: \"Rhs\", embedded: false, exported: true, typ: sliceType$2, tag: \"\"}]);\n\tLocalAssignStmt.init(\"\", [{prop: \"StmtBase\", name: \"StmtBase\", embedded: true, exported: true, typ: StmtBase, tag: \"\"}, {prop: \"Names\", name: \"Names\", embedded: false, exported: true, typ: sliceType$4, tag: \"\"}, {prop: \"Exprs\", name: \"Exprs\", embedded: false, exported: true, typ: sliceType$2, tag: \"\"}]);\n\tFuncCallStmt.init(\"\", [{prop: \"StmtBase\", name: \"StmtBase\", embedded: true, exported: true, typ: StmtBase, tag: \"\"}, {prop: \"Expr\", name: \"Expr\", embedded: false, exported: true, typ: Expr, tag: \"\"}]);\n\tDoBlockStmt.init(\"\", [{prop: \"StmtBase\", name: \"StmtBase\", embedded: true, exported: true, typ: StmtBase, tag: \"\"}, {prop: \"Stmts\", name: \"Stmts\", embedded: false, exported: true, typ: sliceType$3, tag: \"\"}]);\n\tWhileStmt.init(\"\", [{prop: \"StmtBase\", name: \"StmtBase\", embedded: true, exported: true, typ: StmtBase, tag: \"\"}, {prop: \"Condition\", name: \"Condition\", embedded: false, exported: true, typ: Expr, tag: \"\"}, {prop: \"Stmts\", name: \"Stmts\", embedded: false, exported: true, typ: sliceType$3, tag: \"\"}]);\n\tRepeatStmt.init(\"\", [{prop: \"StmtBase\", name: \"StmtBase\", embedded: true, exported: true, typ: StmtBase, tag: \"\"}, {prop: \"Condition\", name: \"Condition\", embedded: false, exported: true, typ: Expr, tag: \"\"}, {prop: \"Stmts\", name: \"Stmts\", embedded: false, exported: true, typ: sliceType$3, tag: \"\"}]);\n\tIfStmt.init(\"\", [{prop: \"StmtBase\", name: \"StmtBase\", embedded: true, exported: true, typ: StmtBase, tag: \"\"}, {prop: \"Condition\", name: \"Condition\", embedded: false, exported: true, typ: Expr, tag: \"\"}, {prop: \"Then\", name: \"Then\", embedded: false, exported: true, typ: sliceType$3, tag: \"\"}, {prop: \"Else\", name: \"Else\", embedded: false, exported: true, typ: sliceType$3, tag: \"\"}]);\n\tNumberForStmt.init(\"\", [{prop: \"StmtBase\", name: \"StmtBase\", embedded: true, exported: true, typ: StmtBase, tag: \"\"}, {prop: \"Name\", name: \"Name\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"Init\", name: \"Init\", embedded: false, exported: true, typ: Expr, tag: \"\"}, {prop: \"Limit\", name: \"Limit\", embedded: false, exported: true, typ: Expr, tag: \"\"}, {prop: \"Step\", name: \"Step\", embedded: false, exported: true, typ: Expr, tag: \"\"}, {prop: \"Stmts\", name: \"Stmts\", embedded: false, exported: true, typ: sliceType$3, tag: \"\"}]);\n\tGenericForStmt.init(\"\", [{prop: \"StmtBase\", name: \"StmtBase\", embedded: true, exported: true, typ: StmtBase, tag: \"\"}, {prop: \"Names\", name: \"Names\", embedded: false, exported: true, typ: sliceType$4, tag: \"\"}, {prop: \"Exprs\", name: \"Exprs\", embedded: false, exported: true, typ: sliceType$2, tag: \"\"}, {prop: \"Stmts\", name: \"Stmts\", embedded: false, exported: true, typ: sliceType$3, tag: \"\"}]);\n\tFuncDefStmt.init(\"\", [{prop: \"StmtBase\", name: \"StmtBase\", embedded: true, exported: true, typ: StmtBase, tag: \"\"}, {prop: \"Name\", name: \"Name\", embedded: false, exported: true, typ: ptrType$6, tag: \"\"}, {prop: \"Func\", name: \"Func\", embedded: false, exported: true, typ: ptrType$7, tag: \"\"}]);\n\tReturnStmt.init(\"\", [{prop: \"StmtBase\", name: \"StmtBase\", embedded: true, exported: true, typ: StmtBase, tag: \"\"}, {prop: \"Exprs\", name: \"Exprs\", embedded: false, exported: true, typ: sliceType$2, tag: \"\"}]);\n\tBreakStmt.init(\"\", [{prop: \"StmtBase\", name: \"StmtBase\", embedded: true, exported: true, typ: StmtBase, tag: \"\"}]);\n\tPosition.init(\"\", [{prop: \"Source\", name: \"Source\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"Line\", name: \"Line\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"Column\", name: \"Column\", embedded: false, exported: true, typ: $Int, tag: \"\"}]);\n\tToken.init(\"\", [{prop: \"Type\", name: \"Type\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"Name\", name: \"Name\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"Str\", name: \"Str\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"Pos\", name: \"Pos\", embedded: false, exported: true, typ: Position, tag: \"\"}]);\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = fmt.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"strings\"] = (function() {\n\tvar $pkg = {}, $init, errors, js, bytealg, io, unicode, utf8, Reader, asciiSet, sliceType, sliceType$1, ptrType$5, arrayType$3, ptrType$6, IndexByte, Index, LastIndex, Count, NewReader, explode, Contains, IndexRune, genSplit, Split, Join, HasPrefix, Map, Repeat, ToUpper, ToLower, TrimLeftFunc, TrimRightFunc, TrimFunc, indexFunc, lastIndexFunc, makeASCIISet, makeCutsetFunc, Trim, TrimLeft, TrimSpace, TrimPrefix, Replace;\n\terrors = $packages[\"errors\"];\n\tjs = $packages[\"github.com/gopherjs/gopherjs/js\"];\n\tbytealg = $packages[\"internal/bytealg\"];\n\tio = $packages[\"io\"];\n\tunicode = $packages[\"unicode\"];\n\tutf8 = $packages[\"unicode/utf8\"];\n\tReader = $pkg.Reader = $newType(0, $kindStruct, \"strings.Reader\", true, \"strings\", true, function(s_, i_, prevRune_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.s = \"\";\n\t\t\tthis.i = new $Int64(0, 0);\n\t\t\tthis.prevRune = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.s = s_;\n\t\tthis.i = i_;\n\t\tthis.prevRune = prevRune_;\n\t});\n\tasciiSet = $pkg.asciiSet = $newType(32, $kindArray, \"strings.asciiSet\", true, \"strings\", false, null);\n\tsliceType = $sliceType($Uint8);\n\tsliceType$1 = $sliceType($String);\n\tptrType$5 = $ptrType(asciiSet);\n\tarrayType$3 = $arrayType($Uint32, 8);\n\tptrType$6 = $ptrType(Reader);\n\tIndexByte = function(s, c) {\n\t\tvar c, s;\n\t\treturn $parseInt(s.indexOf($global.String.fromCharCode(c))) >> 0;\n\t};\n\t$pkg.IndexByte = IndexByte;\n\tIndex = function(s, sep) {\n\t\tvar s, sep;\n\t\treturn $parseInt(s.indexOf(sep)) >> 0;\n\t};\n\t$pkg.Index = Index;\n\tLastIndex = function(s, sep) {\n\t\tvar s, sep;\n\t\treturn $parseInt(s.lastIndexOf(sep)) >> 0;\n\t};\n\t$pkg.LastIndex = LastIndex;\n\tCount = function(s, sep) {\n\t\tvar n, pos, s, sep;\n\t\tn = 0;\n\t\tif ((sep.length === 0)) {\n\t\t\treturn utf8.RuneCountInString(s) + 1 >> 0;\n\t\t} else if (sep.length > s.length) {\n\t\t\treturn 0;\n\t\t} else if ((sep.length === s.length)) {\n\t\t\tif (sep === s) {\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\treturn 0;\n\t\t}\n\t\twhile (true) {\n\t\t\tpos = Index(s, sep);\n\t\t\tif (pos === -1) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tn = n + (1) >> 0;\n\t\t\ts = $substring(s, (pos + sep.length >> 0));\n\t\t}\n\t\treturn n;\n\t};\n\t$pkg.Count = Count;\n\tReader.ptr.prototype.Len = function() {\n\t\tvar r, x, x$1, x$2, x$3, x$4;\n\t\tr = this;\n\t\tif ((x = r.i, x$1 = (new $Int64(0, r.s.length)), (x.$high > x$1.$high || (x.$high === x$1.$high && x.$low >= x$1.$low)))) {\n\t\t\treturn 0;\n\t\t}\n\t\treturn (((x$2 = (x$3 = (new $Int64(0, r.s.length)), x$4 = r.i, new $Int64(x$3.$high - x$4.$high, x$3.$low - x$4.$low)), x$2.$low + ((x$2.$high >> 31) * 4294967296)) >> 0));\n\t};\n\tReader.prototype.Len = function() { return this.$val.Len(); };\n\tReader.ptr.prototype.Size = function() {\n\t\tvar r;\n\t\tr = this;\n\t\treturn (new $Int64(0, r.s.length));\n\t};\n\tReader.prototype.Size = function() { return this.$val.Size(); };\n\tReader.ptr.prototype.Read = function(b) {\n\t\tvar _tmp, _tmp$1, b, err, n, r, x, x$1, x$2, x$3;\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\tr = this;\n\t\tif ((x = r.i, x$1 = (new $Int64(0, r.s.length)), (x.$high > x$1.$high || (x.$high === x$1.$high && x.$low >= x$1.$low)))) {\n\t\t\t_tmp = 0;\n\t\t\t_tmp$1 = io.EOF;\n\t\t\tn = _tmp;\n\t\t\terr = _tmp$1;\n\t\t\treturn [n, err];\n\t\t}\n\t\tr.prevRune = -1;\n\t\tn = $copyString(b, $substring(r.s, $flatten64(r.i)));\n\t\tr.i = (x$2 = r.i, x$3 = (new $Int64(0, n)), new $Int64(x$2.$high + x$3.$high, x$2.$low + x$3.$low));\n\t\treturn [n, err];\n\t};\n\tReader.prototype.Read = function(b) { return this.$val.Read(b); };\n\tReader.ptr.prototype.ReadAt = function(b, off) {\n\t\tvar _tmp, _tmp$1, _tmp$2, _tmp$3, b, err, n, off, r, x;\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\tr = this;\n\t\tif ((off.$high < 0 || (off.$high === 0 && off.$low < 0))) {\n\t\t\t_tmp = 0;\n\t\t\t_tmp$1 = errors.New(\"strings.Reader.ReadAt: negative offset\");\n\t\t\tn = _tmp;\n\t\t\terr = _tmp$1;\n\t\t\treturn [n, err];\n\t\t}\n\t\tif ((x = (new $Int64(0, r.s.length)), (off.$high > x.$high || (off.$high === x.$high && off.$low >= x.$low)))) {\n\t\t\t_tmp$2 = 0;\n\t\t\t_tmp$3 = io.EOF;\n\t\t\tn = _tmp$2;\n\t\t\terr = _tmp$3;\n\t\t\treturn [n, err];\n\t\t}\n\t\tn = $copyString(b, $substring(r.s, $flatten64(off)));\n\t\tif (n < b.$length) {\n\t\t\terr = io.EOF;\n\t\t}\n\t\treturn [n, err];\n\t};\n\tReader.prototype.ReadAt = function(b, off) { return this.$val.ReadAt(b, off); };\n\tReader.ptr.prototype.ReadByte = function() {\n\t\tvar b, r, x, x$1, x$2, x$3;\n\t\tr = this;\n\t\tr.prevRune = -1;\n\t\tif ((x = r.i, x$1 = (new $Int64(0, r.s.length)), (x.$high > x$1.$high || (x.$high === x$1.$high && x.$low >= x$1.$low)))) {\n\t\t\treturn [0, io.EOF];\n\t\t}\n\t\tb = r.s.charCodeAt($flatten64(r.i));\n\t\tr.i = (x$2 = r.i, x$3 = new $Int64(0, 1), new $Int64(x$2.$high + x$3.$high, x$2.$low + x$3.$low));\n\t\treturn [b, $ifaceNil];\n\t};\n\tReader.prototype.ReadByte = function() { return this.$val.ReadByte(); };\n\tReader.ptr.prototype.UnreadByte = function() {\n\t\tvar r, x, x$1, x$2;\n\t\tr = this;\n\t\tr.prevRune = -1;\n\t\tif ((x = r.i, (x.$high < 0 || (x.$high === 0 && x.$low <= 0)))) {\n\t\t\treturn errors.New(\"strings.Reader.UnreadByte: at beginning of string\");\n\t\t}\n\t\tr.i = (x$1 = r.i, x$2 = new $Int64(0, 1), new $Int64(x$1.$high - x$2.$high, x$1.$low - x$2.$low));\n\t\treturn $ifaceNil;\n\t};\n\tReader.prototype.UnreadByte = function() { return this.$val.UnreadByte(); };\n\tReader.ptr.prototype.ReadRune = function() {\n\t\tvar _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tuple, c, ch, err, r, size, x, x$1, x$2, x$3, x$4, x$5, x$6;\n\t\tch = 0;\n\t\tsize = 0;\n\t\terr = $ifaceNil;\n\t\tr = this;\n\t\tif ((x = r.i, x$1 = (new $Int64(0, r.s.length)), (x.$high > x$1.$high || (x.$high === x$1.$high && x.$low >= x$1.$low)))) {\n\t\t\tr.prevRune = -1;\n\t\t\t_tmp = 0;\n\t\t\t_tmp$1 = 0;\n\t\t\t_tmp$2 = io.EOF;\n\t\t\tch = _tmp;\n\t\t\tsize = _tmp$1;\n\t\t\terr = _tmp$2;\n\t\t\treturn [ch, size, err];\n\t\t}\n\t\tr.prevRune = (((x$2 = r.i, x$2.$low + ((x$2.$high >> 31) * 4294967296)) >> 0));\n\t\tc = r.s.charCodeAt($flatten64(r.i));\n\t\tif (c < 128) {\n\t\t\tr.i = (x$3 = r.i, x$4 = new $Int64(0, 1), new $Int64(x$3.$high + x$4.$high, x$3.$low + x$4.$low));\n\t\t\t_tmp$3 = ((c >> 0));\n\t\t\t_tmp$4 = 1;\n\t\t\t_tmp$5 = $ifaceNil;\n\t\t\tch = _tmp$3;\n\t\t\tsize = _tmp$4;\n\t\t\terr = _tmp$5;\n\t\t\treturn [ch, size, err];\n\t\t}\n\t\t_tuple = utf8.DecodeRuneInString($substring(r.s, $flatten64(r.i)));\n\t\tch = _tuple[0];\n\t\tsize = _tuple[1];\n\t\tr.i = (x$5 = r.i, x$6 = (new $Int64(0, size)), new $Int64(x$5.$high + x$6.$high, x$5.$low + x$6.$low));\n\t\treturn [ch, size, err];\n\t};\n\tReader.prototype.ReadRune = function() { return this.$val.ReadRune(); };\n\tReader.ptr.prototype.UnreadRune = function() {\n\t\tvar r;\n\t\tr = this;\n\t\tif (r.prevRune < 0) {\n\t\t\treturn errors.New(\"strings.Reader.UnreadRune: previous operation was not ReadRune\");\n\t\t}\n\t\tr.i = (new $Int64(0, r.prevRune));\n\t\tr.prevRune = -1;\n\t\treturn $ifaceNil;\n\t};\n\tReader.prototype.UnreadRune = function() { return this.$val.UnreadRune(); };\n\tReader.ptr.prototype.Seek = function(offset, whence) {\n\t\tvar _1, abs, offset, r, whence, x, x$1;\n\t\tr = this;\n\t\tr.prevRune = -1;\n\t\tabs = new $Int64(0, 0);\n\t\t_1 = whence;\n\t\tif (_1 === (0)) {\n\t\t\tabs = offset;\n\t\t} else if (_1 === (1)) {\n\t\t\tabs = (x = r.i, new $Int64(x.$high + offset.$high, x.$low + offset.$low));\n\t\t} else if (_1 === (2)) {\n\t\t\tabs = (x$1 = (new $Int64(0, r.s.length)), new $Int64(x$1.$high + offset.$high, x$1.$low + offset.$low));\n\t\t} else {\n\t\t\treturn [new $Int64(0, 0), errors.New(\"strings.Reader.Seek: invalid whence\")];\n\t\t}\n\t\tif ((abs.$high < 0 || (abs.$high === 0 && abs.$low < 0))) {\n\t\t\treturn [new $Int64(0, 0), errors.New(\"strings.Reader.Seek: negative position\")];\n\t\t}\n\t\tr.i = abs;\n\t\treturn [abs, $ifaceNil];\n\t};\n\tReader.prototype.Seek = function(offset, whence) { return this.$val.Seek(offset, whence); };\n\tReader.ptr.prototype.WriteTo = function(w) {\n\t\tvar _r, _tmp, _tmp$1, _tuple, err, m, n, r, s, w, x, x$1, x$2, x$3, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tuple = $f._tuple; err = $f.err; m = $f.m; n = $f.n; r = $f.r; s = $f.s; w = $f.w; x = $f.x; x$1 = $f.x$1; x$2 = $f.x$2; x$3 = $f.x$3; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tn = new $Int64(0, 0);\n\t\terr = $ifaceNil;\n\t\tr = this;\n\t\tr.prevRune = -1;\n\t\tif ((x = r.i, x$1 = (new $Int64(0, r.s.length)), (x.$high > x$1.$high || (x.$high === x$1.$high && x.$low >= x$1.$low)))) {\n\t\t\t_tmp = new $Int64(0, 0);\n\t\t\t_tmp$1 = $ifaceNil;\n\t\t\tn = _tmp;\n\t\t\terr = _tmp$1;\n\t\t\t$s = -1; return [n, err];\n\t\t}\n\t\ts = $substring(r.s, $flatten64(r.i));\n\t\t_r = io.WriteString(w, s); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tm = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (m > s.length) {\n\t\t\t$panic(new $String(\"strings.Reader.WriteTo: invalid WriteString count\"));\n\t\t}\n\t\tr.i = (x$2 = r.i, x$3 = (new $Int64(0, m)), new $Int64(x$2.$high + x$3.$high, x$2.$low + x$3.$low));\n\t\tn = (new $Int64(0, m));\n\t\tif (!((m === s.length)) && $interfaceIsEqual(err, $ifaceNil)) {\n\t\t\terr = io.ErrShortWrite;\n\t\t}\n\t\t$s = -1; return [n, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Reader.ptr.prototype.WriteTo }; } $f._r = _r; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tuple = _tuple; $f.err = err; $f.m = m; $f.n = n; $f.r = r; $f.s = s; $f.w = w; $f.x = x; $f.x$1 = x$1; $f.x$2 = x$2; $f.x$3 = x$3; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tReader.prototype.WriteTo = function(w) { return this.$val.WriteTo(w); };\n\tReader.ptr.prototype.Reset = function(s) {\n\t\tvar r, s;\n\t\tr = this;\n\t\tReader.copy(r, new Reader.ptr(s, new $Int64(0, 0), -1));\n\t};\n\tReader.prototype.Reset = function(s) { return this.$val.Reset(s); };\n\tNewReader = function(s) {\n\t\tvar s;\n\t\treturn new Reader.ptr(s, new $Int64(0, 0), -1);\n\t};\n\t$pkg.NewReader = NewReader;\n\texplode = function(s, n) {\n\t\tvar _tuple, a, ch, i, l, n, s, size, x;\n\t\tl = utf8.RuneCountInString(s);\n\t\tif (n < 0 || n > l) {\n\t\t\tn = l;\n\t\t}\n\t\ta = $makeSlice(sliceType$1, n);\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < (n - 1 >> 0))) { break; }\n\t\t\t_tuple = utf8.DecodeRuneInString(s);\n\t\t\tch = _tuple[0];\n\t\t\tsize = _tuple[1];\n\t\t\t((i < 0 || i >= a.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : a.$array[a.$offset + i] = $substring(s, 0, size));\n\t\t\ts = $substring(s, size);\n\t\t\tif (ch === 65533) {\n\t\t\t\t((i < 0 || i >= a.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : a.$array[a.$offset + i] = \"\\xEF\\xBF\\xBD\");\n\t\t\t}\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\tif (n > 0) {\n\t\t\t(x = n - 1 >> 0, ((x < 0 || x >= a.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : a.$array[a.$offset + x] = s));\n\t\t}\n\t\treturn a;\n\t};\n\tContains = function(s, substr) {\n\t\tvar s, substr;\n\t\treturn Index(s, substr) >= 0;\n\t};\n\t$pkg.Contains = Contains;\n\tIndexRune = function(s, r) {\n\t\tvar _i, _ref, _rune, i, r, r$1, s;\n\t\tif (0 <= r && r < 128) {\n\t\t\treturn IndexByte(s, ((r << 24 >>> 24)));\n\t\t} else if ((r === 65533)) {\n\t\t\t_ref = s;\n\t\t\t_i = 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(_i < _ref.length)) { break; }\n\t\t\t\t_rune = $decodeRune(_ref, _i);\n\t\t\t\ti = _i;\n\t\t\t\tr$1 = _rune[0];\n\t\t\t\tif (r$1 === 65533) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t\t_i += _rune[1];\n\t\t\t}\n\t\t\treturn -1;\n\t\t} else if (!utf8.ValidRune(r)) {\n\t\t\treturn -1;\n\t\t} else {\n\t\t\treturn Index(s, ($encodeRune(r)));\n\t\t}\n\t};\n\t$pkg.IndexRune = IndexRune;\n\tgenSplit = function(s, sep, sepSave, n) {\n\t\tvar a, i, m, n, s, sep, sepSave;\n\t\tif (n === 0) {\n\t\t\treturn sliceType$1.nil;\n\t\t}\n\t\tif (sep === \"\") {\n\t\t\treturn explode(s, n);\n\t\t}\n\t\tif (n < 0) {\n\t\t\tn = Count(s, sep) + 1 >> 0;\n\t\t}\n\t\ta = $makeSlice(sliceType$1, n);\n\t\tn = n - (1) >> 0;\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < n)) { break; }\n\t\t\tm = Index(s, sep);\n\t\t\tif (m < 0) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\t((i < 0 || i >= a.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : a.$array[a.$offset + i] = $substring(s, 0, (m + sepSave >> 0)));\n\t\t\ts = $substring(s, (m + sep.length >> 0));\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\t((i < 0 || i >= a.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : a.$array[a.$offset + i] = s);\n\t\treturn $subslice(a, 0, (i + 1 >> 0));\n\t};\n\tSplit = function(s, sep) {\n\t\tvar s, sep;\n\t\treturn genSplit(s, sep, 0, -1);\n\t};\n\t$pkg.Split = Split;\n\tJoin = function(a, sep) {\n\t\tvar _1, _i, _ref, a, b, bp, i, n, s, sep;\n\t\t_1 = a.$length;\n\t\tif (_1 === (0)) {\n\t\t\treturn \"\";\n\t\t} else if (_1 === (1)) {\n\t\t\treturn (0 >= a.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : a.$array[a.$offset + 0]);\n\t\t} else if (_1 === (2)) {\n\t\t\treturn (0 >= a.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : a.$array[a.$offset + 0]) + sep + (1 >= a.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : a.$array[a.$offset + 1]);\n\t\t} else if (_1 === (3)) {\n\t\t\treturn (0 >= a.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : a.$array[a.$offset + 0]) + sep + (1 >= a.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : a.$array[a.$offset + 1]) + sep + (2 >= a.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : a.$array[a.$offset + 2]);\n\t\t}\n\t\tn = $imul(sep.length, ((a.$length - 1 >> 0)));\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < a.$length)) { break; }\n\t\t\tn = n + (((i < 0 || i >= a.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : a.$array[a.$offset + i]).length) >> 0;\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\tb = $makeSlice(sliceType, n);\n\t\tbp = $copyString(b, (0 >= a.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : a.$array[a.$offset + 0]));\n\t\t_ref = $subslice(a, 1);\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\ts = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\tbp = bp + ($copyString($subslice(b, bp), sep)) >> 0;\n\t\t\tbp = bp + ($copyString($subslice(b, bp), s)) >> 0;\n\t\t\t_i++;\n\t\t}\n\t\treturn ($bytesToString(b));\n\t};\n\t$pkg.Join = Join;\n\tHasPrefix = function(s, prefix) {\n\t\tvar prefix, s;\n\t\treturn s.length >= prefix.length && $substring(s, 0, prefix.length) === prefix;\n\t};\n\t$pkg.HasPrefix = HasPrefix;\n\tMap = function(mapping, s) {\n\t\tvar _i, _i$1, _r, _r$1, _ref, _ref$1, _rune, _rune$1, _tuple, b, c, c$1, i, mapping, nb, nbytes, r, r$1, s, w, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _i$1 = $f._i$1; _r = $f._r; _r$1 = $f._r$1; _ref = $f._ref; _ref$1 = $f._ref$1; _rune = $f._rune; _rune$1 = $f._rune$1; _tuple = $f._tuple; b = $f.b; c = $f.c; c$1 = $f.c$1; i = $f.i; mapping = $f.mapping; nb = $f.nb; nbytes = $f.nbytes; r = $f.r; r$1 = $f.r$1; s = $f.s; w = $f.w; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tb = sliceType.nil;\n\t\tnbytes = 0;\n\t\t_ref = s;\n\t\t_i = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(_i < _ref.length)) { break; } */ if(!(_i < _ref.length)) { $s = 2; continue; }\n\t\t\t_rune = $decodeRune(_ref, _i);\n\t\t\ti = _i;\n\t\t\tc = _rune[0];\n\t\t\t_r = mapping(c); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tr = _r;\n\t\t\tif (r === c) {\n\t\t\t\t_i += _rune[1];\n\t\t\t\t/* continue; */ $s = 1; continue;\n\t\t\t}\n\t\t\tb = $makeSlice(sliceType, (s.length + 4 >> 0));\n\t\t\tnbytes = $copyString(b, $substring(s, 0, i));\n\t\t\tif (r >= 0) {\n\t\t\t\tif (r < 128) {\n\t\t\t\t\t((nbytes < 0 || nbytes >= b.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + nbytes] = ((r << 24 >>> 24)));\n\t\t\t\t\tnbytes = nbytes + (1) >> 0;\n\t\t\t\t} else {\n\t\t\t\t\tnbytes = nbytes + (utf8.EncodeRune($subslice(b, nbytes), r)) >> 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (c === 65533) {\n\t\t\t\t_tuple = utf8.DecodeRuneInString($substring(s, i));\n\t\t\t\tw = _tuple[1];\n\t\t\t\ti = i + (w) >> 0;\n\t\t\t} else {\n\t\t\t\ti = i + (utf8.RuneLen(c)) >> 0;\n\t\t\t}\n\t\t\ts = $substring(s, i);\n\t\t\t/* break; */ $s = 2; continue;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\tif (b === sliceType.nil) {\n\t\t\t$s = -1; return s;\n\t\t}\n\t\t_ref$1 = s;\n\t\t_i$1 = 0;\n\t\t/* while (true) { */ case 4:\n\t\t\t/* if (!(_i$1 < _ref$1.length)) { break; } */ if(!(_i$1 < _ref$1.length)) { $s = 5; continue; }\n\t\t\t_rune$1 = $decodeRune(_ref$1, _i$1);\n\t\t\tc$1 = _rune$1[0];\n\t\t\t_r$1 = mapping(c$1); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\tr$1 = _r$1;\n\t\t\tif ((0 <= r$1 && r$1 < 128) && nbytes < b.$length) {\n\t\t\t\t((nbytes < 0 || nbytes >= b.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + nbytes] = ((r$1 << 24 >>> 24)));\n\t\t\t\tnbytes = nbytes + (1) >> 0;\n\t\t\t\t_i$1 += _rune$1[1];\n\t\t\t\t/* continue; */ $s = 4; continue;\n\t\t\t}\n\t\t\tif (r$1 >= 0) {\n\t\t\t\tif ((nbytes + 4 >> 0) >= b.$length) {\n\t\t\t\t\tnb = $makeSlice(sliceType, ($imul(2, b.$length)));\n\t\t\t\t\t$copySlice(nb, $subslice(b, 0, nbytes));\n\t\t\t\t\tb = nb;\n\t\t\t\t}\n\t\t\t\tnbytes = nbytes + (utf8.EncodeRune($subslice(b, nbytes), r$1)) >> 0;\n\t\t\t}\n\t\t\t_i$1 += _rune$1[1];\n\t\t/* } */ $s = 4; continue; case 5:\n\t\t$s = -1; return ($bytesToString($subslice(b, 0, nbytes)));\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Map }; } $f._i = _i; $f._i$1 = _i$1; $f._r = _r; $f._r$1 = _r$1; $f._ref = _ref; $f._ref$1 = _ref$1; $f._rune = _rune; $f._rune$1 = _rune$1; $f._tuple = _tuple; $f.b = b; $f.c = c; $f.c$1 = c$1; $f.i = i; $f.mapping = mapping; $f.nb = nb; $f.nbytes = nbytes; $f.r = r; $f.r$1 = r$1; $f.s = s; $f.w = w; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.Map = Map;\n\tRepeat = function(s, count) {\n\t\tvar _q, b, bp, count, s;\n\t\tif (count < 0) {\n\t\t\t$panic(new $String(\"strings: negative Repeat count\"));\n\t\t} else if (count > 0 && !(((_q = ($imul(s.length, count)) / count, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError(\"integer divide by zero\")) === s.length))) {\n\t\t\t$panic(new $String(\"strings: Repeat count causes overflow\"));\n\t\t}\n\t\tb = $makeSlice(sliceType, ($imul(s.length, count)));\n\t\tbp = $copyString(b, s);\n\t\twhile (true) {\n\t\t\tif (!(bp < b.$length)) { break; }\n\t\t\t$copySlice($subslice(b, bp), $subslice(b, 0, bp));\n\t\t\tbp = $imul(bp, (2));\n\t\t}\n\t\treturn ($bytesToString(b));\n\t};\n\t$pkg.Repeat = Repeat;\n\tToUpper = function(s) {\n\t\tvar _r, _tmp, _tmp$1, b, c, c$1, hasLower, i, i$1, isASCII, s, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; b = $f.b; c = $f.c; c$1 = $f.c$1; hasLower = $f.hasLower; i = $f.i; i$1 = $f.i$1; isASCII = $f.isASCII; s = $f.s; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_tmp = true;\n\t\t_tmp$1 = false;\n\t\tisASCII = _tmp;\n\t\thasLower = _tmp$1;\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < s.length)) { break; }\n\t\t\tc = s.charCodeAt(i);\n\t\t\tif (c >= 128) {\n\t\t\t\tisASCII = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\thasLower = hasLower || (c >= 97 && c <= 122);\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\tif (isASCII) {\n\t\t\tif (!hasLower) {\n\t\t\t\t$s = -1; return s;\n\t\t\t}\n\t\t\tb = $makeSlice(sliceType, s.length);\n\t\t\ti$1 = 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(i$1 < s.length)) { break; }\n\t\t\t\tc$1 = s.charCodeAt(i$1);\n\t\t\t\tif (c$1 >= 97 && c$1 <= 122) {\n\t\t\t\t\tc$1 = c$1 - (32) << 24 >>> 24;\n\t\t\t\t}\n\t\t\t\t((i$1 < 0 || i$1 >= b.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + i$1] = c$1);\n\t\t\t\ti$1 = i$1 + (1) >> 0;\n\t\t\t}\n\t\t\t$s = -1; return ($bytesToString(b));\n\t\t}\n\t\t_r = Map(unicode.ToUpper, s); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ToUpper }; } $f._r = _r; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f.b = b; $f.c = c; $f.c$1 = c$1; $f.hasLower = hasLower; $f.i = i; $f.i$1 = i$1; $f.isASCII = isASCII; $f.s = s; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.ToUpper = ToUpper;\n\tToLower = function(s) {\n\t\tvar _r, _tmp, _tmp$1, b, c, c$1, hasUpper, i, i$1, isASCII, s, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; b = $f.b; c = $f.c; c$1 = $f.c$1; hasUpper = $f.hasUpper; i = $f.i; i$1 = $f.i$1; isASCII = $f.isASCII; s = $f.s; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_tmp = true;\n\t\t_tmp$1 = false;\n\t\tisASCII = _tmp;\n\t\thasUpper = _tmp$1;\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < s.length)) { break; }\n\t\t\tc = s.charCodeAt(i);\n\t\t\tif (c >= 128) {\n\t\t\t\tisASCII = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\thasUpper = hasUpper || (c >= 65 && c <= 90);\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\tif (isASCII) {\n\t\t\tif (!hasUpper) {\n\t\t\t\t$s = -1; return s;\n\t\t\t}\n\t\t\tb = $makeSlice(sliceType, s.length);\n\t\t\ti$1 = 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(i$1 < s.length)) { break; }\n\t\t\t\tc$1 = s.charCodeAt(i$1);\n\t\t\t\tif (c$1 >= 65 && c$1 <= 90) {\n\t\t\t\t\tc$1 = c$1 + (32) << 24 >>> 24;\n\t\t\t\t}\n\t\t\t\t((i$1 < 0 || i$1 >= b.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : b.$array[b.$offset + i$1] = c$1);\n\t\t\t\ti$1 = i$1 + (1) >> 0;\n\t\t\t}\n\t\t\t$s = -1; return ($bytesToString(b));\n\t\t}\n\t\t_r = Map(unicode.ToLower, s); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ToLower }; } $f._r = _r; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f.b = b; $f.c = c; $f.c$1 = c$1; $f.hasUpper = hasUpper; $f.i = i; $f.i$1 = i$1; $f.isASCII = isASCII; $f.s = s; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.ToLower = ToLower;\n\tTrimLeftFunc = function(s, f) {\n\t\tvar _r, f, i, s, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; f = $f.f; i = $f.i; s = $f.s; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = indexFunc(s, f, false); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\ti = _r;\n\t\tif (i === -1) {\n\t\t\t$s = -1; return \"\";\n\t\t}\n\t\t$s = -1; return $substring(s, i);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: TrimLeftFunc }; } $f._r = _r; $f.f = f; $f.i = i; $f.s = s; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.TrimLeftFunc = TrimLeftFunc;\n\tTrimRightFunc = function(s, f) {\n\t\tvar _r, _tuple, f, i, s, wid, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; f = $f.f; i = $f.i; s = $f.s; wid = $f.wid; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = lastIndexFunc(s, f, false); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\ti = _r;\n\t\tif (i >= 0 && s.charCodeAt(i) >= 128) {\n\t\t\t_tuple = utf8.DecodeRuneInString($substring(s, i));\n\t\t\twid = _tuple[1];\n\t\t\ti = i + (wid) >> 0;\n\t\t} else {\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\t$s = -1; return $substring(s, 0, i);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: TrimRightFunc }; } $f._r = _r; $f._tuple = _tuple; $f.f = f; $f.i = i; $f.s = s; $f.wid = wid; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.TrimRightFunc = TrimRightFunc;\n\tTrimFunc = function(s, f) {\n\t\tvar _r, _r$1, f, s, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; f = $f.f; s = $f.s; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = TrimLeftFunc(s, f); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = TrimRightFunc(_r, f); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r$1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: TrimFunc }; } $f._r = _r; $f._r$1 = _r$1; $f.f = f; $f.s = s; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.TrimFunc = TrimFunc;\n\tindexFunc = function(s, f, truth) {\n\t\tvar _i, _r, _ref, _rune, f, i, r, s, truth, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _r = $f._r; _ref = $f._ref; _rune = $f._rune; f = $f.f; i = $f.i; r = $f.r; s = $f.s; truth = $f.truth; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_ref = s;\n\t\t_i = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(_i < _ref.length)) { break; } */ if(!(_i < _ref.length)) { $s = 2; continue; }\n\t\t\t_rune = $decodeRune(_ref, _i);\n\t\t\ti = _i;\n\t\t\tr = _rune[0];\n\t\t\t_r = f(r); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t/* */ if (_r === truth) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (_r === truth) { */ case 3:\n\t\t\t\t$s = -1; return i;\n\t\t\t/* } */ case 4:\n\t\t\t_i += _rune[1];\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return -1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: indexFunc }; } $f._i = _i; $f._r = _r; $f._ref = _ref; $f._rune = _rune; $f.f = f; $f.i = i; $f.r = r; $f.s = s; $f.truth = truth; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tlastIndexFunc = function(s, f, truth) {\n\t\tvar _r, _tuple, f, i, r, s, size, truth, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; f = $f.f; i = $f.i; r = $f.r; s = $f.s; size = $f.size; truth = $f.truth; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\ti = s.length;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(i > 0)) { break; } */ if(!(i > 0)) { $s = 2; continue; }\n\t\t\t_tuple = utf8.DecodeLastRuneInString($substring(s, 0, i));\n\t\t\tr = _tuple[0];\n\t\t\tsize = _tuple[1];\n\t\t\ti = i - (size) >> 0;\n\t\t\t_r = f(r); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t/* */ if (_r === truth) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (_r === truth) { */ case 3:\n\t\t\t\t$s = -1; return i;\n\t\t\t/* } */ case 4:\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return -1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: lastIndexFunc }; } $f._r = _r; $f._tuple = _tuple; $f.f = f; $f.i = i; $f.r = r; $f.s = s; $f.size = size; $f.truth = truth; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmakeASCIISet = function(chars) {\n\t\tvar _index, _tmp, _tmp$1, _tmp$2, _tmp$3, as, c, chars, i, ok, y;\n\t\tas = arrayType$3.zero();\n\t\tok = false;\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < chars.length)) { break; }\n\t\t\tc = chars.charCodeAt(i);\n\t\t\tif (c >= 128) {\n\t\t\t\t_tmp = $clone(as, asciiSet);\n\t\t\t\t_tmp$1 = false;\n\t\t\t\tasciiSet.copy(as, _tmp);\n\t\t\t\tok = _tmp$1;\n\t\t\t\treturn [as, ok];\n\t\t\t}\n\t\t\t_index = c >>> 5 << 24 >>> 24;\n\t\t\t((_index < 0 || _index >= as.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : as[_index] = ((((_index < 0 || _index >= as.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : as[_index]) | (((y = ((((c & 31) >>> 0) >>> 0)), y < 32 ? (1 << y) : 0) >>> 0))) >>> 0));\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\t_tmp$2 = $clone(as, asciiSet);\n\t\t_tmp$3 = true;\n\t\tasciiSet.copy(as, _tmp$2);\n\t\tok = _tmp$3;\n\t\treturn [as, ok];\n\t};\n\tasciiSet.prototype.contains = function(c) {\n\t\tvar as, c, x, y;\n\t\tas = this.$val;\n\t\treturn !((((((x = c >>> 5 << 24 >>> 24, (as.nilCheck, ((x < 0 || x >= as.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : as[x]))) & (((y = ((((c & 31) >>> 0) >>> 0)), y < 32 ? (1 << y) : 0) >>> 0))) >>> 0)) === 0));\n\t};\n\t$ptrType(asciiSet).prototype.contains = function(c) { return (new asciiSet(this.$get())).contains(c); };\n\tmakeCutsetFunc = function(cutset) {\n\t\tvar _tuple, as, cutset, isASCII;\n\t\tif ((cutset.length === 1) && cutset.charCodeAt(0) < 128) {\n\t\t\treturn (function(r) {\n\t\t\t\tvar r;\n\t\t\t\treturn r === ((cutset.charCodeAt(0) >> 0));\n\t\t\t});\n\t\t}\n\t\t_tuple = makeASCIISet(cutset);\n\t\tas = $clone(_tuple[0], asciiSet);\n\t\tisASCII = _tuple[1];\n\t\tif (isASCII) {\n\t\t\treturn (function(r) {\n\t\t\t\tvar r;\n\t\t\t\treturn r < 128 && new ptrType$5(as).contains(((r << 24 >>> 24)));\n\t\t\t});\n\t\t}\n\t\treturn (function(r) {\n\t\t\tvar r;\n\t\t\treturn IndexRune(cutset, r) >= 0;\n\t\t});\n\t};\n\tTrim = function(s, cutset) {\n\t\tvar _r, cutset, s, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; cutset = $f.cutset; s = $f.s; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tif (s === \"\" || cutset === \"\") {\n\t\t\t$s = -1; return s;\n\t\t}\n\t\t_r = TrimFunc(s, makeCutsetFunc(cutset)); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Trim }; } $f._r = _r; $f.cutset = cutset; $f.s = s; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.Trim = Trim;\n\tTrimLeft = function(s, cutset) {\n\t\tvar _r, cutset, s, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; cutset = $f.cutset; s = $f.s; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tif (s === \"\" || cutset === \"\") {\n\t\t\t$s = -1; return s;\n\t\t}\n\t\t_r = TrimLeftFunc(s, makeCutsetFunc(cutset)); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: TrimLeft }; } $f._r = _r; $f.cutset = cutset; $f.s = s; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.TrimLeft = TrimLeft;\n\tTrimSpace = function(s) {\n\t\tvar _r, s, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; s = $f.s; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = TrimFunc(s, unicode.IsSpace); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: TrimSpace }; } $f._r = _r; $f.s = s; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.TrimSpace = TrimSpace;\n\tTrimPrefix = function(s, prefix) {\n\t\tvar prefix, s;\n\t\tif (HasPrefix(s, prefix)) {\n\t\t\treturn $substring(s, prefix.length);\n\t\t}\n\t\treturn s;\n\t};\n\t$pkg.TrimPrefix = TrimPrefix;\n\tReplace = function(s, old, new$1, n) {\n\t\tvar _tuple, i, j, m, n, new$1, old, s, start, t, w, wid;\n\t\tif (old === new$1 || (n === 0)) {\n\t\t\treturn s;\n\t\t}\n\t\tm = Count(s, old);\n\t\tif (m === 0) {\n\t\t\treturn s;\n\t\t} else if (n < 0 || m < n) {\n\t\t\tn = m;\n\t\t}\n\t\tt = $makeSlice(sliceType, (s.length + ($imul(n, ((new$1.length - old.length >> 0)))) >> 0));\n\t\tw = 0;\n\t\tstart = 0;\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < n)) { break; }\n\t\t\tj = start;\n\t\t\tif (old.length === 0) {\n\t\t\t\tif (i > 0) {\n\t\t\t\t\t_tuple = utf8.DecodeRuneInString($substring(s, start));\n\t\t\t\t\twid = _tuple[1];\n\t\t\t\t\tj = j + (wid) >> 0;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tj = j + (Index($substring(s, start), old)) >> 0;\n\t\t\t}\n\t\t\tw = w + ($copyString($subslice(t, w), $substring(s, start, j))) >> 0;\n\t\t\tw = w + ($copyString($subslice(t, w), new$1)) >> 0;\n\t\t\tstart = j + old.length >> 0;\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\tw = w + ($copyString($subslice(t, w), $substring(s, start))) >> 0;\n\t\treturn ($bytesToString($subslice(t, 0, w)));\n\t};\n\t$pkg.Replace = Replace;\n\tptrType$6.methods = [{prop: \"Len\", name: \"Len\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Size\", name: \"Size\", pkg: \"\", typ: $funcType([], [$Int64], false)}, {prop: \"Read\", name: \"Read\", pkg: \"\", typ: $funcType([sliceType], [$Int, $error], false)}, {prop: \"ReadAt\", name: \"ReadAt\", pkg: \"\", typ: $funcType([sliceType, $Int64], [$Int, $error], false)}, {prop: \"ReadByte\", name: \"ReadByte\", pkg: \"\", typ: $funcType([], [$Uint8, $error], false)}, {prop: \"UnreadByte\", name: \"UnreadByte\", pkg: \"\", typ: $funcType([], [$error], false)}, {prop: \"ReadRune\", name: \"ReadRune\", pkg: \"\", typ: $funcType([], [$Int32, $Int, $error], false)}, {prop: \"UnreadRune\", name: \"UnreadRune\", pkg: \"\", typ: $funcType([], [$error], false)}, {prop: \"Seek\", name: \"Seek\", pkg: \"\", typ: $funcType([$Int64, $Int], [$Int64, $error], false)}, {prop: \"WriteTo\", name: \"WriteTo\", pkg: \"\", typ: $funcType([io.Writer], [$Int64, $error], false)}, {prop: \"Reset\", name: \"Reset\", pkg: \"\", typ: $funcType([$String], [], false)}];\n\tptrType$5.methods = [{prop: \"contains\", name: \"contains\", pkg: \"strings\", typ: $funcType([$Uint8], [$Bool], false)}];\n\tReader.init(\"strings\", [{prop: \"s\", name: \"s\", embedded: false, exported: false, typ: $String, tag: \"\"}, {prop: \"i\", name: \"i\", embedded: false, exported: false, typ: $Int64, tag: \"\"}, {prop: \"prevRune\", name: \"prevRune\", embedded: false, exported: false, typ: $Int, tag: \"\"}]);\n\tasciiSet.init($Uint32, 8);\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = errors.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = js.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = bytealg.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = io.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = unicode.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = utf8.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"github.com/J-J-J/goluajit/parse\"] = (function() {\n\tvar $pkg = {}, $init, bufio, bytes, fmt, ast, io, reflect, strconv, strings, Error, Scanner, Lexer, yySymType, yyXError, yyLexerEx, sliceType, structType, sliceType$1, sliceType$2, ptrType, sliceType$3, arrayType, sliceType$4, sliceType$5, ptrType$1, ptrType$2, sliceType$6, ptrType$3, sliceType$7, ptrType$4, sliceType$8, ptrType$5, ptrType$6, ptrType$7, ptrType$8, ptrType$9, ptrType$10, ptrType$11, reservedWords, yyXLAT, yySymNames, yyTokenLiteralStrings, yyReductions, yyXErrors, yyParseTab, yyDebug, writeChar, isDecimal, isIdent, isDigit, NewScanner, Parse, yySymName, yylex1, yyParse, TokenName;\n\tbufio = $packages[\"bufio\"];\n\tbytes = $packages[\"bytes\"];\n\tfmt = $packages[\"fmt\"];\n\tast = $packages[\"github.com/J-J-J/goluajit/ast\"];\n\tio = $packages[\"io\"];\n\treflect = $packages[\"reflect\"];\n\tstrconv = $packages[\"strconv\"];\n\tstrings = $packages[\"strings\"];\n\tError = $pkg.Error = $newType(0, $kindStruct, \"parse.Error\", true, \"github.com/J-J-J/goluajit/parse\", true, function(Pos_, Message_, Token_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Pos = new ast.Position.ptr(\"\", 0, 0);\n\t\t\tthis.Message = \"\";\n\t\t\tthis.Token = \"\";\n\t\t\treturn;\n\t\t}\n\t\tthis.Pos = Pos_;\n\t\tthis.Message = Message_;\n\t\tthis.Token = Token_;\n\t});\n\tScanner = $pkg.Scanner = $newType(0, $kindStruct, \"parse.Scanner\", true, \"github.com/J-J-J/goluajit/parse\", true, function(Pos_, reader_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Pos = new ast.Position.ptr(\"\", 0, 0);\n\t\t\tthis.reader = ptrType.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.Pos = Pos_;\n\t\tthis.reader = reader_;\n\t});\n\tLexer = $pkg.Lexer = $newType(0, $kindStruct, \"parse.Lexer\", true, \"github.com/J-J-J/goluajit/parse\", true, function(scanner_, Stmts_, PNewLine_, Token_, PrevTokenType_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.scanner = ptrType$10.nil;\n\t\t\tthis.Stmts = sliceType$4.nil;\n\t\t\tthis.PNewLine = false;\n\t\t\tthis.Token = new ast.Token.ptr(0, \"\", \"\", new ast.Position.ptr(\"\", 0, 0));\n\t\t\tthis.PrevTokenType = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.scanner = scanner_;\n\t\tthis.Stmts = Stmts_;\n\t\tthis.PNewLine = PNewLine_;\n\t\tthis.Token = Token_;\n\t\tthis.PrevTokenType = PrevTokenType_;\n\t});\n\tyySymType = $pkg.yySymType = $newType(0, $kindStruct, \"parse.yySymType\", true, \"github.com/J-J-J/goluajit/parse\", false, function(yys_, token_, stmts_, stmt_, funcname_, funcexpr_, exprlist_, expr_, fieldlist_, field_, fieldsep_, namelist_, parlist_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.yys = 0;\n\t\t\tthis.token = new ast.Token.ptr(0, \"\", \"\", new ast.Position.ptr(\"\", 0, 0));\n\t\t\tthis.stmts = sliceType$4.nil;\n\t\t\tthis.stmt = $ifaceNil;\n\t\t\tthis.funcname = ptrType$1.nil;\n\t\t\tthis.funcexpr = ptrType$2.nil;\n\t\t\tthis.exprlist = sliceType$6.nil;\n\t\t\tthis.expr = $ifaceNil;\n\t\t\tthis.fieldlist = sliceType$7.nil;\n\t\t\tthis.field = ptrType$3.nil;\n\t\t\tthis.fieldsep = \"\";\n\t\t\tthis.namelist = sliceType.nil;\n\t\t\tthis.parlist = ptrType$4.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.yys = yys_;\n\t\tthis.token = token_;\n\t\tthis.stmts = stmts_;\n\t\tthis.stmt = stmt_;\n\t\tthis.funcname = funcname_;\n\t\tthis.funcexpr = funcexpr_;\n\t\tthis.exprlist = exprlist_;\n\t\tthis.expr = expr_;\n\t\tthis.fieldlist = fieldlist_;\n\t\tthis.field = field_;\n\t\tthis.fieldsep = fieldsep_;\n\t\tthis.namelist = namelist_;\n\t\tthis.parlist = parlist_;\n\t});\n\tyyXError = $pkg.yyXError = $newType(0, $kindStruct, \"parse.yyXError\", true, \"github.com/J-J-J/goluajit/parse\", false, function(state_, xsym_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.state = 0;\n\t\t\tthis.xsym = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.state = state_;\n\t\tthis.xsym = xsym_;\n\t});\n\tyyLexerEx = $pkg.yyLexerEx = $newType(8, $kindInterface, \"parse.yyLexerEx\", true, \"github.com/J-J-J/goluajit/parse\", false, null);\n\tsliceType = $sliceType($String);\n\tstructType = $structType(\"github.com/J-J-J/goluajit/parse\", [{prop: \"xsym\", name: \"xsym\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"components\", name: \"components\", embedded: false, exported: false, typ: $Int, tag: \"\"}]);\n\tsliceType$1 = $sliceType($Uint16);\n\tsliceType$2 = $sliceType($emptyInterface);\n\tptrType = $ptrType(bufio.Reader);\n\tsliceType$3 = $sliceType($Uint8);\n\tarrayType = $arrayType($Uint8, 64);\n\tsliceType$4 = $sliceType(ast.Stmt);\n\tsliceType$5 = $sliceType($Int);\n\tptrType$1 = $ptrType(ast.FuncName);\n\tptrType$2 = $ptrType(ast.FunctionExpr);\n\tsliceType$6 = $sliceType(ast.Expr);\n\tptrType$3 = $ptrType(ast.Field);\n\tsliceType$7 = $sliceType(ptrType$3);\n\tptrType$4 = $ptrType(ast.ParList);\n\tsliceType$8 = $sliceType(yySymType);\n\tptrType$5 = $ptrType(Lexer);\n\tptrType$6 = $ptrType(ast.FuncCallExpr);\n\tptrType$7 = $ptrType(ast.IfStmt);\n\tptrType$8 = $ptrType(Error);\n\tptrType$9 = $ptrType(bytes.Buffer);\n\tptrType$10 = $ptrType(Scanner);\n\tptrType$11 = $ptrType(yySymType);\n\tError.ptr.prototype.Error = function() {\n\t\tvar _r, _r$1, e, pos, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; e = $f.e; pos = $f.pos; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\te = this;\n\t\tpos = $clone(e.Pos, ast.Position);\n\t\t/* */ if (pos.Line === -1) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (pos.Line === -1) { */ case 1:\n\t\t\t_r = fmt.Sprintf(\"%v at EOF:   %s\\n\", new sliceType$2([new $String(pos.Source), new $String(e.Message)])); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return _r;\n\t\t/* } */ case 2:\n\t\t_r$1 = fmt.Sprintf(\"%v line:%d(column:%d) near '%v':   %s\\n\", new sliceType$2([new $String(pos.Source), new $Int(pos.Line), new $Int(pos.Column), new $String(e.Token), new $String(e.Message)])); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r$1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Error.ptr.prototype.Error }; } $f._r = _r; $f._r$1 = _r$1; $f.e = e; $f.pos = pos; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tError.prototype.Error = function() { return this.$val.Error(); };\n\twriteChar = function(buf, c) {\n\t\tvar buf, c;\n\t\tbuf.WriteByte(((c << 24 >>> 24)));\n\t};\n\tisDecimal = function(ch) {\n\t\tvar ch;\n\t\treturn 48 <= ch && ch <= 57;\n\t};\n\tisIdent = function(ch, pos) {\n\t\tvar ch, pos;\n\t\treturn (ch === 95) || 65 <= ch && ch <= 90 || 97 <= ch && ch <= 122 || isDecimal(ch) && pos > 0;\n\t};\n\tisDigit = function(ch) {\n\t\tvar ch;\n\t\treturn 48 <= ch && ch <= 57 || 97 <= ch && ch <= 102 || 65 <= ch && ch <= 70;\n\t};\n\tNewScanner = function(reader, source) {\n\t\tvar reader, source;\n\t\treturn new Scanner.ptr(new ast.Position.ptr(source, 1, 0), bufio.NewReaderSize(reader, 4096));\n\t};\n\t$pkg.NewScanner = NewScanner;\n\tScanner.ptr.prototype.Error = function(tok, msg) {\n\t\tvar msg, sc, tok;\n\t\tsc = this;\n\t\treturn new Error.ptr($clone(sc.Pos, ast.Position), msg, tok);\n\t};\n\tScanner.prototype.Error = function(tok, msg) { return this.$val.Error(tok, msg); };\n\tScanner.ptr.prototype.TokenError = function(tok, msg) {\n\t\tvar msg, sc, tok;\n\t\tsc = this;\n\t\treturn new Error.ptr($clone(tok.Pos, ast.Position), msg, tok.Str);\n\t};\n\tScanner.prototype.TokenError = function(tok, msg) { return this.$val.TokenError(tok, msg); };\n\tScanner.ptr.prototype.readNext = function() {\n\t\tvar _r, _tuple, ch, err, sc, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; ch = $f.ch; err = $f.err; sc = $f.sc; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tsc = this;\n\t\t_r = sc.reader.ReadByte(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tch = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif ($interfaceIsEqual(err, io.EOF)) {\n\t\t\t$s = -1; return -1;\n\t\t}\n\t\t$s = -1; return ((ch >> 0));\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Scanner.ptr.prototype.readNext }; } $f._r = _r; $f._tuple = _tuple; $f.ch = ch; $f.err = err; $f.sc = sc; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tScanner.prototype.readNext = function() { return this.$val.readNext(); };\n\tScanner.ptr.prototype.Newline = function(ch) {\n\t\tvar _r, _r$1, ch, next, sc, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; ch = $f.ch; next = $f.next; sc = $f.sc; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tsc = this;\n\t\tif (ch < 0) {\n\t\t\t$s = -1; return;\n\t\t}\n\t\tsc.Pos.Line = sc.Pos.Line + (1) >> 0;\n\t\tsc.Pos.Column = 0;\n\t\t_r = sc.Peek(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tnext = _r;\n\t\t/* */ if ((ch === 10) && (next === 13) || (ch === 13) && (next === 10)) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if ((ch === 10) && (next === 13) || (ch === 13) && (next === 10)) { */ case 2:\n\t\t\t_r$1 = sc.reader.ReadByte(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_r$1;\n\t\t/* } */ case 3:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Scanner.ptr.prototype.Newline }; } $f._r = _r; $f._r$1 = _r$1; $f.ch = ch; $f.next = next; $f.sc = sc; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tScanner.prototype.Newline = function(ch) { return this.$val.Newline(ch); };\n\tScanner.ptr.prototype.Next = function() {\n\t\tvar _1, _r, ch, sc, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; ch = $f.ch; sc = $f.sc; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tsc = this;\n\t\t_r = sc.readNext(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tch = _r;\n\t\t\t_1 = ch;\n\t\t\t/* */ if ((_1 === (10)) || (_1 === (13))) { $s = 3; continue; }\n\t\t\t/* */ if (_1 === (-1)) { $s = 4; continue; }\n\t\t\t/* */ $s = 5; continue;\n\t\t\t/* if ((_1 === (10)) || (_1 === (13))) { */ case 3:\n\t\t\t\t$r = sc.Newline(ch); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\tch = 10;\n\t\t\t\t$s = 6; continue;\n\t\t\t/* } else if (_1 === (-1)) { */ case 4:\n\t\t\t\tsc.Pos.Line = -1;\n\t\t\t\tsc.Pos.Column = 0;\n\t\t\t\t$s = 6; continue;\n\t\t\t/* } else { */ case 5:\n\t\t\t\tsc.Pos.Column = sc.Pos.Column + (1) >> 0;\n\t\t\t/* } */ case 6:\n\t\tcase 2:\n\t\t$s = -1; return ch;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Scanner.ptr.prototype.Next }; } $f._1 = _1; $f._r = _r; $f.ch = ch; $f.sc = sc; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tScanner.prototype.Next = function() { return this.$val.Next(); };\n\tScanner.ptr.prototype.Peek = function() {\n\t\tvar _r, ch, sc, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; ch = $f.ch; sc = $f.sc; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tsc = this;\n\t\t_r = sc.readNext(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tch = _r;\n\t\tif (!((ch === -1))) {\n\t\t\tsc.reader.UnreadByte();\n\t\t}\n\t\t$s = -1; return ch;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Scanner.ptr.prototype.Peek }; } $f._r = _r; $f.ch = ch; $f.sc = sc; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tScanner.prototype.Peek = function() { return this.$val.Peek(); };\n\tScanner.ptr.prototype.skipWhiteSpace = function(whitespace) {\n\t\tvar _r, _r$1, ch, sc, whitespace, x, x$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; ch = $f.ch; sc = $f.sc; whitespace = $f.whitespace; x = $f.x; x$1 = $f.x$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tsc = this;\n\t\t_r = sc.Next(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tch = _r;\n\t\t/* while (true) { */ case 2:\n\t\t\t/* if (!(!((x = (x$1 = $shiftLeft64(new $Int64(0, 1), ((ch >>> 0))), new $Int64(whitespace.$high & x$1.$high, (whitespace.$low & x$1.$low) >>> 0)), (x.$high === 0 && x.$low === 0))))) { break; } */ if(!(!((x = (x$1 = $shiftLeft64(new $Int64(0, 1), ((ch >>> 0))), new $Int64(whitespace.$high & x$1.$high, (whitespace.$low & x$1.$low) >>> 0)), (x.$high === 0 && x.$low === 0))))) { $s = 3; continue; }\n\t\t\t_r$1 = sc.Next(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\tch = _r$1;\n\t\t/* } */ $s = 2; continue; case 3:\n\t\t$s = -1; return ch;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Scanner.ptr.prototype.skipWhiteSpace }; } $f._r = _r; $f._r$1 = _r$1; $f.ch = ch; $f.sc = sc; $f.whitespace = whitespace; $f.x = x; $f.x$1 = x$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tScanner.prototype.skipWhiteSpace = function(whitespace) { return this.$val.skipWhiteSpace(whitespace); };\n\tScanner.ptr.prototype.skipComments = function(ch) {\n\t\tvar _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _v, buf, ch, err, sc, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _v = $f._v; buf = $f.buf; ch = $f.ch; err = $f.err; sc = $f.sc; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tbuf = [buf];\n\t\tsc = this;\n\t\t_r = sc.Peek(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t/* */ if (_r === 91) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (_r === 91) { */ case 1:\n\t\t\t_r$1 = sc.Next(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\tch = _r$1;\n\t\t\t_r$2 = sc.Peek(); /* */ $s = 8; case 8: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\tif (_r$2 === 91) { _v = true; $s = 7; continue s; }\n\t\t\t_r$3 = sc.Peek(); /* */ $s = 9; case 9: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t_v = _r$3 === 61; case 7:\n\t\t\t/* */ if (_v) { $s = 5; continue; }\n\t\t\t/* */ $s = 6; continue;\n\t\t\t/* if (_v) { */ case 5:\n\t\t\t\tbuf[0] = new bytes.Buffer.ptr(sliceType$3.nil, 0, arrayType.zero(), 0);\n\t\t\t\t_r$4 = sc.Next(); /* */ $s = 10; case 10: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\t_r$5 = sc.scanMultilineString(_r$4, buf[0]); /* */ $s = 11; case 11: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t\terr = _r$5;\n\t\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\t\t$s = -1; return sc.Error(buf[0].String(), \"invalid multiline comment\");\n\t\t\t\t}\n\t\t\t\t$s = -1; return $ifaceNil;\n\t\t\t/* } */ case 6:\n\t\t/* } */ case 2:\n\t\t/* while (true) { */ case 12:\n\t\t\tif ((ch === 10) || (ch === 13) || ch < 0) {\n\t\t\t\t/* break; */ $s = 13; continue;\n\t\t\t}\n\t\t\t_r$6 = sc.Next(); /* */ $s = 14; case 14: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t\tch = _r$6;\n\t\t/* } */ $s = 12; continue; case 13:\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Scanner.ptr.prototype.skipComments }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._v = _v; $f.buf = buf; $f.ch = ch; $f.err = err; $f.sc = sc; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tScanner.prototype.skipComments = function(ch) { return this.$val.skipComments(ch); };\n\tScanner.ptr.prototype.scanIdent = function(ch, buf) {\n\t\tvar _arg, _arg$1, _r, _r$1, _r$2, buf, ch, sc, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; buf = $f.buf; ch = $f.ch; sc = $f.sc; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tsc = this;\n\t\twriteChar(buf, ch);\n\t\t/* while (true) { */ case 1:\n\t\t\t_r = sc.Peek(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_r$1 = isIdent(_r, 1); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t/* if (!(_r$1)) { break; } */ if(!(_r$1)) { $s = 2; continue; }\n\t\t\t_arg = buf;\n\t\t\t_r$2 = sc.Next(); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t_arg$1 = _r$2;\n\t\t\t$r = writeChar(_arg, _arg$1); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Scanner.ptr.prototype.scanIdent }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.buf = buf; $f.ch = ch; $f.sc = sc; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tScanner.prototype.scanIdent = function(ch, buf) { return this.$val.scanIdent(ch, buf); };\n\tScanner.ptr.prototype.scanDecimal = function(ch, buf) {\n\t\tvar _arg, _arg$1, _r, _r$1, _r$2, buf, ch, sc, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; buf = $f.buf; ch = $f.ch; sc = $f.sc; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tsc = this;\n\t\twriteChar(buf, ch);\n\t\t/* while (true) { */ case 1:\n\t\t\t_r = sc.Peek(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_r$1 = isDecimal(_r); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t/* if (!(_r$1)) { break; } */ if(!(_r$1)) { $s = 2; continue; }\n\t\t\t_arg = buf;\n\t\t\t_r$2 = sc.Next(); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t_arg$1 = _r$2;\n\t\t\t$r = writeChar(_arg, _arg$1); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Scanner.ptr.prototype.scanDecimal }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.buf = buf; $f.ch = ch; $f.sc = sc; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tScanner.prototype.scanDecimal = function(ch, buf) { return this.$val.scanDecimal(ch, buf); };\n\tScanner.ptr.prototype.scanNumber = function(ch, buf) {\n\t\tvar _arg, _arg$1, _arg$2, _arg$3, _arg$4, _arg$5, _arg$6, _arg$7, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$16, _r$17, _r$18, _r$19, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _v, _v$1, buf, ch, hasvalue, sc, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _arg$3 = $f._arg$3; _arg$4 = $f._arg$4; _arg$5 = $f._arg$5; _arg$6 = $f._arg$6; _arg$7 = $f._arg$7; _r = $f._r; _r$1 = $f._r$1; _r$10 = $f._r$10; _r$11 = $f._r$11; _r$12 = $f._r$12; _r$13 = $f._r$13; _r$14 = $f._r$14; _r$15 = $f._r$15; _r$16 = $f._r$16; _r$17 = $f._r$17; _r$18 = $f._r$18; _r$19 = $f._r$19; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _r$8 = $f._r$8; _r$9 = $f._r$9; _v = $f._v; _v$1 = $f._v$1; buf = $f.buf; ch = $f.ch; hasvalue = $f.hasvalue; sc = $f.sc; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tsc = this;\n\t\t/* */ if (ch === 48) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (ch === 48) { */ case 1:\n\t\t\t_r = sc.Peek(); /* */ $s = 7; case 7: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tif (_r === 120) { _v = true; $s = 6; continue s; }\n\t\t\t_r$1 = sc.Peek(); /* */ $s = 8; case 8: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_v = _r$1 === 88; case 6:\n\t\t\t/* */ if (_v) { $s = 3; continue; }\n\t\t\t_r$2 = sc.Peek(); /* */ $s = 10; case 10: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\tif (!(!((_r$2 === 46)))) { _v$1 = false; $s = 9; continue s; }\n\t\t\t_r$3 = sc.Peek(); /* */ $s = 11; case 11: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t_r$4 = isDecimal(_r$3); /* */ $s = 12; case 12: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t_v$1 = _r$4; case 9:\n\t\t\t/* */ if (_v$1) { $s = 4; continue; }\n\t\t\t/* */ $s = 5; continue;\n\t\t\t/* if (_v) { */ case 3:\n\t\t\t\twriteChar(buf, ch);\n\t\t\t\t_arg = buf;\n\t\t\t\t_r$5 = sc.Next(); /* */ $s = 13; case 13: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t\t_arg$1 = _r$5;\n\t\t\t\t$r = writeChar(_arg, _arg$1); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\thasvalue = false;\n\t\t\t\t/* while (true) { */ case 15:\n\t\t\t\t\t_r$6 = sc.Peek(); /* */ $s = 17; case 17: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t\t\t\t_r$7 = isDigit(_r$6); /* */ $s = 18; case 18: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }\n\t\t\t\t\t/* if (!(_r$7)) { break; } */ if(!(_r$7)) { $s = 16; continue; }\n\t\t\t\t\t_arg$2 = buf;\n\t\t\t\t\t_r$8 = sc.Next(); /* */ $s = 19; case 19: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }\n\t\t\t\t\t_arg$3 = _r$8;\n\t\t\t\t\t$r = writeChar(_arg$2, _arg$3); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\thasvalue = true;\n\t\t\t\t/* } */ $s = 15; continue; case 16:\n\t\t\t\tif (!hasvalue) {\n\t\t\t\t\t$s = -1; return sc.Error(buf.String(), \"illegal hexadecimal number\");\n\t\t\t\t}\n\t\t\t\t$s = -1; return $ifaceNil;\n\t\t\t/* } else if (_v$1) { */ case 4:\n\t\t\t\t_r$9 = sc.Next(); /* */ $s = 21; case 21: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }\n\t\t\t\tch = _r$9;\n\t\t\t/* } */ case 5:\n\t\t/* } */ case 2:\n\t\t_r$10 = sc.scanDecimal(ch, buf); /* */ $s = 22; case 22: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }\n\t\t_r$10;\n\t\t_r$11 = sc.Peek(); /* */ $s = 25; case 25: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }\n\t\t/* */ if (_r$11 === 46) { $s = 23; continue; }\n\t\t/* */ $s = 24; continue;\n\t\t/* if (_r$11 === 46) { */ case 23:\n\t\t\t_r$12 = sc.Next(); /* */ $s = 26; case 26: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; }\n\t\t\t_r$13 = sc.scanDecimal(_r$12, buf); /* */ $s = 27; case 27: if($c) { $c = false; _r$13 = _r$13.$blk(); } if (_r$13 && _r$13.$blk !== undefined) { break s; }\n\t\t\t_r$13;\n\t\t/* } */ case 24:\n\t\t_r$14 = sc.Peek(); /* */ $s = 28; case 28: if($c) { $c = false; _r$14 = _r$14.$blk(); } if (_r$14 && _r$14.$blk !== undefined) { break s; }\n\t\tch = _r$14;\n\t\t/* */ if ((ch === 101) || (ch === 69)) { $s = 29; continue; }\n\t\t/* */ $s = 30; continue;\n\t\t/* if ((ch === 101) || (ch === 69)) { */ case 29:\n\t\t\t_arg$4 = buf;\n\t\t\t_r$15 = sc.Next(); /* */ $s = 31; case 31: if($c) { $c = false; _r$15 = _r$15.$blk(); } if (_r$15 && _r$15.$blk !== undefined) { break s; }\n\t\t\t_arg$5 = _r$15;\n\t\t\t$r = writeChar(_arg$4, _arg$5); /* */ $s = 32; case 32: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t_r$16 = sc.Peek(); /* */ $s = 33; case 33: if($c) { $c = false; _r$16 = _r$16.$blk(); } if (_r$16 && _r$16.$blk !== undefined) { break s; }\n\t\t\tch = _r$16;\n\t\t\t/* */ if ((ch === 45) || (ch === 43)) { $s = 34; continue; }\n\t\t\t/* */ $s = 35; continue;\n\t\t\t/* if ((ch === 45) || (ch === 43)) { */ case 34:\n\t\t\t\t_arg$6 = buf;\n\t\t\t\t_r$17 = sc.Next(); /* */ $s = 36; case 36: if($c) { $c = false; _r$17 = _r$17.$blk(); } if (_r$17 && _r$17.$blk !== undefined) { break s; }\n\t\t\t\t_arg$7 = _r$17;\n\t\t\t\t$r = writeChar(_arg$6, _arg$7); /* */ $s = 37; case 37: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 35:\n\t\t\t_r$18 = sc.Next(); /* */ $s = 38; case 38: if($c) { $c = false; _r$18 = _r$18.$blk(); } if (_r$18 && _r$18.$blk !== undefined) { break s; }\n\t\t\t_r$19 = sc.scanDecimal(_r$18, buf); /* */ $s = 39; case 39: if($c) { $c = false; _r$19 = _r$19.$blk(); } if (_r$19 && _r$19.$blk !== undefined) { break s; }\n\t\t\t_r$19;\n\t\t/* } */ case 30:\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Scanner.ptr.prototype.scanNumber }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._arg$3 = _arg$3; $f._arg$4 = _arg$4; $f._arg$5 = _arg$5; $f._arg$6 = _arg$6; $f._arg$7 = _arg$7; $f._r = _r; $f._r$1 = _r$1; $f._r$10 = _r$10; $f._r$11 = _r$11; $f._r$12 = _r$12; $f._r$13 = _r$13; $f._r$14 = _r$14; $f._r$15 = _r$15; $f._r$16 = _r$16; $f._r$17 = _r$17; $f._r$18 = _r$18; $f._r$19 = _r$19; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._r$8 = _r$8; $f._r$9 = _r$9; $f._v = _v; $f._v$1 = _v$1; $f.buf = buf; $f.ch = ch; $f.hasvalue = hasvalue; $f.sc = sc; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tScanner.prototype.scanNumber = function(ch, buf) { return this.$val.scanNumber(ch, buf); };\n\tScanner.ptr.prototype.scanString = function(quote, buf) {\n\t\tvar _r, _r$1, _r$2, buf, ch, err, quote, sc, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; buf = $f.buf; ch = $f.ch; err = $f.err; quote = $f.quote; sc = $f.sc; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tsc = this;\n\t\t_r = sc.Next(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tch = _r;\n\t\t/* while (true) { */ case 2:\n\t\t\t/* if (!(!((ch === quote)))) { break; } */ if(!(!((ch === quote)))) { $s = 3; continue; }\n\t\t\tif ((ch === 10) || (ch === 13) || ch < 0) {\n\t\t\t\t$s = -1; return sc.Error(buf.String(), \"unterminated string\");\n\t\t\t}\n\t\t\t/* */ if (ch === 92) { $s = 4; continue; }\n\t\t\t/* */ $s = 5; continue;\n\t\t\t/* if (ch === 92) { */ case 4:\n\t\t\t\t_r$1 = sc.scanEscape(ch, buf); /* */ $s = 7; case 7: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\terr = _r$1;\n\t\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\t\t$s = -1; return err;\n\t\t\t\t}\n\t\t\t\t$s = 6; continue;\n\t\t\t/* } else { */ case 5:\n\t\t\t\twriteChar(buf, ch);\n\t\t\t/* } */ case 6:\n\t\t\t_r$2 = sc.Next(); /* */ $s = 8; case 8: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\tch = _r$2;\n\t\t/* } */ $s = 2; continue; case 3:\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Scanner.ptr.prototype.scanString }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.buf = buf; $f.ch = ch; $f.err = err; $f.quote = quote; $f.sc = sc; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tScanner.prototype.scanString = function(quote, buf) { return this.$val.scanString(quote, buf); };\n\tScanner.ptr.prototype.scanEscape = function(ch, buf) {\n\t\tvar _1, _r, _r$1, _r$2, _r$3, _tuple, _v, buf, bytes$1, ch, i, sc, val, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _tuple = $f._tuple; _v = $f._v; buf = $f.buf; bytes$1 = $f.bytes$1; ch = $f.ch; i = $f.i; sc = $f.sc; val = $f.val; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tsc = this;\n\t\t_r = sc.Next(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tch = _r;\n\t\t\t_1 = ch;\n\t\t\t/* */ if (_1 === (97)) { $s = 3; continue; }\n\t\t\t/* */ if (_1 === (98)) { $s = 4; continue; }\n\t\t\t/* */ if (_1 === (102)) { $s = 5; continue; }\n\t\t\t/* */ if (_1 === (110)) { $s = 6; continue; }\n\t\t\t/* */ if (_1 === (114)) { $s = 7; continue; }\n\t\t\t/* */ if (_1 === (116)) { $s = 8; continue; }\n\t\t\t/* */ if (_1 === (118)) { $s = 9; continue; }\n\t\t\t/* */ if (_1 === (92)) { $s = 10; continue; }\n\t\t\t/* */ if (_1 === (34)) { $s = 11; continue; }\n\t\t\t/* */ if (_1 === (39)) { $s = 12; continue; }\n\t\t\t/* */ if (_1 === (10)) { $s = 13; continue; }\n\t\t\t/* */ if (_1 === (13)) { $s = 14; continue; }\n\t\t\t/* */ if (48 <= ch && ch <= 57) { $s = 15; continue; }\n\t\t\t/* */ $s = 16; continue;\n\t\t\t/* if (_1 === (97)) { */ case 3:\n\t\t\t\tbuf.WriteByte(7);\n\t\t\t\t$s = 17; continue;\n\t\t\t/* } else if (_1 === (98)) { */ case 4:\n\t\t\t\tbuf.WriteByte(8);\n\t\t\t\t$s = 17; continue;\n\t\t\t/* } else if (_1 === (102)) { */ case 5:\n\t\t\t\tbuf.WriteByte(12);\n\t\t\t\t$s = 17; continue;\n\t\t\t/* } else if (_1 === (110)) { */ case 6:\n\t\t\t\tbuf.WriteByte(10);\n\t\t\t\t$s = 17; continue;\n\t\t\t/* } else if (_1 === (114)) { */ case 7:\n\t\t\t\tbuf.WriteByte(13);\n\t\t\t\t$s = 17; continue;\n\t\t\t/* } else if (_1 === (116)) { */ case 8:\n\t\t\t\tbuf.WriteByte(9);\n\t\t\t\t$s = 17; continue;\n\t\t\t/* } else if (_1 === (118)) { */ case 9:\n\t\t\t\tbuf.WriteByte(11);\n\t\t\t\t$s = 17; continue;\n\t\t\t/* } else if (_1 === (92)) { */ case 10:\n\t\t\t\tbuf.WriteByte(92);\n\t\t\t\t$s = 17; continue;\n\t\t\t/* } else if (_1 === (34)) { */ case 11:\n\t\t\t\tbuf.WriteByte(34);\n\t\t\t\t$s = 17; continue;\n\t\t\t/* } else if (_1 === (39)) { */ case 12:\n\t\t\t\tbuf.WriteByte(39);\n\t\t\t\t$s = 17; continue;\n\t\t\t/* } else if (_1 === (10)) { */ case 13:\n\t\t\t\tbuf.WriteByte(10);\n\t\t\t\t$s = 17; continue;\n\t\t\t/* } else if (_1 === (13)) { */ case 14:\n\t\t\t\tbuf.WriteByte(10);\n\t\t\t\t$r = sc.Newline(13); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 17; continue;\n\t\t\t/* } else if (48 <= ch && ch <= 57) { */ case 15:\n\t\t\t\tbytes$1 = new sliceType$3([((ch << 24 >>> 24))]);\n\t\t\t\ti = 0;\n\t\t\t\t/* while (true) { */ case 19:\n\t\t\t\t\tif (!(i < 2)) { _v = false; $s = 21; continue s; }\n\t\t\t\t\t_r$1 = sc.Peek(); /* */ $s = 22; case 22: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t\t_r$2 = isDecimal(_r$1); /* */ $s = 23; case 23: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t\t_v = _r$2; case 21:\n\t\t\t\t\t/* if (!(_v)) { break; } */ if(!(_v)) { $s = 20; continue; }\n\t\t\t\t\t_r$3 = sc.Next(); /* */ $s = 24; case 24: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t\tbytes$1 = $append(bytes$1, ((_r$3 << 24 >>> 24)));\n\t\t\t\t\ti = i + (1) >> 0;\n\t\t\t\t/* } */ $s = 19; continue; case 20:\n\t\t\t\t_tuple = strconv.ParseInt(($bytesToString(bytes$1)), 10, 32);\n\t\t\t\tval = _tuple[0];\n\t\t\t\twriteChar(buf, (((val.$low + ((val.$high >> 31) * 4294967296)) >> 0)));\n\t\t\t\t$s = 17; continue;\n\t\t\t/* } else { */ case 16:\n\t\t\t\twriteChar(buf, ch);\n\t\t\t/* } */ case 17:\n\t\tcase 2:\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Scanner.ptr.prototype.scanEscape }; } $f._1 = _1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._tuple = _tuple; $f._v = _v; $f.buf = buf; $f.bytes$1 = bytes$1; $f.ch = ch; $f.i = i; $f.sc = sc; $f.val = val; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tScanner.prototype.scanEscape = function(ch, buf) { return this.$val.scanEscape(ch, buf); };\n\tScanner.ptr.prototype.countSep = function(ch) {\n\t\tvar _r, ch, count, sc, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; ch = $f.ch; count = $f.count; sc = $f.sc; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tsc = this;\n\t\tcount = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(ch === 61)) { break; } */ if(!(ch === 61)) { $s = 2; continue; }\n\t\t\t_r = sc.Next(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tch = _r;\n\t\t\tcount = count + 1 >> 0;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return [count, ch];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Scanner.ptr.prototype.countSep }; } $f._r = _r; $f.ch = ch; $f.count = count; $f.sc = sc; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tScanner.prototype.countSep = function(ch) { return this.$val.countSep(ch); };\n\tScanner.ptr.prototype.scanMultilineString = function(ch, buf) {\n\t\tvar _r, _r$1, _r$2, _r$3, _r$4, _r$5, _tmp, _tmp$1, _tuple, _tuple$1, buf, ch, count1, count2, sc, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; buf = $f.buf; ch = $f.ch; count1 = $f.count1; count2 = $f.count2; sc = $f.sc; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tsc = this;\n\t\t_tmp = 0;\n\t\t_tmp$1 = 0;\n\t\tcount1 = _tmp;\n\t\tcount2 = _tmp$1;\n\t\t_r = sc.countSep(ch); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tcount1 = _tuple[0];\n\t\tch = _tuple[1];\n\t\tif (!((ch === 91))) {\n\t\t\t$s = -1; return sc.Error(($encodeRune(ch)), \"invalid multiline string\");\n\t\t}\n\t\t_r$1 = sc.Next(); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tch = _r$1;\n\t\t/* */ if ((ch === 10) || (ch === 13)) { $s = 3; continue; }\n\t\t/* */ $s = 4; continue;\n\t\t/* if ((ch === 10) || (ch === 13)) { */ case 3:\n\t\t\t_r$2 = sc.Next(); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\tch = _r$2;\n\t\t/* } */ case 4:\n\t\t/* while (true) { */ case 6:\n\t\t\t/* */ if (ch < 0) { $s = 8; continue; }\n\t\t\t/* */ if (ch === 93) { $s = 9; continue; }\n\t\t\t/* */ $s = 10; continue;\n\t\t\t/* if (ch < 0) { */ case 8:\n\t\t\t\t$s = -1; return sc.Error(buf.String(), \"unterminated multiline string\");\n\t\t\t/* } else if (ch === 93) { */ case 9:\n\t\t\t\t_r$3 = sc.Next(); /* */ $s = 11; case 11: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t_r$4 = sc.countSep(_r$3); /* */ $s = 12; case 12: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\t_tuple$1 = _r$4;\n\t\t\t\tcount2 = _tuple$1[0];\n\t\t\t\tch = _tuple$1[1];\n\t\t\t\t/* */ if ((count1 === count2) && (ch === 93)) { $s = 13; continue; }\n\t\t\t\t/* */ $s = 14; continue;\n\t\t\t\t/* if ((count1 === count2) && (ch === 93)) { */ case 13:\n\t\t\t\t\t/* goto finally */ $s = 15; continue;\n\t\t\t\t/* } */ case 14:\n\t\t\t\tbuf.WriteByte(93);\n\t\t\t\tbuf.WriteString(strings.Repeat(\"=\", count2));\n\t\t\t\t/* continue; */ $s = 6; continue;\n\t\t\t/* } */ case 10:\n\t\t\twriteChar(buf, ch);\n\t\t\t_r$5 = sc.Next(); /* */ $s = 16; case 16: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\tch = _r$5;\n\t\t/* } */ $s = 6; continue; case 7:\n\t\t/* finally: */ case 15:\n\t\t$s = -1; return $ifaceNil;\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Scanner.ptr.prototype.scanMultilineString }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.buf = buf; $f.ch = ch; $f.count1 = count1; $f.count2 = count2; $f.sc = sc; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tScanner.prototype.scanMultilineString = function(ch, buf) { return this.$val.scanMultilineString(ch, buf); };\n\tScanner.ptr.prototype.Scan = function(lexer) {\n\t\tvar _1, _arg, _arg$1, _arg$2, _arg$3, _buf, _entry, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$16, _r$17, _r$18, _r$19, _r$2, _r$20, _r$21, _r$22, _r$23, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, buf, c, ch, ch2, err, lexer, newline, ok, sc, tok, typ, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _arg$3 = $f._arg$3; _buf = $f._buf; _entry = $f._entry; _r = $f._r; _r$1 = $f._r$1; _r$10 = $f._r$10; _r$11 = $f._r$11; _r$12 = $f._r$12; _r$13 = $f._r$13; _r$14 = $f._r$14; _r$15 = $f._r$15; _r$16 = $f._r$16; _r$17 = $f._r$17; _r$18 = $f._r$18; _r$19 = $f._r$19; _r$2 = $f._r$2; _r$20 = $f._r$20; _r$21 = $f._r$21; _r$22 = $f._r$22; _r$23 = $f._r$23; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _r$8 = $f._r$8; _r$9 = $f._r$9; _tuple = $f._tuple; buf = $f.buf; c = $f.c; ch = $f.ch; ch2 = $f.ch2; err = $f.err; lexer = $f.lexer; newline = $f.newline; ok = $f.ok; sc = $f.sc; tok = $f.tok; typ = $f.typ; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_buf = [_buf];\n\t\tsc = this;\n\t\t/* redo: */ case 1:\n\t\ttok = new ast.Token.ptr(0, \"\", \"\", $clone(sc.Pos, ast.Position));\n\t\tnewline = false;\n\t\t_buf[0] = new bytes.Buffer.ptr(sliceType$3.nil, 0, arrayType.zero(), 0);\n\t\tbuf = _buf[0];\n\t\terr = $ifaceNil;\n\t\t_r = sc.skipWhiteSpace(new $Int64(1, 512)); /* */ $s = 2; case 2: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tch = _r;\n\t\t/* */ if ((ch === 10) || (ch === 13)) { $s = 3; continue; }\n\t\t/* */ $s = 4; continue;\n\t\t/* if ((ch === 10) || (ch === 13)) { */ case 3:\n\t\t\tnewline = true;\n\t\t\t_r$1 = sc.skipWhiteSpace(new $Int64(1, 9728)); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\tch = _r$1;\n\t\t/* } */ case 4:\n\t\tif ((ch === 40) && (lexer.PrevTokenType === 41)) {\n\t\t\tlexer.PNewLine = newline;\n\t\t}\n\t\t\t/* */ if (isIdent(ch, 0)) { $s = 7; continue; }\n\t\t\t/* */ if (isDecimal(ch)) { $s = 8; continue; }\n\t\t\t/* */ $s = 9; continue;\n\t\t\t/* if (isIdent(ch, 0)) { */ case 7:\n\t\t\t\ttok.Type = 57373;\n\t\t\t\t_r$2 = sc.scanIdent(ch, buf); /* */ $s = 11; case 11: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\terr = _r$2;\n\t\t\t\ttok.Str = buf.String();\n\t\t\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 12; continue; }\n\t\t\t\t/* */ $s = 13; continue;\n\t\t\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 12:\n\t\t\t\t\t/* goto finally */ $s = 14; continue;\n\t\t\t\t/* } */ case 13:\n\t\t\t\t_tuple = (_entry = reservedWords[$String.keyFor(tok.Str)], _entry !== undefined ? [_entry.v, true] : [0, false]);\n\t\t\t\ttyp = _tuple[0];\n\t\t\t\tok = _tuple[1];\n\t\t\t\tif (ok) {\n\t\t\t\t\ttok.Type = typ;\n\t\t\t\t}\n\t\t\t\t$s = 10; continue;\n\t\t\t/* } else if (isDecimal(ch)) { */ case 8:\n\t\t\t\ttok.Type = 57374;\n\t\t\t\t_r$3 = sc.scanNumber(ch, buf); /* */ $s = 15; case 15: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\terr = _r$3;\n\t\t\t\ttok.Str = buf.String();\n\t\t\t\t$s = 10; continue;\n\t\t\t/* } else { */ case 9:\n\t\t\t\t\t_1 = ch;\n\t\t\t\t\t/* */ if (_1 === (-1)) { $s = 17; continue; }\n\t\t\t\t\t/* */ if (_1 === (45)) { $s = 18; continue; }\n\t\t\t\t\t/* */ if ((_1 === (34)) || (_1 === (39))) { $s = 19; continue; }\n\t\t\t\t\t/* */ if (_1 === (91)) { $s = 20; continue; }\n\t\t\t\t\t/* */ if (_1 === (61)) { $s = 21; continue; }\n\t\t\t\t\t/* */ if (_1 === (126)) { $s = 22; continue; }\n\t\t\t\t\t/* */ if (_1 === (60)) { $s = 23; continue; }\n\t\t\t\t\t/* */ if (_1 === (62)) { $s = 24; continue; }\n\t\t\t\t\t/* */ if (_1 === (46)) { $s = 25; continue; }\n\t\t\t\t\t/* */ if ((_1 === (43)) || (_1 === (42)) || (_1 === (47)) || (_1 === (37)) || (_1 === (94)) || (_1 === (35)) || (_1 === (40)) || (_1 === (41)) || (_1 === (123)) || (_1 === (125)) || (_1 === (93)) || (_1 === (59)) || (_1 === (58)) || (_1 === (44))) { $s = 26; continue; }\n\t\t\t\t\t/* */ $s = 27; continue;\n\t\t\t\t\t/* if (_1 === (-1)) { */ case 17:\n\t\t\t\t\t\ttok.Type = -1;\n\t\t\t\t\t\t$s = 28; continue;\n\t\t\t\t\t/* } else if (_1 === (45)) { */ case 18:\n\t\t\t\t\t\t_r$4 = sc.Peek(); /* */ $s = 32; case 32: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\t\t\t/* */ if (_r$4 === 45) { $s = 29; continue; }\n\t\t\t\t\t\t/* */ $s = 30; continue;\n\t\t\t\t\t\t/* if (_r$4 === 45) { */ case 29:\n\t\t\t\t\t\t\t_r$5 = sc.Next(); /* */ $s = 33; case 33: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t_r$6 = sc.skipComments(_r$5); /* */ $s = 34; case 34: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\terr = _r$6;\n\t\t\t\t\t\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 35; continue; }\n\t\t\t\t\t\t\t/* */ $s = 36; continue;\n\t\t\t\t\t\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 35:\n\t\t\t\t\t\t\t\t/* goto finally */ $s = 14; continue;\n\t\t\t\t\t\t\t/* } */ case 36:\n\t\t\t\t\t\t\t/* goto redo */ $s = 1; continue;\n\t\t\t\t\t\t\t$s = 31; continue;\n\t\t\t\t\t\t/* } else { */ case 30:\n\t\t\t\t\t\t\ttok.Type = ch;\n\t\t\t\t\t\t\ttok.Str = ($encodeRune(ch));\n\t\t\t\t\t\t/* } */ case 31:\n\t\t\t\t\t\t$s = 28; continue;\n\t\t\t\t\t/* } else if ((_1 === (34)) || (_1 === (39))) { */ case 19:\n\t\t\t\t\t\ttok.Type = 57375;\n\t\t\t\t\t\t_r$7 = sc.scanString(ch, buf); /* */ $s = 37; case 37: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }\n\t\t\t\t\t\terr = _r$7;\n\t\t\t\t\t\ttok.Str = buf.String();\n\t\t\t\t\t\t$s = 28; continue;\n\t\t\t\t\t/* } else if (_1 === (91)) { */ case 20:\n\t\t\t\t\t\t_r$8 = sc.Peek(); /* */ $s = 38; case 38: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }\n\t\t\t\t\t\tc = _r$8;\n\t\t\t\t\t\t/* */ if ((c === 91) || (c === 61)) { $s = 39; continue; }\n\t\t\t\t\t\t/* */ $s = 40; continue;\n\t\t\t\t\t\t/* if ((c === 91) || (c === 61)) { */ case 39:\n\t\t\t\t\t\t\ttok.Type = 57375;\n\t\t\t\t\t\t\t_r$9 = sc.Next(); /* */ $s = 42; case 42: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t_r$10 = sc.scanMultilineString(_r$9, buf); /* */ $s = 43; case 43: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\terr = _r$10;\n\t\t\t\t\t\t\ttok.Str = buf.String();\n\t\t\t\t\t\t\t$s = 41; continue;\n\t\t\t\t\t\t/* } else { */ case 40:\n\t\t\t\t\t\t\ttok.Type = ch;\n\t\t\t\t\t\t\ttok.Str = ($encodeRune(ch));\n\t\t\t\t\t\t/* } */ case 41:\n\t\t\t\t\t\t$s = 28; continue;\n\t\t\t\t\t/* } else if (_1 === (61)) { */ case 21:\n\t\t\t\t\t\t_r$11 = sc.Peek(); /* */ $s = 47; case 47: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }\n\t\t\t\t\t\t/* */ if (_r$11 === 61) { $s = 44; continue; }\n\t\t\t\t\t\t/* */ $s = 45; continue;\n\t\t\t\t\t\t/* if (_r$11 === 61) { */ case 44:\n\t\t\t\t\t\t\ttok.Type = 57367;\n\t\t\t\t\t\t\ttok.Str = \"==\";\n\t\t\t\t\t\t\t_r$12 = sc.Next(); /* */ $s = 48; case 48: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t_r$12;\n\t\t\t\t\t\t\t$s = 46; continue;\n\t\t\t\t\t\t/* } else { */ case 45:\n\t\t\t\t\t\t\ttok.Type = ch;\n\t\t\t\t\t\t\ttok.Str = ($encodeRune(ch));\n\t\t\t\t\t\t/* } */ case 46:\n\t\t\t\t\t\t$s = 28; continue;\n\t\t\t\t\t/* } else if (_1 === (126)) { */ case 22:\n\t\t\t\t\t\t_r$13 = sc.Peek(); /* */ $s = 52; case 52: if($c) { $c = false; _r$13 = _r$13.$blk(); } if (_r$13 && _r$13.$blk !== undefined) { break s; }\n\t\t\t\t\t\t/* */ if (_r$13 === 61) { $s = 49; continue; }\n\t\t\t\t\t\t/* */ $s = 50; continue;\n\t\t\t\t\t\t/* if (_r$13 === 61) { */ case 49:\n\t\t\t\t\t\t\ttok.Type = 57368;\n\t\t\t\t\t\t\ttok.Str = \"~=\";\n\t\t\t\t\t\t\t_r$14 = sc.Next(); /* */ $s = 53; case 53: if($c) { $c = false; _r$14 = _r$14.$blk(); } if (_r$14 && _r$14.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t_r$14;\n\t\t\t\t\t\t\t$s = 51; continue;\n\t\t\t\t\t\t/* } else { */ case 50:\n\t\t\t\t\t\t\terr = sc.Error(\"~\", \"Invalid '~' token\");\n\t\t\t\t\t\t/* } */ case 51:\n\t\t\t\t\t\t$s = 28; continue;\n\t\t\t\t\t/* } else if (_1 === (60)) { */ case 23:\n\t\t\t\t\t\t_r$15 = sc.Peek(); /* */ $s = 57; case 57: if($c) { $c = false; _r$15 = _r$15.$blk(); } if (_r$15 && _r$15.$blk !== undefined) { break s; }\n\t\t\t\t\t\t/* */ if (_r$15 === 61) { $s = 54; continue; }\n\t\t\t\t\t\t/* */ $s = 55; continue;\n\t\t\t\t\t\t/* if (_r$15 === 61) { */ case 54:\n\t\t\t\t\t\t\ttok.Type = 57369;\n\t\t\t\t\t\t\ttok.Str = \"<=\";\n\t\t\t\t\t\t\t_r$16 = sc.Next(); /* */ $s = 58; case 58: if($c) { $c = false; _r$16 = _r$16.$blk(); } if (_r$16 && _r$16.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t_r$16;\n\t\t\t\t\t\t\t$s = 56; continue;\n\t\t\t\t\t\t/* } else { */ case 55:\n\t\t\t\t\t\t\ttok.Type = ch;\n\t\t\t\t\t\t\ttok.Str = ($encodeRune(ch));\n\t\t\t\t\t\t/* } */ case 56:\n\t\t\t\t\t\t$s = 28; continue;\n\t\t\t\t\t/* } else if (_1 === (62)) { */ case 24:\n\t\t\t\t\t\t_r$17 = sc.Peek(); /* */ $s = 62; case 62: if($c) { $c = false; _r$17 = _r$17.$blk(); } if (_r$17 && _r$17.$blk !== undefined) { break s; }\n\t\t\t\t\t\t/* */ if (_r$17 === 61) { $s = 59; continue; }\n\t\t\t\t\t\t/* */ $s = 60; continue;\n\t\t\t\t\t\t/* if (_r$17 === 61) { */ case 59:\n\t\t\t\t\t\t\ttok.Type = 57370;\n\t\t\t\t\t\t\ttok.Str = \">=\";\n\t\t\t\t\t\t\t_r$18 = sc.Next(); /* */ $s = 63; case 63: if($c) { $c = false; _r$18 = _r$18.$blk(); } if (_r$18 && _r$18.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t_r$18;\n\t\t\t\t\t\t\t$s = 61; continue;\n\t\t\t\t\t\t/* } else { */ case 60:\n\t\t\t\t\t\t\ttok.Type = ch;\n\t\t\t\t\t\t\ttok.Str = ($encodeRune(ch));\n\t\t\t\t\t\t/* } */ case 61:\n\t\t\t\t\t\t$s = 28; continue;\n\t\t\t\t\t/* } else if (_1 === (46)) { */ case 25:\n\t\t\t\t\t\t_r$19 = sc.Peek(); /* */ $s = 64; case 64: if($c) { $c = false; _r$19 = _r$19.$blk(); } if (_r$19 && _r$19.$blk !== undefined) { break s; }\n\t\t\t\t\t\tch2 = _r$19;\n\t\t\t\t\t\t\t/* */ if (isDecimal(ch2)) { $s = 66; continue; }\n\t\t\t\t\t\t\t/* */ if ((ch2 === 46)) { $s = 67; continue; }\n\t\t\t\t\t\t\t/* */ $s = 68; continue;\n\t\t\t\t\t\t\t/* if (isDecimal(ch2)) { */ case 66:\n\t\t\t\t\t\t\t\ttok.Type = 57374;\n\t\t\t\t\t\t\t\t_r$20 = sc.scanNumber(ch, buf); /* */ $s = 70; case 70: if($c) { $c = false; _r$20 = _r$20.$blk(); } if (_r$20 && _r$20.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t\terr = _r$20;\n\t\t\t\t\t\t\t\ttok.Str = buf.String();\n\t\t\t\t\t\t\t\t$s = 69; continue;\n\t\t\t\t\t\t\t/* } else if ((ch2 === 46)) { */ case 67:\n\t\t\t\t\t\t\t\twriteChar(buf, ch);\n\t\t\t\t\t\t\t\t_arg = buf;\n\t\t\t\t\t\t\t\t_r$21 = sc.Next(); /* */ $s = 71; case 71: if($c) { $c = false; _r$21 = _r$21.$blk(); } if (_r$21 && _r$21.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t\t_arg$1 = _r$21;\n\t\t\t\t\t\t\t\t$r = writeChar(_arg, _arg$1); /* */ $s = 72; case 72: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t\t_r$22 = sc.Peek(); /* */ $s = 76; case 76: if($c) { $c = false; _r$22 = _r$22.$blk(); } if (_r$22 && _r$22.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t\t/* */ if (_r$22 === 46) { $s = 73; continue; }\n\t\t\t\t\t\t\t\t/* */ $s = 74; continue;\n\t\t\t\t\t\t\t\t/* if (_r$22 === 46) { */ case 73:\n\t\t\t\t\t\t\t\t\t_arg$2 = buf;\n\t\t\t\t\t\t\t\t\t_r$23 = sc.Next(); /* */ $s = 77; case 77: if($c) { $c = false; _r$23 = _r$23.$blk(); } if (_r$23 && _r$23.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t\t\t_arg$3 = _r$23;\n\t\t\t\t\t\t\t\t\t$r = writeChar(_arg$2, _arg$3); /* */ $s = 78; case 78: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t\t\ttok.Type = 57372;\n\t\t\t\t\t\t\t\t\t$s = 75; continue;\n\t\t\t\t\t\t\t\t/* } else { */ case 74:\n\t\t\t\t\t\t\t\t\ttok.Type = 57371;\n\t\t\t\t\t\t\t\t/* } */ case 75:\n\t\t\t\t\t\t\t\t$s = 69; continue;\n\t\t\t\t\t\t\t/* } else { */ case 68:\n\t\t\t\t\t\t\t\ttok.Type = 46;\n\t\t\t\t\t\t\t/* } */ case 69:\n\t\t\t\t\t\tcase 65:\n\t\t\t\t\t\ttok.Str = buf.String();\n\t\t\t\t\t\t$s = 28; continue;\n\t\t\t\t\t/* } else if ((_1 === (43)) || (_1 === (42)) || (_1 === (47)) || (_1 === (37)) || (_1 === (94)) || (_1 === (35)) || (_1 === (40)) || (_1 === (41)) || (_1 === (123)) || (_1 === (125)) || (_1 === (93)) || (_1 === (59)) || (_1 === (58)) || (_1 === (44))) { */ case 26:\n\t\t\t\t\t\ttok.Type = ch;\n\t\t\t\t\t\ttok.Str = ($encodeRune(ch));\n\t\t\t\t\t\t$s = 28; continue;\n\t\t\t\t\t/* } else { */ case 27:\n\t\t\t\t\t\twriteChar(buf, ch);\n\t\t\t\t\t\terr = sc.Error(buf.String(), \"Invalid token\");\n\t\t\t\t\t\t/* goto finally */ $s = 14; continue;\n\t\t\t\t\t/* } */ case 28:\n\t\t\t\tcase 16:\n\t\t\t/* } */ case 10:\n\t\tcase 6:\n\t\t/* finally: */ case 14:\n\t\ttok.Name = TokenName((tok.Type));\n\t\t$s = -1; return [tok, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Scanner.ptr.prototype.Scan }; } $f._1 = _1; $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._arg$3 = _arg$3; $f._buf = _buf; $f._entry = _entry; $f._r = _r; $f._r$1 = _r$1; $f._r$10 = _r$10; $f._r$11 = _r$11; $f._r$12 = _r$12; $f._r$13 = _r$13; $f._r$14 = _r$14; $f._r$15 = _r$15; $f._r$16 = _r$16; $f._r$17 = _r$17; $f._r$18 = _r$18; $f._r$19 = _r$19; $f._r$2 = _r$2; $f._r$20 = _r$20; $f._r$21 = _r$21; $f._r$22 = _r$22; $f._r$23 = _r$23; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._r$8 = _r$8; $f._r$9 = _r$9; $f._tuple = _tuple; $f.buf = buf; $f.c = c; $f.ch = ch; $f.ch2 = ch2; $f.err = err; $f.lexer = lexer; $f.newline = newline; $f.ok = ok; $f.sc = sc; $f.tok = tok; $f.typ = typ; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tScanner.prototype.Scan = function(lexer) { return this.$val.Scan(lexer); };\n\tLexer.ptr.prototype.Lex = function(lval) {\n\t\tvar _r, _tuple, err, lval, lx, tok, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; err = $f.err; lval = $f.lval; lx = $f.lx; tok = $f.tok; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tlx = this;\n\t\tlx.PrevTokenType = lx.Token.Type;\n\t\t_r = lx.scanner.Scan(lx); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\ttok = $clone(_tuple[0], ast.Token);\n\t\terr = _tuple[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$panic(err);\n\t\t}\n\t\tif (tok.Type < 0) {\n\t\t\t$s = -1; return 0;\n\t\t}\n\t\tast.Token.copy(lval.token, tok);\n\t\tast.Token.copy(lx.Token, tok);\n\t\t$s = -1; return (tok.Type);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Lexer.ptr.prototype.Lex }; } $f._r = _r; $f._tuple = _tuple; $f.err = err; $f.lval = lval; $f.lx = lx; $f.tok = tok; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLexer.prototype.Lex = function(lval) { return this.$val.Lex(lval); };\n\tLexer.ptr.prototype.Error = function(message) {\n\t\tvar lx, message;\n\t\tlx = this;\n\t\t$panic(lx.scanner.Error(lx.Token.Str, message));\n\t};\n\tLexer.prototype.Error = function(message) { return this.$val.Error(message); };\n\tLexer.ptr.prototype.TokenError = function(tok, message) {\n\t\tvar lx, message, tok;\n\t\tlx = this;\n\t\t$panic(lx.scanner.TokenError($clone(tok, ast.Token), message));\n\t};\n\tLexer.prototype.TokenError = function(tok, message) { return this.$val.TokenError(tok, message); };\n\tParse = function(reader, name) {\n\t\tvar _r, chunk, err, lexer, name, reader, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; chunk = $f.chunk; err = $f.err; lexer = $f.lexer; name = $f.name; reader = $f.reader; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\terr = [err];\n\t\tchunk = sliceType$4.nil;\n\t\terr[0] = $ifaceNil;\n\t\tlexer = new Lexer.ptr(NewScanner(reader, name), sliceType$4.nil, false, new ast.Token.ptr(0, \"\", \"\", new ast.Position.ptr(\"\", 0, 0)), 57358);\n\t\tchunk = sliceType$4.nil;\n\t\t$deferred.push([(function(err) { return function() {\n\t\t\tvar _tuple, e;\n\t\t\te = $recover();\n\t\t\tif (!($interfaceIsEqual(e, $ifaceNil))) {\n\t\t\t\t_tuple = $assertType(e, $error, true);\n\t\t\t\terr[0] = _tuple[0];\n\t\t\t}\n\t\t}; })(err), []]);\n\t\t_r = yyParse(lexer); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r;\n\t\tchunk = lexer.Stmts;\n\t\t$s = -1; return [chunk, err[0]];\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if (!$curGoroutine.asleep) { return  [chunk, err[0]]; } if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: Parse }; } $f._r = _r; $f.chunk = chunk; $f.err = err; $f.lexer = lexer; $f.name = name; $f.reader = reader; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\t$pkg.Parse = Parse;\n\tyySymName = function(c) {\n\t\tvar _entry, _r, _r$1, _tuple, c, ok, s, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _entry = $f._entry; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; c = $f.c; ok = $f.ok; s = $f.s; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\ts = \"\";\n\t\t_tuple = (_entry = yyXLAT[$Int.keyFor(c)], _entry !== undefined ? [_entry.v, true] : [0, false]);\n\t\tx = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\ts = ((x < 0 || x >= yySymNames.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yySymNames.$array[yySymNames.$offset + x]);\n\t\t\t$s = -1; return s;\n\t\t}\n\t\t/* */ if (c < 127) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (c < 127) { */ case 1:\n\t\t\t_r = fmt.Sprintf(\"%q\", new sliceType$2([new $Int(c)])); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\ts = _r;\n\t\t\t$s = -1; return s;\n\t\t/* } */ case 2:\n\t\t_r$1 = fmt.Sprintf(\"%d\", new sliceType$2([new $Int(c)])); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\ts = _r$1;\n\t\t$s = -1; return s;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: yySymName }; } $f._entry = _entry; $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f.c = c; $f.ok = ok; $f.s = s; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tyylex1 = function(yylex, lval) {\n\t\tvar _arg, _arg$1, _arg$2, _arg$3, _r, _r$1, _r$2, lval, n, yylex, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _arg$3 = $f._arg$3; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; lval = $f.lval; n = $f.n; yylex = $f.yylex; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tn = 0;\n\t\t_r = yylex.Lex(lval); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tn = _r;\n\t\tif (n <= 0) {\n\t\t\tn = 57344;\n\t\t}\n\t\t/* */ if (yyDebug >= 3) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (yyDebug >= 3) { */ case 2:\n\t\t\t_r$1 = yySymName(n); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_arg = new $String(_r$1);\n\t\t\t_arg$1 = new $Int(n);\n\t\t\t_arg$2 = new $Int(n);\n\t\t\t_arg$3 = lval;\n\t\t\t_r$2 = fmt.Printf(\"\\nlex %s(%#x %d), lval: %+v\\n\", new sliceType$2([_arg, _arg$1, _arg$2, _arg$3])); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t_r$2;\n\t\t/* } */ case 3:\n\t\tn = n;\n\t\t$s = -1; return n;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: yylex1 }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._arg$3 = _arg$3; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.lval = lval; $f.n = n; $f.yylex = yylex; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tyyParse = function(yylex) {\n\t\tvar Errflag, Nerrs, _1, _2, _arg, _arg$1, _arg$2, _entry, _entry$1, _entry$2, _entry$3, _entry$4, _entry$5, _entry$6, _i, _i$1, _i$2, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$16, _r$17, _r$18, _r$19, _r$2, _r$20, _r$21, _r$22, _r$23, _r$24, _r$25, _r$26, _r$27, _r$28, _r$29, _r$3, _r$30, _r$31, _r$32, _r$33, _r$34, _r$35, _r$36, _r$37, _r$38, _r$39, _r$4, _r$40, _r$41, _r$42, _r$43, _r$5, _r$6, _r$7, _r$8, _r$9, _ref, _ref$1, _ref$2, _tmp, _tmp$1, _tuple, _tuple$1, _tuple$2, _tuple$3, _tuple$4, _tuple$5, _tuple$6, _tuple$7, _tuple$8, _tuple$9, _v, a, cur, cur$1, elseif, elseif$1, exState, fn, key, key$1, l, l$1, l$2, ls, msg, n, nyys, nyys$1, ok, ok$1, ok$2, ok$3, ok$4, ok$5, r, row, row$1, v, x, x$1, x$10, x$100, x$101, x$102, x$103, x$104, x$105, x$106, x$107, x$108, x$109, x$11, x$110, x$111, x$112, x$113, x$114, x$115, x$116, x$117, x$118, x$119, x$12, x$120, x$121, x$122, x$123, x$124, x$125, x$126, x$127, x$128, x$129, x$13, x$130, x$131, x$132, x$133, x$134, x$135, x$136, x$137, x$138, x$139, x$14, x$140, x$141, x$142, x$143, x$144, x$145, x$146, x$147, x$148, x$149, x$15, x$150, x$151, x$152, x$153, x$154, x$155, x$156, x$157, x$158, x$159, x$16, x$160, x$161, x$162, x$163, x$164, x$165, x$166, x$167, x$168, x$169, x$17, x$170, x$171, x$172, x$173, x$174, x$175, x$176, x$177, x$178, x$179, x$18, x$180, x$181, x$182, x$183, x$184, x$185, x$186, x$187, x$188, x$189, x$19, x$190, x$191, x$192, x$193, x$194, x$195, x$196, x$197, x$198, x$199, x$2, x$20, x$200, x$201, x$202, x$203, x$204, x$205, x$206, x$207, x$208, x$209, x$21, x$210, x$211, x$212, x$213, x$214, x$215, x$216, x$217, x$218, x$219, x$22, x$23, x$24, x$25, x$26, x$27, x$28, x$29, x$3, x$30, x$31, x$32, x$33, x$34, x$35, x$36, x$37, x$38, x$39, x$4, x$40, x$41, x$42, x$43, x$44, x$45, x$46, x$47, x$48, x$49, x$5, x$50, x$51, x$52, x$53, x$54, x$55, x$56, x$57, x$58, x$59, x$6, x$60, x$61, x$62, x$63, x$64, x$65, x$66, x$67, x$68, x$69, x$7, x$70, x$71, x$72, x$73, x$74, x$75, x$76, x$77, x$78, x$79, x$8, x$80, x$81, x$82, x$83, x$84, x$85, x$86, x$87, x$88, x$89, x$9, x$90, x$91, x$92, x$93, x$94, x$95, x$96, x$97, x$98, x$99, x0, yyEx, yyS, yyVAL, yychar, yyerrok, yylex, yylval, yyn, yyp, yypt, yyshift, yystate, yyxchar, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; Errflag = $f.Errflag; Nerrs = $f.Nerrs; _1 = $f._1; _2 = $f._2; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _entry = $f._entry; _entry$1 = $f._entry$1; _entry$2 = $f._entry$2; _entry$3 = $f._entry$3; _entry$4 = $f._entry$4; _entry$5 = $f._entry$5; _entry$6 = $f._entry$6; _i = $f._i; _i$1 = $f._i$1; _i$2 = $f._i$2; _r = $f._r; _r$1 = $f._r$1; _r$10 = $f._r$10; _r$11 = $f._r$11; _r$12 = $f._r$12; _r$13 = $f._r$13; _r$14 = $f._r$14; _r$15 = $f._r$15; _r$16 = $f._r$16; _r$17 = $f._r$17; _r$18 = $f._r$18; _r$19 = $f._r$19; _r$2 = $f._r$2; _r$20 = $f._r$20; _r$21 = $f._r$21; _r$22 = $f._r$22; _r$23 = $f._r$23; _r$24 = $f._r$24; _r$25 = $f._r$25; _r$26 = $f._r$26; _r$27 = $f._r$27; _r$28 = $f._r$28; _r$29 = $f._r$29; _r$3 = $f._r$3; _r$30 = $f._r$30; _r$31 = $f._r$31; _r$32 = $f._r$32; _r$33 = $f._r$33; _r$34 = $f._r$34; _r$35 = $f._r$35; _r$36 = $f._r$36; _r$37 = $f._r$37; _r$38 = $f._r$38; _r$39 = $f._r$39; _r$4 = $f._r$4; _r$40 = $f._r$40; _r$41 = $f._r$41; _r$42 = $f._r$42; _r$43 = $f._r$43; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _r$8 = $f._r$8; _r$9 = $f._r$9; _ref = $f._ref; _ref$1 = $f._ref$1; _ref$2 = $f._ref$2; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; _tuple$3 = $f._tuple$3; _tuple$4 = $f._tuple$4; _tuple$5 = $f._tuple$5; _tuple$6 = $f._tuple$6; _tuple$7 = $f._tuple$7; _tuple$8 = $f._tuple$8; _tuple$9 = $f._tuple$9; _v = $f._v; a = $f.a; cur = $f.cur; cur$1 = $f.cur$1; elseif = $f.elseif; elseif$1 = $f.elseif$1; exState = $f.exState; fn = $f.fn; key = $f.key; key$1 = $f.key$1; l = $f.l; l$1 = $f.l$1; l$2 = $f.l$2; ls = $f.ls; msg = $f.msg; n = $f.n; nyys = $f.nyys; nyys$1 = $f.nyys$1; ok = $f.ok; ok$1 = $f.ok$1; ok$2 = $f.ok$2; ok$3 = $f.ok$3; ok$4 = $f.ok$4; ok$5 = $f.ok$5; r = $f.r; row = $f.row; row$1 = $f.row$1; v = $f.v; x = $f.x; x$1 = $f.x$1; x$10 = $f.x$10; x$100 = $f.x$100; x$101 = $f.x$101; x$102 = $f.x$102; x$103 = $f.x$103; x$104 = $f.x$104; x$105 = $f.x$105; x$106 = $f.x$106; x$107 = $f.x$107; x$108 = $f.x$108; x$109 = $f.x$109; x$11 = $f.x$11; x$110 = $f.x$110; x$111 = $f.x$111; x$112 = $f.x$112; x$113 = $f.x$113; x$114 = $f.x$114; x$115 = $f.x$115; x$116 = $f.x$116; x$117 = $f.x$117; x$118 = $f.x$118; x$119 = $f.x$119; x$12 = $f.x$12; x$120 = $f.x$120; x$121 = $f.x$121; x$122 = $f.x$122; x$123 = $f.x$123; x$124 = $f.x$124; x$125 = $f.x$125; x$126 = $f.x$126; x$127 = $f.x$127; x$128 = $f.x$128; x$129 = $f.x$129; x$13 = $f.x$13; x$130 = $f.x$130; x$131 = $f.x$131; x$132 = $f.x$132; x$133 = $f.x$133; x$134 = $f.x$134; x$135 = $f.x$135; x$136 = $f.x$136; x$137 = $f.x$137; x$138 = $f.x$138; x$139 = $f.x$139; x$14 = $f.x$14; x$140 = $f.x$140; x$141 = $f.x$141; x$142 = $f.x$142; x$143 = $f.x$143; x$144 = $f.x$144; x$145 = $f.x$145; x$146 = $f.x$146; x$147 = $f.x$147; x$148 = $f.x$148; x$149 = $f.x$149; x$15 = $f.x$15; x$150 = $f.x$150; x$151 = $f.x$151; x$152 = $f.x$152; x$153 = $f.x$153; x$154 = $f.x$154; x$155 = $f.x$155; x$156 = $f.x$156; x$157 = $f.x$157; x$158 = $f.x$158; x$159 = $f.x$159; x$16 = $f.x$16; x$160 = $f.x$160; x$161 = $f.x$161; x$162 = $f.x$162; x$163 = $f.x$163; x$164 = $f.x$164; x$165 = $f.x$165; x$166 = $f.x$166; x$167 = $f.x$167; x$168 = $f.x$168; x$169 = $f.x$169; x$17 = $f.x$17; x$170 = $f.x$170; x$171 = $f.x$171; x$172 = $f.x$172; x$173 = $f.x$173; x$174 = $f.x$174; x$175 = $f.x$175; x$176 = $f.x$176; x$177 = $f.x$177; x$178 = $f.x$178; x$179 = $f.x$179; x$18 = $f.x$18; x$180 = $f.x$180; x$181 = $f.x$181; x$182 = $f.x$182; x$183 = $f.x$183; x$184 = $f.x$184; x$185 = $f.x$185; x$186 = $f.x$186; x$187 = $f.x$187; x$188 = $f.x$188; x$189 = $f.x$189; x$19 = $f.x$19; x$190 = $f.x$190; x$191 = $f.x$191; x$192 = $f.x$192; x$193 = $f.x$193; x$194 = $f.x$194; x$195 = $f.x$195; x$196 = $f.x$196; x$197 = $f.x$197; x$198 = $f.x$198; x$199 = $f.x$199; x$2 = $f.x$2; x$20 = $f.x$20; x$200 = $f.x$200; x$201 = $f.x$201; x$202 = $f.x$202; x$203 = $f.x$203; x$204 = $f.x$204; x$205 = $f.x$205; x$206 = $f.x$206; x$207 = $f.x$207; x$208 = $f.x$208; x$209 = $f.x$209; x$21 = $f.x$21; x$210 = $f.x$210; x$211 = $f.x$211; x$212 = $f.x$212; x$213 = $f.x$213; x$214 = $f.x$214; x$215 = $f.x$215; x$216 = $f.x$216; x$217 = $f.x$217; x$218 = $f.x$218; x$219 = $f.x$219; x$22 = $f.x$22; x$23 = $f.x$23; x$24 = $f.x$24; x$25 = $f.x$25; x$26 = $f.x$26; x$27 = $f.x$27; x$28 = $f.x$28; x$29 = $f.x$29; x$3 = $f.x$3; x$30 = $f.x$30; x$31 = $f.x$31; x$32 = $f.x$32; x$33 = $f.x$33; x$34 = $f.x$34; x$35 = $f.x$35; x$36 = $f.x$36; x$37 = $f.x$37; x$38 = $f.x$38; x$39 = $f.x$39; x$4 = $f.x$4; x$40 = $f.x$40; x$41 = $f.x$41; x$42 = $f.x$42; x$43 = $f.x$43; x$44 = $f.x$44; x$45 = $f.x$45; x$46 = $f.x$46; x$47 = $f.x$47; x$48 = $f.x$48; x$49 = $f.x$49; x$5 = $f.x$5; x$50 = $f.x$50; x$51 = $f.x$51; x$52 = $f.x$52; x$53 = $f.x$53; x$54 = $f.x$54; x$55 = $f.x$55; x$56 = $f.x$56; x$57 = $f.x$57; x$58 = $f.x$58; x$59 = $f.x$59; x$6 = $f.x$6; x$60 = $f.x$60; x$61 = $f.x$61; x$62 = $f.x$62; x$63 = $f.x$63; x$64 = $f.x$64; x$65 = $f.x$65; x$66 = $f.x$66; x$67 = $f.x$67; x$68 = $f.x$68; x$69 = $f.x$69; x$7 = $f.x$7; x$70 = $f.x$70; x$71 = $f.x$71; x$72 = $f.x$72; x$73 = $f.x$73; x$74 = $f.x$74; x$75 = $f.x$75; x$76 = $f.x$76; x$77 = $f.x$77; x$78 = $f.x$78; x$79 = $f.x$79; x$8 = $f.x$8; x$80 = $f.x$80; x$81 = $f.x$81; x$82 = $f.x$82; x$83 = $f.x$83; x$84 = $f.x$84; x$85 = $f.x$85; x$86 = $f.x$86; x$87 = $f.x$87; x$88 = $f.x$88; x$89 = $f.x$89; x$9 = $f.x$9; x$90 = $f.x$90; x$91 = $f.x$91; x$92 = $f.x$92; x$93 = $f.x$93; x$94 = $f.x$94; x$95 = $f.x$95; x$96 = $f.x$96; x$97 = $f.x$97; x$98 = $f.x$98; x$99 = $f.x$99; x0 = $f.x0; yyEx = $f.yyEx; yyS = $f.yyS; yyVAL = $f.yyVAL; yychar = $f.yychar; yyerrok = $f.yyerrok; yylex = $f.yylex; yylval = $f.yylval; yyn = $f.yyn; yyp = $f.yyp; yypt = $f.yypt; yyshift = $f.yyshift; yystate = $f.yystate; yyxchar = $f.yyxchar; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tErrflag = [Errflag];\n\t\tyyVAL = [yyVAL];\n\t\tyylval = [yylval];\n\t\t_tuple = $assertType(yylex, yyLexerEx, true);\n\t\tyyEx = _tuple[0];\n\t\tyyn = 0;\n\t\tyylval[0] = new yySymType.ptr(0, new ast.Token.ptr(0, \"\", \"\", new ast.Position.ptr(\"\", 0, 0)), sliceType$4.nil, $ifaceNil, ptrType$1.nil, ptrType$2.nil, sliceType$6.nil, $ifaceNil, sliceType$7.nil, ptrType$3.nil, \"\", sliceType.nil, ptrType$4.nil);\n\t\tyyVAL[0] = new yySymType.ptr(0, new ast.Token.ptr(0, \"\", \"\", new ast.Position.ptr(\"\", 0, 0)), sliceType$4.nil, $ifaceNil, ptrType$1.nil, ptrType$2.nil, sliceType$6.nil, $ifaceNil, sliceType$7.nil, ptrType$3.nil, \"\", sliceType.nil, ptrType$4.nil);\n\t\tyyS = $makeSlice(sliceType$8, 200);\n\t\tNerrs = 0;\n\t\tErrflag[0] = 0;\n\t\tyyerrok = (function(Errflag, yyVAL, yylval) { return function $b() {\n\t\t\tvar _r, $s, $r;\n\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t\t/* */ if (yyDebug >= 2) { $s = 1; continue; }\n\t\t\t/* */ $s = 2; continue;\n\t\t\t/* if (yyDebug >= 2) { */ case 1:\n\t\t\t\t_r = fmt.Printf(\"yyerrok()\\n\", new sliceType$2([])); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t_r;\n\t\t\t/* } */ case 2:\n\t\t\tErrflag[0] = 0;\n\t\t\t$s = -1; return;\n\t\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f._r = _r; $f.$s = $s; $f.$r = $r; return $f;\n\t\t}; })(Errflag, yyVAL, yylval);\n\t\t$unused(yyerrok);\n\t\tyystate = 0;\n\t\tyychar = -1;\n\t\tyyxchar = 0;\n\t\tyyshift = 0;\n\t\tyyp = -1;\n\t\t/* goto yystack */ $s = 1; continue;\n\t\t/* ret0: */ case 2:\n\t\t$s = -1; return 0;\n\t\t/* ret1: */ case 3:\n\t\t$s = -1; return 1;\n\t\t/* yystack: */ case 1:\n\t\tyyp = yyp + (1) >> 0;\n\t\tif (yyp >= yyS.$length) {\n\t\t\tnyys = $makeSlice(sliceType$8, ($imul(yyS.$length, 2)));\n\t\t\t$copySlice(nyys, yyS);\n\t\t\tyyS = nyys;\n\t\t}\n\t\tyySymType.copy(((yyp < 0 || yyp >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + yyp]), yyVAL[0]);\n\t\t((yyp < 0 || yyp >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + yyp]).yys = yystate;\n\t\t/* yynewstate: */ case 4:\n\t\t/* */ if (yychar < 0) { $s = 5; continue; }\n\t\t/* */ $s = 6; continue;\n\t\t/* if (yychar < 0) { */ case 5:\n\t\t\tyylval[0].yys = yystate;\n\t\t\t_r = yylex1(yylex, yylval[0]); /* */ $s = 7; case 7: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tyychar = _r;\n\t\t\tok = false;\n\t\t\t_tuple$1 = (_entry = yyXLAT[$Int.keyFor(yychar)], _entry !== undefined ? [_entry.v, true] : [0, false]);\n\t\t\tyyxchar = _tuple$1[0];\n\t\t\tok = _tuple$1[1];\n\t\t\tif (!ok) {\n\t\t\t\tyyxchar = yySymNames.$length;\n\t\t\t}\n\t\t/* } */ case 6:\n\t\t/* */ if (yyDebug >= 4) { $s = 8; continue; }\n\t\t/* */ $s = 9; continue;\n\t\t/* if (yyDebug >= 4) { */ case 8:\n\t\t\ta = sliceType$5.nil;\n\t\t\t_ref = $subslice(yyS, 0, (yyp + 1 >> 0));\n\t\t\t_i = 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\t\tv = $clone(((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]), yySymType);\n\t\t\t\ta = $append(a, v.yys);\n\t\t\t\t_i++;\n\t\t\t}\n\t\t\t_r$1 = fmt.Printf(\"state stack %v\\n\", new sliceType$2([a])); /* */ $s = 10; case 10: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_r$1;\n\t\t/* } */ case 9:\n\t\trow = ((yystate < 0 || yystate >= yyParseTab.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyParseTab[yystate]);\n\t\tyyn = 0;\n\t\tif (yyxchar < row.$length) {\n\t\t\tyyn = ((((yyxchar < 0 || yyxchar >= row.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : row.$array[row.$offset + yyxchar]) >> 0));\n\t\t\tif (!((yyn === 0))) {\n\t\t\t\tyyn = yyn + (-95) >> 0;\n\t\t\t}\n\t\t}\n\t\t\t/* */ if (yyn > 0) { $s = 12; continue; }\n\t\t\t/* */ if (yyn < 0) { $s = 13; continue; }\n\t\t\t/* */ if ((yystate === 1)) { $s = 14; continue; }\n\t\t\t/* */ $s = 15; continue;\n\t\t\t/* if (yyn > 0) { */ case 12:\n\t\t\t\tyychar = -1;\n\t\t\t\tyySymType.copy(yyVAL[0], yylval[0]);\n\t\t\t\tyystate = yyn;\n\t\t\t\tyyshift = yyn;\n\t\t\t\t/* */ if (yyDebug >= 2) { $s = 16; continue; }\n\t\t\t\t/* */ $s = 17; continue;\n\t\t\t\t/* if (yyDebug >= 2) { */ case 16:\n\t\t\t\t\t_r$2 = fmt.Printf(\"shift, and goto state %d\\n\", new sliceType$2([new $Int(yystate)])); /* */ $s = 18; case 18: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t\t_r$2;\n\t\t\t\t/* } */ case 17:\n\t\t\t\tif (Errflag[0] > 0) {\n\t\t\t\t\tErrflag[0] = Errflag[0] - (1) >> 0;\n\t\t\t\t}\n\t\t\t\t/* goto yystack */ $s = 1; continue;\n\t\t\t\t$s = 15; continue;\n\t\t\t/* } else if (yyn < 0) { */ case 13:\n\t\t\t\t$s = 15; continue;\n\t\t\t/* } else if ((yystate === 1)) { */ case 14:\n\t\t\t\t/* */ if (yyDebug >= 2) { $s = 19; continue; }\n\t\t\t\t/* */ $s = 20; continue;\n\t\t\t\t/* if (yyDebug >= 2) { */ case 19:\n\t\t\t\t\t_r$3 = fmt.Println(new sliceType$2([new $String(\"accept\")])); /* */ $s = 21; case 21: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t\t_r$3;\n\t\t\t\t/* } */ case 20:\n\t\t\t\t/* goto ret0 */ $s = 2; continue;\n\t\t\t/* } */ case 15:\n\t\tcase 11:\n\t\t/* */ if (yyn === 0) { $s = 22; continue; }\n\t\t/* */ $s = 23; continue;\n\t\t/* if (yyn === 0) { */ case 22:\n\t\t\t\t_1 = Errflag[0];\n\t\t\t\t/* */ if (_1 === (0)) { $s = 25; continue; }\n\t\t\t\t/* */ if ((_1 === (1)) || (_1 === (2))) { $s = 26; continue; }\n\t\t\t\t/* */ if (_1 === (3)) { $s = 27; continue; }\n\t\t\t\t/* */ $s = 28; continue;\n\t\t\t\t/* if (_1 === (0)) { */ case 25:\n\t\t\t\t\t/* */ if (yyDebug >= 1) { $s = 29; continue; }\n\t\t\t\t\t/* */ $s = 30; continue;\n\t\t\t\t\t/* if (yyDebug >= 1) { */ case 29:\n\t\t\t\t\t\t_r$4 = yySymName(yychar); /* */ $s = 31; case 31: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\t\t\t_arg = new $String(_r$4);\n\t\t\t\t\t\t_arg$1 = new $Int(yystate);\n\t\t\t\t\t\t_r$5 = fmt.Printf(\"no action for %s in state %d\\n\", new sliceType$2([_arg, _arg$1])); /* */ $s = 32; case 32: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t\t\t\t_r$5;\n\t\t\t\t\t/* } */ case 30:\n\t\t\t\t\t_tuple$2 = (_entry$1 = yyXErrors[yyXError.keyFor(new yyXError.ptr(yystate, yyxchar))], _entry$1 !== undefined ? [_entry$1.v, true] : [\"\", false]);\n\t\t\t\t\tmsg = _tuple$2[0];\n\t\t\t\t\tok$1 = _tuple$2[1];\n\t\t\t\t\tif (!ok$1) {\n\t\t\t\t\t\t_tuple$3 = (_entry$2 = yyXErrors[yyXError.keyFor(new yyXError.ptr(yystate, -1))], _entry$2 !== undefined ? [_entry$2.v, true] : [\"\", false]);\n\t\t\t\t\t\tmsg = _tuple$3[0];\n\t\t\t\t\t\tok$1 = _tuple$3[1];\n\t\t\t\t\t}\n\t\t\t\t\tif (!ok$1 && !((yyshift === 0))) {\n\t\t\t\t\t\t_tuple$4 = (_entry$3 = yyXErrors[yyXError.keyFor(new yyXError.ptr(yyshift, yyxchar))], _entry$3 !== undefined ? [_entry$3.v, true] : [\"\", false]);\n\t\t\t\t\t\tmsg = _tuple$4[0];\n\t\t\t\t\t\tok$1 = _tuple$4[1];\n\t\t\t\t\t}\n\t\t\t\t\tif (!ok$1) {\n\t\t\t\t\t\t_tuple$5 = (_entry$4 = yyXErrors[yyXError.keyFor(new yyXError.ptr(yyshift, -1))], _entry$4 !== undefined ? [_entry$4.v, true] : [\"\", false]);\n\t\t\t\t\t\tmsg = _tuple$5[0];\n\t\t\t\t\t\tok$1 = _tuple$5[1];\n\t\t\t\t\t}\n\t\t\t\t\t/* */ if (yychar > 0) { $s = 33; continue; }\n\t\t\t\t\t/* */ $s = 34; continue;\n\t\t\t\t\t/* if (yychar > 0) { */ case 33:\n\t\t\t\t\t\tls = (_entry$5 = yyTokenLiteralStrings[$Int.keyFor(yychar)], _entry$5 !== undefined ? _entry$5.v : \"\");\n\t\t\t\t\t\t/* */ if (ls === \"\") { $s = 35; continue; }\n\t\t\t\t\t\t/* */ $s = 36; continue;\n\t\t\t\t\t\t/* if (ls === \"\") { */ case 35:\n\t\t\t\t\t\t\t_r$6 = yySymName(yychar); /* */ $s = 37; case 37: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\tls = _r$6;\n\t\t\t\t\t\t/* } */ case 36:\n\t\t\t\t\t\t/* */ if (!(ls === \"\")) { $s = 38; continue; }\n\t\t\t\t\t\t/* */ $s = 39; continue;\n\t\t\t\t\t\t/* if (!(ls === \"\")) { */ case 38:\n\t\t\t\t\t\t\t\t/* */ if (msg === \"\") { $s = 41; continue; }\n\t\t\t\t\t\t\t\t/* */ $s = 42; continue;\n\t\t\t\t\t\t\t\t/* if (msg === \"\") { */ case 41:\n\t\t\t\t\t\t\t\t\t_r$7 = fmt.Sprintf(\"unexpected %s\", new sliceType$2([new $String(ls)])); /* */ $s = 44; case 44: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t\t\tmsg = _r$7;\n\t\t\t\t\t\t\t\t\t$s = 43; continue;\n\t\t\t\t\t\t\t\t/* } else { */ case 42:\n\t\t\t\t\t\t\t\t\t_r$8 = fmt.Sprintf(\"unexpected %s, %s\", new sliceType$2([new $String(ls), new $String(msg)])); /* */ $s = 45; case 45: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t\t\tmsg = _r$8;\n\t\t\t\t\t\t\t\t/* } */ case 43:\n\t\t\t\t\t\t\tcase 40:\n\t\t\t\t\t\t/* } */ case 39:\n\t\t\t\t\t/* } */ case 34:\n\t\t\t\t\tif (msg === \"\") {\n\t\t\t\t\t\tmsg = \"syntax error\";\n\t\t\t\t\t}\n\t\t\t\t\t$r = yylex.Error(msg); /* */ $s = 46; case 46: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\tNerrs = Nerrs + (1) >> 0;\n\t\t\t\t\tErrflag[0] = 3;\n\t\t\t\t\t/* while (true) { */ case 47:\n\t\t\t\t\t\t/* if (!(yyp >= 0)) { break; } */ if(!(yyp >= 0)) { $s = 48; continue; }\n\t\t\t\t\t\trow$1 = (x = ((yyp < 0 || yyp >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + yyp]).yys, ((x < 0 || x >= yyParseTab.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyParseTab[x]));\n\t\t\t\t\t\t/* */ if (77 < row$1.$length) { $s = 49; continue; }\n\t\t\t\t\t\t/* */ $s = 50; continue;\n\t\t\t\t\t\t/* if (77 < row$1.$length) { */ case 49:\n\t\t\t\t\t\t\tyyn = (((77 >= row$1.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : row$1.$array[row$1.$offset + 77]) >> 0)) + -95 >> 0;\n\t\t\t\t\t\t\t/* */ if (yyn > 0) { $s = 51; continue; }\n\t\t\t\t\t\t\t/* */ $s = 52; continue;\n\t\t\t\t\t\t\t/* if (yyn > 0) { */ case 51:\n\t\t\t\t\t\t\t\t/* */ if (yyDebug >= 2) { $s = 53; continue; }\n\t\t\t\t\t\t\t\t/* */ $s = 54; continue;\n\t\t\t\t\t\t\t\t/* if (yyDebug >= 2) { */ case 53:\n\t\t\t\t\t\t\t\t\t_r$9 = fmt.Printf(\"error recovery found error shift in state %d\\n\", new sliceType$2([new $Int(((yyp < 0 || yyp >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + yyp]).yys)])); /* */ $s = 55; case 55: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t\t\t_r$9;\n\t\t\t\t\t\t\t\t/* } */ case 54:\n\t\t\t\t\t\t\t\tyystate = yyn;\n\t\t\t\t\t\t\t\t/* goto yystack */ $s = 1; continue;\n\t\t\t\t\t\t\t/* } */ case 52:\n\t\t\t\t\t\t/* } */ case 50:\n\t\t\t\t\t\t/* */ if (yyDebug >= 2) { $s = 56; continue; }\n\t\t\t\t\t\t/* */ $s = 57; continue;\n\t\t\t\t\t\t/* if (yyDebug >= 2) { */ case 56:\n\t\t\t\t\t\t\t_r$10 = fmt.Printf(\"error recovery pops state %d\\n\", new sliceType$2([new $Int(((yyp < 0 || yyp >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + yyp]).yys)])); /* */ $s = 58; case 58: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t_r$10;\n\t\t\t\t\t\t/* } */ case 57:\n\t\t\t\t\t\tyyp = yyp - (1) >> 0;\n\t\t\t\t\t/* } */ $s = 47; continue; case 48:\n\t\t\t\t\t/* */ if (yyDebug >= 2) { $s = 59; continue; }\n\t\t\t\t\t/* */ $s = 60; continue;\n\t\t\t\t\t/* if (yyDebug >= 2) { */ case 59:\n\t\t\t\t\t\t_r$11 = fmt.Printf(\"error recovery failed\\n\", new sliceType$2([])); /* */ $s = 61; case 61: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }\n\t\t\t\t\t\t_r$11;\n\t\t\t\t\t/* } */ case 60:\n\t\t\t\t\t/* goto ret1 */ $s = 3; continue;\n\t\t\t\t\t$s = 28; continue;\n\t\t\t\t/* } else if ((_1 === (1)) || (_1 === (2))) { */ case 26:\n\t\t\t\t\tErrflag[0] = 3;\n\t\t\t\t\t/* while (true) { */ case 62:\n\t\t\t\t\t\t/* if (!(yyp >= 0)) { break; } */ if(!(yyp >= 0)) { $s = 63; continue; }\n\t\t\t\t\t\trow$1 = (x$1 = ((yyp < 0 || yyp >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + yyp]).yys, ((x$1 < 0 || x$1 >= yyParseTab.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyParseTab[x$1]));\n\t\t\t\t\t\t/* */ if (77 < row$1.$length) { $s = 64; continue; }\n\t\t\t\t\t\t/* */ $s = 65; continue;\n\t\t\t\t\t\t/* if (77 < row$1.$length) { */ case 64:\n\t\t\t\t\t\t\tyyn = (((77 >= row$1.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : row$1.$array[row$1.$offset + 77]) >> 0)) + -95 >> 0;\n\t\t\t\t\t\t\t/* */ if (yyn > 0) { $s = 66; continue; }\n\t\t\t\t\t\t\t/* */ $s = 67; continue;\n\t\t\t\t\t\t\t/* if (yyn > 0) { */ case 66:\n\t\t\t\t\t\t\t\t/* */ if (yyDebug >= 2) { $s = 68; continue; }\n\t\t\t\t\t\t\t\t/* */ $s = 69; continue;\n\t\t\t\t\t\t\t\t/* if (yyDebug >= 2) { */ case 68:\n\t\t\t\t\t\t\t\t\t_r$12 = fmt.Printf(\"error recovery found error shift in state %d\\n\", new sliceType$2([new $Int(((yyp < 0 || yyp >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + yyp]).yys)])); /* */ $s = 70; case 70: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t\t\t_r$12;\n\t\t\t\t\t\t\t\t/* } */ case 69:\n\t\t\t\t\t\t\t\tyystate = yyn;\n\t\t\t\t\t\t\t\t/* goto yystack */ $s = 1; continue;\n\t\t\t\t\t\t\t/* } */ case 67:\n\t\t\t\t\t\t/* } */ case 65:\n\t\t\t\t\t\t/* */ if (yyDebug >= 2) { $s = 71; continue; }\n\t\t\t\t\t\t/* */ $s = 72; continue;\n\t\t\t\t\t\t/* if (yyDebug >= 2) { */ case 71:\n\t\t\t\t\t\t\t_r$13 = fmt.Printf(\"error recovery pops state %d\\n\", new sliceType$2([new $Int(((yyp < 0 || yyp >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + yyp]).yys)])); /* */ $s = 73; case 73: if($c) { $c = false; _r$13 = _r$13.$blk(); } if (_r$13 && _r$13.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t_r$13;\n\t\t\t\t\t\t/* } */ case 72:\n\t\t\t\t\t\tyyp = yyp - (1) >> 0;\n\t\t\t\t\t/* } */ $s = 62; continue; case 63:\n\t\t\t\t\t/* */ if (yyDebug >= 2) { $s = 74; continue; }\n\t\t\t\t\t/* */ $s = 75; continue;\n\t\t\t\t\t/* if (yyDebug >= 2) { */ case 74:\n\t\t\t\t\t\t_r$14 = fmt.Printf(\"error recovery failed\\n\", new sliceType$2([])); /* */ $s = 76; case 76: if($c) { $c = false; _r$14 = _r$14.$blk(); } if (_r$14 && _r$14.$blk !== undefined) { break s; }\n\t\t\t\t\t\t_r$14;\n\t\t\t\t\t/* } */ case 75:\n\t\t\t\t\t/* goto ret1 */ $s = 3; continue;\n\t\t\t\t\t$s = 28; continue;\n\t\t\t\t/* } else if (_1 === (3)) { */ case 27:\n\t\t\t\t\t/* */ if (yyDebug >= 2) { $s = 77; continue; }\n\t\t\t\t\t/* */ $s = 78; continue;\n\t\t\t\t\t/* if (yyDebug >= 2) { */ case 77:\n\t\t\t\t\t\t_r$15 = yySymName(yychar); /* */ $s = 79; case 79: if($c) { $c = false; _r$15 = _r$15.$blk(); } if (_r$15 && _r$15.$blk !== undefined) { break s; }\n\t\t\t\t\t\t_arg$2 = new $String(_r$15);\n\t\t\t\t\t\t_r$16 = fmt.Printf(\"error recovery discards %s\\n\", new sliceType$2([_arg$2])); /* */ $s = 80; case 80: if($c) { $c = false; _r$16 = _r$16.$blk(); } if (_r$16 && _r$16.$blk !== undefined) { break s; }\n\t\t\t\t\t\t_r$16;\n\t\t\t\t\t/* } */ case 78:\n\t\t\t\t\t/* */ if (yychar === 57344) { $s = 81; continue; }\n\t\t\t\t\t/* */ $s = 82; continue;\n\t\t\t\t\t/* if (yychar === 57344) { */ case 81:\n\t\t\t\t\t\t/* goto ret1 */ $s = 3; continue;\n\t\t\t\t\t/* } */ case 82:\n\t\t\t\t\tyychar = -1;\n\t\t\t\t\t/* goto yynewstate */ $s = 4; continue;\n\t\t\t\t/* } */ case 28:\n\t\t\tcase 24:\n\t\t/* } */ case 23:\n\t\tr = -yyn;\n\t\tx0 = $clone((_entry$6 = yyReductions[$Int.keyFor(r)], _entry$6 !== undefined ? _entry$6.v : new structType.ptr(0, 0)), structType);\n\t\t_tmp = x0.xsym;\n\t\t_tmp$1 = x0.components;\n\t\tx$2 = _tmp;\n\t\tn = _tmp$1;\n\t\tyypt = yyp;\n\t\t$unused(yypt);\n\t\tyyp = yyp - (n) >> 0;\n\t\tif ((yyp + 1 >> 0) >= yyS.$length) {\n\t\t\tnyys$1 = $makeSlice(sliceType$8, ($imul(yyS.$length, 2)));\n\t\t\t$copySlice(nyys$1, yyS);\n\t\t\tyyS = nyys$1;\n\t\t}\n\t\tyySymType.copy(yyVAL[0], (x$3 = yyp + 1 >> 0, ((x$3 < 0 || x$3 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$3])));\n\t\texState = yystate;\n\t\tyystate = (((x$4 = (x$5 = ((yyp < 0 || yyp >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + yyp]).yys, ((x$5 < 0 || x$5 >= yyParseTab.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyParseTab[x$5])), ((x$2 < 0 || x$2 >= x$4.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$4.$array[x$4.$offset + x$2])) >> 0)) + -95 >> 0;\n\t\t/* */ if (yyDebug >= 2) { $s = 83; continue; }\n\t\t/* */ $s = 84; continue;\n\t\t/* if (yyDebug >= 2) { */ case 83:\n\t\t\t_r$17 = fmt.Printf(\"reduce using rule %v (%s), and goto state %d\\n\", new sliceType$2([new $Int(r), new $String(((x$2 < 0 || x$2 >= yySymNames.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yySymNames.$array[yySymNames.$offset + x$2])), new $Int(yystate)])); /* */ $s = 85; case 85: if($c) { $c = false; _r$17 = _r$17.$blk(); } if (_r$17 && _r$17.$blk !== undefined) { break s; }\n\t\t\t_r$17;\n\t\t/* } */ case 84:\n\t\t\t_2 = r;\n\t\t\t/* */ if (_2 === (1)) { $s = 87; continue; }\n\t\t\t/* */ if (_2 === (2)) { $s = 88; continue; }\n\t\t\t/* */ if (_2 === (3)) { $s = 89; continue; }\n\t\t\t/* */ if (_2 === (4)) { $s = 90; continue; }\n\t\t\t/* */ if (_2 === (5)) { $s = 91; continue; }\n\t\t\t/* */ if (_2 === (6)) { $s = 92; continue; }\n\t\t\t/* */ if (_2 === (7)) { $s = 93; continue; }\n\t\t\t/* */ if (_2 === (8)) { $s = 94; continue; }\n\t\t\t/* */ if (_2 === (9)) { $s = 95; continue; }\n\t\t\t/* */ if (_2 === (10)) { $s = 96; continue; }\n\t\t\t/* */ if (_2 === (11)) { $s = 97; continue; }\n\t\t\t/* */ if (_2 === (12)) { $s = 98; continue; }\n\t\t\t/* */ if (_2 === (13)) { $s = 99; continue; }\n\t\t\t/* */ if (_2 === (14)) { $s = 100; continue; }\n\t\t\t/* */ if (_2 === (15)) { $s = 101; continue; }\n\t\t\t/* */ if (_2 === (16)) { $s = 102; continue; }\n\t\t\t/* */ if (_2 === (17)) { $s = 103; continue; }\n\t\t\t/* */ if (_2 === (18)) { $s = 104; continue; }\n\t\t\t/* */ if (_2 === (19)) { $s = 105; continue; }\n\t\t\t/* */ if (_2 === (20)) { $s = 106; continue; }\n\t\t\t/* */ if (_2 === (21)) { $s = 107; continue; }\n\t\t\t/* */ if (_2 === (22)) { $s = 108; continue; }\n\t\t\t/* */ if (_2 === (23)) { $s = 109; continue; }\n\t\t\t/* */ if (_2 === (24)) { $s = 110; continue; }\n\t\t\t/* */ if (_2 === (25)) { $s = 111; continue; }\n\t\t\t/* */ if (_2 === (26)) { $s = 112; continue; }\n\t\t\t/* */ if (_2 === (27)) { $s = 113; continue; }\n\t\t\t/* */ if (_2 === (28)) { $s = 114; continue; }\n\t\t\t/* */ if (_2 === (29)) { $s = 115; continue; }\n\t\t\t/* */ if (_2 === (30)) { $s = 116; continue; }\n\t\t\t/* */ if (_2 === (31)) { $s = 117; continue; }\n\t\t\t/* */ if (_2 === (32)) { $s = 118; continue; }\n\t\t\t/* */ if (_2 === (33)) { $s = 119; continue; }\n\t\t\t/* */ if (_2 === (34)) { $s = 120; continue; }\n\t\t\t/* */ if (_2 === (35)) { $s = 121; continue; }\n\t\t\t/* */ if (_2 === (36)) { $s = 122; continue; }\n\t\t\t/* */ if (_2 === (37)) { $s = 123; continue; }\n\t\t\t/* */ if (_2 === (38)) { $s = 124; continue; }\n\t\t\t/* */ if (_2 === (39)) { $s = 125; continue; }\n\t\t\t/* */ if (_2 === (40)) { $s = 126; continue; }\n\t\t\t/* */ if (_2 === (41)) { $s = 127; continue; }\n\t\t\t/* */ if (_2 === (42)) { $s = 128; continue; }\n\t\t\t/* */ if (_2 === (43)) { $s = 129; continue; }\n\t\t\t/* */ if (_2 === (44)) { $s = 130; continue; }\n\t\t\t/* */ if (_2 === (45)) { $s = 131; continue; }\n\t\t\t/* */ if (_2 === (46)) { $s = 132; continue; }\n\t\t\t/* */ if (_2 === (47)) { $s = 133; continue; }\n\t\t\t/* */ if (_2 === (48)) { $s = 134; continue; }\n\t\t\t/* */ if (_2 === (49)) { $s = 135; continue; }\n\t\t\t/* */ if (_2 === (50)) { $s = 136; continue; }\n\t\t\t/* */ if (_2 === (51)) { $s = 137; continue; }\n\t\t\t/* */ if (_2 === (52)) { $s = 138; continue; }\n\t\t\t/* */ if (_2 === (53)) { $s = 139; continue; }\n\t\t\t/* */ if (_2 === (54)) { $s = 140; continue; }\n\t\t\t/* */ if (_2 === (55)) { $s = 141; continue; }\n\t\t\t/* */ if (_2 === (56)) { $s = 142; continue; }\n\t\t\t/* */ if (_2 === (57)) { $s = 143; continue; }\n\t\t\t/* */ if (_2 === (58)) { $s = 144; continue; }\n\t\t\t/* */ if (_2 === (59)) { $s = 145; continue; }\n\t\t\t/* */ if (_2 === (60)) { $s = 146; continue; }\n\t\t\t/* */ if (_2 === (61)) { $s = 147; continue; }\n\t\t\t/* */ if (_2 === (62)) { $s = 148; continue; }\n\t\t\t/* */ if (_2 === (63)) { $s = 149; continue; }\n\t\t\t/* */ if (_2 === (64)) { $s = 150; continue; }\n\t\t\t/* */ if (_2 === (65)) { $s = 151; continue; }\n\t\t\t/* */ if (_2 === (66)) { $s = 152; continue; }\n\t\t\t/* */ if (_2 === (67)) { $s = 153; continue; }\n\t\t\t/* */ if (_2 === (68)) { $s = 154; continue; }\n\t\t\t/* */ if (_2 === (69)) { $s = 155; continue; }\n\t\t\t/* */ if (_2 === (70)) { $s = 156; continue; }\n\t\t\t/* */ if (_2 === (71)) { $s = 157; continue; }\n\t\t\t/* */ if (_2 === (72)) { $s = 158; continue; }\n\t\t\t/* */ if (_2 === (73)) { $s = 159; continue; }\n\t\t\t/* */ if (_2 === (74)) { $s = 160; continue; }\n\t\t\t/* */ if (_2 === (75)) { $s = 161; continue; }\n\t\t\t/* */ if (_2 === (76)) { $s = 162; continue; }\n\t\t\t/* */ if (_2 === (77)) { $s = 163; continue; }\n\t\t\t/* */ if (_2 === (78)) { $s = 164; continue; }\n\t\t\t/* */ if (_2 === (79)) { $s = 165; continue; }\n\t\t\t/* */ if (_2 === (80)) { $s = 166; continue; }\n\t\t\t/* */ if (_2 === (81)) { $s = 167; continue; }\n\t\t\t/* */ if (_2 === (82)) { $s = 168; continue; }\n\t\t\t/* */ if (_2 === (83)) { $s = 169; continue; }\n\t\t\t/* */ if (_2 === (84)) { $s = 170; continue; }\n\t\t\t/* */ if (_2 === (85)) { $s = 171; continue; }\n\t\t\t/* */ if (_2 === (86)) { $s = 172; continue; }\n\t\t\t/* */ if (_2 === (87)) { $s = 173; continue; }\n\t\t\t/* */ if (_2 === (88)) { $s = 174; continue; }\n\t\t\t/* */ if (_2 === (89)) { $s = 175; continue; }\n\t\t\t/* */ if (_2 === (90)) { $s = 176; continue; }\n\t\t\t/* */ if (_2 === (91)) { $s = 177; continue; }\n\t\t\t/* */ if (_2 === (92)) { $s = 178; continue; }\n\t\t\t/* */ if (_2 === (93)) { $s = 179; continue; }\n\t\t\t/* */ if (_2 === (94)) { $s = 180; continue; }\n\t\t\t/* */ $s = 181; continue;\n\t\t\t/* if (_2 === (1)) { */ case 87:\n\t\t\t\tyyVAL[0].stmts = (x$6 = yypt - 0 >> 0, ((x$6 < 0 || x$6 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$6])).stmts;\n\t\t\t\t_tuple$6 = $assertType(yylex, ptrType$5, true);\n\t\t\t\tl = _tuple$6[0];\n\t\t\t\tok$2 = _tuple$6[1];\n\t\t\t\tif (ok$2) {\n\t\t\t\t\tl.Stmts = yyVAL[0].stmts;\n\t\t\t\t}\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (2)) { */ case 88:\n\t\t\t\tyyVAL[0].stmts = $append((x$8 = yypt - 1 >> 0, ((x$8 < 0 || x$8 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$8])).stmts, (x$7 = yypt - 0 >> 0, ((x$7 < 0 || x$7 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$7])).stmt);\n\t\t\t\t_tuple$7 = $assertType(yylex, ptrType$5, true);\n\t\t\t\tl$1 = _tuple$7[0];\n\t\t\t\tok$3 = _tuple$7[1];\n\t\t\t\tif (ok$3) {\n\t\t\t\t\tl$1.Stmts = yyVAL[0].stmts;\n\t\t\t\t}\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (3)) { */ case 89:\n\t\t\t\tyyVAL[0].stmts = $append((x$10 = yypt - 2 >> 0, ((x$10 < 0 || x$10 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$10])).stmts, (x$9 = yypt - 1 >> 0, ((x$9 < 0 || x$9 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$9])).stmt);\n\t\t\t\t_tuple$8 = $assertType(yylex, ptrType$5, true);\n\t\t\t\tl$2 = _tuple$8[0];\n\t\t\t\tok$4 = _tuple$8[1];\n\t\t\t\tif (ok$4) {\n\t\t\t\t\tl$2.Stmts = yyVAL[0].stmts;\n\t\t\t\t}\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (4)) { */ case 90:\n\t\t\t\tyyVAL[0].stmts = new sliceType$4([]);\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (5)) { */ case 91:\n\t\t\t\tyyVAL[0].stmts = $append((x$12 = yypt - 1 >> 0, ((x$12 < 0 || x$12 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$12])).stmts, (x$11 = yypt - 0 >> 0, ((x$11 < 0 || x$11 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$11])).stmt);\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (6)) { */ case 92:\n\t\t\t\tyyVAL[0].stmts = (x$13 = yypt - 1 >> 0, ((x$13 < 0 || x$13 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$13])).stmts;\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (7)) { */ case 93:\n\t\t\t\tyyVAL[0].stmts = (x$14 = yypt - 0 >> 0, ((x$14 < 0 || x$14 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$14])).stmts;\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (8)) { */ case 94:\n\t\t\t\tyyVAL[0].stmt = new ast.AssignStmt.ptr(new ast.StmtBase.ptr(new ast.Node.ptr(0, 0)), (x$15 = yypt - 2 >> 0, ((x$15 < 0 || x$15 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$15])).exprlist, (x$16 = yypt - 0 >> 0, ((x$16 < 0 || x$16 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$16])).exprlist);\n\t\t\t\t_r$18 = (x$17 = (x$18 = yypt - 2 >> 0, ((x$18 < 0 || x$18 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$18])).exprlist, (0 >= x$17.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : x$17.$array[x$17.$offset + 0])).Line(); /* */ $s = 182; case 182: if($c) { $c = false; _r$18 = _r$18.$blk(); } if (_r$18 && _r$18.$blk !== undefined) { break s; }\n\t\t\t\t$r = yyVAL[0].stmt.SetLine(_r$18); /* */ $s = 183; case 183: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (9)) { */ case 95:\n\t\t\t\t_tuple$9 = $assertType((x$19 = yypt - 0 >> 0, ((x$19 < 0 || x$19 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$19])).expr, ptrType$6, true);\n\t\t\t\tok$5 = _tuple$9[1];\n\t\t\t\t/* */ if (!ok$5) { $s = 184; continue; }\n\t\t\t\t/* */ $s = 185; continue;\n\t\t\t\t/* if (!ok$5) { */ case 184:\n\t\t\t\t\t$assertType(yylex, ptrType$5).Error(\"parse error\");\n\t\t\t\t\t$s = 186; continue;\n\t\t\t\t/* } else { */ case 185:\n\t\t\t\t\tyyVAL[0].stmt = new ast.FuncCallStmt.ptr(new ast.StmtBase.ptr(new ast.Node.ptr(0, 0)), (x$20 = yypt - 0 >> 0, ((x$20 < 0 || x$20 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$20])).expr);\n\t\t\t\t\t_r$19 = (x$21 = yypt - 0 >> 0, ((x$21 < 0 || x$21 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$21])).expr.Line(); /* */ $s = 187; case 187: if($c) { $c = false; _r$19 = _r$19.$blk(); } if (_r$19 && _r$19.$blk !== undefined) { break s; }\n\t\t\t\t\t$r = yyVAL[0].stmt.SetLine(_r$19); /* */ $s = 188; case 188: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t/* } */ case 186:\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (10)) { */ case 96:\n\t\t\t\tyyVAL[0].stmt = new ast.DoBlockStmt.ptr(new ast.StmtBase.ptr(new ast.Node.ptr(0, 0)), (x$22 = yypt - 1 >> 0, ((x$22 < 0 || x$22 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$22])).stmts);\n\t\t\t\t$r = yyVAL[0].stmt.SetLine((x$23 = yypt - 2 >> 0, ((x$23 < 0 || x$23 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$23])).token.Pos.Line); /* */ $s = 189; case 189: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$r = yyVAL[0].stmt.SetLastLine((x$24 = yypt - 0 >> 0, ((x$24 < 0 || x$24 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$24])).token.Pos.Line); /* */ $s = 190; case 190: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (11)) { */ case 97:\n\t\t\t\tyyVAL[0].stmt = new ast.WhileStmt.ptr(new ast.StmtBase.ptr(new ast.Node.ptr(0, 0)), (x$25 = yypt - 3 >> 0, ((x$25 < 0 || x$25 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$25])).expr, (x$26 = yypt - 1 >> 0, ((x$26 < 0 || x$26 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$26])).stmts);\n\t\t\t\t$r = yyVAL[0].stmt.SetLine((x$27 = yypt - 4 >> 0, ((x$27 < 0 || x$27 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$27])).token.Pos.Line); /* */ $s = 191; case 191: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$r = yyVAL[0].stmt.SetLastLine((x$28 = yypt - 0 >> 0, ((x$28 < 0 || x$28 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$28])).token.Pos.Line); /* */ $s = 192; case 192: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (12)) { */ case 98:\n\t\t\t\tyyVAL[0].stmt = new ast.RepeatStmt.ptr(new ast.StmtBase.ptr(new ast.Node.ptr(0, 0)), (x$29 = yypt - 0 >> 0, ((x$29 < 0 || x$29 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$29])).expr, (x$30 = yypt - 2 >> 0, ((x$30 < 0 || x$30 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$30])).stmts);\n\t\t\t\t$r = yyVAL[0].stmt.SetLine((x$31 = yypt - 3 >> 0, ((x$31 < 0 || x$31 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$31])).token.Pos.Line); /* */ $s = 193; case 193: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t_r$20 = (x$32 = yypt - 0 >> 0, ((x$32 < 0 || x$32 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$32])).expr.Line(); /* */ $s = 194; case 194: if($c) { $c = false; _r$20 = _r$20.$blk(); } if (_r$20 && _r$20.$blk !== undefined) { break s; }\n\t\t\t\t$r = yyVAL[0].stmt.SetLastLine(_r$20); /* */ $s = 195; case 195: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (13)) { */ case 99:\n\t\t\t\tyyVAL[0].stmt = new ast.IfStmt.ptr(new ast.StmtBase.ptr(new ast.Node.ptr(0, 0)), (x$33 = yypt - 4 >> 0, ((x$33 < 0 || x$33 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$33])).expr, (x$34 = yypt - 2 >> 0, ((x$34 < 0 || x$34 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$34])).stmts, sliceType$4.nil);\n\t\t\t\tcur = yyVAL[0].stmt;\n\t\t\t\t_ref$1 = (x$35 = yypt - 1 >> 0, ((x$35 < 0 || x$35 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$35])).stmts;\n\t\t\t\t_i$1 = 0;\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (!(_i$1 < _ref$1.$length)) { break; }\n\t\t\t\t\telseif = ((_i$1 < 0 || _i$1 >= _ref$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref$1.$array[_ref$1.$offset + _i$1]);\n\t\t\t\t\t$assertType(cur, ptrType$7).Else = new sliceType$4([elseif]);\n\t\t\t\t\tcur = elseif;\n\t\t\t\t\t_i$1++;\n\t\t\t\t}\n\t\t\t\t$r = yyVAL[0].stmt.SetLine((x$36 = yypt - 5 >> 0, ((x$36 < 0 || x$36 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$36])).token.Pos.Line); /* */ $s = 196; case 196: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$r = yyVAL[0].stmt.SetLastLine((x$37 = yypt - 0 >> 0, ((x$37 < 0 || x$37 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$37])).token.Pos.Line); /* */ $s = 197; case 197: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (14)) { */ case 100:\n\t\t\t\tyyVAL[0].stmt = new ast.IfStmt.ptr(new ast.StmtBase.ptr(new ast.Node.ptr(0, 0)), (x$38 = yypt - 6 >> 0, ((x$38 < 0 || x$38 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$38])).expr, (x$39 = yypt - 4 >> 0, ((x$39 < 0 || x$39 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$39])).stmts, sliceType$4.nil);\n\t\t\t\tcur$1 = yyVAL[0].stmt;\n\t\t\t\t_ref$2 = (x$40 = yypt - 3 >> 0, ((x$40 < 0 || x$40 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$40])).stmts;\n\t\t\t\t_i$2 = 0;\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (!(_i$2 < _ref$2.$length)) { break; }\n\t\t\t\t\telseif$1 = ((_i$2 < 0 || _i$2 >= _ref$2.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref$2.$array[_ref$2.$offset + _i$2]);\n\t\t\t\t\t$assertType(cur$1, ptrType$7).Else = new sliceType$4([elseif$1]);\n\t\t\t\t\tcur$1 = elseif$1;\n\t\t\t\t\t_i$2++;\n\t\t\t\t}\n\t\t\t\t$assertType(cur$1, ptrType$7).Else = (x$41 = yypt - 1 >> 0, ((x$41 < 0 || x$41 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$41])).stmts;\n\t\t\t\t$r = yyVAL[0].stmt.SetLine((x$42 = yypt - 7 >> 0, ((x$42 < 0 || x$42 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$42])).token.Pos.Line); /* */ $s = 198; case 198: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$r = yyVAL[0].stmt.SetLastLine((x$43 = yypt - 0 >> 0, ((x$43 < 0 || x$43 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$43])).token.Pos.Line); /* */ $s = 199; case 199: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (15)) { */ case 101:\n\t\t\t\tyyVAL[0].stmt = new ast.NumberForStmt.ptr(new ast.StmtBase.ptr(new ast.Node.ptr(0, 0)), (x$44 = yypt - 7 >> 0, ((x$44 < 0 || x$44 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$44])).token.Str, (x$45 = yypt - 5 >> 0, ((x$45 < 0 || x$45 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$45])).expr, (x$46 = yypt - 3 >> 0, ((x$46 < 0 || x$46 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$46])).expr, $ifaceNil, (x$47 = yypt - 1 >> 0, ((x$47 < 0 || x$47 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$47])).stmts);\n\t\t\t\t$r = yyVAL[0].stmt.SetLine((x$48 = yypt - 8 >> 0, ((x$48 < 0 || x$48 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$48])).token.Pos.Line); /* */ $s = 200; case 200: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$r = yyVAL[0].stmt.SetLastLine((x$49 = yypt - 0 >> 0, ((x$49 < 0 || x$49 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$49])).token.Pos.Line); /* */ $s = 201; case 201: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (16)) { */ case 102:\n\t\t\t\tyyVAL[0].stmt = new ast.NumberForStmt.ptr(new ast.StmtBase.ptr(new ast.Node.ptr(0, 0)), (x$50 = yypt - 9 >> 0, ((x$50 < 0 || x$50 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$50])).token.Str, (x$51 = yypt - 7 >> 0, ((x$51 < 0 || x$51 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$51])).expr, (x$52 = yypt - 5 >> 0, ((x$52 < 0 || x$52 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$52])).expr, (x$53 = yypt - 3 >> 0, ((x$53 < 0 || x$53 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$53])).expr, (x$54 = yypt - 1 >> 0, ((x$54 < 0 || x$54 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$54])).stmts);\n\t\t\t\t$r = yyVAL[0].stmt.SetLine((x$55 = yypt - 10 >> 0, ((x$55 < 0 || x$55 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$55])).token.Pos.Line); /* */ $s = 202; case 202: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$r = yyVAL[0].stmt.SetLastLine((x$56 = yypt - 0 >> 0, ((x$56 < 0 || x$56 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$56])).token.Pos.Line); /* */ $s = 203; case 203: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (17)) { */ case 103:\n\t\t\t\tyyVAL[0].stmt = new ast.GenericForStmt.ptr(new ast.StmtBase.ptr(new ast.Node.ptr(0, 0)), (x$57 = yypt - 5 >> 0, ((x$57 < 0 || x$57 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$57])).namelist, (x$58 = yypt - 3 >> 0, ((x$58 < 0 || x$58 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$58])).exprlist, (x$59 = yypt - 1 >> 0, ((x$59 < 0 || x$59 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$59])).stmts);\n\t\t\t\t$r = yyVAL[0].stmt.SetLine((x$60 = yypt - 6 >> 0, ((x$60 < 0 || x$60 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$60])).token.Pos.Line); /* */ $s = 204; case 204: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$r = yyVAL[0].stmt.SetLastLine((x$61 = yypt - 0 >> 0, ((x$61 < 0 || x$61 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$61])).token.Pos.Line); /* */ $s = 205; case 205: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (18)) { */ case 104:\n\t\t\t\tyyVAL[0].stmt = new ast.FuncDefStmt.ptr(new ast.StmtBase.ptr(new ast.Node.ptr(0, 0)), (x$62 = yypt - 1 >> 0, ((x$62 < 0 || x$62 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$62])).funcname, (x$63 = yypt - 0 >> 0, ((x$63 < 0 || x$63 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$63])).funcexpr);\n\t\t\t\t$r = yyVAL[0].stmt.SetLine((x$64 = yypt - 2 >> 0, ((x$64 < 0 || x$64 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$64])).token.Pos.Line); /* */ $s = 206; case 206: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$r = yyVAL[0].stmt.SetLastLine((x$65 = yypt - 0 >> 0, ((x$65 < 0 || x$65 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$65])).funcexpr.ExprBase.Node.LastLine()); /* */ $s = 207; case 207: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (19)) { */ case 105:\n\t\t\t\tyyVAL[0].stmt = new ast.LocalAssignStmt.ptr(new ast.StmtBase.ptr(new ast.Node.ptr(0, 0)), new sliceType([(x$66 = yypt - 1 >> 0, ((x$66 < 0 || x$66 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$66])).token.Str]), new sliceType$6([(x$67 = yypt - 0 >> 0, ((x$67 < 0 || x$67 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$67])).funcexpr]));\n\t\t\t\t$r = yyVAL[0].stmt.SetLine((x$68 = yypt - 3 >> 0, ((x$68 < 0 || x$68 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$68])).token.Pos.Line); /* */ $s = 208; case 208: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$r = yyVAL[0].stmt.SetLastLine((x$69 = yypt - 0 >> 0, ((x$69 < 0 || x$69 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$69])).funcexpr.ExprBase.Node.LastLine()); /* */ $s = 209; case 209: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (20)) { */ case 106:\n\t\t\t\tyyVAL[0].stmt = new ast.LocalAssignStmt.ptr(new ast.StmtBase.ptr(new ast.Node.ptr(0, 0)), (x$70 = yypt - 2 >> 0, ((x$70 < 0 || x$70 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$70])).namelist, (x$71 = yypt - 0 >> 0, ((x$71 < 0 || x$71 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$71])).exprlist);\n\t\t\t\t$r = yyVAL[0].stmt.SetLine((x$72 = yypt - 3 >> 0, ((x$72 < 0 || x$72 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$72])).token.Pos.Line); /* */ $s = 210; case 210: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (21)) { */ case 107:\n\t\t\t\tyyVAL[0].stmt = new ast.LocalAssignStmt.ptr(new ast.StmtBase.ptr(new ast.Node.ptr(0, 0)), (x$73 = yypt - 0 >> 0, ((x$73 < 0 || x$73 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$73])).namelist, new sliceType$6([]));\n\t\t\t\t$r = yyVAL[0].stmt.SetLine((x$74 = yypt - 1 >> 0, ((x$74 < 0 || x$74 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$74])).token.Pos.Line); /* */ $s = 211; case 211: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (22)) { */ case 108:\n\t\t\t\tyyVAL[0].stmts = new sliceType$4([]);\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (23)) { */ case 109:\n\t\t\t\tyyVAL[0].stmts = $append((x$77 = yypt - 4 >> 0, ((x$77 < 0 || x$77 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$77])).stmts, new ast.IfStmt.ptr(new ast.StmtBase.ptr(new ast.Node.ptr(0, 0)), (x$75 = yypt - 2 >> 0, ((x$75 < 0 || x$75 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$75])).expr, (x$76 = yypt - 0 >> 0, ((x$76 < 0 || x$76 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$76])).stmts, sliceType$4.nil));\n\t\t\t\t$r = (x$78 = yyVAL[0].stmts, x$79 = yyVAL[0].stmts.$length - 1 >> 0, ((x$79 < 0 || x$79 >= x$78.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$78.$array[x$78.$offset + x$79])).SetLine((x$80 = yypt - 3 >> 0, ((x$80 < 0 || x$80 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$80])).token.Pos.Line); /* */ $s = 212; case 212: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (24)) { */ case 110:\n\t\t\t\tyyVAL[0].stmt = new ast.ReturnStmt.ptr(new ast.StmtBase.ptr(new ast.Node.ptr(0, 0)), sliceType$6.nil);\n\t\t\t\t$r = yyVAL[0].stmt.SetLine((x$81 = yypt - 0 >> 0, ((x$81 < 0 || x$81 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$81])).token.Pos.Line); /* */ $s = 213; case 213: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (25)) { */ case 111:\n\t\t\t\tyyVAL[0].stmt = new ast.ReturnStmt.ptr(new ast.StmtBase.ptr(new ast.Node.ptr(0, 0)), (x$82 = yypt - 0 >> 0, ((x$82 < 0 || x$82 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$82])).exprlist);\n\t\t\t\t$r = yyVAL[0].stmt.SetLine((x$83 = yypt - 1 >> 0, ((x$83 < 0 || x$83 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$83])).token.Pos.Line); /* */ $s = 214; case 214: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (26)) { */ case 112:\n\t\t\t\tyyVAL[0].stmt = new ast.BreakStmt.ptr(new ast.StmtBase.ptr(new ast.Node.ptr(0, 0)));\n\t\t\t\t$r = yyVAL[0].stmt.SetLine((x$84 = yypt - 0 >> 0, ((x$84 < 0 || x$84 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$84])).token.Pos.Line); /* */ $s = 215; case 215: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (27)) { */ case 113:\n\t\t\t\tyyVAL[0].funcname = (x$85 = yypt - 0 >> 0, ((x$85 < 0 || x$85 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$85])).funcname;\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (28)) { */ case 114:\n\t\t\t\tyyVAL[0].funcname = new ast.FuncName.ptr($ifaceNil, (x$86 = yypt - 2 >> 0, ((x$86 < 0 || x$86 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$86])).funcname.Func, (x$87 = yypt - 0 >> 0, ((x$87 < 0 || x$87 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$87])).token.Str);\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (29)) { */ case 115:\n\t\t\t\tyyVAL[0].funcname = new ast.FuncName.ptr(new ast.IdentExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), (x$88 = yypt - 0 >> 0, ((x$88 < 0 || x$88 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$88])).token.Str), $ifaceNil, \"\");\n\t\t\t\t$r = yyVAL[0].funcname.Func.SetLine((x$89 = yypt - 0 >> 0, ((x$89 < 0 || x$89 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$89])).token.Pos.Line); /* */ $s = 216; case 216: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (30)) { */ case 116:\n\t\t\t\tkey = new ast.StringExpr.ptr(new ast.ConstExprBase.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0))), (x$90 = yypt - 0 >> 0, ((x$90 < 0 || x$90 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$90])).token.Str);\n\t\t\t\tkey.ConstExprBase.ExprBase.Node.SetLine((x$91 = yypt - 0 >> 0, ((x$91 < 0 || x$91 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$91])).token.Pos.Line);\n\t\t\t\tfn = new ast.AttrGetExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), (x$92 = yypt - 2 >> 0, ((x$92 < 0 || x$92 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$92])).funcname.Func, key);\n\t\t\t\tfn.ExprBase.Node.SetLine((x$93 = yypt - 0 >> 0, ((x$93 < 0 || x$93 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$93])).token.Pos.Line);\n\t\t\t\tyyVAL[0].funcname = new ast.FuncName.ptr(fn, $ifaceNil, \"\");\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (31)) { */ case 117:\n\t\t\t\tyyVAL[0].exprlist = new sliceType$6([(x$94 = yypt - 0 >> 0, ((x$94 < 0 || x$94 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$94])).expr]);\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (32)) { */ case 118:\n\t\t\t\tyyVAL[0].exprlist = $append((x$96 = yypt - 2 >> 0, ((x$96 < 0 || x$96 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$96])).exprlist, (x$95 = yypt - 0 >> 0, ((x$95 < 0 || x$95 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$95])).expr);\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (33)) { */ case 119:\n\t\t\t\tyyVAL[0].expr = new ast.IdentExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), (x$97 = yypt - 0 >> 0, ((x$97 < 0 || x$97 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$97])).token.Str);\n\t\t\t\t$r = yyVAL[0].expr.SetLine((x$98 = yypt - 0 >> 0, ((x$98 < 0 || x$98 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$98])).token.Pos.Line); /* */ $s = 217; case 217: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (34)) { */ case 120:\n\t\t\t\tyyVAL[0].expr = new ast.AttrGetExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), (x$99 = yypt - 3 >> 0, ((x$99 < 0 || x$99 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$99])).expr, (x$100 = yypt - 1 >> 0, ((x$100 < 0 || x$100 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$100])).expr);\n\t\t\t\t_r$21 = (x$101 = yypt - 3 >> 0, ((x$101 < 0 || x$101 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$101])).expr.Line(); /* */ $s = 218; case 218: if($c) { $c = false; _r$21 = _r$21.$blk(); } if (_r$21 && _r$21.$blk !== undefined) { break s; }\n\t\t\t\t$r = yyVAL[0].expr.SetLine(_r$21); /* */ $s = 219; case 219: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (35)) { */ case 121:\n\t\t\t\tkey$1 = new ast.StringExpr.ptr(new ast.ConstExprBase.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0))), (x$102 = yypt - 0 >> 0, ((x$102 < 0 || x$102 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$102])).token.Str);\n\t\t\t\tkey$1.ConstExprBase.ExprBase.Node.SetLine((x$103 = yypt - 0 >> 0, ((x$103 < 0 || x$103 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$103])).token.Pos.Line);\n\t\t\t\tyyVAL[0].expr = new ast.AttrGetExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), (x$104 = yypt - 2 >> 0, ((x$104 < 0 || x$104 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$104])).expr, key$1);\n\t\t\t\t_r$22 = (x$105 = yypt - 2 >> 0, ((x$105 < 0 || x$105 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$105])).expr.Line(); /* */ $s = 220; case 220: if($c) { $c = false; _r$22 = _r$22.$blk(); } if (_r$22 && _r$22.$blk !== undefined) { break s; }\n\t\t\t\t$r = yyVAL[0].expr.SetLine(_r$22); /* */ $s = 221; case 221: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (36)) { */ case 122:\n\t\t\t\tyyVAL[0].namelist = new sliceType([(x$106 = yypt - 0 >> 0, ((x$106 < 0 || x$106 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$106])).token.Str]);\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (37)) { */ case 123:\n\t\t\t\tyyVAL[0].namelist = $append((x$108 = yypt - 2 >> 0, ((x$108 < 0 || x$108 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$108])).namelist, (x$107 = yypt - 0 >> 0, ((x$107 < 0 || x$107 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$107])).token.Str);\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (38)) { */ case 124:\n\t\t\t\tyyVAL[0].exprlist = new sliceType$6([(x$109 = yypt - 0 >> 0, ((x$109 < 0 || x$109 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$109])).expr]);\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (39)) { */ case 125:\n\t\t\t\tyyVAL[0].exprlist = $append((x$111 = yypt - 2 >> 0, ((x$111 < 0 || x$111 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$111])).exprlist, (x$110 = yypt - 0 >> 0, ((x$110 < 0 || x$110 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$110])).expr);\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (40)) { */ case 126:\n\t\t\t\tyyVAL[0].expr = new ast.NilExpr.ptr(new ast.ConstExprBase.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0))));\n\t\t\t\t$r = yyVAL[0].expr.SetLine((x$112 = yypt - 0 >> 0, ((x$112 < 0 || x$112 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$112])).token.Pos.Line); /* */ $s = 222; case 222: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (41)) { */ case 127:\n\t\t\t\tyyVAL[0].expr = new ast.FalseExpr.ptr(new ast.ConstExprBase.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0))));\n\t\t\t\t$r = yyVAL[0].expr.SetLine((x$113 = yypt - 0 >> 0, ((x$113 < 0 || x$113 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$113])).token.Pos.Line); /* */ $s = 223; case 223: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (42)) { */ case 128:\n\t\t\t\tyyVAL[0].expr = new ast.TrueExpr.ptr(new ast.ConstExprBase.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0))));\n\t\t\t\t$r = yyVAL[0].expr.SetLine((x$114 = yypt - 0 >> 0, ((x$114 < 0 || x$114 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$114])).token.Pos.Line); /* */ $s = 224; case 224: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (43)) { */ case 129:\n\t\t\t\tyyVAL[0].expr = new ast.NumberExpr.ptr(new ast.ConstExprBase.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0))), (x$115 = yypt - 0 >> 0, ((x$115 < 0 || x$115 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$115])).token.Str);\n\t\t\t\t$r = yyVAL[0].expr.SetLine((x$116 = yypt - 0 >> 0, ((x$116 < 0 || x$116 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$116])).token.Pos.Line); /* */ $s = 225; case 225: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (44)) { */ case 130:\n\t\t\t\tyyVAL[0].expr = new ast.Comma3Expr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)));\n\t\t\t\t$r = yyVAL[0].expr.SetLine((x$117 = yypt - 0 >> 0, ((x$117 < 0 || x$117 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$117])).token.Pos.Line); /* */ $s = 226; case 226: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (45)) { */ case 131:\n\t\t\t\tyyVAL[0].expr = (x$118 = yypt - 0 >> 0, ((x$118 < 0 || x$118 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$118])).expr;\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (46)) { */ case 132:\n\t\t\t\tyyVAL[0].expr = (x$119 = yypt - 0 >> 0, ((x$119 < 0 || x$119 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$119])).expr;\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (47)) { */ case 133:\n\t\t\t\tyyVAL[0].expr = (x$120 = yypt - 0 >> 0, ((x$120 < 0 || x$120 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$120])).expr;\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (48)) { */ case 134:\n\t\t\t\tyyVAL[0].expr = (x$121 = yypt - 0 >> 0, ((x$121 < 0 || x$121 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$121])).expr;\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (49)) { */ case 135:\n\t\t\t\tyyVAL[0].expr = new ast.LogicalOpExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), \"or\", (x$122 = yypt - 2 >> 0, ((x$122 < 0 || x$122 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$122])).expr, (x$123 = yypt - 0 >> 0, ((x$123 < 0 || x$123 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$123])).expr);\n\t\t\t\t_r$23 = (x$124 = yypt - 2 >> 0, ((x$124 < 0 || x$124 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$124])).expr.Line(); /* */ $s = 227; case 227: if($c) { $c = false; _r$23 = _r$23.$blk(); } if (_r$23 && _r$23.$blk !== undefined) { break s; }\n\t\t\t\t$r = yyVAL[0].expr.SetLine(_r$23); /* */ $s = 228; case 228: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (50)) { */ case 136:\n\t\t\t\tyyVAL[0].expr = new ast.LogicalOpExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), \"and\", (x$125 = yypt - 2 >> 0, ((x$125 < 0 || x$125 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$125])).expr, (x$126 = yypt - 0 >> 0, ((x$126 < 0 || x$126 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$126])).expr);\n\t\t\t\t_r$24 = (x$127 = yypt - 2 >> 0, ((x$127 < 0 || x$127 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$127])).expr.Line(); /* */ $s = 229; case 229: if($c) { $c = false; _r$24 = _r$24.$blk(); } if (_r$24 && _r$24.$blk !== undefined) { break s; }\n\t\t\t\t$r = yyVAL[0].expr.SetLine(_r$24); /* */ $s = 230; case 230: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (51)) { */ case 137:\n\t\t\t\tyyVAL[0].expr = new ast.RelationalOpExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), \">\", (x$128 = yypt - 2 >> 0, ((x$128 < 0 || x$128 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$128])).expr, (x$129 = yypt - 0 >> 0, ((x$129 < 0 || x$129 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$129])).expr);\n\t\t\t\t_r$25 = (x$130 = yypt - 2 >> 0, ((x$130 < 0 || x$130 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$130])).expr.Line(); /* */ $s = 231; case 231: if($c) { $c = false; _r$25 = _r$25.$blk(); } if (_r$25 && _r$25.$blk !== undefined) { break s; }\n\t\t\t\t$r = yyVAL[0].expr.SetLine(_r$25); /* */ $s = 232; case 232: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (52)) { */ case 138:\n\t\t\t\tyyVAL[0].expr = new ast.RelationalOpExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), \"<\", (x$131 = yypt - 2 >> 0, ((x$131 < 0 || x$131 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$131])).expr, (x$132 = yypt - 0 >> 0, ((x$132 < 0 || x$132 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$132])).expr);\n\t\t\t\t_r$26 = (x$133 = yypt - 2 >> 0, ((x$133 < 0 || x$133 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$133])).expr.Line(); /* */ $s = 233; case 233: if($c) { $c = false; _r$26 = _r$26.$blk(); } if (_r$26 && _r$26.$blk !== undefined) { break s; }\n\t\t\t\t$r = yyVAL[0].expr.SetLine(_r$26); /* */ $s = 234; case 234: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (53)) { */ case 139:\n\t\t\t\tyyVAL[0].expr = new ast.RelationalOpExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), \">=\", (x$134 = yypt - 2 >> 0, ((x$134 < 0 || x$134 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$134])).expr, (x$135 = yypt - 0 >> 0, ((x$135 < 0 || x$135 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$135])).expr);\n\t\t\t\t_r$27 = (x$136 = yypt - 2 >> 0, ((x$136 < 0 || x$136 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$136])).expr.Line(); /* */ $s = 235; case 235: if($c) { $c = false; _r$27 = _r$27.$blk(); } if (_r$27 && _r$27.$blk !== undefined) { break s; }\n\t\t\t\t$r = yyVAL[0].expr.SetLine(_r$27); /* */ $s = 236; case 236: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (54)) { */ case 140:\n\t\t\t\tyyVAL[0].expr = new ast.RelationalOpExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), \"<=\", (x$137 = yypt - 2 >> 0, ((x$137 < 0 || x$137 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$137])).expr, (x$138 = yypt - 0 >> 0, ((x$138 < 0 || x$138 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$138])).expr);\n\t\t\t\t_r$28 = (x$139 = yypt - 2 >> 0, ((x$139 < 0 || x$139 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$139])).expr.Line(); /* */ $s = 237; case 237: if($c) { $c = false; _r$28 = _r$28.$blk(); } if (_r$28 && _r$28.$blk !== undefined) { break s; }\n\t\t\t\t$r = yyVAL[0].expr.SetLine(_r$28); /* */ $s = 238; case 238: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (55)) { */ case 141:\n\t\t\t\tyyVAL[0].expr = new ast.RelationalOpExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), \"==\", (x$140 = yypt - 2 >> 0, ((x$140 < 0 || x$140 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$140])).expr, (x$141 = yypt - 0 >> 0, ((x$141 < 0 || x$141 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$141])).expr);\n\t\t\t\t_r$29 = (x$142 = yypt - 2 >> 0, ((x$142 < 0 || x$142 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$142])).expr.Line(); /* */ $s = 239; case 239: if($c) { $c = false; _r$29 = _r$29.$blk(); } if (_r$29 && _r$29.$blk !== undefined) { break s; }\n\t\t\t\t$r = yyVAL[0].expr.SetLine(_r$29); /* */ $s = 240; case 240: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (56)) { */ case 142:\n\t\t\t\tyyVAL[0].expr = new ast.RelationalOpExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), \"~=\", (x$143 = yypt - 2 >> 0, ((x$143 < 0 || x$143 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$143])).expr, (x$144 = yypt - 0 >> 0, ((x$144 < 0 || x$144 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$144])).expr);\n\t\t\t\t_r$30 = (x$145 = yypt - 2 >> 0, ((x$145 < 0 || x$145 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$145])).expr.Line(); /* */ $s = 241; case 241: if($c) { $c = false; _r$30 = _r$30.$blk(); } if (_r$30 && _r$30.$blk !== undefined) { break s; }\n\t\t\t\t$r = yyVAL[0].expr.SetLine(_r$30); /* */ $s = 242; case 242: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (57)) { */ case 143:\n\t\t\t\tyyVAL[0].expr = new ast.StringConcatOpExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), (x$146 = yypt - 2 >> 0, ((x$146 < 0 || x$146 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$146])).expr, (x$147 = yypt - 0 >> 0, ((x$147 < 0 || x$147 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$147])).expr);\n\t\t\t\t_r$31 = (x$148 = yypt - 2 >> 0, ((x$148 < 0 || x$148 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$148])).expr.Line(); /* */ $s = 243; case 243: if($c) { $c = false; _r$31 = _r$31.$blk(); } if (_r$31 && _r$31.$blk !== undefined) { break s; }\n\t\t\t\t$r = yyVAL[0].expr.SetLine(_r$31); /* */ $s = 244; case 244: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (58)) { */ case 144:\n\t\t\t\tyyVAL[0].expr = new ast.ArithmeticOpExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), \"+\", (x$149 = yypt - 2 >> 0, ((x$149 < 0 || x$149 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$149])).expr, (x$150 = yypt - 0 >> 0, ((x$150 < 0 || x$150 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$150])).expr);\n\t\t\t\t_r$32 = (x$151 = yypt - 2 >> 0, ((x$151 < 0 || x$151 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$151])).expr.Line(); /* */ $s = 245; case 245: if($c) { $c = false; _r$32 = _r$32.$blk(); } if (_r$32 && _r$32.$blk !== undefined) { break s; }\n\t\t\t\t$r = yyVAL[0].expr.SetLine(_r$32); /* */ $s = 246; case 246: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (59)) { */ case 145:\n\t\t\t\tyyVAL[0].expr = new ast.ArithmeticOpExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), \"-\", (x$152 = yypt - 2 >> 0, ((x$152 < 0 || x$152 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$152])).expr, (x$153 = yypt - 0 >> 0, ((x$153 < 0 || x$153 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$153])).expr);\n\t\t\t\t_r$33 = (x$154 = yypt - 2 >> 0, ((x$154 < 0 || x$154 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$154])).expr.Line(); /* */ $s = 247; case 247: if($c) { $c = false; _r$33 = _r$33.$blk(); } if (_r$33 && _r$33.$blk !== undefined) { break s; }\n\t\t\t\t$r = yyVAL[0].expr.SetLine(_r$33); /* */ $s = 248; case 248: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (60)) { */ case 146:\n\t\t\t\tyyVAL[0].expr = new ast.ArithmeticOpExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), \"*\", (x$155 = yypt - 2 >> 0, ((x$155 < 0 || x$155 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$155])).expr, (x$156 = yypt - 0 >> 0, ((x$156 < 0 || x$156 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$156])).expr);\n\t\t\t\t_r$34 = (x$157 = yypt - 2 >> 0, ((x$157 < 0 || x$157 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$157])).expr.Line(); /* */ $s = 249; case 249: if($c) { $c = false; _r$34 = _r$34.$blk(); } if (_r$34 && _r$34.$blk !== undefined) { break s; }\n\t\t\t\t$r = yyVAL[0].expr.SetLine(_r$34); /* */ $s = 250; case 250: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (61)) { */ case 147:\n\t\t\t\tyyVAL[0].expr = new ast.ArithmeticOpExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), \"/\", (x$158 = yypt - 2 >> 0, ((x$158 < 0 || x$158 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$158])).expr, (x$159 = yypt - 0 >> 0, ((x$159 < 0 || x$159 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$159])).expr);\n\t\t\t\t_r$35 = (x$160 = yypt - 2 >> 0, ((x$160 < 0 || x$160 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$160])).expr.Line(); /* */ $s = 251; case 251: if($c) { $c = false; _r$35 = _r$35.$blk(); } if (_r$35 && _r$35.$blk !== undefined) { break s; }\n\t\t\t\t$r = yyVAL[0].expr.SetLine(_r$35); /* */ $s = 252; case 252: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (62)) { */ case 148:\n\t\t\t\tyyVAL[0].expr = new ast.ArithmeticOpExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), \"%\", (x$161 = yypt - 2 >> 0, ((x$161 < 0 || x$161 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$161])).expr, (x$162 = yypt - 0 >> 0, ((x$162 < 0 || x$162 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$162])).expr);\n\t\t\t\t_r$36 = (x$163 = yypt - 2 >> 0, ((x$163 < 0 || x$163 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$163])).expr.Line(); /* */ $s = 253; case 253: if($c) { $c = false; _r$36 = _r$36.$blk(); } if (_r$36 && _r$36.$blk !== undefined) { break s; }\n\t\t\t\t$r = yyVAL[0].expr.SetLine(_r$36); /* */ $s = 254; case 254: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (63)) { */ case 149:\n\t\t\t\tyyVAL[0].expr = new ast.ArithmeticOpExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), \"^\", (x$164 = yypt - 2 >> 0, ((x$164 < 0 || x$164 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$164])).expr, (x$165 = yypt - 0 >> 0, ((x$165 < 0 || x$165 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$165])).expr);\n\t\t\t\t_r$37 = (x$166 = yypt - 2 >> 0, ((x$166 < 0 || x$166 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$166])).expr.Line(); /* */ $s = 255; case 255: if($c) { $c = false; _r$37 = _r$37.$blk(); } if (_r$37 && _r$37.$blk !== undefined) { break s; }\n\t\t\t\t$r = yyVAL[0].expr.SetLine(_r$37); /* */ $s = 256; case 256: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (64)) { */ case 150:\n\t\t\t\tyyVAL[0].expr = new ast.UnaryMinusOpExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), (x$167 = yypt - 0 >> 0, ((x$167 < 0 || x$167 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$167])).expr);\n\t\t\t\t_r$38 = (x$168 = yypt - 0 >> 0, ((x$168 < 0 || x$168 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$168])).expr.Line(); /* */ $s = 257; case 257: if($c) { $c = false; _r$38 = _r$38.$blk(); } if (_r$38 && _r$38.$blk !== undefined) { break s; }\n\t\t\t\t$r = yyVAL[0].expr.SetLine(_r$38); /* */ $s = 258; case 258: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (65)) { */ case 151:\n\t\t\t\tyyVAL[0].expr = new ast.UnaryNotOpExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), (x$169 = yypt - 0 >> 0, ((x$169 < 0 || x$169 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$169])).expr);\n\t\t\t\t_r$39 = (x$170 = yypt - 0 >> 0, ((x$170 < 0 || x$170 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$170])).expr.Line(); /* */ $s = 259; case 259: if($c) { $c = false; _r$39 = _r$39.$blk(); } if (_r$39 && _r$39.$blk !== undefined) { break s; }\n\t\t\t\t$r = yyVAL[0].expr.SetLine(_r$39); /* */ $s = 260; case 260: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (66)) { */ case 152:\n\t\t\t\tyyVAL[0].expr = new ast.UnaryLenOpExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), (x$171 = yypt - 0 >> 0, ((x$171 < 0 || x$171 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$171])).expr);\n\t\t\t\t_r$40 = (x$172 = yypt - 0 >> 0, ((x$172 < 0 || x$172 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$172])).expr.Line(); /* */ $s = 261; case 261: if($c) { $c = false; _r$40 = _r$40.$blk(); } if (_r$40 && _r$40.$blk !== undefined) { break s; }\n\t\t\t\t$r = yyVAL[0].expr.SetLine(_r$40); /* */ $s = 262; case 262: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (67)) { */ case 153:\n\t\t\t\tyyVAL[0].expr = new ast.StringExpr.ptr(new ast.ConstExprBase.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0))), (x$173 = yypt - 0 >> 0, ((x$173 < 0 || x$173 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$173])).token.Str);\n\t\t\t\t$r = yyVAL[0].expr.SetLine((x$174 = yypt - 0 >> 0, ((x$174 < 0 || x$174 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$174])).token.Pos.Line); /* */ $s = 263; case 263: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (68)) { */ case 154:\n\t\t\t\tyyVAL[0].expr = (x$175 = yypt - 0 >> 0, ((x$175 < 0 || x$175 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$175])).expr;\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (69)) { */ case 155:\n\t\t\t\tyyVAL[0].expr = (x$176 = yypt - 0 >> 0, ((x$176 < 0 || x$176 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$176])).expr;\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (70)) { */ case 156:\n\t\t\t\tyyVAL[0].expr = (x$177 = yypt - 0 >> 0, ((x$177 < 0 || x$177 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$177])).expr;\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (71)) { */ case 157:\n\t\t\t\tyyVAL[0].expr = (x$178 = yypt - 1 >> 0, ((x$178 < 0 || x$178 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$178])).expr;\n\t\t\t\t$r = yyVAL[0].expr.SetLine((x$179 = yypt - 2 >> 0, ((x$179 < 0 || x$179 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$179])).token.Pos.Line); /* */ $s = 264; case 264: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (72)) { */ case 158:\n\t\t\t\t$assertType((x$180 = yypt - 1 >> 0, ((x$180 < 0 || x$180 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$180])).expr, ptrType$6).AdjustRet = true;\n\t\t\t\tyyVAL[0].expr = (x$181 = yypt - 1 >> 0, ((x$181 < 0 || x$181 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$181])).expr;\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (73)) { */ case 159:\n\t\t\t\tyyVAL[0].expr = new ast.FuncCallExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), (x$182 = yypt - 1 >> 0, ((x$182 < 0 || x$182 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$182])).expr, $ifaceNil, \"\", (x$183 = yypt - 0 >> 0, ((x$183 < 0 || x$183 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$183])).exprlist, false);\n\t\t\t\t_r$41 = (x$184 = yypt - 1 >> 0, ((x$184 < 0 || x$184 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$184])).expr.Line(); /* */ $s = 265; case 265: if($c) { $c = false; _r$41 = _r$41.$blk(); } if (_r$41 && _r$41.$blk !== undefined) { break s; }\n\t\t\t\t$r = yyVAL[0].expr.SetLine(_r$41); /* */ $s = 266; case 266: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (74)) { */ case 160:\n\t\t\t\tyyVAL[0].expr = new ast.FuncCallExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), $ifaceNil, (x$186 = yypt - 3 >> 0, ((x$186 < 0 || x$186 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$186])).expr, (x$185 = yypt - 1 >> 0, ((x$185 < 0 || x$185 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$185])).token.Str, (x$187 = yypt - 0 >> 0, ((x$187 < 0 || x$187 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$187])).exprlist, false);\n\t\t\t\t_r$42 = (x$188 = yypt - 3 >> 0, ((x$188 < 0 || x$188 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$188])).expr.Line(); /* */ $s = 267; case 267: if($c) { $c = false; _r$42 = _r$42.$blk(); } if (_r$42 && _r$42.$blk !== undefined) { break s; }\n\t\t\t\t$r = yyVAL[0].expr.SetLine(_r$42); /* */ $s = 268; case 268: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (75)) { */ case 161:\n\t\t\t\tif ($assertType(yylex, ptrType$5).PNewLine) {\n\t\t\t\t\t$assertType(yylex, ptrType$5).TokenError($clone((x$189 = yypt - 1 >> 0, ((x$189 < 0 || x$189 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$189])).token, ast.Token), \"ambiguous syntax (function call x new statement)\");\n\t\t\t\t}\n\t\t\t\tyyVAL[0].exprlist = new sliceType$6([]);\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (76)) { */ case 162:\n\t\t\t\tif ($assertType(yylex, ptrType$5).PNewLine) {\n\t\t\t\t\t$assertType(yylex, ptrType$5).TokenError($clone((x$190 = yypt - 2 >> 0, ((x$190 < 0 || x$190 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$190])).token, ast.Token), \"ambiguous syntax (function call x new statement)\");\n\t\t\t\t}\n\t\t\t\tyyVAL[0].exprlist = (x$191 = yypt - 1 >> 0, ((x$191 < 0 || x$191 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$191])).exprlist;\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (77)) { */ case 163:\n\t\t\t\tyyVAL[0].exprlist = new sliceType$6([(x$192 = yypt - 0 >> 0, ((x$192 < 0 || x$192 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$192])).expr]);\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (78)) { */ case 164:\n\t\t\t\tyyVAL[0].exprlist = new sliceType$6([(x$193 = yypt - 0 >> 0, ((x$193 < 0 || x$193 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$193])).expr]);\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (79)) { */ case 165:\n\t\t\t\tyyVAL[0].expr = new ast.FunctionExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), (x$194 = yypt - 0 >> 0, ((x$194 < 0 || x$194 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$194])).funcexpr.ParList, (x$195 = yypt - 0 >> 0, ((x$195 < 0 || x$195 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$195])).funcexpr.Stmts);\n\t\t\t\t$r = yyVAL[0].expr.SetLine((x$196 = yypt - 1 >> 0, ((x$196 < 0 || x$196 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$196])).token.Pos.Line); /* */ $s = 269; case 269: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$r = yyVAL[0].expr.SetLastLine((x$197 = yypt - 0 >> 0, ((x$197 < 0 || x$197 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$197])).funcexpr.ExprBase.Node.LastLine()); /* */ $s = 270; case 270: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (80)) { */ case 166:\n\t\t\t\tyyVAL[0].funcexpr = new ast.FunctionExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), (x$198 = yypt - 3 >> 0, ((x$198 < 0 || x$198 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$198])).parlist, (x$199 = yypt - 1 >> 0, ((x$199 < 0 || x$199 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$199])).stmts);\n\t\t\t\tyyVAL[0].funcexpr.ExprBase.Node.SetLine((x$200 = yypt - 4 >> 0, ((x$200 < 0 || x$200 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$200])).token.Pos.Line);\n\t\t\t\tyyVAL[0].funcexpr.ExprBase.Node.SetLastLine((x$201 = yypt - 0 >> 0, ((x$201 < 0 || x$201 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$201])).token.Pos.Line);\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (81)) { */ case 167:\n\t\t\t\tyyVAL[0].funcexpr = new ast.FunctionExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), new ast.ParList.ptr(false, new sliceType([])), (x$202 = yypt - 1 >> 0, ((x$202 < 0 || x$202 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$202])).stmts);\n\t\t\t\tyyVAL[0].funcexpr.ExprBase.Node.SetLine((x$203 = yypt - 3 >> 0, ((x$203 < 0 || x$203 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$203])).token.Pos.Line);\n\t\t\t\tyyVAL[0].funcexpr.ExprBase.Node.SetLastLine((x$204 = yypt - 0 >> 0, ((x$204 < 0 || x$204 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$204])).token.Pos.Line);\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (82)) { */ case 168:\n\t\t\t\tyyVAL[0].parlist = new ast.ParList.ptr(true, new sliceType([]));\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (83)) { */ case 169:\n\t\t\t\tyyVAL[0].parlist = new ast.ParList.ptr(false, new sliceType([]));\n\t\t\t\tyyVAL[0].parlist.Names = $appendSlice(yyVAL[0].parlist.Names, (x$205 = yypt - 0 >> 0, ((x$205 < 0 || x$205 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$205])).namelist);\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (84)) { */ case 170:\n\t\t\t\tyyVAL[0].parlist = new ast.ParList.ptr(true, new sliceType([]));\n\t\t\t\tyyVAL[0].parlist.Names = $appendSlice(yyVAL[0].parlist.Names, (x$206 = yypt - 2 >> 0, ((x$206 < 0 || x$206 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$206])).namelist);\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (85)) { */ case 171:\n\t\t\t\tyyVAL[0].expr = new ast.TableExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), new sliceType$7([]));\n\t\t\t\t$r = yyVAL[0].expr.SetLine((x$207 = yypt - 1 >> 0, ((x$207 < 0 || x$207 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$207])).token.Pos.Line); /* */ $s = 271; case 271: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (86)) { */ case 172:\n\t\t\t\tyyVAL[0].expr = new ast.TableExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), (x$208 = yypt - 1 >> 0, ((x$208 < 0 || x$208 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$208])).fieldlist);\n\t\t\t\t$r = yyVAL[0].expr.SetLine((x$209 = yypt - 2 >> 0, ((x$209 < 0 || x$209 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$209])).token.Pos.Line); /* */ $s = 272; case 272: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (87)) { */ case 173:\n\t\t\t\tyyVAL[0].fieldlist = new sliceType$7([(x$210 = yypt - 0 >> 0, ((x$210 < 0 || x$210 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$210])).field]);\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (88)) { */ case 174:\n\t\t\t\tyyVAL[0].fieldlist = $append((x$212 = yypt - 2 >> 0, ((x$212 < 0 || x$212 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$212])).fieldlist, (x$211 = yypt - 0 >> 0, ((x$211 < 0 || x$211 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$211])).field);\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (89)) { */ case 175:\n\t\t\t\tyyVAL[0].fieldlist = (x$213 = yypt - 1 >> 0, ((x$213 < 0 || x$213 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$213])).fieldlist;\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (90)) { */ case 176:\n\t\t\t\tyyVAL[0].field = new ast.Field.ptr(new ast.StringExpr.ptr(new ast.ConstExprBase.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0))), (x$214 = yypt - 2 >> 0, ((x$214 < 0 || x$214 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$214])).token.Str), (x$215 = yypt - 0 >> 0, ((x$215 < 0 || x$215 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$215])).expr);\n\t\t\t\t$r = yyVAL[0].field.Key.SetLine((x$216 = yypt - 2 >> 0, ((x$216 < 0 || x$216 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$216])).token.Pos.Line); /* */ $s = 273; case 273: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (91)) { */ case 177:\n\t\t\t\tyyVAL[0].field = new ast.Field.ptr((x$217 = yypt - 3 >> 0, ((x$217 < 0 || x$217 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$217])).expr, (x$218 = yypt - 0 >> 0, ((x$218 < 0 || x$218 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$218])).expr);\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (92)) { */ case 178:\n\t\t\t\tyyVAL[0].field = new ast.Field.ptr($ifaceNil, (x$219 = yypt - 0 >> 0, ((x$219 < 0 || x$219 >= yyS.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yyS.$array[yyS.$offset + x$219])).expr);\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (93)) { */ case 179:\n\t\t\t\tyyVAL[0].fieldsep = \",\";\n\t\t\t\t$s = 181; continue;\n\t\t\t/* } else if (_2 === (94)) { */ case 180:\n\t\t\t\tyyVAL[0].fieldsep = \";\";\n\t\t\t/* } */ case 181:\n\t\tcase 86:\n\t\tif (!(!($interfaceIsEqual(yyEx, $ifaceNil)))) { _v = false; $s = 276; continue s; }\n\t\t_r$43 = yyEx.Reduced(r, exState, yyVAL[0]); /* */ $s = 277; case 277: if($c) { $c = false; _r$43 = _r$43.$blk(); } if (_r$43 && _r$43.$blk !== undefined) { break s; }\n\t\t_v = _r$43; case 276:\n\t\t/* */ if (_v) { $s = 274; continue; }\n\t\t/* */ $s = 275; continue;\n\t\t/* if (_v) { */ case 274:\n\t\t\t$s = -1; return -1;\n\t\t/* } */ case 275:\n\t\t/* goto yystack */ $s = 1; continue;\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: yyParse }; } $f.Errflag = Errflag; $f.Nerrs = Nerrs; $f._1 = _1; $f._2 = _2; $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._entry = _entry; $f._entry$1 = _entry$1; $f._entry$2 = _entry$2; $f._entry$3 = _entry$3; $f._entry$4 = _entry$4; $f._entry$5 = _entry$5; $f._entry$6 = _entry$6; $f._i = _i; $f._i$1 = _i$1; $f._i$2 = _i$2; $f._r = _r; $f._r$1 = _r$1; $f._r$10 = _r$10; $f._r$11 = _r$11; $f._r$12 = _r$12; $f._r$13 = _r$13; $f._r$14 = _r$14; $f._r$15 = _r$15; $f._r$16 = _r$16; $f._r$17 = _r$17; $f._r$18 = _r$18; $f._r$19 = _r$19; $f._r$2 = _r$2; $f._r$20 = _r$20; $f._r$21 = _r$21; $f._r$22 = _r$22; $f._r$23 = _r$23; $f._r$24 = _r$24; $f._r$25 = _r$25; $f._r$26 = _r$26; $f._r$27 = _r$27; $f._r$28 = _r$28; $f._r$29 = _r$29; $f._r$3 = _r$3; $f._r$30 = _r$30; $f._r$31 = _r$31; $f._r$32 = _r$32; $f._r$33 = _r$33; $f._r$34 = _r$34; $f._r$35 = _r$35; $f._r$36 = _r$36; $f._r$37 = _r$37; $f._r$38 = _r$38; $f._r$39 = _r$39; $f._r$4 = _r$4; $f._r$40 = _r$40; $f._r$41 = _r$41; $f._r$42 = _r$42; $f._r$43 = _r$43; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._r$8 = _r$8; $f._r$9 = _r$9; $f._ref = _ref; $f._ref$1 = _ref$1; $f._ref$2 = _ref$2; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f._tuple$3 = _tuple$3; $f._tuple$4 = _tuple$4; $f._tuple$5 = _tuple$5; $f._tuple$6 = _tuple$6; $f._tuple$7 = _tuple$7; $f._tuple$8 = _tuple$8; $f._tuple$9 = _tuple$9; $f._v = _v; $f.a = a; $f.cur = cur; $f.cur$1 = cur$1; $f.elseif = elseif; $f.elseif$1 = elseif$1; $f.exState = exState; $f.fn = fn; $f.key = key; $f.key$1 = key$1; $f.l = l; $f.l$1 = l$1; $f.l$2 = l$2; $f.ls = ls; $f.msg = msg; $f.n = n; $f.nyys = nyys; $f.nyys$1 = nyys$1; $f.ok = ok; $f.ok$1 = ok$1; $f.ok$2 = ok$2; $f.ok$3 = ok$3; $f.ok$4 = ok$4; $f.ok$5 = ok$5; $f.r = r; $f.row = row; $f.row$1 = row$1; $f.v = v; $f.x = x; $f.x$1 = x$1; $f.x$10 = x$10; $f.x$100 = x$100; $f.x$101 = x$101; $f.x$102 = x$102; $f.x$103 = x$103; $f.x$104 = x$104; $f.x$105 = x$105; $f.x$106 = x$106; $f.x$107 = x$107; $f.x$108 = x$108; $f.x$109 = x$109; $f.x$11 = x$11; $f.x$110 = x$110; $f.x$111 = x$111; $f.x$112 = x$112; $f.x$113 = x$113; $f.x$114 = x$114; $f.x$115 = x$115; $f.x$116 = x$116; $f.x$117 = x$117; $f.x$118 = x$118; $f.x$119 = x$119; $f.x$12 = x$12; $f.x$120 = x$120; $f.x$121 = x$121; $f.x$122 = x$122; $f.x$123 = x$123; $f.x$124 = x$124; $f.x$125 = x$125; $f.x$126 = x$126; $f.x$127 = x$127; $f.x$128 = x$128; $f.x$129 = x$129; $f.x$13 = x$13; $f.x$130 = x$130; $f.x$131 = x$131; $f.x$132 = x$132; $f.x$133 = x$133; $f.x$134 = x$134; $f.x$135 = x$135; $f.x$136 = x$136; $f.x$137 = x$137; $f.x$138 = x$138; $f.x$139 = x$139; $f.x$14 = x$14; $f.x$140 = x$140; $f.x$141 = x$141; $f.x$142 = x$142; $f.x$143 = x$143; $f.x$144 = x$144; $f.x$145 = x$145; $f.x$146 = x$146; $f.x$147 = x$147; $f.x$148 = x$148; $f.x$149 = x$149; $f.x$15 = x$15; $f.x$150 = x$150; $f.x$151 = x$151; $f.x$152 = x$152; $f.x$153 = x$153; $f.x$154 = x$154; $f.x$155 = x$155; $f.x$156 = x$156; $f.x$157 = x$157; $f.x$158 = x$158; $f.x$159 = x$159; $f.x$16 = x$16; $f.x$160 = x$160; $f.x$161 = x$161; $f.x$162 = x$162; $f.x$163 = x$163; $f.x$164 = x$164; $f.x$165 = x$165; $f.x$166 = x$166; $f.x$167 = x$167; $f.x$168 = x$168; $f.x$169 = x$169; $f.x$17 = x$17; $f.x$170 = x$170; $f.x$171 = x$171; $f.x$172 = x$172; $f.x$173 = x$173; $f.x$174 = x$174; $f.x$175 = x$175; $f.x$176 = x$176; $f.x$177 = x$177; $f.x$178 = x$178; $f.x$179 = x$179; $f.x$18 = x$18; $f.x$180 = x$180; $f.x$181 = x$181; $f.x$182 = x$182; $f.x$183 = x$183; $f.x$184 = x$184; $f.x$185 = x$185; $f.x$186 = x$186; $f.x$187 = x$187; $f.x$188 = x$188; $f.x$189 = x$189; $f.x$19 = x$19; $f.x$190 = x$190; $f.x$191 = x$191; $f.x$192 = x$192; $f.x$193 = x$193; $f.x$194 = x$194; $f.x$195 = x$195; $f.x$196 = x$196; $f.x$197 = x$197; $f.x$198 = x$198; $f.x$199 = x$199; $f.x$2 = x$2; $f.x$20 = x$20; $f.x$200 = x$200; $f.x$201 = x$201; $f.x$202 = x$202; $f.x$203 = x$203; $f.x$204 = x$204; $f.x$205 = x$205; $f.x$206 = x$206; $f.x$207 = x$207; $f.x$208 = x$208; $f.x$209 = x$209; $f.x$21 = x$21; $f.x$210 = x$210; $f.x$211 = x$211; $f.x$212 = x$212; $f.x$213 = x$213; $f.x$214 = x$214; $f.x$215 = x$215; $f.x$216 = x$216; $f.x$217 = x$217; $f.x$218 = x$218; $f.x$219 = x$219; $f.x$22 = x$22; $f.x$23 = x$23; $f.x$24 = x$24; $f.x$25 = x$25; $f.x$26 = x$26; $f.x$27 = x$27; $f.x$28 = x$28; $f.x$29 = x$29; $f.x$3 = x$3; $f.x$30 = x$30; $f.x$31 = x$31; $f.x$32 = x$32; $f.x$33 = x$33; $f.x$34 = x$34; $f.x$35 = x$35; $f.x$36 = x$36; $f.x$37 = x$37; $f.x$38 = x$38; $f.x$39 = x$39; $f.x$4 = x$4; $f.x$40 = x$40; $f.x$41 = x$41; $f.x$42 = x$42; $f.x$43 = x$43; $f.x$44 = x$44; $f.x$45 = x$45; $f.x$46 = x$46; $f.x$47 = x$47; $f.x$48 = x$48; $f.x$49 = x$49; $f.x$5 = x$5; $f.x$50 = x$50; $f.x$51 = x$51; $f.x$52 = x$52; $f.x$53 = x$53; $f.x$54 = x$54; $f.x$55 = x$55; $f.x$56 = x$56; $f.x$57 = x$57; $f.x$58 = x$58; $f.x$59 = x$59; $f.x$6 = x$6; $f.x$60 = x$60; $f.x$61 = x$61; $f.x$62 = x$62; $f.x$63 = x$63; $f.x$64 = x$64; $f.x$65 = x$65; $f.x$66 = x$66; $f.x$67 = x$67; $f.x$68 = x$68; $f.x$69 = x$69; $f.x$7 = x$7; $f.x$70 = x$70; $f.x$71 = x$71; $f.x$72 = x$72; $f.x$73 = x$73; $f.x$74 = x$74; $f.x$75 = x$75; $f.x$76 = x$76; $f.x$77 = x$77; $f.x$78 = x$78; $f.x$79 = x$79; $f.x$8 = x$8; $f.x$80 = x$80; $f.x$81 = x$81; $f.x$82 = x$82; $f.x$83 = x$83; $f.x$84 = x$84; $f.x$85 = x$85; $f.x$86 = x$86; $f.x$87 = x$87; $f.x$88 = x$88; $f.x$89 = x$89; $f.x$9 = x$9; $f.x$90 = x$90; $f.x$91 = x$91; $f.x$92 = x$92; $f.x$93 = x$93; $f.x$94 = x$94; $f.x$95 = x$95; $f.x$96 = x$96; $f.x$97 = x$97; $f.x$98 = x$98; $f.x$99 = x$99; $f.x0 = x0; $f.yyEx = yyEx; $f.yyS = yyS; $f.yyVAL = yyVAL; $f.yychar = yychar; $f.yyerrok = yyerrok; $f.yylex = yylex; $f.yylval = yylval; $f.yyn = yyn; $f.yyp = yyp; $f.yypt = yypt; $f.yyshift = yyshift; $f.yystate = yystate; $f.yyxchar = yyxchar; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tTokenName = function(c) {\n\t\tvar c, x, x$1;\n\t\tif (c >= 57346 && (c - 57346 >> 0) < yySymNames.$length) {\n\t\t\tif (!((x = c - 57346 >> 0, ((x < 0 || x >= yySymNames.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yySymNames.$array[yySymNames.$offset + x])) === \"\")) {\n\t\t\t\treturn (x$1 = c - 57346 >> 0, ((x$1 < 0 || x$1 >= yySymNames.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : yySymNames.$array[yySymNames.$offset + x$1]));\n\t\t\t}\n\t\t}\n\t\treturn ($bytesToString(new sliceType$3([((c << 24 >>> 24))])));\n\t};\n\t$pkg.TokenName = TokenName;\n\tptrType$8.methods = [{prop: \"Error\", name: \"Error\", pkg: \"\", typ: $funcType([], [$String], false)}];\n\tptrType$10.methods = [{prop: \"Error\", name: \"Error\", pkg: \"\", typ: $funcType([$String, $String], [ptrType$8], false)}, {prop: \"TokenError\", name: \"TokenError\", pkg: \"\", typ: $funcType([ast.Token, $String], [ptrType$8], false)}, {prop: \"readNext\", name: \"readNext\", pkg: \"github.com/J-J-J/goluajit/parse\", typ: $funcType([], [$Int], false)}, {prop: \"Newline\", name: \"Newline\", pkg: \"\", typ: $funcType([$Int], [], false)}, {prop: \"Next\", name: \"Next\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Peek\", name: \"Peek\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"skipWhiteSpace\", name: \"skipWhiteSpace\", pkg: \"github.com/J-J-J/goluajit/parse\", typ: $funcType([$Int64], [$Int], false)}, {prop: \"skipComments\", name: \"skipComments\", pkg: \"github.com/J-J-J/goluajit/parse\", typ: $funcType([$Int], [$error], false)}, {prop: \"scanIdent\", name: \"scanIdent\", pkg: \"github.com/J-J-J/goluajit/parse\", typ: $funcType([$Int, ptrType$9], [$error], false)}, {prop: \"scanDecimal\", name: \"scanDecimal\", pkg: \"github.com/J-J-J/goluajit/parse\", typ: $funcType([$Int, ptrType$9], [$error], false)}, {prop: \"scanNumber\", name: \"scanNumber\", pkg: \"github.com/J-J-J/goluajit/parse\", typ: $funcType([$Int, ptrType$9], [$error], false)}, {prop: \"scanString\", name: \"scanString\", pkg: \"github.com/J-J-J/goluajit/parse\", typ: $funcType([$Int, ptrType$9], [$error], false)}, {prop: \"scanEscape\", name: \"scanEscape\", pkg: \"github.com/J-J-J/goluajit/parse\", typ: $funcType([$Int, ptrType$9], [$error], false)}, {prop: \"countSep\", name: \"countSep\", pkg: \"github.com/J-J-J/goluajit/parse\", typ: $funcType([$Int], [$Int, $Int], false)}, {prop: \"scanMultilineString\", name: \"scanMultilineString\", pkg: \"github.com/J-J-J/goluajit/parse\", typ: $funcType([$Int, ptrType$9], [$error], false)}, {prop: \"Scan\", name: \"Scan\", pkg: \"\", typ: $funcType([ptrType$5], [ast.Token, $error], false)}];\n\tptrType$5.methods = [{prop: \"Lex\", name: \"Lex\", pkg: \"\", typ: $funcType([ptrType$11], [$Int], false)}, {prop: \"Error\", name: \"Error\", pkg: \"\", typ: $funcType([$String], [], false)}, {prop: \"TokenError\", name: \"TokenError\", pkg: \"\", typ: $funcType([ast.Token, $String], [], false)}];\n\tError.init(\"\", [{prop: \"Pos\", name: \"Pos\", embedded: false, exported: true, typ: ast.Position, tag: \"\"}, {prop: \"Message\", name: \"Message\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"Token\", name: \"Token\", embedded: false, exported: true, typ: $String, tag: \"\"}]);\n\tScanner.init(\"github.com/J-J-J/goluajit/parse\", [{prop: \"Pos\", name: \"Pos\", embedded: false, exported: true, typ: ast.Position, tag: \"\"}, {prop: \"reader\", name: \"reader\", embedded: false, exported: false, typ: ptrType, tag: \"\"}]);\n\tLexer.init(\"github.com/J-J-J/goluajit/parse\", [{prop: \"scanner\", name: \"scanner\", embedded: false, exported: false, typ: ptrType$10, tag: \"\"}, {prop: \"Stmts\", name: \"Stmts\", embedded: false, exported: true, typ: sliceType$4, tag: \"\"}, {prop: \"PNewLine\", name: \"PNewLine\", embedded: false, exported: true, typ: $Bool, tag: \"\"}, {prop: \"Token\", name: \"Token\", embedded: false, exported: true, typ: ast.Token, tag: \"\"}, {prop: \"PrevTokenType\", name: \"PrevTokenType\", embedded: false, exported: true, typ: $Int, tag: \"\"}]);\n\tyySymType.init(\"github.com/J-J-J/goluajit/parse\", [{prop: \"yys\", name: \"yys\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"token\", name: \"token\", embedded: false, exported: false, typ: ast.Token, tag: \"\"}, {prop: \"stmts\", name: \"stmts\", embedded: false, exported: false, typ: sliceType$4, tag: \"\"}, {prop: \"stmt\", name: \"stmt\", embedded: false, exported: false, typ: ast.Stmt, tag: \"\"}, {prop: \"funcname\", name: \"funcname\", embedded: false, exported: false, typ: ptrType$1, tag: \"\"}, {prop: \"funcexpr\", name: \"funcexpr\", embedded: false, exported: false, typ: ptrType$2, tag: \"\"}, {prop: \"exprlist\", name: \"exprlist\", embedded: false, exported: false, typ: sliceType$6, tag: \"\"}, {prop: \"expr\", name: \"expr\", embedded: false, exported: false, typ: ast.Expr, tag: \"\"}, {prop: \"fieldlist\", name: \"fieldlist\", embedded: false, exported: false, typ: sliceType$7, tag: \"\"}, {prop: \"field\", name: \"field\", embedded: false, exported: false, typ: ptrType$3, tag: \"\"}, {prop: \"fieldsep\", name: \"fieldsep\", embedded: false, exported: false, typ: $String, tag: \"\"}, {prop: \"namelist\", name: \"namelist\", embedded: false, exported: false, typ: sliceType, tag: \"\"}, {prop: \"parlist\", name: \"parlist\", embedded: false, exported: false, typ: ptrType$4, tag: \"\"}]);\n\tyyXError.init(\"github.com/J-J-J/goluajit/parse\", [{prop: \"state\", name: \"state\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"xsym\", name: \"xsym\", embedded: false, exported: false, typ: $Int, tag: \"\"}]);\n\tyyLexerEx.init([{prop: \"Error\", name: \"Error\", pkg: \"\", typ: $funcType([$String], [], false)}, {prop: \"Lex\", name: \"Lex\", pkg: \"\", typ: $funcType([ptrType$11], [$Int], false)}, {prop: \"Reduced\", name: \"Reduced\", pkg: \"\", typ: $funcType([$Int, $Int, ptrType$11], [$Bool], false)}]);\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = bufio.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = bytes.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = fmt.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = ast.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = io.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = reflect.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = strconv.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = strings.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\treservedWords = $makeMap($String.keyFor, [{ k: \"and\", v: 57346 }, { k: \"break\", v: 57347 }, { k: \"do\", v: 57348 }, { k: \"else\", v: 57349 }, { k: \"elseif\", v: 57350 }, { k: \"end\", v: 57351 }, { k: \"false\", v: 57352 }, { k: \"for\", v: 57353 }, { k: \"function\", v: 57354 }, { k: \"if\", v: 57355 }, { k: \"in\", v: 57356 }, { k: \"local\", v: 57357 }, { k: \"nil\", v: 57358 }, { k: \"not\", v: 57359 }, { k: \"or\", v: 57360 }, { k: \"return\", v: 57361 }, { k: \"repeat\", v: 57362 }, { k: \"then\", v: 57363 }, { k: \"true\", v: 57364 }, { k: \"until\", v: 57365 }, { k: \"while\", v: 57366 }]);\n\t\tyyXLAT = $makeMap($Int.keyFor, [{ k: 40, v: 0 }, { k: 57373, v: 1 }, { k: 57354, v: 2 }, { k: 45, v: 3 }, { k: 57351, v: 4 }, { k: 59, v: 5 }, { k: 57348, v: 6 }, { k: 57347, v: 7 }, { k: 57353, v: 8 }, { k: 57355, v: 9 }, { k: 57357, v: 10 }, { k: 57362, v: 11 }, { k: 57361, v: 12 }, { k: 57366, v: 13 }, { k: 57349, v: 14 }, { k: 57350, v: 15 }, { k: 57365, v: 16 }, { k: 57344, v: 17 }, { k: 44, v: 18 }, { k: 123, v: 19 }, { k: 57375, v: 20 }, { k: 37, v: 21 }, { k: 42, v: 22 }, { k: 43, v: 23 }, { k: 47, v: 24 }, { k: 60, v: 25 }, { k: 62, v: 26 }, { k: 94, v: 27 }, { k: 57371, v: 28 }, { k: 57346, v: 29 }, { k: 57367, v: 30 }, { k: 57370, v: 31 }, { k: 57369, v: 32 }, { k: 57368, v: 33 }, { k: 57360, v: 34 }, { k: 41, v: 35 }, { k: 125, v: 36 }, { k: 93, v: 37 }, { k: 57363, v: 38 }, { k: 57399, v: 39 }, { k: 57372, v: 40 }, { k: 57400, v: 41 }, { k: 35, v: 42 }, { k: 57378, v: 43 }, { k: 57393, v: 44 }, { k: 57397, v: 45 }, { k: 57352, v: 46 }, { k: 57358, v: 47 }, { k: 57359, v: 48 }, { k: 57374, v: 49 }, { k: 57364, v: 50 }, { k: 57401, v: 51 }, { k: 57384, v: 52 }, { k: 57392, v: 53 }, { k: 91, v: 54 }, { k: 46, v: 55 }, { k: 58, v: 56 }, { k: 61, v: 57 }, { k: 57381, v: 58 }, { k: 57382, v: 59 }, { k: 57380, v: 60 }, { k: 57385, v: 61 }, { k: 57379, v: 62 }, { k: 57389, v: 63 }, { k: 57395, v: 64 }, { k: 57356, v: 65 }, { k: 57386, v: 66 }, { k: 57383, v: 67 }, { k: 57387, v: 68 }, { k: 57388, v: 69 }, { k: 57390, v: 70 }, { k: 57391, v: 71 }, { k: 57394, v: 72 }, { k: 57396, v: 73 }, { k: 57398, v: 74 }, { k: 57402, v: 75 }, { k: 57377, v: 76 }, { k: 57345, v: 77 }, { k: 57376, v: 78 }]);\n\t\tyySymNames = new sliceType([\"'('\", \"TIdent\", \"TFunction\", \"'-'\", \"TEnd\", \"';'\", \"TDo\", \"TBreak\", \"TFor\", \"TIf\", \"TLocal\", \"TRepeat\", \"TReturn\", \"TWhile\", \"TElse\", \"TElseIf\", \"TUntil\", \"$end\", \"','\", \"'{'\", \"TString\", \"'%'\", \"'*'\", \"'+'\", \"'/'\", \"'<'\", \"'>'\", \"'^'\", \"T2Comma\", \"TAnd\", \"TEqeq\", \"TGte\", \"TLte\", \"TNeq\", \"TOr\", \"')'\", \"'}'\", \"']'\", \"TThen\", \"string\", \"T3Comma\", \"tableconstructor\", \"'#'\", \"afunctioncall\", \"functioncall\", \"prefixexp\", \"TFalse\", \"TNil\", \"TNot\", \"TNumber\", \"TTrue\", \"var\", \"expr\", \"function\", \"'['\", \"'.'\", \"':'\", \"'='\", \"chunk\", \"chunk1\", \"block\", \"exprlist\", \"args\", \"funcbody\", \"namelist\", \"TIn\", \"field\", \"elseifs\", \"fieldlist\", \"fieldsep\", \"funcname\", \"funcname1\", \"laststat\", \"parlist\", \"stat\", \"varlist\", \"$default\", \"error\", \"UNARY\"]);\n\t\tyyTokenLiteralStrings = $makeMap($Int.keyFor, []);\n\t\tyyReductions = $makeMap($Int.keyFor, [{ k: 0, v: new structType.ptr(0, 1) }, { k: 1, v: new structType.ptr(58, 1) }, { k: 2, v: new structType.ptr(58, 2) }, { k: 3, v: new structType.ptr(58, 3) }, { k: 4, v: new structType.ptr(59, 0) }, { k: 5, v: new structType.ptr(59, 2) }, { k: 6, v: new structType.ptr(59, 2) }, { k: 7, v: new structType.ptr(60, 1) }, { k: 8, v: new structType.ptr(74, 3) }, { k: 9, v: new structType.ptr(74, 1) }, { k: 10, v: new structType.ptr(74, 3) }, { k: 11, v: new structType.ptr(74, 5) }, { k: 12, v: new structType.ptr(74, 4) }, { k: 13, v: new structType.ptr(74, 6) }, { k: 14, v: new structType.ptr(74, 8) }, { k: 15, v: new structType.ptr(74, 9) }, { k: 16, v: new structType.ptr(74, 11) }, { k: 17, v: new structType.ptr(74, 7) }, { k: 18, v: new structType.ptr(74, 3) }, { k: 19, v: new structType.ptr(74, 4) }, { k: 20, v: new structType.ptr(74, 4) }, { k: 21, v: new structType.ptr(74, 2) }, { k: 22, v: new structType.ptr(67, 0) }, { k: 23, v: new structType.ptr(67, 5) }, { k: 24, v: new structType.ptr(72, 1) }, { k: 25, v: new structType.ptr(72, 2) }, { k: 26, v: new structType.ptr(72, 1) }, { k: 27, v: new structType.ptr(70, 1) }, { k: 28, v: new structType.ptr(70, 3) }, { k: 29, v: new structType.ptr(71, 1) }, { k: 30, v: new structType.ptr(71, 3) }, { k: 31, v: new structType.ptr(75, 1) }, { k: 32, v: new structType.ptr(75, 3) }, { k: 33, v: new structType.ptr(51, 1) }, { k: 34, v: new structType.ptr(51, 4) }, { k: 35, v: new structType.ptr(51, 3) }, { k: 36, v: new structType.ptr(64, 1) }, { k: 37, v: new structType.ptr(64, 3) }, { k: 38, v: new structType.ptr(61, 1) }, { k: 39, v: new structType.ptr(61, 3) }, { k: 40, v: new structType.ptr(52, 1) }, { k: 41, v: new structType.ptr(52, 1) }, { k: 42, v: new structType.ptr(52, 1) }, { k: 43, v: new structType.ptr(52, 1) }, { k: 44, v: new structType.ptr(52, 1) }, { k: 45, v: new structType.ptr(52, 1) }, { k: 46, v: new structType.ptr(52, 1) }, { k: 47, v: new structType.ptr(52, 1) }, { k: 48, v: new structType.ptr(52, 1) }, { k: 49, v: new structType.ptr(52, 3) }, { k: 50, v: new structType.ptr(52, 3) }, { k: 51, v: new structType.ptr(52, 3) }, { k: 52, v: new structType.ptr(52, 3) }, { k: 53, v: new structType.ptr(52, 3) }, { k: 54, v: new structType.ptr(52, 3) }, { k: 55, v: new structType.ptr(52, 3) }, { k: 56, v: new structType.ptr(52, 3) }, { k: 57, v: new structType.ptr(52, 3) }, { k: 58, v: new structType.ptr(52, 3) }, { k: 59, v: new structType.ptr(52, 3) }, { k: 60, v: new structType.ptr(52, 3) }, { k: 61, v: new structType.ptr(52, 3) }, { k: 62, v: new structType.ptr(52, 3) }, { k: 63, v: new structType.ptr(52, 3) }, { k: 64, v: new structType.ptr(52, 2) }, { k: 65, v: new structType.ptr(52, 2) }, { k: 66, v: new structType.ptr(52, 2) }, { k: 67, v: new structType.ptr(39, 1) }, { k: 68, v: new structType.ptr(45, 1) }, { k: 69, v: new structType.ptr(45, 1) }, { k: 70, v: new structType.ptr(45, 1) }, { k: 71, v: new structType.ptr(45, 3) }, { k: 72, v: new structType.ptr(43, 3) }, { k: 73, v: new structType.ptr(44, 2) }, { k: 74, v: new structType.ptr(44, 4) }, { k: 75, v: new structType.ptr(62, 2) }, { k: 76, v: new structType.ptr(62, 3) }, { k: 77, v: new structType.ptr(62, 1) }, { k: 78, v: new structType.ptr(62, 1) }, { k: 79, v: new structType.ptr(53, 2) }, { k: 80, v: new structType.ptr(63, 5) }, { k: 81, v: new structType.ptr(63, 4) }, { k: 82, v: new structType.ptr(73, 1) }, { k: 83, v: new structType.ptr(73, 1) }, { k: 84, v: new structType.ptr(73, 3) }, { k: 85, v: new structType.ptr(41, 2) }, { k: 86, v: new structType.ptr(41, 3) }, { k: 87, v: new structType.ptr(68, 1) }, { k: 88, v: new structType.ptr(68, 3) }, { k: 89, v: new structType.ptr(68, 2) }, { k: 90, v: new structType.ptr(66, 3) }, { k: 91, v: new structType.ptr(66, 5) }, { k: 92, v: new structType.ptr(66, 1) }, { k: 93, v: new structType.ptr(69, 1) }, { k: 94, v: new structType.ptr(69, 1) }]);\n\t\tyyXErrors = $makeMap(yyXError.keyFor, []);\n\t\tyyParseTab = $toNativeArray($kindSlice, [new sliceType$1([91, 91, 91, 0, 0, 91, 91, 91, 91, 91, 91, 91, 91, 91, 0, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 97]), new sliceType$1([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95]), new sliceType$1([116, 113, 108, 0, 94, 100, 103, 111, 107, 106, 109, 105, 110, 104, 94, 94, 94, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 115, 102, 0, 0, 0, 0, 0, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, 99, 101]), new sliceType$1([0, 0, 0, 0, 93, 282, 0, 0, 0, 0, 0, 0, 0, 0, 93, 93, 93, 93]), new sliceType$1([90, 90, 90, 0, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90]), new sliceType$1([89, 89, 89, 0, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89]), new sliceType$1([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 278, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 277]), new sliceType$1([207, 86, 86, 0, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 209, 0, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, 204, 206, 0, 0, 0, 0, 0, 205]), new sliceType$1([91, 91, 91, 0, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, 97, 275]), new sliceType$1([116, 113, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 271, 123]), new sliceType$1([91, 91, 91, 0, 0, 91, 91, 91, 91, 91, 91, 91, 91, 91, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, 97, 268]), new sliceType$1([116, 113, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 256, 123]), new sliceType$1([0, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238]), new sliceType$1([0, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 229, 230]), new sliceType$1([0, 184, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 223]), new sliceType$1([116, 113, 133, 127, 71, 71, 0, 0, 0, 0, 0, 0, 0, 0, 71, 71, 71, 71, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 210, 123, 0, 0, 0, 0, 0, 0, 0, 221]), new sliceType$1([0, 0, 0, 0, 69, 69, 0, 0, 0, 0, 0, 0, 0, 0, 69, 69, 69, 69]), new sliceType$1([27, 27, 27, 0, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 64, 27, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 27, 27, 64]), new sliceType$1([62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 62, 62, 62]), new sliceType$1([26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 26, 26]), new sliceType$1([25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25]), new sliceType$1([116, 113, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 122, 125, 129, 114, 132, 117, 119, 118, 128, 121, 120, 131, 126, 123]), new sliceType$1([207, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 134, 130, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 209, 0, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, 204, 206, 0, 0, 0, 0, 0, 205]), new sliceType$1([55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 0, 0, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55]), new sliceType$1([54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 0, 0, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54]), new sliceType$1([53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53]), new sliceType$1([52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 0, 0, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52]), new sliceType$1([51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 0, 0, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51]), new sliceType$1([50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 0, 0, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50]), new sliceType$1([48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48]), new sliceType$1([47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47]), new sliceType$1([0, 0, 0, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 155, 153, 151, 154, 145, 144, 156, 150, 143, 148, 146, 147, 149, 142, 202]), new sliceType$1([116, 113, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 201, 123]), new sliceType$1([116, 113, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 200, 123]), new sliceType$1([116, 113, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 199, 123]), new sliceType$1([28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 28, 28]), new sliceType$1([27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 27, 27]), new sliceType$1([25, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 25, 25]), new sliceType$1([183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 182]), new sliceType$1([116, 135, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 136, 123, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 139, 0, 138]), new sliceType$1([62, 0, 0, 62, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 62, 62, 180]), new sliceType$1([0, 0, 0, 152, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 155, 153, 151, 154, 145, 144, 156, 150, 143, 148, 146, 147, 149, 142, 0, 3]), new sliceType$1([10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10]), new sliceType$1([0, 0, 0, 0, 0, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 176]), new sliceType$1([0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8]), new sliceType$1([116, 113, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 141, 123]), new sliceType$1([0, 0, 0, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 155, 153, 151, 154, 145, 144, 156, 150, 143, 148, 146, 147, 149, 142, 0, 0, 157]), new sliceType$1([116, 113, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 174, 123]), new sliceType$1([116, 113, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 173, 123]), new sliceType$1([116, 113, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 172, 123]), new sliceType$1([116, 113, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 171, 123]), new sliceType$1([116, 113, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 170, 123]), new sliceType$1([116, 113, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 169, 123]), new sliceType$1([116, 113, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 168, 123]), new sliceType$1([116, 113, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 167, 123]), new sliceType$1([116, 113, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 166, 123]), new sliceType$1([116, 113, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 165, 123]), new sliceType$1([116, 113, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 164, 123]), new sliceType$1([116, 113, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 163, 123]), new sliceType$1([116, 113, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 162, 123]), new sliceType$1([116, 113, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 161, 123]), new sliceType$1([116, 113, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 160, 123]), new sliceType$1([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 158]), new sliceType$1([116, 113, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 159, 123]), new sliceType$1([0, 0, 0, 152, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 155, 153, 151, 154, 145, 144, 156, 150, 143, 148, 146, 147, 149, 142, 0, 4]), new sliceType$1([32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 0, 0, 32, 32, 32, 32, 32, 32, 156, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32]), new sliceType$1([33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 0, 0, 33, 33, 33, 33, 33, 33, 156, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33]), new sliceType$1([34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 34, 34, 34, 34, 34, 34, 156, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34]), new sliceType$1([35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 0, 0, 35, 35, 35, 35, 35, 35, 156, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35]), new sliceType$1([36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 0, 0, 155, 153, 36, 154, 36, 36, 156, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36]), new sliceType$1([37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, 0, 155, 153, 37, 154, 37, 37, 156, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37]), new sliceType$1([38, 38, 38, 152, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 0, 0, 155, 153, 151, 154, 38, 38, 156, 150, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38]), new sliceType$1([39, 39, 39, 152, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 0, 0, 155, 153, 151, 154, 39, 39, 156, 150, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39]), new sliceType$1([40, 40, 40, 152, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 0, 0, 155, 153, 151, 154, 40, 40, 156, 150, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40]), new sliceType$1([41, 41, 41, 152, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 0, 155, 153, 151, 154, 41, 41, 156, 150, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41]), new sliceType$1([42, 42, 42, 152, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 0, 0, 155, 153, 151, 154, 42, 42, 156, 150, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42]), new sliceType$1([43, 43, 43, 152, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 0, 0, 155, 153, 151, 154, 43, 43, 156, 150, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43]), new sliceType$1([44, 44, 44, 152, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 0, 0, 155, 153, 151, 154, 44, 44, 156, 150, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44]), new sliceType$1([45, 45, 45, 152, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 155, 153, 151, 154, 145, 144, 156, 150, 45, 148, 146, 147, 149, 45, 45, 45, 45, 45]), new sliceType$1([46, 46, 46, 152, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, 155, 153, 151, 154, 145, 144, 156, 150, 143, 148, 146, 147, 149, 46, 46, 46, 46, 46]), new sliceType$1([9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9]), new sliceType$1([116, 135, 133, 127, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 136, 123, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 179]), new sliceType$1([2, 2, 2, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 2, 0, 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 2]), new sliceType$1([1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1]), new sliceType$1([0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7]), new sliceType$1([116, 113, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 181, 123]), new sliceType$1([0, 0, 0, 152, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 155, 153, 151, 154, 145, 144, 156, 150, 143, 148, 146, 147, 149, 142, 0, 5]), new sliceType$1([16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 0, 0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16]), new sliceType$1([0, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 185, 0, 0, 0, 0, 0, 0, 0, 0, 186]), new sliceType$1([59, 59, 59, 0, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59]), new sliceType$1([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12]), new sliceType$1([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192]), new sliceType$1([91, 91, 91, 0, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, 97, 190]), new sliceType$1([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13]), new sliceType$1([0, 0, 0, 0, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 88, 88]), new sliceType$1([0, 0, 0, 0, 191]), new sliceType$1([14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14]), new sliceType$1([91, 91, 91, 0, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, 97, 193]), new sliceType$1([0, 0, 0, 0, 194]), new sliceType$1([15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15]), new sliceType$1([0, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 197]), new sliceType$1([58, 58, 58, 0, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 58]), new sliceType$1([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11]), new sliceType$1([23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 23, 23]), new sliceType$1([29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 29, 29, 29, 29, 29, 29, 156, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29]), new sliceType$1([30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 0, 0, 30, 30, 30, 30, 30, 30, 156, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30]), new sliceType$1([31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 31, 31, 31, 31, 31, 31, 156, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31]), new sliceType$1([24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 24, 24]), new sliceType$1([116, 113, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 219, 123]), new sliceType$1([0, 218]), new sliceType$1([22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 22, 22]), new sliceType$1([0, 216]), new sliceType$1([116, 113, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 0, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 210, 123, 0, 0, 0, 0, 0, 0, 0, 211]), new sliceType$1([18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 18, 18]), new sliceType$1([17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 17]), new sliceType$1([57, 57, 57, 152, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 0, 0, 155, 153, 151, 154, 145, 144, 156, 150, 143, 148, 146, 147, 149, 142, 57]), new sliceType$1([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 214]), new sliceType$1([20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 20, 20]), new sliceType$1([116, 113, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 215, 123]), new sliceType$1([19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 19, 19]), new sliceType$1([56, 56, 56, 152, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 0, 0, 155, 153, 151, 154, 145, 144, 156, 150, 143, 148, 146, 147, 149, 142, 56]), new sliceType$1([207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 209, 0, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 217]), new sliceType$1([21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 21, 21]), new sliceType$1([60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 60, 60, 60]), new sliceType$1([0, 0, 0, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 155, 153, 151, 154, 145, 144, 156, 150, 143, 148, 146, 147, 149, 142, 0, 0, 220]), new sliceType$1([61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 61, 61, 61]), new sliceType$1([0, 0, 0, 0, 70, 70, 0, 0, 0, 0, 0, 0, 0, 0, 70, 70, 70, 70, 213]), new sliceType$1([0, 227]), new sliceType$1([74, 74, 74, 0, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224]), new sliceType$1([116, 113, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 210, 123, 0, 0, 0, 0, 0, 0, 0, 226]), new sliceType$1([0, 196]), new sliceType$1([75, 75, 75, 0, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 213]), new sliceType$1([183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 228]), new sliceType$1([76, 76, 76, 0, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76]), new sliceType$1([183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 236]), new sliceType$1([68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 233, 232]), new sliceType$1([66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 66]), new sliceType$1([0, 235]), new sliceType$1([0, 234]), new sliceType$1([65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 65]), new sliceType$1([67]), new sliceType$1([77, 77, 77, 0, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77]), new sliceType$1([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 244, 0, 0, 0, 0, 0, 0, 0, 59]), new sliceType$1([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 239]), new sliceType$1([116, 113, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 210, 123, 0, 0, 0, 0, 0, 0, 0, 240]), new sliceType$1([0, 0, 0, 0, 0, 0, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 213]), new sliceType$1([91, 91, 91, 0, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, 97, 242]), new sliceType$1([0, 0, 0, 0, 243]), new sliceType$1([78, 78, 78, 0, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78]), new sliceType$1([116, 113, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 245, 123]), new sliceType$1([0, 0, 0, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 155, 153, 151, 154, 145, 144, 156, 150, 143, 148, 146, 147, 149, 142]), new sliceType$1([116, 113, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 247, 123]), new sliceType$1([0, 0, 0, 152, 0, 0, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0, 155, 153, 151, 154, 145, 144, 156, 150, 143, 148, 146, 147, 149, 142]), new sliceType$1([91, 91, 91, 0, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, 97, 254]), new sliceType$1([116, 113, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 250, 123]), new sliceType$1([0, 0, 0, 152, 0, 0, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 155, 153, 151, 154, 145, 144, 156, 150, 143, 148, 146, 147, 149, 142]), new sliceType$1([91, 91, 91, 0, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, 97, 252]), new sliceType$1([0, 0, 0, 0, 253]), new sliceType$1([79, 79, 79, 0, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79]), new sliceType$1([0, 0, 0, 0, 255]), new sliceType$1([80, 80, 80, 0, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80]), new sliceType$1([0, 0, 0, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 155, 153, 151, 154, 145, 144, 156, 150, 143, 148, 146, 147, 149, 142, 0, 0, 0, 257]), new sliceType$1([91, 91, 91, 0, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, 97, 258]), new sliceType$1([0, 0, 0, 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259]), new sliceType$1([0, 0, 0, 0, 260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 261, 262]), new sliceType$1([82, 82, 82, 0, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82]), new sliceType$1([91, 91, 91, 0, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, 97, 266]), new sliceType$1([116, 113, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 263, 123]), new sliceType$1([0, 0, 0, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 155, 153, 151, 154, 145, 144, 156, 150, 143, 148, 146, 147, 149, 142, 0, 0, 0, 264]), new sliceType$1([91, 91, 91, 0, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, 97, 265]), new sliceType$1([0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 72]), new sliceType$1([0, 0, 0, 0, 267]), new sliceType$1([81, 81, 81, 0, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81]), new sliceType$1([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 269]), new sliceType$1([116, 113, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 270, 123]), new sliceType$1([83, 83, 83, 152, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 0, 0, 0, 155, 153, 151, 154, 145, 144, 156, 150, 143, 148, 146, 147, 149, 142]), new sliceType$1([0, 0, 0, 152, 0, 0, 272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 155, 153, 151, 154, 145, 144, 156, 150, 143, 148, 146, 147, 149, 142]), new sliceType$1([91, 91, 91, 0, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, 97, 273]), new sliceType$1([0, 0, 0, 0, 274]), new sliceType$1([84, 84, 84, 0, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84]), new sliceType$1([0, 0, 0, 0, 276]), new sliceType$1([85, 85, 85, 0, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85]), new sliceType$1([116, 113, 133, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 122, 125, 129, 114, 115, 117, 119, 118, 128, 121, 120, 131, 210, 123, 0, 0, 0, 0, 0, 0, 0, 281]), new sliceType$1([116, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 115, 280, 0, 0, 0, 0, 0, 279]), new sliceType$1([27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 27, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 27, 27, 63]), new sliceType$1([207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 209, 0, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, 204, 206, 0, 0, 0, 0, 0, 205]), new sliceType$1([87, 87, 87, 0, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 213]), new sliceType$1([0, 0, 0, 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92, 92, 92, 92])]);\n\t\tyyDebug = 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"github.com/J-J-J/goluajit/pm\"] = (function() {\n\tvar $pkg = {}, $init, fmt, Error, MatchData, scannerState, scanner, opCode, inst, class$1, dotClass, charClass, singleClass, setClass, rangeClass, pattern, singlePattern, seqPattern, repeatPattern, posCapPattern, capPattern, numberPattern, bracePattern, iptr, sliceType, sliceType$1, sliceType$2, ptrType, sliceType$3, sliceType$4, ptrType$1, ptrType$2, ptrType$3, sliceType$5, ptrType$4, ptrType$5, ptrType$6, ptrType$7, ptrType$8, sliceType$6, ptrType$9, sliceType$7, ptrType$10, ptrType$11, ptrType$12, ptrType$13, ptrType$14, ptrType$15, newError, newMatchState, newScanner, parseClass, parseClassSet, parsePattern, compilePattern, recursiveVM, Find;\n\tfmt = $packages[\"fmt\"];\n\tError = $pkg.Error = $newType(0, $kindStruct, \"pm.Error\", true, \"github.com/J-J-J/goluajit/pm\", true, function(Pos_, Message_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Pos = 0;\n\t\t\tthis.Message = \"\";\n\t\t\treturn;\n\t\t}\n\t\tthis.Pos = Pos_;\n\t\tthis.Message = Message_;\n\t});\n\tMatchData = $pkg.MatchData = $newType(0, $kindStruct, \"pm.MatchData\", true, \"github.com/J-J-J/goluajit/pm\", true, function(captures_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.captures = sliceType$1.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.captures = captures_;\n\t});\n\tscannerState = $pkg.scannerState = $newType(0, $kindStruct, \"pm.scannerState\", true, \"github.com/J-J-J/goluajit/pm\", false, function(Pos_, started_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Pos = 0;\n\t\t\tthis.started = false;\n\t\t\treturn;\n\t\t}\n\t\tthis.Pos = Pos_;\n\t\tthis.started = started_;\n\t});\n\tscanner = $pkg.scanner = $newType(0, $kindStruct, \"pm.scanner\", true, \"github.com/J-J-J/goluajit/pm\", false, function(src_, State_, saved_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.src = sliceType$2.nil;\n\t\t\tthis.State = new scannerState.ptr(0, false);\n\t\t\tthis.saved = new scannerState.ptr(0, false);\n\t\t\treturn;\n\t\t}\n\t\tthis.src = src_;\n\t\tthis.State = State_;\n\t\tthis.saved = saved_;\n\t});\n\topCode = $pkg.opCode = $newType(4, $kindInt, \"pm.opCode\", true, \"github.com/J-J-J/goluajit/pm\", false, null);\n\tinst = $pkg.inst = $newType(0, $kindStruct, \"pm.inst\", true, \"github.com/J-J-J/goluajit/pm\", false, function(OpCode_, Class_, Operand1_, Operand2_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.OpCode = 0;\n\t\t\tthis.Class = $ifaceNil;\n\t\t\tthis.Operand1 = 0;\n\t\t\tthis.Operand2 = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.OpCode = OpCode_;\n\t\tthis.Class = Class_;\n\t\tthis.Operand1 = Operand1_;\n\t\tthis.Operand2 = Operand2_;\n\t});\n\tclass$1 = $pkg.class = $newType(8, $kindInterface, \"pm.class\", true, \"github.com/J-J-J/goluajit/pm\", false, null);\n\tdotClass = $pkg.dotClass = $newType(0, $kindStruct, \"pm.dotClass\", true, \"github.com/J-J-J/goluajit/pm\", false, function() {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\treturn;\n\t\t}\n\t});\n\tcharClass = $pkg.charClass = $newType(0, $kindStruct, \"pm.charClass\", true, \"github.com/J-J-J/goluajit/pm\", false, function(Ch_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Ch = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.Ch = Ch_;\n\t});\n\tsingleClass = $pkg.singleClass = $newType(0, $kindStruct, \"pm.singleClass\", true, \"github.com/J-J-J/goluajit/pm\", false, function(Class_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Class = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.Class = Class_;\n\t});\n\tsetClass = $pkg.setClass = $newType(0, $kindStruct, \"pm.setClass\", true, \"github.com/J-J-J/goluajit/pm\", false, function(IsNot_, Classes_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.IsNot = false;\n\t\t\tthis.Classes = sliceType$3.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.IsNot = IsNot_;\n\t\tthis.Classes = Classes_;\n\t});\n\trangeClass = $pkg.rangeClass = $newType(0, $kindStruct, \"pm.rangeClass\", true, \"github.com/J-J-J/goluajit/pm\", false, function(Begin_, End_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Begin = $ifaceNil;\n\t\t\tthis.End = $ifaceNil;\n\t\t\treturn;\n\t\t}\n\t\tthis.Begin = Begin_;\n\t\tthis.End = End_;\n\t});\n\tpattern = $pkg.pattern = $newType(8, $kindInterface, \"pm.pattern\", true, \"github.com/J-J-J/goluajit/pm\", false, null);\n\tsinglePattern = $pkg.singlePattern = $newType(0, $kindStruct, \"pm.singlePattern\", true, \"github.com/J-J-J/goluajit/pm\", false, function(Class_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Class = $ifaceNil;\n\t\t\treturn;\n\t\t}\n\t\tthis.Class = Class_;\n\t});\n\tseqPattern = $pkg.seqPattern = $newType(0, $kindStruct, \"pm.seqPattern\", true, \"github.com/J-J-J/goluajit/pm\", false, function(MustHead_, MustTail_, Patterns_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.MustHead = false;\n\t\t\tthis.MustTail = false;\n\t\t\tthis.Patterns = sliceType$4.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.MustHead = MustHead_;\n\t\tthis.MustTail = MustTail_;\n\t\tthis.Patterns = Patterns_;\n\t});\n\trepeatPattern = $pkg.repeatPattern = $newType(0, $kindStruct, \"pm.repeatPattern\", true, \"github.com/J-J-J/goluajit/pm\", false, function(Type_, Class_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Type = 0;\n\t\t\tthis.Class = $ifaceNil;\n\t\t\treturn;\n\t\t}\n\t\tthis.Type = Type_;\n\t\tthis.Class = Class_;\n\t});\n\tposCapPattern = $pkg.posCapPattern = $newType(0, $kindStruct, \"pm.posCapPattern\", true, \"github.com/J-J-J/goluajit/pm\", false, function() {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\treturn;\n\t\t}\n\t});\n\tcapPattern = $pkg.capPattern = $newType(0, $kindStruct, \"pm.capPattern\", true, \"github.com/J-J-J/goluajit/pm\", false, function(Pattern_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Pattern = $ifaceNil;\n\t\t\treturn;\n\t\t}\n\t\tthis.Pattern = Pattern_;\n\t});\n\tnumberPattern = $pkg.numberPattern = $newType(0, $kindStruct, \"pm.numberPattern\", true, \"github.com/J-J-J/goluajit/pm\", false, function(N_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.N = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.N = N_;\n\t});\n\tbracePattern = $pkg.bracePattern = $newType(0, $kindStruct, \"pm.bracePattern\", true, \"github.com/J-J-J/goluajit/pm\", false, function(Begin_, End_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Begin = 0;\n\t\t\tthis.End = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.Begin = Begin_;\n\t\tthis.End = End_;\n\t});\n\tiptr = $pkg.iptr = $newType(0, $kindStruct, \"pm.iptr\", true, \"github.com/J-J-J/goluajit/pm\", false, function(insts_, capture_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.insts = sliceType$5.nil;\n\t\t\tthis.capture = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.insts = insts_;\n\t\tthis.capture = capture_;\n\t});\n\tsliceType = $sliceType($emptyInterface);\n\tsliceType$1 = $sliceType($Uint32);\n\tsliceType$2 = $sliceType($Uint8);\n\tptrType = $ptrType(charClass);\n\tsliceType$3 = $sliceType(class$1);\n\tsliceType$4 = $sliceType(pattern);\n\tptrType$1 = $ptrType(singlePattern);\n\tptrType$2 = $ptrType(seqPattern);\n\tptrType$3 = $ptrType(iptr);\n\tsliceType$5 = $sliceType(inst);\n\tptrType$4 = $ptrType(repeatPattern);\n\tptrType$5 = $ptrType(posCapPattern);\n\tptrType$6 = $ptrType(capPattern);\n\tptrType$7 = $ptrType(bracePattern);\n\tptrType$8 = $ptrType(numberPattern);\n\tsliceType$6 = $sliceType(ptrType$3);\n\tptrType$9 = $ptrType(MatchData);\n\tsliceType$7 = $sliceType(ptrType$9);\n\tptrType$10 = $ptrType(Error);\n\tptrType$11 = $ptrType(scanner);\n\tptrType$12 = $ptrType(dotClass);\n\tptrType$13 = $ptrType(singleClass);\n\tptrType$14 = $ptrType(setClass);\n\tptrType$15 = $ptrType(rangeClass);\n\tnewError = function(pos, message, args) {\n\t\tvar _r, args, message, pos, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; args = $f.args; message = $f.message; pos = $f.pos; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tif (args.$length === 0) {\n\t\t\t$s = -1; return new Error.ptr(pos, message);\n\t\t}\n\t\t_r = fmt.Sprintf(message, args); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return new Error.ptr(pos, _r);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: newError }; } $f._r = _r; $f.args = args; $f.message = message; $f.pos = pos; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tError.ptr.prototype.Error = function() {\n\t\tvar _1, _r, _r$1, _r$2, e, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; e = $f.e; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\te = this;\n\t\t\t_1 = e.Pos;\n\t\t\t/* */ if (_1 === (-1)) { $s = 2; continue; }\n\t\t\t/* */ if (_1 === (-2)) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (_1 === (-1)) { */ case 2:\n\t\t\t\t_r = fmt.Sprintf(\"%s at EOS\", new sliceType([new $String(e.Message)])); /* */ $s = 6; case 6: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return _r;\n\t\t\t/* } else if (_1 === (-2)) { */ case 3:\n\t\t\t\t_r$1 = fmt.Sprintf(\"%s\", new sliceType([new $String(e.Message)])); /* */ $s = 7; case 7: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return _r$1;\n\t\t\t/* } else { */ case 4:\n\t\t\t\t_r$2 = fmt.Sprintf(\"%s at %d\", new sliceType([new $String(e.Message), new $Int(e.Pos)])); /* */ $s = 8; case 8: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return _r$2;\n\t\t\t/* } */ case 5:\n\t\tcase 1:\n\t\t$s = -1; return \"\";\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Error.ptr.prototype.Error }; } $f._1 = _1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.e = e; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tError.prototype.Error = function() { return this.$val.Error(); };\n\tnewMatchState = function() {\n\t\treturn new MatchData.ptr(new sliceType$1([]));\n\t};\n\tMatchData.ptr.prototype.addPosCapture = function(s, pos) {\n\t\tvar pos, s, st, x, x$1, x$2;\n\t\tst = this;\n\t\twhile (true) {\n\t\t\tif (!((s + 1 >> 0) >= st.captures.$length)) { break; }\n\t\t\tst.captures = $append(st.captures, 0);\n\t\t}\n\t\t(x = st.captures, ((s < 0 || s >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + s] = ((((((pos >>> 0)) << 1 >>> 0)) | 1) >>> 0)));\n\t\t(x$1 = st.captures, x$2 = s + 1 >> 0, ((x$2 < 0 || x$2 >= x$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$1.$array[x$1.$offset + x$2] = ((((((pos >>> 0)) << 1 >>> 0)) | 1) >>> 0)));\n\t};\n\tMatchData.prototype.addPosCapture = function(s, pos) { return this.$val.addPosCapture(s, pos); };\n\tMatchData.ptr.prototype.setCapture = function(s, pos) {\n\t\tvar pos, s, st, v, x, x$1;\n\t\tst = this;\n\t\twhile (true) {\n\t\t\tif (!(s >= st.captures.$length)) { break; }\n\t\t\tst.captures = $append(st.captures, 0);\n\t\t}\n\t\tv = (x = st.captures, ((s < 0 || s >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + s]));\n\t\t(x$1 = st.captures, ((s < 0 || s >= x$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$1.$array[x$1.$offset + s] = ((((pos >>> 0)) << 1 >>> 0))));\n\t\treturn v;\n\t};\n\tMatchData.prototype.setCapture = function(s, pos) { return this.$val.setCapture(s, pos); };\n\tMatchData.ptr.prototype.restoreCapture = function(s, pos) {\n\t\tvar pos, s, st, x;\n\t\tst = this;\n\t\t(x = st.captures, ((s < 0 || s >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + s] = pos));\n\t};\n\tMatchData.prototype.restoreCapture = function(s, pos) { return this.$val.restoreCapture(s, pos); };\n\tMatchData.ptr.prototype.CaptureLength = function() {\n\t\tvar st;\n\t\tst = this;\n\t\treturn st.captures.$length;\n\t};\n\tMatchData.prototype.CaptureLength = function() { return this.$val.CaptureLength(); };\n\tMatchData.ptr.prototype.IsPosCapture = function(idx) {\n\t\tvar idx, st, x;\n\t\tst = this;\n\t\treturn ((((x = st.captures, ((idx < 0 || idx >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + idx])) & 1) >>> 0)) === 1;\n\t};\n\tMatchData.prototype.IsPosCapture = function(idx) { return this.$val.IsPosCapture(idx); };\n\tMatchData.ptr.prototype.Capture = function(idx) {\n\t\tvar idx, st, x;\n\t\tst = this;\n\t\treturn ((((x = st.captures, ((idx < 0 || idx >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + idx])) >>> 1 >>> 0) >> 0));\n\t};\n\tMatchData.prototype.Capture = function(idx) { return this.$val.Capture(idx); };\n\tnewScanner = function(src) {\n\t\tvar src;\n\t\treturn new scanner.ptr(src, new scannerState.ptr(0, false), new scannerState.ptr(0, false));\n\t};\n\tscanner.ptr.prototype.Length = function() {\n\t\tvar sc;\n\t\tsc = this;\n\t\treturn sc.src.$length;\n\t};\n\tscanner.prototype.Length = function() { return this.$val.Length(); };\n\tscanner.ptr.prototype.Next = function() {\n\t\tvar sc, x, x$1;\n\t\tsc = this;\n\t\tif (!sc.State.started) {\n\t\t\tsc.State.started = true;\n\t\t\tif (sc.src.$length === 0) {\n\t\t\t\tsc.State.Pos = -1;\n\t\t\t}\n\t\t} else {\n\t\t\tsc.State.Pos = sc.NextPos();\n\t\t}\n\t\tif (sc.State.Pos === -1) {\n\t\t\treturn -1;\n\t\t}\n\t\treturn (((x = sc.src, x$1 = sc.State.Pos, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1])) >> 0));\n\t};\n\tscanner.prototype.Next = function() { return this.$val.Next(); };\n\tscanner.ptr.prototype.CurrentPos = function() {\n\t\tvar sc;\n\t\tsc = this;\n\t\treturn sc.State.Pos;\n\t};\n\tscanner.prototype.CurrentPos = function() { return this.$val.CurrentPos(); };\n\tscanner.ptr.prototype.NextPos = function() {\n\t\tvar sc;\n\t\tsc = this;\n\t\tif ((sc.State.Pos === -1) || sc.State.Pos >= (sc.src.$length - 1 >> 0)) {\n\t\t\treturn -1;\n\t\t}\n\t\tif (!sc.State.started) {\n\t\t\treturn 0;\n\t\t}\n\t\treturn sc.State.Pos + 1 >> 0;\n\t};\n\tscanner.prototype.NextPos = function() { return this.$val.NextPos(); };\n\tscanner.ptr.prototype.Peek = function() {\n\t\tvar ch, cureof, sc;\n\t\tsc = this;\n\t\tcureof = sc.State.Pos === -1;\n\t\tch = sc.Next();\n\t\tif (!cureof) {\n\t\t\tif (sc.State.Pos === -1) {\n\t\t\t\tsc.State.Pos = sc.src.$length - 1 >> 0;\n\t\t\t} else {\n\t\t\t\tsc.State.Pos = sc.State.Pos - (1) >> 0;\n\t\t\t\tif (sc.State.Pos < 0) {\n\t\t\t\t\tsc.State.Pos = 0;\n\t\t\t\t\tsc.State.started = false;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn ch;\n\t};\n\tscanner.prototype.Peek = function() { return this.$val.Peek(); };\n\tscanner.ptr.prototype.Save = function() {\n\t\tvar sc;\n\t\tsc = this;\n\t\tscannerState.copy(sc.saved, sc.State);\n\t};\n\tscanner.prototype.Save = function() { return this.$val.Save(); };\n\tscanner.ptr.prototype.Restore = function() {\n\t\tvar sc;\n\t\tsc = this;\n\t\tscannerState.copy(sc.State, sc.saved);\n\t};\n\tscanner.prototype.Restore = function() { return this.$val.Restore(); };\n\tdotClass.ptr.prototype.Matches = function(ch) {\n\t\tvar ch, pn;\n\t\tpn = this;\n\t\treturn true;\n\t};\n\tdotClass.prototype.Matches = function(ch) { return this.$val.Matches(ch); };\n\tcharClass.ptr.prototype.Matches = function(ch) {\n\t\tvar ch, pn;\n\t\tpn = this;\n\t\treturn pn.Ch === ch;\n\t};\n\tcharClass.prototype.Matches = function(ch) { return this.$val.Matches(ch); };\n\tsingleClass.ptr.prototype.Matches = function(ch) {\n\t\tvar _1, _2, ch, pn, ret;\n\t\tpn = this;\n\t\tret = false;\n\t\t_1 = pn.Class;\n\t\tif ((_1 === (97)) || (_1 === (65))) {\n\t\t\tret = 65 <= ch && ch <= 90 || 97 <= ch && ch <= 122;\n\t\t} else if ((_1 === (99)) || (_1 === (67))) {\n\t\t\tret = (0 <= ch && ch <= 31) || (ch === 127);\n\t\t} else if ((_1 === (100)) || (_1 === (68))) {\n\t\t\tret = 48 <= ch && ch <= 57;\n\t\t} else if ((_1 === (108)) || (_1 === (76))) {\n\t\t\tret = 97 <= ch && ch <= 122;\n\t\t} else if ((_1 === (112)) || (_1 === (80))) {\n\t\t\tret = (33 <= ch && ch <= 47) || (48 <= ch && ch <= 64) || (91 <= ch && ch <= 96) || (123 <= ch && ch <= 126);\n\t\t} else if ((_1 === (115)) || (_1 === (83))) {\n\t\t\t_2 = ch;\n\t\t\tif ((_2 === (32)) || (_2 === (12)) || (_2 === (10)) || (_2 === (13)) || (_2 === (9)) || (_2 === (11))) {\n\t\t\t\tret = true;\n\t\t\t}\n\t\t} else if ((_1 === (117)) || (_1 === (85))) {\n\t\t\tret = 65 <= ch && ch <= 90;\n\t\t} else if ((_1 === (119)) || (_1 === (87))) {\n\t\t\tret = 48 <= ch && ch <= 57 || 65 <= ch && ch <= 90 || 97 <= ch && ch <= 122;\n\t\t} else if ((_1 === (120)) || (_1 === (88))) {\n\t\t\tret = 48 <= ch && ch <= 57 || 97 <= ch && ch <= 102 || 65 <= ch && ch <= 70;\n\t\t} else if ((_1 === (122)) || (_1 === (90))) {\n\t\t\tret = ch === 0;\n\t\t} else {\n\t\t\treturn ch === pn.Class;\n\t\t}\n\t\tif (65 <= pn.Class && pn.Class <= 90) {\n\t\t\treturn !ret;\n\t\t}\n\t\treturn ret;\n\t};\n\tsingleClass.prototype.Matches = function(ch) { return this.$val.Matches(ch); };\n\tsetClass.ptr.prototype.Matches = function(ch) {\n\t\tvar _i, _r, _ref, ch, class$2, pn, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _r = $f._r; _ref = $f._ref; ch = $f.ch; class$2 = $f.class$2; pn = $f.pn; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tpn = this;\n\t\t_ref = pn.Classes;\n\t\t_i = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 2; continue; }\n\t\t\tclass$2 = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\t_r = class$2.Matches(ch); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t/* */ if (_r) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (_r) { */ case 3:\n\t\t\t\t$s = -1; return !pn.IsNot;\n\t\t\t/* } */ case 4:\n\t\t\t_i++;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return pn.IsNot;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: setClass.ptr.prototype.Matches }; } $f._i = _i; $f._r = _r; $f._ref = _ref; $f.ch = ch; $f.class$2 = class$2; $f.pn = pn; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tsetClass.prototype.Matches = function(ch) { return this.$val.Matches(ch); };\n\trangeClass.ptr.prototype.Matches = function(ch) {\n\t\tvar _ref, _tuple, begin, ch, end, ok, pn;\n\t\tpn = this;\n\t\t_ref = pn.Begin;\n\t\tif ($assertType(_ref, ptrType, true)[1]) {\n\t\t\tbegin = _ref.$val;\n\t\t\t_tuple = $assertType(pn.End, ptrType, true);\n\t\t\tend = _tuple[0];\n\t\t\tok = _tuple[1];\n\t\t\tif (!ok) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn begin.Ch <= ch && ch <= end.Ch;\n\t\t}\n\t\treturn false;\n\t};\n\trangeClass.prototype.Matches = function(ch) { return this.$val.Matches(ch); };\n\tparseClass = function(sc, allowset) {\n\t\tvar _1, _r, _r$1, allowset, ch, sc, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; _r$1 = $f._r$1; allowset = $f.allowset; ch = $f.ch; sc = $f.sc; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tch = sc.Next();\n\t\t\t_1 = ch;\n\t\t\t/* */ if (_1 === (37)) { $s = 2; continue; }\n\t\t\t/* */ if (_1 === (46)) { $s = 3; continue; }\n\t\t\t/* */ if (_1 === (91)) { $s = 4; continue; }\n\t\t\t/* */ if (_1 === (-1)) { $s = 5; continue; }\n\t\t\t/* */ $s = 6; continue;\n\t\t\t/* if (_1 === (37)) { */ case 2:\n\t\t\t\t$s = -1; return new singleClass.ptr(sc.Next());\n\t\t\t/* } else if (_1 === (46)) { */ case 3:\n\t\t\t\tif (allowset) {\n\t\t\t\t\t$s = -1; return new dotClass.ptr();\n\t\t\t\t}\n\t\t\t\t$s = -1; return new charClass.ptr(ch);\n\t\t\t/* } else if (_1 === (91)) { */ case 4:\n\t\t\t\t/* */ if (allowset) { $s = 8; continue; }\n\t\t\t\t/* */ $s = 9; continue;\n\t\t\t\t/* if (allowset) { */ case 8:\n\t\t\t\t\t_r = parseClassSet(sc); /* */ $s = 10; case 10: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t\t$s = -1; return _r;\n\t\t\t\t/* } */ case 9:\n\t\t\t\t$s = -1; return new charClass.ptr(ch);\n\t\t\t/* } else if (_1 === (-1)) { */ case 5:\n\t\t\t\t_r$1 = newError(sc.CurrentPos(), \"unexpected EOS\", new sliceType([])); /* */ $s = 11; case 11: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t$panic(_r$1);\n\t\t\t\t$s = 7; continue;\n\t\t\t/* } else { */ case 6:\n\t\t\t\t$s = -1; return new charClass.ptr(ch);\n\t\t\t/* } */ case 7:\n\t\tcase 1:\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: parseClass }; } $f._1 = _1; $f._r = _r; $f._r$1 = _r$1; $f.allowset = allowset; $f.ch = ch; $f.sc = sc; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tparseClassSet = function(sc) {\n\t\tvar _1, _r, _r$1, _r$2, _r$3, begin, ch, end, isrange, sc, set, x, x$1, x$2, x$3, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; begin = $f.begin; ch = $f.ch; end = $f.end; isrange = $f.isrange; sc = $f.sc; set = $f.set; x = $f.x; x$1 = $f.x$1; x$2 = $f.x$2; x$3 = $f.x$3; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tset = new setClass.ptr(false, new sliceType$3([]));\n\t\tif (sc.Peek() === 94) {\n\t\t\tset.IsNot = true;\n\t\t\tsc.Next();\n\t\t}\n\t\tisrange = false;\n\t\t/* while (true) { */ case 1:\n\t\t\tch = sc.Peek();\n\t\t\t\t_1 = ch;\n\t\t\t\t/* */ if (_1 === (-1)) { $s = 4; continue; }\n\t\t\t\t/* */ if (_1 === (93)) { $s = 5; continue; }\n\t\t\t\t/* */ if (_1 === (45)) { $s = 6; continue; }\n\t\t\t\t/* */ $s = 7; continue;\n\t\t\t\t/* if (_1 === (-1)) { */ case 4:\n\t\t\t\t\t_r = newError(sc.CurrentPos(), \"unexpected EOS\", new sliceType([])); /* */ $s = 9; case 9: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t\t$panic(_r);\n\t\t\t\t\t$s = 8; continue;\n\t\t\t\t/* } else if (_1 === (93)) { */ case 5:\n\t\t\t\t\t/* */ if (set.Classes.$length > 0) { $s = 10; continue; }\n\t\t\t\t\t/* */ $s = 11; continue;\n\t\t\t\t\t/* if (set.Classes.$length > 0) { */ case 10:\n\t\t\t\t\t\tsc.Next();\n\t\t\t\t\t\t/* goto exit */ $s = 12; continue;\n\t\t\t\t\t/* } */ case 11:\n\t\t\t\t\t/* */ if (set.Classes.$length > 0) { $s = 13; continue; }\n\t\t\t\t\t/* */ $s = 14; continue;\n\t\t\t\t\t/* if (set.Classes.$length > 0) { */ case 13:\n\t\t\t\t\t\tsc.Next();\n\t\t\t\t\t\tisrange = true;\n\t\t\t\t\t\t/* continue; */ $s = 1; continue;\n\t\t\t\t\t/* } */ case 14:\n\t\t\t\t\t_r$1 = parseClass(sc, false); /* */ $s = 15; case 15: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t\tset.Classes = $append(set.Classes, _r$1);\n\t\t\t\t\t$s = 8; continue;\n\t\t\t\t/* } else if (_1 === (45)) { */ case 6:\n\t\t\t\t\t/* */ if (set.Classes.$length > 0) { $s = 16; continue; }\n\t\t\t\t\t/* */ $s = 17; continue;\n\t\t\t\t\t/* if (set.Classes.$length > 0) { */ case 16:\n\t\t\t\t\t\tsc.Next();\n\t\t\t\t\t\tisrange = true;\n\t\t\t\t\t\t/* continue; */ $s = 1; continue;\n\t\t\t\t\t/* } */ case 17:\n\t\t\t\t\t_r$2 = parseClass(sc, false); /* */ $s = 18; case 18: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t\tset.Classes = $append(set.Classes, _r$2);\n\t\t\t\t\t$s = 8; continue;\n\t\t\t\t/* } else { */ case 7:\n\t\t\t\t\t_r$3 = parseClass(sc, false); /* */ $s = 19; case 19: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t\tset.Classes = $append(set.Classes, _r$3);\n\t\t\t\t/* } */ case 8:\n\t\t\tcase 3:\n\t\t\tif (isrange) {\n\t\t\t\tbegin = (x = set.Classes, x$1 = set.Classes.$length - 2 >> 0, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1]));\n\t\t\t\tend = (x$2 = set.Classes, x$3 = set.Classes.$length - 1 >> 0, ((x$3 < 0 || x$3 >= x$2.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$2.$array[x$2.$offset + x$3]));\n\t\t\t\tset.Classes = $subslice(set.Classes, 0, (set.Classes.$length - 2 >> 0));\n\t\t\t\tset.Classes = $append(set.Classes, new rangeClass.ptr(begin, end));\n\t\t\t\tisrange = false;\n\t\t\t}\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t/* exit: */ case 12:\n\t\tif (isrange) {\n\t\t\tset.Classes = $append(set.Classes, new charClass.ptr(45));\n\t\t}\n\t\t$s = -1; return set;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: parseClassSet }; } $f._1 = _1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f.begin = begin; $f.ch = ch; $f.end = end; $f.isrange = isrange; $f.sc = sc; $f.set = set; $f.x = x; $f.x$1 = x$1; $f.x$2 = x$2; $f.x$3 = x$3; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tparsePattern = function(sc, toplevel) {\n\t\tvar _1, _2, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _tuple, ch, ok, pat, ret, sc, spat, toplevel, x, x$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _2 = $f._2; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _tuple = $f._tuple; ch = $f.ch; ok = $f.ok; pat = $f.pat; ret = $f.ret; sc = $f.sc; spat = $f.spat; toplevel = $f.toplevel; x = $f.x; x$1 = $f.x$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tpat = new seqPattern.ptr(false, false, sliceType$4.nil);\n\t\tif (toplevel) {\n\t\t\tif (sc.Peek() === 94) {\n\t\t\t\tsc.Next();\n\t\t\t\tpat.MustHead = true;\n\t\t\t}\n\t\t}\n\t\t/* while (true) { */ case 1:\n\t\t\tch = sc.Peek();\n\t\t\t\t_1 = ch;\n\t\t\t\t/* */ if (_1 === (37)) { $s = 4; continue; }\n\t\t\t\t/* */ if ((_1 === (46)) || (_1 === (91)) || (_1 === (93))) { $s = 5; continue; }\n\t\t\t\t/* */ if (_1 === (41)) { $s = 6; continue; }\n\t\t\t\t/* */ if (_1 === (40)) { $s = 7; continue; }\n\t\t\t\t/* */ if ((_1 === (42)) || (_1 === (43)) || (_1 === (45)) || (_1 === (63))) { $s = 8; continue; }\n\t\t\t\t/* */ if (_1 === (36)) { $s = 9; continue; }\n\t\t\t\t/* */ if (_1 === (-1)) { $s = 10; continue; }\n\t\t\t\t/* */ $s = 11; continue;\n\t\t\t\t/* if (_1 === (37)) { */ case 4:\n\t\t\t\t\tsc.Save();\n\t\t\t\t\tsc.Next();\n\t\t\t\t\t\t_2 = sc.Peek();\n\t\t\t\t\t\t/* */ if (_2 === (48)) { $s = 14; continue; }\n\t\t\t\t\t\t/* */ if ((_2 === (49)) || (_2 === (50)) || (_2 === (51)) || (_2 === (52)) || (_2 === (53)) || (_2 === (54)) || (_2 === (55)) || (_2 === (56)) || (_2 === (57))) { $s = 15; continue; }\n\t\t\t\t\t\t/* */ if (_2 === (98)) { $s = 16; continue; }\n\t\t\t\t\t\t/* */ $s = 17; continue;\n\t\t\t\t\t\t/* if (_2 === (48)) { */ case 14:\n\t\t\t\t\t\t\t_r = newError(sc.CurrentPos(), \"invalid capture index\", new sliceType([])); /* */ $s = 19; case 19: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t$panic(_r);\n\t\t\t\t\t\t\t$s = 18; continue;\n\t\t\t\t\t\t/* } else if ((_2 === (49)) || (_2 === (50)) || (_2 === (51)) || (_2 === (52)) || (_2 === (53)) || (_2 === (54)) || (_2 === (55)) || (_2 === (56)) || (_2 === (57))) { */ case 15:\n\t\t\t\t\t\t\tpat.Patterns = $append(pat.Patterns, new numberPattern.ptr(sc.Next() - 48 >> 0));\n\t\t\t\t\t\t\t$s = 18; continue;\n\t\t\t\t\t\t/* } else if (_2 === (98)) { */ case 16:\n\t\t\t\t\t\t\tsc.Next();\n\t\t\t\t\t\t\tpat.Patterns = $append(pat.Patterns, new bracePattern.ptr(sc.Next(), sc.Next()));\n\t\t\t\t\t\t\t$s = 18; continue;\n\t\t\t\t\t\t/* } else { */ case 17:\n\t\t\t\t\t\t\tsc.Restore();\n\t\t\t\t\t\t\t_r$1 = parseClass(sc, true); /* */ $s = 20; case 20: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\tpat.Patterns = $append(pat.Patterns, new singlePattern.ptr(_r$1));\n\t\t\t\t\t\t/* } */ case 18:\n\t\t\t\t\tcase 13:\n\t\t\t\t\t$s = 12; continue;\n\t\t\t\t/* } else if ((_1 === (46)) || (_1 === (91)) || (_1 === (93))) { */ case 5:\n\t\t\t\t\t_r$2 = parseClass(sc, true); /* */ $s = 21; case 21: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t\tpat.Patterns = $append(pat.Patterns, new singlePattern.ptr(_r$2));\n\t\t\t\t\t$s = 12; continue;\n\t\t\t\t/* } else if (_1 === (41)) { */ case 6:\n\t\t\t\t\t/* */ if (toplevel) { $s = 22; continue; }\n\t\t\t\t\t/* */ $s = 23; continue;\n\t\t\t\t\t/* if (toplevel) { */ case 22:\n\t\t\t\t\t\t_r$3 = newError(sc.CurrentPos(), \"invalid ')'\", new sliceType([])); /* */ $s = 24; case 24: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t\t\t$panic(_r$3);\n\t\t\t\t\t/* } */ case 23:\n\t\t\t\t\t$s = -1; return pat;\n\t\t\t\t/* } else if (_1 === (40)) { */ case 7:\n\t\t\t\t\tsc.Next();\n\t\t\t\t\t/* */ if (sc.Peek() === 41) { $s = 25; continue; }\n\t\t\t\t\t/* */ $s = 26; continue;\n\t\t\t\t\t/* if (sc.Peek() === 41) { */ case 25:\n\t\t\t\t\t\tsc.Next();\n\t\t\t\t\t\tpat.Patterns = $append(pat.Patterns, new posCapPattern.ptr());\n\t\t\t\t\t\t$s = 27; continue;\n\t\t\t\t\t/* } else { */ case 26:\n\t\t\t\t\t\t_r$4 = parsePattern(sc, false); /* */ $s = 28; case 28: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\t\t\tret = new capPattern.ptr(_r$4);\n\t\t\t\t\t\t/* */ if (!((sc.Peek() === 41))) { $s = 29; continue; }\n\t\t\t\t\t\t/* */ $s = 30; continue;\n\t\t\t\t\t\t/* if (!((sc.Peek() === 41))) { */ case 29:\n\t\t\t\t\t\t\t_r$5 = newError(sc.CurrentPos(), \"unfinished capture\", new sliceType([])); /* */ $s = 31; case 31: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t$panic(_r$5);\n\t\t\t\t\t\t/* } */ case 30:\n\t\t\t\t\t\tsc.Next();\n\t\t\t\t\t\tpat.Patterns = $append(pat.Patterns, ret);\n\t\t\t\t\t/* } */ case 27:\n\t\t\t\t\t$s = 12; continue;\n\t\t\t\t/* } else if ((_1 === (42)) || (_1 === (43)) || (_1 === (45)) || (_1 === (63))) { */ case 8:\n\t\t\t\t\tsc.Next();\n\t\t\t\t\tif (pat.Patterns.$length > 0) {\n\t\t\t\t\t\t_tuple = $assertType((x = pat.Patterns, x$1 = pat.Patterns.$length - 1 >> 0, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1])), ptrType$1, true);\n\t\t\t\t\t\tspat = _tuple[0];\n\t\t\t\t\t\tok = _tuple[1];\n\t\t\t\t\t\tif (ok) {\n\t\t\t\t\t\t\tpat.Patterns = $subslice(pat.Patterns, 0, (pat.Patterns.$length - 1 >> 0));\n\t\t\t\t\t\t\tpat.Patterns = $append(pat.Patterns, new repeatPattern.ptr(ch, spat.Class));\n\t\t\t\t\t\t\t/* continue; */ $s = 1; continue;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tpat.Patterns = $append(pat.Patterns, new singlePattern.ptr(new charClass.ptr(ch)));\n\t\t\t\t\t$s = 12; continue;\n\t\t\t\t/* } else if (_1 === (36)) { */ case 9:\n\t\t\t\t\tif (toplevel && ((sc.NextPos() === (sc.Length() - 1 >> 0)) || (sc.NextPos() === -1))) {\n\t\t\t\t\t\tpat.MustTail = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tpat.Patterns = $append(pat.Patterns, new singlePattern.ptr(new charClass.ptr(ch)));\n\t\t\t\t\t}\n\t\t\t\t\tsc.Next();\n\t\t\t\t\t$s = 12; continue;\n\t\t\t\t/* } else if (_1 === (-1)) { */ case 10:\n\t\t\t\t\tsc.Next();\n\t\t\t\t\t/* goto exit */ $s = 32; continue;\n\t\t\t\t\t$s = 12; continue;\n\t\t\t\t/* } else { */ case 11:\n\t\t\t\t\tsc.Next();\n\t\t\t\t\tpat.Patterns = $append(pat.Patterns, new singlePattern.ptr(new charClass.ptr(ch)));\n\t\t\t\t/* } */ case 12:\n\t\t\tcase 3:\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t/* exit: */ case 32:\n\t\t$s = -1; return pat;\n\t\t$s = -1; return ptrType$2.nil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: parsePattern }; } $f._1 = _1; $f._2 = _2; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._tuple = _tuple; $f.ch = ch; $f.ok = ok; $f.pat = pat; $f.ret = ret; $f.sc = sc; $f.spat = spat; $f.toplevel = toplevel; $f.x = x; $f.x$1 = x$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcompilePattern = function(p, ps) {\n\t\tvar _1, _i, _ref, _ref$1, _tmp, _tmp$1, c0, c1, cp, idx, p, pat, pat$1, pat$2, pat$3, pat$4, pat$5, pat$6, ps, ptr, toplevel;\n\t\tptr = ptrType$3.nil;\n\t\ttoplevel = false;\n\t\tif (ps.$length === 0) {\n\t\t\ttoplevel = true;\n\t\t\tptr = new iptr.ptr(new sliceType$5([new inst.ptr(5, $ifaceNil, 0, -1)]), 2);\n\t\t} else {\n\t\t\tptr = (0 >= ps.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : ps.$array[ps.$offset + 0]);\n\t\t}\n\t\t_ref = p;\n\t\tif ($assertType(_ref, ptrType$1, true)[1]) {\n\t\t\tpat = _ref.$val;\n\t\t\tptr.insts = $append(ptr.insts, new inst.ptr(0, pat.Class, -1, -1));\n\t\t} else if ($assertType(_ref, ptrType$2, true)[1]) {\n\t\t\tpat$1 = _ref.$val;\n\t\t\t_ref$1 = pat$1.Patterns;\n\t\t\t_i = 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(_i < _ref$1.$length)) { break; }\n\t\t\t\tcp = ((_i < 0 || _i >= _ref$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref$1.$array[_ref$1.$offset + _i]);\n\t\t\t\tcompilePattern(cp, new sliceType$6([ptr]));\n\t\t\t\t_i++;\n\t\t\t}\n\t\t} else if ($assertType(_ref, ptrType$4, true)[1]) {\n\t\t\tpat$2 = _ref.$val;\n\t\t\tidx = ptr.insts.$length;\n\t\t\t_1 = pat$2.Type;\n\t\t\tif (_1 === (42)) {\n\t\t\t\tptr.insts = $append(ptr.insts, new inst.ptr(4, $ifaceNil, idx + 1 >> 0, idx + 3 >> 0), new inst.ptr(0, pat$2.Class, -1, -1), new inst.ptr(3, $ifaceNil, idx, -1));\n\t\t\t} else if (_1 === (43)) {\n\t\t\t\tptr.insts = $append(ptr.insts, new inst.ptr(0, pat$2.Class, -1, -1), new inst.ptr(4, $ifaceNil, idx, idx + 2 >> 0));\n\t\t\t} else if (_1 === (45)) {\n\t\t\t\tptr.insts = $append(ptr.insts, new inst.ptr(4, $ifaceNil, idx + 3 >> 0, idx + 1 >> 0), new inst.ptr(0, pat$2.Class, -1, -1), new inst.ptr(3, $ifaceNil, idx, -1));\n\t\t\t} else if (_1 === (63)) {\n\t\t\t\tptr.insts = $append(ptr.insts, new inst.ptr(4, $ifaceNil, idx + 1 >> 0, idx + 2 >> 0), new inst.ptr(0, pat$2.Class, -1, -1));\n\t\t\t}\n\t\t} else if ($assertType(_ref, ptrType$5, true)[1]) {\n\t\t\tpat$3 = _ref.$val;\n\t\t\tptr.insts = $append(ptr.insts, new inst.ptr(6, $ifaceNil, ptr.capture, -1));\n\t\t\tptr.capture = ptr.capture + (2) >> 0;\n\t\t} else if ($assertType(_ref, ptrType$6, true)[1]) {\n\t\t\tpat$4 = _ref.$val;\n\t\t\t_tmp = ptr.capture;\n\t\t\t_tmp$1 = ptr.capture + 1 >> 0;\n\t\t\tc0 = _tmp;\n\t\t\tc1 = _tmp$1;\n\t\t\tptr.capture = ptr.capture + (2) >> 0;\n\t\t\tptr.insts = $append(ptr.insts, new inst.ptr(5, $ifaceNil, c0, -1));\n\t\t\tcompilePattern(pat$4.Pattern, new sliceType$6([ptr]));\n\t\t\tptr.insts = $append(ptr.insts, new inst.ptr(5, $ifaceNil, c1, -1));\n\t\t} else if ($assertType(_ref, ptrType$7, true)[1]) {\n\t\t\tpat$5 = _ref.$val;\n\t\t\tptr.insts = $append(ptr.insts, new inst.ptr(7, $ifaceNil, pat$5.Begin, pat$5.End));\n\t\t} else if ($assertType(_ref, ptrType$8, true)[1]) {\n\t\t\tpat$6 = _ref.$val;\n\t\t\tptr.insts = $append(ptr.insts, new inst.ptr(8, $ifaceNil, pat$6.N, -1));\n\t\t}\n\t\tif (toplevel) {\n\t\t\tif ($assertType(p, ptrType$2).MustTail) {\n\t\t\t\tptr.insts = $append(ptr.insts, new inst.ptr(5, $ifaceNil, 1, -1), new inst.ptr(2, $ifaceNil, -1, -1));\n\t\t\t}\n\t\t\tptr.insts = $append(ptr.insts, new inst.ptr(5, $ifaceNil, 1, -1), new inst.ptr(1, $ifaceNil, -1, -1));\n\t\t}\n\t\treturn ptr.insts;\n\t};\n\trecursiveVM = function(src, insts, pc, sp, ms) {\n\t\tvar _1, _r, _r$1, _r$2, _r$3, _tuple, _tuple$1, _v, capture, count, i, idx, inst$1, insts, m, ms, nsp, nsp$1, ok, ok$1, pc, s, sp, src, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _v = $f._v; capture = $f.capture; count = $f.count; i = $f.i; idx = $f.idx; inst$1 = $f.inst$1; insts = $f.insts; m = $f.m; ms = $f.ms; nsp = $f.nsp; nsp$1 = $f.nsp$1; ok = $f.ok; ok$1 = $f.ok$1; pc = $f.pc; s = $f.s; sp = $f.sp; src = $f.src; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tm = ptrType$9.nil;\n\t\tif (ms.$length === 0) {\n\t\t\tm = newMatchState();\n\t\t} else {\n\t\t\tm = (0 >= ms.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : ms.$array[ms.$offset + 0]);\n\t\t}\n\t\t/* redo: */ case 1:\n\t\tinst$1 = $clone(((pc < 0 || pc >= insts.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : insts.$array[insts.$offset + pc]), inst);\n\t\t\t_1 = inst$1.OpCode;\n\t\t\t/* */ if (_1 === (0)) { $s = 3; continue; }\n\t\t\t/* */ if (_1 === (1)) { $s = 4; continue; }\n\t\t\t/* */ if (_1 === (2)) { $s = 5; continue; }\n\t\t\t/* */ if (_1 === (3)) { $s = 6; continue; }\n\t\t\t/* */ if (_1 === (4)) { $s = 7; continue; }\n\t\t\t/* */ if (_1 === (5)) { $s = 8; continue; }\n\t\t\t/* */ if (_1 === (6)) { $s = 9; continue; }\n\t\t\t/* */ if (_1 === (7)) { $s = 10; continue; }\n\t\t\t/* */ if (_1 === (8)) { $s = 11; continue; }\n\t\t\t/* */ $s = 12; continue;\n\t\t\t/* if (_1 === (0)) { */ case 3:\n\t\t\t\tif (sp >= src.$length) { _v = true; $s = 15; continue s; }\n\t\t\t\t_r = inst$1.Class.Matches(((((sp < 0 || sp >= src.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : src.$array[src.$offset + sp]) >> 0))); /* */ $s = 16; case 16: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t_v = !_r; case 15:\n\t\t\t\t/* */ if (_v) { $s = 13; continue; }\n\t\t\t\t/* */ $s = 14; continue;\n\t\t\t\t/* if (_v) { */ case 13:\n\t\t\t\t\t$s = -1; return [false, sp, m];\n\t\t\t\t/* } */ case 14:\n\t\t\t\tpc = pc + (1) >> 0;\n\t\t\t\tsp = sp + (1) >> 0;\n\t\t\t\t/* goto redo */ $s = 1; continue;\n\t\t\t\t$s = 12; continue;\n\t\t\t/* } else if (_1 === (1)) { */ case 4:\n\t\t\t\t$s = -1; return [true, sp, m];\n\t\t\t/* } else if (_1 === (2)) { */ case 5:\n\t\t\t\t$s = -1; return [sp >= src.$length, sp, m];\n\t\t\t/* } else if (_1 === (3)) { */ case 6:\n\t\t\t\tpc = inst$1.Operand1;\n\t\t\t\t/* goto redo */ $s = 1; continue;\n\t\t\t\t$s = 12; continue;\n\t\t\t/* } else if (_1 === (4)) { */ case 7:\n\t\t\t\t_r$1 = recursiveVM(src, insts, inst$1.Operand1, sp, new sliceType$7([m])); /* */ $s = 17; case 17: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t_tuple = _r$1;\n\t\t\t\tok = _tuple[0];\n\t\t\t\tnsp = _tuple[1];\n\t\t\t\tif (ok) {\n\t\t\t\t\t$s = -1; return [true, nsp, m];\n\t\t\t\t}\n\t\t\t\tpc = inst$1.Operand2;\n\t\t\t\t/* goto redo */ $s = 1; continue;\n\t\t\t\t$s = 12; continue;\n\t\t\t/* } else if (_1 === (5)) { */ case 8:\n\t\t\t\ts = m.setCapture(inst$1.Operand1, sp);\n\t\t\t\t_r$2 = recursiveVM(src, insts, pc + 1 >> 0, sp, new sliceType$7([m])); /* */ $s = 18; case 18: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t_tuple$1 = _r$2;\n\t\t\t\tok$1 = _tuple$1[0];\n\t\t\t\tnsp$1 = _tuple$1[1];\n\t\t\t\tif (ok$1) {\n\t\t\t\t\t$s = -1; return [true, nsp$1, m];\n\t\t\t\t}\n\t\t\t\tm.restoreCapture(inst$1.Operand1, s);\n\t\t\t\t$s = -1; return [false, sp, m];\n\t\t\t/* } else if (_1 === (6)) { */ case 9:\n\t\t\t\tm.addPosCapture(inst$1.Operand1, sp + 1 >> 0);\n\t\t\t\tpc = pc + (1) >> 0;\n\t\t\t\t/* goto redo */ $s = 1; continue;\n\t\t\t\t$s = 12; continue;\n\t\t\t/* } else if (_1 === (7)) { */ case 10:\n\t\t\t\tif (sp >= src.$length || !((((((sp < 0 || sp >= src.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : src.$array[src.$offset + sp]) >> 0)) === inst$1.Operand1))) {\n\t\t\t\t\t$s = -1; return [false, sp, m];\n\t\t\t\t}\n\t\t\t\tcount = 1;\n\t\t\t\tsp = sp + 1 >> 0;\n\t\t\t\t/* while (true) { */ case 19:\n\t\t\t\t\t/* if (!(sp < src.$length)) { break; } */ if(!(sp < src.$length)) { $s = 20; continue; }\n\t\t\t\t\tif (((((sp < 0 || sp >= src.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : src.$array[src.$offset + sp]) >> 0)) === inst$1.Operand2) {\n\t\t\t\t\t\tcount = count - (1) >> 0;\n\t\t\t\t\t}\n\t\t\t\t\t/* */ if (count === 0) { $s = 21; continue; }\n\t\t\t\t\t/* */ $s = 22; continue;\n\t\t\t\t\t/* if (count === 0) { */ case 21:\n\t\t\t\t\t\tpc = pc + (1) >> 0;\n\t\t\t\t\t\tsp = sp + (1) >> 0;\n\t\t\t\t\t\t/* goto redo */ $s = 1; continue;\n\t\t\t\t\t/* } */ case 22:\n\t\t\t\t\tif (((((sp < 0 || sp >= src.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : src.$array[src.$offset + sp]) >> 0)) === inst$1.Operand1) {\n\t\t\t\t\t\tcount = count + (1) >> 0;\n\t\t\t\t\t}\n\t\t\t\t\tsp = sp + (1) >> 0;\n\t\t\t\t/* } */ $s = 19; continue; case 20:\n\t\t\t\t$s = -1; return [false, sp, m];\n\t\t\t/* } else if (_1 === (8)) { */ case 11:\n\t\t\t\tidx = $imul(inst$1.Operand1, 2);\n\t\t\t\t/* */ if (idx >= (m.CaptureLength() - 1 >> 0)) { $s = 23; continue; }\n\t\t\t\t/* */ $s = 24; continue;\n\t\t\t\t/* if (idx >= (m.CaptureLength() - 1 >> 0)) { */ case 23:\n\t\t\t\t\t_r$3 = newError(-2, \"invalid capture index\", new sliceType([])); /* */ $s = 25; case 25: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t\t$panic(_r$3);\n\t\t\t\t/* } */ case 24:\n\t\t\t\tcapture = $subslice(src, m.Capture(idx), m.Capture(idx + 1 >> 0));\n\t\t\t\ti = 0;\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (!(i < capture.$length)) { break; }\n\t\t\t\t\tif ((i + sp >> 0) >= src.$length || !((((i < 0 || i >= capture.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : capture.$array[capture.$offset + i]) === (x = i + sp >> 0, ((x < 0 || x >= src.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : src.$array[src.$offset + x]))))) {\n\t\t\t\t\t\t$s = -1; return [false, sp, m];\n\t\t\t\t\t}\n\t\t\t\t\ti = i + (1) >> 0;\n\t\t\t\t}\n\t\t\t\tpc = pc + (1) >> 0;\n\t\t\t\tsp = sp + (capture.$length) >> 0;\n\t\t\t\t/* goto redo */ $s = 1; continue;\n\t\t\t/* } */ case 12:\n\t\tcase 2:\n\t\t$panic(new $String(\"should not reach here\"));\n\t\t$s = -1; return [false, 0, ptrType$9.nil];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: recursiveVM }; } $f._1 = _1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._v = _v; $f.capture = capture; $f.count = count; $f.i = i; $f.idx = idx; $f.inst$1 = inst$1; $f.insts = insts; $f.m = m; $f.ms = ms; $f.nsp = nsp; $f.nsp$1 = nsp$1; $f.ok = ok; $f.ok$1 = ok$1; $f.pc = pc; $f.s = s; $f.sp = sp; $f.src = src; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFind = function(p, src, offset, limit) {\n\t\tvar _r, _r$1, _tuple, err, insts, limit, matches, ms, nsp, offset, ok, p, pat, sp, src, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; err = $f.err; insts = $f.insts; limit = $f.limit; matches = $f.matches; ms = $f.ms; nsp = $f.nsp; offset = $f.offset; ok = $f.ok; p = $f.p; pat = $f.pat; sp = $f.sp; src = $f.src; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\terr = [err];\n\t\tmatches = sliceType$7.nil;\n\t\terr[0] = $ifaceNil;\n\t\t$deferred.push([(function(err) { return function() {\n\t\t\tvar _tuple, ok, perr, v;\n\t\t\tv = $recover();\n\t\t\tif (!($interfaceIsEqual(v, $ifaceNil))) {\n\t\t\t\t_tuple = $assertType(v, ptrType$10, true);\n\t\t\t\tperr = _tuple[0];\n\t\t\t\tok = _tuple[1];\n\t\t\t\tif (ok) {\n\t\t\t\t\terr[0] = perr;\n\t\t\t\t} else {\n\t\t\t\t\t$panic(v);\n\t\t\t\t}\n\t\t\t}\n\t\t}; })(err), []]);\n\t\t_r = parsePattern(newScanner((new sliceType$2($stringToBytes(p)))), true); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tpat = _r;\n\t\tinsts = compilePattern(pat, new sliceType$6([]));\n\t\tmatches = new sliceType$7([]);\n\t\tsp = offset;\n\t\t/* while (true) { */ case 2:\n\t\t\t/* if (!(sp <= src.$length)) { break; } */ if(!(sp <= src.$length)) { $s = 3; continue; }\n\t\t\t_r$1 = recursiveVM(src, insts, 0, sp, new sliceType$7([])); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r$1;\n\t\t\tok = _tuple[0];\n\t\t\tnsp = _tuple[1];\n\t\t\tms = _tuple[2];\n\t\t\tsp = sp + (1) >> 0;\n\t\t\tif (ok) {\n\t\t\t\tif (sp < nsp) {\n\t\t\t\t\tsp = nsp;\n\t\t\t\t}\n\t\t\t\tmatches = $append(matches, ms);\n\t\t\t}\n\t\t\tif ((matches.$length === limit) || pat.MustHead) {\n\t\t\t\t/* break; */ $s = 3; continue;\n\t\t\t}\n\t\t/* } */ $s = 2; continue; case 3:\n\t\t$s = -1; return [matches, err[0]];\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if (!$curGoroutine.asleep) { return  [matches, err[0]]; } if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: Find }; } $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f.err = err; $f.insts = insts; $f.limit = limit; $f.matches = matches; $f.ms = ms; $f.nsp = nsp; $f.offset = offset; $f.ok = ok; $f.p = p; $f.pat = pat; $f.sp = sp; $f.src = src; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\t$pkg.Find = Find;\n\tptrType$10.methods = [{prop: \"Error\", name: \"Error\", pkg: \"\", typ: $funcType([], [$String], false)}];\n\tptrType$9.methods = [{prop: \"addPosCapture\", name: \"addPosCapture\", pkg: \"github.com/J-J-J/goluajit/pm\", typ: $funcType([$Int, $Int], [], false)}, {prop: \"setCapture\", name: \"setCapture\", pkg: \"github.com/J-J-J/goluajit/pm\", typ: $funcType([$Int, $Int], [$Uint32], false)}, {prop: \"restoreCapture\", name: \"restoreCapture\", pkg: \"github.com/J-J-J/goluajit/pm\", typ: $funcType([$Int, $Uint32], [], false)}, {prop: \"CaptureLength\", name: \"CaptureLength\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"IsPosCapture\", name: \"IsPosCapture\", pkg: \"\", typ: $funcType([$Int], [$Bool], false)}, {prop: \"Capture\", name: \"Capture\", pkg: \"\", typ: $funcType([$Int], [$Int], false)}];\n\tptrType$11.methods = [{prop: \"Length\", name: \"Length\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Next\", name: \"Next\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"CurrentPos\", name: \"CurrentPos\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"NextPos\", name: \"NextPos\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Peek\", name: \"Peek\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Save\", name: \"Save\", pkg: \"\", typ: $funcType([], [], false)}, {prop: \"Restore\", name: \"Restore\", pkg: \"\", typ: $funcType([], [], false)}];\n\tptrType$12.methods = [{prop: \"Matches\", name: \"Matches\", pkg: \"\", typ: $funcType([$Int], [$Bool], false)}];\n\tptrType.methods = [{prop: \"Matches\", name: \"Matches\", pkg: \"\", typ: $funcType([$Int], [$Bool], false)}];\n\tptrType$13.methods = [{prop: \"Matches\", name: \"Matches\", pkg: \"\", typ: $funcType([$Int], [$Bool], false)}];\n\tptrType$14.methods = [{prop: \"Matches\", name: \"Matches\", pkg: \"\", typ: $funcType([$Int], [$Bool], false)}];\n\tptrType$15.methods = [{prop: \"Matches\", name: \"Matches\", pkg: \"\", typ: $funcType([$Int], [$Bool], false)}];\n\tError.init(\"\", [{prop: \"Pos\", name: \"Pos\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"Message\", name: \"Message\", embedded: false, exported: true, typ: $String, tag: \"\"}]);\n\tMatchData.init(\"github.com/J-J-J/goluajit/pm\", [{prop: \"captures\", name: \"captures\", embedded: false, exported: false, typ: sliceType$1, tag: \"\"}]);\n\tscannerState.init(\"github.com/J-J-J/goluajit/pm\", [{prop: \"Pos\", name: \"Pos\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"started\", name: \"started\", embedded: false, exported: false, typ: $Bool, tag: \"\"}]);\n\tscanner.init(\"github.com/J-J-J/goluajit/pm\", [{prop: \"src\", name: \"src\", embedded: false, exported: false, typ: sliceType$2, tag: \"\"}, {prop: \"State\", name: \"State\", embedded: false, exported: true, typ: scannerState, tag: \"\"}, {prop: \"saved\", name: \"saved\", embedded: false, exported: false, typ: scannerState, tag: \"\"}]);\n\tinst.init(\"\", [{prop: \"OpCode\", name: \"OpCode\", embedded: false, exported: true, typ: opCode, tag: \"\"}, {prop: \"Class\", name: \"Class\", embedded: false, exported: true, typ: class$1, tag: \"\"}, {prop: \"Operand1\", name: \"Operand1\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"Operand2\", name: \"Operand2\", embedded: false, exported: true, typ: $Int, tag: \"\"}]);\n\tclass$1.init([{prop: \"Matches\", name: \"Matches\", pkg: \"\", typ: $funcType([$Int], [$Bool], false)}]);\n\tdotClass.init(\"\", []);\n\tcharClass.init(\"\", [{prop: \"Ch\", name: \"Ch\", embedded: false, exported: true, typ: $Int, tag: \"\"}]);\n\tsingleClass.init(\"\", [{prop: \"Class\", name: \"Class\", embedded: false, exported: true, typ: $Int, tag: \"\"}]);\n\tsetClass.init(\"\", [{prop: \"IsNot\", name: \"IsNot\", embedded: false, exported: true, typ: $Bool, tag: \"\"}, {prop: \"Classes\", name: \"Classes\", embedded: false, exported: true, typ: sliceType$3, tag: \"\"}]);\n\trangeClass.init(\"\", [{prop: \"Begin\", name: \"Begin\", embedded: false, exported: true, typ: class$1, tag: \"\"}, {prop: \"End\", name: \"End\", embedded: false, exported: true, typ: class$1, tag: \"\"}]);\n\tpattern.init([]);\n\tsinglePattern.init(\"\", [{prop: \"Class\", name: \"Class\", embedded: false, exported: true, typ: class$1, tag: \"\"}]);\n\tseqPattern.init(\"\", [{prop: \"MustHead\", name: \"MustHead\", embedded: false, exported: true, typ: $Bool, tag: \"\"}, {prop: \"MustTail\", name: \"MustTail\", embedded: false, exported: true, typ: $Bool, tag: \"\"}, {prop: \"Patterns\", name: \"Patterns\", embedded: false, exported: true, typ: sliceType$4, tag: \"\"}]);\n\trepeatPattern.init(\"\", [{prop: \"Type\", name: \"Type\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"Class\", name: \"Class\", embedded: false, exported: true, typ: class$1, tag: \"\"}]);\n\tposCapPattern.init(\"\", []);\n\tcapPattern.init(\"\", [{prop: \"Pattern\", name: \"Pattern\", embedded: false, exported: true, typ: pattern, tag: \"\"}]);\n\tnumberPattern.init(\"\", [{prop: \"N\", name: \"N\", embedded: false, exported: true, typ: $Int, tag: \"\"}]);\n\tbracePattern.init(\"\", [{prop: \"Begin\", name: \"Begin\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"End\", name: \"End\", embedded: false, exported: true, typ: $Int, tag: \"\"}]);\n\tiptr.init(\"github.com/J-J-J/goluajit/pm\", [{prop: \"insts\", name: \"insts\", embedded: false, exported: false, typ: sliceType$5, tag: \"\"}, {prop: \"capture\", name: \"capture\", embedded: false, exported: false, typ: $Int, tag: \"\"}]);\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = fmt.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"sort\"] = (function() {\n\tvar $pkg = {}, $init, reflect, insertionSort, siftDown, heapSort, medianOfThree, doPivot, quickSort, Sort, maxDepth;\n\treflect = $packages[\"reflect\"];\n\tinsertionSort = function(data, a, b) {\n\t\tvar _r, _v, a, b, data, i, j, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _v = $f._v; a = $f.a; b = $f.b; data = $f.data; i = $f.i; j = $f.j; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\ti = a + 1 >> 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(i < b)) { break; } */ if(!(i < b)) { $s = 2; continue; }\n\t\t\tj = i;\n\t\t\t/* while (true) { */ case 3:\n\t\t\t\tif (!(j > a)) { _v = false; $s = 5; continue s; }\n\t\t\t\t_r = data.Less(j, j - 1 >> 0); /* */ $s = 6; case 6: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t_v = _r; case 5:\n\t\t\t\t/* if (!(_v)) { break; } */ if(!(_v)) { $s = 4; continue; }\n\t\t\t\t$r = data.Swap(j, j - 1 >> 0); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\tj = j - (1) >> 0;\n\t\t\t/* } */ $s = 3; continue; case 4:\n\t\t\ti = i + (1) >> 0;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: insertionSort }; } $f._r = _r; $f._v = _v; $f.a = a; $f.b = b; $f.data = data; $f.i = i; $f.j = j; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tsiftDown = function(data, lo, hi, first) {\n\t\tvar _r, _r$1, _v, child, data, first, hi, lo, root, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _v = $f._v; child = $f.child; data = $f.data; first = $f.first; hi = $f.hi; lo = $f.lo; root = $f.root; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\troot = lo;\n\t\t/* while (true) { */ case 1:\n\t\t\tchild = ($imul(2, root)) + 1 >> 0;\n\t\t\tif (child >= hi) {\n\t\t\t\t/* break; */ $s = 2; continue;\n\t\t\t}\n\t\t\tif (!((child + 1 >> 0) < hi)) { _v = false; $s = 5; continue s; }\n\t\t\t_r = data.Less(first + child >> 0, (first + child >> 0) + 1 >> 0); /* */ $s = 6; case 6: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_v = _r; case 5:\n\t\t\t/* */ if (_v) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (_v) { */ case 3:\n\t\t\t\tchild = child + (1) >> 0;\n\t\t\t/* } */ case 4:\n\t\t\t_r$1 = data.Less(first + root >> 0, first + child >> 0); /* */ $s = 9; case 9: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t/* */ if (!_r$1) { $s = 7; continue; }\n\t\t\t/* */ $s = 8; continue;\n\t\t\t/* if (!_r$1) { */ case 7:\n\t\t\t\t$s = -1; return;\n\t\t\t/* } */ case 8:\n\t\t\t$r = data.Swap(first + root >> 0, first + child >> 0); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\troot = child;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: siftDown }; } $f._r = _r; $f._r$1 = _r$1; $f._v = _v; $f.child = child; $f.data = data; $f.first = first; $f.hi = hi; $f.lo = lo; $f.root = root; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\theapSort = function(data, a, b) {\n\t\tvar _q, a, b, data, first, hi, i, i$1, lo, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _q = $f._q; a = $f.a; b = $f.b; data = $f.data; first = $f.first; hi = $f.hi; i = $f.i; i$1 = $f.i$1; lo = $f.lo; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tfirst = a;\n\t\tlo = 0;\n\t\thi = b - a >> 0;\n\t\ti = (_q = ((hi - 1 >> 0)) / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError(\"integer divide by zero\"));\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(i >= 0)) { break; } */ if(!(i >= 0)) { $s = 2; continue; }\n\t\t\t$r = siftDown(data, i, hi, first); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\ti = i - (1) >> 0;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\ti$1 = hi - 1 >> 0;\n\t\t/* while (true) { */ case 4:\n\t\t\t/* if (!(i$1 >= 0)) { break; } */ if(!(i$1 >= 0)) { $s = 5; continue; }\n\t\t\t$r = data.Swap(first, first + i$1 >> 0); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$r = siftDown(data, lo, i$1, first); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\ti$1 = i$1 - (1) >> 0;\n\t\t/* } */ $s = 4; continue; case 5:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: heapSort }; } $f._q = _q; $f.a = a; $f.b = b; $f.data = data; $f.first = first; $f.hi = hi; $f.i = i; $f.i$1 = i$1; $f.lo = lo; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmedianOfThree = function(data, m1, m0, m2) {\n\t\tvar _r, _r$1, _r$2, data, m0, m1, m2, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; data = $f.data; m0 = $f.m0; m1 = $f.m1; m2 = $f.m2; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = data.Less(m1, m0); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t/* */ if (_r) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (_r) { */ case 1:\n\t\t\t$r = data.Swap(m1, m0); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 2:\n\t\t_r$1 = data.Less(m2, m1); /* */ $s = 7; case 7: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t/* */ if (_r$1) { $s = 5; continue; }\n\t\t/* */ $s = 6; continue;\n\t\t/* if (_r$1) { */ case 5:\n\t\t\t$r = data.Swap(m2, m1); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t_r$2 = data.Less(m1, m0); /* */ $s = 11; case 11: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t/* */ if (_r$2) { $s = 9; continue; }\n\t\t\t/* */ $s = 10; continue;\n\t\t\t/* if (_r$2) { */ case 9:\n\t\t\t\t$r = data.Swap(m1, m0); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 10:\n\t\t/* } */ case 6:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: medianOfThree }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.data = data; $f.m0 = m0; $f.m1 = m1; $f.m2 = m2; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tdoPivot = function(data, lo, hi) {\n\t\tvar _q, _q$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _tmp, _tmp$1, _tmp$2, _tmp$3, _v, _v$1, _v$2, _v$3, _v$4, a, b, c, data, dups, hi, lo, m, midhi, midlo, pivot, protect, s, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _q = $f._q; _q$1 = $f._q$1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; _v = $f._v; _v$1 = $f._v$1; _v$2 = $f._v$2; _v$3 = $f._v$3; _v$4 = $f._v$4; a = $f.a; b = $f.b; c = $f.c; data = $f.data; dups = $f.dups; hi = $f.hi; lo = $f.lo; m = $f.m; midhi = $f.midhi; midlo = $f.midlo; pivot = $f.pivot; protect = $f.protect; s = $f.s; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tmidlo = 0;\n\t\tmidhi = 0;\n\t\tm = ((((((lo + hi >> 0) >>> 0)) >>> 1 >>> 0) >> 0));\n\t\t/* */ if ((hi - lo >> 0) > 40) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if ((hi - lo >> 0) > 40) { */ case 1:\n\t\t\ts = (_q = ((hi - lo >> 0)) / 8, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError(\"integer divide by zero\"));\n\t\t\t$r = medianOfThree(data, lo, lo + s >> 0, lo + ($imul(2, s)) >> 0); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$r = medianOfThree(data, m, m - s >> 0, m + s >> 0); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$r = medianOfThree(data, hi - 1 >> 0, (hi - 1 >> 0) - s >> 0, (hi - 1 >> 0) - ($imul(2, s)) >> 0); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 2:\n\t\t$r = medianOfThree(data, lo, m, hi - 1 >> 0); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tpivot = lo;\n\t\t_tmp = lo + 1 >> 0;\n\t\t_tmp$1 = hi - 1 >> 0;\n\t\ta = _tmp;\n\t\tc = _tmp$1;\n\t\t/* while (true) { */ case 7:\n\t\t\tif (!(a < c)) { _v = false; $s = 9; continue s; }\n\t\t\t_r = data.Less(a, pivot); /* */ $s = 10; case 10: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_v = _r; case 9:\n\t\t\t/* if (!(_v)) { break; } */ if(!(_v)) { $s = 8; continue; }\n\t\t\ta = a + (1) >> 0;\n\t\t/* } */ $s = 7; continue; case 8:\n\t\tb = a;\n\t\t/* while (true) { */ case 11:\n\t\t\t/* while (true) { */ case 13:\n\t\t\t\tif (!(b < c)) { _v$1 = false; $s = 15; continue s; }\n\t\t\t\t_r$1 = data.Less(pivot, b); /* */ $s = 16; case 16: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t_v$1 = !_r$1; case 15:\n\t\t\t\t/* if (!(_v$1)) { break; } */ if(!(_v$1)) { $s = 14; continue; }\n\t\t\t\tb = b + (1) >> 0;\n\t\t\t/* } */ $s = 13; continue; case 14:\n\t\t\t/* while (true) { */ case 17:\n\t\t\t\tif (!(b < c)) { _v$2 = false; $s = 19; continue s; }\n\t\t\t\t_r$2 = data.Less(pivot, c - 1 >> 0); /* */ $s = 20; case 20: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t_v$2 = _r$2; case 19:\n\t\t\t\t/* if (!(_v$2)) { break; } */ if(!(_v$2)) { $s = 18; continue; }\n\t\t\t\tc = c - (1) >> 0;\n\t\t\t/* } */ $s = 17; continue; case 18:\n\t\t\tif (b >= c) {\n\t\t\t\t/* break; */ $s = 12; continue;\n\t\t\t}\n\t\t\t$r = data.Swap(b, c - 1 >> 0); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\tb = b + (1) >> 0;\n\t\t\tc = c - (1) >> 0;\n\t\t/* } */ $s = 11; continue; case 12:\n\t\tprotect = (hi - c >> 0) < 5;\n\t\t/* */ if (!protect && (hi - c >> 0) < (_q$1 = ((hi - lo >> 0)) / 4, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError(\"integer divide by zero\"))) { $s = 22; continue; }\n\t\t/* */ $s = 23; continue;\n\t\t/* if (!protect && (hi - c >> 0) < (_q$1 = ((hi - lo >> 0)) / 4, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError(\"integer divide by zero\"))) { */ case 22:\n\t\t\tdups = 0;\n\t\t\t_r$3 = data.Less(pivot, hi - 1 >> 0); /* */ $s = 26; case 26: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t/* */ if (!_r$3) { $s = 24; continue; }\n\t\t\t/* */ $s = 25; continue;\n\t\t\t/* if (!_r$3) { */ case 24:\n\t\t\t\t$r = data.Swap(c, hi - 1 >> 0); /* */ $s = 27; case 27: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\tc = c + (1) >> 0;\n\t\t\t\tdups = dups + (1) >> 0;\n\t\t\t/* } */ case 25:\n\t\t\t_r$4 = data.Less(b - 1 >> 0, pivot); /* */ $s = 30; case 30: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t/* */ if (!_r$4) { $s = 28; continue; }\n\t\t\t/* */ $s = 29; continue;\n\t\t\t/* if (!_r$4) { */ case 28:\n\t\t\t\tb = b - (1) >> 0;\n\t\t\t\tdups = dups + (1) >> 0;\n\t\t\t/* } */ case 29:\n\t\t\t_r$5 = data.Less(m, pivot); /* */ $s = 33; case 33: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t/* */ if (!_r$5) { $s = 31; continue; }\n\t\t\t/* */ $s = 32; continue;\n\t\t\t/* if (!_r$5) { */ case 31:\n\t\t\t\t$r = data.Swap(m, b - 1 >> 0); /* */ $s = 34; case 34: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\tb = b - (1) >> 0;\n\t\t\t\tdups = dups + (1) >> 0;\n\t\t\t/* } */ case 32:\n\t\t\tprotect = dups > 1;\n\t\t/* } */ case 23:\n\t\t/* */ if (protect) { $s = 35; continue; }\n\t\t/* */ $s = 36; continue;\n\t\t/* if (protect) { */ case 35:\n\t\t\t/* while (true) { */ case 37:\n\t\t\t\t/* while (true) { */ case 39:\n\t\t\t\t\tif (!(a < b)) { _v$3 = false; $s = 41; continue s; }\n\t\t\t\t\t_r$6 = data.Less(b - 1 >> 0, pivot); /* */ $s = 42; case 42: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t\t\t\t_v$3 = !_r$6; case 41:\n\t\t\t\t\t/* if (!(_v$3)) { break; } */ if(!(_v$3)) { $s = 40; continue; }\n\t\t\t\t\tb = b - (1) >> 0;\n\t\t\t\t/* } */ $s = 39; continue; case 40:\n\t\t\t\t/* while (true) { */ case 43:\n\t\t\t\t\tif (!(a < b)) { _v$4 = false; $s = 45; continue s; }\n\t\t\t\t\t_r$7 = data.Less(a, pivot); /* */ $s = 46; case 46: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }\n\t\t\t\t\t_v$4 = _r$7; case 45:\n\t\t\t\t\t/* if (!(_v$4)) { break; } */ if(!(_v$4)) { $s = 44; continue; }\n\t\t\t\t\ta = a + (1) >> 0;\n\t\t\t\t/* } */ $s = 43; continue; case 44:\n\t\t\t\tif (a >= b) {\n\t\t\t\t\t/* break; */ $s = 38; continue;\n\t\t\t\t}\n\t\t\t\t$r = data.Swap(a, b - 1 >> 0); /* */ $s = 47; case 47: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\ta = a + (1) >> 0;\n\t\t\t\tb = b - (1) >> 0;\n\t\t\t/* } */ $s = 37; continue; case 38:\n\t\t/* } */ case 36:\n\t\t$r = data.Swap(pivot, b - 1 >> 0); /* */ $s = 48; case 48: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_tmp$2 = b - 1 >> 0;\n\t\t_tmp$3 = c;\n\t\tmidlo = _tmp$2;\n\t\tmidhi = _tmp$3;\n\t\t$s = -1; return [midlo, midhi];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: doPivot }; } $f._q = _q; $f._q$1 = _q$1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f._v = _v; $f._v$1 = _v$1; $f._v$2 = _v$2; $f._v$3 = _v$3; $f._v$4 = _v$4; $f.a = a; $f.b = b; $f.c = c; $f.data = data; $f.dups = dups; $f.hi = hi; $f.lo = lo; $f.m = m; $f.midhi = midhi; $f.midlo = midlo; $f.pivot = pivot; $f.protect = protect; $f.s = s; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tquickSort = function(data, a, b, maxDepth$1) {\n\t\tvar _r, _r$1, _tuple, a, b, data, i, maxDepth$1, mhi, mlo, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; a = $f.a; b = $f.b; data = $f.data; i = $f.i; maxDepth$1 = $f.maxDepth$1; mhi = $f.mhi; mlo = $f.mlo; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!((b - a >> 0) > 12)) { break; } */ if(!((b - a >> 0) > 12)) { $s = 2; continue; }\n\t\t\t/* */ if (maxDepth$1 === 0) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (maxDepth$1 === 0) { */ case 3:\n\t\t\t\t$r = heapSort(data, a, b); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return;\n\t\t\t/* } */ case 4:\n\t\t\tmaxDepth$1 = maxDepth$1 - (1) >> 0;\n\t\t\t_r = doPivot(data, a, b); /* */ $s = 6; case 6: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r;\n\t\t\tmlo = _tuple[0];\n\t\t\tmhi = _tuple[1];\n\t\t\t/* */ if ((mlo - a >> 0) < (b - mhi >> 0)) { $s = 7; continue; }\n\t\t\t/* */ $s = 8; continue;\n\t\t\t/* if ((mlo - a >> 0) < (b - mhi >> 0)) { */ case 7:\n\t\t\t\t$r = quickSort(data, a, mlo, maxDepth$1); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\ta = mhi;\n\t\t\t\t$s = 9; continue;\n\t\t\t/* } else { */ case 8:\n\t\t\t\t$r = quickSort(data, mhi, b, maxDepth$1); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\tb = mlo;\n\t\t\t/* } */ case 9:\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t/* */ if ((b - a >> 0) > 1) { $s = 12; continue; }\n\t\t/* */ $s = 13; continue;\n\t\t/* if ((b - a >> 0) > 1) { */ case 12:\n\t\t\ti = a + 6 >> 0;\n\t\t\t/* while (true) { */ case 14:\n\t\t\t\t/* if (!(i < b)) { break; } */ if(!(i < b)) { $s = 15; continue; }\n\t\t\t\t_r$1 = data.Less(i, i - 6 >> 0); /* */ $s = 18; case 18: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t/* */ if (_r$1) { $s = 16; continue; }\n\t\t\t\t/* */ $s = 17; continue;\n\t\t\t\t/* if (_r$1) { */ case 16:\n\t\t\t\t\t$r = data.Swap(i, i - 6 >> 0); /* */ $s = 19; case 19: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t/* } */ case 17:\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t/* } */ $s = 14; continue; case 15:\n\t\t\t$r = insertionSort(data, a, b); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 13:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: quickSort }; } $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f.a = a; $f.b = b; $f.data = data; $f.i = i; $f.maxDepth$1 = maxDepth$1; $f.mhi = mhi; $f.mlo = mlo; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tSort = function(data) {\n\t\tvar _r, data, n, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; data = $f.data; n = $f.n; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = data.Len(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tn = _r;\n\t\t$r = quickSort(data, 0, n, maxDepth(n)); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Sort }; } $f._r = _r; $f.data = data; $f.n = n; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.Sort = Sort;\n\tmaxDepth = function(n) {\n\t\tvar depth, i, n;\n\t\tdepth = 0;\n\t\ti = n;\n\t\twhile (true) {\n\t\t\tif (!(i > 0)) { break; }\n\t\t\tdepth = depth + (1) >> 0;\n\t\t\ti = (i >> $min((1), 31)) >> 0;\n\t\t}\n\t\treturn $imul(depth, 2);\n\t};\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = reflect.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"path/filepath\"] = (function() {\n\tvar $pkg = {}, $init, errors, os, runtime, sort, strings, utf8, lazybuf, sliceType, sliceType$1, ptrType$1, Clean, FromSlash, SplitList, Join, Abs, unixAbs, Base, Dir, VolumeName, IsAbs, volumeNameLen, splitList, abs, join;\n\terrors = $packages[\"errors\"];\n\tos = $packages[\"os\"];\n\truntime = $packages[\"runtime\"];\n\tsort = $packages[\"sort\"];\n\tstrings = $packages[\"strings\"];\n\tutf8 = $packages[\"unicode/utf8\"];\n\tlazybuf = $pkg.lazybuf = $newType(0, $kindStruct, \"filepath.lazybuf\", true, \"path/filepath\", false, function(path_, buf_, w_, volAndPath_, volLen_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.path = \"\";\n\t\t\tthis.buf = sliceType$1.nil;\n\t\t\tthis.w = 0;\n\t\t\tthis.volAndPath = \"\";\n\t\t\tthis.volLen = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.path = path_;\n\t\tthis.buf = buf_;\n\t\tthis.w = w_;\n\t\tthis.volAndPath = volAndPath_;\n\t\tthis.volLen = volLen_;\n\t});\n\tsliceType = $sliceType($String);\n\tsliceType$1 = $sliceType($Uint8);\n\tptrType$1 = $ptrType(lazybuf);\n\tlazybuf.ptr.prototype.index = function(i) {\n\t\tvar b, i, x;\n\t\tb = this;\n\t\tif (!(b.buf === sliceType$1.nil)) {\n\t\t\treturn (x = b.buf, ((i < 0 || i >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + i]));\n\t\t}\n\t\treturn b.path.charCodeAt(i);\n\t};\n\tlazybuf.prototype.index = function(i) { return this.$val.index(i); };\n\tlazybuf.ptr.prototype.append = function(c) {\n\t\tvar b, c, x, x$1;\n\t\tb = this;\n\t\tif (b.buf === sliceType$1.nil) {\n\t\t\tif (b.w < b.path.length && (b.path.charCodeAt(b.w) === c)) {\n\t\t\t\tb.w = b.w + (1) >> 0;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tb.buf = $makeSlice(sliceType$1, b.path.length);\n\t\t\t$copyString(b.buf, $substring(b.path, 0, b.w));\n\t\t}\n\t\t(x = b.buf, x$1 = b.w, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1] = c));\n\t\tb.w = b.w + (1) >> 0;\n\t};\n\tlazybuf.prototype.append = function(c) { return this.$val.append(c); };\n\tlazybuf.ptr.prototype.string = function() {\n\t\tvar b;\n\t\tb = this;\n\t\tif (b.buf === sliceType$1.nil) {\n\t\t\treturn $substring(b.volAndPath, 0, (b.volLen + b.w >> 0));\n\t\t}\n\t\treturn $substring(b.volAndPath, 0, b.volLen) + ($bytesToString($subslice(b.buf, 0, b.w)));\n\t};\n\tlazybuf.prototype.string = function() { return this.$val.string(); };\n\tClean = function(path) {\n\t\tvar _tmp, _tmp$1, _tmp$2, _tmp$3, dotdot, n, originalPath, out, path, r, rooted, volLen;\n\t\toriginalPath = path;\n\t\tvolLen = volumeNameLen(path);\n\t\tpath = $substring(path, volLen);\n\t\tif (path === \"\") {\n\t\t\tif (volLen > 1 && !((originalPath.charCodeAt(1) === 58))) {\n\t\t\t\treturn FromSlash(originalPath);\n\t\t\t}\n\t\t\treturn originalPath + \".\";\n\t\t}\n\t\trooted = os.IsPathSeparator(path.charCodeAt(0));\n\t\tn = path.length;\n\t\tout = new lazybuf.ptr(path, sliceType$1.nil, 0, originalPath, volLen);\n\t\t_tmp = 0;\n\t\t_tmp$1 = 0;\n\t\tr = _tmp;\n\t\tdotdot = _tmp$1;\n\t\tif (rooted) {\n\t\t\tout.append(47);\n\t\t\t_tmp$2 = 1;\n\t\t\t_tmp$3 = 1;\n\t\t\tr = _tmp$2;\n\t\t\tdotdot = _tmp$3;\n\t\t}\n\t\twhile (true) {\n\t\t\tif (!(r < n)) { break; }\n\t\t\tif (os.IsPathSeparator(path.charCodeAt(r))) {\n\t\t\t\tr = r + (1) >> 0;\n\t\t\t} else if ((path.charCodeAt(r) === 46) && (((r + 1 >> 0) === n) || os.IsPathSeparator(path.charCodeAt((r + 1 >> 0))))) {\n\t\t\t\tr = r + (1) >> 0;\n\t\t\t} else if ((path.charCodeAt(r) === 46) && (path.charCodeAt((r + 1 >> 0)) === 46) && (((r + 2 >> 0) === n) || os.IsPathSeparator(path.charCodeAt((r + 2 >> 0))))) {\n\t\t\t\tr = r + (2) >> 0;\n\t\t\t\tif (out.w > dotdot) {\n\t\t\t\t\tout.w = out.w - (1) >> 0;\n\t\t\t\t\twhile (true) {\n\t\t\t\t\t\tif (!(out.w > dotdot && !os.IsPathSeparator(out.index(out.w)))) { break; }\n\t\t\t\t\t\tout.w = out.w - (1) >> 0;\n\t\t\t\t\t}\n\t\t\t\t} else if (!rooted) {\n\t\t\t\t\tif (out.w > 0) {\n\t\t\t\t\t\tout.append(47);\n\t\t\t\t\t}\n\t\t\t\t\tout.append(46);\n\t\t\t\t\tout.append(46);\n\t\t\t\t\tdotdot = out.w;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (rooted && !((out.w === 1)) || !rooted && !((out.w === 0))) {\n\t\t\t\t\tout.append(47);\n\t\t\t\t}\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (!(r < n && !os.IsPathSeparator(path.charCodeAt(r)))) { break; }\n\t\t\t\t\tout.append(path.charCodeAt(r));\n\t\t\t\t\tr = r + (1) >> 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (out.w === 0) {\n\t\t\tout.append(46);\n\t\t}\n\t\treturn FromSlash(out.string());\n\t};\n\t$pkg.Clean = Clean;\n\tFromSlash = function(path) {\n\t\tvar path;\n\t\tif (true) {\n\t\t\treturn path;\n\t\t}\n\t\treturn strings.Replace(path, \"/\", \"/\", -1);\n\t};\n\t$pkg.FromSlash = FromSlash;\n\tSplitList = function(path) {\n\t\tvar path;\n\t\treturn splitList(path);\n\t};\n\t$pkg.SplitList = SplitList;\n\tJoin = function(elem) {\n\t\tvar elem;\n\t\treturn join(elem);\n\t};\n\t$pkg.Join = Join;\n\tAbs = function(path) {\n\t\tvar _r, path, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; path = $f.path; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = abs(path); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Abs }; } $f._r = _r; $f.path = path; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.Abs = Abs;\n\tunixAbs = function(path) {\n\t\tvar _r, _tuple, err, path, wd, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; err = $f.err; path = $f.path; wd = $f.wd; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tif (IsAbs(path)) {\n\t\t\t$s = -1; return [Clean(path), $ifaceNil];\n\t\t}\n\t\t_r = os.Getwd(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\twd = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return [\"\", err];\n\t\t}\n\t\t$s = -1; return [Join(new sliceType([wd, path])), $ifaceNil];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: unixAbs }; } $f._r = _r; $f._tuple = _tuple; $f.err = err; $f.path = path; $f.wd = wd; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tBase = function(path) {\n\t\tvar i, path;\n\t\tif (path === \"\") {\n\t\t\treturn \".\";\n\t\t}\n\t\twhile (true) {\n\t\t\tif (!(path.length > 0 && os.IsPathSeparator(path.charCodeAt((path.length - 1 >> 0))))) { break; }\n\t\t\tpath = $substring(path, 0, (path.length - 1 >> 0));\n\t\t}\n\t\tpath = $substring(path, VolumeName(path).length);\n\t\ti = path.length - 1 >> 0;\n\t\twhile (true) {\n\t\t\tif (!(i >= 0 && !os.IsPathSeparator(path.charCodeAt(i)))) { break; }\n\t\t\ti = i - (1) >> 0;\n\t\t}\n\t\tif (i >= 0) {\n\t\t\tpath = $substring(path, (i + 1 >> 0));\n\t\t}\n\t\tif (path === \"\") {\n\t\t\treturn \"/\";\n\t\t}\n\t\treturn path;\n\t};\n\t$pkg.Base = Base;\n\tDir = function(path) {\n\t\tvar dir, i, path, vol;\n\t\tvol = VolumeName(path);\n\t\ti = path.length - 1 >> 0;\n\t\twhile (true) {\n\t\t\tif (!(i >= vol.length && !os.IsPathSeparator(path.charCodeAt(i)))) { break; }\n\t\t\ti = i - (1) >> 0;\n\t\t}\n\t\tdir = Clean($substring(path, vol.length, (i + 1 >> 0)));\n\t\tif (dir === \".\" && vol.length > 2) {\n\t\t\treturn vol;\n\t\t}\n\t\treturn vol + dir;\n\t};\n\t$pkg.Dir = Dir;\n\tVolumeName = function(path) {\n\t\tvar path;\n\t\treturn $substring(path, 0, volumeNameLen(path));\n\t};\n\t$pkg.VolumeName = VolumeName;\n\tIsAbs = function(path) {\n\t\tvar path;\n\t\treturn strings.HasPrefix(path, \"/\");\n\t};\n\t$pkg.IsAbs = IsAbs;\n\tvolumeNameLen = function(path) {\n\t\tvar path;\n\t\treturn 0;\n\t};\n\tsplitList = function(path) {\n\t\tvar path;\n\t\tif (path === \"\") {\n\t\t\treturn new sliceType([]);\n\t\t}\n\t\treturn strings.Split(path, \":\");\n\t};\n\tabs = function(path) {\n\t\tvar _r, path, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; path = $f.path; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = unixAbs(path); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: abs }; } $f._r = _r; $f.path = path; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tjoin = function(elem) {\n\t\tvar _i, _ref, e, elem, i;\n\t\t_ref = elem;\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\ti = _i;\n\t\t\te = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\tif (!(e === \"\")) {\n\t\t\t\treturn Clean(strings.Join($subslice(elem, i), \"/\"));\n\t\t\t}\n\t\t\t_i++;\n\t\t}\n\t\treturn \"\";\n\t};\n\tptrType$1.methods = [{prop: \"index\", name: \"index\", pkg: \"path/filepath\", typ: $funcType([$Int], [$Uint8], false)}, {prop: \"append\", name: \"append\", pkg: \"path/filepath\", typ: $funcType([$Uint8], [], false)}, {prop: \"string\", name: \"string\", pkg: \"path/filepath\", typ: $funcType([], [$String], false)}];\n\tlazybuf.init(\"path/filepath\", [{prop: \"path\", name: \"path\", embedded: false, exported: false, typ: $String, tag: \"\"}, {prop: \"buf\", name: \"buf\", embedded: false, exported: false, typ: sliceType$1, tag: \"\"}, {prop: \"w\", name: \"w\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"volAndPath\", name: \"volAndPath\", embedded: false, exported: false, typ: $String, tag: \"\"}, {prop: \"volLen\", name: \"volLen\", embedded: false, exported: false, typ: $Int, tag: \"\"}]);\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = errors.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = os.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = runtime.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = sort.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = strings.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = utf8.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$pkg.ErrBadPattern = errors.New(\"syntax error in pattern\");\n\t\t$pkg.SkipDir = errors.New(\"skip this directory\");\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"io/ioutil\"] = (function() {\n\tvar $pkg = {}, $init, bytes, io, os, filepath, sort, strconv, strings, sync, time, sliceType, sliceType$1, ptrType, arrayType, ptrType$1, sliceType$3, blackHolePool, rand, randmu, readAll, ReadAll, reseed, nextRandom, TempFile;\n\tbytes = $packages[\"bytes\"];\n\tio = $packages[\"io\"];\n\tos = $packages[\"os\"];\n\tfilepath = $packages[\"path/filepath\"];\n\tsort = $packages[\"sort\"];\n\tstrconv = $packages[\"strconv\"];\n\tstrings = $packages[\"strings\"];\n\tsync = $packages[\"sync\"];\n\ttime = $packages[\"time\"];\n\tsliceType = $sliceType($emptyInterface);\n\tsliceType$1 = $sliceType($Uint8);\n\tptrType = $ptrType(sliceType$1);\n\tarrayType = $arrayType($Uint8, 64);\n\tptrType$1 = $ptrType(os.File);\n\tsliceType$3 = $sliceType($String);\n\treadAll = function(r, capacity) {\n\t\tvar _r, _tmp, _tmp$1, _tuple, b, buf, capacity, err, r, x, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tuple = $f._tuple; b = $f.b; buf = $f.buf; capacity = $f.capacity; err = $f.err; r = $f.r; x = $f.x; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\terr = [err];\n\t\tb = sliceType$1.nil;\n\t\terr[0] = $ifaceNil;\n\t\tbuf = new bytes.Buffer.ptr(sliceType$1.nil, 0, arrayType.zero(), 0);\n\t\t$deferred.push([(function(err) { return function() {\n\t\t\tvar _tuple, e, ok, panicErr;\n\t\t\te = $recover();\n\t\t\tif ($interfaceIsEqual(e, $ifaceNil)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t_tuple = $assertType(e, $error, true);\n\t\t\tpanicErr = _tuple[0];\n\t\t\tok = _tuple[1];\n\t\t\tif (ok && $interfaceIsEqual(panicErr, bytes.ErrTooLarge)) {\n\t\t\t\terr[0] = panicErr;\n\t\t\t} else {\n\t\t\t\t$panic(e);\n\t\t\t}\n\t\t}; })(err), []]);\n\t\tif ((x = (new $Int64(0, (((capacity.$low + ((capacity.$high >> 31) * 4294967296)) >> 0)))), (x.$high === capacity.$high && x.$low === capacity.$low))) {\n\t\t\tbuf.Grow((((capacity.$low + ((capacity.$high >> 31) * 4294967296)) >> 0)));\n\t\t}\n\t\t_r = buf.ReadFrom(r); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\terr[0] = _tuple[1];\n\t\t_tmp = buf.Bytes();\n\t\t_tmp$1 = err[0];\n\t\tb = _tmp;\n\t\terr[0] = _tmp$1;\n\t\t$s = -1; return [b, err[0]];\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if (!$curGoroutine.asleep) { return  [b, err[0]]; } if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: readAll }; } $f._r = _r; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tuple = _tuple; $f.b = b; $f.buf = buf; $f.capacity = capacity; $f.err = err; $f.r = r; $f.x = x; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tReadAll = function(r) {\n\t\tvar _r, r, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; r = $f.r; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = readAll(r, new $Int64(0, 512)); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ReadAll }; } $f._r = _r; $f.r = r; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.ReadAll = ReadAll;\n\treseed = function() {\n\t\tvar x, x$1;\n\t\treturn (((x = $clone(time.Now(), time.Time).UnixNano(), x$1 = (new $Int64(0, os.Getpid())), new $Int64(x.$high + x$1.$high, x.$low + x$1.$low)).$low >>> 0));\n\t};\n\tnextRandom = function() {\n\t\tvar _r, r, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; r = $f.r; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = randmu.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tr = rand;\n\t\tif (r === 0) {\n\t\t\tr = reseed();\n\t\t}\n\t\tr = ($imul(r, 1664525) >>> 0) + 1013904223 >>> 0;\n\t\trand = r;\n\t\t$r = randmu.Unlock(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return $substring(strconv.Itoa((((1000000000 + (_r = r % 1000000000, _r === _r ? _r : $throwRuntimeError(\"integer divide by zero\")) >>> 0) >> 0))), 1);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: nextRandom }; } $f._r = _r; $f.r = r; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tTempFile = function(dir, pattern) {\n\t\tvar _arg, _arg$1, _r, _r$1, _r$2, _r$3, _tmp, _tmp$1, _tmp$2, _tmp$3, _tuple, dir, err, f, i, name, nconflict, pattern, pos, prefix, suffix, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; _tuple = $f._tuple; dir = $f.dir; err = $f.err; f = $f.f; i = $f.i; name = $f.name; nconflict = $f.nconflict; pattern = $f.pattern; pos = $f.pos; prefix = $f.prefix; suffix = $f.suffix; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tf = ptrType$1.nil;\n\t\terr = $ifaceNil;\n\t\t/* */ if (dir === \"\") { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (dir === \"\") { */ case 1:\n\t\t\t_r = os.TempDir(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tdir = _r;\n\t\t/* } */ case 2:\n\t\t_tmp = \"\";\n\t\t_tmp$1 = \"\";\n\t\tprefix = _tmp;\n\t\tsuffix = _tmp$1;\n\t\tpos = strings.LastIndex(pattern, \"*\");\n\t\tif (!((pos === -1))) {\n\t\t\t_tmp$2 = $substring(pattern, 0, pos);\n\t\t\t_tmp$3 = $substring(pattern, (pos + 1 >> 0));\n\t\t\tprefix = _tmp$2;\n\t\t\tsuffix = _tmp$3;\n\t\t} else {\n\t\t\tprefix = pattern;\n\t\t}\n\t\tnconflict = 0;\n\t\ti = 0;\n\t\t/* while (true) { */ case 4:\n\t\t\t/* if (!(i < 10000)) { break; } */ if(!(i < 10000)) { $s = 5; continue; }\n\t\t\t_arg = dir;\n\t\t\t_r$1 = nextRandom(); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_arg$1 = prefix + _r$1 + suffix;\n\t\t\t_r$2 = filepath.Join(new sliceType$3([_arg, _arg$1])); /* */ $s = 7; case 7: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\tname = _r$2;\n\t\t\t_r$3 = os.OpenFile(name, 194, 384); /* */ $s = 8; case 8: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r$3;\n\t\t\tf = _tuple[0];\n\t\t\terr = _tuple[1];\n\t\t\t/* */ if (os.IsExist(err)) { $s = 9; continue; }\n\t\t\t/* */ $s = 10; continue;\n\t\t\t/* if (os.IsExist(err)) { */ case 9:\n\t\t\t\tnconflict = nconflict + (1) >> 0;\n\t\t\t\t/* */ if (nconflict > 10) { $s = 11; continue; }\n\t\t\t\t/* */ $s = 12; continue;\n\t\t\t\t/* if (nconflict > 10) { */ case 11:\n\t\t\t\t\t$r = randmu.Lock(); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\trand = reseed();\n\t\t\t\t\t$r = randmu.Unlock(); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t/* } */ case 12:\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t\t/* continue; */ $s = 4; continue;\n\t\t\t/* } */ case 10:\n\t\t\t/* break; */ $s = 5; continue;\n\t\t/* } */ $s = 4; continue; case 5:\n\t\t$s = -1; return [f, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: TempFile }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f._tuple = _tuple; $f.dir = dir; $f.err = err; $f.f = f; $f.i = i; $f.name = name; $f.nconflict = nconflict; $f.pattern = pattern; $f.pos = pos; $f.prefix = prefix; $f.suffix = suffix; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.TempFile = TempFile;\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = bytes.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = io.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = os.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = filepath.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = sort.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = strconv.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = strings.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = sync.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = time.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\trand = 0;\n\t\trandmu = new sync.Mutex.ptr(0, 0);\n\t\tblackHolePool = new sync.Pool.ptr(0, 0, sliceType.nil, (function() {\n\t\t\tvar b, b$24ptr;\n\t\t\tb = $makeSlice(sliceType$1, 8192);\n\t\t\treturn (b$24ptr || (b$24ptr = new ptrType(function() { return b; }, function($v) { b = $subslice(new sliceType$1($v.$array), $v.$offset, $v.$offset + $v.$length); })));\n\t\t}));\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"math/rand\"] = (function() {\n\tvar $pkg = {}, $init, nosync, math, Source, Source64, Rand, lockedSource, rngSource, arrayType, ptrType, ptrType$1, sliceType, ptrType$2, ptrType$3, funcType, sliceType$1, ptrType$5, ke, we, fe, kn, wn, fn, globalRand, rngCooked, absInt32, NewSource, New, read, Seed, Intn, Float64, seedrand;\n\tnosync = $packages[\"github.com/gopherjs/gopherjs/nosync\"];\n\tmath = $packages[\"math\"];\n\tSource = $pkg.Source = $newType(8, $kindInterface, \"rand.Source\", true, \"math/rand\", true, null);\n\tSource64 = $pkg.Source64 = $newType(8, $kindInterface, \"rand.Source64\", true, \"math/rand\", true, null);\n\tRand = $pkg.Rand = $newType(0, $kindStruct, \"rand.Rand\", true, \"math/rand\", true, function(src_, s64_, readVal_, readPos_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.src = $ifaceNil;\n\t\t\tthis.s64 = $ifaceNil;\n\t\t\tthis.readVal = new $Int64(0, 0);\n\t\t\tthis.readPos = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.src = src_;\n\t\tthis.s64 = s64_;\n\t\tthis.readVal = readVal_;\n\t\tthis.readPos = readPos_;\n\t});\n\tlockedSource = $pkg.lockedSource = $newType(0, $kindStruct, \"rand.lockedSource\", true, \"math/rand\", false, function(lk_, src_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.lk = new nosync.Mutex.ptr(false);\n\t\t\tthis.src = $ifaceNil;\n\t\t\treturn;\n\t\t}\n\t\tthis.lk = lk_;\n\t\tthis.src = src_;\n\t});\n\trngSource = $pkg.rngSource = $newType(0, $kindStruct, \"rand.rngSource\", true, \"math/rand\", false, function(tap_, feed_, vec_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.tap = 0;\n\t\t\tthis.feed = 0;\n\t\t\tthis.vec = arrayType.zero();\n\t\t\treturn;\n\t\t}\n\t\tthis.tap = tap_;\n\t\tthis.feed = feed_;\n\t\tthis.vec = vec_;\n\t});\n\tarrayType = $arrayType($Int64, 607);\n\tptrType = $ptrType(lockedSource);\n\tptrType$1 = $ptrType($Int8);\n\tsliceType = $sliceType($Int);\n\tptrType$2 = $ptrType($Int64);\n\tptrType$3 = $ptrType(Rand);\n\tfuncType = $funcType([$Int, $Int], [], false);\n\tsliceType$1 = $sliceType($Uint8);\n\tptrType$5 = $ptrType(rngSource);\n\tRand.ptr.prototype.ExpFloat64 = function() {\n\t\tvar _r, _r$1, _r$2, _r$3, i, j, r, x, x$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; i = $f.i; j = $f.j; r = $f.r; x = $f.x; x$1 = $f.x$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tr = this;\n\t\t/* while (true) { */ case 1:\n\t\t\t_r = r.Uint32(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tj = _r;\n\t\t\ti = (j & 255) >>> 0;\n\t\t\tx = (j) * (((i < 0 || i >= we.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : we[i]));\n\t\t\tif (j < ((i < 0 || i >= ke.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : ke[i])) {\n\t\t\t\t$s = -1; return x;\n\t\t\t}\n\t\t\t/* */ if (i === 0) { $s = 4; continue; }\n\t\t\t/* */ $s = 5; continue;\n\t\t\t/* if (i === 0) { */ case 4:\n\t\t\t\t_r$1 = r.Float64(); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t_r$2 = math.Log(_r$1); /* */ $s = 7; case 7: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return 7.69711747013105 - _r$2;\n\t\t\t/* } */ case 5:\n\t\t\t_r$3 = r.Float64(); /* */ $s = 10; case 10: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t/* */ if ($fround(((i < 0 || i >= fe.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : fe[i]) + $fround(($fround(_r$3)) * ($fround((x$1 = i - 1 >>> 0, ((x$1 < 0 || x$1 >= fe.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : fe[x$1])) - ((i < 0 || i >= fe.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : fe[i]))))) < ($fround(math.Exp(-x)))) { $s = 8; continue; }\n\t\t\t/* */ $s = 9; continue;\n\t\t\t/* if ($fround(((i < 0 || i >= fe.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : fe[i]) + $fround(($fround(_r$3)) * ($fround((x$1 = i - 1 >>> 0, ((x$1 < 0 || x$1 >= fe.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : fe[x$1])) - ((i < 0 || i >= fe.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : fe[i]))))) < ($fround(math.Exp(-x)))) { */ case 8:\n\t\t\t\t$s = -1; return x;\n\t\t\t/* } */ case 9:\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Rand.ptr.prototype.ExpFloat64 }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f.i = i; $f.j = j; $f.r = r; $f.x = x; $f.x$1 = x$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tRand.prototype.ExpFloat64 = function() { return this.$val.ExpFloat64(); };\n\tabsInt32 = function(i) {\n\t\tvar i;\n\t\tif (i < 0) {\n\t\t\treturn ((-i >>> 0));\n\t\t}\n\t\treturn ((i >>> 0));\n\t};\n\tRand.ptr.prototype.NormFloat64 = function() {\n\t\tvar _r, _r$1, _r$2, _r$3, _r$4, _r$5, i, j, r, x, x$1, y, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; i = $f.i; j = $f.j; r = $f.r; x = $f.x; x$1 = $f.x$1; y = $f.y; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tr = this;\n\t\t/* while (true) { */ case 1:\n\t\t\t_r = r.Uint32(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tj = ((_r >> 0));\n\t\t\ti = j & 127;\n\t\t\tx = (j) * (((i < 0 || i >= wn.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : wn[i]));\n\t\t\tif (absInt32(j) < ((i < 0 || i >= kn.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : kn[i])) {\n\t\t\t\t$s = -1; return x;\n\t\t\t}\n\t\t\t/* */ if (i === 0) { $s = 4; continue; }\n\t\t\t/* */ $s = 5; continue;\n\t\t\t/* if (i === 0) { */ case 4:\n\t\t\t\t/* while (true) { */ case 6:\n\t\t\t\t\t_r$1 = r.Float64(); /* */ $s = 8; case 8: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t\t_r$2 = math.Log(_r$1); /* */ $s = 9; case 9: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t\tx = -_r$2 * 0.29047645161474317;\n\t\t\t\t\t_r$3 = r.Float64(); /* */ $s = 10; case 10: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t\t_r$4 = math.Log(_r$3); /* */ $s = 11; case 11: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\t\ty = -_r$4;\n\t\t\t\t\tif (y + y >= x * x) {\n\t\t\t\t\t\t/* break; */ $s = 7; continue;\n\t\t\t\t\t}\n\t\t\t\t/* } */ $s = 6; continue; case 7:\n\t\t\t\tif (j > 0) {\n\t\t\t\t\t$s = -1; return 3.442619855899 + x;\n\t\t\t\t}\n\t\t\t\t$s = -1; return -3.442619855899 - x;\n\t\t\t/* } */ case 5:\n\t\t\t_r$5 = r.Float64(); /* */ $s = 14; case 14: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t/* */ if ($fround(((i < 0 || i >= fn.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : fn[i]) + $fround(($fround(_r$5)) * ($fround((x$1 = i - 1 >> 0, ((x$1 < 0 || x$1 >= fn.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : fn[x$1])) - ((i < 0 || i >= fn.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : fn[i]))))) < ($fround(math.Exp(-0.5 * x * x)))) { $s = 12; continue; }\n\t\t\t/* */ $s = 13; continue;\n\t\t\t/* if ($fround(((i < 0 || i >= fn.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : fn[i]) + $fround(($fround(_r$5)) * ($fround((x$1 = i - 1 >> 0, ((x$1 < 0 || x$1 >= fn.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : fn[x$1])) - ((i < 0 || i >= fn.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : fn[i]))))) < ($fround(math.Exp(-0.5 * x * x)))) { */ case 12:\n\t\t\t\t$s = -1; return x;\n\t\t\t/* } */ case 13:\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Rand.ptr.prototype.NormFloat64 }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f.i = i; $f.j = j; $f.r = r; $f.x = x; $f.x$1 = x$1; $f.y = y; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tRand.prototype.NormFloat64 = function() { return this.$val.NormFloat64(); };\n\tNewSource = function(seed) {\n\t\tvar rng, seed;\n\t\trng = new rngSource.ptr(0, 0, arrayType.zero());\n\t\trng.Seed(seed);\n\t\treturn rng;\n\t};\n\t$pkg.NewSource = NewSource;\n\tNew = function(src) {\n\t\tvar _tuple, s64, src;\n\t\t_tuple = $assertType(src, Source64, true);\n\t\ts64 = _tuple[0];\n\t\treturn new Rand.ptr(src, s64, new $Int64(0, 0), 0);\n\t};\n\t$pkg.New = New;\n\tRand.ptr.prototype.Seed = function(seed) {\n\t\tvar _tuple, lk, ok, r, seed, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _tuple = $f._tuple; lk = $f.lk; ok = $f.ok; r = $f.r; seed = $f.seed; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tr = this;\n\t\t_tuple = $assertType(r.src, ptrType, true);\n\t\tlk = _tuple[0];\n\t\tok = _tuple[1];\n\t\t/* */ if (ok) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (ok) { */ case 1:\n\t\t\t$r = lk.seedPos(seed, (r.$ptr_readPos || (r.$ptr_readPos = new ptrType$1(function() { return this.$target.readPos; }, function($v) { this.$target.readPos = $v; }, r)))); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return;\n\t\t/* } */ case 2:\n\t\t$r = r.src.Seed(seed); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tr.readPos = 0;\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Rand.ptr.prototype.Seed }; } $f._tuple = _tuple; $f.lk = lk; $f.ok = ok; $f.r = r; $f.seed = seed; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tRand.prototype.Seed = function(seed) { return this.$val.Seed(seed); };\n\tRand.ptr.prototype.Int63 = function() {\n\t\tvar _r, r, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; r = $f.r; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tr = this;\n\t\t_r = r.src.Int63(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Rand.ptr.prototype.Int63 }; } $f._r = _r; $f.r = r; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tRand.prototype.Int63 = function() { return this.$val.Int63(); };\n\tRand.ptr.prototype.Uint32 = function() {\n\t\tvar _r, r, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; r = $f.r; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tr = this;\n\t\t_r = r.Int63(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return (($shiftRightInt64(_r, 31).$low >>> 0));\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Rand.ptr.prototype.Uint32 }; } $f._r = _r; $f.r = r; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tRand.prototype.Uint32 = function() { return this.$val.Uint32(); };\n\tRand.ptr.prototype.Uint64 = function() {\n\t\tvar _r, _r$1, _r$2, r, x, x$1, x$2, x$3, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; r = $f.r; x = $f.x; x$1 = $f.x$1; x$2 = $f.x$2; x$3 = $f.x$3; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tr = this;\n\t\t/* */ if (!($interfaceIsEqual(r.s64, $ifaceNil))) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!($interfaceIsEqual(r.s64, $ifaceNil))) { */ case 1:\n\t\t\t_r = r.s64.Uint64(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return _r;\n\t\t/* } */ case 2:\n\t\t_r$1 = r.Int63(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_r$2 = r.Int63(); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t$s = -1; return (x = $shiftRightUint64(((x$1 = _r$1, new $Uint64(x$1.$high, x$1.$low))), 31), x$2 = $shiftLeft64(((x$3 = _r$2, new $Uint64(x$3.$high, x$3.$low))), 32), new $Uint64(x.$high | x$2.$high, (x.$low | x$2.$low) >>> 0));\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Rand.ptr.prototype.Uint64 }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.r = r; $f.x = x; $f.x$1 = x$1; $f.x$2 = x$2; $f.x$3 = x$3; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tRand.prototype.Uint64 = function() { return this.$val.Uint64(); };\n\tRand.ptr.prototype.Int31 = function() {\n\t\tvar _r, r, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; r = $f.r; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tr = this;\n\t\t_r = r.Int63(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return (((x = $shiftRightInt64(_r, 32), x.$low + ((x.$high >> 31) * 4294967296)) >> 0));\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Rand.ptr.prototype.Int31 }; } $f._r = _r; $f.r = r; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tRand.prototype.Int31 = function() { return this.$val.Int31(); };\n\tRand.ptr.prototype.Int = function() {\n\t\tvar _r, r, u, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; r = $f.r; u = $f.u; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tr = this;\n\t\t_r = r.Int63(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tu = ((_r.$low >>> 0));\n\t\t$s = -1; return ((((u << 1 >>> 0) >>> 1 >>> 0) >> 0));\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Rand.ptr.prototype.Int }; } $f._r = _r; $f.r = r; $f.u = u; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tRand.prototype.Int = function() { return this.$val.Int(); };\n\tRand.ptr.prototype.Int63n = function(n) {\n\t\tvar _r, _r$1, _r$2, max, n, r, v, x, x$1, x$2, x$3, x$4, x$5, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; max = $f.max; n = $f.n; r = $f.r; v = $f.v; x = $f.x; x$1 = $f.x$1; x$2 = $f.x$2; x$3 = $f.x$3; x$4 = $f.x$4; x$5 = $f.x$5; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tr = this;\n\t\tif ((n.$high < 0 || (n.$high === 0 && n.$low <= 0))) {\n\t\t\t$panic(new $String(\"invalid argument to Int63n\"));\n\t\t}\n\t\t/* */ if ((x = (x$1 = new $Int64(n.$high - 0, n.$low - 1), new $Int64(n.$high & x$1.$high, (n.$low & x$1.$low) >>> 0)), (x.$high === 0 && x.$low === 0))) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if ((x = (x$1 = new $Int64(n.$high - 0, n.$low - 1), new $Int64(n.$high & x$1.$high, (n.$low & x$1.$low) >>> 0)), (x.$high === 0 && x.$low === 0))) { */ case 1:\n\t\t\t_r = r.Int63(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return (x$2 = _r, x$3 = new $Int64(n.$high - 0, n.$low - 1), new $Int64(x$2.$high & x$3.$high, (x$2.$low & x$3.$low) >>> 0));\n\t\t/* } */ case 2:\n\t\tmax = ((x$4 = (x$5 = $div64(new $Uint64(2147483648, 0), (new $Uint64(n.$high, n.$low)), true), new $Uint64(2147483647 - x$5.$high, 4294967295 - x$5.$low)), new $Int64(x$4.$high, x$4.$low)));\n\t\t_r$1 = r.Int63(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tv = _r$1;\n\t\t/* while (true) { */ case 5:\n\t\t\t/* if (!((v.$high > max.$high || (v.$high === max.$high && v.$low > max.$low)))) { break; } */ if(!((v.$high > max.$high || (v.$high === max.$high && v.$low > max.$low)))) { $s = 6; continue; }\n\t\t\t_r$2 = r.Int63(); /* */ $s = 7; case 7: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\tv = _r$2;\n\t\t/* } */ $s = 5; continue; case 6:\n\t\t$s = -1; return $div64(v, n, true);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Rand.ptr.prototype.Int63n }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.max = max; $f.n = n; $f.r = r; $f.v = v; $f.x = x; $f.x$1 = x$1; $f.x$2 = x$2; $f.x$3 = x$3; $f.x$4 = x$4; $f.x$5 = x$5; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tRand.prototype.Int63n = function(n) { return this.$val.Int63n(n); };\n\tRand.ptr.prototype.Int31n = function(n) {\n\t\tvar _r, _r$1, _r$2, _r$3, _r$4, max, n, r, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; max = $f.max; n = $f.n; r = $f.r; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tr = this;\n\t\tif (n <= 0) {\n\t\t\t$panic(new $String(\"invalid argument to Int31n\"));\n\t\t}\n\t\t/* */ if ((n & ((n - 1 >> 0))) === 0) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if ((n & ((n - 1 >> 0))) === 0) { */ case 1:\n\t\t\t_r = r.Int31(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return _r & ((n - 1 >> 0));\n\t\t/* } */ case 2:\n\t\tmax = (((2147483647 - (_r$1 = 2147483648 % ((n >>> 0)), _r$1 === _r$1 ? _r$1 : $throwRuntimeError(\"integer divide by zero\")) >>> 0) >> 0));\n\t\t_r$2 = r.Int31(); /* */ $s = 4; case 4: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\tv = _r$2;\n\t\t/* while (true) { */ case 5:\n\t\t\t/* if (!(v > max)) { break; } */ if(!(v > max)) { $s = 6; continue; }\n\t\t\t_r$3 = r.Int31(); /* */ $s = 7; case 7: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\tv = _r$3;\n\t\t/* } */ $s = 5; continue; case 6:\n\t\t$s = -1; return (_r$4 = v % n, _r$4 === _r$4 ? _r$4 : $throwRuntimeError(\"integer divide by zero\"));\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Rand.ptr.prototype.Int31n }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f.max = max; $f.n = n; $f.r = r; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tRand.prototype.Int31n = function(n) { return this.$val.Int31n(n); };\n\tRand.ptr.prototype.int31n = function(n) {\n\t\tvar _r, _r$1, _r$2, low, n, prod, r, thresh, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; low = $f.low; n = $f.n; prod = $f.prod; r = $f.r; thresh = $f.thresh; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tr = this;\n\t\t_r = r.Uint32(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tv = _r;\n\t\tprod = $mul64((new $Uint64(0, v)), (new $Uint64(0, n)));\n\t\tlow = ((prod.$low >>> 0));\n\t\t/* */ if (low < ((n >>> 0))) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (low < ((n >>> 0))) { */ case 2:\n\t\t\tthresh = (_r$1 = ((-n >>> 0)) % ((n >>> 0)), _r$1 === _r$1 ? _r$1 : $throwRuntimeError(\"integer divide by zero\"));\n\t\t\t/* while (true) { */ case 4:\n\t\t\t\t/* if (!(low < thresh)) { break; } */ if(!(low < thresh)) { $s = 5; continue; }\n\t\t\t\t_r$2 = r.Uint32(); /* */ $s = 6; case 6: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\tv = _r$2;\n\t\t\t\tprod = $mul64((new $Uint64(0, v)), (new $Uint64(0, n)));\n\t\t\t\tlow = ((prod.$low >>> 0));\n\t\t\t/* } */ $s = 4; continue; case 5:\n\t\t/* } */ case 3:\n\t\t$s = -1; return (($shiftRightUint64(prod, 32).$low >> 0));\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Rand.ptr.prototype.int31n }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.low = low; $f.n = n; $f.prod = prod; $f.r = r; $f.thresh = thresh; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tRand.prototype.int31n = function(n) { return this.$val.int31n(n); };\n\tRand.ptr.prototype.Intn = function(n) {\n\t\tvar _r, _r$1, n, r, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; n = $f.n; r = $f.r; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tr = this;\n\t\tif (n <= 0) {\n\t\t\t$panic(new $String(\"invalid argument to Intn\"));\n\t\t}\n\t\t/* */ if (n <= 2147483647) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (n <= 2147483647) { */ case 1:\n\t\t\t_r = r.Int31n(((n >> 0))); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return ((_r >> 0));\n\t\t/* } */ case 2:\n\t\t_r$1 = r.Int63n((new $Int64(0, n))); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$s = -1; return (((x = _r$1, x.$low + ((x.$high >> 31) * 4294967296)) >> 0));\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Rand.ptr.prototype.Intn }; } $f._r = _r; $f._r$1 = _r$1; $f.n = n; $f.r = r; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tRand.prototype.Intn = function(n) { return this.$val.Intn(n); };\n\tRand.ptr.prototype.Float64 = function() {\n\t\tvar _r, f, r, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; f = $f.f; r = $f.r; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tr = this;\n\t\t/* again: */ case 1:\n\t\t_r = r.Int63(); /* */ $s = 2; case 2: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tf = ($flatten64(_r)) / 9.223372036854776e+18;\n\t\t/* */ if (f === 1) { $s = 3; continue; }\n\t\t/* */ $s = 4; continue;\n\t\t/* if (f === 1) { */ case 3:\n\t\t\t/* goto again */ $s = 1; continue;\n\t\t/* } */ case 4:\n\t\t$s = -1; return f;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Rand.ptr.prototype.Float64 }; } $f._r = _r; $f.f = f; $f.r = r; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tRand.prototype.Float64 = function() { return this.$val.Float64(); };\n\tRand.ptr.prototype.Float32 = function() {\n\t\tvar _r, f, r, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; f = $f.f; r = $f.r; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tr = this;\n\t\t/* again: */ case 1:\n\t\t_r = r.Float64(); /* */ $s = 2; case 2: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tf = ($fround(_r));\n\t\t/* */ if (f === 1) { $s = 3; continue; }\n\t\t/* */ $s = 4; continue;\n\t\t/* if (f === 1) { */ case 3:\n\t\t\t/* goto again */ $s = 1; continue;\n\t\t/* } */ case 4:\n\t\t$s = -1; return f;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Rand.ptr.prototype.Float32 }; } $f._r = _r; $f.f = f; $f.r = r; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tRand.prototype.Float32 = function() { return this.$val.Float32(); };\n\tRand.ptr.prototype.Perm = function(n) {\n\t\tvar _r, i, j, m, n, r, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; i = $f.i; j = $f.j; m = $f.m; n = $f.n; r = $f.r; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tr = this;\n\t\tm = $makeSlice(sliceType, n);\n\t\ti = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(i < n)) { break; } */ if(!(i < n)) { $s = 2; continue; }\n\t\t\t_r = r.Intn(i + 1 >> 0); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tj = _r;\n\t\t\t((i < 0 || i >= m.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : m.$array[m.$offset + i] = ((j < 0 || j >= m.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : m.$array[m.$offset + j]));\n\t\t\t((j < 0 || j >= m.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : m.$array[m.$offset + j] = i);\n\t\t\ti = i + (1) >> 0;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return m;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Rand.ptr.prototype.Perm }; } $f._r = _r; $f.i = i; $f.j = j; $f.m = m; $f.n = n; $f.r = r; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tRand.prototype.Perm = function(n) { return this.$val.Perm(n); };\n\tRand.ptr.prototype.Shuffle = function(n, swap) {\n\t\tvar _r, _r$1, i, j, j$1, n, r, swap, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; i = $f.i; j = $f.j; j$1 = $f.j$1; n = $f.n; r = $f.r; swap = $f.swap; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tr = this;\n\t\tif (n < 0) {\n\t\t\t$panic(new $String(\"invalid argument to Shuffle\"));\n\t\t}\n\t\ti = n - 1 >> 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(i > 2147483646)) { break; } */ if(!(i > 2147483646)) { $s = 2; continue; }\n\t\t\t_r = r.Int63n((new $Int64(0, (i + 1 >> 0)))); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tj = (((x = _r, x.$low + ((x.$high >> 31) * 4294967296)) >> 0));\n\t\t\t$r = swap(i, j); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\ti = i - (1) >> 0;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t/* while (true) { */ case 5:\n\t\t\t/* if (!(i > 0)) { break; } */ if(!(i > 0)) { $s = 6; continue; }\n\t\t\t_r$1 = r.int31n((((i + 1 >> 0) >> 0))); /* */ $s = 7; case 7: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\tj$1 = ((_r$1 >> 0));\n\t\t\t$r = swap(i, j$1); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\ti = i - (1) >> 0;\n\t\t/* } */ $s = 5; continue; case 6:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Rand.ptr.prototype.Shuffle }; } $f._r = _r; $f._r$1 = _r$1; $f.i = i; $f.j = j; $f.j$1 = j$1; $f.n = n; $f.r = r; $f.swap = swap; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tRand.prototype.Shuffle = function(n, swap) { return this.$val.Shuffle(n, swap); };\n\tRand.ptr.prototype.Read = function(p) {\n\t\tvar _r, _r$1, _tuple, _tuple$1, _tuple$2, err, lk, n, ok, p, r, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; err = $f.err; lk = $f.lk; n = $f.n; ok = $f.ok; p = $f.p; r = $f.r; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\tr = this;\n\t\t_tuple = $assertType(r.src, ptrType, true);\n\t\tlk = _tuple[0];\n\t\tok = _tuple[1];\n\t\t/* */ if (ok) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (ok) { */ case 1:\n\t\t\t_r = lk.read(p, (r.$ptr_readVal || (r.$ptr_readVal = new ptrType$2(function() { return this.$target.readVal; }, function($v) { this.$target.readVal = $v; }, r))), (r.$ptr_readPos || (r.$ptr_readPos = new ptrType$1(function() { return this.$target.readPos; }, function($v) { this.$target.readPos = $v; }, r)))); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple$1 = _r;\n\t\t\tn = _tuple$1[0];\n\t\t\terr = _tuple$1[1];\n\t\t\t$s = -1; return [n, err];\n\t\t/* } */ case 2:\n\t\t_r$1 = read(p, $methodVal(r, \"Int63\"), (r.$ptr_readVal || (r.$ptr_readVal = new ptrType$2(function() { return this.$target.readVal; }, function($v) { this.$target.readVal = $v; }, r))), (r.$ptr_readPos || (r.$ptr_readPos = new ptrType$1(function() { return this.$target.readPos; }, function($v) { this.$target.readPos = $v; }, r)))); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_tuple$2 = _r$1;\n\t\tn = _tuple$2[0];\n\t\terr = _tuple$2[1];\n\t\t$s = -1; return [n, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Rand.ptr.prototype.Read }; } $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f.err = err; $f.lk = lk; $f.n = n; $f.ok = ok; $f.p = p; $f.r = r; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tRand.prototype.Read = function(p) { return this.$val.Read(p); };\n\tread = function(p, int63, readVal, readPos) {\n\t\tvar _r, err, int63, n, p, pos, readPos, readVal, val, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; err = $f.err; int63 = $f.int63; n = $f.n; p = $f.p; pos = $f.pos; readPos = $f.readPos; readVal = $f.readVal; val = $f.val; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\tpos = readPos.$get();\n\t\tval = readVal.$get();\n\t\tn = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(n < p.$length)) { break; } */ if(!(n < p.$length)) { $s = 2; continue; }\n\t\t\t/* */ if (pos === 0) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (pos === 0) { */ case 3:\n\t\t\t\t_r = int63(); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\tval = _r;\n\t\t\t\tpos = 7;\n\t\t\t/* } */ case 4:\n\t\t\t((n < 0 || n >= p.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : p.$array[p.$offset + n] = ((val.$low << 24 >>> 24)));\n\t\t\tval = $shiftRightInt64(val, (8));\n\t\t\tpos = pos - (1) << 24 >> 24;\n\t\t\tn = n + (1) >> 0;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\treadPos.$set(pos);\n\t\treadVal.$set(val);\n\t\t$s = -1; return [n, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: read }; } $f._r = _r; $f.err = err; $f.int63 = int63; $f.n = n; $f.p = p; $f.pos = pos; $f.readPos = readPos; $f.readVal = readVal; $f.val = val; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tSeed = function(seed) {\n\t\tvar seed, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; seed = $f.seed; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = globalRand.Seed(seed); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Seed }; } $f.seed = seed; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.Seed = Seed;\n\tIntn = function(n) {\n\t\tvar _r, n, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; n = $f.n; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = globalRand.Intn(n); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Intn }; } $f._r = _r; $f.n = n; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.Intn = Intn;\n\tFloat64 = function() {\n\t\tvar _r, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = globalRand.Float64(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Float64 }; } $f._r = _r; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.Float64 = Float64;\n\tlockedSource.ptr.prototype.Int63 = function() {\n\t\tvar _r, n, r, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; n = $f.n; r = $f.r; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tn = new $Int64(0, 0);\n\t\tr = this;\n\t\tr.lk.Lock();\n\t\t_r = r.src.Int63(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tn = _r;\n\t\tr.lk.Unlock();\n\t\t$s = -1; return n;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: lockedSource.ptr.prototype.Int63 }; } $f._r = _r; $f.n = n; $f.r = r; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tlockedSource.prototype.Int63 = function() { return this.$val.Int63(); };\n\tlockedSource.ptr.prototype.Uint64 = function() {\n\t\tvar _r, n, r, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; n = $f.n; r = $f.r; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tn = new $Uint64(0, 0);\n\t\tr = this;\n\t\tr.lk.Lock();\n\t\t_r = r.src.Uint64(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tn = _r;\n\t\tr.lk.Unlock();\n\t\t$s = -1; return n;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: lockedSource.ptr.prototype.Uint64 }; } $f._r = _r; $f.n = n; $f.r = r; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tlockedSource.prototype.Uint64 = function() { return this.$val.Uint64(); };\n\tlockedSource.ptr.prototype.Seed = function(seed) {\n\t\tvar r, seed, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; r = $f.r; seed = $f.seed; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tr = this;\n\t\tr.lk.Lock();\n\t\t$r = r.src.Seed(seed); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tr.lk.Unlock();\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: lockedSource.ptr.prototype.Seed }; } $f.r = r; $f.seed = seed; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tlockedSource.prototype.Seed = function(seed) { return this.$val.Seed(seed); };\n\tlockedSource.ptr.prototype.seedPos = function(seed, readPos) {\n\t\tvar r, readPos, seed, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; r = $f.r; readPos = $f.readPos; seed = $f.seed; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tr = this;\n\t\tr.lk.Lock();\n\t\t$r = r.src.Seed(seed); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\treadPos.$set(0);\n\t\tr.lk.Unlock();\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: lockedSource.ptr.prototype.seedPos }; } $f.r = r; $f.readPos = readPos; $f.seed = seed; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tlockedSource.prototype.seedPos = function(seed, readPos) { return this.$val.seedPos(seed, readPos); };\n\tlockedSource.ptr.prototype.read = function(p, readVal, readPos) {\n\t\tvar _r, _tuple, err, n, p, r, readPos, readVal, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; err = $f.err; n = $f.n; p = $f.p; r = $f.r; readPos = $f.readPos; readVal = $f.readVal; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\tr = this;\n\t\tr.lk.Lock();\n\t\t_r = read(p, $methodVal(r.src, \"Int63\"), readVal, readPos); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tn = _tuple[0];\n\t\terr = _tuple[1];\n\t\tr.lk.Unlock();\n\t\t$s = -1; return [n, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: lockedSource.ptr.prototype.read }; } $f._r = _r; $f._tuple = _tuple; $f.err = err; $f.n = n; $f.p = p; $f.r = r; $f.readPos = readPos; $f.readVal = readVal; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tlockedSource.prototype.read = function(p, readVal, readPos) { return this.$val.read(p, readVal, readPos); };\n\tseedrand = function(x) {\n\t\tvar _q, _r, hi, lo, x;\n\t\thi = (_q = x / 44488, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError(\"integer divide by zero\"));\n\t\tlo = (_r = x % 44488, _r === _r ? _r : $throwRuntimeError(\"integer divide by zero\"));\n\t\tx = ($imul(48271, lo)) - ($imul(3399, hi)) >> 0;\n\t\tif (x < 0) {\n\t\t\tx = x + (2147483647) >> 0;\n\t\t}\n\t\treturn x;\n\t};\n\trngSource.ptr.prototype.Seed = function(seed) {\n\t\tvar i, rng, seed, u, x, x$1, x$2, x$3, x$4, x$5;\n\t\trng = this;\n\t\trng.tap = 0;\n\t\trng.feed = 334;\n\t\tseed = $div64(seed, new $Int64(0, 2147483647), true);\n\t\tif ((seed.$high < 0 || (seed.$high === 0 && seed.$low < 0))) {\n\t\t\tseed = (x = new $Int64(0, 2147483647), new $Int64(seed.$high + x.$high, seed.$low + x.$low));\n\t\t}\n\t\tif ((seed.$high === 0 && seed.$low === 0)) {\n\t\t\tseed = new $Int64(0, 89482311);\n\t\t}\n\t\tx$1 = (((seed.$low + ((seed.$high >> 31) * 4294967296)) >> 0));\n\t\ti = -20;\n\t\twhile (true) {\n\t\t\tif (!(i < 607)) { break; }\n\t\t\tx$1 = seedrand(x$1);\n\t\t\tif (i >= 0) {\n\t\t\t\tu = new $Int64(0, 0);\n\t\t\t\tu = $shiftLeft64((new $Int64(0, x$1)), 40);\n\t\t\t\tx$1 = seedrand(x$1);\n\t\t\t\tu = (x$2 = $shiftLeft64((new $Int64(0, x$1)), 20), new $Int64(u.$high ^ x$2.$high, (u.$low ^ x$2.$low) >>> 0));\n\t\t\t\tx$1 = seedrand(x$1);\n\t\t\t\tu = (x$3 = (new $Int64(0, x$1)), new $Int64(u.$high ^ x$3.$high, (u.$low ^ x$3.$low) >>> 0));\n\t\t\t\tu = (x$4 = ((i < 0 || i >= rngCooked.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : rngCooked[i]), new $Int64(u.$high ^ x$4.$high, (u.$low ^ x$4.$low) >>> 0));\n\t\t\t\t(x$5 = rng.vec, ((i < 0 || i >= x$5.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$5[i] = u));\n\t\t\t}\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t};\n\trngSource.prototype.Seed = function(seed) { return this.$val.Seed(seed); };\n\trngSource.ptr.prototype.Int63 = function() {\n\t\tvar rng, x, x$1;\n\t\trng = this;\n\t\treturn ((x = (x$1 = rng.Uint64(), new $Uint64(x$1.$high & 2147483647, (x$1.$low & 4294967295) >>> 0)), new $Int64(x.$high, x.$low)));\n\t};\n\trngSource.prototype.Int63 = function() { return this.$val.Int63(); };\n\trngSource.ptr.prototype.Uint64 = function() {\n\t\tvar rng, x, x$1, x$2, x$3, x$4, x$5, x$6, x$7, x$8;\n\t\trng = this;\n\t\trng.tap = rng.tap - (1) >> 0;\n\t\tif (rng.tap < 0) {\n\t\t\trng.tap = rng.tap + (607) >> 0;\n\t\t}\n\t\trng.feed = rng.feed - (1) >> 0;\n\t\tif (rng.feed < 0) {\n\t\t\trng.feed = rng.feed + (607) >> 0;\n\t\t}\n\t\tx$6 = (x = (x$1 = rng.vec, x$2 = rng.feed, ((x$2 < 0 || x$2 >= x$1.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$1[x$2])), x$3 = (x$4 = rng.vec, x$5 = rng.tap, ((x$5 < 0 || x$5 >= x$4.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$4[x$5])), new $Int64(x.$high + x$3.$high, x.$low + x$3.$low));\n\t\t(x$7 = rng.vec, x$8 = rng.feed, ((x$8 < 0 || x$8 >= x$7.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$7[x$8] = x$6));\n\t\treturn (new $Uint64(x$6.$high, x$6.$low));\n\t};\n\trngSource.prototype.Uint64 = function() { return this.$val.Uint64(); };\n\tptrType$3.methods = [{prop: \"ExpFloat64\", name: \"ExpFloat64\", pkg: \"\", typ: $funcType([], [$Float64], false)}, {prop: \"NormFloat64\", name: \"NormFloat64\", pkg: \"\", typ: $funcType([], [$Float64], false)}, {prop: \"Seed\", name: \"Seed\", pkg: \"\", typ: $funcType([$Int64], [], false)}, {prop: \"Int63\", name: \"Int63\", pkg: \"\", typ: $funcType([], [$Int64], false)}, {prop: \"Uint32\", name: \"Uint32\", pkg: \"\", typ: $funcType([], [$Uint32], false)}, {prop: \"Uint64\", name: \"Uint64\", pkg: \"\", typ: $funcType([], [$Uint64], false)}, {prop: \"Int31\", name: \"Int31\", pkg: \"\", typ: $funcType([], [$Int32], false)}, {prop: \"Int\", name: \"Int\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Int63n\", name: \"Int63n\", pkg: \"\", typ: $funcType([$Int64], [$Int64], false)}, {prop: \"Int31n\", name: \"Int31n\", pkg: \"\", typ: $funcType([$Int32], [$Int32], false)}, {prop: \"int31n\", name: \"int31n\", pkg: \"math/rand\", typ: $funcType([$Int32], [$Int32], false)}, {prop: \"Intn\", name: \"Intn\", pkg: \"\", typ: $funcType([$Int], [$Int], false)}, {prop: \"Float64\", name: \"Float64\", pkg: \"\", typ: $funcType([], [$Float64], false)}, {prop: \"Float32\", name: \"Float32\", pkg: \"\", typ: $funcType([], [$Float32], false)}, {prop: \"Perm\", name: \"Perm\", pkg: \"\", typ: $funcType([$Int], [sliceType], false)}, {prop: \"Shuffle\", name: \"Shuffle\", pkg: \"\", typ: $funcType([$Int, funcType], [], false)}, {prop: \"Read\", name: \"Read\", pkg: \"\", typ: $funcType([sliceType$1], [$Int, $error], false)}];\n\tptrType.methods = [{prop: \"Int63\", name: \"Int63\", pkg: \"\", typ: $funcType([], [$Int64], false)}, {prop: \"Uint64\", name: \"Uint64\", pkg: \"\", typ: $funcType([], [$Uint64], false)}, {prop: \"Seed\", name: \"Seed\", pkg: \"\", typ: $funcType([$Int64], [], false)}, {prop: \"seedPos\", name: \"seedPos\", pkg: \"math/rand\", typ: $funcType([$Int64, ptrType$1], [], false)}, {prop: \"read\", name: \"read\", pkg: \"math/rand\", typ: $funcType([sliceType$1, ptrType$2, ptrType$1], [$Int, $error], false)}];\n\tptrType$5.methods = [{prop: \"Seed\", name: \"Seed\", pkg: \"\", typ: $funcType([$Int64], [], false)}, {prop: \"Int63\", name: \"Int63\", pkg: \"\", typ: $funcType([], [$Int64], false)}, {prop: \"Uint64\", name: \"Uint64\", pkg: \"\", typ: $funcType([], [$Uint64], false)}];\n\tSource.init([{prop: \"Int63\", name: \"Int63\", pkg: \"\", typ: $funcType([], [$Int64], false)}, {prop: \"Seed\", name: \"Seed\", pkg: \"\", typ: $funcType([$Int64], [], false)}]);\n\tSource64.init([{prop: \"Int63\", name: \"Int63\", pkg: \"\", typ: $funcType([], [$Int64], false)}, {prop: \"Seed\", name: \"Seed\", pkg: \"\", typ: $funcType([$Int64], [], false)}, {prop: \"Uint64\", name: \"Uint64\", pkg: \"\", typ: $funcType([], [$Uint64], false)}]);\n\tRand.init(\"math/rand\", [{prop: \"src\", name: \"src\", embedded: false, exported: false, typ: Source, tag: \"\"}, {prop: \"s64\", name: \"s64\", embedded: false, exported: false, typ: Source64, tag: \"\"}, {prop: \"readVal\", name: \"readVal\", embedded: false, exported: false, typ: $Int64, tag: \"\"}, {prop: \"readPos\", name: \"readPos\", embedded: false, exported: false, typ: $Int8, tag: \"\"}]);\n\tlockedSource.init(\"math/rand\", [{prop: \"lk\", name: \"lk\", embedded: false, exported: false, typ: nosync.Mutex, tag: \"\"}, {prop: \"src\", name: \"src\", embedded: false, exported: false, typ: Source64, tag: \"\"}]);\n\trngSource.init(\"math/rand\", [{prop: \"tap\", name: \"tap\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"feed\", name: \"feed\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"vec\", name: \"vec\", embedded: false, exported: false, typ: arrayType, tag: \"\"}]);\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = nosync.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = math.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tke = $toNativeArray($kindUint32, [3801129273, 0, 2615860924, 3279400049, 3571300752, 3733536696, 3836274812, 3906990442, 3958562475, 3997804264, 4028649213, 4053523342, 4074002619, 4091154507, 4105727352, 4118261130, 4129155133, 4138710916, 4147160435, 4154685009, 4161428406, 4167506077, 4173011791, 4178022498, 4182601930, 4186803325, 4190671498, 4194244443, 4197554582, 4200629752, 4203493986, 4206168142, 4208670408, 4211016720, 4213221098, 4215295924, 4217252177, 4219099625, 4220846988, 4222502074, 4224071896, 4225562770, 4226980400, 4228329951, 4229616109, 4230843138, 4232014925, 4233135020, 4234206673, 4235232866, 4236216336, 4237159604, 4238064994, 4238934652, 4239770563, 4240574564, 4241348362, 4242093539, 4242811568, 4243503822, 4244171579, 4244816032, 4245438297, 4246039419, 4246620374, 4247182079, 4247725394, 4248251127, 4248760037, 4249252839, 4249730206, 4250192773, 4250641138, 4251075867, 4251497493, 4251906522, 4252303431, 4252688672, 4253062674, 4253425844, 4253778565, 4254121205, 4254454110, 4254777611, 4255092022, 4255397640, 4255694750, 4255983622, 4256264513, 4256537670, 4256803325, 4257061702, 4257313014, 4257557464, 4257795244, 4258026541, 4258251531, 4258470383, 4258683258, 4258890309, 4259091685, 4259287526, 4259477966, 4259663135, 4259843154, 4260018142, 4260188212, 4260353470, 4260514019, 4260669958, 4260821380, 4260968374, 4261111028, 4261249421, 4261383632, 4261513736, 4261639802, 4261761900, 4261880092, 4261994441, 4262105003, 4262211835, 4262314988, 4262414513, 4262510454, 4262602857, 4262691764, 4262777212, 4262859239, 4262937878, 4263013162, 4263085118, 4263153776, 4263219158, 4263281289, 4263340187, 4263395872, 4263448358, 4263497660, 4263543789, 4263586755, 4263626565, 4263663224, 4263696735, 4263727099, 4263754314, 4263778377, 4263799282, 4263817020, 4263831582, 4263842955, 4263851124, 4263856071, 4263857776, 4263856218, 4263851370, 4263843206, 4263831695, 4263816804, 4263798497, 4263776735, 4263751476, 4263722676, 4263690284, 4263654251, 4263614520, 4263571032, 4263523724, 4263472530, 4263417377, 4263358192, 4263294892, 4263227394, 4263155608, 4263079437, 4262998781, 4262913534, 4262823581, 4262728804, 4262629075, 4262524261, 4262414220, 4262298801, 4262177846, 4262051187, 4261918645, 4261780032, 4261635148, 4261483780, 4261325704, 4261160681, 4260988457, 4260808763, 4260621313, 4260425802, 4260221905, 4260009277, 4259787550, 4259556329, 4259315195, 4259063697, 4258801357, 4258527656, 4258242044, 4257943926, 4257632664, 4257307571, 4256967906, 4256612870, 4256241598, 4255853155, 4255446525, 4255020608, 4254574202, 4254106002, 4253614578, 4253098370, 4252555662, 4251984571, 4251383021, 4250748722, 4250079132, 4249371435, 4248622490, 4247828790, 4246986404, 4246090910, 4245137315, 4244119963, 4243032411, 4241867296, 4240616155, 4239269214, 4237815118, 4236240596, 4234530035, 4232664930, 4230623176, 4228378137, 4225897409, 4223141146, 4220059768, 4216590757, 4212654085, 4208145538, 4202926710, 4196809522, 4189531420, 4180713890, 4169789475, 4155865042, 4137444620, 4111806704, 4073393724, 4008685917, 3873074895]);\n\t\twe = $toNativeArray($kindFloat32, [2.0249555365836613e-09, 1.4866739783681027e-11, 2.4409616689036184e-11, 3.1968806074589295e-11, 3.844677007314168e-11, 4.42282044321729e-11, 4.951644302919611e-11, 5.443358958023836e-11, 5.905943789574764e-11, 6.34494193296753e-11, 6.764381416113352e-11, 7.167294535648239e-11, 7.556032188826833e-11, 7.932458162551725e-11, 8.298078890689453e-11, 8.654132271912474e-11, 9.001651507523079e-11, 9.341507428706208e-11, 9.674443190998971e-11, 1.0001099254308699e-10, 1.0322031424037093e-10, 1.0637725422757427e-10, 1.0948611461891744e-10, 1.1255067711157807e-10, 1.1557434870246297e-10, 1.1856014781042035e-10, 1.2151082917633005e-10, 1.2442885610752796e-10, 1.2731647680563896e-10, 1.3017574518325858e-10, 1.330085347417409e-10, 1.3581656632677408e-10, 1.386014220061682e-10, 1.413645728254309e-10, 1.4410737880776736e-10, 1.4683107507629245e-10, 1.4953686899854546e-10, 1.522258291641876e-10, 1.5489899640730442e-10, 1.575573282952547e-10, 1.6020171300645814e-10, 1.628330109637588e-10, 1.6545202707884954e-10, 1.68059510752272e-10, 1.7065616975120435e-10, 1.73242697965037e-10, 1.758197337720091e-10, 1.783878739169964e-10, 1.8094774290045024e-10, 1.834998542005195e-10, 1.8604476292871652e-10, 1.8858298256319017e-10, 1.9111498494872592e-10, 1.9364125580789704e-10, 1.9616222535212557e-10, 1.9867835154840918e-10, 2.011900368525943e-10, 2.0369768372052732e-10, 2.062016807302669e-10, 2.0870240258208383e-10, 2.1120022397624894e-10, 2.136955057352452e-10, 2.1618855317040442e-10, 2.1867974098199738e-10, 2.2116936060356807e-10, 2.2365774510202385e-10, 2.2614519978869652e-10, 2.2863201609713002e-10, 2.3111849933865614e-10, 2.3360494094681883e-10, 2.3609159072179864e-10, 2.3857874009713953e-10, 2.4106666662859766e-10, 2.4355562011635357e-10, 2.460458781161634e-10, 2.485376904282077e-10, 2.5103127909709144e-10, 2.5352694943414633e-10, 2.560248957284017e-10, 2.585253955356137e-10, 2.610286709003873e-10, 2.6353494386732734e-10, 2.6604446423661443e-10, 2.6855745405285347e-10, 2.71074163116225e-10, 2.7359478571575835e-10, 2.7611959940720965e-10, 2.786487707240326e-10, 2.8118254946640775e-10, 2.8372118543451563e-10, 2.8626484516180994e-10, 2.8881380620404684e-10, 2.9136826285025563e-10, 2.9392840938946563e-10, 2.96494523377433e-10, 2.990667713476114e-10, 3.016454031001814e-10, 3.042306406797479e-10, 3.068226783753403e-10, 3.09421765987139e-10, 3.12028125559749e-10, 3.1464195138219964e-10, 3.17263521010247e-10, 3.1989300097734485e-10, 3.225306410836737e-10, 3.2517669112941405e-10, 3.2783134540359526e-10, 3.3049485370639786e-10, 3.3316743808242677e-10, 3.3584937608743815e-10, 3.385408342548857e-10, 3.4124211789610115e-10, 3.4395342130011386e-10, 3.4667499426710435e-10, 3.494071143528288e-10, 3.521500313574677e-10, 3.54903967325626e-10, 3.576691720574843e-10, 3.6044595086437425e-10, 3.632345535464765e-10, 3.660352021483959e-10, 3.688482297370399e-10, 3.716738583570134e-10, 3.7451239331964814e-10, 3.773641121807003e-10, 3.802292924959261e-10, 3.831082673322328e-10, 3.8600128648980103e-10, 3.8890865527996255e-10, 3.9183070676962473e-10, 3.9476774627011935e-10, 3.977200790927782e-10, 4.006880383045086e-10, 4.0367195697221803e-10, 4.066721681628138e-10, 4.0968900494320337e-10, 4.127228558914453e-10, 4.15774054074447e-10, 4.188429603146915e-10, 4.2192993543466173e-10, 4.25035395767992e-10, 4.2815970213716525e-10, 4.313032986313914e-10, 4.3446651831757777e-10, 4.376498607960855e-10, 4.408536868893975e-10, 4.4407846844229937e-10, 4.4732464954400086e-10, 4.5059267428371186e-10, 4.538830145062178e-10, 4.5719619756745544e-10, 4.605326675566346e-10, 4.638929240741163e-10, 4.672775499869886e-10, 4.706869893844612e-10, 4.74121908400349e-10, 4.775827511238617e-10, 4.810701836888143e-10, 4.845848167178701e-10, 4.881271498113904e-10, 4.916979601254923e-10, 4.952977472605369e-10, 4.989272883726414e-10, 5.025872495956207e-10, 5.062783525744408e-10, 5.100013189540675e-10, 5.13756870379467e-10, 5.175458395179078e-10, 5.21369003525507e-10, 5.252272505806843e-10, 5.29121357839557e-10, 5.330522134805449e-10, 5.3702081670437e-10, 5.41028055689452e-10, 5.450749851476644e-10, 5.491624932574268e-10, 5.532918012640664e-10, 5.574638528571541e-10, 5.616799247931681e-10, 5.659410717839819e-10, 5.702485705860738e-10, 5.746036979559221e-10, 5.790077306500052e-10, 5.83462111958255e-10, 5.879682296594524e-10, 5.925275825546805e-10, 5.971417249561739e-10, 6.01812211176167e-10, 6.065408175714992e-10, 6.113292094767075e-10, 6.16179329782085e-10, 6.21092954844471e-10, 6.260721940876124e-10, 6.311191569352559e-10, 6.362359528111483e-10, 6.414249686947926e-10, 6.466885360545405e-10, 6.520292639144998e-10, 6.574497612987784e-10, 6.629528592760892e-10, 6.685415554485985e-10, 6.742187919073217e-10, 6.799880103436351e-10, 6.858525969377638e-10, 6.918161599145378e-10, 6.978825850545434e-10, 7.040559801829716e-10, 7.103406751696184e-10, 7.167412219288849e-10, 7.232625609532306e-10, 7.2990985477972e-10, 7.366885990123251e-10, 7.436047333442275e-10, 7.506645305355164e-10, 7.57874762946642e-10, 7.652426470272644e-10, 7.727759543385559e-10, 7.804830115532013e-10, 7.883728114777e-10, 7.964550685635174e-10, 8.047402189070851e-10, 8.132396422944055e-10, 8.219657177122031e-10, 8.309318788590758e-10, 8.401527806789488e-10, 8.496445214056791e-10, 8.594246980742071e-10, 8.695127395874636e-10, 8.799300732498239e-10, 8.90700457834015e-10, 9.01850316648023e-10, 9.134091816243028e-10, 9.254100818978372e-10, 9.37890431984556e-10, 9.508922538259412e-10, 9.64463842123564e-10, 9.78660263939446e-10, 9.935448019859905e-10, 1.0091912860943353e-09, 1.0256859805934937e-09, 1.0431305819125214e-09, 1.0616465484503124e-09, 1.0813799855569073e-09, 1.1025096391392708e-09, 1.1252564435793033e-09, 1.149898620766976e-09, 1.176793218427008e-09, 1.2064089727203964e-09, 1.2393785997488749e-09, 1.2765849488616254e-09, 1.319313880365769e-09, 1.36954347862428e-09, 1.4305497897382224e-09, 1.5083649884672923e-09, 1.6160853766322703e-09, 1.7921247819074893e-09]);\n\t\tfe = $toNativeArray($kindFloat32, [1, 0.9381436705589294, 0.900469958782196, 0.8717043399810791, 0.847785472869873, 0.8269932866096497, 0.8084216713905334, 0.7915276288986206, 0.7759568691253662, 0.7614634037017822, 0.7478685975074768, 0.7350381016731262, 0.7228676676750183, 0.7112747430801392, 0.7001926302909851, 0.6895664930343628, 0.6793505549430847, 0.669506311416626, 0.6600008606910706, 0.6508058309555054, 0.6418967247009277, 0.633251965045929, 0.62485271692276, 0.6166821718215942, 0.608725368976593, 0.6009689569473267, 0.5934008955955505, 0.5860103368759155, 0.5787873864173889, 0.5717230439186096, 0.5648092031478882, 0.5580382943153381, 0.5514034032821655, 0.5448982119560242, 0.5385168790817261, 0.5322538614273071, 0.526104211807251, 0.5200631618499756, 0.5141264200210571, 0.5082897543907166, 0.5025495290756226, 0.4969019889831543, 0.4913438558578491, 0.4858720004558563, 0.48048335313796997, 0.4751752018928528, 0.4699448347091675, 0.4647897481918335, 0.4597076177597046, 0.4546961486339569, 0.4497532546520233, 0.44487687945365906, 0.4400651156902313, 0.4353161156177521, 0.4306281507015228, 0.42599955201148987, 0.42142874002456665, 0.4169141948223114, 0.4124544560909271, 0.40804818272590637, 0.4036940038204193, 0.39939069747924805, 0.3951369822025299, 0.39093172550201416, 0.38677382469177246, 0.38266217708587646, 0.378595769405365, 0.37457355856895447, 0.37059465050697327, 0.366658091545105, 0.362762987613678, 0.358908474445343, 0.35509374737739563, 0.35131800174713135, 0.3475804924964905, 0.34388044476509094, 0.34021714329719543, 0.33658990263938904, 0.3329980671405792, 0.3294409513473511, 0.32591795921325684, 0.32242849469184875, 0.3189719021320343, 0.3155476748943329, 0.31215524673461914, 0.3087940812110901, 0.30546361207962036, 0.30216339230537415, 0.29889291524887085, 0.29565170407295227, 0.2924392819404602, 0.2892552316188812, 0.28609907627105713, 0.2829704284667969, 0.27986884117126465, 0.2767939269542694, 0.2737452983856201, 0.2707225978374481, 0.26772540807724, 0.26475343108177185, 0.2618062496185303, 0.258883535861969, 0.2559850215911865, 0.25311028957366943, 0.25025907158851624, 0.24743106961250305, 0.2446259707212448, 0.24184346199035645, 0.23908329010009766, 0.23634515702724457, 0.2336287796497345, 0.23093391954898834, 0.22826029360294342, 0.22560766339302063, 0.22297576069831848, 0.22036437690258026, 0.21777324378490448, 0.21520215272903442, 0.212650865316391, 0.21011915802955627, 0.20760682225227356, 0.20511364936828613, 0.20263944566249847, 0.20018397271633148, 0.19774706661701202, 0.1953285187482834, 0.19292815029621124, 0.19054576754570007, 0.18818120658397675, 0.18583425879478455, 0.18350479006767273, 0.18119260668754578, 0.17889754474163055, 0.17661945521831512, 0.17435817420482635, 0.1721135377883911, 0.16988539695739746, 0.16767361760139465, 0.16547803580760956, 0.16329853236675262, 0.16113494336605072, 0.1589871346950531, 0.15685498714447021, 0.15473836660385132, 0.15263713896274567, 0.1505511850118637, 0.1484803706407547, 0.14642459154129028, 0.1443837285041809, 0.14235764741897583, 0.1403462439775467, 0.13834942877292633, 0.136367067694664, 0.13439907133579254, 0.1324453204870224, 0.1305057406425476, 0.12858019769191742, 0.12666863203048706, 0.12477091699838638, 0.12288697808980942, 0.1210167184472084, 0.11916005611419678, 0.11731690168380737, 0.11548716574907303, 0.11367076635360718, 0.11186762899160385, 0.11007767915725708, 0.1083008274435997, 0.10653700679540634, 0.10478614270687103, 0.1030481606721878, 0.10132300108671188, 0.0996105819940567, 0.09791085124015808, 0.09622374176979065, 0.09454918652772903, 0.09288713335990906, 0.09123751521110535, 0.08960027992725372, 0.08797537535429001, 0.08636274188756943, 0.0847623273730278, 0.08317409455776215, 0.08159798383712769, 0.08003395050764084, 0.07848194986581802, 0.07694194465875626, 0.07541389018297195, 0.07389774918556213, 0.07239348441362381, 0.070901058614254, 0.06942043453454971, 0.06795158982276917, 0.06649449467658997, 0.06504911929368973, 0.06361543387174606, 0.06219341605901718, 0.06078304722905159, 0.0593843050301075, 0.05799717456102371, 0.05662164092063904, 0.05525768920779228, 0.05390531197190285, 0.05256449431180954, 0.05123523622751236, 0.04991753399372101, 0.04861138388514519, 0.047316793352365494, 0.04603376239538193, 0.044762298464775085, 0.04350241273641586, 0.04225412383675575, 0.04101744294166565, 0.039792392402887344, 0.03857899457216263, 0.03737728297710419, 0.03618728369474411, 0.03500903770327568, 0.03384258225560188, 0.0326879620552063, 0.031545232981443405, 0.030414443463087082, 0.0292956605553627, 0.028188949450850487, 0.027094384655356407, 0.02601204626262188, 0.024942025542259216, 0.023884421214461327, 0.022839335724711418, 0.021806888282299042, 0.020787203684449196, 0.019780423492193222, 0.018786700442433357, 0.017806200310587883, 0.016839107498526573, 0.015885621309280396, 0.014945968054234982, 0.01402039173990488, 0.013109165243804455, 0.012212592177093029, 0.011331013403832912, 0.010464809834957123, 0.009614413604140282, 0.008780314587056637, 0.007963077165186405, 0.007163353264331818, 0.0063819061033427715, 0.005619642324745655, 0.004877655766904354, 0.004157294984906912, 0.003460264764726162, 0.0027887988835573196, 0.0021459676790982485, 0.001536299823783338, 0.0009672692976891994, 0.0004541343660093844]);\n\t\tkn = $toNativeArray($kindUint32, [1991057938, 0, 1611602771, 1826899878, 1918584482, 1969227037, 2001281515, 2023368125, 2039498179, 2051788381, 2061460127, 2069267110, 2075699398, 2081089314, 2085670119, 2089610331, 2093034710, 2096037586, 2098691595, 2101053571, 2103168620, 2105072996, 2106796166, 2108362327, 2109791536, 2111100552, 2112303493, 2113412330, 2114437283, 2115387130, 2116269447, 2117090813, 2117856962, 2118572919, 2119243101, 2119871411, 2120461303, 2121015852, 2121537798, 2122029592, 2122493434, 2122931299, 2123344971, 2123736059, 2124106020, 2124456175, 2124787725, 2125101763, 2125399283, 2125681194, 2125948325, 2126201433, 2126441213, 2126668298, 2126883268, 2127086657, 2127278949, 2127460589, 2127631985, 2127793506, 2127945490, 2128088244, 2128222044, 2128347141, 2128463758, 2128572095, 2128672327, 2128764606, 2128849065, 2128925811, 2128994934, 2129056501, 2129110560, 2129157136, 2129196237, 2129227847, 2129251929, 2129268426, 2129277255, 2129278312, 2129271467, 2129256561, 2129233410, 2129201800, 2129161480, 2129112170, 2129053545, 2128985244, 2128906855, 2128817916, 2128717911, 2128606255, 2128482298, 2128345305, 2128194452, 2128028813, 2127847342, 2127648860, 2127432031, 2127195339, 2126937058, 2126655214, 2126347546, 2126011445, 2125643893, 2125241376, 2124799783, 2124314271, 2123779094, 2123187386, 2122530867, 2121799464, 2120980787, 2120059418, 2119015917, 2117825402, 2116455471, 2114863093, 2112989789, 2110753906, 2108037662, 2104664315, 2100355223, 2094642347, 2086670106, 2074676188, 2054300022, 2010539237]);\n\t\twn = $toNativeArray($kindFloat32, [1.7290404663583558e-09, 1.2680928529462676e-10, 1.689751810696194e-10, 1.9862687883343e-10, 2.223243117382978e-10, 2.4244936613904144e-10, 2.601613091623989e-10, 2.761198769629658e-10, 2.9073962681813725e-10, 3.042996965518796e-10, 3.169979556627567e-10, 3.289802041894774e-10, 3.4035738116777736e-10, 3.5121602848242617e-10, 3.61625090983253e-10, 3.7164057942185025e-10, 3.813085680537398e-10, 3.906675816178762e-10, 3.997501218933053e-10, 4.0858399996679395e-10, 4.1719308563337165e-10, 4.255982233303257e-10, 4.3381759295968436e-10, 4.4186720948857783e-10, 4.497613115272969e-10, 4.57512583373898e-10, 4.6513240481438345e-10, 4.726310454117311e-10, 4.800177477726209e-10, 4.873009773476156e-10, 4.944885056978876e-10, 5.015873272284921e-10, 5.086040477664255e-10, 5.155446070048697e-10, 5.224146670812502e-10, 5.292193350214802e-10, 5.359634958068682e-10, 5.426517013518151e-10, 5.492881705038144e-10, 5.558769555769061e-10, 5.624218868405251e-10, 5.689264614971989e-10, 5.75394121238304e-10, 5.818281967329142e-10, 5.882316855831959e-10, 5.946076964136182e-10, 6.009590047817426e-10, 6.072883862451306e-10, 6.135985053390414e-10, 6.19892026598734e-10, 6.261713370037114e-10, 6.324390455780815e-10, 6.386973727678935e-10, 6.449488165749528e-10, 6.511955974453087e-10, 6.574400468473129e-10, 6.636843297158634e-10, 6.699307220081607e-10, 6.761814441702541e-10, 6.824387166481927e-10, 6.887046488657234e-10, 6.949815167800466e-10, 7.012714853260604e-10, 7.075767749498141e-10, 7.13899661608508e-10, 7.202424212593428e-10, 7.266072743483676e-10, 7.329966078550854e-10, 7.394128087589991e-10, 7.458582640396116e-10, 7.523354716987285e-10, 7.588469852493063e-10, 7.653954137154528e-10, 7.719834771435785e-10, 7.786139510912449e-10, 7.852897221383159e-10, 7.920137878869582e-10, 7.987892014504894e-10, 8.056192379868321e-10, 8.125072836762115e-10, 8.194568912323064e-10, 8.264716688799467e-10, 8.3355555791087e-10, 8.407127216614185e-10, 8.479473234679347e-10, 8.552640262671218e-10, 8.626675485068347e-10, 8.701631637464402e-10, 8.777562010564566e-10, 8.854524335966119e-10, 8.932581896381464e-10, 9.011799639857543e-10, 9.092249730890956e-10, 9.174008219758889e-10, 9.25715837318819e-10, 9.341788453909317e-10, 9.42799727177146e-10, 9.515889187738935e-10, 9.605578554783278e-10, 9.697193048552322e-10, 9.790869226478094e-10, 9.886760299337993e-10, 9.985036131254788e-10, 1.008588212947359e-09, 1.0189509236369076e-09, 1.0296150598776421e-09, 1.040606933955246e-09, 1.0519566329136865e-09, 1.0636980185552147e-09, 1.0758701707302976e-09, 1.0885182755160372e-09, 1.101694735439196e-09, 1.115461056855338e-09, 1.1298901814171813e-09, 1.1450695946990663e-09, 1.1611052119775422e-09, 1.178127595480305e-09, 1.1962995039027646e-09, 1.2158286599728285e-09, 1.2369856250415978e-09, 1.2601323318151003e-09, 1.2857697129220469e-09, 1.3146201904845611e-09, 1.3477839955200466e-09, 1.3870635751089821e-09, 1.43574030442295e-09, 1.5008658760251592e-09, 1.6030947680434338e-09]);\n\t\tfn = $toNativeArray($kindFloat32, [1, 0.963599681854248, 0.9362826943397522, 0.9130436182022095, 0.8922816514968872, 0.8732430338859558, 0.8555005788803101, 0.8387836217880249, 0.8229072093963623, 0.8077383041381836, 0.7931770086288452, 0.7791460752487183, 0.7655841708183289, 0.7524415850639343, 0.7396772503852844, 0.7272568941116333, 0.7151514887809753, 0.7033361196517944, 0.6917891502380371, 0.6804918646812439, 0.6694276928901672, 0.6585819721221924, 0.6479418277740479, 0.6374954581260681, 0.6272324919700623, 0.6171433925628662, 0.6072195172309875, 0.5974531769752502, 0.5878370404243469, 0.5783646702766418, 0.5690299868583679, 0.5598273873329163, 0.550751805305481, 0.5417983531951904, 0.5329626798629761, 0.5242405533790588, 0.5156282186508179, 0.5071220397949219, 0.49871864914894104, 0.4904148280620575, 0.48220765590667725, 0.47409430146217346, 0.466072142124176, 0.45813870429992676, 0.45029163360595703, 0.44252872467041016, 0.4348478317260742, 0.42724698781967163, 0.41972434520721436, 0.41227802634239197, 0.40490642189979553, 0.39760786294937134, 0.3903807997703552, 0.3832238018512726, 0.3761354684829712, 0.3691144585609436, 0.36215949058532715, 0.3552693724632263, 0.3484429717063904, 0.3416791558265686, 0.33497685194015503, 0.32833510637283325, 0.3217529058456421, 0.3152293860912323, 0.30876362323760986, 0.3023548424243927, 0.2960021495819092, 0.2897048592567444, 0.28346219658851624, 0.2772735059261322, 0.271138072013855, 0.2650552988052368, 0.25902456045150757, 0.25304529070854187, 0.24711695313453674, 0.24123899638652802, 0.23541094362735748, 0.22963231801986694, 0.22390270233154297, 0.21822164952754974, 0.21258877217769623, 0.20700371265411377, 0.20146611332893372, 0.1959756463766098, 0.19053204357624054, 0.18513499200344086, 0.17978426814079285, 0.1744796335697174, 0.16922089457511902, 0.16400785744190216, 0.1588403731584549, 0.15371830761432648, 0.14864157140254974, 0.14361007511615753, 0.13862377405166626, 0.13368265330791473, 0.12878671288490295, 0.12393598258495331, 0.11913054436445236, 0.11437050998210907, 0.10965602099895477, 0.1049872562289238, 0.10036443918943405, 0.09578784555196762, 0.09125780314207077, 0.08677466958761215, 0.08233889937400818, 0.07795098423957825, 0.07361150532960892, 0.06932111829519272, 0.06508058309555054, 0.06089077144861221, 0.05675266310572624, 0.05266740173101425, 0.048636294901371, 0.044660862535238266, 0.040742866694927216, 0.03688438981771469, 0.03308788686990738, 0.029356317594647408, 0.025693291798233986, 0.02210330404341221, 0.018592102453112602, 0.015167297795414925, 0.011839478276669979, 0.0086244847625494, 0.005548994988203049, 0.0026696291752159595]);\n\t\trngCooked = $toNativeArray($kindInt64, [new $Int64(-973649357, 3952672746), new $Int64(-1065661887, 3130416987), new $Int64(324977939, 3414273807), new $Int64(1241840476, 2806224363), new $Int64(-1477934308, 1997590414), new $Int64(2103305448, 2402795971), new $Int64(1663160183, 1140819369), new $Int64(1120601685, 1788868961), new $Int64(1848035537, 1089001426), new $Int64(1235702047, 873593504), new $Int64(1911387977, 581324885), new $Int64(-1654874170, 1609182556), new $Int64(1069394745, 1241596776), new $Int64(1895445337, 1771189259), new $Int64(-1374618802, 3467012610), new $Int64(-140526423, 2344407434), new $Int64(-1745367887, 782467244), new $Int64(26335124, 3404933915), new $Int64(1063924276, 618867887), new $Int64(-968700782, 520164395), new $Int64(-1591572833, 1341358184), new $Int64(-1515085039, 665794848), new $Int64(1527227641, 3183648150), new $Int64(1781176124, 696329606), new $Int64(1789146075, 4151988961), new $Int64(-2087444114, 998951326), new $Int64(-612324923, 1364957564), new $Int64(63173359, 4090230633), new $Int64(-1498029007, 4009697548), new $Int64(248009524, 2569622517), new $Int64(778703922, 3742421481), new $Int64(-1109106023, 1506914633), new $Int64(1738099768, 1983412561), new $Int64(236311649, 1436266083), new $Int64(-1111517500, 3922894967), new $Int64(-1336974714, 1792680179), new $Int64(563141142, 1188796351), new $Int64(1349617468, 405968250), new $Int64(1044074554, 433754187), new $Int64(870549669, 4073162024), new $Int64(-1094251604, 433121399), new $Int64(2451824, 4162580594), new $Int64(-137262572, 4132415622), new $Int64(-1536231048, 3033822028), new $Int64(2016407895, 824682382), new $Int64(2366218, 3583765414), new $Int64(-624604839, 535386927), new $Int64(1637219058, 2286693689), new $Int64(1453075389, 2968466525), new $Int64(193683513, 1351410206), new $Int64(-283806096, 1412813499), new $Int64(492736522, 4126267639), new $Int64(512765208, 2105529399), new $Int64(2132966268, 2413882233), new $Int64(947457634, 32226200), new $Int64(1149341356, 2032329073), new $Int64(106485445, 1356518208), new $Int64(-2067810156, 3430061722), new $Int64(-1484435135, 3820169661), new $Int64(-1665985194, 2981816134), new $Int64(1017155588, 4184371017), new $Int64(206574701, 2119206761), new $Int64(-852109057, 2472200560), new $Int64(-560457548, 2853524696), new $Int64(1307803389, 1681119904), new $Int64(-174986835, 95608918), new $Int64(392686347, 3690479145), new $Int64(-1205570926, 1397922290), new $Int64(-1159314025, 1516129515), new $Int64(-320178155, 1547420459), new $Int64(1311333971, 1470949486), new $Int64(-1953469798, 1336785672), new $Int64(-45086614, 4131677129), new $Int64(-1392278100, 4246329084), new $Int64(-1142500187, 3788585631), new $Int64(-66478285, 3080389532), new $Int64(-646438364, 2215402037), new $Int64(391002300, 1171593935), new $Int64(1408774047, 1423855166), new $Int64(-519177718, 2276716302), new $Int64(-368453140, 2068027241), new $Int64(1369359303, 3427553297), new $Int64(189241615, 3289637845), new $Int64(1057480830, 3486407650), new $Int64(-1512910664, 3071877822), new $Int64(1159653919, 3363620705), new $Int64(-934256930, 4159821533), new $Int64(-76621938, 1894661), new $Int64(-674493898, 1156868282), new $Int64(348271067, 776219088), new $Int64(-501428838, 2425634259), new $Int64(1716021749, 680510161), new $Int64(-574263456, 1310101429), new $Int64(1095885995, 2964454134), new $Int64(-325695512, 3467098407), new $Int64(1990672920, 2109628894), new $Int64(-2139648704, 1232604732), new $Int64(-1838070714, 3261916179), new $Int64(1699175360, 434597899), new $Int64(235436061, 1624796439), new $Int64(-1626402839, 3589632480), new $Int64(1198416575, 864579159), new $Int64(-1938748161, 1380889830), new $Int64(619206309, 2654509477), new $Int64(1419738251, 1468209306), new $Int64(-1744284772, 100794388), new $Int64(-1191421458, 2991674471), new $Int64(-208666741, 2224662036), new $Int64(-173659161, 977097250), new $Int64(1351320195, 726419512), new $Int64(-183459897, 1747974366), new $Int64(-753095183, 1556430604), new $Int64(-1049492215, 1080776742), new $Int64(-385846958, 280794874), new $Int64(117767733, 919835643), new $Int64(-967009426, 3434019658), new $Int64(-1951414480, 2461941785), new $Int64(133215641, 3615001066), new $Int64(417204809, 3103414427), new $Int64(790056561, 3380809712), new $Int64(-1267681408, 2724693469), new $Int64(547796833, 598827710), new $Int64(-1846559452, 3452273442), new $Int64(-75778224, 649274915), new $Int64(-801301329, 2585724112), new $Int64(-1510934263, 3165579553), new $Int64(1185578221, 2635894283), new $Int64(-52910178, 2053289721), new $Int64(985976581, 3169337108), new $Int64(1170569632, 144717764), new $Int64(1079216270, 1383666384), new $Int64(-124804942, 681540375), new $Int64(1375448925, 537050586), new $Int64(-1964768344, 315246468), new $Int64(226402871, 849323088), new $Int64(-885062465, 45543944), new $Int64(-946445250, 2319052083), new $Int64(-40708194, 3613090841), new $Int64(560472520, 2992171180), new $Int64(-381863169, 2068244785), new $Int64(917538188, 4239862634), new $Int64(-1369555809, 3892253031), new $Int64(720683925, 958186149), new $Int64(-423297785, 1877702262), new $Int64(1357886971, 837674867), new $Int64(1837048883, 1507589294), new $Int64(1905518400, 873336795), new $Int64(-1879761037, 2764496274), new $Int64(-1806480530, 4196182374), new $Int64(-1066765755, 550964545), new $Int64(818747069, 420611474), new $Int64(-1924830376, 204265180), new $Int64(1549974541, 1787046383), new $Int64(1215581865, 3102292318), new $Int64(418321538, 1552199393), new $Int64(1243493047, 980542004), new $Int64(267284263, 3293718720), new $Int64(1179528763, 3771917473), new $Int64(599484404, 2195808264), new $Int64(252818753, 3894702887), new $Int64(-1367475956, 2099949527), new $Int64(1424094358, 338442522), new $Int64(490737398, 637158004), new $Int64(-1727621530, 281976339), new $Int64(574970164, 3619802330), new $Int64(-431930823, 3084554784), new $Int64(-1264611183, 4129772886), new $Int64(-2104399043, 1680378557), new $Int64(-1621962591, 3339087776), new $Int64(1680500332, 4220317857), new $Int64(-1935828963, 2959322499), new $Int64(1675600481, 1488354890), new $Int64(-834863562, 3958162143), new $Int64(-1226511573, 2773705983), new $Int64(1876039582, 225908689), new $Int64(-1183735113, 908216283), new $Int64(-605696219, 3574646075), new $Int64(-1827723091, 1936937569), new $Int64(1519770881, 75492235), new $Int64(816689472, 1935193178), new $Int64(2142521206, 2018250883), new $Int64(455141620, 3943126022), new $Int64(-601399488, 3066544345), new $Int64(1932392669, 2793082663), new $Int64(-1239009361, 3297036421), new $Int64(1640597065, 2206987825), new $Int64(-553246738, 807894872), new $Int64(-1781325307, 766252117), new $Int64(2060649606, 3833114345), new $Int64(845619743, 1255067973), new $Int64(1201145605, 741697208), new $Int64(-1476242608, 2810093753), new $Int64(1109032642, 4229340371), new $Int64(1462188720, 1361684224), new $Int64(-1159399429, 1906263026), new $Int64(475781207, 3904421704), new $Int64(-623537128, 1769075545), new $Int64(1062308525, 2621599764), new $Int64(1279509432, 3431891480), new $Int64(-1742751146, 1871896503), new $Int64(128756421, 1412808876), new $Int64(1605404688, 952876175), new $Int64(-230443691, 1824438899), new $Int64(1662295856, 1005035476), new $Int64(-156574141, 527508597), new $Int64(1288873303, 3066806859), new $Int64(565995893, 3244940914), new $Int64(-889746188, 209092916), new $Int64(-247669406, 1242699167), new $Int64(-713830396, 456723774), new $Int64(1776978905, 1001252870), new $Int64(1468772157, 2026725874), new $Int64(857254202, 2137562569), new $Int64(765939740, 3183366709), new $Int64(1533887628, 2612072960), new $Int64(56977098, 1727148468), new $Int64(-1197583895, 3803658212), new $Int64(1883670356, 479946959), new $Int64(685713571, 1562982345), new $Int64(-1946242443, 1766109365), new $Int64(700596547, 3257093788), new $Int64(-184714929, 2365720207), new $Int64(93384808, 3742754173), new $Int64(-458385235, 2878193673), new $Int64(1096135042, 2174002182), new $Int64(-834260953, 3573511231), new $Int64(-754572527, 1760299077), new $Int64(-1375627191, 2260779833), new $Int64(-866019274, 1452805722), new $Int64(-1229671918, 2940011802), new $Int64(1890251082, 1886183802), new $Int64(893897673, 2514369088), new $Int64(1644345561, 3924317791), new $Int64(-1974867432, 500935732), new $Int64(1403501753, 676580929), new $Int64(-1565912283, 1184984890), new $Int64(-691968413, 1271474274), new $Int64(-1828754738, 3163791473), new $Int64(2051027584, 2842487377), new $Int64(1511537551, 2170968612), new $Int64(573262976, 3535856740), new $Int64(-2053227187, 1488599718), new $Int64(-1180531831, 3408913763), new $Int64(-2086531912, 2501050084), new $Int64(-875130448, 1639124157), new $Int64(-2009482504, 4088176393), new $Int64(1574896563, 3989947576), new $Int64(-165243708, 3414355209), new $Int64(-792329287, 2275136352), new $Int64(-2057774345, 2151835223), new $Int64(-931144933, 1654534827), new $Int64(-679921451, 377892833), new $Int64(-482716010, 660204544), new $Int64(85706799, 390828249), new $Int64(-1422172693, 3402783878), new $Int64(-1468634160, 3717936603), new $Int64(1113532086, 2211058823), new $Int64(1564224320, 2692150867), new $Int64(1952770442, 1928910388), new $Int64(788716862, 3931011137), new $Int64(1083670504, 1112701047), new $Int64(-68150572, 2452299106), new $Int64(-896164822, 2337204777), new $Int64(1774877857, 273889282), new $Int64(1798719843, 1462008793), new $Int64(2138834788, 1554494002), new $Int64(-1194967131, 182675323), new $Int64(-1598554764, 1882802136), new $Int64(589279648, 3700220025), new $Int64(381039426, 3083431543), new $Int64(-851859191, 3622207527), new $Int64(338126939, 432729309), new $Int64(-1667470126, 2391914317), new $Int64(-1849558151, 235747924), new $Int64(2120733629, 3088823825), new $Int64(-745079795, 2314658321), new $Int64(1165929723, 2957634338), new $Int64(501323675, 4117056981), new $Int64(1564699815, 1482500298), new $Int64(-740826490, 840489337), new $Int64(799522364, 3483178565), new $Int64(532129761, 2074004656), new $Int64(724246478, 3643392642), new $Int64(-665153481, 1583624461), new $Int64(-885822954, 287473085), new $Int64(1667835381, 3136843981), new $Int64(1138806821, 1266970974), new $Int64(135185781, 1998688839), new $Int64(392094735, 1492900209), new $Int64(1031326774, 1538112737), new $Int64(-2070568842, 2207265429), new $Int64(-1886797613, 963263315), new $Int64(1671145500, 2295892134), new $Int64(1068469660, 2002560897), new $Int64(-356250305, 1369254035), new $Int64(33436120, 3353312708), new $Int64(57507843, 947771099), new $Int64(-1945755145, 1747061399), new $Int64(1507240140, 2047354631), new $Int64(720000810, 4165367136), new $Int64(479265078, 3388864963), new $Int64(-952181250, 286492130), new $Int64(2045622690, 2795735007), new $Int64(-715730566, 3703961339), new $Int64(-148436487, 1797825479), new $Int64(1429039600, 1116589674), new $Int64(-1665420098, 2593309206), new $Int64(1329049334, 3404995677), new $Int64(-750579440, 3453462936), new $Int64(1014767077, 3016498634), new $Int64(75698599, 1650371545), new $Int64(1592007860, 212344364), new $Int64(1127766888, 3843932156), new $Int64(-748019856, 3573129983), new $Int64(-890581831, 665897820), new $Int64(1071492673, 1675628772), new $Int64(243225682, 2831752928), new $Int64(2120298836, 1486294219), new $Int64(-1954407413, 268782709), new $Int64(-1002123503, 4186179080), new $Int64(624342951, 1613720397), new $Int64(857179861, 2703686015), new $Int64(-911618704, 2205342611), new $Int64(-672703993, 1411666394), new $Int64(-1528454899, 677744900), new $Int64(-1876628533, 4172867247), new $Int64(135494707, 2163418403), new $Int64(849547544, 2841526879), new $Int64(-1117516959, 1082141470), new $Int64(-1770111792, 4046134367), new $Int64(51415528, 2142943655), new $Int64(-249824333, 3124627521), new $Int64(998228909, 219992939), new $Int64(-1078790951, 1756846531), new $Int64(1283749206, 1225118210), new $Int64(-525858006, 1647770243), new $Int64(-2035959705, 444807907), new $Int64(2036369448, 3952076173), new $Int64(53201823, 1461839639), new $Int64(315761893, 3699250910), new $Int64(702974850, 1373688981), new $Int64(734022261, 147523747), new $Int64(-2047330906, 1211276581), new $Int64(1294440951, 2548832680), new $Int64(1144696256, 1995631888), new $Int64(-1992983070, 2011457303), new $Int64(-1351022674, 3057425772), new $Int64(667839456, 81484597), new $Int64(-1681980888, 3646681560), new $Int64(-1372462725, 635548515), new $Int64(602489502, 2508044581), new $Int64(-1794220117, 1014917157), new $Int64(719992433, 3214891315), new $Int64(-1294799037, 959582252), new $Int64(226415134, 3347040449), new $Int64(-362868096, 4102971975), new $Int64(397887437, 4078022210), new $Int64(-536803826, 2851767182), new $Int64(-1398321012, 1540160644), new $Int64(-1549098876, 1057290595), new $Int64(-112592988, 3907769253), new $Int64(579300318, 4248952684), new $Int64(-1054576049, 132554364), new $Int64(-1085862414, 1029351092), new $Int64(697840928, 2583007416), new $Int64(298619124, 1486185789), new $Int64(55905697, 2871589073), new $Int64(2017643612, 723203291), new $Int64(146250550, 2494333952), new $Int64(-1082993397, 2230939180), new $Int64(-1804568072, 3943232912), new $Int64(1768732449, 2181367922), new $Int64(-729261111, 2889274791), new $Int64(1824032949, 2046728161), new $Int64(1653899792, 1376052477), new $Int64(1022327048, 381236993), new $Int64(-1113097690, 3188942166), new $Int64(-74480109, 350070824), new $Int64(144881592, 61758415), new $Int64(-741824226, 3492950336), new $Int64(-2030042720, 3093818430), new $Int64(-453590535, 2962480613), new $Int64(-1912050708, 3154871160), new $Int64(-1636478569, 3228564679), new $Int64(610731502, 888276216), new $Int64(-946702974, 3574998604), new $Int64(-1277068380, 1967526716), new $Int64(-1556147941, 1554691298), new $Int64(-1573024234, 339944798), new $Int64(1223764147, 1154515356), new $Int64(1825645307, 967516237), new $Int64(1546195135, 596588202), new $Int64(-1867600880, 3764362170), new $Int64(-1655392592, 266611402), new $Int64(-393255880, 2047856075), new $Int64(-1000726433, 21444105), new $Int64(-949424754, 3065563181), new $Int64(-232418803, 1140663212), new $Int64(633187674, 2323741028), new $Int64(2126290159, 3103873707), new $Int64(1008658319, 2766828349), new $Int64(-485587503, 1970872996), new $Int64(1628585413, 3766615585), new $Int64(-595148528, 2036813414), new $Int64(-1994877121, 3105536507), new $Int64(13954645, 3396176938), new $Int64(-721402003, 1377154485), new $Int64(-61839181, 3807014186), new $Int64(543009040, 3710110597), new $Int64(-1751425519, 916420443), new $Int64(734556788, 2103831255), new $Int64(-1766161494, 717331943), new $Int64(-1574598896, 3550505941), new $Int64(45939673, 378749927), new $Int64(-1997615719, 611017331), new $Int64(592130075, 758907650), new $Int64(1012992349, 154266815), new $Int64(-1040454942, 1407468696), new $Int64(-1678191250, 970098704), new $Int64(-285057486, 1971660656), new $Int64(998365243, 3332747885), new $Int64(1947089649, 1935189867), new $Int64(1510248801, 203520055), new $Int64(-1305165746, 3916463034), new $Int64(-388598655, 3474113316), new $Int64(1036101639, 316544223), new $Int64(-1773744891, 1650844677), new $Int64(-907191419, 4267565603), new $Int64(-1070275024, 2501167616), new $Int64(-1520651863, 3929401789), new $Int64(-2091360852, 337170252), new $Int64(-960502090, 2061966842), new $Int64(-304190848, 2508461464), new $Int64(-1941471116, 2791377107), new $Int64(1240791848, 1227227588), new $Int64(1813978778, 1709681848), new $Int64(1153692192, 3768820575), new $Int64(-1002297449, 2887126398), new $Int64(-1447111334, 296561685), new $Int64(700300844, 3729960077), new $Int64(-1572311344, 372833036), new $Int64(2078875613, 2409779288), new $Int64(1829161290, 555274064), new $Int64(-1105595719, 4239804901), new $Int64(1839403216, 3723486978), new $Int64(-1649093095, 2145871984), new $Int64(-1582765715, 3565480803), new $Int64(-1568653827, 2197313814), new $Int64(974785092, 3613674566), new $Int64(438638731, 3042093666), new $Int64(-96556264, 3324034321), new $Int64(869420878, 3708873369), new $Int64(946682149, 1698090092), new $Int64(1618900382, 4213940712), new $Int64(-1843479747, 2087477361), new $Int64(-1766167800, 2407950639), new $Int64(-1296225558, 3942568569), new $Int64(-1223900450, 4088074412), new $Int64(723260036, 2964773675), new $Int64(-673921829, 1539178386), new $Int64(1062961552, 2694849566), new $Int64(460977733, 2120273838), new $Int64(-1604570740, 2484608657), new $Int64(880846449, 2956190677), new $Int64(1970902366, 4223313749), new $Int64(662161910, 3502682327), new $Int64(705634754, 4133891139), new $Int64(-1031359300, 1166449596), new $Int64(1038247601, 3362705993), new $Int64(93734798, 3892921029), new $Int64(1876124043, 786869787), new $Int64(1057490746, 1046342263), new $Int64(242763728, 493777327), new $Int64(-853573201, 3304827646), new $Int64(616460742, 125356352), new $Int64(499300063, 74094113), new $Int64(-795586925, 2500816079), new $Int64(-490248444, 514015239), new $Int64(1377565129, 543520454), new $Int64(-2039776725, 3614531153), new $Int64(2056746300, 2356753985), new $Int64(1390062617, 2018141668), new $Int64(131272971, 2087974891), new $Int64(-1502927041, 3166972343), new $Int64(372256200, 1517638666), new $Int64(-935275664, 173466846), new $Int64(-695774461, 4241513471), new $Int64(-1413550842, 2783126920), new $Int64(1972004134, 4167264826), new $Int64(29260506, 3907395640), new $Int64(-910901561, 1539634186), new $Int64(-595957298, 178241987), new $Int64(-113277636, 182168164), new $Int64(-1102530459, 2386154934), new $Int64(1379126408, 4077374341), new $Int64(-2114679722, 1732699140), new $Int64(-421057745, 1041306002), new $Int64(1860414813, 2068001749), new $Int64(1005320202, 3208962910), new $Int64(844054010, 697710380), new $Int64(-1509359403, 2228431183), new $Int64(-810313977, 3554678728), new $Int64(-750989047, 173470263), new $Int64(-85886265, 3848297795), new $Int64(-926936977, 246236185), new $Int64(-1984190461, 2066374846), new $Int64(1771673660, 312890749), new $Int64(703378057, 3573310289), new $Int64(-598851901, 143166754), new $Int64(613554316, 2081511079), new $Int64(1197802104, 486038032), new $Int64(-1906483789, 2982218564), new $Int64(364901986, 1000939191), new $Int64(1902782651, 2750454885), new $Int64(-671844857, 3375313137), new $Int64(-1643868040, 881302957), new $Int64(-1508784745, 2514186393), new $Int64(-1703622845, 360024739), new $Int64(1399671872, 292500025), new $Int64(1381210821, 2276300752), new $Int64(521803381, 4069087683), new $Int64(-1938982667, 1637778212), new $Int64(720490469, 1676670893), new $Int64(1067262482, 3855174429), new $Int64(2114075974, 2067248671), new $Int64(-89426259, 2884561259), new $Int64(-805741095, 2456511185), new $Int64(983726246, 561175414), new $Int64(-1719489563, 432588903), new $Int64(885133709, 4059399550), new $Int64(-93096266, 1075014784), new $Int64(-1733832628, 2728058415), new $Int64(1839142064, 1299703678), new $Int64(1262333188, 2347583393), new $Int64(1285481956, 2468164145), new $Int64(-1158354011, 1140014346), new $Int64(2033889184, 1936972070), new $Int64(-1737578993, 3870530098), new $Int64(-484494257, 1717789158), new $Int64(-232997156, 1153452491), new $Int64(-990424416, 3948827651), new $Int64(-1357145630, 2101413152), new $Int64(1495744672, 3854091229), new $Int64(83644069, 4215565463), new $Int64(-1385277313, 1202710438), new $Int64(-564909037, 2072216740), new $Int64(705690639, 2066751068), new $Int64(-2113583312, 173902580), new $Int64(-741983806, 142459001), new $Int64(172391592, 1889151926), new $Int64(-498943125, 3034199774), new $Int64(1618587731, 516490102), new $Int64(93114264, 3692577783), new $Int64(-2078821353, 2953948865), new $Int64(-320938673, 4041040923), new $Int64(-1942517976, 592046130), new $Int64(-705643640, 384297211), new $Int64(-2051649464, 265863924), new $Int64(2101717619, 1333136237), new $Int64(1499611781, 1406273556), new $Int64(1074670496, 426305476), new $Int64(125704633, 2750898176), new $Int64(488068495, 1633944332), new $Int64(2037723464, 3236349343), new $Int64(-1703423246, 4013676611), new $Int64(1718532237, 2265047407), new $Int64(1433593806, 875071080), new $Int64(-343047503, 1418843655), new $Int64(2009228711, 451657300), new $Int64(1229446621, 1866374663), new $Int64(1653472867, 1551455622), new $Int64(577191481, 3560962459), new $Int64(1669204077, 3347903778), new $Int64(-298327194, 2675874918), new $Int64(-1831355577, 2762991672), new $Int64(530492383, 3689068477), new $Int64(844089962, 4071997905), new $Int64(1508155730, 1381702441), new $Int64(2089931018, 2373284878), new $Int64(-864267462, 2143983064), new $Int64(308739063, 1938207195), new $Int64(1754949306, 1188152253), new $Int64(1272345009, 615870490), new $Int64(742653194, 2662252621), new $Int64(1477718295, 3839976789), new $Int64(-2091334213, 306752547), new $Int64(-1426688067, 2162363077), new $Int64(-57052633, 2767224719), new $Int64(-1471624099, 2628837712), new $Int64(1678405918, 2967771969), new $Int64(1694285728, 499792248), new $Int64(-1744131281, 4285253508), new $Int64(962357072, 2856511070), new $Int64(679471692, 2526409716), new $Int64(-1793706473, 1240875658), new $Int64(-914893422, 2577342868), new $Int64(-1001298215, 4136853496), new $Int64(-1477114974, 2403540137), new $Int64(1372824515, 1371410668), new $Int64(-176562048, 371758825), new $Int64(-441063112, 1528834084), new $Int64(-71688630, 1504757260), new $Int64(-1461820072, 699052551), new $Int64(-505543539, 3347789870), new $Int64(1951619734, 3430604759), new $Int64(2119672219, 1935601723), new $Int64(966789690, 834676166)]);\n\t\tglobalRand = New(new lockedSource.ptr(new nosync.Mutex.ptr(false), $assertType(NewSource(new $Int64(0, 1)), Source64)));\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"os/exec\"] = (function() {\n\tvar $pkg = {}, $init, bytes, context, errors, io, os, filepath, runtime, strconv, strings, sync, syscall, Error, Cmd, ExitError, closeOnce, prefixSuffixSaver, F, sliceType, ptrType, sliceType$1, ptrType$1, ptrType$2, ptrType$3, sliceType$2, funcType, sliceType$3, sliceType$4, ptrType$4, structType, sliceType$5, arrayType, ptrType$5, ptrType$6, ptrType$7, ptrType$8, ptrType$9, chanType, chanType$1, ptrType$10, skipStdinCopyError, Command, interfaceEqual, lookExtensions, minInt, dedupEnv, dedupEnvCase, init, findExecutable, LookPath;\n\tbytes = $packages[\"bytes\"];\n\tcontext = $packages[\"context\"];\n\terrors = $packages[\"errors\"];\n\tio = $packages[\"io\"];\n\tos = $packages[\"os\"];\n\tfilepath = $packages[\"path/filepath\"];\n\truntime = $packages[\"runtime\"];\n\tstrconv = $packages[\"strconv\"];\n\tstrings = $packages[\"strings\"];\n\tsync = $packages[\"sync\"];\n\tsyscall = $packages[\"syscall\"];\n\tError = $pkg.Error = $newType(0, $kindStruct, \"exec.Error\", true, \"os/exec\", true, function(Name_, Err_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Name = \"\";\n\t\t\tthis.Err = $ifaceNil;\n\t\t\treturn;\n\t\t}\n\t\tthis.Name = Name_;\n\t\tthis.Err = Err_;\n\t});\n\tCmd = $pkg.Cmd = $newType(0, $kindStruct, \"exec.Cmd\", true, \"os/exec\", true, function(Path_, Args_, Env_, Dir_, Stdin_, Stdout_, Stderr_, ExtraFiles_, SysProcAttr_, Process_, ProcessState_, ctx_, lookPathErr_, finished_, childFiles_, closeAfterStart_, closeAfterWait_, goroutine_, errch_, waitDone_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Path = \"\";\n\t\t\tthis.Args = sliceType.nil;\n\t\t\tthis.Env = sliceType.nil;\n\t\t\tthis.Dir = \"\";\n\t\t\tthis.Stdin = $ifaceNil;\n\t\t\tthis.Stdout = $ifaceNil;\n\t\t\tthis.Stderr = $ifaceNil;\n\t\t\tthis.ExtraFiles = sliceType$1.nil;\n\t\t\tthis.SysProcAttr = ptrType$1.nil;\n\t\t\tthis.Process = ptrType$2.nil;\n\t\t\tthis.ProcessState = ptrType$3.nil;\n\t\t\tthis.ctx = $ifaceNil;\n\t\t\tthis.lookPathErr = $ifaceNil;\n\t\t\tthis.finished = false;\n\t\t\tthis.childFiles = sliceType$1.nil;\n\t\t\tthis.closeAfterStart = sliceType$2.nil;\n\t\t\tthis.closeAfterWait = sliceType$2.nil;\n\t\t\tthis.goroutine = sliceType$3.nil;\n\t\t\tthis.errch = $chanNil;\n\t\t\tthis.waitDone = $chanNil;\n\t\t\treturn;\n\t\t}\n\t\tthis.Path = Path_;\n\t\tthis.Args = Args_;\n\t\tthis.Env = Env_;\n\t\tthis.Dir = Dir_;\n\t\tthis.Stdin = Stdin_;\n\t\tthis.Stdout = Stdout_;\n\t\tthis.Stderr = Stderr_;\n\t\tthis.ExtraFiles = ExtraFiles_;\n\t\tthis.SysProcAttr = SysProcAttr_;\n\t\tthis.Process = Process_;\n\t\tthis.ProcessState = ProcessState_;\n\t\tthis.ctx = ctx_;\n\t\tthis.lookPathErr = lookPathErr_;\n\t\tthis.finished = finished_;\n\t\tthis.childFiles = childFiles_;\n\t\tthis.closeAfterStart = closeAfterStart_;\n\t\tthis.closeAfterWait = closeAfterWait_;\n\t\tthis.goroutine = goroutine_;\n\t\tthis.errch = errch_;\n\t\tthis.waitDone = waitDone_;\n\t});\n\tExitError = $pkg.ExitError = $newType(0, $kindStruct, \"exec.ExitError\", true, \"os/exec\", true, function(ProcessState_, Stderr_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.ProcessState = ptrType$3.nil;\n\t\t\tthis.Stderr = sliceType$5.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.ProcessState = ProcessState_;\n\t\tthis.Stderr = Stderr_;\n\t});\n\tcloseOnce = $pkg.closeOnce = $newType(0, $kindStruct, \"exec.closeOnce\", true, \"os/exec\", false, function(File_, once_, err_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.File = ptrType.nil;\n\t\t\tthis.once = new sync.Once.ptr(new sync.Mutex.ptr(0, 0), 0);\n\t\t\tthis.err = $ifaceNil;\n\t\t\treturn;\n\t\t}\n\t\tthis.File = File_;\n\t\tthis.once = once_;\n\t\tthis.err = err_;\n\t});\n\tprefixSuffixSaver = $pkg.prefixSuffixSaver = $newType(0, $kindStruct, \"exec.prefixSuffixSaver\", true, \"os/exec\", false, function(N_, prefix_, suffix_, suffixOff_, skipped_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.N = 0;\n\t\t\tthis.prefix = sliceType$5.nil;\n\t\t\tthis.suffix = sliceType$5.nil;\n\t\t\tthis.suffixOff = 0;\n\t\t\tthis.skipped = new $Int64(0, 0);\n\t\t\treturn;\n\t\t}\n\t\tthis.N = N_;\n\t\tthis.prefix = prefix_;\n\t\tthis.suffix = suffix_;\n\t\tthis.suffixOff = suffixOff_;\n\t\tthis.skipped = skipped_;\n\t});\n\tF = $newType(4, $kindFunc, \"exec.F\", true, \"os/exec\", true, null);\n\tsliceType = $sliceType($String);\n\tptrType = $ptrType(os.File);\n\tsliceType$1 = $sliceType(ptrType);\n\tptrType$1 = $ptrType(syscall.SysProcAttr);\n\tptrType$2 = $ptrType(os.Process);\n\tptrType$3 = $ptrType(os.ProcessState);\n\tsliceType$2 = $sliceType(io.Closer);\n\tfuncType = $funcType([], [$error], false);\n\tsliceType$3 = $sliceType(funcType);\n\tsliceType$4 = $sliceType(F);\n\tptrType$4 = $ptrType(Cmd);\n\tstructType = $structType(\"\", []);\n\tsliceType$5 = $sliceType($Uint8);\n\tarrayType = $arrayType($Uint8, 64);\n\tptrType$5 = $ptrType(ExitError);\n\tptrType$6 = $ptrType(prefixSuffixSaver);\n\tptrType$7 = $ptrType(sliceType$5);\n\tptrType$8 = $ptrType(os.PathError);\n\tptrType$9 = $ptrType(Error);\n\tchanType = $chanType($error, false, false);\n\tchanType$1 = $chanType(structType, false, false);\n\tptrType$10 = $ptrType(closeOnce);\n\tError.ptr.prototype.Error = function() {\n\t\tvar _r, e, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; e = $f.e; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\te = this;\n\t\t_r = e.Err.Error(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return \"exec: \" + strconv.Quote(e.Name) + \": \" + _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Error.ptr.prototype.Error }; } $f._r = _r; $f.e = e; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tError.prototype.Error = function() { return this.$val.Error(); };\n\tCommand = function(name, arg) {\n\t\tvar _r, _tuple, arg, cmd, err, lp, name, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; arg = $f.arg; cmd = $f.cmd; err = $f.err; lp = $f.lp; name = $f.name; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tcmd = new Cmd.ptr(name, $appendSlice(new sliceType([name]), arg), sliceType.nil, \"\", $ifaceNil, $ifaceNil, $ifaceNil, sliceType$1.nil, ptrType$1.nil, ptrType$2.nil, ptrType$3.nil, $ifaceNil, $ifaceNil, false, sliceType$1.nil, sliceType$2.nil, sliceType$2.nil, sliceType$3.nil, $chanNil, $chanNil);\n\t\t/* */ if (filepath.Base(name) === name) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (filepath.Base(name) === name) { */ case 1:\n\t\t\t_r = LookPath(name); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r;\n\t\t\tlp = _tuple[0];\n\t\t\terr = _tuple[1];\n\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\tcmd.lookPathErr = err;\n\t\t\t} else {\n\t\t\t\tcmd.Path = lp;\n\t\t\t}\n\t\t/* } */ case 2:\n\t\t$s = -1; return cmd;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Command }; } $f._r = _r; $f._tuple = _tuple; $f.arg = arg; $f.cmd = cmd; $f.err = err; $f.lp = lp; $f.name = name; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.Command = Command;\n\tinterfaceEqual = function(a, b) {\n\t\tvar a, b, $deferred;\n\t\t/* */ var $err = null; try { $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\t$deferred.push([(function() {\n\t\t\t$recover();\n\t\t}), []]);\n\t\treturn $interfaceIsEqual(a, b);\n\t\t/* */ } catch(err) { $err = err; return false; } finally { $callDeferred($deferred, $err); }\n\t};\n\tCmd.ptr.prototype.envv = function() {\n\t\tvar _r, c, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; c = $f.c; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tc = this;\n\t\tif (!(c.Env === sliceType.nil)) {\n\t\t\t$s = -1; return c.Env;\n\t\t}\n\t\t_r = os.Environ(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Cmd.ptr.prototype.envv }; } $f._r = _r; $f.c = c; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tCmd.prototype.envv = function() { return this.$val.envv(); };\n\tCmd.ptr.prototype.argv = function() {\n\t\tvar c;\n\t\tc = this;\n\t\tif (c.Args.$length > 0) {\n\t\t\treturn c.Args;\n\t\t}\n\t\treturn new sliceType([c.Path]);\n\t};\n\tCmd.prototype.argv = function() { return this.$val.argv(); };\n\tCmd.ptr.prototype.stdin = function() {\n\t\tvar _r, _r$1, _tmp, _tmp$1, _tmp$2, _tmp$3, _tuple, _tuple$1, _tuple$2, c, err, f, f$1, ok, pr, pw, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; c = $f.c; err = $f.err; f = $f.f; f$1 = $f.f$1; ok = $f.ok; pr = $f.pr; pw = $f.pw; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tc = [c];\n\t\tpw = [pw];\n\t\tf = ptrType.nil;\n\t\terr = $ifaceNil;\n\t\tc[0] = this;\n\t\t/* */ if ($interfaceIsEqual(c[0].Stdin, $ifaceNil)) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if ($interfaceIsEqual(c[0].Stdin, $ifaceNil)) { */ case 1:\n\t\t\t_r = os.Open(\"/dev/null\"); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r;\n\t\t\tf = _tuple[0];\n\t\t\terr = _tuple[1];\n\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\t$s = -1; return [f, err];\n\t\t\t}\n\t\t\tc[0].closeAfterStart = $append(c[0].closeAfterStart, f);\n\t\t\t$s = -1; return [f, err];\n\t\t/* } */ case 2:\n\t\t_tuple$1 = $assertType(c[0].Stdin, ptrType, true);\n\t\tf$1 = _tuple$1[0];\n\t\tok = _tuple$1[1];\n\t\tif (ok) {\n\t\t\t_tmp = f$1;\n\t\t\t_tmp$1 = $ifaceNil;\n\t\t\tf = _tmp;\n\t\t\terr = _tmp$1;\n\t\t\t$s = -1; return [f, err];\n\t\t}\n\t\t_r$1 = os.Pipe(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_tuple$2 = _r$1;\n\t\tpr = _tuple$2[0];\n\t\tpw[0] = _tuple$2[1];\n\t\terr = _tuple$2[2];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return [f, err];\n\t\t}\n\t\tc[0].closeAfterStart = $append(c[0].closeAfterStart, pr);\n\t\tc[0].closeAfterWait = $append(c[0].closeAfterWait, pw[0]);\n\t\tc[0].goroutine = $append(c[0].goroutine, (function(c, pw) { return function $b() {\n\t\t\tvar _r$2, _r$3, _r$4, _tuple$3, _v, err$1, err1, skip, $s, $r;\n\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _tuple$3 = $f._tuple$3; _v = $f._v; err$1 = $f.err$1; err1 = $f.err1; skip = $f.skip; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t\t_r$2 = io.Copy(pw[0], c[0].Stdin); /* */ $s = 1; case 1: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t_tuple$3 = _r$2;\n\t\t\terr$1 = _tuple$3[1];\n\t\t\tskip = skipStdinCopyError;\n\t\t\tif (!(!(skip === $throwNilPointerError))) { _v = false; $s = 4; continue s; }\n\t\t\t_r$3 = skip(err$1); /* */ $s = 5; case 5: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t_v = _r$3; case 4:\n\t\t\t/* */ if (_v) { $s = 2; continue; }\n\t\t\t/* */ $s = 3; continue;\n\t\t\t/* if (_v) { */ case 2:\n\t\t\t\terr$1 = $ifaceNil;\n\t\t\t/* } */ case 3:\n\t\t\t_r$4 = pw[0].Close(); /* */ $s = 6; case 6: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\terr1 = _r$4;\n\t\t\tif ($interfaceIsEqual(err$1, $ifaceNil)) {\n\t\t\t\terr$1 = err1;\n\t\t\t}\n\t\t\t$s = -1; return err$1;\n\t\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._tuple$3 = _tuple$3; $f._v = _v; $f.err$1 = err$1; $f.err1 = err1; $f.skip = skip; $f.$s = $s; $f.$r = $r; return $f;\n\t\t}; })(c, pw));\n\t\t_tmp$2 = pr;\n\t\t_tmp$3 = $ifaceNil;\n\t\tf = _tmp$2;\n\t\terr = _tmp$3;\n\t\t$s = -1; return [f, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Cmd.ptr.prototype.stdin }; } $f._r = _r; $f._r$1 = _r$1; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f.c = c; $f.err = err; $f.f = f; $f.f$1 = f$1; $f.ok = ok; $f.pr = pr; $f.pw = pw; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tCmd.prototype.stdin = function() { return this.$val.stdin(); };\n\tCmd.ptr.prototype.stdout = function() {\n\t\tvar _r, _tuple, c, err, f, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; c = $f.c; err = $f.err; f = $f.f; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tf = ptrType.nil;\n\t\terr = $ifaceNil;\n\t\tc = this;\n\t\t_r = c.writerDescriptor(c.Stdout); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tf = _tuple[0];\n\t\terr = _tuple[1];\n\t\t$s = -1; return [f, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Cmd.ptr.prototype.stdout }; } $f._r = _r; $f._tuple = _tuple; $f.c = c; $f.err = err; $f.f = f; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tCmd.prototype.stdout = function() { return this.$val.stdout(); };\n\tCmd.ptr.prototype.stderr = function() {\n\t\tvar _r, _tmp, _tmp$1, _tuple, c, err, f, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tuple = $f._tuple; c = $f.c; err = $f.err; f = $f.f; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tf = ptrType.nil;\n\t\terr = $ifaceNil;\n\t\tc = this;\n\t\tif (!($interfaceIsEqual(c.Stderr, $ifaceNil)) && interfaceEqual(c.Stderr, c.Stdout)) {\n\t\t\t_tmp = (x = c.childFiles, (1 >= x.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + 1]));\n\t\t\t_tmp$1 = $ifaceNil;\n\t\t\tf = _tmp;\n\t\t\terr = _tmp$1;\n\t\t\t$s = -1; return [f, err];\n\t\t}\n\t\t_r = c.writerDescriptor(c.Stderr); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tf = _tuple[0];\n\t\terr = _tuple[1];\n\t\t$s = -1; return [f, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Cmd.ptr.prototype.stderr }; } $f._r = _r; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tuple = _tuple; $f.c = c; $f.err = err; $f.f = f; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tCmd.prototype.stderr = function() { return this.$val.stderr(); };\n\tCmd.ptr.prototype.writerDescriptor = function(w) {\n\t\tvar _r, _r$1, _tmp, _tmp$1, _tmp$2, _tmp$3, _tuple, _tuple$1, _tuple$2, c, err, f, f$1, ok, pr, pw, w, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; c = $f.c; err = $f.err; f = $f.f; f$1 = $f.f$1; ok = $f.ok; pr = $f.pr; pw = $f.pw; w = $f.w; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tpr = [pr];\n\t\tw = [w];\n\t\tf = ptrType.nil;\n\t\terr = $ifaceNil;\n\t\tc = this;\n\t\t/* */ if ($interfaceIsEqual(w[0], $ifaceNil)) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if ($interfaceIsEqual(w[0], $ifaceNil)) { */ case 1:\n\t\t\t_r = os.OpenFile(\"/dev/null\", 1, 0); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r;\n\t\t\tf = _tuple[0];\n\t\t\terr = _tuple[1];\n\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\t$s = -1; return [f, err];\n\t\t\t}\n\t\t\tc.closeAfterStart = $append(c.closeAfterStart, f);\n\t\t\t$s = -1; return [f, err];\n\t\t/* } */ case 2:\n\t\t_tuple$1 = $assertType(w[0], ptrType, true);\n\t\tf$1 = _tuple$1[0];\n\t\tok = _tuple$1[1];\n\t\tif (ok) {\n\t\t\t_tmp = f$1;\n\t\t\t_tmp$1 = $ifaceNil;\n\t\t\tf = _tmp;\n\t\t\terr = _tmp$1;\n\t\t\t$s = -1; return [f, err];\n\t\t}\n\t\t_r$1 = os.Pipe(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_tuple$2 = _r$1;\n\t\tpr[0] = _tuple$2[0];\n\t\tpw = _tuple$2[1];\n\t\terr = _tuple$2[2];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return [f, err];\n\t\t}\n\t\tc.closeAfterStart = $append(c.closeAfterStart, pw);\n\t\tc.closeAfterWait = $append(c.closeAfterWait, pr[0]);\n\t\tc.goroutine = $append(c.goroutine, (function(pr, w) { return function $b() {\n\t\t\tvar _r$2, _r$3, _tuple$3, err$1, $s, $r;\n\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r$2 = $f._r$2; _r$3 = $f._r$3; _tuple$3 = $f._tuple$3; err$1 = $f.err$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t\t_r$2 = io.Copy(w[0], pr[0]); /* */ $s = 1; case 1: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t_tuple$3 = _r$2;\n\t\t\terr$1 = _tuple$3[1];\n\t\t\t_r$3 = pr[0].Close(); /* */ $s = 2; case 2: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t_r$3;\n\t\t\t$s = -1; return err$1;\n\t\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f._r$2 = _r$2; $f._r$3 = _r$3; $f._tuple$3 = _tuple$3; $f.err$1 = err$1; $f.$s = $s; $f.$r = $r; return $f;\n\t\t}; })(pr, w));\n\t\t_tmp$2 = pw;\n\t\t_tmp$3 = $ifaceNil;\n\t\tf = _tmp$2;\n\t\terr = _tmp$3;\n\t\t$s = -1; return [f, err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Cmd.ptr.prototype.writerDescriptor }; } $f._r = _r; $f._r$1 = _r$1; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f.c = c; $f.err = err; $f.f = f; $f.f$1 = f$1; $f.ok = ok; $f.pr = pr; $f.pw = pw; $f.w = w; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tCmd.prototype.writerDescriptor = function(w) { return this.$val.writerDescriptor(w); };\n\tCmd.ptr.prototype.closeDescriptors = function(closers) {\n\t\tvar _i, _r, _ref, c, closers, fd, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _r = $f._r; _ref = $f._ref; c = $f.c; closers = $f.closers; fd = $f.fd; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tc = this;\n\t\t_ref = closers;\n\t\t_i = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 2; continue; }\n\t\t\tfd = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\t_r = fd.Close(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_r;\n\t\t\t_i++;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Cmd.ptr.prototype.closeDescriptors }; } $f._i = _i; $f._r = _r; $f._ref = _ref; $f.c = c; $f.closers = closers; $f.fd = fd; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tCmd.prototype.closeDescriptors = function(closers) { return this.$val.closeDescriptors(closers); };\n\tCmd.ptr.prototype.Run = function() {\n\t\tvar _r, _r$1, c, err, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; c = $f.c; err = $f.err; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tc = this;\n\t\t_r = c.Start(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\terr = _r;\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return err;\n\t\t}\n\t\t_r$1 = c.Wait(); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r$1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Cmd.ptr.prototype.Run }; } $f._r = _r; $f._r$1 = _r$1; $f.c = c; $f.err = err; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tCmd.prototype.Run = function() { return this.$val.Run(); };\n\tlookExtensions = function(path, dir) {\n\t\tvar _r, _r$1, _r$2, _r$3, _tuple, dir, dirandpath, err, ext, lp, path, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _tuple = $f._tuple; dir = $f.dir; dirandpath = $f.dirandpath; err = $f.err; ext = $f.ext; lp = $f.lp; path = $f.path; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tif (filepath.Base(path) === path) {\n\t\t\tpath = filepath.Join(new sliceType([\".\", path]));\n\t\t}\n\t\t/* */ if (dir === \"\") { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (dir === \"\") { */ case 1:\n\t\t\t_r = LookPath(path); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return _r;\n\t\t/* } */ case 2:\n\t\t/* */ if (!(filepath.VolumeName(path) === \"\")) { $s = 4; continue; }\n\t\t/* */ $s = 5; continue;\n\t\t/* if (!(filepath.VolumeName(path) === \"\")) { */ case 4:\n\t\t\t_r$1 = LookPath(path); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return _r$1;\n\t\t/* } */ case 5:\n\t\t/* */ if (path.length > 1 && os.IsPathSeparator(path.charCodeAt(0))) { $s = 7; continue; }\n\t\t/* */ $s = 8; continue;\n\t\t/* if (path.length > 1 && os.IsPathSeparator(path.charCodeAt(0))) { */ case 7:\n\t\t\t_r$2 = LookPath(path); /* */ $s = 9; case 9: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return _r$2;\n\t\t/* } */ case 8:\n\t\tdirandpath = filepath.Join(new sliceType([dir, path]));\n\t\t_r$3 = LookPath(dirandpath); /* */ $s = 10; case 10: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t_tuple = _r$3;\n\t\tlp = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return [\"\", err];\n\t\t}\n\t\text = strings.TrimPrefix(lp, dirandpath);\n\t\t$s = -1; return [path + ext, $ifaceNil];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: lookExtensions }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._tuple = _tuple; $f.dir = dir; $f.dirandpath = dirandpath; $f.err = err; $f.ext = ext; $f.lp = lp; $f.path = path; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tCmd.ptr.prototype.Start = function() {\n\t\tvar _arg, _arg$1, _arg$2, _i, _i$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _ref, _ref$1, _selection, _tuple, _tuple$1, _tuple$2, c, err, err$1, err$2, fd, fn, lp, setupFd, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _i = $f._i; _i$1 = $f._i$1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _ref = $f._ref; _ref$1 = $f._ref$1; _selection = $f._selection; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; c = $f.c; err = $f.err; err$1 = $f.err$1; err$2 = $f.err$2; fd = $f.fd; fn = $f.fn; lp = $f.lp; setupFd = $f.setupFd; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tc = [c];\n\t\tc[0] = this;\n\t\t/* */ if (!($interfaceIsEqual(c[0].lookPathErr, $ifaceNil))) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!($interfaceIsEqual(c[0].lookPathErr, $ifaceNil))) { */ case 1:\n\t\t\t$r = c[0].closeDescriptors(c[0].closeAfterStart); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$r = c[0].closeDescriptors(c[0].closeAfterWait); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return c[0].lookPathErr;\n\t\t/* } */ case 2:\n\t\t/* */ if (false) { $s = 5; continue; }\n\t\t/* */ $s = 6; continue;\n\t\t/* if (false) { */ case 5:\n\t\t\t_r = lookExtensions(c[0].Path, c[0].Dir); /* */ $s = 7; case 7: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r;\n\t\t\tlp = _tuple[0];\n\t\t\terr = _tuple[1];\n\t\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 8; continue; }\n\t\t\t/* */ $s = 9; continue;\n\t\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 8:\n\t\t\t\t$r = c[0].closeDescriptors(c[0].closeAfterStart); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$r = c[0].closeDescriptors(c[0].closeAfterWait); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return err;\n\t\t\t/* } */ case 9:\n\t\t\tc[0].Path = lp;\n\t\t/* } */ case 6:\n\t\tif (!(c[0].Process === ptrType$2.nil)) {\n\t\t\t$s = -1; return errors.New(\"exec: already started\");\n\t\t}\n\t\t/* */ if (!($interfaceIsEqual(c[0].ctx, $ifaceNil))) { $s = 12; continue; }\n\t\t/* */ $s = 13; continue;\n\t\t/* if (!($interfaceIsEqual(c[0].ctx, $ifaceNil))) { */ case 12:\n\t\t\t_r$1 = c[0].ctx.Done(); /* */ $s = 14; case 14: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_selection = $select([[_r$1], []]);\n\t\t\t/* */ if (_selection[0] === 0) { $s = 15; continue; }\n\t\t\t/* */ if (_selection[0] === 1) { $s = 16; continue; }\n\t\t\t/* */ $s = 17; continue;\n\t\t\t/* if (_selection[0] === 0) { */ case 15:\n\t\t\t\t$r = c[0].closeDescriptors(c[0].closeAfterStart); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$r = c[0].closeDescriptors(c[0].closeAfterWait); /* */ $s = 19; case 19: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t_r$2 = c[0].ctx.Err(); /* */ $s = 20; case 20: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return _r$2;\n\t\t\t/* } else if (_selection[0] === 1) { */ case 16:\n\t\t\t/* } */ case 17:\n\t\t/* } */ case 13:\n\t\t_ref = new sliceType$4([$methodExpr(ptrType$4, \"stdin\"), $methodExpr(ptrType$4, \"stdout\"), $methodExpr(ptrType$4, \"stderr\")]);\n\t\t_i = 0;\n\t\t/* while (true) { */ case 21:\n\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 22; continue; }\n\t\t\tsetupFd = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\t_r$3 = setupFd(c[0]); /* */ $s = 23; case 23: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t_tuple$1 = _r$3;\n\t\t\tfd = _tuple$1[0];\n\t\t\terr$1 = _tuple$1[1];\n\t\t\t/* */ if (!($interfaceIsEqual(err$1, $ifaceNil))) { $s = 24; continue; }\n\t\t\t/* */ $s = 25; continue;\n\t\t\t/* if (!($interfaceIsEqual(err$1, $ifaceNil))) { */ case 24:\n\t\t\t\t$r = c[0].closeDescriptors(c[0].closeAfterStart); /* */ $s = 26; case 26: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$r = c[0].closeDescriptors(c[0].closeAfterWait); /* */ $s = 27; case 27: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return err$1;\n\t\t\t/* } */ case 25:\n\t\t\tc[0].childFiles = $append(c[0].childFiles, fd);\n\t\t\t_i++;\n\t\t/* } */ $s = 21; continue; case 22:\n\t\tc[0].childFiles = $appendSlice(c[0].childFiles, c[0].ExtraFiles);\n\t\terr$2 = $ifaceNil;\n\t\t_arg = c[0].Path;\n\t\t_arg$1 = c[0].argv();\n\t\t_r$4 = c[0].envv(); /* */ $s = 28; case 28: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t_r$5 = dedupEnv(_r$4); /* */ $s = 29; case 29: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t_arg$2 = new os.ProcAttr.ptr(c[0].Dir, _r$5, c[0].childFiles, c[0].SysProcAttr);\n\t\t_r$6 = os.StartProcess(_arg, _arg$1, _arg$2); /* */ $s = 30; case 30: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t_tuple$2 = _r$6;\n\t\tc[0].Process = _tuple$2[0];\n\t\terr$2 = _tuple$2[1];\n\t\t/* */ if (!($interfaceIsEqual(err$2, $ifaceNil))) { $s = 31; continue; }\n\t\t/* */ $s = 32; continue;\n\t\t/* if (!($interfaceIsEqual(err$2, $ifaceNil))) { */ case 31:\n\t\t\t$r = c[0].closeDescriptors(c[0].closeAfterStart); /* */ $s = 33; case 33: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$r = c[0].closeDescriptors(c[0].closeAfterWait); /* */ $s = 34; case 34: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return err$2;\n\t\t/* } */ case 32:\n\t\t$r = c[0].closeDescriptors(c[0].closeAfterStart); /* */ $s = 35; case 35: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tc[0].errch = new $Chan($error, c[0].goroutine.$length);\n\t\t_ref$1 = c[0].goroutine;\n\t\t_i$1 = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i$1 < _ref$1.$length)) { break; }\n\t\t\tfn = ((_i$1 < 0 || _i$1 >= _ref$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref$1.$array[_ref$1.$offset + _i$1]);\n\t\t\t$go((function(c) { return function $b(fn$1) {\n\t\t\t\tvar _r$7, fn$1, $s, $r;\n\t\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r$7 = $f._r$7; fn$1 = $f.fn$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t\t\t_r$7 = fn$1(); /* */ $s = 1; case 1: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }\n\t\t\t\t$r = $send(c[0].errch, _r$7); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return;\n\t\t\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f._r$7 = _r$7; $f.fn$1 = fn$1; $f.$s = $s; $f.$r = $r; return $f;\n\t\t\t}; })(c), [fn]);\n\t\t\t_i$1++;\n\t\t}\n\t\tif (!($interfaceIsEqual(c[0].ctx, $ifaceNil))) {\n\t\t\tc[0].waitDone = new $Chan(structType, 0);\n\t\t\t$go((function(c) { return function $b() {\n\t\t\t\tvar _r$7, _r$8, _r$9, _selection$1, $s, $r;\n\t\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r$7 = $f._r$7; _r$8 = $f._r$8; _r$9 = $f._r$9; _selection$1 = $f._selection$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t\t\t_r$7 = c[0].ctx.Done(); /* */ $s = 1; case 1: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }\n\t\t\t\t_r$8 = $select([[_r$7], [c[0].waitDone]]); /* */ $s = 2; case 2: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }\n\t\t\t\t_selection$1 = _r$8;\n\t\t\t\t/* */ if (_selection$1[0] === 0) { $s = 3; continue; }\n\t\t\t\t/* */ if (_selection$1[0] === 1) { $s = 4; continue; }\n\t\t\t\t/* */ $s = 5; continue;\n\t\t\t\t/* if (_selection$1[0] === 0) { */ case 3:\n\t\t\t\t\t_r$9 = c[0].Process.Kill(); /* */ $s = 6; case 6: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }\n\t\t\t\t\t_r$9;\n\t\t\t\t\t$s = 5; continue;\n\t\t\t\t/* } else if (_selection$1[0] === 1) { */ case 4:\n\t\t\t\t/* } */ case 5:\n\t\t\t\t$s = -1; return;\n\t\t\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f._r$7 = _r$7; $f._r$8 = _r$8; $f._r$9 = _r$9; $f._selection$1 = _selection$1; $f.$s = $s; $f.$r = $r; return $f;\n\t\t\t}; })(c), []);\n\t\t}\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Cmd.ptr.prototype.Start }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._i = _i; $f._i$1 = _i$1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._ref = _ref; $f._ref$1 = _ref$1; $f._selection = _selection; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f.c = c; $f.err = err; $f.err$1 = err$1; $f.err$2 = err$2; $f.fd = fd; $f.fn = fn; $f.lp = lp; $f.setupFd = setupFd; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tCmd.prototype.Start = function() { return this.$val.Start(); };\n\tExitError.ptr.prototype.Error = function() {\n\t\tvar e;\n\t\te = this;\n\t\treturn e.ProcessState.String();\n\t};\n\tExitError.prototype.Error = function() { return this.$val.Error(); };\n\tCmd.ptr.prototype.Wait = function() {\n\t\tvar _i, _r, _r$1, _ref, _tuple, c, copyError, err, err$1, state, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _r = $f._r; _r$1 = $f._r$1; _ref = $f._ref; _tuple = $f._tuple; c = $f.c; copyError = $f.copyError; err = $f.err; err$1 = $f.err$1; state = $f.state; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tc = this;\n\t\tif (c.Process === ptrType$2.nil) {\n\t\t\t$s = -1; return errors.New(\"exec: not started\");\n\t\t}\n\t\tif (c.finished) {\n\t\t\t$s = -1; return errors.New(\"exec: Wait was already called\");\n\t\t}\n\t\tc.finished = true;\n\t\t_r = c.Process.Wait(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tstate = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (!(c.waitDone === $chanNil)) {\n\t\t\t$close(c.waitDone);\n\t\t}\n\t\tc.ProcessState = state;\n\t\tcopyError = $ifaceNil;\n\t\t_ref = c.goroutine;\n\t\t_i = 0;\n\t\t/* while (true) { */ case 2:\n\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 3; continue; }\n\t\t\t_r$1 = $recv(c.errch); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\terr$1 = _r$1[0];\n\t\t\tif (!($interfaceIsEqual(err$1, $ifaceNil)) && $interfaceIsEqual(copyError, $ifaceNil)) {\n\t\t\t\tcopyError = err$1;\n\t\t\t}\n\t\t\t_i++;\n\t\t/* } */ $s = 2; continue; case 3:\n\t\t$r = c.closeDescriptors(c.closeAfterWait); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return err;\n\t\t} else if (!state.Success()) {\n\t\t\t$s = -1; return new ExitError.ptr(state, sliceType$5.nil);\n\t\t}\n\t\t$s = -1; return copyError;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Cmd.ptr.prototype.Wait }; } $f._i = _i; $f._r = _r; $f._r$1 = _r$1; $f._ref = _ref; $f._tuple = _tuple; $f.c = c; $f.copyError = copyError; $f.err = err; $f.err$1 = err$1; $f.state = state; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tCmd.prototype.Wait = function() { return this.$val.Wait(); };\n\tCmd.ptr.prototype.Output = function() {\n\t\tvar _r, _tuple, c, captureErr, ee, err, ok, stdout, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; c = $f.c; captureErr = $f.captureErr; ee = $f.ee; err = $f.err; ok = $f.ok; stdout = $f.stdout; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tstdout = [stdout];\n\t\tc = this;\n\t\tif (!($interfaceIsEqual(c.Stdout, $ifaceNil))) {\n\t\t\t$s = -1; return [sliceType$5.nil, errors.New(\"exec: Stdout already set\")];\n\t\t}\n\t\tstdout[0] = new bytes.Buffer.ptr(sliceType$5.nil, 0, arrayType.zero(), 0);\n\t\tc.Stdout = stdout[0];\n\t\tcaptureErr = $interfaceIsEqual(c.Stderr, $ifaceNil);\n\t\tif (captureErr) {\n\t\t\tc.Stderr = new prefixSuffixSaver.ptr(32768, sliceType$5.nil, sliceType$5.nil, 0, new $Int64(0, 0));\n\t\t}\n\t\t_r = c.Run(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\terr = _r;\n\t\tif (!($interfaceIsEqual(err, $ifaceNil)) && captureErr) {\n\t\t\t_tuple = $assertType(err, ptrType$5, true);\n\t\t\tee = _tuple[0];\n\t\t\tok = _tuple[1];\n\t\t\tif (ok) {\n\t\t\t\tee.Stderr = $assertType(c.Stderr, ptrType$6).Bytes();\n\t\t\t}\n\t\t}\n\t\t$s = -1; return [stdout[0].Bytes(), err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Cmd.ptr.prototype.Output }; } $f._r = _r; $f._tuple = _tuple; $f.c = c; $f.captureErr = captureErr; $f.ee = ee; $f.err = err; $f.ok = ok; $f.stdout = stdout; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tCmd.prototype.Output = function() { return this.$val.Output(); };\n\tCmd.ptr.prototype.CombinedOutput = function() {\n\t\tvar _r, b, c, err, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; b = $f.b; c = $f.c; err = $f.err; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tb = [b];\n\t\tc = this;\n\t\tif (!($interfaceIsEqual(c.Stdout, $ifaceNil))) {\n\t\t\t$s = -1; return [sliceType$5.nil, errors.New(\"exec: Stdout already set\")];\n\t\t}\n\t\tif (!($interfaceIsEqual(c.Stderr, $ifaceNil))) {\n\t\t\t$s = -1; return [sliceType$5.nil, errors.New(\"exec: Stderr already set\")];\n\t\t}\n\t\tb[0] = new bytes.Buffer.ptr(sliceType$5.nil, 0, arrayType.zero(), 0);\n\t\tc.Stdout = b[0];\n\t\tc.Stderr = b[0];\n\t\t_r = c.Run(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\terr = _r;\n\t\t$s = -1; return [b[0].Bytes(), err];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Cmd.ptr.prototype.CombinedOutput }; } $f._r = _r; $f.b = b; $f.c = c; $f.err = err; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tCmd.prototype.CombinedOutput = function() { return this.$val.CombinedOutput(); };\n\tCmd.ptr.prototype.StdinPipe = function() {\n\t\tvar _r, _tuple, c, err, pr, pw, wc, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; c = $f.c; err = $f.err; pr = $f.pr; pw = $f.pw; wc = $f.wc; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tc = this;\n\t\tif (!($interfaceIsEqual(c.Stdin, $ifaceNil))) {\n\t\t\t$s = -1; return [$ifaceNil, errors.New(\"exec: Stdin already set\")];\n\t\t}\n\t\tif (!(c.Process === ptrType$2.nil)) {\n\t\t\t$s = -1; return [$ifaceNil, errors.New(\"exec: StdinPipe after process started\")];\n\t\t}\n\t\t_r = os.Pipe(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tpr = _tuple[0];\n\t\tpw = _tuple[1];\n\t\terr = _tuple[2];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return [$ifaceNil, err];\n\t\t}\n\t\tc.Stdin = pr;\n\t\tc.closeAfterStart = $append(c.closeAfterStart, pr);\n\t\twc = new closeOnce.ptr(pw, new sync.Once.ptr(new sync.Mutex.ptr(0, 0), 0), $ifaceNil);\n\t\tc.closeAfterWait = $append(c.closeAfterWait, wc);\n\t\t$s = -1; return [wc, $ifaceNil];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Cmd.ptr.prototype.StdinPipe }; } $f._r = _r; $f._tuple = _tuple; $f.c = c; $f.err = err; $f.pr = pr; $f.pw = pw; $f.wc = wc; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tCmd.prototype.StdinPipe = function() { return this.$val.StdinPipe(); };\n\tcloseOnce.ptr.prototype.Close = function() {\n\t\tvar c, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; c = $f.c; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tc = this;\n\t\t$r = c.once.Do($methodVal(c, \"close\")); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return c.err;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: closeOnce.ptr.prototype.Close }; } $f.c = c; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcloseOnce.prototype.Close = function() { return this.$val.Close(); };\n\tcloseOnce.ptr.prototype.close = function() {\n\t\tvar _r, c, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; c = $f.c; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tc = this;\n\t\t_r = c.File.Close(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tc.err = _r;\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: closeOnce.ptr.prototype.close }; } $f._r = _r; $f.c = c; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcloseOnce.prototype.close = function() { return this.$val.close(); };\n\tCmd.ptr.prototype.StdoutPipe = function() {\n\t\tvar _r, _tuple, c, err, pr, pw, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; c = $f.c; err = $f.err; pr = $f.pr; pw = $f.pw; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tc = this;\n\t\tif (!($interfaceIsEqual(c.Stdout, $ifaceNil))) {\n\t\t\t$s = -1; return [$ifaceNil, errors.New(\"exec: Stdout already set\")];\n\t\t}\n\t\tif (!(c.Process === ptrType$2.nil)) {\n\t\t\t$s = -1; return [$ifaceNil, errors.New(\"exec: StdoutPipe after process started\")];\n\t\t}\n\t\t_r = os.Pipe(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tpr = _tuple[0];\n\t\tpw = _tuple[1];\n\t\terr = _tuple[2];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return [$ifaceNil, err];\n\t\t}\n\t\tc.Stdout = pw;\n\t\tc.closeAfterStart = $append(c.closeAfterStart, pw);\n\t\tc.closeAfterWait = $append(c.closeAfterWait, pr);\n\t\t$s = -1; return [pr, $ifaceNil];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Cmd.ptr.prototype.StdoutPipe }; } $f._r = _r; $f._tuple = _tuple; $f.c = c; $f.err = err; $f.pr = pr; $f.pw = pw; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tCmd.prototype.StdoutPipe = function() { return this.$val.StdoutPipe(); };\n\tCmd.ptr.prototype.StderrPipe = function() {\n\t\tvar _r, _tuple, c, err, pr, pw, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; c = $f.c; err = $f.err; pr = $f.pr; pw = $f.pw; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tc = this;\n\t\tif (!($interfaceIsEqual(c.Stderr, $ifaceNil))) {\n\t\t\t$s = -1; return [$ifaceNil, errors.New(\"exec: Stderr already set\")];\n\t\t}\n\t\tif (!(c.Process === ptrType$2.nil)) {\n\t\t\t$s = -1; return [$ifaceNil, errors.New(\"exec: StderrPipe after process started\")];\n\t\t}\n\t\t_r = os.Pipe(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tpr = _tuple[0];\n\t\tpw = _tuple[1];\n\t\terr = _tuple[2];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return [$ifaceNil, err];\n\t\t}\n\t\tc.Stderr = pw;\n\t\tc.closeAfterStart = $append(c.closeAfterStart, pw);\n\t\tc.closeAfterWait = $append(c.closeAfterWait, pr);\n\t\t$s = -1; return [pr, $ifaceNil];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: Cmd.ptr.prototype.StderrPipe }; } $f._r = _r; $f._tuple = _tuple; $f.c = c; $f.err = err; $f.pr = pr; $f.pw = pw; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tCmd.prototype.StderrPipe = function() { return this.$val.StderrPipe(); };\n\tprefixSuffixSaver.ptr.prototype.Write = function(p) {\n\t\tvar _tmp, _tmp$1, err, lenp, n, n$1, overage, p, w, x, x$1, x$2, x$3;\n\t\tn = 0;\n\t\terr = $ifaceNil;\n\t\tw = this;\n\t\tlenp = p.$length;\n\t\tp = w.fill((w.$ptr_prefix || (w.$ptr_prefix = new ptrType$7(function() { return this.$target.prefix; }, function($v) { this.$target.prefix = $v; }, w))), p);\n\t\toverage = p.$length - w.N >> 0;\n\t\tif (overage > 0) {\n\t\t\tp = $subslice(p, overage);\n\t\t\tw.skipped = (x = w.skipped, x$1 = (new $Int64(0, overage)), new $Int64(x.$high + x$1.$high, x.$low + x$1.$low));\n\t\t}\n\t\tp = w.fill((w.$ptr_suffix || (w.$ptr_suffix = new ptrType$7(function() { return this.$target.suffix; }, function($v) { this.$target.suffix = $v; }, w))), p);\n\t\twhile (true) {\n\t\t\tif (!(p.$length > 0)) { break; }\n\t\t\tn$1 = $copySlice($subslice(w.suffix, w.suffixOff), p);\n\t\t\tp = $subslice(p, n$1);\n\t\t\tw.skipped = (x$2 = w.skipped, x$3 = (new $Int64(0, n$1)), new $Int64(x$2.$high + x$3.$high, x$2.$low + x$3.$low));\n\t\t\tw.suffixOff = w.suffixOff + (n$1) >> 0;\n\t\t\tif (w.suffixOff === w.N) {\n\t\t\t\tw.suffixOff = 0;\n\t\t\t}\n\t\t}\n\t\t_tmp = lenp;\n\t\t_tmp$1 = $ifaceNil;\n\t\tn = _tmp;\n\t\terr = _tmp$1;\n\t\treturn [n, err];\n\t};\n\tprefixSuffixSaver.prototype.Write = function(p) { return this.$val.Write(p); };\n\tprefixSuffixSaver.ptr.prototype.fill = function(dst, p) {\n\t\tvar add, dst, p, pRemain, remain, w;\n\t\tpRemain = sliceType$5.nil;\n\t\tw = this;\n\t\tremain = w.N - dst.$get().$length >> 0;\n\t\tif (remain > 0) {\n\t\t\tadd = minInt(p.$length, remain);\n\t\t\tdst.$set($appendSlice(dst.$get(), $subslice(p, 0, add)));\n\t\t\tp = $subslice(p, add);\n\t\t}\n\t\tpRemain = p;\n\t\treturn pRemain;\n\t};\n\tprefixSuffixSaver.prototype.fill = function(dst, p) { return this.$val.fill(dst, p); };\n\tprefixSuffixSaver.ptr.prototype.Bytes = function() {\n\t\tvar buf, w, x;\n\t\tw = this;\n\t\tif (w.suffix === sliceType$5.nil) {\n\t\t\treturn w.prefix;\n\t\t}\n\t\tif ((x = w.skipped, (x.$high === 0 && x.$low === 0))) {\n\t\t\treturn $appendSlice(w.prefix, w.suffix);\n\t\t}\n\t\tbuf = new bytes.Buffer.ptr(sliceType$5.nil, 0, arrayType.zero(), 0);\n\t\tbuf.Grow((w.prefix.$length + w.suffix.$length >> 0) + 50 >> 0);\n\t\tbuf.Write(w.prefix);\n\t\tbuf.WriteString(\"\\n... omitting \");\n\t\tbuf.WriteString(strconv.FormatInt(w.skipped, 10));\n\t\tbuf.WriteString(\" bytes ...\\n\");\n\t\tbuf.Write($subslice(w.suffix, w.suffixOff));\n\t\tbuf.Write($subslice(w.suffix, 0, w.suffixOff));\n\t\treturn buf.Bytes();\n\t};\n\tprefixSuffixSaver.prototype.Bytes = function() { return this.$val.Bytes(); };\n\tminInt = function(a, b) {\n\t\tvar a, b;\n\t\tif (a < b) {\n\t\t\treturn a;\n\t\t}\n\t\treturn b;\n\t};\n\tdedupEnv = function(env) {\n\t\tvar _r, env, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; env = $f.env; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = dedupEnvCase(false, env); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: dedupEnv }; } $f._r = _r; $f.env = env; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tdedupEnvCase = function(caseInsensitive, env) {\n\t\tvar _entry, _i, _key, _r, _ref, _tuple, caseInsensitive, dupIdx, env, eq, isDup, k, kv, out, saw, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _entry = $f._entry; _i = $f._i; _key = $f._key; _r = $f._r; _ref = $f._ref; _tuple = $f._tuple; caseInsensitive = $f.caseInsensitive; dupIdx = $f.dupIdx; env = $f.env; eq = $f.eq; isDup = $f.isDup; k = $f.k; kv = $f.kv; out = $f.out; saw = $f.saw; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tout = $makeSlice(sliceType, 0, env.$length);\n\t\tsaw = $makeMap($String.keyFor, []);\n\t\t_ref = env;\n\t\t_i = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 2; continue; }\n\t\t\tkv = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\teq = strings.Index(kv, \"=\");\n\t\t\t/* */ if (eq < 0) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (eq < 0) { */ case 3:\n\t\t\t\tout = $append(out, kv);\n\t\t\t\t_i++;\n\t\t\t\t/* continue; */ $s = 1; continue;\n\t\t\t/* } */ case 4:\n\t\t\tk = $substring(kv, 0, eq);\n\t\t\t/* */ if (caseInsensitive) { $s = 5; continue; }\n\t\t\t/* */ $s = 6; continue;\n\t\t\t/* if (caseInsensitive) { */ case 5:\n\t\t\t\t_r = strings.ToLower(k); /* */ $s = 7; case 7: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\tk = _r;\n\t\t\t/* } */ case 6:\n\t\t\t_tuple = (_entry = saw[$String.keyFor(k)], _entry !== undefined ? [_entry.v, true] : [0, false]);\n\t\t\tdupIdx = _tuple[0];\n\t\t\tisDup = _tuple[1];\n\t\t\tif (isDup) {\n\t\t\t\t((dupIdx < 0 || dupIdx >= out.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : out.$array[out.$offset + dupIdx] = kv);\n\t\t\t\t_i++;\n\t\t\t\t/* continue; */ $s = 1; continue;\n\t\t\t}\n\t\t\t_key = k; (saw || $throwRuntimeError(\"assignment to entry in nil map\"))[$String.keyFor(_key)] = { k: _key, v: out.$length };\n\t\t\tout = $append(out, kv);\n\t\t\t_i++;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return out;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: dedupEnvCase }; } $f._entry = _entry; $f._i = _i; $f._key = _key; $f._r = _r; $f._ref = _ref; $f._tuple = _tuple; $f.caseInsensitive = caseInsensitive; $f.dupIdx = dupIdx; $f.env = env; $f.eq = eq; $f.isDup = isDup; $f.k = k; $f.kv = kv; $f.out = out; $f.saw = saw; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tinit = function() {\n\t\tskipStdinCopyError = (function(err) {\n\t\t\tvar _tuple, err, ok, pe;\n\t\t\t_tuple = $assertType(err, ptrType$8, true);\n\t\t\tpe = _tuple[0];\n\t\t\tok = _tuple[1];\n\t\t\treturn ok && pe.Op === \"write\" && pe.Path === \"|1\" && $interfaceIsEqual(pe.Err, new syscall.Errno(32));\n\t\t});\n\t};\n\tfindExecutable = function(file) {\n\t\tvar _r, _r$1, _tuple, d, err, file, m, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; d = $f.d; err = $f.err; file = $f.file; m = $f.m; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = os.Stat(file); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\td = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return err;\n\t\t}\n\t\t_r$1 = d.Mode(); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tm = _r$1;\n\t\tif (!new os.FileMode(m).IsDir() && !((((m & 73) >>> 0) === 0))) {\n\t\t\t$s = -1; return $ifaceNil;\n\t\t}\n\t\t$s = -1; return os.ErrPermission;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: findExecutable }; } $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f.d = d; $f.err = err; $f.file = file; $f.m = m; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLookPath = function(file) {\n\t\tvar _i, _r, _r$1, _r$2, _ref, dir, err, err$1, file, path, path$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _ref = $f._ref; dir = $f.dir; err = $f.err; err$1 = $f.err$1; file = $f.file; path = $f.path; path$1 = $f.path$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t/* */ if (strings.Contains(file, \"/\")) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (strings.Contains(file, \"/\")) { */ case 1:\n\t\t\t_r = findExecutable(file); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\terr = _r;\n\t\t\tif ($interfaceIsEqual(err, $ifaceNil)) {\n\t\t\t\t$s = -1; return [file, $ifaceNil];\n\t\t\t}\n\t\t\t$s = -1; return [\"\", new Error.ptr(file, err)];\n\t\t/* } */ case 2:\n\t\t_r$1 = os.Getenv(\"PATH\"); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tpath = _r$1;\n\t\t_ref = filepath.SplitList(path);\n\t\t_i = 0;\n\t\t/* while (true) { */ case 5:\n\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 6; continue; }\n\t\t\tdir = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\tif (dir === \"\") {\n\t\t\t\tdir = \".\";\n\t\t\t}\n\t\t\tpath$1 = filepath.Join(new sliceType([dir, file]));\n\t\t\t_r$2 = findExecutable(path$1); /* */ $s = 7; case 7: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\terr$1 = _r$2;\n\t\t\tif ($interfaceIsEqual(err$1, $ifaceNil)) {\n\t\t\t\t$s = -1; return [path$1, $ifaceNil];\n\t\t\t}\n\t\t\t_i++;\n\t\t/* } */ $s = 5; continue; case 6:\n\t\t$s = -1; return [\"\", new Error.ptr(file, $pkg.ErrNotFound)];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LookPath }; } $f._i = _i; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._ref = _ref; $f.dir = dir; $f.err = err; $f.err$1 = err$1; $f.file = file; $f.path = path; $f.path$1 = path$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.LookPath = LookPath;\n\tptrType$9.methods = [{prop: \"Error\", name: \"Error\", pkg: \"\", typ: $funcType([], [$String], false)}];\n\tptrType$4.methods = [{prop: \"envv\", name: \"envv\", pkg: \"os/exec\", typ: $funcType([], [sliceType], false)}, {prop: \"argv\", name: \"argv\", pkg: \"os/exec\", typ: $funcType([], [sliceType], false)}, {prop: \"stdin\", name: \"stdin\", pkg: \"os/exec\", typ: $funcType([], [ptrType, $error], false)}, {prop: \"stdout\", name: \"stdout\", pkg: \"os/exec\", typ: $funcType([], [ptrType, $error], false)}, {prop: \"stderr\", name: \"stderr\", pkg: \"os/exec\", typ: $funcType([], [ptrType, $error], false)}, {prop: \"writerDescriptor\", name: \"writerDescriptor\", pkg: \"os/exec\", typ: $funcType([io.Writer], [ptrType, $error], false)}, {prop: \"closeDescriptors\", name: \"closeDescriptors\", pkg: \"os/exec\", typ: $funcType([sliceType$2], [], false)}, {prop: \"Run\", name: \"Run\", pkg: \"\", typ: $funcType([], [$error], false)}, {prop: \"Start\", name: \"Start\", pkg: \"\", typ: $funcType([], [$error], false)}, {prop: \"Wait\", name: \"Wait\", pkg: \"\", typ: $funcType([], [$error], false)}, {prop: \"Output\", name: \"Output\", pkg: \"\", typ: $funcType([], [sliceType$5, $error], false)}, {prop: \"CombinedOutput\", name: \"CombinedOutput\", pkg: \"\", typ: $funcType([], [sliceType$5, $error], false)}, {prop: \"StdinPipe\", name: \"StdinPipe\", pkg: \"\", typ: $funcType([], [io.WriteCloser, $error], false)}, {prop: \"StdoutPipe\", name: \"StdoutPipe\", pkg: \"\", typ: $funcType([], [io.ReadCloser, $error], false)}, {prop: \"StderrPipe\", name: \"StderrPipe\", pkg: \"\", typ: $funcType([], [io.ReadCloser, $error], false)}];\n\tptrType$5.methods = [{prop: \"Error\", name: \"Error\", pkg: \"\", typ: $funcType([], [$String], false)}];\n\tptrType$10.methods = [{prop: \"Close\", name: \"Close\", pkg: \"\", typ: $funcType([], [$error], false)}, {prop: \"close\", name: \"close\", pkg: \"os/exec\", typ: $funcType([], [], false)}];\n\tptrType$6.methods = [{prop: \"Write\", name: \"Write\", pkg: \"\", typ: $funcType([sliceType$5], [$Int, $error], false)}, {prop: \"fill\", name: \"fill\", pkg: \"os/exec\", typ: $funcType([ptrType$7, sliceType$5], [sliceType$5], false)}, {prop: \"Bytes\", name: \"Bytes\", pkg: \"\", typ: $funcType([], [sliceType$5], false)}];\n\tError.init(\"\", [{prop: \"Name\", name: \"Name\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"Err\", name: \"Err\", embedded: false, exported: true, typ: $error, tag: \"\"}]);\n\tCmd.init(\"os/exec\", [{prop: \"Path\", name: \"Path\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"Args\", name: \"Args\", embedded: false, exported: true, typ: sliceType, tag: \"\"}, {prop: \"Env\", name: \"Env\", embedded: false, exported: true, typ: sliceType, tag: \"\"}, {prop: \"Dir\", name: \"Dir\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"Stdin\", name: \"Stdin\", embedded: false, exported: true, typ: io.Reader, tag: \"\"}, {prop: \"Stdout\", name: \"Stdout\", embedded: false, exported: true, typ: io.Writer, tag: \"\"}, {prop: \"Stderr\", name: \"Stderr\", embedded: false, exported: true, typ: io.Writer, tag: \"\"}, {prop: \"ExtraFiles\", name: \"ExtraFiles\", embedded: false, exported: true, typ: sliceType$1, tag: \"\"}, {prop: \"SysProcAttr\", name: \"SysProcAttr\", embedded: false, exported: true, typ: ptrType$1, tag: \"\"}, {prop: \"Process\", name: \"Process\", embedded: false, exported: true, typ: ptrType$2, tag: \"\"}, {prop: \"ProcessState\", name: \"ProcessState\", embedded: false, exported: true, typ: ptrType$3, tag: \"\"}, {prop: \"ctx\", name: \"ctx\", embedded: false, exported: false, typ: context.Context, tag: \"\"}, {prop: \"lookPathErr\", name: \"lookPathErr\", embedded: false, exported: false, typ: $error, tag: \"\"}, {prop: \"finished\", name: \"finished\", embedded: false, exported: false, typ: $Bool, tag: \"\"}, {prop: \"childFiles\", name: \"childFiles\", embedded: false, exported: false, typ: sliceType$1, tag: \"\"}, {prop: \"closeAfterStart\", name: \"closeAfterStart\", embedded: false, exported: false, typ: sliceType$2, tag: \"\"}, {prop: \"closeAfterWait\", name: \"closeAfterWait\", embedded: false, exported: false, typ: sliceType$2, tag: \"\"}, {prop: \"goroutine\", name: \"goroutine\", embedded: false, exported: false, typ: sliceType$3, tag: \"\"}, {prop: \"errch\", name: \"errch\", embedded: false, exported: false, typ: chanType, tag: \"\"}, {prop: \"waitDone\", name: \"waitDone\", embedded: false, exported: false, typ: chanType$1, tag: \"\"}]);\n\tExitError.init(\"\", [{prop: \"ProcessState\", name: \"ProcessState\", embedded: true, exported: true, typ: ptrType$3, tag: \"\"}, {prop: \"Stderr\", name: \"Stderr\", embedded: false, exported: true, typ: sliceType$5, tag: \"\"}]);\n\tcloseOnce.init(\"os/exec\", [{prop: \"File\", name: \"File\", embedded: true, exported: true, typ: ptrType, tag: \"\"}, {prop: \"once\", name: \"once\", embedded: false, exported: false, typ: sync.Once, tag: \"\"}, {prop: \"err\", name: \"err\", embedded: false, exported: false, typ: $error, tag: \"\"}]);\n\tprefixSuffixSaver.init(\"os/exec\", [{prop: \"N\", name: \"N\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"prefix\", name: \"prefix\", embedded: false, exported: false, typ: sliceType$5, tag: \"\"}, {prop: \"suffix\", name: \"suffix\", embedded: false, exported: false, typ: sliceType$5, tag: \"\"}, {prop: \"suffixOff\", name: \"suffixOff\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"skipped\", name: \"skipped\", embedded: false, exported: false, typ: $Int64, tag: \"\"}]);\n\tF.init([ptrType$4], [ptrType, $error], false);\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = bytes.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = context.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = errors.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = io.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = os.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = filepath.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = runtime.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = strconv.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = strings.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = sync.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = syscall.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tskipStdinCopyError = $throwNilPointerError;\n\t\t$pkg.ErrNotFound = errors.New(\"executable file not found in $PATH\");\n\t\tinit();\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"github.com/J-J-J/goluajit\"] = (function() {\n\tvar $pkg = {}, $init, bufio, context, errors, fmt, ast, parse, pm, io, ioutil, math, rand, os, exec, filepath, reflect, runtime, sort, strconv, strings, atomic, syscall, time, iface, allocator, expContextType, expcontext, assigncontext, lblabels, constLValueExpr, CompileError, codeStore, varNamePoolValue, varNamePool, codeBlock, funcContext, LNumber, DbgLocalInfo, DbgCall, FunctionProto, Upvalue, lFile, lFileType, luaLib, opArgMode, opType, opProp, APIError, APIErrorType, ResumeState, P, Options, Debug, callFrame, callFrameStack, registry, replaceInfo, strMatchData, lValueArraySorter, flagScanner, LValueType, LValue, LNilType, LBool, LString, LTable, LFunction, LGFunction, Global, LState, LUserData, instFunc, arrayType, ptrType, arrayType$1, ptrType$1, ptrType$2, structType, sliceType, sliceType$1, sliceType$2, sliceType$3, sliceType$4, sliceType$5, ptrType$3, ptrType$4, ptrType$5, ptrType$6, ptrType$7, ptrType$8, ptrType$9, sliceType$6, sliceType$7, ptrType$10, ptrType$11, sliceType$8, ptrType$12, ptrType$13, ptrType$14, ptrType$15, ptrType$16, ptrType$17, sliceType$9, ptrType$18, ptrType$19, ptrType$20, ptrType$21, sliceType$10, sliceType$11, sliceType$12, ptrType$22, ptrType$23, ptrType$24, ptrType$25, ptrType$26, ptrType$27, ptrType$28, ptrType$29, ptrType$30, ptrType$31, ptrType$32, ptrType$33, ptrType$34, sliceType$13, ptrType$35, ptrType$36, ptrType$37, ptrType$38, ptrType$39, ptrType$40, ptrType$41, ptrType$42, ptrType$43, ptrType$44, ptrType$45, sliceType$14, ptrType$46, ptrType$47, ptrType$48, ptrType$49, ptrType$50, ptrType$51, ptrType$52, sliceType$15, ptrType$53, ptrType$54, sliceType$16, ptrType$55, sliceType$17, sliceType$18, ptrType$56, sliceType$19, ptrType$57, ptrType$58, ptrType$59, ptrType$60, ptrType$61, sliceType$20, ptrType$62, sliceType$21, ptrType$63, sliceType$22, ptrType$64, ptrType$65, ptrType$66, ptrType$67, ptrType$68, arrayType$2, structType$1, arrayType$3, sliceType$23, ptrType$69, ptrType$70, ptrType$71, ptrType$72, mapType, ptrType$73, sliceType$24, ptrType$74, funcType, mapType$1, mapType$2, mapType$3, mapType$4, mapType$5, funcType$1, funcType$2, preloads, baseFuncs, loopdetection, _ecnone0, _ecnonem1, _ecnonem2, ecfuncdef, coFuncs, debugFuncs, ioFuncs, stdFiles, fileMethods, fileSeekOptions, filebufOptions, ioOpenOpions, ioPopenOptions, luaLibs, loLoaders, loFuncs, mathFuncs, opProps, startedAt, osFuncs, strFuncs, tableFuncs, cDateFlagToGo, lValueNames, jumpTable, init, newAllocator, OpenBase, baseAssert, baseCollectGarbage, baseDoFile, baseError, baseGetFEnv, baseGetMetatable, ipairsaux, baseIpairs, loadaux, baseLoad, baseLoadFile, baseLoadString, baseNext, pairsaux, basePairs, basePCall, basePrint, base_PrintRegs, baseRawEqual, baseRawGet, baseRawSet, baseSelect, baseSetFEnv, baseSetMetatable, baseToNumber, baseToString, baseType, baseUnpack, baseXPCall, loModule, loRequire, baseNewProxy, ecupdate, ecnone, shouldmove, sline, eline, savereg, raiseCompileError, isVarArgReturnExpr, lnumberValue, newVarNamePool, newCodeBlock, newFuncContext, compileChunk, compileBlock, compileStmt, compileAssignStmtLeft, compileAssignStmtRight, compileAssignStmt, compileRegAssignment, compileLocalAssignStmt, compileReturnStmt, compileIfStmt, compileBranchCondition, compileWhileStmt, compileRepeatStmt, compileBreakStmt, compileFuncDefStmt, compileNumberForStmt, compileGenericForStmt, compileExpr, compileExprWithPropagation, compileExprWithKMVPropagation, compileExprWithMVPropagation, constFold, compileFunctionExpr, compileTableExpr, compileArithmeticOpExpr, compileStringConcatOpExpr, compileUnaryOpExpr, compileRelationalOpExprAux, compileRelationalOpExpr, compileLogicalOpExpr, compileLogicalOpExprAux, compileFuncCallExpr, loadRk, getIdentRefType, getExprName, patchCode, Compile, init$1, OpenCoroutine, coCreate, coYield, coResume, coRunning, coStatus, wrapaux, coWrap, OpenDebug, debugGetFEnv, debugGetInfo, debugGetLocal, debugGetMetatable, debugGetUpvalue, debugSetFEnv, debugSetLocal, debugSetMetatable, debugSetUpvalue, debugTraceback, UpvalueIndex, newFunctionProto, newLFunctionL, newLFunctionG, checkFile, errorIfFileIsClosed, newFile, newProcess, fileDefOut, fileDefIn, fileIsWritable, fileIsReadable, OpenIo, fileToString, fileWriteAux, fileCloseAux, fileFlushAux, fileReadAux, fileSeek, fileWrite, fileClose, fileFlush, fileLinesIter, fileLines, fileRead, fileSetVBuf, ioInput, ioClose, ioFlush, ioLinesIter, ioLines, ioOpenFile, ioPopen, ioRead, ioType, ioTmpFile, ioOutput, ioWrite, loGetPath, loFindFile, OpenPackage, loLoaderPreload, loLoaderLua, loLoadLib, loSeeAll, OpenMath, mathAbs, mathAcos, mathAsin, mathAtan, mathAtan2, mathCeil, mathCos, mathCosh, mathDeg, mathExp, mathFloor, mathFmod, mathFrexp, mathLdexp, mathLog, mathLog10, mathMax, mathMin, mathMod, mathModf, mathPow, mathRad, mathRandom, mathRandomseed, mathSin, mathSinh, mathSqrt, mathTan, mathTanh, opGetOpCode, opSetOpCode, opGetArgA, opSetArgA, opGetArgB, opSetArgB, opGetArgC, opSetArgC, opGetArgBx, opSetArgBx, opGetArgSbx, opSetArgSbx, opCreateABC, opCreateABx, opCreateASbx, opIsK, opRkAsk, opToString, init$2, getIntField, getBoolField, OpenOs, osClock, osDiffTime, osExecute, osExit, osDate, osGetEnv, osRemove, osRename, osSetLocale, osSetEnv, osTime, osTmpname, newAPIError, newAPIErrorS, newAPIErrorE, newCallFrameStack, newRegistry, newGlobal, panicWithTraceback, panicWithoutTraceback, newLState, NewState, OpenString, strByte, strChar, strDump, strFind, strFormat, strGsub, checkCaptureIndex, capturedString, strGsubDoReplace, strGsubStr, strGsubTable, strGsubFunc, strGmatchIter, strGmatch, strLen, strLower, strMatch, strRep, strReverse, strSub, strUpper, luaIndex2StringIndex, newLTable, OpenTable, tableSort, tableGetN, tableMaxN, tableRemove, tableConcat, tableInsert, intMin, intMax, defaultFormat, newFlagScanner, strftime, isInteger, isArrayKey, parseNumber, popenArgs, readBufioSize, readBufioLine, int2Fb, strCmp, unsafeFastStringToReadOnlyBytes, LVIsFalse, LVAsBool, LVAsString, LVCanConvToString, LVAsNumber, mainLoop, mainLoopWithContext, switchToParentThread, callGFunction, threadRun, init$3, opArith, luaModulo, numberArith, objectArith, stringConcat, lessThan, equals, objectRationalWithError, objectRational;\n\tbufio = $packages[\"bufio\"];\n\tcontext = $packages[\"context\"];\n\terrors = $packages[\"errors\"];\n\tfmt = $packages[\"fmt\"];\n\tast = $packages[\"github.com/J-J-J/goluajit/ast\"];\n\tparse = $packages[\"github.com/J-J-J/goluajit/parse\"];\n\tpm = $packages[\"github.com/J-J-J/goluajit/pm\"];\n\tio = $packages[\"io\"];\n\tioutil = $packages[\"io/ioutil\"];\n\tmath = $packages[\"math\"];\n\trand = $packages[\"math/rand\"];\n\tos = $packages[\"os\"];\n\texec = $packages[\"os/exec\"];\n\tfilepath = $packages[\"path/filepath\"];\n\treflect = $packages[\"reflect\"];\n\truntime = $packages[\"runtime\"];\n\tsort = $packages[\"sort\"];\n\tstrconv = $packages[\"strconv\"];\n\tstrings = $packages[\"strings\"];\n\tatomic = $packages[\"sync/atomic\"];\n\tsyscall = $packages[\"syscall\"];\n\ttime = $packages[\"time\"];\n\tiface = $pkg.iface = $newType(0, $kindStruct, \"lua.iface\", true, \"github.com/J-J-J/goluajit\", false, function(itab_, word_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.itab = 0;\n\t\t\tthis.word = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.itab = itab_;\n\t\tthis.word = word_;\n\t});\n\tallocator = $pkg.allocator = $newType(0, $kindStruct, \"lua.allocator\", true, \"github.com/J-J-J/goluajit\", false, function(size_, fptrs_, fheader_, scratchValue_, scratchValueP_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.size = 0;\n\t\t\tthis.fptrs = sliceType$5.nil;\n\t\t\tthis.fheader = ptrType$3.nil;\n\t\t\tthis.scratchValue = $ifaceNil;\n\t\t\tthis.scratchValueP = ptrType$4.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.size = size_;\n\t\tthis.fptrs = fptrs_;\n\t\tthis.fheader = fheader_;\n\t\tthis.scratchValue = scratchValue_;\n\t\tthis.scratchValueP = scratchValueP_;\n\t});\n\texpContextType = $pkg.expContextType = $newType(4, $kindInt, \"lua.expContextType\", true, \"github.com/J-J-J/goluajit\", false, null);\n\texpcontext = $pkg.expcontext = $newType(0, $kindStruct, \"lua.expcontext\", true, \"github.com/J-J-J/goluajit\", false, function(ctype_, reg_, varargopt_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.ctype = 0;\n\t\t\tthis.reg = 0;\n\t\t\tthis.varargopt = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.ctype = ctype_;\n\t\tthis.reg = reg_;\n\t\tthis.varargopt = varargopt_;\n\t});\n\tassigncontext = $pkg.assigncontext = $newType(0, $kindStruct, \"lua.assigncontext\", true, \"github.com/J-J-J/goluajit\", false, function(ec_, keyrk_, valuerk_, keyks_, needmove_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.ec = ptrType$72.nil;\n\t\t\tthis.keyrk = 0;\n\t\t\tthis.valuerk = 0;\n\t\t\tthis.keyks = false;\n\t\t\tthis.needmove = false;\n\t\t\treturn;\n\t\t}\n\t\tthis.ec = ec_;\n\t\tthis.keyrk = keyrk_;\n\t\tthis.valuerk = valuerk_;\n\t\tthis.keyks = keyks_;\n\t\tthis.needmove = needmove_;\n\t});\n\tlblabels = $pkg.lblabels = $newType(0, $kindStruct, \"lua.lblabels\", true, \"github.com/J-J-J/goluajit\", false, function(t_, f_, e_, b_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.t = 0;\n\t\t\tthis.f = 0;\n\t\t\tthis.e = 0;\n\t\t\tthis.b = false;\n\t\t\treturn;\n\t\t}\n\t\tthis.t = t_;\n\t\tthis.f = f_;\n\t\tthis.e = e_;\n\t\tthis.b = b_;\n\t});\n\tconstLValueExpr = $pkg.constLValueExpr = $newType(0, $kindStruct, \"lua.constLValueExpr\", true, \"github.com/J-J-J/goluajit\", false, function(ExprBase_, Value_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.ExprBase = new ast.ExprBase.ptr(new ast.Node.ptr(0, 0));\n\t\t\tthis.Value = $ifaceNil;\n\t\t\treturn;\n\t\t}\n\t\tthis.ExprBase = ExprBase_;\n\t\tthis.Value = Value_;\n\t});\n\tCompileError = $pkg.CompileError = $newType(0, $kindStruct, \"lua.CompileError\", true, \"github.com/J-J-J/goluajit\", true, function(context_, Line_, Message_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.context = ptrType$12.nil;\n\t\t\tthis.Line = 0;\n\t\t\tthis.Message = \"\";\n\t\t\treturn;\n\t\t}\n\t\tthis.context = context_;\n\t\tthis.Line = Line_;\n\t\tthis.Message = Message_;\n\t});\n\tcodeStore = $pkg.codeStore = $newType(0, $kindStruct, \"lua.codeStore\", true, \"github.com/J-J-J/goluajit\", false, function(codes_, lines_, pc_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.codes = sliceType$11.nil;\n\t\t\tthis.lines = sliceType$12.nil;\n\t\t\tthis.pc = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.codes = codes_;\n\t\tthis.lines = lines_;\n\t\tthis.pc = pc_;\n\t});\n\tvarNamePoolValue = $pkg.varNamePoolValue = $newType(0, $kindStruct, \"lua.varNamePoolValue\", true, \"github.com/J-J-J/goluajit\", false, function(Index_, Name_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Index = 0;\n\t\t\tthis.Name = \"\";\n\t\t\treturn;\n\t\t}\n\t\tthis.Index = Index_;\n\t\tthis.Name = Name_;\n\t});\n\tvarNamePool = $pkg.varNamePool = $newType(0, $kindStruct, \"lua.varNamePool\", true, \"github.com/J-J-J/goluajit\", false, function(names_, offset_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.names = sliceType$1.nil;\n\t\t\tthis.offset = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.names = names_;\n\t\tthis.offset = offset_;\n\t});\n\tcodeBlock = $pkg.codeBlock = $newType(0, $kindStruct, \"lua.codeBlock\", true, \"github.com/J-J-J/goluajit\", false, function(LocalVars_, BreakLabel_, Parent_, RefUpvalue_, LineStart_, LastLine_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.LocalVars = ptrType$20.nil;\n\t\t\tthis.BreakLabel = 0;\n\t\t\tthis.Parent = ptrType$21.nil;\n\t\t\tthis.RefUpvalue = false;\n\t\t\tthis.LineStart = 0;\n\t\t\tthis.LastLine = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.LocalVars = LocalVars_;\n\t\tthis.BreakLabel = BreakLabel_;\n\t\tthis.Parent = Parent_;\n\t\tthis.RefUpvalue = RefUpvalue_;\n\t\tthis.LineStart = LineStart_;\n\t\tthis.LastLine = LastLine_;\n\t});\n\tfuncContext = $pkg.funcContext = $newType(0, $kindStruct, \"lua.funcContext\", true, \"github.com/J-J-J/goluajit\", false, function(Proto_, Code_, Parent_, Upvalues_, Block_, Blocks_, regTop_, labelId_, labelPc_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Proto = ptrType$18.nil;\n\t\t\tthis.Code = ptrType$19.nil;\n\t\t\tthis.Parent = ptrType$12.nil;\n\t\t\tthis.Upvalues = ptrType$20.nil;\n\t\t\tthis.Block = ptrType$21.nil;\n\t\t\tthis.Blocks = sliceType$10.nil;\n\t\t\tthis.regTop = 0;\n\t\t\tthis.labelId = 0;\n\t\t\tthis.labelPc = false;\n\t\t\treturn;\n\t\t}\n\t\tthis.Proto = Proto_;\n\t\tthis.Code = Code_;\n\t\tthis.Parent = Parent_;\n\t\tthis.Upvalues = Upvalues_;\n\t\tthis.Block = Block_;\n\t\tthis.Blocks = Blocks_;\n\t\tthis.regTop = regTop_;\n\t\tthis.labelId = labelId_;\n\t\tthis.labelPc = labelPc_;\n\t});\n\tLNumber = $pkg.LNumber = $newType(8, $kindFloat64, \"lua.LNumber\", true, \"github.com/J-J-J/goluajit\", true, null);\n\tDbgLocalInfo = $pkg.DbgLocalInfo = $newType(0, $kindStruct, \"lua.DbgLocalInfo\", true, \"github.com/J-J-J/goluajit\", true, function(Name_, StartPc_, EndPc_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Name = \"\";\n\t\t\tthis.StartPc = 0;\n\t\t\tthis.EndPc = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.Name = Name_;\n\t\tthis.StartPc = StartPc_;\n\t\tthis.EndPc = EndPc_;\n\t});\n\tDbgCall = $pkg.DbgCall = $newType(0, $kindStruct, \"lua.DbgCall\", true, \"github.com/J-J-J/goluajit\", true, function(Name_, Pc_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Name = \"\";\n\t\t\tthis.Pc = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.Name = Name_;\n\t\tthis.Pc = Pc_;\n\t});\n\tFunctionProto = $pkg.FunctionProto = $newType(0, $kindStruct, \"lua.FunctionProto\", true, \"github.com/J-J-J/goluajit\", true, function(SourceName_, LineDefined_, LastLineDefined_, NumUpvalues_, NumParameters_, IsVarArg_, NumUsedRegisters_, Code_, Constants_, FunctionPrototypes_, DbgSourcePositions_, DbgLocals_, DbgCalls_, DbgUpvalues_, stringConstants_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.SourceName = \"\";\n\t\t\tthis.LineDefined = 0;\n\t\t\tthis.LastLineDefined = 0;\n\t\t\tthis.NumUpvalues = 0;\n\t\t\tthis.NumParameters = 0;\n\t\t\tthis.IsVarArg = 0;\n\t\t\tthis.NumUsedRegisters = 0;\n\t\t\tthis.Code = sliceType$11.nil;\n\t\t\tthis.Constants = sliceType$7.nil;\n\t\t\tthis.FunctionPrototypes = sliceType$16.nil;\n\t\t\tthis.DbgSourcePositions = sliceType$12.nil;\n\t\t\tthis.DbgLocals = sliceType$17.nil;\n\t\t\tthis.DbgCalls = sliceType$18.nil;\n\t\t\tthis.DbgUpvalues = sliceType$1.nil;\n\t\t\tthis.stringConstants = sliceType$1.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.SourceName = SourceName_;\n\t\tthis.LineDefined = LineDefined_;\n\t\tthis.LastLineDefined = LastLineDefined_;\n\t\tthis.NumUpvalues = NumUpvalues_;\n\t\tthis.NumParameters = NumParameters_;\n\t\tthis.IsVarArg = IsVarArg_;\n\t\tthis.NumUsedRegisters = NumUsedRegisters_;\n\t\tthis.Code = Code_;\n\t\tthis.Constants = Constants_;\n\t\tthis.FunctionPrototypes = FunctionPrototypes_;\n\t\tthis.DbgSourcePositions = DbgSourcePositions_;\n\t\tthis.DbgLocals = DbgLocals_;\n\t\tthis.DbgCalls = DbgCalls_;\n\t\tthis.DbgUpvalues = DbgUpvalues_;\n\t\tthis.stringConstants = stringConstants_;\n\t});\n\tUpvalue = $pkg.Upvalue = $newType(0, $kindStruct, \"lua.Upvalue\", true, \"github.com/J-J-J/goluajit\", true, function(next_, reg_, index_, value_, closed_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.next = ptrType$56.nil;\n\t\t\tthis.reg = ptrType$54.nil;\n\t\t\tthis.index = 0;\n\t\t\tthis.value = $ifaceNil;\n\t\t\tthis.closed = false;\n\t\t\treturn;\n\t\t}\n\t\tthis.next = next_;\n\t\tthis.reg = reg_;\n\t\tthis.index = index_;\n\t\tthis.value = value_;\n\t\tthis.closed = closed_;\n\t});\n\tlFile = $pkg.lFile = $newType(0, $kindStruct, \"lua.lFile\", true, \"github.com/J-J-J/goluajit\", false, function(fp_, pp_, writer_, reader_, stdout_, closed_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.fp = ptrType$2.nil;\n\t\t\tthis.pp = ptrType$58.nil;\n\t\t\tthis.writer = $ifaceNil;\n\t\t\tthis.reader = ptrType$59.nil;\n\t\t\tthis.stdout = $ifaceNil;\n\t\t\tthis.closed = false;\n\t\t\treturn;\n\t\t}\n\t\tthis.fp = fp_;\n\t\tthis.pp = pp_;\n\t\tthis.writer = writer_;\n\t\tthis.reader = reader_;\n\t\tthis.stdout = stdout_;\n\t\tthis.closed = closed_;\n\t});\n\tlFileType = $pkg.lFileType = $newType(4, $kindInt, \"lua.lFileType\", true, \"github.com/J-J-J/goluajit\", false, null);\n\tluaLib = $pkg.luaLib = $newType(0, $kindStruct, \"lua.luaLib\", true, \"github.com/J-J-J/goluajit\", false, function(libName_, libFunc_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.libName = \"\";\n\t\t\tthis.libFunc = $throwNilPointerError;\n\t\t\treturn;\n\t\t}\n\t\tthis.libName = libName_;\n\t\tthis.libFunc = libFunc_;\n\t});\n\topArgMode = $pkg.opArgMode = $newType(4, $kindInt, \"lua.opArgMode\", true, \"github.com/J-J-J/goluajit\", false, null);\n\topType = $pkg.opType = $newType(4, $kindInt, \"lua.opType\", true, \"github.com/J-J-J/goluajit\", false, null);\n\topProp = $pkg.opProp = $newType(0, $kindStruct, \"lua.opProp\", true, \"github.com/J-J-J/goluajit\", false, function(Name_, IsTest_, SetRegA_, ModeArgB_, ModeArgC_, Type_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Name = \"\";\n\t\t\tthis.IsTest = false;\n\t\t\tthis.SetRegA = false;\n\t\t\tthis.ModeArgB = 0;\n\t\t\tthis.ModeArgC = 0;\n\t\t\tthis.Type = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.Name = Name_;\n\t\tthis.IsTest = IsTest_;\n\t\tthis.SetRegA = SetRegA_;\n\t\tthis.ModeArgB = ModeArgB_;\n\t\tthis.ModeArgC = ModeArgC_;\n\t\tthis.Type = Type_;\n\t});\n\tAPIError = $pkg.APIError = $newType(0, $kindStruct, \"lua.APIError\", true, \"github.com/J-J-J/goluajit\", true, function(Type_, Object_, StackTrace_, Cause_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Type = 0;\n\t\t\tthis.Object = $ifaceNil;\n\t\t\tthis.StackTrace = \"\";\n\t\t\tthis.Cause = $ifaceNil;\n\t\t\treturn;\n\t\t}\n\t\tthis.Type = Type_;\n\t\tthis.Object = Object_;\n\t\tthis.StackTrace = StackTrace_;\n\t\tthis.Cause = Cause_;\n\t});\n\tAPIErrorType = $pkg.APIErrorType = $newType(4, $kindInt, \"lua.APIErrorType\", true, \"github.com/J-J-J/goluajit\", true, null);\n\tResumeState = $pkg.ResumeState = $newType(4, $kindInt, \"lua.ResumeState\", true, \"github.com/J-J-J/goluajit\", true, null);\n\tP = $pkg.P = $newType(0, $kindStruct, \"lua.P\", true, \"github.com/J-J-J/goluajit\", true, function(Fn_, NRet_, Protect_, Handler_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Fn = $ifaceNil;\n\t\t\tthis.NRet = 0;\n\t\t\tthis.Protect = false;\n\t\t\tthis.Handler = ptrType$7.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.Fn = Fn_;\n\t\tthis.NRet = NRet_;\n\t\tthis.Protect = Protect_;\n\t\tthis.Handler = Handler_;\n\t});\n\tOptions = $pkg.Options = $newType(0, $kindStruct, \"lua.Options\", true, \"github.com/J-J-J/goluajit\", true, function(CallStackSize_, RegistrySize_, SkipOpenLibs_, IncludeGoStackTrace_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.CallStackSize = 0;\n\t\t\tthis.RegistrySize = 0;\n\t\t\tthis.SkipOpenLibs = false;\n\t\t\tthis.IncludeGoStackTrace = false;\n\t\t\treturn;\n\t\t}\n\t\tthis.CallStackSize = CallStackSize_;\n\t\tthis.RegistrySize = RegistrySize_;\n\t\tthis.SkipOpenLibs = SkipOpenLibs_;\n\t\tthis.IncludeGoStackTrace = IncludeGoStackTrace_;\n\t});\n\tDebug = $pkg.Debug = $newType(0, $kindStruct, \"lua.Debug\", true, \"github.com/J-J-J/goluajit\", true, function(frame_, Name_, What_, Source_, CurrentLine_, NUpvalues_, LineDefined_, LastLineDefined_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.frame = ptrType$10.nil;\n\t\t\tthis.Name = \"\";\n\t\t\tthis.What = \"\";\n\t\t\tthis.Source = \"\";\n\t\t\tthis.CurrentLine = 0;\n\t\t\tthis.NUpvalues = 0;\n\t\t\tthis.LineDefined = 0;\n\t\t\tthis.LastLineDefined = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.frame = frame_;\n\t\tthis.Name = Name_;\n\t\tthis.What = What_;\n\t\tthis.Source = Source_;\n\t\tthis.CurrentLine = CurrentLine_;\n\t\tthis.NUpvalues = NUpvalues_;\n\t\tthis.LineDefined = LineDefined_;\n\t\tthis.LastLineDefined = LastLineDefined_;\n\t});\n\tcallFrame = $pkg.callFrame = $newType(0, $kindStruct, \"lua.callFrame\", true, \"github.com/J-J-J/goluajit\", false, function(Idx_, Fn_, Parent_, Pc_, Base_, LocalBase_, ReturnBase_, NArgs_, NRet_, TailCall_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Idx = 0;\n\t\t\tthis.Fn = ptrType$7.nil;\n\t\t\tthis.Parent = ptrType$10.nil;\n\t\t\tthis.Pc = 0;\n\t\t\tthis.Base = 0;\n\t\t\tthis.LocalBase = 0;\n\t\t\tthis.ReturnBase = 0;\n\t\t\tthis.NArgs = 0;\n\t\t\tthis.NRet = 0;\n\t\t\tthis.TailCall = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.Idx = Idx_;\n\t\tthis.Fn = Fn_;\n\t\tthis.Parent = Parent_;\n\t\tthis.Pc = Pc_;\n\t\tthis.Base = Base_;\n\t\tthis.LocalBase = LocalBase_;\n\t\tthis.ReturnBase = ReturnBase_;\n\t\tthis.NArgs = NArgs_;\n\t\tthis.NRet = NRet_;\n\t\tthis.TailCall = TailCall_;\n\t});\n\tcallFrameStack = $pkg.callFrameStack = $newType(0, $kindStruct, \"lua.callFrameStack\", true, \"github.com/J-J-J/goluajit\", false, function(array_, sp_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.array = sliceType$22.nil;\n\t\t\tthis.sp = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.array = array_;\n\t\tthis.sp = sp_;\n\t});\n\tregistry = $pkg.registry = $newType(0, $kindStruct, \"lua.registry\", true, \"github.com/J-J-J/goluajit\", false, function(array_, top_, alloc_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.array = sliceType$7.nil;\n\t\t\tthis.top = 0;\n\t\t\tthis.alloc = ptrType$66.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.array = array_;\n\t\tthis.top = top_;\n\t\tthis.alloc = alloc_;\n\t});\n\treplaceInfo = $pkg.replaceInfo = $newType(0, $kindStruct, \"lua.replaceInfo\", true, \"github.com/J-J-J/goluajit\", false, function(Indicies_, String_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Indicies = sliceType$12.nil;\n\t\t\tthis.String = \"\";\n\t\t\treturn;\n\t\t}\n\t\tthis.Indicies = Indicies_;\n\t\tthis.String = String_;\n\t});\n\tstrMatchData = $pkg.strMatchData = $newType(0, $kindStruct, \"lua.strMatchData\", true, \"github.com/J-J-J/goluajit\", false, function(str_, pos_, matches_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.str = \"\";\n\t\t\tthis.pos = 0;\n\t\t\tthis.matches = sliceType$24.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.str = str_;\n\t\tthis.pos = pos_;\n\t\tthis.matches = matches_;\n\t});\n\tlValueArraySorter = $pkg.lValueArraySorter = $newType(0, $kindStruct, \"lua.lValueArraySorter\", true, \"github.com/J-J-J/goluajit\", false, function(L_, Fn_, Values_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.L = ptrType$9.nil;\n\t\t\tthis.Fn = ptrType$7.nil;\n\t\t\tthis.Values = sliceType$7.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.L = L_;\n\t\tthis.Fn = Fn_;\n\t\tthis.Values = Values_;\n\t});\n\tflagScanner = $pkg.flagScanner = $newType(0, $kindStruct, \"lua.flagScanner\", true, \"github.com/J-J-J/goluajit\", false, function(flag_, start_, end_, buf_, str_, Length_, Pos_, HasFlag_, ChangeFlag_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.flag = 0;\n\t\t\tthis.start = \"\";\n\t\t\tthis.end = \"\";\n\t\t\tthis.buf = sliceType$20.nil;\n\t\t\tthis.str = \"\";\n\t\t\tthis.Length = 0;\n\t\t\tthis.Pos = 0;\n\t\t\tthis.HasFlag = false;\n\t\t\tthis.ChangeFlag = false;\n\t\t\treturn;\n\t\t}\n\t\tthis.flag = flag_;\n\t\tthis.start = start_;\n\t\tthis.end = end_;\n\t\tthis.buf = buf_;\n\t\tthis.str = str_;\n\t\tthis.Length = Length_;\n\t\tthis.Pos = Pos_;\n\t\tthis.HasFlag = HasFlag_;\n\t\tthis.ChangeFlag = ChangeFlag_;\n\t});\n\tLValueType = $pkg.LValueType = $newType(4, $kindInt, \"lua.LValueType\", true, \"github.com/J-J-J/goluajit\", true, null);\n\tLValue = $pkg.LValue = $newType(8, $kindInterface, \"lua.LValue\", true, \"github.com/J-J-J/goluajit\", true, null);\n\tLNilType = $pkg.LNilType = $newType(0, $kindStruct, \"lua.LNilType\", true, \"github.com/J-J-J/goluajit\", true, function() {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\treturn;\n\t\t}\n\t});\n\tLBool = $pkg.LBool = $newType(1, $kindBool, \"lua.LBool\", true, \"github.com/J-J-J/goluajit\", true, null);\n\tLString = $pkg.LString = $newType(8, $kindString, \"lua.LString\", true, \"github.com/J-J-J/goluajit\", true, null);\n\tLTable = $pkg.LTable = $newType(0, $kindStruct, \"lua.LTable\", true, \"github.com/J-J-J/goluajit\", true, function(Metatable_, array_, dict_, strdict_, keys_, k2i_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Metatable = $ifaceNil;\n\t\t\tthis.array = sliceType$7.nil;\n\t\t\tthis.dict = false;\n\t\t\tthis.strdict = false;\n\t\t\tthis.keys = sliceType$7.nil;\n\t\t\tthis.k2i = false;\n\t\t\treturn;\n\t\t}\n\t\tthis.Metatable = Metatable_;\n\t\tthis.array = array_;\n\t\tthis.dict = dict_;\n\t\tthis.strdict = strdict_;\n\t\tthis.keys = keys_;\n\t\tthis.k2i = k2i_;\n\t});\n\tLFunction = $pkg.LFunction = $newType(0, $kindStruct, \"lua.LFunction\", true, \"github.com/J-J-J/goluajit\", true, function(IsG_, Env_, Proto_, GFunction_, Upvalues_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.IsG = false;\n\t\t\tthis.Env = ptrType$1.nil;\n\t\t\tthis.Proto = ptrType$18.nil;\n\t\t\tthis.GFunction = $throwNilPointerError;\n\t\t\tthis.Upvalues = sliceType$19.nil;\n\t\t\treturn;\n\t\t}\n\t\tthis.IsG = IsG_;\n\t\tthis.Env = Env_;\n\t\tthis.Proto = Proto_;\n\t\tthis.GFunction = GFunction_;\n\t\tthis.Upvalues = Upvalues_;\n\t});\n\tLGFunction = $pkg.LGFunction = $newType(4, $kindFunc, \"lua.LGFunction\", true, \"github.com/J-J-J/goluajit\", true, null);\n\tGlobal = $pkg.Global = $newType(0, $kindStruct, \"lua.Global\", true, \"github.com/J-J-J/goluajit\", true, function(MainThread_, CurrentThread_, Registry_, Global_, builtinMts_, tempFiles_, gccount_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.MainThread = ptrType$9.nil;\n\t\t\tthis.CurrentThread = ptrType$9.nil;\n\t\t\tthis.Registry = ptrType$1.nil;\n\t\t\tthis.Global = ptrType$1.nil;\n\t\t\tthis.builtinMts = false;\n\t\t\tthis.tempFiles = sliceType$21.nil;\n\t\t\tthis.gccount = 0;\n\t\t\treturn;\n\t\t}\n\t\tthis.MainThread = MainThread_;\n\t\tthis.CurrentThread = CurrentThread_;\n\t\tthis.Registry = Registry_;\n\t\tthis.Global = Global_;\n\t\tthis.builtinMts = builtinMts_;\n\t\tthis.tempFiles = tempFiles_;\n\t\tthis.gccount = gccount_;\n\t});\n\tLState = $pkg.LState = $newType(0, $kindStruct, \"lua.LState\", true, \"github.com/J-J-J/goluajit\", true, function(G_, Parent_, Env_, Panic_, Dead_, Options_, stop_, reg_, stack_, alloc_, currentFrame_, wrapped_, uvcache_, hasErrorFunc_, mainLoop_, ctx_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.G = ptrType$64.nil;\n\t\t\tthis.Parent = ptrType$9.nil;\n\t\t\tthis.Env = ptrType$1.nil;\n\t\t\tthis.Panic = $throwNilPointerError;\n\t\t\tthis.Dead = false;\n\t\t\tthis.Options = new Options.ptr(0, 0, false, false);\n\t\t\tthis.stop = 0;\n\t\t\tthis.reg = ptrType$54.nil;\n\t\t\tthis.stack = ptrType$65.nil;\n\t\t\tthis.alloc = ptrType$66.nil;\n\t\t\tthis.currentFrame = ptrType$10.nil;\n\t\t\tthis.wrapped = false;\n\t\t\tthis.uvcache = ptrType$56.nil;\n\t\t\tthis.hasErrorFunc = false;\n\t\t\tthis.mainLoop = $throwNilPointerError;\n\t\t\tthis.ctx = $ifaceNil;\n\t\t\treturn;\n\t\t}\n\t\tthis.G = G_;\n\t\tthis.Parent = Parent_;\n\t\tthis.Env = Env_;\n\t\tthis.Panic = Panic_;\n\t\tthis.Dead = Dead_;\n\t\tthis.Options = Options_;\n\t\tthis.stop = stop_;\n\t\tthis.reg = reg_;\n\t\tthis.stack = stack_;\n\t\tthis.alloc = alloc_;\n\t\tthis.currentFrame = currentFrame_;\n\t\tthis.wrapped = wrapped_;\n\t\tthis.uvcache = uvcache_;\n\t\tthis.hasErrorFunc = hasErrorFunc_;\n\t\tthis.mainLoop = mainLoop_;\n\t\tthis.ctx = ctx_;\n\t});\n\tLUserData = $pkg.LUserData = $newType(0, $kindStruct, \"lua.LUserData\", true, \"github.com/J-J-J/goluajit\", true, function(Value_, Env_, Metatable_) {\n\t\tthis.$val = this;\n\t\tif (arguments.length === 0) {\n\t\t\tthis.Value = $ifaceNil;\n\t\t\tthis.Env = ptrType$1.nil;\n\t\t\tthis.Metatable = $ifaceNil;\n\t\t\treturn;\n\t\t}\n\t\tthis.Value = Value_;\n\t\tthis.Env = Env_;\n\t\tthis.Metatable = Metatable_;\n\t});\n\tinstFunc = $pkg.instFunc = $newType(4, $kindFunc, \"lua.instFunc\", true, \"github.com/J-J-J/goluajit\", false, null);\n\tarrayType = $arrayType(LValue, 128);\n\tptrType = $ptrType(time.Location);\n\tarrayType$1 = $arrayType(instFunc, 42);\n\tptrType$1 = $ptrType(LTable);\n\tptrType$2 = $ptrType(os.File);\n\tstructType = $structType(\"github.com/J-J-J/goluajit\", [{prop: \"name\", name: \"name\", embedded: false, exported: false, typ: $String, tag: \"\"}, {prop: \"file\", name: \"file\", embedded: false, exported: false, typ: ptrType$2, tag: \"\"}, {prop: \"writable\", name: \"writable\", embedded: false, exported: false, typ: $Bool, tag: \"\"}, {prop: \"readable\", name: \"readable\", embedded: false, exported: false, typ: $Bool, tag: \"\"}]);\n\tsliceType = $sliceType(structType);\n\tsliceType$1 = $sliceType($String);\n\tsliceType$2 = $sliceType(opProp);\n\tsliceType$3 = $sliceType(LGFunction);\n\tsliceType$4 = $sliceType(luaLib);\n\tsliceType$5 = $sliceType($Float64);\n\tptrType$3 = $ptrType(reflect.SliceHeader);\n\tptrType$4 = $ptrType(iface);\n\tptrType$5 = $ptrType(sliceType$5);\n\tptrType$6 = $ptrType(LValue);\n\tptrType$7 = $ptrType(LFunction);\n\tptrType$8 = $ptrType(LUserData);\n\tptrType$9 = $ptrType(LState);\n\tsliceType$6 = $sliceType($emptyInterface);\n\tsliceType$7 = $sliceType(LValue);\n\tptrType$10 = $ptrType(callFrame);\n\tptrType$11 = $ptrType(APIError);\n\tsliceType$8 = $sliceType(LValueType);\n\tptrType$12 = $ptrType(funcContext);\n\tptrType$13 = $ptrType(ast.FuncCallExpr);\n\tptrType$14 = $ptrType(ast.Comma3Expr);\n\tptrType$15 = $ptrType(ast.NumberExpr);\n\tptrType$16 = $ptrType(constLValueExpr);\n\tptrType$17 = $ptrType($Uint32);\n\tsliceType$9 = $sliceType(varNamePoolValue);\n\tptrType$18 = $ptrType(FunctionProto);\n\tptrType$19 = $ptrType(codeStore);\n\tptrType$20 = $ptrType(varNamePool);\n\tptrType$21 = $ptrType(codeBlock);\n\tsliceType$10 = $sliceType(ptrType$21);\n\tsliceType$11 = $sliceType($Uint32);\n\tsliceType$12 = $sliceType($Int);\n\tptrType$22 = $ptrType(ast.AssignStmt);\n\tptrType$23 = $ptrType(ast.LocalAssignStmt);\n\tptrType$24 = $ptrType(ast.FuncCallStmt);\n\tptrType$25 = $ptrType(ast.DoBlockStmt);\n\tptrType$26 = $ptrType(ast.WhileStmt);\n\tptrType$27 = $ptrType(ast.RepeatStmt);\n\tptrType$28 = $ptrType(ast.FuncDefStmt);\n\tptrType$29 = $ptrType(ast.ReturnStmt);\n\tptrType$30 = $ptrType(ast.IfStmt);\n\tptrType$31 = $ptrType(ast.BreakStmt);\n\tptrType$32 = $ptrType(ast.NumberForStmt);\n\tptrType$33 = $ptrType(ast.GenericForStmt);\n\tptrType$34 = $ptrType(assigncontext);\n\tsliceType$13 = $sliceType(ptrType$34);\n\tptrType$35 = $ptrType(ast.IdentExpr);\n\tptrType$36 = $ptrType(ast.AttrGetExpr);\n\tptrType$37 = $ptrType($Int);\n\tptrType$38 = $ptrType(ast.StringExpr);\n\tptrType$39 = $ptrType(ast.LogicalOpExpr);\n\tptrType$40 = $ptrType(ast.FunctionExpr);\n\tptrType$41 = $ptrType(ast.FalseExpr);\n\tptrType$42 = $ptrType(ast.NilExpr);\n\tptrType$43 = $ptrType(ast.TrueExpr);\n\tptrType$44 = $ptrType(ast.UnaryNotOpExpr);\n\tptrType$45 = $ptrType(ast.RelationalOpExpr);\n\tsliceType$14 = $sliceType(ast.Expr);\n\tptrType$46 = $ptrType(ast.TableExpr);\n\tptrType$47 = $ptrType(ast.ArithmeticOpExpr);\n\tptrType$48 = $ptrType(ast.StringConcatOpExpr);\n\tptrType$49 = $ptrType(ast.UnaryMinusOpExpr);\n\tptrType$50 = $ptrType(ast.UnaryLenOpExpr);\n\tptrType$51 = $ptrType(CompileError);\n\tptrType$52 = $ptrType(ast.ParList);\n\tsliceType$15 = $sliceType(ast.Stmt);\n\tptrType$53 = $ptrType(Debug);\n\tptrType$54 = $ptrType(registry);\n\tsliceType$16 = $sliceType(ptrType$18);\n\tptrType$55 = $ptrType(DbgLocalInfo);\n\tsliceType$17 = $sliceType(ptrType$55);\n\tsliceType$18 = $sliceType(DbgCall);\n\tptrType$56 = $ptrType(Upvalue);\n\tsliceType$19 = $sliceType(ptrType$56);\n\tptrType$57 = $ptrType(lFile);\n\tptrType$58 = $ptrType(exec.Cmd);\n\tptrType$59 = $ptrType(bufio.Reader);\n\tptrType$60 = $ptrType(bufio.Writer);\n\tptrType$61 = $ptrType(exec.ExitError);\n\tsliceType$20 = $sliceType($Uint8);\n\tptrType$62 = $ptrType(LNumber);\n\tsliceType$21 = $sliceType(ptrType$2);\n\tptrType$63 = $ptrType(syscall.SysProcAttr);\n\tsliceType$22 = $sliceType(callFrame);\n\tptrType$64 = $ptrType(Global);\n\tptrType$65 = $ptrType(callFrameStack);\n\tptrType$66 = $ptrType(allocator);\n\tptrType$67 = $ptrType($Int32);\n\tptrType$68 = $ptrType(LNilType);\n\tarrayType$2 = $arrayType($Uint64, 256);\n\tstructType$1 = $structType(\"\", [{prop: \"Size\", name: \"Size\", embedded: false, exported: true, typ: $Uint32, tag: \"\"}, {prop: \"Mallocs\", name: \"Mallocs\", embedded: false, exported: true, typ: $Uint64, tag: \"\"}, {prop: \"Frees\", name: \"Frees\", embedded: false, exported: true, typ: $Uint64, tag: \"\"}]);\n\tarrayType$3 = $arrayType(structType$1, 61);\n\tsliceType$23 = $sliceType(replaceInfo);\n\tptrType$69 = $ptrType(strMatchData);\n\tptrType$70 = $ptrType(reflect.StringHeader);\n\tptrType$71 = $ptrType($String);\n\tptrType$72 = $ptrType(expcontext);\n\tmapType = $mapType($Int, $Int);\n\tptrType$73 = $ptrType(pm.MatchData);\n\tsliceType$24 = $sliceType(ptrType$73);\n\tptrType$74 = $ptrType(flagScanner);\n\tfuncType = $funcType([LValue, LValue], [], false);\n\tmapType$1 = $mapType(LValue, LValue);\n\tmapType$2 = $mapType($String, LValue);\n\tmapType$3 = $mapType(LValue, $Int);\n\tmapType$4 = $mapType($Int, LValue);\n\tmapType$5 = $mapType($String, LGFunction);\n\tfuncType$1 = $funcType([ptrType$9], [], false);\n\tfuncType$2 = $funcType([ptrType$9, ptrType$10], [], false);\n\tinit = function() {\n\t\tvar i;\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < 128)) { break; }\n\t\t\t((i < 0 || i >= preloads.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : preloads[i] = new LNumber((i)));\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t};\n\tnewAllocator = function(size) {\n\t\tvar al, size;\n\t\tal = new allocator.ptr(size, $makeSlice(sliceType$5, 0, size), ptrType$3.nil, $ifaceNil, ptrType$4.nil);\n\t\tal.fheader = ($pointerOfStructConversion(((al.$ptr_fptrs || (al.$ptr_fptrs = new ptrType$5(function() { return this.$target.fptrs; }, function($v) { this.$target.fptrs = $v; }, al)))), ptrType$3));\n\t\tal.scratchValue = new LNumber(0);\n\t\tal.scratchValueP = ($pointerOfStructConversion(((al.$ptr_scratchValue || (al.$ptr_scratchValue = new ptrType$6(function() { return this.$target.scratchValue; }, function($v) { this.$target.scratchValue = $v; }, al)))), ptrType$4));\n\t\treturn al;\n\t};\n\tallocator.ptr.prototype.LNumber2I = function(v) {\n\t\tvar al, fptr, v, x;\n\t\tal = this;\n\t\tif (v >= 0 && v < 128 && ((v) === ($flatten64((new $Int64(0, v)))))) {\n\t\t\treturn (x = ((v >> 0)), ((x < 0 || x >= preloads.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : preloads[x]));\n\t\t}\n\t\tif (al.fptrs.$capacity === al.fptrs.$length) {\n\t\t\tal.fptrs = $makeSlice(sliceType$5, 0, al.size);\n\t\t\tal.fheader = ($pointerOfStructConversion(((al.$ptr_fptrs || (al.$ptr_fptrs = new ptrType$5(function() { return this.$target.fptrs; }, function($v) { this.$target.fptrs = $v; }, al)))), ptrType$3));\n\t\t}\n\t\tal.fptrs = $append(al.fptrs, (v));\n\t\tfptr = (((al.fheader.Data + ($imul((((al.fptrs.$length - 1 >> 0) >>> 0)), 8) >>> 0) >>> 0)));\n\t\tal.scratchValueP.word = (fptr);\n\t\treturn al.scratchValue;\n\t};\n\tallocator.prototype.LNumber2I = function(v) { return this.$val.LNumber2I(v); };\n\tLState.ptr.prototype.CheckAny = function(n) {\n\t\tvar ls, n, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; ls = $f.ls; n = $f.n; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t/* */ if (n > ls.GetTop()) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (n > ls.GetTop()) { */ case 1:\n\t\t\t$r = ls.ArgError(n, \"value expected\"); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 2:\n\t\t$s = -1; return ls.Get(n);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.CheckAny }; } $f.ls = ls; $f.n = n; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.CheckAny = function(n) { return this.$val.CheckAny(n); };\n\tLState.ptr.prototype.CheckInt = function(n) {\n\t\tvar _tuple, intv, ls, n, ok, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _tuple = $f._tuple; intv = $f.intv; ls = $f.ls; n = $f.n; ok = $f.ok; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tv = ls.Get(n);\n\t\t_tuple = $assertType(v, LNumber, true);\n\t\tintv = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\t$s = -1; return ((intv >> 0));\n\t\t}\n\t\t$r = ls.TypeError(n, 2); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.CheckInt }; } $f._tuple = _tuple; $f.intv = intv; $f.ls = ls; $f.n = n; $f.ok = ok; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.CheckInt = function(n) { return this.$val.CheckInt(n); };\n\tLState.ptr.prototype.CheckInt64 = function(n) {\n\t\tvar _tuple, intv, ls, n, ok, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _tuple = $f._tuple; intv = $f.intv; ls = $f.ls; n = $f.n; ok = $f.ok; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tv = ls.Get(n);\n\t\t_tuple = $assertType(v, LNumber, true);\n\t\tintv = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\t$s = -1; return (new $Int64(0, intv));\n\t\t}\n\t\t$r = ls.TypeError(n, 2); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return new $Int64(0, 0);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.CheckInt64 }; } $f._tuple = _tuple; $f.intv = intv; $f.ls = ls; $f.n = n; $f.ok = ok; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.CheckInt64 = function(n) { return this.$val.CheckInt64(n); };\n\tLState.ptr.prototype.CheckNumber = function(n) {\n\t\tvar _tuple, ls, lv, n, ok, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _tuple = $f._tuple; ls = $f.ls; lv = $f.lv; n = $f.n; ok = $f.ok; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tv = ls.Get(n);\n\t\t_tuple = $assertType(v, LNumber, true);\n\t\tlv = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\t$s = -1; return lv;\n\t\t}\n\t\t$r = ls.TypeError(n, 2); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.CheckNumber }; } $f._tuple = _tuple; $f.ls = ls; $f.lv = lv; $f.n = n; $f.ok = ok; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.CheckNumber = function(n) { return this.$val.CheckNumber(n); };\n\tLState.ptr.prototype.CheckString = function(n) {\n\t\tvar _tuple, ls, lv, n, ok, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _tuple = $f._tuple; ls = $f.ls; lv = $f.lv; n = $f.n; ok = $f.ok; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tv = ls.Get(n);\n\t\t_tuple = $assertType(v, LString, true);\n\t\tlv = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\t$s = -1; return (lv);\n\t\t}\n\t\t$r = ls.TypeError(n, 3); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return \"\";\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.CheckString }; } $f._tuple = _tuple; $f.ls = ls; $f.lv = lv; $f.n = n; $f.ok = ok; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.CheckString = function(n) { return this.$val.CheckString(n); };\n\tLState.ptr.prototype.CheckBool = function(n) {\n\t\tvar _tuple, ls, lv, n, ok, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _tuple = $f._tuple; ls = $f.ls; lv = $f.lv; n = $f.n; ok = $f.ok; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tv = ls.Get(n);\n\t\t_tuple = $assertType(v, LBool, true);\n\t\tlv = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\t$s = -1; return (lv);\n\t\t}\n\t\t$r = ls.TypeError(n, 1); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return false;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.CheckBool }; } $f._tuple = _tuple; $f.ls = ls; $f.lv = lv; $f.n = n; $f.ok = ok; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.CheckBool = function(n) { return this.$val.CheckBool(n); };\n\tLState.ptr.prototype.CheckTable = function(n) {\n\t\tvar _tuple, ls, lv, n, ok, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _tuple = $f._tuple; ls = $f.ls; lv = $f.lv; n = $f.n; ok = $f.ok; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tv = ls.Get(n);\n\t\t_tuple = $assertType(v, ptrType$1, true);\n\t\tlv = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\t$s = -1; return lv;\n\t\t}\n\t\t$r = ls.TypeError(n, 7); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return ptrType$1.nil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.CheckTable }; } $f._tuple = _tuple; $f.ls = ls; $f.lv = lv; $f.n = n; $f.ok = ok; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.CheckTable = function(n) { return this.$val.CheckTable(n); };\n\tLState.ptr.prototype.CheckFunction = function(n) {\n\t\tvar _tuple, ls, lv, n, ok, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _tuple = $f._tuple; ls = $f.ls; lv = $f.lv; n = $f.n; ok = $f.ok; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tv = ls.Get(n);\n\t\t_tuple = $assertType(v, ptrType$7, true);\n\t\tlv = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\t$s = -1; return lv;\n\t\t}\n\t\t$r = ls.TypeError(n, 4); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return ptrType$7.nil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.CheckFunction }; } $f._tuple = _tuple; $f.ls = ls; $f.lv = lv; $f.n = n; $f.ok = ok; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.CheckFunction = function(n) { return this.$val.CheckFunction(n); };\n\tLState.ptr.prototype.CheckUserData = function(n) {\n\t\tvar _tuple, ls, lv, n, ok, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _tuple = $f._tuple; ls = $f.ls; lv = $f.lv; n = $f.n; ok = $f.ok; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tv = ls.Get(n);\n\t\t_tuple = $assertType(v, ptrType$8, true);\n\t\tlv = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\t$s = -1; return lv;\n\t\t}\n\t\t$r = ls.TypeError(n, 5); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return ptrType$8.nil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.CheckUserData }; } $f._tuple = _tuple; $f.ls = ls; $f.lv = lv; $f.n = n; $f.ok = ok; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.CheckUserData = function(n) { return this.$val.CheckUserData(n); };\n\tLState.ptr.prototype.CheckThread = function(n) {\n\t\tvar _tuple, ls, lv, n, ok, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _tuple = $f._tuple; ls = $f.ls; lv = $f.lv; n = $f.n; ok = $f.ok; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tv = ls.Get(n);\n\t\t_tuple = $assertType(v, ptrType$9, true);\n\t\tlv = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\t$s = -1; return lv;\n\t\t}\n\t\t$r = ls.TypeError(n, 6); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return ptrType$9.nil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.CheckThread }; } $f._tuple = _tuple; $f.ls = ls; $f.lv = lv; $f.n = n; $f.ok = ok; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.CheckThread = function(n) { return this.$val.CheckThread(n); };\n\tLState.ptr.prototype.CheckType = function(n, typ) {\n\t\tvar _r, ls, n, typ, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; ls = $f.ls; n = $f.n; typ = $f.typ; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tv = ls.Get(n);\n\t\t_r = v.Type(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t/* */ if (!((_r === typ))) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!((_r === typ))) { */ case 1:\n\t\t\t$r = ls.TypeError(n, typ); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 2:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.CheckType }; } $f._r = _r; $f.ls = ls; $f.n = n; $f.typ = typ; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.CheckType = function(n, typ) { return this.$val.CheckType(n, typ); };\n\tLState.ptr.prototype.CheckTypes = function(n, typs) {\n\t\tvar _arg, _arg$1, _i, _i$1, _r, _r$1, _r$2, _ref, _ref$1, buf, ls, n, typ, typ$1, typs, vt, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _i = $f._i; _i$1 = $f._i$1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _ref = $f._ref; _ref$1 = $f._ref$1; buf = $f.buf; ls = $f.ls; n = $f.n; typ = $f.typ; typ$1 = $f.typ$1; typs = $f.typs; vt = $f.vt; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_r = ls.Get(n).Type(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tvt = _r;\n\t\t_ref = typs;\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\ttyp = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\tif (vt === typ) {\n\t\t\t\t$s = -1; return;\n\t\t\t}\n\t\t\t_i++;\n\t\t}\n\t\tbuf = new sliceType$1([]);\n\t\t_ref$1 = typs;\n\t\t_i$1 = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i$1 < _ref$1.$length)) { break; }\n\t\t\ttyp$1 = ((_i$1 < 0 || _i$1 >= _ref$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref$1.$array[_ref$1.$offset + _i$1]);\n\t\t\tbuf = $append(buf, new LValueType(typ$1).String());\n\t\t\t_i$1++;\n\t\t}\n\t\t_arg = n;\n\t\t_r$1 = ls.Get(n).Type(); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_r$2 = new LValueType(_r$1).String(); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t_arg$1 = strings.Join(buf, \" or \") + \" expected, got \" + _r$2;\n\t\t$r = ls.ArgError(_arg, _arg$1); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.CheckTypes }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._i = _i; $f._i$1 = _i$1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._ref = _ref; $f._ref$1 = _ref$1; $f.buf = buf; $f.ls = ls; $f.n = n; $f.typ = typ; $f.typ$1 = typ$1; $f.typs = typs; $f.vt = vt; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.CheckTypes = function(n, typs) { return this.$val.CheckTypes(n, typs); };\n\tLState.ptr.prototype.CheckOption = function(n, options) {\n\t\tvar _arg, _arg$1, _i, _r, _r$1, _ref, i, ls, n, options, str, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _i = $f._i; _r = $f._r; _r$1 = $f._r$1; _ref = $f._ref; i = $f.i; ls = $f.ls; n = $f.n; options = $f.options; str = $f.str; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_r = ls.CheckString(n); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tstr = _r;\n\t\t_ref = options;\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\ti = _i;\n\t\t\tv = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\tif (v === str) {\n\t\t\t\t$s = -1; return i;\n\t\t\t}\n\t\t\t_i++;\n\t\t}\n\t\t_arg = n;\n\t\t_r$1 = fmt.Sprintf(\"invalid option: %s (must be one of %s)\", new sliceType$6([new $String(str), new $String(strings.Join(options, \",\"))])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_arg$1 = _r$1;\n\t\t$r = ls.ArgError(_arg, _arg$1); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.CheckOption }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._i = _i; $f._r = _r; $f._r$1 = _r$1; $f._ref = _ref; $f.i = i; $f.ls = ls; $f.n = n; $f.options = options; $f.str = str; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.CheckOption = function(n, options) { return this.$val.CheckOption(n, options); };\n\tLState.ptr.prototype.OptInt = function(n, d) {\n\t\tvar _tuple, d, intv, ls, n, ok, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _tuple = $f._tuple; d = $f.d; intv = $f.intv; ls = $f.ls; n = $f.n; ok = $f.ok; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tv = ls.Get(n);\n\t\tif ($interfaceIsEqual(v, $pkg.LNil)) {\n\t\t\t$s = -1; return d;\n\t\t}\n\t\t_tuple = $assertType(v, LNumber, true);\n\t\tintv = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\t$s = -1; return ((intv >> 0));\n\t\t}\n\t\t$r = ls.TypeError(n, 2); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.OptInt }; } $f._tuple = _tuple; $f.d = d; $f.intv = intv; $f.ls = ls; $f.n = n; $f.ok = ok; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.OptInt = function(n, d) { return this.$val.OptInt(n, d); };\n\tLState.ptr.prototype.OptInt64 = function(n, d) {\n\t\tvar _tuple, d, intv, ls, n, ok, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _tuple = $f._tuple; d = $f.d; intv = $f.intv; ls = $f.ls; n = $f.n; ok = $f.ok; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tv = ls.Get(n);\n\t\tif ($interfaceIsEqual(v, $pkg.LNil)) {\n\t\t\t$s = -1; return d;\n\t\t}\n\t\t_tuple = $assertType(v, LNumber, true);\n\t\tintv = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\t$s = -1; return (new $Int64(0, intv));\n\t\t}\n\t\t$r = ls.TypeError(n, 2); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return new $Int64(0, 0);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.OptInt64 }; } $f._tuple = _tuple; $f.d = d; $f.intv = intv; $f.ls = ls; $f.n = n; $f.ok = ok; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.OptInt64 = function(n, d) { return this.$val.OptInt64(n, d); };\n\tLState.ptr.prototype.OptNumber = function(n, d) {\n\t\tvar _tuple, d, ls, lv, n, ok, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _tuple = $f._tuple; d = $f.d; ls = $f.ls; lv = $f.lv; n = $f.n; ok = $f.ok; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tv = ls.Get(n);\n\t\tif ($interfaceIsEqual(v, $pkg.LNil)) {\n\t\t\t$s = -1; return d;\n\t\t}\n\t\t_tuple = $assertType(v, LNumber, true);\n\t\tlv = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\t$s = -1; return lv;\n\t\t}\n\t\t$r = ls.TypeError(n, 2); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.OptNumber }; } $f._tuple = _tuple; $f.d = d; $f.ls = ls; $f.lv = lv; $f.n = n; $f.ok = ok; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.OptNumber = function(n, d) { return this.$val.OptNumber(n, d); };\n\tLState.ptr.prototype.OptString = function(n, d) {\n\t\tvar _tuple, d, ls, lv, n, ok, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _tuple = $f._tuple; d = $f.d; ls = $f.ls; lv = $f.lv; n = $f.n; ok = $f.ok; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tv = ls.Get(n);\n\t\tif ($interfaceIsEqual(v, $pkg.LNil)) {\n\t\t\t$s = -1; return d;\n\t\t}\n\t\t_tuple = $assertType(v, LString, true);\n\t\tlv = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\t$s = -1; return (lv);\n\t\t}\n\t\t$r = ls.TypeError(n, 3); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return \"\";\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.OptString }; } $f._tuple = _tuple; $f.d = d; $f.ls = ls; $f.lv = lv; $f.n = n; $f.ok = ok; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.OptString = function(n, d) { return this.$val.OptString(n, d); };\n\tLState.ptr.prototype.OptBool = function(n, d) {\n\t\tvar _tuple, d, ls, lv, n, ok, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _tuple = $f._tuple; d = $f.d; ls = $f.ls; lv = $f.lv; n = $f.n; ok = $f.ok; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tv = ls.Get(n);\n\t\tif ($interfaceIsEqual(v, $pkg.LNil)) {\n\t\t\t$s = -1; return d;\n\t\t}\n\t\t_tuple = $assertType(v, LBool, true);\n\t\tlv = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\t$s = -1; return (lv);\n\t\t}\n\t\t$r = ls.TypeError(n, 1); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return false;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.OptBool }; } $f._tuple = _tuple; $f.d = d; $f.ls = ls; $f.lv = lv; $f.n = n; $f.ok = ok; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.OptBool = function(n, d) { return this.$val.OptBool(n, d); };\n\tLState.ptr.prototype.OptTable = function(n, d) {\n\t\tvar _tuple, d, ls, lv, n, ok, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _tuple = $f._tuple; d = $f.d; ls = $f.ls; lv = $f.lv; n = $f.n; ok = $f.ok; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tv = ls.Get(n);\n\t\tif ($interfaceIsEqual(v, $pkg.LNil)) {\n\t\t\t$s = -1; return d;\n\t\t}\n\t\t_tuple = $assertType(v, ptrType$1, true);\n\t\tlv = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\t$s = -1; return lv;\n\t\t}\n\t\t$r = ls.TypeError(n, 7); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return ptrType$1.nil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.OptTable }; } $f._tuple = _tuple; $f.d = d; $f.ls = ls; $f.lv = lv; $f.n = n; $f.ok = ok; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.OptTable = function(n, d) { return this.$val.OptTable(n, d); };\n\tLState.ptr.prototype.OptFunction = function(n, d) {\n\t\tvar _tuple, d, ls, lv, n, ok, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _tuple = $f._tuple; d = $f.d; ls = $f.ls; lv = $f.lv; n = $f.n; ok = $f.ok; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tv = ls.Get(n);\n\t\tif ($interfaceIsEqual(v, $pkg.LNil)) {\n\t\t\t$s = -1; return d;\n\t\t}\n\t\t_tuple = $assertType(v, ptrType$7, true);\n\t\tlv = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\t$s = -1; return lv;\n\t\t}\n\t\t$r = ls.TypeError(n, 4); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return ptrType$7.nil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.OptFunction }; } $f._tuple = _tuple; $f.d = d; $f.ls = ls; $f.lv = lv; $f.n = n; $f.ok = ok; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.OptFunction = function(n, d) { return this.$val.OptFunction(n, d); };\n\tLState.ptr.prototype.OptUserData = function(n, d) {\n\t\tvar _tuple, d, ls, lv, n, ok, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _tuple = $f._tuple; d = $f.d; ls = $f.ls; lv = $f.lv; n = $f.n; ok = $f.ok; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tv = ls.Get(n);\n\t\tif ($interfaceIsEqual(v, $pkg.LNil)) {\n\t\t\t$s = -1; return d;\n\t\t}\n\t\t_tuple = $assertType(v, ptrType$8, true);\n\t\tlv = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\t$s = -1; return lv;\n\t\t}\n\t\t$r = ls.TypeError(n, 5); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return ptrType$8.nil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.OptUserData }; } $f._tuple = _tuple; $f.d = d; $f.ls = ls; $f.lv = lv; $f.n = n; $f.ok = ok; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.OptUserData = function(n, d) { return this.$val.OptUserData(n, d); };\n\tLState.ptr.prototype.ArgError = function(n, message) {\n\t\tvar _arg, _arg$1, _arg$2, _r, ls, message, n, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _r = $f._r; ls = $f.ls; message = $f.message; n = $f.n; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_arg = new $Int(n);\n\t\t_r = ls.rawFrameFuncName(ls.currentFrame); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_arg$1 = new $String(_r);\n\t\t_arg$2 = new $String(message);\n\t\t$r = ls.RaiseError(\"bad argument #%v to %v (%v)\", new sliceType$6([_arg, _arg$1, _arg$2])); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.ArgError }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._r = _r; $f.ls = ls; $f.message = message; $f.n = n; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.ArgError = function(n, message) { return this.$val.ArgError(n, message); };\n\tLState.ptr.prototype.TypeError = function(n, typ) {\n\t\tvar _arg, _arg$1, _arg$2, _arg$3, _r, _r$1, _r$2, ls, n, typ, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _arg$3 = $f._arg$3; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; ls = $f.ls; n = $f.n; typ = $f.typ; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_arg = new $Int(n);\n\t\t_r = ls.rawFrameFuncName(ls.currentFrame); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_arg$1 = new $String(_r);\n\t\t_arg$2 = new $String(new LValueType(typ).String());\n\t\t_r$1 = ls.Get(n).Type(); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_r$2 = new LValueType(_r$1).String(); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t_arg$3 = new $String(_r$2);\n\t\t$r = ls.RaiseError(\"bad argument #%v to %v (%v expected, got %v)\", new sliceType$6([_arg, _arg$1, _arg$2, _arg$3])); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.TypeError }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._arg$3 = _arg$3; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.ls = ls; $f.n = n; $f.typ = typ; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.TypeError = function(n, typ) { return this.$val.TypeError(n, typ); };\n\tLState.ptr.prototype.Where = function(level) {\n\t\tvar _r, level, ls, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; level = $f.level; ls = $f.ls; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_r = ls.where(level, false); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.Where }; } $f._r = _r; $f.level = level; $f.ls = ls; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.Where = function(level) { return this.$val.Where(level); };\n\tLState.ptr.prototype.FindTable = function(obj, n, size) {\n\t\tvar _i, _r, _ref, curobj, ls, n, name, names, nextobj, obj, size, tb, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _r = $f._r; _ref = $f._ref; curobj = $f.curobj; ls = $f.ls; n = $f.n; name = $f.name; names = $f.names; nextobj = $f.nextobj; obj = $f.obj; size = $f.size; tb = $f.tb; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tnames = strings.Split(n, \".\");\n\t\tcurobj = obj;\n\t\t_ref = names;\n\t\t_i = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 2; continue; }\n\t\t\tname = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\tif (!((curobj.Type() === 7))) {\n\t\t\t\t$s = -1; return $pkg.LNil;\n\t\t\t}\n\t\t\tnextobj = ls.RawGet(curobj, new LString((name)));\n\t\t\t/* */ if ($interfaceIsEqual(nextobj, $pkg.LNil)) { $s = 3; continue; }\n\t\t\t_r = nextobj.Type(); /* */ $s = 7; case 7: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t/* */ if (!((_r === 7))) { $s = 4; continue; }\n\t\t\t/* */ $s = 5; continue;\n\t\t\t/* if ($interfaceIsEqual(nextobj, $pkg.LNil)) { */ case 3:\n\t\t\t\ttb = ls.CreateTable(0, size);\n\t\t\t\t$r = ls.RawSet(curobj, new LString((name)), tb); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\tcurobj = tb;\n\t\t\t\t$s = 6; continue;\n\t\t\t/* } else if (!((_r === 7))) { */ case 4:\n\t\t\t\t$s = -1; return $pkg.LNil;\n\t\t\t/* } else { */ case 5:\n\t\t\t\tcurobj = $assertType(nextobj, ptrType$1);\n\t\t\t/* } */ case 6:\n\t\t\t_i++;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return curobj;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.FindTable }; } $f._i = _i; $f._r = _r; $f._ref = _ref; $f.curobj = curobj; $f.ls = ls; $f.n = n; $f.name = name; $f.names = names; $f.nextobj = nextobj; $f.obj = obj; $f.size = size; $f.tb = tb; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.FindTable = function(obj, n, size) { return this.$val.FindTable(obj, n, size); };\n\tLState.ptr.prototype.RegisterModule = function(name, funcs) {\n\t\tvar _entry, _i, _keys, _r, _r$1, _r$2, _r$3, _ref, _tuple, fn, fname, funcs, ls, mod, name, newmod, newmodtb, ok, tb, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _entry = $f._entry; _i = $f._i; _keys = $f._keys; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _ref = $f._ref; _tuple = $f._tuple; fn = $f.fn; fname = $f.fname; funcs = $f.funcs; ls = $f.ls; mod = $f.mod; name = $f.name; newmod = $f.newmod; newmodtb = $f.newmodtb; ok = $f.ok; tb = $f.tb; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_r = ls.FindTable($assertType(ls.Get(-10000), ptrType$1), \"_LOADED\", 1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\ttb = _r;\n\t\t_r$1 = ls.GetField(tb, name); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tmod = _r$1;\n\t\t_r$2 = mod.Type(); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t/* */ if (!((_r$2 === 7))) { $s = 3; continue; }\n\t\t/* */ $s = 4; continue;\n\t\t/* if (!((_r$2 === 7))) { */ case 3:\n\t\t\t_r$3 = ls.FindTable($assertType(ls.Get(-10002), ptrType$1), name, $keys(funcs).length); /* */ $s = 6; case 6: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\tnewmod = _r$3;\n\t\t\t_tuple = $assertType(newmod, ptrType$1, true);\n\t\t\tnewmodtb = _tuple[0];\n\t\t\tok = _tuple[1];\n\t\t\t/* */ if (!ok) { $s = 7; continue; }\n\t\t\t/* */ $s = 8; continue;\n\t\t\t/* if (!ok) { */ case 7:\n\t\t\t\t$r = ls.RaiseError(\"name conflict for module(%v)\", new sliceType$6([new $String(name)])); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 9; continue;\n\t\t\t/* } else { */ case 8:\n\t\t\t\t_ref = funcs;\n\t\t\t\t_i = 0;\n\t\t\t\t_keys = $keys(_ref);\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (!(_i < _keys.length)) { break; }\n\t\t\t\t\t_entry = _ref[_keys[_i]];\n\t\t\t\t\tif (_entry === undefined) {\n\t\t\t\t\t\t_i++;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tfname = _entry.k;\n\t\t\t\t\tfn = _entry.v;\n\t\t\t\t\tnewmodtb.RawSetString(fname, ls.NewFunction(fn));\n\t\t\t\t\t_i++;\n\t\t\t\t}\n\t\t\t\t$r = ls.SetField(tb, name, newmodtb); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return newmodtb;\n\t\t\t/* } */ case 9:\n\t\t/* } */ case 4:\n\t\t$s = -1; return mod;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.RegisterModule }; } $f._entry = _entry; $f._i = _i; $f._keys = _keys; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._ref = _ref; $f._tuple = _tuple; $f.fn = fn; $f.fname = fname; $f.funcs = funcs; $f.ls = ls; $f.mod = mod; $f.name = name; $f.newmod = newmod; $f.newmodtb = newmodtb; $f.ok = ok; $f.tb = tb; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.RegisterModule = function(name, funcs) { return this.$val.RegisterModule(name, funcs); };\n\tLState.ptr.prototype.SetFuncs = function(tb, funcs, upvalues) {\n\t\tvar _entry, _i, _keys, _ref, fn, fname, funcs, ls, tb, upvalues;\n\t\tls = this;\n\t\t_ref = funcs;\n\t\t_i = 0;\n\t\t_keys = $keys(_ref);\n\t\twhile (true) {\n\t\t\tif (!(_i < _keys.length)) { break; }\n\t\t\t_entry = _ref[_keys[_i]];\n\t\t\tif (_entry === undefined) {\n\t\t\t\t_i++;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tfname = _entry.k;\n\t\t\tfn = _entry.v;\n\t\t\ttb.RawSetString(fname, ls.NewClosure(fn, upvalues));\n\t\t\t_i++;\n\t\t}\n\t\treturn tb;\n\t};\n\tLState.prototype.SetFuncs = function(tb, funcs, upvalues) { return this.$val.SetFuncs(tb, funcs, upvalues); };\n\tLState.ptr.prototype.NewTypeMetatable = function(typ) {\n\t\tvar _r, _tuple, ls, mt, mtnew, ok, regtable, tb, typ, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; ls = $f.ls; mt = $f.mt; mtnew = $f.mtnew; ok = $f.ok; regtable = $f.regtable; tb = $f.tb; typ = $f.typ; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tregtable = ls.Get(-10000);\n\t\t_r = ls.GetField(regtable, typ); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tmt = _r;\n\t\t_tuple = $assertType(mt, ptrType$1, true);\n\t\ttb = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\t$s = -1; return tb;\n\t\t}\n\t\tmtnew = ls.NewTable();\n\t\t$r = ls.SetField(regtable, typ, mtnew); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return mtnew;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.NewTypeMetatable }; } $f._r = _r; $f._tuple = _tuple; $f.ls = ls; $f.mt = mt; $f.mtnew = mtnew; $f.ok = ok; $f.regtable = regtable; $f.tb = tb; $f.typ = typ; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.NewTypeMetatable = function(typ) { return this.$val.NewTypeMetatable(typ); };\n\tLState.ptr.prototype.GetMetaField = function(obj, event) {\n\t\tvar _r, event, ls, obj, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; event = $f.event; ls = $f.ls; obj = $f.obj; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_r = ls.metaOp1(obj, event); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.GetMetaField }; } $f._r = _r; $f.event = event; $f.ls = ls; $f.obj = obj; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.GetMetaField = function(obj, event) { return this.$val.GetMetaField(obj, event); };\n\tLState.ptr.prototype.GetTypeMetatable = function(typ) {\n\t\tvar _r, ls, typ, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; ls = $f.ls; typ = $f.typ; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_r = ls.GetField(ls.Get(-10000), typ); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.GetTypeMetatable }; } $f._r = _r; $f.ls = ls; $f.typ = typ; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.GetTypeMetatable = function(typ) { return this.$val.GetTypeMetatable(typ); };\n\tLState.ptr.prototype.CallMeta = function(obj, event) {\n\t\tvar _r, _r$1, event, ls, obj, op, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; event = $f.event; ls = $f.ls; obj = $f.obj; op = $f.op; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_r = ls.metaOp1(obj, event); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\top = _r;\n\t\t_r$1 = op.Type(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t/* */ if (_r$1 === 4) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (_r$1 === 4) { */ case 2:\n\t\t\tls.reg.Push(op);\n\t\t\tls.reg.Push(obj);\n\t\t\t$r = ls.Call(1, 1); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return ls.reg.Pop();\n\t\t/* } */ case 3:\n\t\t$s = -1; return $pkg.LNil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.CallMeta }; } $f._r = _r; $f._r$1 = _r$1; $f.event = event; $f.ls = ls; $f.obj = obj; $f.op = op; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.CallMeta = function(obj, event) { return this.$val.CallMeta(obj, event); };\n\tLState.ptr.prototype.LoadFile = function(path) {\n\t\tvar _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _tuple, _tuple$1, _tuple$2, c, err, file, ls, path, reader, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; c = $f.c; err = $f.err; file = $f.file; ls = $f.ls; path = $f.path; reader = $f.reader; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tls = this;\n\t\tfile = ptrType$2.nil;\n\t\terr = $ifaceNil;\n\t\t/* */ if (path.length === 0) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (path.length === 0) { */ case 1:\n\t\t\tfile = os.Stdin;\n\t\t\t$s = 3; continue;\n\t\t/* } else { */ case 2:\n\t\t\t_r = os.Open(path); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r;\n\t\t\tfile = _tuple[0];\n\t\t\terr = _tuple[1];\n\t\t\t$deferred.push([$methodVal(file, \"Close\"), []]);\n\t\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 5; continue; }\n\t\t\t/* */ $s = 6; continue;\n\t\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 5:\n\t\t\t\t_r$1 = newAPIErrorE(1, err); /* */ $s = 7; case 7: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return [ptrType$7.nil, _r$1];\n\t\t\t/* } */ case 6:\n\t\t/* } */ case 3:\n\t\treader = bufio.NewReader(file);\n\t\t_r$2 = reader.ReadByte(); /* */ $s = 8; case 8: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t_tuple$1 = _r$2;\n\t\tc = _tuple$1[0];\n\t\terr = _tuple$1[1];\n\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil)) && !($interfaceIsEqual(err, io.EOF))) { $s = 9; continue; }\n\t\t/* */ $s = 10; continue;\n\t\t/* if (!($interfaceIsEqual(err, $ifaceNil)) && !($interfaceIsEqual(err, io.EOF))) { */ case 9:\n\t\t\t_r$3 = newAPIErrorE(1, err); /* */ $s = 11; case 11: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return [ptrType$7.nil, _r$3];\n\t\t/* } */ case 10:\n\t\t/* */ if (c === 35) { $s = 12; continue; }\n\t\t/* */ $s = 13; continue;\n\t\t/* if (c === 35) { */ case 12:\n\t\t\t_r$4 = readBufioLine(reader); /* */ $s = 14; case 14: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t_tuple$2 = _r$4;\n\t\t\terr = _tuple$2[2];\n\t\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 15; continue; }\n\t\t\t/* */ $s = 16; continue;\n\t\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 15:\n\t\t\t\t_r$5 = newAPIErrorE(1, err); /* */ $s = 17; case 17: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return [ptrType$7.nil, _r$5];\n\t\t\t/* } */ case 16:\n\t\t/* } */ case 13:\n\t\t/* */ if (!($interfaceIsEqual(err, io.EOF))) { $s = 18; continue; }\n\t\t/* */ $s = 19; continue;\n\t\t/* if (!($interfaceIsEqual(err, io.EOF))) { */ case 18:\n\t\t\terr = reader.UnreadByte();\n\t\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 20; continue; }\n\t\t\t/* */ $s = 21; continue;\n\t\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 20:\n\t\t\t\t_r$6 = newAPIErrorE(1, err); /* */ $s = 22; case 22: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return [ptrType$7.nil, _r$6];\n\t\t\t/* } */ case 21:\n\t\t/* } */ case 19:\n\t\t_r$7 = ls.Load(reader, path); /* */ $s = 23; case 23: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r$7;\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return [ptrType$7.nil, $ifaceNil]; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: LState.ptr.prototype.LoadFile }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f.c = c; $f.err = err; $f.file = file; $f.ls = ls; $f.path = path; $f.reader = reader; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tLState.prototype.LoadFile = function(path) { return this.$val.LoadFile(path); };\n\tLState.ptr.prototype.LoadString = function(source) {\n\t\tvar _r, ls, source, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; ls = $f.ls; source = $f.source; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_r = ls.Load(strings.NewReader(source), \"<string>\"); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.LoadString }; } $f._r = _r; $f.ls = ls; $f.source = source; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.LoadString = function(source) { return this.$val.LoadString(source); };\n\tLState.ptr.prototype.DoFile = function(path) {\n\t\tvar _r, _r$1, _tuple, err, fn, ls, path, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; err = $f.err; fn = $f.fn; ls = $f.ls; path = $f.path; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_r = ls.LoadFile(path); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tfn = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return err;\n\t\t}\n\t\tls.Push(fn);\n\t\t_r$1 = ls.PCall(0, -1, ptrType$7.nil); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r$1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.DoFile }; } $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f.err = err; $f.fn = fn; $f.ls = ls; $f.path = path; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.DoFile = function(path) { return this.$val.DoFile(path); };\n\tLState.ptr.prototype.DoString = function(source) {\n\t\tvar _r, _r$1, _tuple, err, fn, ls, source, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; err = $f.err; fn = $f.fn; ls = $f.ls; source = $f.source; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_r = ls.LoadString(source); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tfn = _tuple[0];\n\t\terr = _tuple[1];\n\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 2:\n\t\t\t$s = -1; return err;\n\t\t/* } else { */ case 3:\n\t\t\tls.Push(fn);\n\t\t\t_r$1 = ls.PCall(0, -1, ptrType$7.nil); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return _r$1;\n\t\t/* } */ case 4:\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.DoString }; } $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f.err = err; $f.fn = fn; $f.ls = ls; $f.source = source; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.DoString = function(source) { return this.$val.DoString(source); };\n\tLState.ptr.prototype.ToStringMeta = function(lv) {\n\t\tvar _r, _r$1, _r$2, _tuple, fn, ls, lv, ok, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _tuple = $f._tuple; fn = $f.fn; ls = $f.ls; lv = $f.lv; ok = $f.ok; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_r = ls.metaOp1(lv, \"__tostring\"); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = _r.assertFunction(); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_tuple = _r$1;\n\t\tfn = _tuple[0];\n\t\tok = _tuple[1];\n\t\t/* */ if (ok) { $s = 3; continue; }\n\t\t/* */ $s = 4; continue;\n\t\t/* if (ok) { */ case 3:\n\t\t\tls.Push(fn);\n\t\t\tls.Push(lv);\n\t\t\t$r = ls.Call(1, 1); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return ls.reg.Pop();\n\t\t/* } else { */ case 4:\n\t\t\t_r$2 = lv.String(); /* */ $s = 7; case 7: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return new LString((_r$2));\n\t\t/* } */ case 5:\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.ToStringMeta }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._tuple = _tuple; $f.fn = fn; $f.ls = ls; $f.lv = lv; $f.ok = ok; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.ToStringMeta = function(lv) { return this.$val.ToStringMeta(lv); };\n\tLState.ptr.prototype.PreloadModule = function(name, loader) {\n\t\tvar _r, _r$1, _tuple, loader, ls, name, ok, preload, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; loader = $f.loader; ls = $f.ls; name = $f.name; ok = $f.ok; preload = $f.preload; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_r = ls.GetField(ls.Get(-10001), \"package\"); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = ls.GetField(_r, \"preload\"); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tpreload = _r$1;\n\t\t_tuple = $assertType(preload, ptrType$1, true);\n\t\tok = _tuple[1];\n\t\t/* */ if (!ok) { $s = 3; continue; }\n\t\t/* */ $s = 4; continue;\n\t\t/* if (!ok) { */ case 3:\n\t\t\t$r = ls.RaiseError(\"package.preload must be a table\", new sliceType$6([])); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 4:\n\t\t$r = ls.SetField(preload, name, ls.NewFunction(loader)); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.PreloadModule }; } $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f.loader = loader; $f.ls = ls; $f.name = name; $f.ok = ok; $f.preload = preload; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.PreloadModule = function(name, loader) { return this.$val.PreloadModule(name, loader); };\n\tOpenBase = function(L) {\n\t\tvar L, _r, basemod, global, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; basemod = $f.basemod; global = $f.global; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tglobal = $assertType(L.Get(-10002), ptrType$1);\n\t\t$r = L.SetGlobal(\"_G\", global); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = L.SetGlobal(\"_VERSION\", new LString(\"Lua 5.1\")); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = L.SetGlobal(\"_GOPHER_LUA_VERSION\", new LString(\"GopherLua 0.1\")); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_r = L.RegisterModule(\"_G\", baseFuncs); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tbasemod = _r;\n\t\tglobal.RawSetString(\"ipairs\", L.NewClosure(baseIpairs, new sliceType$7([L.NewFunction(ipairsaux)])));\n\t\tglobal.RawSetString(\"pairs\", L.NewClosure(basePairs, new sliceType$7([L.NewFunction(pairsaux)])));\n\t\tL.Push(basemod);\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: OpenBase }; } $f.L = L; $f._r = _r; $f.basemod = basemod; $f.global = global; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.OpenBase = OpenBase;\n\tbaseAssert = function(L) {\n\t\tvar L, _r, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t/* */ if (!L.ToBool(1)) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!L.ToBool(1)) { */ case 1:\n\t\t\t_r = L.OptString(2, \"assertion failed!\"); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t$r = L.RaiseError(_r, new sliceType$6([])); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return 0;\n\t\t/* } */ case 2:\n\t\t$s = -1; return L.GetTop();\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: baseAssert }; } $f.L = L; $f._r = _r; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tbaseCollectGarbage = function(L) {\n\t\tvar L;\n\t\truntime.GC();\n\t\treturn 0;\n\t};\n\tbaseDoFile = function(L) {\n\t\tvar L, _r, _r$1, _r$2, _tuple, err, fn, src, top, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _tuple = $f._tuple; err = $f.err; fn = $f.fn; src = $f.src; top = $f.top; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.ToString(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tsrc = _r;\n\t\ttop = L.GetTop();\n\t\t_r$1 = L.LoadFile(src); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_tuple = _r$1;\n\t\tfn = _tuple[0];\n\t\terr = _tuple[1];\n\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 3; continue; }\n\t\t/* */ $s = 4; continue;\n\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 3:\n\t\t\t_r$2 = err.Error(); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t$r = L.Push(new LString((_r$2))); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$r = L.Panic(L); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 4:\n\t\tL.Push(fn);\n\t\t$r = L.Call(0, -1); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return L.GetTop() - top >> 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: baseDoFile }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._tuple = _tuple; $f.err = err; $f.fn = fn; $f.src = src; $f.top = top; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tbaseError = function(L) {\n\t\tvar L, _r, _r$1, level, obj, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; level = $f.level; obj = $f.obj; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckAny(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tobj = _r;\n\t\t_r$1 = L.OptInt(2, 1); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tlevel = _r$1;\n\t\t$r = L.Error(obj, level); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: baseError }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.level = level; $f.obj = obj; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tbaseGetFEnv = function(L) {\n\t\tvar L, _tuple, _tuple$1, cf, fn, i, level, number, ok, ok$1, value;\n\t\tvalue = $ifaceNil;\n\t\tif (L.GetTop() === 0) {\n\t\t\tvalue = new LNumber(1);\n\t\t} else {\n\t\t\tvalue = L.Get(1);\n\t\t}\n\t\t_tuple = $assertType(value, ptrType$7, true);\n\t\tfn = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\tif (!fn.IsG) {\n\t\t\t\tL.Push(fn.Env);\n\t\t\t} else {\n\t\t\t\tL.Push(L.G.Global);\n\t\t\t}\n\t\t\treturn 1;\n\t\t}\n\t\t_tuple$1 = $assertType(value, LNumber, true);\n\t\tnumber = _tuple$1[0];\n\t\tok$1 = _tuple$1[1];\n\t\tif (ok$1) {\n\t\t\tlevel = (((number) >> 0));\n\t\t\tif (level <= 0) {\n\t\t\t\tL.Push(L.Env);\n\t\t\t} else {\n\t\t\t\tcf = L.currentFrame;\n\t\t\t\ti = 0;\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (!(i < level && !(cf === ptrType$10.nil))) { break; }\n\t\t\t\t\tcf = cf.Parent;\n\t\t\t\t\ti = i + (1) >> 0;\n\t\t\t\t}\n\t\t\t\tif (cf === ptrType$10.nil || cf.Fn.IsG) {\n\t\t\t\t\tL.Push(L.G.Global);\n\t\t\t\t} else {\n\t\t\t\t\tL.Push(cf.Fn.Env);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn 1;\n\t\t}\n\t\tL.Push(L.G.Global);\n\t\treturn 1;\n\t};\n\tbaseGetMetatable = function(L) {\n\t\tvar L, _r, _r$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckAny(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = L.GetMetatable(_r); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$r = L.Push(_r$1); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: baseGetMetatable }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tipairsaux = function(L) {\n\t\tvar L, _r, _r$1, i, tb, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; i = $f.i; tb = $f.tb; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckTable(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\ttb = _r;\n\t\t_r$1 = L.CheckInt(2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\ti = _r$1;\n\t\ti = i + (1) >> 0;\n\t\tv = tb.RawGetInt(i);\n\t\t/* */ if ($interfaceIsEqual(v, $pkg.LNil)) { $s = 3; continue; }\n\t\t/* */ $s = 4; continue;\n\t\t/* if ($interfaceIsEqual(v, $pkg.LNil)) { */ case 3:\n\t\t\t$s = -1; return 0;\n\t\t/* } else { */ case 4:\n\t\t\t$r = L.Pop(1); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\tL.Push(new LNumber((i)));\n\t\t\tL.Push(new LNumber((i)));\n\t\t\tL.Push(v);\n\t\t\t$s = -1; return 2;\n\t\t/* } */ case 5:\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ipairsaux }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.i = i; $f.tb = tb; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tbaseIpairs = function(L) {\n\t\tvar L, _r, tb, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; tb = $f.tb; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckTable(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\ttb = _r;\n\t\tL.Push(L.Get(UpvalueIndex(1)));\n\t\tL.Push(tb);\n\t\tL.Push(new LNumber(0));\n\t\t$s = -1; return 3;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: baseIpairs }; } $f.L = L; $f._r = _r; $f.tb = tb; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tloadaux = function(L, reader, chunkname) {\n\t\tvar L, _r, _r$1, _tuple, chunkname, err, fn, reader, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; chunkname = $f.chunkname; err = $f.err; fn = $f.fn; reader = $f.reader; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.Load(reader, chunkname); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tfn = _tuple[0];\n\t\terr = _tuple[1];\n\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 2:\n\t\t\tL.Push($pkg.LNil);\n\t\t\t_r$1 = err.Error(); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t$r = L.Push(new LString((_r$1))); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return 2;\n\t\t/* } else { */ case 3:\n\t\t\tL.Push(fn);\n\t\t\t$s = -1; return 1;\n\t\t/* } */ case 4:\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: loadaux }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f.chunkname = chunkname; $f.err = err; $f.fn = fn; $f.reader = reader; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tbaseLoad = function(L) {\n\t\tvar L, _r, _r$1, _r$2, _r$3, buf, chunkname, fn, ret, str, top, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; buf = $f.buf; chunkname = $f.chunkname; fn = $f.fn; ret = $f.ret; str = $f.str; top = $f.top; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckFunction(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tfn = _r;\n\t\t_r$1 = L.OptString(2, \"?\"); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tchunkname = _r$1;\n\t\ttop = L.GetTop();\n\t\tbuf = new sliceType$1([]);\n\t\t/* while (true) { */ case 3:\n\t\t\tL.SetTop(top);\n\t\t\tL.Push(fn);\n\t\t\t$r = L.Call(0, 1); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\tret = L.reg.Pop();\n\t\t\t/* */ if ($interfaceIsEqual(ret, $pkg.LNil)) { $s = 6; continue; }\n\t\t\t/* */ if (LVCanConvToString(ret)) { $s = 7; continue; }\n\t\t\t/* */ $s = 8; continue;\n\t\t\t/* if ($interfaceIsEqual(ret, $pkg.LNil)) { */ case 6:\n\t\t\t\t/* break; */ $s = 4; continue;\n\t\t\t\t$s = 9; continue;\n\t\t\t/* } else if (LVCanConvToString(ret)) { */ case 7:\n\t\t\t\t_r$2 = ret.String(); /* */ $s = 10; case 10: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\tstr = _r$2;\n\t\t\t\tif (str.length > 0) {\n\t\t\t\t\tbuf = $append(buf, (str));\n\t\t\t\t} else {\n\t\t\t\t\t/* break; */ $s = 4; continue;\n\t\t\t\t}\n\t\t\t\t$s = 9; continue;\n\t\t\t/* } else { */ case 8:\n\t\t\t\tL.Push($pkg.LNil);\n\t\t\t\tL.Push(new LString(\"reader function must return a string\"));\n\t\t\t\t$s = -1; return 2;\n\t\t\t/* } */ case 9:\n\t\t/* } */ $s = 3; continue; case 4:\n\t\t_r$3 = loadaux(L, strings.NewReader(strings.Join(buf, \"\")), chunkname); /* */ $s = 11; case 11: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r$3;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: baseLoad }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f.buf = buf; $f.chunkname = chunkname; $f.fn = fn; $f.ret = ret; $f.str = str; $f.top = top; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tbaseLoadFile = function(L) {\n\t\tvar L, _r, _r$1, _r$2, _r$3, _tuple, chunkname, err, reader, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _tuple = $f._tuple; chunkname = $f.chunkname; err = $f.err; reader = $f.reader; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\treader = $ifaceNil;\n\t\tchunkname = \"\";\n\t\terr = $ifaceNil;\n\t\t/* */ if (L.GetTop() < 1) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (L.GetTop() < 1) { */ case 1:\n\t\t\treader = os.Stdin;\n\t\t\tchunkname = \"<stdin>\";\n\t\t\t$s = 3; continue;\n\t\t/* } else { */ case 2:\n\t\t\t_r = L.CheckString(1); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tchunkname = _r;\n\t\t\t_r$1 = os.Open(chunkname); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r$1;\n\t\t\treader = _tuple[0];\n\t\t\terr = _tuple[1];\n\t\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 6; continue; }\n\t\t\t/* */ $s = 7; continue;\n\t\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 6:\n\t\t\t\tL.Push($pkg.LNil);\n\t\t\t\t_r$2 = fmt.Sprintf(\"can not open file: %v\", new sliceType$6([new $String(chunkname)])); /* */ $s = 8; case 8: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t$r = L.Push(new LString((_r$2))); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return 2;\n\t\t\t/* } */ case 7:\n\t\t\t$deferred.push([$methodVal($assertType(reader, ptrType$2), \"Close\"), []]);\n\t\t/* } */ case 3:\n\t\t_r$3 = loadaux(L, reader, chunkname); /* */ $s = 10; case 10: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r$3;\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; return 0; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: baseLoadFile }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._tuple = _tuple; $f.chunkname = chunkname; $f.err = err; $f.reader = reader; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tbaseLoadString = function(L) {\n\t\tvar L, _arg, _arg$1, _arg$2, _r, _r$1, _r$2, _r$3, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_arg = L;\n\t\t_r = L.CheckString(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = strings.NewReader(_r); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_arg$1 = _r$1;\n\t\t_r$2 = L.OptString(2, \"<string>\"); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t_arg$2 = _r$2;\n\t\t_r$3 = loadaux(_arg, _arg$1, _arg$2); /* */ $s = 4; case 4: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r$3;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: baseLoadString }; } $f.L = L; $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tbaseNext = function(L) {\n\t\tvar L, _r, _tuple, index, key, tb, value, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _tuple = $f._tuple; index = $f.index; key = $f.key; tb = $f.tb; value = $f.value; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckTable(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\ttb = _r;\n\t\tindex = $pkg.LNil;\n\t\tif (L.GetTop() >= 2) {\n\t\t\tindex = L.Get(2);\n\t\t}\n\t\t_tuple = tb.Next(index);\n\t\tkey = _tuple[0];\n\t\tvalue = _tuple[1];\n\t\tif ($interfaceIsEqual(key, $pkg.LNil)) {\n\t\t\tL.Push($pkg.LNil);\n\t\t\t$s = -1; return 1;\n\t\t}\n\t\tL.Push(key);\n\t\tL.Push(value);\n\t\t$s = -1; return 2;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: baseNext }; } $f.L = L; $f._r = _r; $f._tuple = _tuple; $f.index = index; $f.key = key; $f.tb = tb; $f.value = value; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tpairsaux = function(L) {\n\t\tvar L, _r, _tuple, key, tb, value, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _tuple = $f._tuple; key = $f.key; tb = $f.tb; value = $f.value; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckTable(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\ttb = _r;\n\t\t_tuple = tb.Next(L.Get(2));\n\t\tkey = _tuple[0];\n\t\tvalue = _tuple[1];\n\t\t/* */ if ($interfaceIsEqual(key, $pkg.LNil)) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if ($interfaceIsEqual(key, $pkg.LNil)) { */ case 2:\n\t\t\t$s = -1; return 0;\n\t\t/* } else { */ case 3:\n\t\t\t$r = L.Pop(1); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\tL.Push(key);\n\t\t\tL.Push(key);\n\t\t\tL.Push(value);\n\t\t\t$s = -1; return 2;\n\t\t/* } */ case 4:\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: pairsaux }; } $f.L = L; $f._r = _r; $f._tuple = _tuple; $f.key = key; $f.tb = tb; $f.value = value; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tbasePairs = function(L) {\n\t\tvar L, _r, tb, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; tb = $f.tb; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckTable(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\ttb = _r;\n\t\tL.Push(L.Get(UpvalueIndex(1)));\n\t\tL.Push(tb);\n\t\tL.Push($pkg.LNil);\n\t\t$s = -1; return 3;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: basePairs }; } $f.L = L; $f._r = _r; $f.tb = tb; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tbasePCall = function(L) {\n\t\tvar L, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _tuple, aerr, err, nargs, ok, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _tuple = $f._tuple; aerr = $f.aerr; err = $f.err; nargs = $f.nargs; ok = $f.ok; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckAny(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r;\n\t\tv = L.Get(1);\n\t\t_r$1 = v.Type(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t/* */ if (!((_r$1 === 4))) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (!((_r$1 === 4))) { */ case 2:\n\t\t\tL.Push(new LBool($pkg.LFalse));\n\t\t\t_r$2 = v.Type(); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t_r$3 = new LValueType(_r$2).String(); /* */ $s = 6; case 6: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t$r = L.Push(new LString((\"attempt to call a \" + _r$3 + \" value\"))); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return 2;\n\t\t/* } */ case 3:\n\t\tnargs = L.GetTop() - 1 >> 0;\n\t\t_r$4 = L.PCall(nargs, -1, ptrType$7.nil); /* */ $s = 8; case 8: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\terr = _r$4;\n\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 9; continue; }\n\t\t/* */ $s = 10; continue;\n\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 9:\n\t\t\tL.Push(new LBool($pkg.LFalse));\n\t\t\t_tuple = $assertType(err, ptrType$11, true);\n\t\t\taerr = _tuple[0];\n\t\t\tok = _tuple[1];\n\t\t\t/* */ if (ok) { $s = 12; continue; }\n\t\t\t/* */ $s = 13; continue;\n\t\t\t/* if (ok) { */ case 12:\n\t\t\t\tL.Push(aerr.Object);\n\t\t\t\t$s = 14; continue;\n\t\t\t/* } else { */ case 13:\n\t\t\t\t_r$5 = err.Error(); /* */ $s = 15; case 15: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t\t$r = L.Push(new LString((_r$5))); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 14:\n\t\t\t$s = -1; return 2;\n\t\t/* } else { */ case 10:\n\t\t\tL.Insert(new LBool($pkg.LTrue), 1);\n\t\t\t$s = -1; return L.GetTop();\n\t\t/* } */ case 11:\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: basePCall }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._tuple = _tuple; $f.aerr = aerr; $f.err = err; $f.nargs = nargs; $f.ok = ok; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tbasePrint = function(L) {\n\t\tvar L, _r, _r$1, _r$2, _r$3, _r$4, i, top, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; i = $f.i; top = $f.top; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\ttop = L.GetTop();\n\t\ti = 1;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(i <= top)) { break; } */ if(!(i <= top)) { $s = 2; continue; }\n\t\t\t_r = L.ToStringMeta(L.Get(i)); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_r$1 = _r.String(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_r$2 = fmt.Print(new sliceType$6([new $String(_r$1)])); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t_r$2;\n\t\t\t/* */ if (!((i === top))) { $s = 6; continue; }\n\t\t\t/* */ $s = 7; continue;\n\t\t\t/* if (!((i === top))) { */ case 6:\n\t\t\t\t_r$3 = fmt.Print(new sliceType$6([new $String(\"\\t\")])); /* */ $s = 8; case 8: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t_r$3;\n\t\t\t/* } */ case 7:\n\t\t\ti = i + (1) >> 0;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t_r$4 = fmt.Println(new sliceType$6([new $String(\"\")])); /* */ $s = 9; case 9: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t_r$4;\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: basePrint }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f.i = i; $f.top = top; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tbase_PrintRegs = function(L) {\n\t\tvar L, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = L.printReg(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: base_PrintRegs }; } $f.L = L; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tbaseRawEqual = function(L) {\n\t\tvar L, _r, _r$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckAny(1); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = L.CheckAny(2); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t/* */ if ($interfaceIsEqual(_r, _r$1)) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if ($interfaceIsEqual(_r, _r$1)) { */ case 1:\n\t\t\tL.Push(new LBool($pkg.LTrue));\n\t\t\t$s = 3; continue;\n\t\t/* } else { */ case 2:\n\t\t\tL.Push(new LBool($pkg.LFalse));\n\t\t/* } */ case 3:\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: baseRawEqual }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tbaseRawGet = function(L) {\n\t\tvar L, _arg, _arg$1, _r, _r$1, _r$2, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckTable(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_arg = _r;\n\t\t_r$1 = L.CheckAny(2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_arg$1 = _r$1;\n\t\t_r$2 = L.RawGet(_arg, _arg$1); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t$r = L.Push(_r$2); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: baseRawGet }; } $f.L = L; $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tbaseRawSet = function(L) {\n\t\tvar L, _arg, _arg$1, _arg$2, _r, _r$1, _r$2, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckTable(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_arg = _r;\n\t\t_r$1 = L.CheckAny(2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_arg$1 = _r$1;\n\t\t_r$2 = L.CheckAny(3); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t_arg$2 = _r$2;\n\t\t$r = L.RawSet(_arg, _arg$1, _arg$2); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: baseRawSet }; } $f.L = L; $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tbaseSelect = function(L) {\n\t\tvar L, _ref, idx, lv, lv$1, num, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _ref = $f._ref; idx = $f.idx; lv = $f.lv; lv$1 = $f.lv$1; num = $f.num; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = L.CheckTypes(1, new sliceType$8([2, 3])); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_ref = L.Get(1);\n\t\t/* */ if ($assertType(_ref, LNumber, true)[1]) { $s = 2; continue; }\n\t\t/* */ if ($assertType(_ref, LString, true)[1]) { $s = 3; continue; }\n\t\t/* */ $s = 4; continue;\n\t\t/* if ($assertType(_ref, LNumber, true)[1]) { */ case 2:\n\t\t\tlv = _ref.$val;\n\t\t\tidx = ((lv >> 0));\n\t\t\tnum = (L.reg.Top() - L.indexToReg(((lv >> 0))) >> 0) - 1 >> 0;\n\t\t\tif (idx < 0) {\n\t\t\t\tnum = num + (1) >> 0;\n\t\t\t}\n\t\t\t$s = -1; return num;\n\t\t/* } else if ($assertType(_ref, LString, true)[1]) { */ case 3:\n\t\t\tlv$1 = _ref.$val;\n\t\t\t/* */ if (!((lv$1) === \"#\")) { $s = 5; continue; }\n\t\t\t/* */ $s = 6; continue;\n\t\t\t/* if (!((lv$1) === \"#\")) { */ case 5:\n\t\t\t\t$r = L.ArgError(1, \"invalid string '\" + (lv$1) + \"'\"); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 6:\n\t\t\tL.Push(new LNumber(((L.GetTop() - 1 >> 0))));\n\t\t\t$s = -1; return 1;\n\t\t/* } */ case 4:\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: baseSelect }; } $f.L = L; $f._ref = _ref; $f.idx = idx; $f.lv = lv; $f.lv$1 = lv$1; $f.num = num; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tbaseSetFEnv = function(L) {\n\t\tvar L, _r, _tuple, _tuple$1, cf, env, fn, i, level, number, ok, ok$1, value, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; cf = $f.cf; env = $f.env; fn = $f.fn; i = $f.i; level = $f.level; number = $f.number; ok = $f.ok; ok$1 = $f.ok$1; value = $f.value; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tvalue = $ifaceNil;\n\t\tif (L.GetTop() === 0) {\n\t\t\tvalue = new LNumber(1);\n\t\t} else {\n\t\t\tvalue = L.Get(1);\n\t\t}\n\t\t_r = L.CheckTable(2); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tenv = _r;\n\t\t_tuple = $assertType(value, ptrType$7, true);\n\t\tfn = _tuple[0];\n\t\tok = _tuple[1];\n\t\t/* */ if (ok) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (ok) { */ case 2:\n\t\t\t/* */ if (fn.IsG) { $s = 4; continue; }\n\t\t\t/* */ $s = 5; continue;\n\t\t\t/* if (fn.IsG) { */ case 4:\n\t\t\t\t$r = L.RaiseError(\"cannot change the environment of given object\", new sliceType$6([])); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 6; continue;\n\t\t\t/* } else { */ case 5:\n\t\t\t\tfn.Env = env;\n\t\t\t\tL.Push(fn);\n\t\t\t\t$s = -1; return 1;\n\t\t\t/* } */ case 6:\n\t\t/* } */ case 3:\n\t\t_tuple$1 = $assertType(value, LNumber, true);\n\t\tnumber = _tuple$1[0];\n\t\tok$1 = _tuple$1[1];\n\t\t/* */ if (ok$1) { $s = 8; continue; }\n\t\t/* */ $s = 9; continue;\n\t\t/* if (ok$1) { */ case 8:\n\t\t\tlevel = (((number) >> 0));\n\t\t\tif (level <= 0) {\n\t\t\t\tL.Env = env;\n\t\t\t\t$s = -1; return 0;\n\t\t\t}\n\t\t\tcf = L.currentFrame;\n\t\t\ti = 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(i < level && !(cf === ptrType$10.nil))) { break; }\n\t\t\t\tcf = cf.Parent;\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t}\n\t\t\t/* */ if (cf === ptrType$10.nil || cf.Fn.IsG) { $s = 10; continue; }\n\t\t\t/* */ $s = 11; continue;\n\t\t\t/* if (cf === ptrType$10.nil || cf.Fn.IsG) { */ case 10:\n\t\t\t\t$r = L.RaiseError(\"cannot change the environment of given object\", new sliceType$6([])); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 12; continue;\n\t\t\t/* } else { */ case 11:\n\t\t\t\tcf.Fn.Env = env;\n\t\t\t\tL.Push(cf.Fn);\n\t\t\t\t$s = -1; return 1;\n\t\t\t/* } */ case 12:\n\t\t/* } */ case 9:\n\t\t$r = L.RaiseError(\"cannot change the environment of given object\", new sliceType$6([])); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: baseSetFEnv }; } $f.L = L; $f._r = _r; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.cf = cf; $f.env = env; $f.fn = fn; $f.i = i; $f.level = level; $f.number = number; $f.ok = ok; $f.ok$1 = ok$1; $f.value = value; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tbaseSetMetatable = function(L) {\n\t\tvar L, _r, _tuple, m, mt, obj, ok, tb, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _tuple = $f._tuple; m = $f.m; mt = $f.mt; obj = $f.obj; ok = $f.ok; tb = $f.tb; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = L.CheckTypes(2, new sliceType$8([0, 7])); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tobj = L.Get(1);\n\t\t/* */ if ($interfaceIsEqual(obj, $pkg.LNil)) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if ($interfaceIsEqual(obj, $pkg.LNil)) { */ case 2:\n\t\t\t$r = L.RaiseError(\"cannot set metatable to a nil object.\", new sliceType$6([])); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 3:\n\t\tmt = L.Get(2);\n\t\t_r = L.metatable(obj, true); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tm = _r;\n\t\t/* */ if (!($interfaceIsEqual(m, $pkg.LNil))) { $s = 6; continue; }\n\t\t/* */ $s = 7; continue;\n\t\t/* if (!($interfaceIsEqual(m, $pkg.LNil))) { */ case 6:\n\t\t\t_tuple = $assertType(m, ptrType$1, true);\n\t\t\ttb = _tuple[0];\n\t\t\tok = _tuple[1];\n\t\t\t/* */ if (ok && !($interfaceIsEqual(tb.RawGetString(\"__metatable\"), $pkg.LNil))) { $s = 8; continue; }\n\t\t\t/* */ $s = 9; continue;\n\t\t\t/* if (ok && !($interfaceIsEqual(tb.RawGetString(\"__metatable\"), $pkg.LNil))) { */ case 8:\n\t\t\t\t$r = L.RaiseError(\"cannot change a protected metatable\", new sliceType$6([])); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 9:\n\t\t/* } */ case 7:\n\t\t$r = L.SetMetatable(obj, mt); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tL.SetTop(1);\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: baseSetMetatable }; } $f.L = L; $f._r = _r; $f._tuple = _tuple; $f.m = m; $f.mt = mt; $f.obj = obj; $f.ok = ok; $f.tb = tb; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tbaseToNumber = function(L) {\n\t\tvar L, _r, _r$1, _r$2, _r$3, _r$4, _ref, _tmp, _tmp$1, _tuple, _tuple$1, _v, base, err, err$1, lv, lv$1, lv$2, noBase, str, v, v$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _ref = $f._ref; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _v = $f._v; base = $f.base; err = $f.err; err$1 = $f.err$1; lv = $f.lv; lv$1 = $f.lv$1; lv$2 = $f.lv$2; noBase = $f.noBase; str = $f.str; v = $f.v; v$1 = $f.v$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.OptInt(2, 10); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tbase = _r;\n\t\tnoBase = $interfaceIsEqual(L.Get(2), $pkg.LNil);\n\t\t_r$1 = L.CheckAny(1); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_ref = _r$1;\n\t\t/* */ if ($assertType(_ref, LNumber, true)[1]) { $s = 3; continue; }\n\t\t/* */ if ($assertType(_ref, LString, true)[1]) { $s = 4; continue; }\n\t\t/* */ $s = 5; continue;\n\t\t/* if ($assertType(_ref, LNumber, true)[1]) { */ case 3:\n\t\t\tlv = _ref.$val;\n\t\t\tL.Push(new LNumber(lv));\n\t\t\t$s = 6; continue;\n\t\t/* } else if ($assertType(_ref, LString, true)[1]) { */ case 4:\n\t\t\tlv$1 = _ref.$val;\n\t\t\t_r$2 = strings.Trim((lv$1), \" \\n\\t\"); /* */ $s = 7; case 7: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\tstr = _r$2;\n\t\t\t/* */ if (strings.Index(str, \".\") > -1) { $s = 8; continue; }\n\t\t\t/* */ $s = 9; continue;\n\t\t\t/* if (strings.Index(str, \".\") > -1) { */ case 8:\n\t\t\t\t_tuple = strconv.ParseFloat(str, 64);\n\t\t\t\tv = _tuple[0];\n\t\t\t\terr = _tuple[1];\n\t\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\t\tL.Push($pkg.LNil);\n\t\t\t\t} else {\n\t\t\t\t\tL.Push(new LNumber((v)));\n\t\t\t\t}\n\t\t\t\t$s = 10; continue;\n\t\t\t/* } else { */ case 9:\n\t\t\t\tif (!(noBase)) { _v = false; $s = 13; continue s; }\n\t\t\t\t_r$3 = strings.ToLower(str); /* */ $s = 14; case 14: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t_r$4 = strings.HasPrefix(_r$3, \"0x\"); /* */ $s = 15; case 15: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\t_v = _r$4; case 13:\n\t\t\t\t/* */ if (_v) { $s = 11; continue; }\n\t\t\t\t/* */ $s = 12; continue;\n\t\t\t\t/* if (_v) { */ case 11:\n\t\t\t\t\t_tmp = 16;\n\t\t\t\t\t_tmp$1 = $substring(str, 2);\n\t\t\t\t\tbase = _tmp;\n\t\t\t\t\tstr = _tmp$1;\n\t\t\t\t/* } */ case 12:\n\t\t\t\t_tuple$1 = strconv.ParseInt(str, base, 64);\n\t\t\t\tv$1 = _tuple$1[0];\n\t\t\t\terr$1 = _tuple$1[1];\n\t\t\t\tif (!($interfaceIsEqual(err$1, $ifaceNil))) {\n\t\t\t\t\tL.Push($pkg.LNil);\n\t\t\t\t} else {\n\t\t\t\t\tL.Push(new LNumber(($flatten64(v$1))));\n\t\t\t\t}\n\t\t\t/* } */ case 10:\n\t\t\t$s = 6; continue;\n\t\t/* } else { */ case 5:\n\t\t\tlv$2 = _ref;\n\t\t\tL.Push($pkg.LNil);\n\t\t/* } */ case 6:\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: baseToNumber }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._ref = _ref; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._v = _v; $f.base = base; $f.err = err; $f.err$1 = err$1; $f.lv = lv; $f.lv$1 = lv$1; $f.lv$2 = lv$2; $f.noBase = noBase; $f.str = str; $f.v = v; $f.v$1 = v$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tbaseToString = function(L) {\n\t\tvar L, _r, _r$1, v1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; v1 = $f.v1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckAny(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tv1 = _r;\n\t\t_r$1 = L.ToStringMeta(v1); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$r = L.Push(_r$1); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: baseToString }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.v1 = v1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tbaseType = function(L) {\n\t\tvar L, _r, _r$1, _r$2, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckAny(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = _r.Type(); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_r$2 = new LValueType(_r$1).String(); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t$r = L.Push(new LString((_r$2))); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: baseType }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tbaseUnpack = function(L) {\n\t\tvar L, _r, _r$1, _r$2, end, i, ret, start, tb, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; end = $f.end; i = $f.i; ret = $f.ret; start = $f.start; tb = $f.tb; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckTable(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\ttb = _r;\n\t\t_r$1 = L.OptInt(2, 1); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tstart = _r$1;\n\t\t_r$2 = L.OptInt(3, tb.Len()); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\tend = _r$2;\n\t\ti = start;\n\t\twhile (true) {\n\t\t\tif (!(i <= end)) { break; }\n\t\t\tL.Push(tb.RawGetInt(i));\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\tret = (end - start >> 0) + 1 >> 0;\n\t\tif (ret < 0) {\n\t\t\t$s = -1; return 0;\n\t\t}\n\t\t$s = -1; return ret;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: baseUnpack }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.end = end; $f.i = i; $f.ret = ret; $f.start = start; $f.tb = tb; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tbaseXPCall = function(L) {\n\t\tvar L, _r, _r$1, _r$2, _r$3, _tuple, aerr, err, errfunc, fn, ok, top, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _tuple = $f._tuple; aerr = $f.aerr; err = $f.err; errfunc = $f.errfunc; fn = $f.fn; ok = $f.ok; top = $f.top; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckFunction(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tfn = _r;\n\t\t_r$1 = L.CheckFunction(2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\terrfunc = _r$1;\n\t\ttop = L.GetTop();\n\t\tL.Push(fn);\n\t\t_r$2 = L.PCall(0, -1, errfunc); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\terr = _r$2;\n\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 4; continue; }\n\t\t/* */ $s = 5; continue;\n\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 4:\n\t\t\tL.Push(new LBool($pkg.LFalse));\n\t\t\t_tuple = $assertType(err, ptrType$11, true);\n\t\t\taerr = _tuple[0];\n\t\t\tok = _tuple[1];\n\t\t\t/* */ if (ok) { $s = 7; continue; }\n\t\t\t/* */ $s = 8; continue;\n\t\t\t/* if (ok) { */ case 7:\n\t\t\t\tL.Push(aerr.Object);\n\t\t\t\t$s = 9; continue;\n\t\t\t/* } else { */ case 8:\n\t\t\t\t_r$3 = err.Error(); /* */ $s = 10; case 10: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t$r = L.Push(new LString((_r$3))); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 9:\n\t\t\t$s = -1; return 2;\n\t\t/* } else { */ case 5:\n\t\t\tL.Insert(new LBool($pkg.LTrue), top + 1 >> 0);\n\t\t\t$s = -1; return L.GetTop() - top >> 0;\n\t\t/* } */ case 6:\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: baseXPCall }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._tuple = _tuple; $f.aerr = aerr; $f.err = err; $f.errfunc = errfunc; $f.fn = fn; $f.ok = ok; $f.top = top; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tloModule = function(L) {\n\t\tvar L, _r, _r$1, _r$2, _r$3, _r$4, _tuple, caller, i, loaded, name, names, ok, pname, tb, top, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _tuple = $f._tuple; caller = $f.caller; i = $f.i; loaded = $f.loaded; name = $f.name; names = $f.names; ok = $f.ok; pname = $f.pname; tb = $f.tb; top = $f.top; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckString(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tname = _r;\n\t\t_r$1 = L.GetField(L.Get(-10000), \"_LOADED\"); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tloaded = _r$1;\n\t\t_r$2 = L.GetField(loaded, name); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\ttb = _r$2;\n\t\t_tuple = $assertType(tb, ptrType$1, true);\n\t\tok = _tuple[1];\n\t\t/* */ if (!ok) { $s = 4; continue; }\n\t\t/* */ $s = 5; continue;\n\t\t/* if (!ok) { */ case 4:\n\t\t\t_r$3 = L.FindTable($assertType(L.Get(-10002), ptrType$1), name, 1); /* */ $s = 6; case 6: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\ttb = _r$3;\n\t\t\t/* */ if ($interfaceIsEqual(tb, $pkg.LNil)) { $s = 7; continue; }\n\t\t\t/* */ $s = 8; continue;\n\t\t\t/* if ($interfaceIsEqual(tb, $pkg.LNil)) { */ case 7:\n\t\t\t\t$r = L.RaiseError(\"name conflict for module: %v\", new sliceType$6([new $String(name)])); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 8:\n\t\t\t$r = L.SetField(loaded, name, tb); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 5:\n\t\t_r$4 = L.GetField(tb, \"_NAME\"); /* */ $s = 13; case 13: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t/* */ if ($interfaceIsEqual(_r$4, $pkg.LNil)) { $s = 11; continue; }\n\t\t/* */ $s = 12; continue;\n\t\t/* if ($interfaceIsEqual(_r$4, $pkg.LNil)) { */ case 11:\n\t\t\t$r = L.SetField(tb, \"_M\", tb); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$r = L.SetField(tb, \"_NAME\", new LString((name))); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\tnames = strings.Split(name, \".\");\n\t\t\tpname = \"\";\n\t\t\tif (names.$length > 1) {\n\t\t\t\tpname = strings.Join($subslice(names, 0, (names.$length - 1 >> 0)), \".\") + \".\";\n\t\t\t}\n\t\t\t$r = L.SetField(tb, \"_PACKAGE\", new LString((pname))); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 12:\n\t\tcaller = L.currentFrame.Parent;\n\t\t/* */ if (caller === ptrType$10.nil) { $s = 17; continue; }\n\t\t/* */ if (caller.Fn.IsG) { $s = 18; continue; }\n\t\t/* */ $s = 19; continue;\n\t\t/* if (caller === ptrType$10.nil) { */ case 17:\n\t\t\t$r = L.RaiseError(\"no calling stack.\", new sliceType$6([])); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 19; continue;\n\t\t/* } else if (caller.Fn.IsG) { */ case 18:\n\t\t\t$r = L.RaiseError(\"module() can not be called from GFunctions.\", new sliceType$6([])); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 19:\n\t\t$r = L.SetFEnv(caller.Fn, tb); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\ttop = L.GetTop();\n\t\ti = 2;\n\t\t/* while (true) { */ case 23:\n\t\t\t/* if (!(i <= top)) { break; } */ if(!(i <= top)) { $s = 24; continue; }\n\t\t\tL.Push(L.Get(i));\n\t\t\tL.Push(tb);\n\t\t\t$r = L.Call(1, 0); /* */ $s = 25; case 25: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\ti = i + (1) >> 0;\n\t\t/* } */ $s = 23; continue; case 24:\n\t\tL.Push(tb);\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: loModule }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._tuple = _tuple; $f.caller = caller; $f.i = i; $f.loaded = loaded; $f.name = name; $f.names = names; $f.ok = ok; $f.pname = pname; $f.tb = tb; $f.top = top; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tloRequire = function(L) {\n\t\tvar L, _r, _r$1, _r$2, _r$3, _r$4, _ref, _tuple, i, loaded, loader, loaders, lv, messages, modasfunc, modv, name, ok, ret, ret$1, retv, retv$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _ref = $f._ref; _tuple = $f._tuple; i = $f.i; loaded = $f.loaded; loader = $f.loader; loaders = $f.loaders; lv = $f.lv; messages = $f.messages; modasfunc = $f.modasfunc; modv = $f.modv; name = $f.name; ok = $f.ok; ret = $f.ret; ret$1 = $f.ret$1; retv = $f.retv; retv$1 = $f.retv$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckString(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tname = _r;\n\t\t_r$1 = L.GetField(L.Get(-10000), \"_LOADED\"); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tloaded = _r$1;\n\t\t_r$2 = L.GetField(loaded, name); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\tlv = _r$2;\n\t\t/* */ if (LVAsBool(lv)) { $s = 4; continue; }\n\t\t/* */ $s = 5; continue;\n\t\t/* if (LVAsBool(lv)) { */ case 4:\n\t\t\t/* */ if ($interfaceIsEqual(lv, loopdetection)) { $s = 6; continue; }\n\t\t\t/* */ $s = 7; continue;\n\t\t\t/* if ($interfaceIsEqual(lv, loopdetection)) { */ case 6:\n\t\t\t\t$r = L.RaiseError(\"loop or previous error loading module: %s\", new sliceType$6([new $String(name)])); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 7:\n\t\t\tL.Push(lv);\n\t\t\t$s = -1; return 1;\n\t\t/* } */ case 5:\n\t\t_r$3 = L.GetField(L.Get(-10000), \"_LOADERS\"); /* */ $s = 9; case 9: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t_tuple = $assertType(_r$3, ptrType$1, true);\n\t\tloaders = _tuple[0];\n\t\tok = _tuple[1];\n\t\t/* */ if (!ok) { $s = 10; continue; }\n\t\t/* */ $s = 11; continue;\n\t\t/* if (!ok) { */ case 10:\n\t\t\t$r = L.RaiseError(\"package.loaders must be a table\", new sliceType$6([])); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 11:\n\t\tmessages = new sliceType$1([]);\n\t\tmodasfunc = $ifaceNil;\n\t\ti = 1;\n\t\t/* while (true) { */ case 13:\n\t\t\tloader = L.RawGetInt(loaders, i);\n\t\t\t/* */ if ($interfaceIsEqual(loader, $pkg.LNil)) { $s = 15; continue; }\n\t\t\t/* */ $s = 16; continue;\n\t\t\t/* if ($interfaceIsEqual(loader, $pkg.LNil)) { */ case 15:\n\t\t\t\t$r = L.RaiseError(\"module %s not found:\\n\\t%s, \", new sliceType$6([new $String(name), new $String(strings.Join(messages, \"\\n\\t\"))])); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 16:\n\t\t\tL.Push(loader);\n\t\t\tL.Push(new LString((name)));\n\t\t\t$r = L.Call(1, 1); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\tret = L.reg.Pop();\n\t\t\t_ref = ret;\n\t\t\t/* */ if ($assertType(_ref, ptrType$7, true)[1]) { $s = 19; continue; }\n\t\t\t/* */ if ($assertType(_ref, LString, true)[1]) { $s = 20; continue; }\n\t\t\t/* */ $s = 21; continue;\n\t\t\t/* if ($assertType(_ref, ptrType$7, true)[1]) { */ case 19:\n\t\t\t\tretv = _ref.$val;\n\t\t\t\tmodasfunc = retv;\n\t\t\t\t/* goto loopbreak */ $s = 22; continue;\n\t\t\t\t$s = 21; continue;\n\t\t\t/* } else if ($assertType(_ref, LString, true)[1]) { */ case 20:\n\t\t\t\tretv$1 = _ref.$val;\n\t\t\t\tmessages = $append(messages, (retv$1));\n\t\t\t/* } */ case 21:\n\t\t\ti = i + (1) >> 0;\n\t\t/* } */ $s = 13; continue; case 14:\n\t\t/* loopbreak: */ case 22:\n\t\t$r = L.SetField(loaded, name, loopdetection); /* */ $s = 23; case 23: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tL.Push(modasfunc);\n\t\tL.Push(new LString((name)));\n\t\t$r = L.Call(1, 1); /* */ $s = 24; case 24: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tret$1 = L.reg.Pop();\n\t\t_r$4 = L.GetField(loaded, name); /* */ $s = 25; case 25: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\tmodv = _r$4;\n\t\t/* */ if (!($interfaceIsEqual(ret$1, $pkg.LNil)) && $interfaceIsEqual(modv, loopdetection)) { $s = 26; continue; }\n\t\t/* */ if ($interfaceIsEqual(modv, loopdetection)) { $s = 27; continue; }\n\t\t/* */ $s = 28; continue;\n\t\t/* if (!($interfaceIsEqual(ret$1, $pkg.LNil)) && $interfaceIsEqual(modv, loopdetection)) { */ case 26:\n\t\t\t$r = L.SetField(loaded, name, ret$1); /* */ $s = 30; case 30: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\tL.Push(ret$1);\n\t\t\t$s = 29; continue;\n\t\t/* } else if ($interfaceIsEqual(modv, loopdetection)) { */ case 27:\n\t\t\t$r = L.SetField(loaded, name, new LBool($pkg.LTrue)); /* */ $s = 31; case 31: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\tL.Push(new LBool($pkg.LTrue));\n\t\t\t$s = 29; continue;\n\t\t/* } else { */ case 28:\n\t\t\tL.Push(modv);\n\t\t/* } */ case 29:\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: loRequire }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._ref = _ref; $f._tuple = _tuple; $f.i = i; $f.loaded = loaded; $f.loader = loader; $f.loaders = loaders; $f.lv = lv; $f.messages = messages; $f.modasfunc = modasfunc; $f.modv = modv; $f.name = name; $f.ok = ok; $f.ret = ret; $f.ret$1 = ret$1; $f.retv = retv; $f.retv$1 = retv$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tbaseNewProxy = function(L) {\n\t\tvar L, _arg, _arg$1, _r, _tuple, d, ok, ud, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; _tuple = $f._tuple; d = $f.d; ok = $f.ok; ud = $f.ud; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tud = L.NewUserData();\n\t\tL.SetTop(1);\n\t\t/* */ if ($interfaceIsEqual(L.Get(1), new LBool($pkg.LTrue))) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if ($interfaceIsEqual(L.Get(1), new LBool($pkg.LTrue))) { */ case 1:\n\t\t\t$r = L.SetMetatable(ud, L.NewTable()); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 3; continue;\n\t\t/* } else { */ case 2:\n\t\t\t_tuple = $assertType(L.Get(1), ptrType$8, true);\n\t\t\td = _tuple[0];\n\t\t\tok = _tuple[1];\n\t\t\t/* */ if (ok) { $s = 5; continue; }\n\t\t\t/* */ $s = 6; continue;\n\t\t\t/* if (ok) { */ case 5:\n\t\t\t\t_arg = ud;\n\t\t\t\t_r = L.GetMetatable(d); /* */ $s = 7; case 7: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t_arg$1 = _r;\n\t\t\t\t$r = L.SetMetatable(_arg, _arg$1); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 6:\n\t\t/* } */ case 3:\n\t\tL.Push(ud);\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: baseNewProxy }; } $f.L = L; $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f._tuple = _tuple; $f.d = d; $f.ok = ok; $f.ud = ud; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tecupdate = function(ec, ctype, reg, varargopt) {\n\t\tvar ctype, ec, reg, varargopt;\n\t\tif (ec === _ecnone0 || ec === _ecnonem1 || ec === _ecnonem2) {\n\t\t\t$panic(new $String(\"can not update ec cache\"));\n\t\t}\n\t\tec.ctype = ctype;\n\t\tec.reg = reg;\n\t\tec.varargopt = varargopt;\n\t};\n\tecnone = function(varargopt) {\n\t\tvar _1, varargopt;\n\t\t_1 = varargopt;\n\t\tif (_1 === (0)) {\n\t\t\treturn _ecnone0;\n\t\t} else if (_1 === (-1)) {\n\t\t\treturn _ecnonem1;\n\t\t} else if (_1 === (-2)) {\n\t\t\treturn _ecnonem2;\n\t\t}\n\t\treturn new expcontext.ptr(6, 256, varargopt);\n\t};\n\tshouldmove = function(ec, reg) {\n\t\tvar ec, reg;\n\t\treturn (ec.ctype === 2) && !((ec.reg === 256)) && !((ec.reg === reg));\n\t};\n\tsline = function(pos) {\n\t\tvar _r, pos, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; pos = $f.pos; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = pos.Line(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: sline }; } $f._r = _r; $f.pos = pos; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\teline = function(pos) {\n\t\tvar _r, pos, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; pos = $f.pos; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = pos.LastLine(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: eline }; } $f._r = _r; $f.pos = pos; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tsavereg = function(ec, reg) {\n\t\tvar ec, reg;\n\t\tif (!((ec.ctype === 2)) || (ec.reg === 256)) {\n\t\t\treturn reg;\n\t\t}\n\t\treturn ec.reg;\n\t};\n\traiseCompileError = function(context$1, line, format, args) {\n\t\tvar _r, args, context$1, format, line, msg, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; args = $f.args; context$1 = $f.context$1; format = $f.format; line = $f.line; msg = $f.msg; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = fmt.Sprintf(format, args); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tmsg = _r;\n\t\t$panic(new CompileError.ptr(context$1, line, msg));\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: raiseCompileError }; } $f._r = _r; $f.args = args; $f.context$1 = context$1; $f.format = format; $f.line = line; $f.msg = msg; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tisVarArgReturnExpr = function(expr) {\n\t\tvar _ref, ex, ex$1, expr;\n\t\t_ref = expr;\n\t\tif ($assertType(_ref, ptrType$13, true)[1]) {\n\t\t\tex = _ref.$val;\n\t\t\treturn !ex.AdjustRet;\n\t\t} else if ($assertType(_ref, ptrType$14, true)[1]) {\n\t\t\tex$1 = _ref.$val;\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t};\n\tlnumberValue = function(expr) {\n\t\tvar _r, _tuple, _tuple$1, _tuple$2, err, ex, ex$1, expr, lv, ok, ok$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; err = $f.err; ex = $f.ex; ex$1 = $f.ex$1; expr = $f.expr; lv = $f.lv; ok = $f.ok; ok$1 = $f.ok$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_tuple = $assertType(expr, ptrType$15, true);\n\t\tex = _tuple[0];\n\t\tok = _tuple[1];\n\t\t/* */ if (ok) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (ok) { */ case 1:\n\t\t\t_r = parseNumber(ex.Value); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple$1 = _r;\n\t\t\tlv = _tuple$1[0];\n\t\t\terr = _tuple$1[1];\n\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\tlv = (math.NaN());\n\t\t\t}\n\t\t\t$s = -1; return [lv, true];\n\t\t/* } else { */ case 2:\n\t\t\t_tuple$2 = $assertType(expr, ptrType$16, true);\n\t\t\tex$1 = _tuple$2[0];\n\t\t\tok$1 = _tuple$2[1];\n\t\t\tif (ok$1) {\n\t\t\t\t$s = -1; return [$assertType(ex$1.Value, LNumber), true];\n\t\t\t}\n\t\t/* } */ case 3:\n\t\t$s = -1; return [0, false];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: lnumberValue }; } $f._r = _r; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f.err = err; $f.ex = ex; $f.ex$1 = ex$1; $f.expr = expr; $f.lv = lv; $f.ok = ok; $f.ok$1 = ok$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tCompileError.ptr.prototype.Error = function() {\n\t\tvar _r, e, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; e = $f.e; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\te = this;\n\t\t_r = fmt.Sprintf(\"compile error near line(%v) %v: %v\", new sliceType$6([new $Int(e.Line), new $String(e.context.Proto.SourceName), new $String(e.Message)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: CompileError.ptr.prototype.Error }; } $f._r = _r; $f.e = e; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tCompileError.prototype.Error = function() { return this.$val.Error(); };\n\tcodeStore.ptr.prototype.Add = function(inst, line) {\n\t\tvar cd, inst, l, line, x, x$1, x$2, x$3;\n\t\tcd = this;\n\t\tl = cd.codes.$length;\n\t\tif (l <= 0 || (cd.pc === l)) {\n\t\t\tcd.codes = $append(cd.codes, inst);\n\t\t\tcd.lines = $append(cd.lines, line);\n\t\t} else {\n\t\t\t(x = cd.codes, x$1 = cd.pc, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1] = inst));\n\t\t\t(x$2 = cd.lines, x$3 = cd.pc, ((x$3 < 0 || x$3 >= x$2.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$2.$array[x$2.$offset + x$3] = line));\n\t\t}\n\t\tcd.pc = cd.pc + (1) >> 0;\n\t};\n\tcodeStore.prototype.Add = function(inst, line) { return this.$val.Add(inst, line); };\n\tcodeStore.ptr.prototype.AddABC = function(op, a, b, c, line) {\n\t\tvar a, b, c, cd, line, op;\n\t\tcd = this;\n\t\tcd.Add(opCreateABC(op, a, b, c), line);\n\t};\n\tcodeStore.prototype.AddABC = function(op, a, b, c, line) { return this.$val.AddABC(op, a, b, c, line); };\n\tcodeStore.ptr.prototype.AddABx = function(op, a, bx, line) {\n\t\tvar a, bx, cd, line, op;\n\t\tcd = this;\n\t\tcd.Add(opCreateABx(op, a, bx), line);\n\t};\n\tcodeStore.prototype.AddABx = function(op, a, bx, line) { return this.$val.AddABx(op, a, bx, line); };\n\tcodeStore.ptr.prototype.AddASbx = function(op, a, sbx, line) {\n\t\tvar a, cd, line, op, sbx;\n\t\tcd = this;\n\t\tcd.Add(opCreateASbx(op, a, sbx), line);\n\t};\n\tcodeStore.prototype.AddASbx = function(op, a, sbx, line) { return this.$val.AddASbx(op, a, sbx, line); };\n\tcodeStore.ptr.prototype.PropagateKMV = function(top, save, reg, inc) {\n\t\tvar _1, cd, cindex, inc, lastinst, reg, save, top;\n\t\tcd = this;\n\t\tlastinst = cd.Last();\n\t\tif (opGetArgA(lastinst) >= top) {\n\t\t\t_1 = opGetOpCode(lastinst);\n\t\t\tif (_1 === (2)) {\n\t\t\t\tcindex = opGetArgBx(lastinst);\n\t\t\t\tif (cindex <= 255) {\n\t\t\t\t\tcd.Pop();\n\t\t\t\t\tsave.$set(opRkAsk(cindex));\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else if (_1 === (0)) {\n\t\t\t\tcd.Pop();\n\t\t\t\tsave.$set(opGetArgB(lastinst));\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tsave.$set(reg.$get());\n\t\treg.$set(reg.$get() + inc >> 0);\n\t};\n\tcodeStore.prototype.PropagateKMV = function(top, save, reg, inc) { return this.$val.PropagateKMV(top, save, reg, inc); };\n\tcodeStore.ptr.prototype.PropagateMV = function(top, save, reg, inc) {\n\t\tvar _1, cd, inc, lastinst, reg, save, top;\n\t\tcd = this;\n\t\tlastinst = cd.Last();\n\t\tif (opGetArgA(lastinst) >= top) {\n\t\t\t_1 = opGetOpCode(lastinst);\n\t\t\tif (_1 === (0)) {\n\t\t\t\tcd.Pop();\n\t\t\t\tsave.$set(opGetArgB(lastinst));\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tsave.$set(reg.$get());\n\t\treg.$set(reg.$get() + inc >> 0);\n\t};\n\tcodeStore.prototype.PropagateMV = function(top, save, reg, inc) { return this.$val.PropagateMV(top, save, reg, inc); };\n\tcodeStore.ptr.prototype.AddLoadNil = function(a, b, line) {\n\t\tvar a, b, cd, last, line;\n\t\tcd = this;\n\t\tlast = cd.Last();\n\t\tif ((opGetOpCode(last) === 4) && (((opGetArgA(last) + opGetArgB(last) >> 0)) === a)) {\n\t\t\tcd.SetB(cd.LastPC(), b);\n\t\t} else {\n\t\t\tcd.AddABC(4, a, b, 0, line);\n\t\t}\n\t};\n\tcodeStore.prototype.AddLoadNil = function(a, b, line) { return this.$val.AddLoadNil(a, b, line); };\n\tcodeStore.ptr.prototype.SetOpCode = function(pc, v) {\n\t\tvar cd, pc, v, x;\n\t\tcd = this;\n\t\topSetOpCode((x = cd.codes, $indexPtr(x.$array, x.$offset + pc, ptrType$17)), v);\n\t};\n\tcodeStore.prototype.SetOpCode = function(pc, v) { return this.$val.SetOpCode(pc, v); };\n\tcodeStore.ptr.prototype.SetA = function(pc, v) {\n\t\tvar cd, pc, v, x;\n\t\tcd = this;\n\t\topSetArgA((x = cd.codes, $indexPtr(x.$array, x.$offset + pc, ptrType$17)), v);\n\t};\n\tcodeStore.prototype.SetA = function(pc, v) { return this.$val.SetA(pc, v); };\n\tcodeStore.ptr.prototype.SetB = function(pc, v) {\n\t\tvar cd, pc, v, x;\n\t\tcd = this;\n\t\topSetArgB((x = cd.codes, $indexPtr(x.$array, x.$offset + pc, ptrType$17)), v);\n\t};\n\tcodeStore.prototype.SetB = function(pc, v) { return this.$val.SetB(pc, v); };\n\tcodeStore.ptr.prototype.SetC = function(pc, v) {\n\t\tvar cd, pc, v, x;\n\t\tcd = this;\n\t\topSetArgC((x = cd.codes, $indexPtr(x.$array, x.$offset + pc, ptrType$17)), v);\n\t};\n\tcodeStore.prototype.SetC = function(pc, v) { return this.$val.SetC(pc, v); };\n\tcodeStore.ptr.prototype.SetBx = function(pc, v) {\n\t\tvar cd, pc, v, x;\n\t\tcd = this;\n\t\topSetArgBx((x = cd.codes, $indexPtr(x.$array, x.$offset + pc, ptrType$17)), v);\n\t};\n\tcodeStore.prototype.SetBx = function(pc, v) { return this.$val.SetBx(pc, v); };\n\tcodeStore.ptr.prototype.SetSbx = function(pc, v) {\n\t\tvar cd, pc, v, x;\n\t\tcd = this;\n\t\topSetArgSbx((x = cd.codes, $indexPtr(x.$array, x.$offset + pc, ptrType$17)), v);\n\t};\n\tcodeStore.prototype.SetSbx = function(pc, v) { return this.$val.SetSbx(pc, v); };\n\tcodeStore.ptr.prototype.At = function(pc) {\n\t\tvar cd, pc, x;\n\t\tcd = this;\n\t\treturn (x = cd.codes, ((pc < 0 || pc >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + pc]));\n\t};\n\tcodeStore.prototype.At = function(pc) { return this.$val.At(pc); };\n\tcodeStore.ptr.prototype.List = function() {\n\t\tvar cd;\n\t\tcd = this;\n\t\treturn $subslice(cd.codes, 0, cd.pc);\n\t};\n\tcodeStore.prototype.List = function() { return this.$val.List(); };\n\tcodeStore.ptr.prototype.PosList = function() {\n\t\tvar cd;\n\t\tcd = this;\n\t\treturn $subslice(cd.lines, 0, cd.pc);\n\t};\n\tcodeStore.prototype.PosList = function() { return this.$val.PosList(); };\n\tcodeStore.ptr.prototype.LastPC = function() {\n\t\tvar cd;\n\t\tcd = this;\n\t\treturn cd.pc - 1 >> 0;\n\t};\n\tcodeStore.prototype.LastPC = function() { return this.$val.LastPC(); };\n\tcodeStore.ptr.prototype.Last = function() {\n\t\tvar cd, x, x$1;\n\t\tcd = this;\n\t\tif (cd.pc === 0) {\n\t\t\treturn 4294967295;\n\t\t}\n\t\treturn (x = cd.codes, x$1 = cd.pc - 1 >> 0, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1]));\n\t};\n\tcodeStore.prototype.Last = function() { return this.$val.Last(); };\n\tcodeStore.ptr.prototype.Pop = function() {\n\t\tvar cd;\n\t\tcd = this;\n\t\tcd.pc = cd.pc - (1) >> 0;\n\t};\n\tcodeStore.prototype.Pop = function() { return this.$val.Pop(); };\n\tnewVarNamePool = function(offset) {\n\t\tvar offset;\n\t\treturn new varNamePool.ptr($makeSlice(sliceType$1, 0, 16), offset);\n\t};\n\tvarNamePool.ptr.prototype.Names = function() {\n\t\tvar vp;\n\t\tvp = this;\n\t\treturn vp.names;\n\t};\n\tvarNamePool.prototype.Names = function() { return this.$val.Names(); };\n\tvarNamePool.ptr.prototype.List = function() {\n\t\tvar _i, _ref, i, name, result, vp;\n\t\tvp = this;\n\t\tresult = $makeSlice(sliceType$9, vp.names.$length, vp.names.$length);\n\t\t_ref = vp.names;\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\ti = _i;\n\t\t\tname = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\t((i < 0 || i >= result.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : result.$array[result.$offset + i]).Index = i + vp.offset >> 0;\n\t\t\t((i < 0 || i >= result.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : result.$array[result.$offset + i]).Name = name;\n\t\t\t_i++;\n\t\t}\n\t\treturn result;\n\t};\n\tvarNamePool.prototype.List = function() { return this.$val.List(); };\n\tvarNamePool.ptr.prototype.LastIndex = function() {\n\t\tvar vp;\n\t\tvp = this;\n\t\treturn vp.offset + vp.names.$length >> 0;\n\t};\n\tvarNamePool.prototype.LastIndex = function() { return this.$val.LastIndex(); };\n\tvarNamePool.ptr.prototype.Find = function(name) {\n\t\tvar i, name, vp, x;\n\t\tvp = this;\n\t\ti = vp.names.$length - 1 >> 0;\n\t\twhile (true) {\n\t\t\tif (!(i >= 0)) { break; }\n\t\t\tif ((x = vp.names, ((i < 0 || i >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + i])) === name) {\n\t\t\t\treturn i + vp.offset >> 0;\n\t\t\t}\n\t\t\ti = i - (1) >> 0;\n\t\t}\n\t\treturn -1;\n\t};\n\tvarNamePool.prototype.Find = function(name) { return this.$val.Find(name); };\n\tvarNamePool.ptr.prototype.RegisterUnique = function(name) {\n\t\tvar index, name, vp;\n\t\tvp = this;\n\t\tindex = vp.Find(name);\n\t\tif (index < 0) {\n\t\t\treturn vp.Register(name);\n\t\t}\n\t\treturn index;\n\t};\n\tvarNamePool.prototype.RegisterUnique = function(name) { return this.$val.RegisterUnique(name); };\n\tvarNamePool.ptr.prototype.Register = function(name) {\n\t\tvar name, vp;\n\t\tvp = this;\n\t\tvp.names = $append(vp.names, name);\n\t\treturn (vp.names.$length - 1 >> 0) + vp.offset >> 0;\n\t};\n\tvarNamePool.prototype.Register = function(name) { return this.$val.Register(name); };\n\tnewCodeBlock = function(localvars, blabel, parent, pos) {\n\t\tvar _r, _r$1, bl, blabel, localvars, parent, pos, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; bl = $f.bl; blabel = $f.blabel; localvars = $f.localvars; parent = $f.parent; pos = $f.pos; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tbl = new codeBlock.ptr(localvars, blabel, parent, false, 0, 0);\n\t\t/* */ if (!($interfaceIsEqual(pos, $ifaceNil))) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!($interfaceIsEqual(pos, $ifaceNil))) { */ case 1:\n\t\t\t_r = pos.Line(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tbl.LineStart = _r;\n\t\t\t_r$1 = pos.LastLine(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\tbl.LastLine = _r$1;\n\t\t/* } */ case 2:\n\t\t$s = -1; return bl;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: newCodeBlock }; } $f._r = _r; $f._r$1 = _r$1; $f.bl = bl; $f.blabel = blabel; $f.localvars = localvars; $f.parent = parent; $f.pos = pos; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tnewFuncContext = function(sourcename, parent) {\n\t\tvar _r, fc, parent, sourcename, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; fc = $f.fc; parent = $f.parent; sourcename = $f.sourcename; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = newCodeBlock(newVarNamePool(0), 0, ptrType$21.nil, $ifaceNil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tfc = new funcContext.ptr(newFunctionProto(sourcename), new codeStore.ptr($makeSlice(sliceType$11, 0, 1024), $makeSlice(sliceType$12, 0, 1024), 0), parent, newVarNamePool(0), _r, sliceType$10.nil, 0, 1, $makeMap($Int.keyFor, []));\n\t\tfc.Blocks = new sliceType$10([fc.Block]);\n\t\t$s = -1; return fc;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: newFuncContext }; } $f._r = _r; $f.fc = fc; $f.parent = parent; $f.sourcename = sourcename; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tfuncContext.ptr.prototype.NewLabel = function() {\n\t\tvar fc, ret;\n\t\tfc = this;\n\t\tret = fc.labelId;\n\t\tfc.labelId = fc.labelId + (1) >> 0;\n\t\treturn ret;\n\t};\n\tfuncContext.prototype.NewLabel = function() { return this.$val.NewLabel(); };\n\tfuncContext.ptr.prototype.SetLabelPc = function(label, pc) {\n\t\tvar _key, fc, label, pc;\n\t\tfc = this;\n\t\t_key = label; (fc.labelPc || $throwRuntimeError(\"assignment to entry in nil map\"))[$Int.keyFor(_key)] = { k: _key, v: pc };\n\t};\n\tfuncContext.prototype.SetLabelPc = function(label, pc) { return this.$val.SetLabelPc(label, pc); };\n\tfuncContext.ptr.prototype.GetLabelPc = function(label) {\n\t\tvar _entry, fc, label;\n\t\tfc = this;\n\t\treturn (_entry = fc.labelPc[$Int.keyFor(label)], _entry !== undefined ? _entry.v : 0);\n\t};\n\tfuncContext.prototype.GetLabelPc = function(label) { return this.$val.GetLabelPc(label); };\n\tfuncContext.ptr.prototype.ConstIndex = function(value) {\n\t\tvar _i, _r, _r$1, _ref, ctype, fc, i, lv, v, value, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _r = $f._r; _r$1 = $f._r$1; _ref = $f._ref; ctype = $f.ctype; fc = $f.fc; i = $f.i; lv = $f.lv; v = $f.v; value = $f.value; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tfc = this;\n\t\t_r = value.Type(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tctype = _r;\n\t\t_ref = fc.Proto.Constants;\n\t\t_i = 0;\n\t\t/* while (true) { */ case 2:\n\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 3; continue; }\n\t\t\ti = _i;\n\t\t\tlv = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\t_r$1 = lv.Type(); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t/* */ if ((_r$1 === ctype) && $interfaceIsEqual(lv, value)) { $s = 4; continue; }\n\t\t\t/* */ $s = 5; continue;\n\t\t\t/* if ((_r$1 === ctype) && $interfaceIsEqual(lv, value)) { */ case 4:\n\t\t\t\t$s = -1; return i;\n\t\t\t/* } */ case 5:\n\t\t\t_i++;\n\t\t/* } */ $s = 2; continue; case 3:\n\t\tfc.Proto.Constants = $append(fc.Proto.Constants, value);\n\t\tv = fc.Proto.Constants.$length - 1 >> 0;\n\t\t/* */ if (v > 262143) { $s = 7; continue; }\n\t\t/* */ $s = 8; continue;\n\t\t/* if (v > 262143) { */ case 7:\n\t\t\t$r = raiseCompileError(fc, fc.Proto.LineDefined, \"too many constants\", new sliceType$6([])); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 8:\n\t\t$s = -1; return v;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: funcContext.ptr.prototype.ConstIndex }; } $f._i = _i; $f._r = _r; $f._r$1 = _r$1; $f._ref = _ref; $f.ctype = ctype; $f.fc = fc; $f.i = i; $f.lv = lv; $f.v = v; $f.value = value; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tfuncContext.prototype.ConstIndex = function(value) { return this.$val.ConstIndex(value); };\n\tfuncContext.ptr.prototype.RegisterLocalVar = function(name) {\n\t\tvar fc, name, ret, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; fc = $f.fc; name = $f.name; ret = $f.ret; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tfc = this;\n\t\tret = fc.Block.LocalVars.Register(name);\n\t\tfc.Proto.DbgLocals = $append(fc.Proto.DbgLocals, new DbgLocalInfo.ptr(name, fc.Code.LastPC() + 1 >> 0, 0));\n\t\t$r = fc.SetRegTop(fc.RegTop() + 1 >> 0); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return ret;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: funcContext.ptr.prototype.RegisterLocalVar }; } $f.fc = fc; $f.name = name; $f.ret = ret; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tfuncContext.prototype.RegisterLocalVar = function(name) { return this.$val.RegisterLocalVar(name); };\n\tfuncContext.ptr.prototype.FindLocalVarAndBlock = function(name) {\n\t\tvar block, fc, index, name;\n\t\tfc = this;\n\t\tblock = fc.Block;\n\t\twhile (true) {\n\t\t\tif (!(!(block === ptrType$21.nil))) { break; }\n\t\t\tindex = block.LocalVars.Find(name);\n\t\t\tif (index > -1) {\n\t\t\t\treturn [index, block];\n\t\t\t}\n\t\t\tblock = block.Parent;\n\t\t}\n\t\treturn [-1, ptrType$21.nil];\n\t};\n\tfuncContext.prototype.FindLocalVarAndBlock = function(name) { return this.$val.FindLocalVarAndBlock(name); };\n\tfuncContext.ptr.prototype.FindLocalVar = function(name) {\n\t\tvar _tuple, fc, idx, name;\n\t\tfc = this;\n\t\t_tuple = fc.FindLocalVarAndBlock(name);\n\t\tidx = _tuple[0];\n\t\treturn idx;\n\t};\n\tfuncContext.prototype.FindLocalVar = function(name) { return this.$val.FindLocalVar(name); };\n\tfuncContext.ptr.prototype.LocalVars = function() {\n\t\tvar _i, _ref, block, fc, result;\n\t\tfc = this;\n\t\tresult = $makeSlice(sliceType$9, 0, 32);\n\t\t_ref = fc.Blocks;\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\tblock = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\tresult = $appendSlice(result, block.LocalVars.List());\n\t\t\t_i++;\n\t\t}\n\t\treturn result;\n\t};\n\tfuncContext.prototype.LocalVars = function() { return this.$val.LocalVars(); };\n\tfuncContext.ptr.prototype.EnterBlock = function(blabel, pos) {\n\t\tvar _r, blabel, fc, pos, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; blabel = $f.blabel; fc = $f.fc; pos = $f.pos; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tfc = this;\n\t\t_r = newCodeBlock(newVarNamePool(fc.RegTop()), blabel, fc.Block, pos); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tfc.Block = _r;\n\t\tfc.Blocks = $append(fc.Blocks, fc.Block);\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: funcContext.ptr.prototype.EnterBlock }; } $f._r = _r; $f.blabel = blabel; $f.fc = fc; $f.pos = pos; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tfuncContext.prototype.EnterBlock = function(blabel, pos) { return this.$val.EnterBlock(blabel, pos); };\n\tfuncContext.ptr.prototype.CloseUpvalues = function() {\n\t\tvar fc, n;\n\t\tfc = this;\n\t\tn = -1;\n\t\tif (fc.Block.RefUpvalue) {\n\t\t\tn = fc.Block.Parent.LocalVars.LastIndex();\n\t\t\tfc.Code.AddABC(38, n, 0, 0, fc.Block.LastLine);\n\t\t}\n\t\treturn n;\n\t};\n\tfuncContext.prototype.CloseUpvalues = function() { return this.$val.CloseUpvalues(); };\n\tfuncContext.ptr.prototype.LeaveBlock = function() {\n\t\tvar closed, fc, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; closed = $f.closed; fc = $f.fc; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tfc = this;\n\t\tclosed = fc.CloseUpvalues();\n\t\tfc.EndScope();\n\t\tfc.Block = fc.Block.Parent;\n\t\t$r = fc.SetRegTop(fc.Block.LocalVars.LastIndex()); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return closed;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: funcContext.ptr.prototype.LeaveBlock }; } $f.closed = closed; $f.fc = fc; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tfuncContext.prototype.LeaveBlock = function() { return this.$val.LeaveBlock(); };\n\tfuncContext.ptr.prototype.EndScope = function() {\n\t\tvar _i, _ref, fc, vr, x, x$1;\n\t\tfc = this;\n\t\t_ref = fc.Block.LocalVars.List();\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\tvr = $clone(((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]), varNamePoolValue);\n\t\t\t(x = fc.Proto.DbgLocals, x$1 = vr.Index, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1])).EndPc = fc.Code.LastPC();\n\t\t\t_i++;\n\t\t}\n\t};\n\tfuncContext.prototype.EndScope = function() { return this.$val.EndScope(); };\n\tfuncContext.ptr.prototype.SetRegTop = function(top) {\n\t\tvar fc, top, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; fc = $f.fc; top = $f.top; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tfc = this;\n\t\t/* */ if (top > 200) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (top > 200) { */ case 1:\n\t\t\t$r = raiseCompileError(fc, fc.Proto.LineDefined, \"too many local variables\", new sliceType$6([])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 2:\n\t\tfc.regTop = top;\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: funcContext.ptr.prototype.SetRegTop }; } $f.fc = fc; $f.top = top; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tfuncContext.prototype.SetRegTop = function(top) { return this.$val.SetRegTop(top); };\n\tfuncContext.ptr.prototype.RegTop = function() {\n\t\tvar fc;\n\t\tfc = this;\n\t\treturn fc.regTop;\n\t};\n\tfuncContext.prototype.RegTop = function() { return this.$val.RegTop(); };\n\tcompileChunk = function(context$1, chunk) {\n\t\tvar _i, _ref, chunk, context$1, stmt, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _ref = $f._ref; chunk = $f.chunk; context$1 = $f.context$1; stmt = $f.stmt; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_ref = chunk;\n\t\t_i = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 2; continue; }\n\t\t\tstmt = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\t$r = compileStmt(context$1, stmt); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t_i++;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: compileChunk }; } $f._i = _i; $f._ref = _ref; $f.chunk = chunk; $f.context$1 = context$1; $f.stmt = stmt; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcompileBlock = function(context$1, chunk) {\n\t\tvar _i, _r, _r$1, _r$2, _ref, chunk, context$1, ph, stmt, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _ref = $f._ref; chunk = $f.chunk; context$1 = $f.context$1; ph = $f.ph; stmt = $f.stmt; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tif (chunk.$length === 0) {\n\t\t\t$s = -1; return;\n\t\t}\n\t\tph = new ast.Node.ptr(0, 0);\n\t\t_r = sline((0 >= chunk.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : chunk.$array[chunk.$offset + 0])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$r = ph.SetLine(_r); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_r$1 = eline((x = chunk.$length - 1 >> 0, ((x < 0 || x >= chunk.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : chunk.$array[chunk.$offset + x]))); /* */ $s = 3; case 3: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$r = ph.SetLastLine(_r$1); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = context$1.EnterBlock(0, ph); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_ref = chunk;\n\t\t_i = 0;\n\t\t/* while (true) { */ case 6:\n\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 7; continue; }\n\t\t\tstmt = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\t$r = compileStmt(context$1, stmt); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t_i++;\n\t\t/* } */ $s = 6; continue; case 7:\n\t\t_r$2 = context$1.LeaveBlock(); /* */ $s = 9; case 9: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t_r$2;\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: compileBlock }; } $f._i = _i; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._ref = _ref; $f.chunk = chunk; $f.context$1 = context$1; $f.ph = ph; $f.stmt = stmt; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcompileStmt = function(context$1, stmt) {\n\t\tvar _r, _r$1, _ref, context$1, st, st$1, st$10, st$11, st$2, st$3, st$4, st$5, st$6, st$7, st$8, st$9, stmt, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _ref = $f._ref; context$1 = $f.context$1; st = $f.st; st$1 = $f.st$1; st$10 = $f.st$10; st$11 = $f.st$11; st$2 = $f.st$2; st$3 = $f.st$3; st$4 = $f.st$4; st$5 = $f.st$5; st$6 = $f.st$6; st$7 = $f.st$7; st$8 = $f.st$8; st$9 = $f.st$9; stmt = $f.stmt; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_ref = stmt;\n\t\t/* */ if ($assertType(_ref, ptrType$22, true)[1]) { $s = 1; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$23, true)[1]) { $s = 2; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$24, true)[1]) { $s = 3; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$25, true)[1]) { $s = 4; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$26, true)[1]) { $s = 5; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$27, true)[1]) { $s = 6; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$28, true)[1]) { $s = 7; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$29, true)[1]) { $s = 8; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$30, true)[1]) { $s = 9; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$31, true)[1]) { $s = 10; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$32, true)[1]) { $s = 11; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$33, true)[1]) { $s = 12; continue; }\n\t\t/* */ $s = 13; continue;\n\t\t/* if ($assertType(_ref, ptrType$22, true)[1]) { */ case 1:\n\t\t\tst = _ref.$val;\n\t\t\t$r = compileAssignStmt(context$1, st); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 13; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$23, true)[1]) { */ case 2:\n\t\t\tst$1 = _ref.$val;\n\t\t\t$r = compileLocalAssignStmt(context$1, st$1); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 13; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$24, true)[1]) { */ case 3:\n\t\t\tst$2 = _ref.$val;\n\t\t\t_r = compileFuncCallExpr(context$1, context$1.RegTop(), $assertType(st$2.Expr, ptrType$13), ecnone(-1)); /* */ $s = 16; case 16: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_r;\n\t\t\t$s = 13; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$25, true)[1]) { */ case 4:\n\t\t\tst$3 = _ref.$val;\n\t\t\t$r = context$1.EnterBlock(0, st$3); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$r = compileChunk(context$1, st$3.Stmts); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t_r$1 = context$1.LeaveBlock(); /* */ $s = 19; case 19: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_r$1;\n\t\t\t$s = 13; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$26, true)[1]) { */ case 5:\n\t\t\tst$4 = _ref.$val;\n\t\t\t$r = compileWhileStmt(context$1, st$4); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 13; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$27, true)[1]) { */ case 6:\n\t\t\tst$5 = _ref.$val;\n\t\t\t$r = compileRepeatStmt(context$1, st$5); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 13; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$28, true)[1]) { */ case 7:\n\t\t\tst$6 = _ref.$val;\n\t\t\t$r = compileFuncDefStmt(context$1, st$6); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 13; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$29, true)[1]) { */ case 8:\n\t\t\tst$7 = _ref.$val;\n\t\t\t$r = compileReturnStmt(context$1, st$7); /* */ $s = 23; case 23: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 13; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$30, true)[1]) { */ case 9:\n\t\t\tst$8 = _ref.$val;\n\t\t\t$r = compileIfStmt(context$1, st$8); /* */ $s = 24; case 24: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 13; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$31, true)[1]) { */ case 10:\n\t\t\tst$9 = _ref.$val;\n\t\t\t$r = compileBreakStmt(context$1, st$9); /* */ $s = 25; case 25: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 13; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$32, true)[1]) { */ case 11:\n\t\t\tst$10 = _ref.$val;\n\t\t\t$r = compileNumberForStmt(context$1, st$10); /* */ $s = 26; case 26: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 13; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$33, true)[1]) { */ case 12:\n\t\t\tst$11 = _ref.$val;\n\t\t\t$r = compileGenericForStmt(context$1, st$11); /* */ $s = 27; case 27: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 13:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: compileStmt }; } $f._r = _r; $f._r$1 = _r$1; $f._ref = _ref; $f.context$1 = context$1; $f.st = st; $f.st$1 = st$1; $f.st$10 = st$10; $f.st$11 = st$11; $f.st$2 = st$2; $f.st$3 = st$3; $f.st$4 = st$4; $f.st$5 = st$5; $f.st$6 = st$6; $f.st$7 = st$7; $f.st$8 = st$8; $f.st$9 = st$9; $f.stmt = stmt; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcompileAssignStmtLeft = function(context$1, stmt) {\n\t\tvar _1, _i, _r, _r$1, _ref, _ref$1, _tuple, ac, acs, context$1, ec, i, identtype, islast, lhs, ok, reg, st, st$1, st$2, stmt, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _i = $f._i; _r = $f._r; _r$1 = $f._r$1; _ref = $f._ref; _ref$1 = $f._ref$1; _tuple = $f._tuple; ac = $f.ac; acs = $f.acs; context$1 = $f.context$1; ec = $f.ec; i = $f.i; identtype = $f.identtype; islast = $f.islast; lhs = $f.lhs; ok = $f.ok; reg = $f.reg; st = $f.st; st$1 = $f.st$1; st$2 = $f.st$2; stmt = $f.stmt; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\treg = [reg];\n\t\treg[0] = context$1.RegTop();\n\t\tacs = $makeSlice(sliceType$13, 0, stmt.Lhs.$length);\n\t\t_ref = stmt.Lhs;\n\t\t_i = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 2; continue; }\n\t\t\ti = _i;\n\t\t\tlhs = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\tislast = i === (stmt.Lhs.$length - 1 >> 0);\n\t\t\t_ref$1 = lhs;\n\t\t\t/* */ if ($assertType(_ref$1, ptrType$35, true)[1]) { $s = 3; continue; }\n\t\t\t/* */ if ($assertType(_ref$1, ptrType$36, true)[1]) { $s = 4; continue; }\n\t\t\t/* */ $s = 5; continue;\n\t\t\t/* if ($assertType(_ref$1, ptrType$35, true)[1]) { */ case 3:\n\t\t\t\tst = _ref$1.$val;\n\t\t\t\tidenttype = getIdentRefType(context$1, context$1, st);\n\t\t\t\tec = new expcontext.ptr(identtype, 256, 0);\n\t\t\t\t\t_1 = identtype;\n\t\t\t\t\t/* */ if (_1 === (0)) { $s = 8; continue; }\n\t\t\t\t\t/* */ if (_1 === (1)) { $s = 9; continue; }\n\t\t\t\t\t/* */ if (_1 === (2)) { $s = 10; continue; }\n\t\t\t\t\t/* */ $s = 11; continue;\n\t\t\t\t\t/* if (_1 === (0)) { */ case 8:\n\t\t\t\t\t\t_r = context$1.ConstIndex(new LString((st.Value))); /* */ $s = 12; case 12: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t\t\t_r;\n\t\t\t\t\t\t$s = 11; continue;\n\t\t\t\t\t/* } else if (_1 === (1)) { */ case 9:\n\t\t\t\t\t\tcontext$1.Upvalues.RegisterUnique(st.Value);\n\t\t\t\t\t\t$s = 11; continue;\n\t\t\t\t\t/* } else if (_1 === (2)) { */ case 10:\n\t\t\t\t\t\tif (islast) {\n\t\t\t\t\t\t\tec.reg = context$1.FindLocalVar(st.Value);\n\t\t\t\t\t\t}\n\t\t\t\t\t/* } */ case 11:\n\t\t\t\tcase 7:\n\t\t\t\tacs = $append(acs, new assigncontext.ptr(ec, 0, 0, false, false));\n\t\t\t\t$s = 6; continue;\n\t\t\t/* } else if ($assertType(_ref$1, ptrType$36, true)[1]) { */ case 4:\n\t\t\t\tst$1 = _ref$1.$val;\n\t\t\t\tac = new assigncontext.ptr(new expcontext.ptr(3, 256, 0), 0, 0, false, false);\n\t\t\t\t$r = compileExprWithKMVPropagation(context$1, st$1.Object, (reg.$ptr || (reg.$ptr = new ptrType$37(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, reg))), (x = ac.ec, (x.$ptr_reg || (x.$ptr_reg = new ptrType$37(function() { return this.$target.reg; }, function($v) { this.$target.reg = $v; }, x))))); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\tac.keyrk = reg[0];\n\t\t\t\t_r$1 = compileExpr(context$1, reg[0], st$1.Key, ecnone(0)); /* */ $s = 14; case 14: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\treg[0] = reg[0] + (_r$1) >> 0;\n\t\t\t\t_tuple = $assertType(st$1.Key, ptrType$38, true);\n\t\t\t\tok = _tuple[1];\n\t\t\t\tif (ok) {\n\t\t\t\t\tac.keyks = true;\n\t\t\t\t}\n\t\t\t\tacs = $append(acs, ac);\n\t\t\t\t$s = 6; continue;\n\t\t\t/* } else { */ case 5:\n\t\t\t\tst$2 = _ref$1;\n\t\t\t\t$panic(new $String(\"invalid left expression.\"));\n\t\t\t/* } */ case 6:\n\t\t\t_i++;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return [reg[0], acs];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: compileAssignStmtLeft }; } $f._1 = _1; $f._i = _i; $f._r = _r; $f._r$1 = _r$1; $f._ref = _ref; $f._ref$1 = _ref$1; $f._tuple = _tuple; $f.ac = ac; $f.acs = acs; $f.context$1 = context$1; $f.ec = ec; $f.i = i; $f.identtype = identtype; $f.islast = islast; $f.lhs = lhs; $f.ok = ok; $f.reg = reg; $f.st = st; $f.st$1 = st$1; $f.st$2 = st$2; $f.stmt = stmt; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcompileAssignStmtRight = function(context$1, stmt, reg, acs) {\n\t\tvar _r, _r$1, _r$2, _r$3, _r$4, _tuple, ac, acs, context$1, ec, expr, i, i$1, idx, lenexprs, lennames, namesassigned, ok, reg, reginc, reginc$1, regstart, rightreg, stmt, varargopt, varargopt$1, x, x$1, x$2, x$3, x$4, x$5, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _tuple = $f._tuple; ac = $f.ac; acs = $f.acs; context$1 = $f.context$1; ec = $f.ec; expr = $f.expr; i = $f.i; i$1 = $f.i$1; idx = $f.idx; lenexprs = $f.lenexprs; lennames = $f.lennames; namesassigned = $f.namesassigned; ok = $f.ok; reg = $f.reg; reginc = $f.reginc; reginc$1 = $f.reginc$1; regstart = $f.regstart; rightreg = $f.rightreg; stmt = $f.stmt; varargopt = $f.varargopt; varargopt$1 = $f.varargopt$1; x = $f.x; x$1 = $f.x$1; x$2 = $f.x$2; x$3 = $f.x$3; x$4 = $f.x$4; x$5 = $f.x$5; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\treg = [reg];\n\t\tlennames = stmt.Lhs.$length;\n\t\tlenexprs = stmt.Rhs.$length;\n\t\tnamesassigned = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(namesassigned < lennames)) { break; } */ if(!(namesassigned < lennames)) { $s = 2; continue; }\n\t\t\tac = ((namesassigned < 0 || namesassigned >= acs.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : acs.$array[acs.$offset + namesassigned]);\n\t\t\tec = ac.ec;\n\t\t\texpr = $ifaceNil;\n\t\t\t/* */ if (namesassigned >= lenexprs) { $s = 3; continue; }\n\t\t\t/* */ if (isVarArgReturnExpr((x = stmt.Rhs, ((namesassigned < 0 || namesassigned >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + namesassigned]))) && (((lenexprs - namesassigned >> 0) - 1 >> 0)) <= 0) { $s = 4; continue; }\n\t\t\t/* */ $s = 5; continue;\n\t\t\t/* if (namesassigned >= lenexprs) { */ case 3:\n\t\t\t\texpr = new ast.NilExpr.ptr(new ast.ConstExprBase.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0))));\n\t\t\t\t_r = sline((x$1 = stmt.Lhs, ((namesassigned < 0 || namesassigned >= x$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$1.$array[x$1.$offset + namesassigned]))); /* */ $s = 6; case 6: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t$r = expr.SetLine(_r); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t_r$1 = eline((x$2 = stmt.Lhs, ((namesassigned < 0 || namesassigned >= x$2.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$2.$array[x$2.$offset + namesassigned]))); /* */ $s = 8; case 8: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t$r = expr.SetLastLine(_r$1); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 5; continue;\n\t\t\t/* } else if (isVarArgReturnExpr((x = stmt.Rhs, ((namesassigned < 0 || namesassigned >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + namesassigned]))) && (((lenexprs - namesassigned >> 0) - 1 >> 0)) <= 0) { */ case 4:\n\t\t\t\tvarargopt = (lennames - namesassigned >> 0) - 1 >> 0;\n\t\t\t\tregstart = reg[0];\n\t\t\t\t_r$2 = compileExpr(context$1, reg[0], (x$3 = stmt.Rhs, ((namesassigned < 0 || namesassigned >= x$3.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$3.$array[x$3.$offset + namesassigned])), ecnone(varargopt)); /* */ $s = 10; case 10: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\treginc = _r$2;\n\t\t\t\treg[0] = reg[0] + (reginc) >> 0;\n\t\t\t\ti = namesassigned;\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (!(i < (namesassigned + (reginc) >> 0))) { break; }\n\t\t\t\t\t((i < 0 || i >= acs.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : acs.$array[acs.$offset + i]).needmove = true;\n\t\t\t\t\tif (((i < 0 || i >= acs.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : acs.$array[acs.$offset + i]).ec.ctype === 3) {\n\t\t\t\t\t\t((i < 0 || i >= acs.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : acs.$array[acs.$offset + i]).valuerk = regstart + ((i - namesassigned >> 0)) >> 0;\n\t\t\t\t\t}\n\t\t\t\t\ti = i + (1) >> 0;\n\t\t\t\t}\n\t\t\t\tnamesassigned = lennames;\n\t\t\t\t/* continue; */ $s = 1; continue;\n\t\t\t/* } */ case 5:\n\t\t\tif ($interfaceIsEqual(expr, $ifaceNil)) {\n\t\t\t\texpr = (x$4 = stmt.Rhs, ((namesassigned < 0 || namesassigned >= x$4.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$4.$array[x$4.$offset + namesassigned]));\n\t\t\t}\n\t\t\tidx = reg[0];\n\t\t\t_r$3 = compileExpr(context$1, reg[0], expr, ec); /* */ $s = 11; case 11: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\treginc$1 = _r$3;\n\t\t\tif (ec.ctype === 3) {\n\t\t\t\t_tuple = $assertType(expr, ptrType$39, true);\n\t\t\t\tok = _tuple[1];\n\t\t\t\tif (!ok) {\n\t\t\t\t\tcontext$1.Code.PropagateKMV(context$1.RegTop(), (ac.$ptr_valuerk || (ac.$ptr_valuerk = new ptrType$37(function() { return this.$target.valuerk; }, function($v) { this.$target.valuerk = $v; }, ac))), (reg.$ptr || (reg.$ptr = new ptrType$37(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, reg))), reginc$1);\n\t\t\t\t} else {\n\t\t\t\t\tac.valuerk = idx;\n\t\t\t\t\treg[0] = reg[0] + (reginc$1) >> 0;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tac.needmove = !((reginc$1 === 0));\n\t\t\t\treg[0] = reg[0] + (reginc$1) >> 0;\n\t\t\t}\n\t\t\tnamesassigned = namesassigned + (1) >> 0;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\trightreg = reg[0] - 1 >> 0;\n\t\ti$1 = namesassigned;\n\t\t/* while (true) { */ case 12:\n\t\t\t/* if (!(i$1 < lenexprs)) { break; } */ if(!(i$1 < lenexprs)) { $s = 13; continue; }\n\t\t\tvarargopt$1 = -1;\n\t\t\tif (!((i$1 === (lenexprs - 1 >> 0)))) {\n\t\t\t\tvarargopt$1 = 0;\n\t\t\t}\n\t\t\t_r$4 = compileExpr(context$1, reg[0], (x$5 = stmt.Rhs, ((i$1 < 0 || i$1 >= x$5.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$5.$array[x$5.$offset + i$1])), ecnone(varargopt$1)); /* */ $s = 14; case 14: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\treg[0] = reg[0] + (_r$4) >> 0;\n\t\t\ti$1 = i$1 + (1) >> 0;\n\t\t/* } */ $s = 12; continue; case 13:\n\t\t$s = -1; return [rightreg, acs];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: compileAssignStmtRight }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._tuple = _tuple; $f.ac = ac; $f.acs = acs; $f.context$1 = context$1; $f.ec = ec; $f.expr = expr; $f.i = i; $f.i$1 = i$1; $f.idx = idx; $f.lenexprs = lenexprs; $f.lennames = lennames; $f.namesassigned = namesassigned; $f.ok = ok; $f.reg = reg; $f.reginc = reginc; $f.reginc$1 = reginc$1; $f.regstart = regstart; $f.rightreg = rightreg; $f.stmt = stmt; $f.varargopt = varargopt; $f.varargopt$1 = varargopt$1; $f.x = x; $f.x$1 = x$1; $f.x$2 = x$2; $f.x$3 = x$3; $f.x$4 = x$4; $f.x$5 = x$5; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcompileAssignStmt = function(context$1, stmt) {\n\t\tvar _1, _arg, _arg$1, _arg$10, _arg$11, _arg$12, _arg$13, _arg$2, _arg$3, _arg$4, _arg$5, _arg$6, _arg$7, _arg$8, _arg$9, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _tuple, _tuple$1, acs, code, context$1, ex, i, lennames, opcode, reg, stmt, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$10 = $f._arg$10; _arg$11 = $f._arg$11; _arg$12 = $f._arg$12; _arg$13 = $f._arg$13; _arg$2 = $f._arg$2; _arg$3 = $f._arg$3; _arg$4 = $f._arg$4; _arg$5 = $f._arg$5; _arg$6 = $f._arg$6; _arg$7 = $f._arg$7; _arg$8 = $f._arg$8; _arg$9 = $f._arg$9; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; acs = $f.acs; code = $f.code; context$1 = $f.context$1; ex = $f.ex; i = $f.i; lennames = $f.lennames; opcode = $f.opcode; reg = $f.reg; stmt = $f.stmt; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tcode = context$1.Code;\n\t\tlennames = stmt.Lhs.$length;\n\t\t_r = compileAssignStmtLeft(context$1, stmt); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\treg = _tuple[0];\n\t\tacs = _tuple[1];\n\t\t_r$1 = compileAssignStmtRight(context$1, stmt, reg, acs); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_tuple$1 = _r$1;\n\t\treg = _tuple$1[0];\n\t\tacs = _tuple$1[1];\n\t\ti = lennames - 1 >> 0;\n\t\t/* while (true) { */ case 3:\n\t\t\t/* if (!(i >= 0)) { break; } */ if(!(i >= 0)) { $s = 4; continue; }\n\t\t\tex = (x = stmt.Lhs, ((i < 0 || i >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + i]));\n\t\t\t\t_1 = ((i < 0 || i >= acs.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : acs.$array[acs.$offset + i]).ec.ctype;\n\t\t\t\t/* */ if (_1 === (2)) { $s = 6; continue; }\n\t\t\t\t/* */ if (_1 === (0)) { $s = 7; continue; }\n\t\t\t\t/* */ if (_1 === (1)) { $s = 8; continue; }\n\t\t\t\t/* */ if (_1 === (3)) { $s = 9; continue; }\n\t\t\t\t/* */ $s = 10; continue;\n\t\t\t\t/* if (_1 === (2)) { */ case 6:\n\t\t\t\t\t/* */ if (((i < 0 || i >= acs.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : acs.$array[acs.$offset + i]).needmove) { $s = 11; continue; }\n\t\t\t\t\t/* */ $s = 12; continue;\n\t\t\t\t\t/* if (((i < 0 || i >= acs.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : acs.$array[acs.$offset + i]).needmove) { */ case 11:\n\t\t\t\t\t\t_arg = context$1.FindLocalVar($assertType(ex, ptrType$35).Value);\n\t\t\t\t\t\t_arg$1 = reg;\n\t\t\t\t\t\t_r$2 = sline(ex); /* */ $s = 13; case 13: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t\t\t_arg$2 = _r$2;\n\t\t\t\t\t\t$r = code.AddABC(0, _arg, _arg$1, 0, _arg$2); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t\treg = reg - (1) >> 0;\n\t\t\t\t\t/* } */ case 12:\n\t\t\t\t\t$s = 10; continue;\n\t\t\t\t/* } else if (_1 === (0)) { */ case 7:\n\t\t\t\t\t_arg$3 = reg;\n\t\t\t\t\t_r$3 = context$1.ConstIndex(new LString(($assertType(ex, ptrType$35).Value))); /* */ $s = 15; case 15: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t\t_arg$4 = _r$3;\n\t\t\t\t\t_r$4 = sline(ex); /* */ $s = 16; case 16: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\t\t_arg$5 = _r$4;\n\t\t\t\t\t$r = code.AddABx(9, _arg$3, _arg$4, _arg$5); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\treg = reg - (1) >> 0;\n\t\t\t\t\t$s = 10; continue;\n\t\t\t\t/* } else if (_1 === (1)) { */ case 8:\n\t\t\t\t\t_arg$6 = reg;\n\t\t\t\t\t_arg$7 = context$1.Upvalues.RegisterUnique($assertType(ex, ptrType$35).Value);\n\t\t\t\t\t_r$5 = sline(ex); /* */ $s = 18; case 18: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t\t\t_arg$8 = _r$5;\n\t\t\t\t\t$r = code.AddABC(10, _arg$6, _arg$7, 0, _arg$8); /* */ $s = 19; case 19: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\treg = reg - (1) >> 0;\n\t\t\t\t\t$s = 10; continue;\n\t\t\t\t/* } else if (_1 === (3)) { */ case 9:\n\t\t\t\t\topcode = 11;\n\t\t\t\t\tif (((i < 0 || i >= acs.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : acs.$array[acs.$offset + i]).keyks) {\n\t\t\t\t\t\topcode = 12;\n\t\t\t\t\t}\n\t\t\t\t\t_arg$9 = opcode;\n\t\t\t\t\t_arg$10 = ((i < 0 || i >= acs.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : acs.$array[acs.$offset + i]).ec.reg;\n\t\t\t\t\t_arg$11 = ((i < 0 || i >= acs.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : acs.$array[acs.$offset + i]).keyrk;\n\t\t\t\t\t_arg$12 = ((i < 0 || i >= acs.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : acs.$array[acs.$offset + i]).valuerk;\n\t\t\t\t\t_r$6 = sline(ex); /* */ $s = 20; case 20: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t\t\t\t_arg$13 = _r$6;\n\t\t\t\t\t$r = code.AddABC(_arg$9, _arg$10, _arg$11, _arg$12, _arg$13); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\tif (!opIsK(((i < 0 || i >= acs.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : acs.$array[acs.$offset + i]).valuerk)) {\n\t\t\t\t\t\treg = reg - (1) >> 0;\n\t\t\t\t\t}\n\t\t\t\t/* } */ case 10:\n\t\t\tcase 5:\n\t\t\ti = i - (1) >> 0;\n\t\t/* } */ $s = 3; continue; case 4:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: compileAssignStmt }; } $f._1 = _1; $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$10 = _arg$10; $f._arg$11 = _arg$11; $f._arg$12 = _arg$12; $f._arg$13 = _arg$13; $f._arg$2 = _arg$2; $f._arg$3 = _arg$3; $f._arg$4 = _arg$4; $f._arg$5 = _arg$5; $f._arg$6 = _arg$6; $f._arg$7 = _arg$7; $f._arg$8 = _arg$8; $f._arg$9 = _arg$9; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.acs = acs; $f.code = code; $f.context$1 = context$1; $f.ex = ex; $f.i = i; $f.lennames = lennames; $f.opcode = opcode; $f.reg = reg; $f.stmt = stmt; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcompileRegAssignment = function(context$1, names, exprs, reg, nvars, line) {\n\t\tvar _r, _r$1, _r$2, context$1, ec, exprs, i, lenexprs, lennames, line, names, namesassigned, nvars, reg, restleft, varargopt, varargopt$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; context$1 = $f.context$1; ec = $f.ec; exprs = $f.exprs; i = $f.i; lenexprs = $f.lenexprs; lennames = $f.lennames; line = $f.line; names = $f.names; namesassigned = $f.namesassigned; nvars = $f.nvars; reg = $f.reg; restleft = $f.restleft; varargopt = $f.varargopt; varargopt$1 = $f.varargopt$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tlennames = names.$length;\n\t\tlenexprs = exprs.$length;\n\t\tnamesassigned = 0;\n\t\tec = new expcontext.ptr(0, 0, 0);\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(namesassigned < lennames && namesassigned < lenexprs)) { break; } */ if(!(namesassigned < lennames && namesassigned < lenexprs)) { $s = 2; continue; }\n\t\t\t/* */ if (isVarArgReturnExpr(((namesassigned < 0 || namesassigned >= exprs.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : exprs.$array[exprs.$offset + namesassigned])) && (((lenexprs - namesassigned >> 0) - 1 >> 0)) <= 0) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (isVarArgReturnExpr(((namesassigned < 0 || namesassigned >= exprs.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : exprs.$array[exprs.$offset + namesassigned])) && (((lenexprs - namesassigned >> 0) - 1 >> 0)) <= 0) { */ case 3:\n\t\t\t\tvarargopt = nvars - namesassigned >> 0;\n\t\t\t\tecupdate(ec, 4, reg, varargopt - 1 >> 0);\n\t\t\t\t_r = compileExpr(context$1, reg, ((namesassigned < 0 || namesassigned >= exprs.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : exprs.$array[exprs.$offset + namesassigned]), ec); /* */ $s = 6; case 6: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t_r;\n\t\t\t\treg = reg + (varargopt) >> 0;\n\t\t\t\tnamesassigned = lennames;\n\t\t\t\t$s = 5; continue;\n\t\t\t/* } else { */ case 4:\n\t\t\t\tecupdate(ec, 2, reg, 0);\n\t\t\t\t_r$1 = compileExpr(context$1, reg, ((namesassigned < 0 || namesassigned >= exprs.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : exprs.$array[exprs.$offset + namesassigned]), ec); /* */ $s = 7; case 7: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t_r$1;\n\t\t\t\treg = reg + (1) >> 0;\n\t\t\t\tnamesassigned = namesassigned + (1) >> 0;\n\t\t\t/* } */ case 5:\n\t\t/* } */ $s = 1; continue; case 2:\n\t\tif (lennames > namesassigned) {\n\t\t\trestleft = (lennames - namesassigned >> 0) - 1 >> 0;\n\t\t\tcontext$1.Code.AddLoadNil(reg, reg + restleft >> 0, line);\n\t\t\treg = reg + (restleft) >> 0;\n\t\t}\n\t\ti = namesassigned;\n\t\t/* while (true) { */ case 8:\n\t\t\t/* if (!(i < lenexprs)) { break; } */ if(!(i < lenexprs)) { $s = 9; continue; }\n\t\t\tvarargopt$1 = -1;\n\t\t\tif (!((i === (lenexprs - 1 >> 0)))) {\n\t\t\t\tvarargopt$1 = 0;\n\t\t\t}\n\t\t\tecupdate(ec, 6, reg, varargopt$1);\n\t\t\t_r$2 = compileExpr(context$1, reg, ((i < 0 || i >= exprs.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : exprs.$array[exprs.$offset + i]), ec); /* */ $s = 10; case 10: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\treg = reg + (_r$2) >> 0;\n\t\t\ti = i + (1) >> 0;\n\t\t/* } */ $s = 8; continue; case 9:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: compileRegAssignment }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.context$1 = context$1; $f.ec = ec; $f.exprs = exprs; $f.i = i; $f.lenexprs = lenexprs; $f.lennames = lennames; $f.line = line; $f.names = names; $f.namesassigned = namesassigned; $f.nvars = nvars; $f.reg = reg; $f.restleft = restleft; $f.varargopt = varargopt; $f.varargopt$1 = varargopt$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcompileLocalAssignStmt = function(context$1, stmt) {\n\t\tvar _arg, _arg$1, _arg$10, _arg$11, _arg$2, _arg$3, _arg$4, _arg$5, _arg$6, _arg$7, _arg$8, _arg$9, _i, _r, _r$1, _r$2, _r$3, _ref, _tuple, context$1, name, ok, reg, stmt, x, x$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$10 = $f._arg$10; _arg$11 = $f._arg$11; _arg$2 = $f._arg$2; _arg$3 = $f._arg$3; _arg$4 = $f._arg$4; _arg$5 = $f._arg$5; _arg$6 = $f._arg$6; _arg$7 = $f._arg$7; _arg$8 = $f._arg$8; _arg$9 = $f._arg$9; _i = $f._i; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _ref = $f._ref; _tuple = $f._tuple; context$1 = $f.context$1; name = $f.name; ok = $f.ok; reg = $f.reg; stmt = $f.stmt; x = $f.x; x$1 = $f.x$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\treg = context$1.RegTop();\n\t\t/* */ if ((stmt.Names.$length === 1) && (stmt.Exprs.$length === 1)) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if ((stmt.Names.$length === 1) && (stmt.Exprs.$length === 1)) { */ case 1:\n\t\t\t_tuple = $assertType((x = stmt.Exprs, (0 >= x.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + 0])), ptrType$40, true);\n\t\t\tok = _tuple[1];\n\t\t\t/* */ if (ok) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (ok) { */ case 3:\n\t\t\t\t_r = context$1.RegisterLocalVar((x$1 = stmt.Names, (0 >= x$1.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : x$1.$array[x$1.$offset + 0]))); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t_r;\n\t\t\t\t_arg = context$1;\n\t\t\t\t_arg$1 = stmt.Names;\n\t\t\t\t_arg$2 = stmt.Exprs;\n\t\t\t\t_arg$3 = reg;\n\t\t\t\t_arg$4 = stmt.Names.$length;\n\t\t\t\t_r$1 = sline(stmt); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t_arg$5 = _r$1;\n\t\t\t\t$r = compileRegAssignment(_arg, _arg$1, _arg$2, _arg$3, _arg$4, _arg$5); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return;\n\t\t\t/* } */ case 4:\n\t\t/* } */ case 2:\n\t\t_arg$6 = context$1;\n\t\t_arg$7 = stmt.Names;\n\t\t_arg$8 = stmt.Exprs;\n\t\t_arg$9 = reg;\n\t\t_arg$10 = stmt.Names.$length;\n\t\t_r$2 = sline(stmt); /* */ $s = 8; case 8: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t_arg$11 = _r$2;\n\t\t$r = compileRegAssignment(_arg$6, _arg$7, _arg$8, _arg$9, _arg$10, _arg$11); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_ref = stmt.Names;\n\t\t_i = 0;\n\t\t/* while (true) { */ case 10:\n\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 11; continue; }\n\t\t\tname = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\t_r$3 = context$1.RegisterLocalVar(name); /* */ $s = 12; case 12: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t_r$3;\n\t\t\t_i++;\n\t\t/* } */ $s = 10; continue; case 11:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: compileLocalAssignStmt }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$10 = _arg$10; $f._arg$11 = _arg$11; $f._arg$2 = _arg$2; $f._arg$3 = _arg$3; $f._arg$4 = _arg$4; $f._arg$5 = _arg$5; $f._arg$6 = _arg$6; $f._arg$7 = _arg$7; $f._arg$8 = _arg$8; $f._arg$9 = _arg$9; $f._i = _i; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._ref = _ref; $f._tuple = _tuple; $f.context$1 = context$1; $f.name = name; $f.ok = ok; $f.reg = reg; $f.stmt = stmt; $f.x = x; $f.x$1 = x$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcompileReturnStmt = function(context$1, stmt) {\n\t\tvar _arg, _arg$1, _arg$2, _arg$3, _arg$4, _arg$5, _arg$6, _i, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _ref, _ref$1, a, code, context$1, count, ex, ex$1, expr, i, idx, lastisvaarg, lenexprs, reg, stmt, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _arg$3 = $f._arg$3; _arg$4 = $f._arg$4; _arg$5 = $f._arg$5; _arg$6 = $f._arg$6; _i = $f._i; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _ref = $f._ref; _ref$1 = $f._ref$1; a = $f.a; code = $f.code; context$1 = $f.context$1; count = $f.count; ex = $f.ex; ex$1 = $f.ex$1; expr = $f.expr; i = $f.i; idx = $f.idx; lastisvaarg = $f.lastisvaarg; lenexprs = $f.lenexprs; reg = $f.reg; stmt = $f.stmt; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tlenexprs = stmt.Exprs.$length;\n\t\tcode = context$1.Code;\n\t\treg = context$1.RegTop();\n\t\ta = reg;\n\t\tlastisvaarg = false;\n\t\t/* */ if (lenexprs === 1) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (lenexprs === 1) { */ case 1:\n\t\t\t_ref = (x = stmt.Exprs, (0 >= x.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + 0]));\n\t\t\t/* */ if ($assertType(_ref, ptrType$35, true)[1]) { $s = 3; continue; }\n\t\t\t/* */ if ($assertType(_ref, ptrType$13, true)[1]) { $s = 4; continue; }\n\t\t\t/* */ $s = 5; continue;\n\t\t\t/* if ($assertType(_ref, ptrType$35, true)[1]) { */ case 3:\n\t\t\t\tex = _ref.$val;\n\t\t\t\tidx = context$1.FindLocalVar(ex.Value);\n\t\t\t\t/* */ if (idx > -1) { $s = 6; continue; }\n\t\t\t\t/* */ $s = 7; continue;\n\t\t\t\t/* if (idx > -1) { */ case 6:\n\t\t\t\t\t_arg = idx;\n\t\t\t\t\t_r = sline(stmt); /* */ $s = 8; case 8: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t\t_arg$1 = _r;\n\t\t\t\t\t$r = code.AddABC(33, _arg, 2, 0, _arg$1); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t$s = -1; return;\n\t\t\t\t/* } */ case 7:\n\t\t\t\t$s = 5; continue;\n\t\t\t/* } else if ($assertType(_ref, ptrType$13, true)[1]) { */ case 4:\n\t\t\t\tex$1 = _ref.$val;\n\t\t\t\t_r$1 = compileExpr(context$1, reg, ex$1, ecnone(-2)); /* */ $s = 10; case 10: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\treg = reg + (_r$1) >> 0;\n\t\t\t\tcode.SetOpCode(code.LastPC(), 32);\n\t\t\t\t_arg$2 = a;\n\t\t\t\t_r$2 = sline(stmt); /* */ $s = 11; case 11: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t_arg$3 = _r$2;\n\t\t\t\t$r = code.AddABC(33, _arg$2, 0, 0, _arg$3); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return;\n\t\t\t/* } */ case 5:\n\t\t/* } */ case 2:\n\t\t_ref$1 = stmt.Exprs;\n\t\t_i = 0;\n\t\t/* while (true) { */ case 13:\n\t\t\t/* if (!(_i < _ref$1.$length)) { break; } */ if(!(_i < _ref$1.$length)) { $s = 14; continue; }\n\t\t\ti = _i;\n\t\t\texpr = ((_i < 0 || _i >= _ref$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref$1.$array[_ref$1.$offset + _i]);\n\t\t\t/* */ if ((i === (lenexprs - 1 >> 0)) && isVarArgReturnExpr(expr)) { $s = 15; continue; }\n\t\t\t/* */ $s = 16; continue;\n\t\t\t/* if ((i === (lenexprs - 1 >> 0)) && isVarArgReturnExpr(expr)) { */ case 15:\n\t\t\t\t_r$3 = compileExpr(context$1, reg, expr, ecnone(-2)); /* */ $s = 18; case 18: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t_r$3;\n\t\t\t\tlastisvaarg = true;\n\t\t\t\t$s = 17; continue;\n\t\t\t/* } else { */ case 16:\n\t\t\t\t_r$4 = compileExpr(context$1, reg, expr, ecnone(0)); /* */ $s = 19; case 19: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\treg = reg + (_r$4) >> 0;\n\t\t\t/* } */ case 17:\n\t\t\t_i++;\n\t\t/* } */ $s = 13; continue; case 14:\n\t\tcount = (reg - a >> 0) + 1 >> 0;\n\t\tif (lastisvaarg) {\n\t\t\tcount = 0;\n\t\t}\n\t\t_arg$4 = a;\n\t\t_arg$5 = count;\n\t\t_r$5 = sline(stmt); /* */ $s = 20; case 20: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t_arg$6 = _r$5;\n\t\t$r = context$1.Code.AddABC(33, _arg$4, _arg$5, 0, _arg$6); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: compileReturnStmt }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._arg$3 = _arg$3; $f._arg$4 = _arg$4; $f._arg$5 = _arg$5; $f._arg$6 = _arg$6; $f._i = _i; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._ref = _ref; $f._ref$1 = _ref$1; $f.a = a; $f.code = code; $f.context$1 = context$1; $f.count = count; $f.ex = ex; $f.ex$1 = ex$1; $f.expr = expr; $f.i = i; $f.idx = idx; $f.lastisvaarg = lastisvaarg; $f.lenexprs = lenexprs; $f.reg = reg; $f.stmt = stmt; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcompileIfStmt = function(context$1, stmt) {\n\t\tvar _arg, _arg$1, _r, context$1, elselabel, endlabel, stmt, thenlabel, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; context$1 = $f.context$1; elselabel = $f.elselabel; endlabel = $f.endlabel; stmt = $f.stmt; thenlabel = $f.thenlabel; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tthenlabel = context$1.NewLabel();\n\t\telselabel = context$1.NewLabel();\n\t\tendlabel = context$1.NewLabel();\n\t\t$r = compileBranchCondition(context$1, context$1.RegTop(), stmt.Condition, thenlabel, elselabel, false); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tcontext$1.SetLabelPc(thenlabel, context$1.Code.LastPC());\n\t\t$r = compileBlock(context$1, stmt.Then); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* */ if (stmt.Else.$length > 0) { $s = 3; continue; }\n\t\t/* */ $s = 4; continue;\n\t\t/* if (stmt.Else.$length > 0) { */ case 3:\n\t\t\t_arg = endlabel;\n\t\t\t_r = sline(stmt); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_arg$1 = _r;\n\t\t\t$r = context$1.Code.AddASbx(25, 0, _arg, _arg$1); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 4:\n\t\tcontext$1.SetLabelPc(elselabel, context$1.Code.LastPC());\n\t\t/* */ if (stmt.Else.$length > 0) { $s = 7; continue; }\n\t\t/* */ $s = 8; continue;\n\t\t/* if (stmt.Else.$length > 0) { */ case 7:\n\t\t\t$r = compileBlock(context$1, stmt.Else); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\tcontext$1.SetLabelPc(endlabel, context$1.Code.LastPC());\n\t\t/* } */ case 8:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: compileIfStmt }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f.context$1 = context$1; $f.elselabel = elselabel; $f.endlabel = endlabel; $f.stmt = stmt; $f.thenlabel = thenlabel; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcompileBranchCondition = function(context$1, reg, expr, thenlabel, elselabel, hasnextcond) {\n\t\tvar _1, _arg, _arg$1, _arg$2, _arg$3, _arg$4, _arg$5, _arg$6, _r, _r$1, _r$2, _ref, a, code, context$1, elselabel, ex, ex$1, ex$2, ex$3, ex$4, expr, flip, hasnextcond, jumplabel, nextcondlabel, nextcondlabel$1, reg, thenlabel, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _arg$3 = $f._arg$3; _arg$4 = $f._arg$4; _arg$5 = $f._arg$5; _arg$6 = $f._arg$6; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _ref = $f._ref; a = $f.a; code = $f.code; context$1 = $f.context$1; elselabel = $f.elselabel; ex = $f.ex; ex$1 = $f.ex$1; ex$2 = $f.ex$2; ex$3 = $f.ex$3; ex$4 = $f.ex$4; expr = $f.expr; flip = $f.flip; hasnextcond = $f.hasnextcond; jumplabel = $f.jumplabel; nextcondlabel = $f.nextcondlabel; nextcondlabel$1 = $f.nextcondlabel$1; reg = $f.reg; thenlabel = $f.thenlabel; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\ta = [a];\n\t\treg = [reg];\n\t\tcode = context$1.Code;\n\t\tflip = 0;\n\t\tjumplabel = elselabel;\n\t\tif (hasnextcond) {\n\t\t\tflip = 1;\n\t\t\tjumplabel = thenlabel;\n\t\t}\n\t\t_ref = expr;\n\t\t/* */ if ($assertType(_ref, ptrType$41, true)[1] || $assertType(_ref, ptrType$42, true)[1]) { $s = 1; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$43, true)[1] || $assertType(_ref, ptrType$15, true)[1] || $assertType(_ref, ptrType$38, true)[1]) { $s = 2; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$44, true)[1]) { $s = 3; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$39, true)[1]) { $s = 4; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$45, true)[1]) { $s = 5; continue; }\n\t\t/* */ $s = 6; continue;\n\t\t/* if ($assertType(_ref, ptrType$41, true)[1] || $assertType(_ref, ptrType$42, true)[1]) { */ case 1:\n\t\t\tex = _ref;\n\t\t\t/* */ if (!hasnextcond) { $s = 7; continue; }\n\t\t\t/* */ $s = 8; continue;\n\t\t\t/* if (!hasnextcond) { */ case 7:\n\t\t\t\t_arg = elselabel;\n\t\t\t\t_r = sline(expr); /* */ $s = 9; case 9: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t_arg$1 = _r;\n\t\t\t\t$r = code.AddASbx(25, 0, _arg, _arg$1); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return;\n\t\t\t/* } */ case 8:\n\t\t\t$s = 6; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$43, true)[1] || $assertType(_ref, ptrType$15, true)[1] || $assertType(_ref, ptrType$38, true)[1]) { */ case 2:\n\t\t\tex$1 = _ref;\n\t\t\tif (!hasnextcond) {\n\t\t\t\t$s = -1; return;\n\t\t\t}\n\t\t\t$s = 6; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$44, true)[1]) { */ case 3:\n\t\t\tex$2 = _ref.$val;\n\t\t\t$r = compileBranchCondition(context$1, reg[0], ex$2.Expr, elselabel, thenlabel, !hasnextcond); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return;\n\t\t/* } else if ($assertType(_ref, ptrType$39, true)[1]) { */ case 4:\n\t\t\tex$3 = _ref.$val;\n\t\t\t\t_1 = ex$3.Operator;\n\t\t\t\t/* */ if (_1 === (\"and\")) { $s = 13; continue; }\n\t\t\t\t/* */ if (_1 === (\"or\")) { $s = 14; continue; }\n\t\t\t\t/* */ $s = 15; continue;\n\t\t\t\t/* if (_1 === (\"and\")) { */ case 13:\n\t\t\t\t\tnextcondlabel = context$1.NewLabel();\n\t\t\t\t\t$r = compileBranchCondition(context$1, reg[0], ex$3.Lhs, nextcondlabel, elselabel, false); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\tcontext$1.SetLabelPc(nextcondlabel, context$1.Code.LastPC());\n\t\t\t\t\t$r = compileBranchCondition(context$1, reg[0], ex$3.Rhs, thenlabel, elselabel, hasnextcond); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t$s = 15; continue;\n\t\t\t\t/* } else if (_1 === (\"or\")) { */ case 14:\n\t\t\t\t\tnextcondlabel$1 = context$1.NewLabel();\n\t\t\t\t\t$r = compileBranchCondition(context$1, reg[0], ex$3.Lhs, thenlabel, nextcondlabel$1, true); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\tcontext$1.SetLabelPc(nextcondlabel$1, context$1.Code.LastPC());\n\t\t\t\t\t$r = compileBranchCondition(context$1, reg[0], ex$3.Rhs, thenlabel, elselabel, hasnextcond); /* */ $s = 19; case 19: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t/* } */ case 15:\n\t\t\tcase 12:\n\t\t\t$s = -1; return;\n\t\t/* } else if ($assertType(_ref, ptrType$45, true)[1]) { */ case 5:\n\t\t\tex$4 = _ref.$val;\n\t\t\t$r = compileRelationalOpExprAux(context$1, reg[0], ex$4, flip, jumplabel); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return;\n\t\t/* } */ case 6:\n\t\ta[0] = reg[0];\n\t\t$r = compileExprWithMVPropagation(context$1, expr, (reg.$ptr || (reg.$ptr = new ptrType$37(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, reg))), (a.$ptr || (a.$ptr = new ptrType$37(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, a)))); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_arg$2 = a[0];\n\t\t_arg$3 = (0 ^ flip) >> 0;\n\t\t_r$1 = sline(expr); /* */ $s = 22; case 22: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_arg$4 = _r$1;\n\t\t$r = code.AddABC(29, _arg$2, 0, _arg$3, _arg$4); /* */ $s = 23; case 23: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_arg$5 = jumplabel;\n\t\t_r$2 = sline(expr); /* */ $s = 24; case 24: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t_arg$6 = _r$2;\n\t\t$r = code.AddASbx(25, 0, _arg$5, _arg$6); /* */ $s = 25; case 25: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: compileBranchCondition }; } $f._1 = _1; $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._arg$3 = _arg$3; $f._arg$4 = _arg$4; $f._arg$5 = _arg$5; $f._arg$6 = _arg$6; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._ref = _ref; $f.a = a; $f.code = code; $f.context$1 = context$1; $f.elselabel = elselabel; $f.ex = ex; $f.ex$1 = ex$1; $f.ex$2 = ex$2; $f.ex$3 = ex$3; $f.ex$4 = ex$4; $f.expr = expr; $f.flip = flip; $f.hasnextcond = hasnextcond; $f.jumplabel = jumplabel; $f.nextcondlabel = nextcondlabel; $f.nextcondlabel$1 = nextcondlabel$1; $f.reg = reg; $f.thenlabel = thenlabel; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcompileWhileStmt = function(context$1, stmt) {\n\t\tvar _arg, _arg$1, _r, _r$1, condlabel, context$1, elselabel, stmt, thenlabel, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; _r$1 = $f._r$1; condlabel = $f.condlabel; context$1 = $f.context$1; elselabel = $f.elselabel; stmt = $f.stmt; thenlabel = $f.thenlabel; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tthenlabel = context$1.NewLabel();\n\t\telselabel = context$1.NewLabel();\n\t\tcondlabel = context$1.NewLabel();\n\t\tcontext$1.SetLabelPc(condlabel, context$1.Code.LastPC());\n\t\t$r = compileBranchCondition(context$1, context$1.RegTop(), stmt.Condition, thenlabel, elselabel, false); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tcontext$1.SetLabelPc(thenlabel, context$1.Code.LastPC());\n\t\t$r = context$1.EnterBlock(elselabel, stmt); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = compileChunk(context$1, stmt.Stmts); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tcontext$1.CloseUpvalues();\n\t\t_arg = condlabel;\n\t\t_r = eline(stmt); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_arg$1 = _r;\n\t\t$r = context$1.Code.AddASbx(25, 0, _arg, _arg$1); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_r$1 = context$1.LeaveBlock(); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_r$1;\n\t\tcontext$1.SetLabelPc(elselabel, context$1.Code.LastPC());\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: compileWhileStmt }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f._r$1 = _r$1; $f.condlabel = condlabel; $f.context$1 = context$1; $f.elselabel = elselabel; $f.stmt = stmt; $f.thenlabel = thenlabel; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcompileRepeatStmt = function(context$1, stmt) {\n\t\tvar _arg, _arg$1, _arg$2, _arg$3, _arg$4, _arg$5, _r, _r$1, _r$2, _r$3, context$1, elselabel, initlabel, label, n, stmt, thenlabel, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _arg$3 = $f._arg$3; _arg$4 = $f._arg$4; _arg$5 = $f._arg$5; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; context$1 = $f.context$1; elselabel = $f.elselabel; initlabel = $f.initlabel; label = $f.label; n = $f.n; stmt = $f.stmt; thenlabel = $f.thenlabel; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tinitlabel = context$1.NewLabel();\n\t\tthenlabel = context$1.NewLabel();\n\t\telselabel = context$1.NewLabel();\n\t\tcontext$1.SetLabelPc(initlabel, context$1.Code.LastPC());\n\t\tcontext$1.SetLabelPc(elselabel, context$1.Code.LastPC());\n\t\t$r = context$1.EnterBlock(thenlabel, stmt); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = compileChunk(context$1, stmt.Stmts); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = compileBranchCondition(context$1, context$1.RegTop(), stmt.Condition, thenlabel, elselabel, false); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tcontext$1.SetLabelPc(thenlabel, context$1.Code.LastPC());\n\t\t_r = context$1.LeaveBlock(); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tn = _r;\n\t\t/* */ if (n > -1) { $s = 5; continue; }\n\t\t/* */ $s = 6; continue;\n\t\t/* if (n > -1) { */ case 5:\n\t\t\tlabel = context$1.NewLabel();\n\t\t\t_arg = label;\n\t\t\t_r$1 = eline(stmt); /* */ $s = 7; case 7: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_arg$1 = _r$1;\n\t\t\t$r = context$1.Code.AddASbx(25, 0, _arg, _arg$1); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\tcontext$1.SetLabelPc(elselabel, context$1.Code.LastPC());\n\t\t\t_arg$2 = n;\n\t\t\t_r$2 = eline(stmt); /* */ $s = 9; case 9: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t_arg$3 = _r$2;\n\t\t\t$r = context$1.Code.AddABC(38, _arg$2, 0, 0, _arg$3); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t_arg$4 = initlabel;\n\t\t\t_r$3 = eline(stmt); /* */ $s = 11; case 11: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t_arg$5 = _r$3;\n\t\t\t$r = context$1.Code.AddASbx(25, 0, _arg$4, _arg$5); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\tcontext$1.SetLabelPc(label, context$1.Code.LastPC());\n\t\t/* } */ case 6:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: compileRepeatStmt }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._arg$3 = _arg$3; $f._arg$4 = _arg$4; $f._arg$5 = _arg$5; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f.context$1 = context$1; $f.elselabel = elselabel; $f.initlabel = initlabel; $f.label = label; $f.n = n; $f.stmt = stmt; $f.thenlabel = thenlabel; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcompileBreakStmt = function(context$1, stmt) {\n\t\tvar _arg, _arg$1, _arg$2, _arg$3, _arg$4, _arg$5, _r, _r$1, _r$2, block, context$1, label, stmt, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _arg$3 = $f._arg$3; _arg$4 = $f._arg$4; _arg$5 = $f._arg$5; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; block = $f.block; context$1 = $f.context$1; label = $f.label; stmt = $f.stmt; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tblock = context$1.Block;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(!(block === ptrType$21.nil))) { break; } */ if(!(!(block === ptrType$21.nil))) { $s = 2; continue; }\n\t\t\tlabel = block.BreakLabel;\n\t\t\t/* */ if (!((label === 0))) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (!((label === 0))) { */ case 3:\n\t\t\t\t/* */ if (block.RefUpvalue) { $s = 5; continue; }\n\t\t\t\t/* */ $s = 6; continue;\n\t\t\t\t/* if (block.RefUpvalue) { */ case 5:\n\t\t\t\t\t_arg = block.Parent.LocalVars.LastIndex();\n\t\t\t\t\t_r = sline(stmt); /* */ $s = 7; case 7: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t\t_arg$1 = _r;\n\t\t\t\t\t$r = context$1.Code.AddABC(38, _arg, 0, 0, _arg$1); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t/* } */ case 6:\n\t\t\t\t_arg$2 = label;\n\t\t\t\t_r$1 = sline(stmt); /* */ $s = 9; case 9: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t_arg$3 = _r$1;\n\t\t\t\t$r = context$1.Code.AddASbx(25, 0, _arg$2, _arg$3); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return;\n\t\t\t/* } */ case 4:\n\t\t\tblock = block.Parent;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t_arg$4 = context$1;\n\t\t_r$2 = sline(stmt); /* */ $s = 11; case 11: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t_arg$5 = _r$2;\n\t\t$r = raiseCompileError(_arg$4, _arg$5, \"no loop to break\", new sliceType$6([])); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: compileBreakStmt }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._arg$3 = _arg$3; $f._arg$4 = _arg$4; $f._arg$5 = _arg$5; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.block = block; $f.context$1 = context$1; $f.label = label; $f.stmt = stmt; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcompileFuncDefStmt = function(context$1, stmt) {\n\t\tvar _arg, _arg$1, _arg$2, _arg$3, _r, _r$1, _r$2, _r$3, _r$4, _tmp, _tmp$1, astmt, context$1, kreg, reg, stmt, treg, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _arg$3 = $f._arg$3; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; astmt = $f.astmt; context$1 = $f.context$1; kreg = $f.kreg; reg = $f.reg; stmt = $f.stmt; treg = $f.treg; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\treg = [reg];\n\t\ttreg = [treg];\n\t\t/* */ if ($interfaceIsEqual(stmt.Name.Func, $ifaceNil)) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if ($interfaceIsEqual(stmt.Name.Func, $ifaceNil)) { */ case 1:\n\t\t\treg[0] = context$1.RegTop();\n\t\t\t_tmp = 0;\n\t\t\t_tmp$1 = 0;\n\t\t\ttreg[0] = _tmp;\n\t\t\tkreg = _tmp$1;\n\t\t\t$r = compileExprWithKMVPropagation(context$1, stmt.Name.Receiver, (reg.$ptr || (reg.$ptr = new ptrType$37(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, reg))), (treg.$ptr || (treg.$ptr = new ptrType$37(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, treg)))); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t_r = loadRk(context$1, (reg.$ptr || (reg.$ptr = new ptrType$37(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, reg))), stmt.Func, new LString((stmt.Name.Method))); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tkreg = _r;\n\t\t\t_r$1 = compileExpr(context$1, reg[0], stmt.Func, ecfuncdef); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_r$1;\n\t\t\t_arg = treg[0];\n\t\t\t_arg$1 = kreg;\n\t\t\t_arg$2 = reg[0];\n\t\t\t_r$2 = sline(stmt.Name.Receiver); /* */ $s = 7; case 7: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t_arg$3 = _r$2;\n\t\t\t$r = context$1.Code.AddABC(11, _arg, _arg$1, _arg$2, _arg$3); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 3; continue;\n\t\t/* } else { */ case 2:\n\t\t\tastmt = new ast.AssignStmt.ptr(new ast.StmtBase.ptr(new ast.Node.ptr(0, 0)), new sliceType$14([stmt.Name.Func]), new sliceType$14([stmt.Func]));\n\t\t\t_r$3 = sline(stmt.Func); /* */ $s = 9; case 9: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t$r = astmt.StmtBase.Node.SetLine(_r$3); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t_r$4 = eline(stmt.Func); /* */ $s = 11; case 11: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t$r = astmt.StmtBase.Node.SetLastLine(_r$4); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$r = compileAssignStmt(context$1, astmt); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 3:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: compileFuncDefStmt }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._arg$3 = _arg$3; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f.astmt = astmt; $f.context$1 = context$1; $f.kreg = kreg; $f.reg = reg; $f.stmt = stmt; $f.treg = treg; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcompileNumberForStmt = function(context$1, stmt) {\n\t\tvar _arg, _arg$1, _arg$2, _arg$3, _arg$4, _r, _r$1, _r$10, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, bodypc, code, context$1, ec, endlabel, flpc, reg, rindex, rlimit, rstep, stmt, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _arg$3 = $f._arg$3; _arg$4 = $f._arg$4; _r = $f._r; _r$1 = $f._r$1; _r$10 = $f._r$10; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _r$8 = $f._r$8; _r$9 = $f._r$9; bodypc = $f.bodypc; code = $f.code; context$1 = $f.context$1; ec = $f.ec; endlabel = $f.endlabel; flpc = $f.flpc; reg = $f.reg; rindex = $f.rindex; rlimit = $f.rlimit; rstep = $f.rstep; stmt = $f.stmt; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tcode = context$1.Code;\n\t\tendlabel = context$1.NewLabel();\n\t\tec = new expcontext.ptr(0, 0, 0);\n\t\t$r = context$1.EnterBlock(endlabel, stmt); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\treg = context$1.RegTop();\n\t\t_r = context$1.RegisterLocalVar(\"(for index)\"); /* */ $s = 2; case 2: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\trindex = _r;\n\t\tecupdate(ec, 2, rindex, 0);\n\t\t_r$1 = compileExpr(context$1, reg, stmt.Init, ec); /* */ $s = 3; case 3: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_r$1;\n\t\treg = context$1.RegTop();\n\t\t_r$2 = context$1.RegisterLocalVar(\"(for limit)\"); /* */ $s = 4; case 4: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\trlimit = _r$2;\n\t\tecupdate(ec, 2, rlimit, 0);\n\t\t_r$3 = compileExpr(context$1, reg, stmt.Limit, ec); /* */ $s = 5; case 5: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t_r$3;\n\t\treg = context$1.RegTop();\n\t\t_r$4 = context$1.RegisterLocalVar(\"(for step)\"); /* */ $s = 6; case 6: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\trstep = _r$4;\n\t\t/* */ if ($interfaceIsEqual(stmt.Step, $ifaceNil)) { $s = 7; continue; }\n\t\t/* */ $s = 8; continue;\n\t\t/* if ($interfaceIsEqual(stmt.Step, $ifaceNil)) { */ case 7:\n\t\t\tstmt.Step = new ast.NumberExpr.ptr(new ast.ConstExprBase.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0))), \"1\");\n\t\t\t_r$5 = sline(stmt.Init); /* */ $s = 9; case 9: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t$r = stmt.Step.SetLine(_r$5); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 8:\n\t\tecupdate(ec, 2, rstep, 0);\n\t\t_r$6 = compileExpr(context$1, reg, stmt.Step, ec); /* */ $s = 11; case 11: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t_r$6;\n\t\t_arg = rindex;\n\t\t_r$7 = sline(stmt); /* */ $s = 12; case 12: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }\n\t\t_arg$1 = _r$7;\n\t\t$r = code.AddASbx(35, _arg, 0, _arg$1); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_r$8 = context$1.RegisterLocalVar(stmt.Name); /* */ $s = 14; case 14: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }\n\t\t_r$8;\n\t\tbodypc = code.LastPC();\n\t\t$r = compileChunk(context$1, stmt.Stmts); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_r$9 = context$1.LeaveBlock(); /* */ $s = 16; case 16: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }\n\t\t_r$9;\n\t\tflpc = code.LastPC();\n\t\t_arg$2 = rindex;\n\t\t_arg$3 = bodypc - ((flpc + 1 >> 0)) >> 0;\n\t\t_r$10 = sline(stmt); /* */ $s = 17; case 17: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }\n\t\t_arg$4 = _r$10;\n\t\t$r = code.AddASbx(34, _arg$2, _arg$3, _arg$4); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tcontext$1.SetLabelPc(endlabel, code.LastPC());\n\t\tcode.SetSbx(bodypc, flpc - bodypc >> 0);\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: compileNumberForStmt }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._arg$3 = _arg$3; $f._arg$4 = _arg$4; $f._r = _r; $f._r$1 = _r$1; $f._r$10 = _r$10; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._r$8 = _r$8; $f._r$9 = _r$9; $f.bodypc = bodypc; $f.code = code; $f.context$1 = context$1; $f.ec = ec; $f.endlabel = endlabel; $f.flpc = flpc; $f.reg = reg; $f.rindex = rindex; $f.rlimit = rlimit; $f.rstep = rstep; $f.stmt = stmt; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcompileGenericForStmt = function(context$1, stmt) {\n\t\tvar _arg, _arg$1, _arg$10, _arg$11, _arg$2, _arg$3, _arg$4, _arg$5, _arg$6, _arg$7, _arg$8, _arg$9, _i, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _ref, bodylabel, code, context$1, endlabel, fllabel, name, nnames, rgen, stmt, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$10 = $f._arg$10; _arg$11 = $f._arg$11; _arg$2 = $f._arg$2; _arg$3 = $f._arg$3; _arg$4 = $f._arg$4; _arg$5 = $f._arg$5; _arg$6 = $f._arg$6; _arg$7 = $f._arg$7; _arg$8 = $f._arg$8; _arg$9 = $f._arg$9; _i = $f._i; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _r$8 = $f._r$8; _ref = $f._ref; bodylabel = $f.bodylabel; code = $f.code; context$1 = $f.context$1; endlabel = $f.endlabel; fllabel = $f.fllabel; name = $f.name; nnames = $f.nnames; rgen = $f.rgen; stmt = $f.stmt; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tcode = context$1.Code;\n\t\tendlabel = context$1.NewLabel();\n\t\tbodylabel = context$1.NewLabel();\n\t\tfllabel = context$1.NewLabel();\n\t\tnnames = stmt.Names.$length;\n\t\t$r = context$1.EnterBlock(endlabel, stmt); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_r = context$1.RegisterLocalVar(\"(for generator)\"); /* */ $s = 2; case 2: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\trgen = _r;\n\t\t_r$1 = context$1.RegisterLocalVar(\"(for state)\"); /* */ $s = 3; case 3: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_r$1;\n\t\t_r$2 = context$1.RegisterLocalVar(\"(for control)\"); /* */ $s = 4; case 4: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t_r$2;\n\t\t_arg = context$1;\n\t\t_arg$1 = stmt.Names;\n\t\t_arg$2 = stmt.Exprs;\n\t\t_arg$3 = context$1.RegTop() - 3 >> 0;\n\t\t_r$3 = sline(stmt); /* */ $s = 5; case 5: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t_arg$4 = _r$3;\n\t\t$r = compileRegAssignment(_arg, _arg$1, _arg$2, _arg$3, 3, _arg$4); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_arg$5 = fllabel;\n\t\t_r$4 = sline(stmt); /* */ $s = 7; case 7: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t_arg$6 = _r$4;\n\t\t$r = code.AddASbx(25, 0, _arg$5, _arg$6); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_ref = stmt.Names;\n\t\t_i = 0;\n\t\t/* while (true) { */ case 9:\n\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 10; continue; }\n\t\t\tname = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\t_r$5 = context$1.RegisterLocalVar(name); /* */ $s = 11; case 11: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t_r$5;\n\t\t\t_i++;\n\t\t/* } */ $s = 9; continue; case 10:\n\t\tcontext$1.SetLabelPc(bodylabel, code.LastPC());\n\t\t$r = compileChunk(context$1, stmt.Stmts); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_r$6 = context$1.LeaveBlock(); /* */ $s = 13; case 13: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t_r$6;\n\t\tcontext$1.SetLabelPc(fllabel, code.LastPC());\n\t\t_arg$7 = rgen;\n\t\t_arg$8 = nnames;\n\t\t_r$7 = sline(stmt); /* */ $s = 14; case 14: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }\n\t\t_arg$9 = _r$7;\n\t\t$r = code.AddABC(36, _arg$7, 0, _arg$8, _arg$9); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_arg$10 = bodylabel;\n\t\t_r$8 = sline(stmt); /* */ $s = 16; case 16: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }\n\t\t_arg$11 = _r$8;\n\t\t$r = code.AddASbx(25, 0, _arg$10, _arg$11); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tcontext$1.SetLabelPc(endlabel, code.LastPC());\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: compileGenericForStmt }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$10 = _arg$10; $f._arg$11 = _arg$11; $f._arg$2 = _arg$2; $f._arg$3 = _arg$3; $f._arg$4 = _arg$4; $f._arg$5 = _arg$5; $f._arg$6 = _arg$6; $f._arg$7 = _arg$7; $f._arg$8 = _arg$8; $f._arg$9 = _arg$9; $f._i = _i; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._r$8 = _r$8; $f._ref = _ref; $f.bodylabel = bodylabel; $f.code = code; $f.context$1 = context$1; $f.endlabel = endlabel; $f.fllabel = fllabel; $f.name = name; $f.nnames = nnames; $f.rgen = rgen; $f.stmt = stmt; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcompileExpr = function(context$1, reg, expr, ec) {\n\t\tvar _1, _arg, _arg$1, _arg$10, _arg$11, _arg$12, _arg$13, _arg$14, _arg$15, _arg$16, _arg$17, _arg$18, _arg$19, _arg$2, _arg$20, _arg$21, _arg$22, _arg$23, _arg$24, _arg$25, _arg$26, _arg$27, _arg$28, _arg$29, _arg$3, _arg$30, _arg$31, _arg$32, _arg$33, _arg$34, _arg$35, _arg$36, _arg$37, _arg$38, _arg$39, _arg$4, _arg$40, _arg$41, _arg$42, _arg$5, _arg$6, _arg$7, _arg$8, _arg$9, _i, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$16, _r$17, _r$18, _r$19, _r$2, _r$20, _r$21, _r$22, _r$23, _r$24, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _ref, _ref$1, _tuple, _tuple$1, _tuple$2, a, b, b$1, block, c, childcontext, code, context$1, ec, err, ex, ex$1, ex$10, ex$11, ex$12, ex$13, ex$14, ex$15, ex$16, ex$17, ex$2, ex$3, ex$4, ex$5, ex$6, ex$7, ex$8, ex$9, expr, localidx, num, ok, opcode, protono, reg, sreg, sused, upvalue, upvalueidx, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$10 = $f._arg$10; _arg$11 = $f._arg$11; _arg$12 = $f._arg$12; _arg$13 = $f._arg$13; _arg$14 = $f._arg$14; _arg$15 = $f._arg$15; _arg$16 = $f._arg$16; _arg$17 = $f._arg$17; _arg$18 = $f._arg$18; _arg$19 = $f._arg$19; _arg$2 = $f._arg$2; _arg$20 = $f._arg$20; _arg$21 = $f._arg$21; _arg$22 = $f._arg$22; _arg$23 = $f._arg$23; _arg$24 = $f._arg$24; _arg$25 = $f._arg$25; _arg$26 = $f._arg$26; _arg$27 = $f._arg$27; _arg$28 = $f._arg$28; _arg$29 = $f._arg$29; _arg$3 = $f._arg$3; _arg$30 = $f._arg$30; _arg$31 = $f._arg$31; _arg$32 = $f._arg$32; _arg$33 = $f._arg$33; _arg$34 = $f._arg$34; _arg$35 = $f._arg$35; _arg$36 = $f._arg$36; _arg$37 = $f._arg$37; _arg$38 = $f._arg$38; _arg$39 = $f._arg$39; _arg$4 = $f._arg$4; _arg$40 = $f._arg$40; _arg$41 = $f._arg$41; _arg$42 = $f._arg$42; _arg$5 = $f._arg$5; _arg$6 = $f._arg$6; _arg$7 = $f._arg$7; _arg$8 = $f._arg$8; _arg$9 = $f._arg$9; _i = $f._i; _r = $f._r; _r$1 = $f._r$1; _r$10 = $f._r$10; _r$11 = $f._r$11; _r$12 = $f._r$12; _r$13 = $f._r$13; _r$14 = $f._r$14; _r$15 = $f._r$15; _r$16 = $f._r$16; _r$17 = $f._r$17; _r$18 = $f._r$18; _r$19 = $f._r$19; _r$2 = $f._r$2; _r$20 = $f._r$20; _r$21 = $f._r$21; _r$22 = $f._r$22; _r$23 = $f._r$23; _r$24 = $f._r$24; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _r$8 = $f._r$8; _r$9 = $f._r$9; _ref = $f._ref; _ref$1 = $f._ref$1; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; a = $f.a; b = $f.b; b$1 = $f.b$1; block = $f.block; c = $f.c; childcontext = $f.childcontext; code = $f.code; context$1 = $f.context$1; ec = $f.ec; err = $f.err; ex = $f.ex; ex$1 = $f.ex$1; ex$10 = $f.ex$10; ex$11 = $f.ex$11; ex$12 = $f.ex$12; ex$13 = $f.ex$13; ex$14 = $f.ex$14; ex$15 = $f.ex$15; ex$16 = $f.ex$16; ex$17 = $f.ex$17; ex$2 = $f.ex$2; ex$3 = $f.ex$3; ex$4 = $f.ex$4; ex$5 = $f.ex$5; ex$6 = $f.ex$6; ex$7 = $f.ex$7; ex$8 = $f.ex$8; ex$9 = $f.ex$9; expr = $f.expr; localidx = $f.localidx; num = $f.num; ok = $f.ok; opcode = $f.opcode; protono = $f.protono; reg = $f.reg; sreg = $f.sreg; sused = $f.sused; upvalue = $f.upvalue; upvalueidx = $f.upvalueidx; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tb = [b];\n\t\tc = [c];\n\t\treg = [reg];\n\t\tcode = context$1.Code;\n\t\tsreg = savereg(ec, reg[0]);\n\t\tsused = 1;\n\t\tif (sreg < reg[0]) {\n\t\t\tsused = 0;\n\t\t}\n\t\t_ref = expr;\n\t\t/* */ if ($assertType(_ref, ptrType$38, true)[1]) { $s = 1; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$15, true)[1]) { $s = 2; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$16, true)[1]) { $s = 3; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$42, true)[1]) { $s = 4; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$41, true)[1]) { $s = 5; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$43, true)[1]) { $s = 6; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$35, true)[1]) { $s = 7; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$14, true)[1]) { $s = 8; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$36, true)[1]) { $s = 9; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$46, true)[1]) { $s = 10; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$47, true)[1]) { $s = 11; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$48, true)[1]) { $s = 12; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$49, true)[1] || $assertType(_ref, ptrType$44, true)[1] || $assertType(_ref, ptrType$50, true)[1]) { $s = 13; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$45, true)[1]) { $s = 14; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$39, true)[1]) { $s = 15; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$13, true)[1]) { $s = 16; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$40, true)[1]) { $s = 17; continue; }\n\t\t/* */ $s = 18; continue;\n\t\t/* if ($assertType(_ref, ptrType$38, true)[1]) { */ case 1:\n\t\t\tex = _ref.$val;\n\t\t\t_arg = sreg;\n\t\t\t_r = context$1.ConstIndex(new LString((ex.Value))); /* */ $s = 20; case 20: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_arg$1 = _r;\n\t\t\t_r$1 = sline(ex); /* */ $s = 21; case 21: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_arg$2 = _r$1;\n\t\t\t$r = code.AddABx(2, _arg, _arg$1, _arg$2); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return sused;\n\t\t/* } else if ($assertType(_ref, ptrType$15, true)[1]) { */ case 2:\n\t\t\tex$1 = _ref.$val;\n\t\t\t_r$2 = parseNumber(ex$1.Value); /* */ $s = 23; case 23: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r$2;\n\t\t\tnum = _tuple[0];\n\t\t\terr = _tuple[1];\n\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\tnum = (math.NaN());\n\t\t\t}\n\t\t\t_arg$3 = sreg;\n\t\t\t_r$3 = context$1.ConstIndex(new LNumber(num)); /* */ $s = 24; case 24: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t_arg$4 = _r$3;\n\t\t\t_r$4 = sline(ex$1); /* */ $s = 25; case 25: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t_arg$5 = _r$4;\n\t\t\t$r = code.AddABx(2, _arg$3, _arg$4, _arg$5); /* */ $s = 26; case 26: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return sused;\n\t\t/* } else if ($assertType(_ref, ptrType$16, true)[1]) { */ case 3:\n\t\t\tex$2 = _ref.$val;\n\t\t\t_arg$6 = sreg;\n\t\t\t_r$5 = context$1.ConstIndex(ex$2.Value); /* */ $s = 27; case 27: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t_arg$7 = _r$5;\n\t\t\t_r$6 = sline(ex$2); /* */ $s = 28; case 28: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t\t_arg$8 = _r$6;\n\t\t\t$r = code.AddABx(2, _arg$6, _arg$7, _arg$8); /* */ $s = 29; case 29: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return sused;\n\t\t/* } else if ($assertType(_ref, ptrType$42, true)[1]) { */ case 4:\n\t\t\tex$3 = _ref.$val;\n\t\t\t_arg$9 = sreg;\n\t\t\t_arg$10 = sreg;\n\t\t\t_r$7 = sline(ex$3); /* */ $s = 30; case 30: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }\n\t\t\t_arg$11 = _r$7;\n\t\t\t$r = code.AddLoadNil(_arg$9, _arg$10, _arg$11); /* */ $s = 31; case 31: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return sused;\n\t\t/* } else if ($assertType(_ref, ptrType$41, true)[1]) { */ case 5:\n\t\t\tex$4 = _ref.$val;\n\t\t\t_arg$12 = sreg;\n\t\t\t_r$8 = sline(ex$4); /* */ $s = 32; case 32: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }\n\t\t\t_arg$13 = _r$8;\n\t\t\t$r = code.AddABC(3, _arg$12, 0, 0, _arg$13); /* */ $s = 33; case 33: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return sused;\n\t\t/* } else if ($assertType(_ref, ptrType$43, true)[1]) { */ case 6:\n\t\t\tex$5 = _ref.$val;\n\t\t\t_arg$14 = sreg;\n\t\t\t_r$9 = sline(ex$5); /* */ $s = 34; case 34: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }\n\t\t\t_arg$15 = _r$9;\n\t\t\t$r = code.AddABC(3, _arg$14, 1, 0, _arg$15); /* */ $s = 35; case 35: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return sused;\n\t\t/* } else if ($assertType(_ref, ptrType$35, true)[1]) { */ case 7:\n\t\t\tex$6 = _ref.$val;\n\t\t\t\t_1 = getIdentRefType(context$1, context$1, ex$6);\n\t\t\t\t/* */ if (_1 === (0)) { $s = 37; continue; }\n\t\t\t\t/* */ if (_1 === (1)) { $s = 38; continue; }\n\t\t\t\t/* */ if (_1 === (2)) { $s = 39; continue; }\n\t\t\t\t/* */ $s = 40; continue;\n\t\t\t\t/* if (_1 === (0)) { */ case 37:\n\t\t\t\t\t_arg$16 = sreg;\n\t\t\t\t\t_r$10 = context$1.ConstIndex(new LString((ex$6.Value))); /* */ $s = 41; case 41: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }\n\t\t\t\t\t_arg$17 = _r$10;\n\t\t\t\t\t_r$11 = sline(ex$6); /* */ $s = 42; case 42: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }\n\t\t\t\t\t_arg$18 = _r$11;\n\t\t\t\t\t$r = code.AddABx(6, _arg$16, _arg$17, _arg$18); /* */ $s = 43; case 43: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t$s = 40; continue;\n\t\t\t\t/* } else if (_1 === (1)) { */ case 38:\n\t\t\t\t\t_arg$19 = sreg;\n\t\t\t\t\t_arg$20 = context$1.Upvalues.RegisterUnique(ex$6.Value);\n\t\t\t\t\t_r$12 = sline(ex$6); /* */ $s = 44; case 44: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; }\n\t\t\t\t\t_arg$21 = _r$12;\n\t\t\t\t\t$r = code.AddABC(5, _arg$19, _arg$20, 0, _arg$21); /* */ $s = 45; case 45: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t$s = 40; continue;\n\t\t\t\t/* } else if (_1 === (2)) { */ case 39:\n\t\t\t\t\tb$1 = context$1.FindLocalVar(ex$6.Value);\n\t\t\t\t\t_arg$22 = sreg;\n\t\t\t\t\t_arg$23 = b$1;\n\t\t\t\t\t_r$13 = sline(ex$6); /* */ $s = 46; case 46: if($c) { $c = false; _r$13 = _r$13.$blk(); } if (_r$13 && _r$13.$blk !== undefined) { break s; }\n\t\t\t\t\t_arg$24 = _r$13;\n\t\t\t\t\t$r = code.AddABC(0, _arg$22, _arg$23, 0, _arg$24); /* */ $s = 47; case 47: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t/* } */ case 40:\n\t\t\tcase 36:\n\t\t\t$s = -1; return sused;\n\t\t/* } else if ($assertType(_ref, ptrType$14, true)[1]) { */ case 8:\n\t\t\tex$7 = _ref.$val;\n\t\t\t/* */ if (context$1.Proto.IsVarArg === 0) { $s = 48; continue; }\n\t\t\t/* */ $s = 49; continue;\n\t\t\t/* if (context$1.Proto.IsVarArg === 0) { */ case 48:\n\t\t\t\t_arg$25 = context$1;\n\t\t\t\t_r$14 = sline(ex$7); /* */ $s = 50; case 50: if($c) { $c = false; _r$14 = _r$14.$blk(); } if (_r$14 && _r$14.$blk !== undefined) { break s; }\n\t\t\t\t_arg$26 = _r$14;\n\t\t\t\t$r = raiseCompileError(_arg$25, _arg$26, \"cannot use '...' outside a vararg function\", new sliceType$6([])); /* */ $s = 51; case 51: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 49:\n\t\t\tcontext$1.Proto.IsVarArg = (context$1.Proto.IsVarArg & (251)) >>> 0;\n\t\t\t_arg$27 = sreg;\n\t\t\t_arg$28 = 2 + ec.varargopt >> 0;\n\t\t\t_r$15 = sline(ex$7); /* */ $s = 52; case 52: if($c) { $c = false; _r$15 = _r$15.$blk(); } if (_r$15 && _r$15.$blk !== undefined) { break s; }\n\t\t\t_arg$29 = _r$15;\n\t\t\t$r = code.AddABC(40, _arg$27, _arg$28, 0, _arg$29); /* */ $s = 53; case 53: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\tif (context$1.RegTop() > (((sreg + 2 >> 0) + ec.varargopt >> 0)) || ec.varargopt < -1) {\n\t\t\t\t$s = -1; return 0;\n\t\t\t}\n\t\t\t$s = -1; return (((sreg + 1 >> 0) + ec.varargopt >> 0)) - reg[0] >> 0;\n\t\t/* } else if ($assertType(_ref, ptrType$36, true)[1]) { */ case 9:\n\t\t\tex$8 = _ref.$val;\n\t\t\ta = sreg;\n\t\t\tb[0] = reg[0];\n\t\t\t$r = compileExprWithMVPropagation(context$1, ex$8.Object, (reg.$ptr || (reg.$ptr = new ptrType$37(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, reg))), (b.$ptr || (b.$ptr = new ptrType$37(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, b)))); /* */ $s = 54; case 54: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\tc[0] = reg[0];\n\t\t\t$r = compileExprWithKMVPropagation(context$1, ex$8.Key, (reg.$ptr || (reg.$ptr = new ptrType$37(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, reg))), (c.$ptr || (c.$ptr = new ptrType$37(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, c)))); /* */ $s = 55; case 55: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\topcode = 7;\n\t\t\t_tuple$1 = $assertType(ex$8.Key, ptrType$38, true);\n\t\t\tok = _tuple$1[1];\n\t\t\tif (ok) {\n\t\t\t\topcode = 8;\n\t\t\t}\n\t\t\t_arg$30 = opcode;\n\t\t\t_arg$31 = a;\n\t\t\t_arg$32 = b[0];\n\t\t\t_arg$33 = c[0];\n\t\t\t_r$16 = sline(ex$8); /* */ $s = 56; case 56: if($c) { $c = false; _r$16 = _r$16.$blk(); } if (_r$16 && _r$16.$blk !== undefined) { break s; }\n\t\t\t_arg$34 = _r$16;\n\t\t\t$r = code.AddABC(_arg$30, _arg$31, _arg$32, _arg$33, _arg$34); /* */ $s = 57; case 57: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return sused;\n\t\t/* } else if ($assertType(_ref, ptrType$46, true)[1]) { */ case 10:\n\t\t\tex$9 = _ref.$val;\n\t\t\t$r = compileTableExpr(context$1, reg[0], ex$9, ec); /* */ $s = 58; case 58: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return 1;\n\t\t/* } else if ($assertType(_ref, ptrType$47, true)[1]) { */ case 11:\n\t\t\tex$10 = _ref.$val;\n\t\t\t$r = compileArithmeticOpExpr(context$1, reg[0], ex$10, ec); /* */ $s = 59; case 59: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return sused;\n\t\t/* } else if ($assertType(_ref, ptrType$48, true)[1]) { */ case 12:\n\t\t\tex$11 = _ref.$val;\n\t\t\t$r = compileStringConcatOpExpr(context$1, reg[0], ex$11, ec); /* */ $s = 60; case 60: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return sused;\n\t\t/* } else if ($assertType(_ref, ptrType$49, true)[1] || $assertType(_ref, ptrType$44, true)[1] || $assertType(_ref, ptrType$50, true)[1]) { */ case 13:\n\t\t\tex$12 = _ref;\n\t\t\t$r = compileUnaryOpExpr(context$1, reg[0], ex$12, ec); /* */ $s = 61; case 61: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return sused;\n\t\t/* } else if ($assertType(_ref, ptrType$45, true)[1]) { */ case 14:\n\t\t\tex$13 = _ref.$val;\n\t\t\t$r = compileRelationalOpExpr(context$1, reg[0], ex$13, ec); /* */ $s = 62; case 62: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return sused;\n\t\t/* } else if ($assertType(_ref, ptrType$39, true)[1]) { */ case 15:\n\t\t\tex$14 = _ref.$val;\n\t\t\t$r = compileLogicalOpExpr(context$1, reg[0], ex$14, ec); /* */ $s = 63; case 63: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return sused;\n\t\t/* } else if ($assertType(_ref, ptrType$13, true)[1]) { */ case 16:\n\t\t\tex$15 = _ref.$val;\n\t\t\t_r$17 = compileFuncCallExpr(context$1, reg[0], ex$15, ec); /* */ $s = 64; case 64: if($c) { $c = false; _r$17 = _r$17.$blk(); } if (_r$17 && _r$17.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return _r$17;\n\t\t/* } else if ($assertType(_ref, ptrType$40, true)[1]) { */ case 17:\n\t\t\tex$16 = _ref.$val;\n\t\t\t_r$18 = newFuncContext(context$1.Proto.SourceName, context$1); /* */ $s = 65; case 65: if($c) { $c = false; _r$18 = _r$18.$blk(); } if (_r$18 && _r$18.$blk !== undefined) { break s; }\n\t\t\tchildcontext = _r$18;\n\t\t\t$r = compileFunctionExpr(childcontext, ex$16, ec); /* */ $s = 66; case 66: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\tprotono = context$1.Proto.FunctionPrototypes.$length;\n\t\t\tcontext$1.Proto.FunctionPrototypes = $append(context$1.Proto.FunctionPrototypes, childcontext.Proto);\n\t\t\t_arg$35 = sreg;\n\t\t\t_arg$36 = protono;\n\t\t\t_r$19 = sline(ex$16); /* */ $s = 67; case 67: if($c) { $c = false; _r$19 = _r$19.$blk(); } if (_r$19 && _r$19.$blk !== undefined) { break s; }\n\t\t\t_arg$37 = _r$19;\n\t\t\t$r = code.AddABx(39, _arg$35, _arg$36, _arg$37); /* */ $s = 68; case 68: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t_ref$1 = childcontext.Upvalues.List();\n\t\t\t_i = 0;\n\t\t\t/* while (true) { */ case 69:\n\t\t\t\t/* if (!(_i < _ref$1.$length)) { break; } */ if(!(_i < _ref$1.$length)) { $s = 70; continue; }\n\t\t\t\tupvalue = $clone(((_i < 0 || _i >= _ref$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref$1.$array[_ref$1.$offset + _i]), varNamePoolValue);\n\t\t\t\t_tuple$2 = context$1.FindLocalVarAndBlock(upvalue.Name);\n\t\t\t\tlocalidx = _tuple$2[0];\n\t\t\t\tblock = _tuple$2[1];\n\t\t\t\t/* */ if (localidx > -1) { $s = 71; continue; }\n\t\t\t\t/* */ $s = 72; continue;\n\t\t\t\t/* if (localidx > -1) { */ case 71:\n\t\t\t\t\t_arg$38 = localidx;\n\t\t\t\t\t_r$20 = sline(ex$16); /* */ $s = 74; case 74: if($c) { $c = false; _r$20 = _r$20.$blk(); } if (_r$20 && _r$20.$blk !== undefined) { break s; }\n\t\t\t\t\t_arg$39 = _r$20;\n\t\t\t\t\t$r = code.AddABC(0, 0, _arg$38, 0, _arg$39); /* */ $s = 75; case 75: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\tblock.RefUpvalue = true;\n\t\t\t\t\t$s = 73; continue;\n\t\t\t\t/* } else { */ case 72:\n\t\t\t\t\tupvalueidx = context$1.Upvalues.Find(upvalue.Name);\n\t\t\t\t\tif (upvalueidx < 0) {\n\t\t\t\t\t\tupvalueidx = context$1.Upvalues.RegisterUnique(upvalue.Name);\n\t\t\t\t\t}\n\t\t\t\t\t_arg$40 = upvalueidx;\n\t\t\t\t\t_r$21 = sline(ex$16); /* */ $s = 76; case 76: if($c) { $c = false; _r$21 = _r$21.$blk(); } if (_r$21 && _r$21.$blk !== undefined) { break s; }\n\t\t\t\t\t_arg$41 = _r$21;\n\t\t\t\t\t$r = code.AddABC(5, 0, _arg$40, 0, _arg$41); /* */ $s = 77; case 77: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t/* } */ case 73:\n\t\t\t\t_i++;\n\t\t\t/* } */ $s = 69; continue; case 70:\n\t\t\t$s = -1; return sused;\n\t\t/* } else { */ case 18:\n\t\t\tex$17 = _ref;\n\t\t\t_r$22 = reflect.TypeOf(ex$17).Elem(); /* */ $s = 78; case 78: if($c) { $c = false; _r$22 = _r$22.$blk(); } if (_r$22 && _r$22.$blk !== undefined) { break s; }\n\t\t\t_r$23 = _r$22.Name(); /* */ $s = 79; case 79: if($c) { $c = false; _r$23 = _r$23.$blk(); } if (_r$23 && _r$23.$blk !== undefined) { break s; }\n\t\t\t_arg$42 = new $String(_r$23);\n\t\t\t_r$24 = fmt.Sprintf(\"expr %v not implemented.\", new sliceType$6([_arg$42])); /* */ $s = 80; case 80: if($c) { $c = false; _r$24 = _r$24.$blk(); } if (_r$24 && _r$24.$blk !== undefined) { break s; }\n\t\t\t$panic(new $String(_r$24));\n\t\t/* } */ case 19:\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: compileExpr }; } $f._1 = _1; $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$10 = _arg$10; $f._arg$11 = _arg$11; $f._arg$12 = _arg$12; $f._arg$13 = _arg$13; $f._arg$14 = _arg$14; $f._arg$15 = _arg$15; $f._arg$16 = _arg$16; $f._arg$17 = _arg$17; $f._arg$18 = _arg$18; $f._arg$19 = _arg$19; $f._arg$2 = _arg$2; $f._arg$20 = _arg$20; $f._arg$21 = _arg$21; $f._arg$22 = _arg$22; $f._arg$23 = _arg$23; $f._arg$24 = _arg$24; $f._arg$25 = _arg$25; $f._arg$26 = _arg$26; $f._arg$27 = _arg$27; $f._arg$28 = _arg$28; $f._arg$29 = _arg$29; $f._arg$3 = _arg$3; $f._arg$30 = _arg$30; $f._arg$31 = _arg$31; $f._arg$32 = _arg$32; $f._arg$33 = _arg$33; $f._arg$34 = _arg$34; $f._arg$35 = _arg$35; $f._arg$36 = _arg$36; $f._arg$37 = _arg$37; $f._arg$38 = _arg$38; $f._arg$39 = _arg$39; $f._arg$4 = _arg$4; $f._arg$40 = _arg$40; $f._arg$41 = _arg$41; $f._arg$42 = _arg$42; $f._arg$5 = _arg$5; $f._arg$6 = _arg$6; $f._arg$7 = _arg$7; $f._arg$8 = _arg$8; $f._arg$9 = _arg$9; $f._i = _i; $f._r = _r; $f._r$1 = _r$1; $f._r$10 = _r$10; $f._r$11 = _r$11; $f._r$12 = _r$12; $f._r$13 = _r$13; $f._r$14 = _r$14; $f._r$15 = _r$15; $f._r$16 = _r$16; $f._r$17 = _r$17; $f._r$18 = _r$18; $f._r$19 = _r$19; $f._r$2 = _r$2; $f._r$20 = _r$20; $f._r$21 = _r$21; $f._r$22 = _r$22; $f._r$23 = _r$23; $f._r$24 = _r$24; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._r$8 = _r$8; $f._r$9 = _r$9; $f._ref = _ref; $f._ref$1 = _ref$1; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f.a = a; $f.b = b; $f.b$1 = b$1; $f.block = block; $f.c = c; $f.childcontext = childcontext; $f.code = code; $f.context$1 = context$1; $f.ec = ec; $f.err = err; $f.ex = ex; $f.ex$1 = ex$1; $f.ex$10 = ex$10; $f.ex$11 = ex$11; $f.ex$12 = ex$12; $f.ex$13 = ex$13; $f.ex$14 = ex$14; $f.ex$15 = ex$15; $f.ex$16 = ex$16; $f.ex$17 = ex$17; $f.ex$2 = ex$2; $f.ex$3 = ex$3; $f.ex$4 = ex$4; $f.ex$5 = ex$5; $f.ex$6 = ex$6; $f.ex$7 = ex$7; $f.ex$8 = ex$8; $f.ex$9 = ex$9; $f.expr = expr; $f.localidx = localidx; $f.num = num; $f.ok = ok; $f.opcode = opcode; $f.protono = protono; $f.reg = reg; $f.sreg = sreg; $f.sused = sused; $f.upvalue = upvalue; $f.upvalueidx = upvalueidx; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcompileExprWithPropagation = function(context$1, expr, reg, save, propergator) {\n\t\tvar _r, _tuple, context$1, expr, ok, propergator, reg, reginc, save, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; context$1 = $f.context$1; expr = $f.expr; ok = $f.ok; propergator = $f.propergator; reg = $f.reg; reginc = $f.reginc; save = $f.save; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = compileExpr(context$1, reg.$get(), expr, ecnone(0)); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\treginc = _r;\n\t\t_tuple = $assertType(expr, ptrType$39, true);\n\t\tok = _tuple[1];\n\t\t/* */ if (ok) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (ok) { */ case 2:\n\t\t\tsave.$set(reg.$get());\n\t\t\treg.$set(reg.$get() + reginc >> 0);\n\t\t\t$s = 4; continue;\n\t\t/* } else { */ case 3:\n\t\t\t$r = propergator(context$1.RegTop(), save, reg, reginc); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 4:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: compileExprWithPropagation }; } $f._r = _r; $f._tuple = _tuple; $f.context$1 = context$1; $f.expr = expr; $f.ok = ok; $f.propergator = propergator; $f.reg = reg; $f.reginc = reginc; $f.save = save; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcompileExprWithKMVPropagation = function(context$1, expr, reg, save) {\n\t\tvar context$1, expr, reg, save, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; context$1 = $f.context$1; expr = $f.expr; reg = $f.reg; save = $f.save; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = compileExprWithPropagation(context$1, expr, reg, save, $methodVal(context$1.Code, \"PropagateKMV\")); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: compileExprWithKMVPropagation }; } $f.context$1 = context$1; $f.expr = expr; $f.reg = reg; $f.save = save; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcompileExprWithMVPropagation = function(context$1, expr, reg, save) {\n\t\tvar context$1, expr, reg, save, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; context$1 = $f.context$1; expr = $f.expr; reg = $f.reg; save = $f.save; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = compileExprWithPropagation(context$1, expr, reg, save, $methodVal(context$1.Code, \"PropagateMV\")); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: compileExprWithMVPropagation }; } $f.context$1 = context$1; $f.expr = expr; $f.reg = reg; $f.save = save; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tconstFold = function(exp) {\n\t\tvar _1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _ref, _tuple, _tuple$1, _tuple$2, exp, expr, expr$1, expr$2, lisconst, lvalue, ok, retexpr, risconst, rvalue, value, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _r$8 = $f._r$8; _ref = $f._ref; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; exp = $f.exp; expr = $f.expr; expr$1 = $f.expr$1; expr$2 = $f.expr$2; lisconst = $f.lisconst; lvalue = $f.lvalue; ok = $f.ok; retexpr = $f.retexpr; risconst = $f.risconst; rvalue = $f.rvalue; value = $f.value; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tretexpr = [retexpr];\n\t\t_ref = exp;\n\t\t/* */ if ($assertType(_ref, ptrType$47, true)[1]) { $s = 1; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$49, true)[1]) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if ($assertType(_ref, ptrType$47, true)[1]) { */ case 1:\n\t\t\texpr = _ref.$val;\n\t\t\t_r = constFold(expr.Lhs); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_r$1 = lnumberValue(_r); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r$1;\n\t\t\tlvalue = _tuple[0];\n\t\t\tlisconst = _tuple[1];\n\t\t\t_r$2 = constFold(expr.Rhs); /* */ $s = 7; case 7: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t_r$3 = lnumberValue(_r$2); /* */ $s = 8; case 8: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t_tuple$1 = _r$3;\n\t\t\trvalue = _tuple$1[0];\n\t\t\trisconst = _tuple$1[1];\n\t\t\t/* */ if (lisconst && risconst) { $s = 9; continue; }\n\t\t\t/* */ $s = 10; continue;\n\t\t\t/* if (lisconst && risconst) { */ case 9:\n\t\t\t\t\t_1 = expr.Operator;\n\t\t\t\t\t/* */ if (_1 === (\"+\")) { $s = 13; continue; }\n\t\t\t\t\t/* */ if (_1 === (\"-\")) { $s = 14; continue; }\n\t\t\t\t\t/* */ if (_1 === (\"*\")) { $s = 15; continue; }\n\t\t\t\t\t/* */ if (_1 === (\"/\")) { $s = 16; continue; }\n\t\t\t\t\t/* */ if (_1 === (\"%\")) { $s = 17; continue; }\n\t\t\t\t\t/* */ if (_1 === (\"^\")) { $s = 18; continue; }\n\t\t\t\t\t/* */ $s = 19; continue;\n\t\t\t\t\t/* if (_1 === (\"+\")) { */ case 13:\n\t\t\t\t\t\t$s = -1; return new constLValueExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), new LNumber(lvalue + rvalue));\n\t\t\t\t\t/* } else if (_1 === (\"-\")) { */ case 14:\n\t\t\t\t\t\t$s = -1; return new constLValueExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), new LNumber(lvalue - rvalue));\n\t\t\t\t\t/* } else if (_1 === (\"*\")) { */ case 15:\n\t\t\t\t\t\t$s = -1; return new constLValueExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), new LNumber(lvalue * rvalue));\n\t\t\t\t\t/* } else if (_1 === (\"/\")) { */ case 16:\n\t\t\t\t\t\t$s = -1; return new constLValueExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), new LNumber(lvalue / rvalue));\n\t\t\t\t\t/* } else if (_1 === (\"%\")) { */ case 17:\n\t\t\t\t\t\t$s = -1; return new constLValueExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), new LNumber(luaModulo(lvalue, rvalue)));\n\t\t\t\t\t/* } else if (_1 === (\"^\")) { */ case 18:\n\t\t\t\t\t\t$s = -1; return new constLValueExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), new LNumber((math.Pow((lvalue), (rvalue)))));\n\t\t\t\t\t/* } else { */ case 19:\n\t\t\t\t\t\t_r$4 = fmt.Sprintf(\"unknown binop: %v\", new sliceType$6([new $String(expr.Operator)])); /* */ $s = 21; case 21: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\t\t\t$panic(new $String(_r$4));\n\t\t\t\t\t/* } */ case 20:\n\t\t\t\tcase 12:\n\t\t\t\t$s = 11; continue;\n\t\t\t/* } else { */ case 10:\n\t\t\t\tretexpr[0] = $clone(expr, ast.ArithmeticOpExpr);\n\t\t\t\t_r$5 = constFold(expr.Lhs); /* */ $s = 22; case 22: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t\tretexpr[0].Lhs = _r$5;\n\t\t\t\t_r$6 = constFold(expr.Rhs); /* */ $s = 23; case 23: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t\t\tretexpr[0].Rhs = _r$6;\n\t\t\t\t$s = -1; return retexpr[0];\n\t\t\t/* } */ case 11:\n\t\t\t$s = 4; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$49, true)[1]) { */ case 2:\n\t\t\texpr$1 = _ref.$val;\n\t\t\t_r$7 = constFold(expr$1.Expr); /* */ $s = 24; case 24: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }\n\t\t\texpr$1.Expr = _r$7;\n\t\t\t_r$8 = lnumberValue(expr$1.Expr); /* */ $s = 25; case 25: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }\n\t\t\t_tuple$2 = _r$8;\n\t\t\tvalue = _tuple$2[0];\n\t\t\tok = _tuple$2[1];\n\t\t\tif (ok) {\n\t\t\t\t$s = -1; return new constLValueExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), new LNumber((-value)));\n\t\t\t}\n\t\t\t$s = -1; return expr$1;\n\t\t/* } else { */ case 3:\n\t\t\texpr$2 = _ref;\n\t\t\t$s = -1; return exp;\n\t\t/* } */ case 4:\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: constFold }; } $f._1 = _1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._r$8 = _r$8; $f._ref = _ref; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f.exp = exp; $f.expr = expr; $f.expr$1 = expr$1; $f.expr$2 = expr$2; $f.lisconst = lisconst; $f.lvalue = lvalue; $f.ok = ok; $f.retexpr = retexpr; $f.risconst = risconst; $f.rvalue = rvalue; $f.value = value; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcompileFunctionExpr = function(context$1, funcexpr, ec) {\n\t\tvar _arg, _i, _i$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _ref, _ref$1, _tuple, clv, context$1, ec, funcexpr, name, ok, slv, sv, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _i = $f._i; _i$1 = $f._i$1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _ref = $f._ref; _ref$1 = $f._ref$1; _tuple = $f._tuple; clv = $f.clv; context$1 = $f.context$1; ec = $f.ec; funcexpr = $f.funcexpr; name = $f.name; ok = $f.ok; slv = $f.slv; sv = $f.sv; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = sline(funcexpr); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tcontext$1.Proto.LineDefined = _r;\n\t\t_r$1 = eline(funcexpr); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tcontext$1.Proto.LastLineDefined = _r$1;\n\t\t/* */ if (funcexpr.ParList.Names.$length > 200) { $s = 3; continue; }\n\t\t/* */ $s = 4; continue;\n\t\t/* if (funcexpr.ParList.Names.$length > 200) { */ case 3:\n\t\t\t$r = raiseCompileError(context$1, context$1.Proto.LineDefined, \"register overflow\", new sliceType$6([])); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 4:\n\t\tcontext$1.Proto.NumParameters = ((funcexpr.ParList.Names.$length << 24 >>> 24));\n\t\t/* */ if (ec.ctype === 5) { $s = 6; continue; }\n\t\t/* */ $s = 7; continue;\n\t\t/* if (ec.ctype === 5) { */ case 6:\n\t\t\tcontext$1.Proto.NumParameters = context$1.Proto.NumParameters + (1) << 24 >>> 24;\n\t\t\t_r$2 = context$1.RegisterLocalVar(\"self\"); /* */ $s = 8; case 8: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t_r$2;\n\t\t/* } */ case 7:\n\t\t_ref = funcexpr.ParList.Names;\n\t\t_i = 0;\n\t\t/* while (true) { */ case 9:\n\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 10; continue; }\n\t\t\tname = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\t_r$3 = context$1.RegisterLocalVar(name); /* */ $s = 11; case 11: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t_r$3;\n\t\t\t_i++;\n\t\t/* } */ $s = 9; continue; case 10:\n\t\t/* */ if (funcexpr.ParList.HasVargs) { $s = 12; continue; }\n\t\t/* */ $s = 13; continue;\n\t\t/* if (funcexpr.ParList.HasVargs) { */ case 12:\n\t\t\t/* */ if ($pkg.CompatVarArg) { $s = 14; continue; }\n\t\t\t/* */ $s = 15; continue;\n\t\t\t/* if ($pkg.CompatVarArg) { */ case 14:\n\t\t\t\tcontext$1.Proto.IsVarArg = 5;\n\t\t\t\t/* */ if (!(context$1.Parent === ptrType$12.nil)) { $s = 16; continue; }\n\t\t\t\t/* */ $s = 17; continue;\n\t\t\t\t/* if (!(context$1.Parent === ptrType$12.nil)) { */ case 16:\n\t\t\t\t\t_r$4 = context$1.RegisterLocalVar(\"arg\"); /* */ $s = 18; case 18: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\t\t_r$4;\n\t\t\t\t/* } */ case 17:\n\t\t\t/* } */ case 15:\n\t\t\tcontext$1.Proto.IsVarArg = (context$1.Proto.IsVarArg | (2)) >>> 0;\n\t\t/* } */ case 13:\n\t\t$r = compileChunk(context$1, funcexpr.Stmts); /* */ $s = 19; case 19: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_r$5 = eline(funcexpr); /* */ $s = 20; case 20: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t_arg = _r$5;\n\t\t$r = context$1.Code.AddABC(33, 0, 1, 0, _arg); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tcontext$1.EndScope();\n\t\tcontext$1.Proto.Code = context$1.Code.List();\n\t\tcontext$1.Proto.DbgSourcePositions = context$1.Code.PosList();\n\t\tcontext$1.Proto.DbgUpvalues = context$1.Upvalues.Names();\n\t\tcontext$1.Proto.NumUpvalues = ((context$1.Proto.DbgUpvalues.$length << 24 >>> 24));\n\t\t_ref$1 = context$1.Proto.Constants;\n\t\t_i$1 = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i$1 < _ref$1.$length)) { break; }\n\t\t\tclv = ((_i$1 < 0 || _i$1 >= _ref$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref$1.$array[_ref$1.$offset + _i$1]);\n\t\t\tsv = \"\";\n\t\t\t_tuple = $assertType(clv, LString, true);\n\t\t\tslv = _tuple[0];\n\t\t\tok = _tuple[1];\n\t\t\tif (ok) {\n\t\t\t\tsv = (slv);\n\t\t\t}\n\t\t\tcontext$1.Proto.stringConstants = $append(context$1.Proto.stringConstants, sv);\n\t\t\t_i$1++;\n\t\t}\n\t\t$r = patchCode(context$1); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: compileFunctionExpr }; } $f._arg = _arg; $f._i = _i; $f._i$1 = _i$1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._ref = _ref; $f._ref$1 = _ref$1; $f._tuple = _tuple; $f.clv = clv; $f.context$1 = context$1; $f.ec = ec; $f.funcexpr = funcexpr; $f.name = name; $f.ok = ok; $f.slv = slv; $f.sv = sv; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcompileTableExpr = function(context$1, reg, ex, ec) {\n\t\tvar _arg, _arg$1, _arg$10, _arg$11, _arg$12, _arg$13, _arg$14, _arg$15, _arg$2, _arg$3, _arg$4, _arg$5, _arg$6, _arg$7, _arg$8, _arg$9, _i, _q, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _ref, _tuple, arraycount, b, b$1, c, c$1, code, context$1, ec, ex, field, flush, i, islast, lastvararg, line, num, ok, opcode, reg, regbase, regorg, tablepc, tablereg, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$10 = $f._arg$10; _arg$11 = $f._arg$11; _arg$12 = $f._arg$12; _arg$13 = $f._arg$13; _arg$14 = $f._arg$14; _arg$15 = $f._arg$15; _arg$2 = $f._arg$2; _arg$3 = $f._arg$3; _arg$4 = $f._arg$4; _arg$5 = $f._arg$5; _arg$6 = $f._arg$6; _arg$7 = $f._arg$7; _arg$8 = $f._arg$8; _arg$9 = $f._arg$9; _i = $f._i; _q = $f._q; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _ref = $f._ref; _tuple = $f._tuple; arraycount = $f.arraycount; b = $f.b; b$1 = $f.b$1; c = $f.c; c$1 = $f.c$1; code = $f.code; context$1 = $f.context$1; ec = $f.ec; ex = $f.ex; field = $f.field; flush = $f.flush; i = $f.i; islast = $f.islast; lastvararg = $f.lastvararg; line = $f.line; num = $f.num; ok = $f.ok; opcode = $f.opcode; reg = $f.reg; regbase = $f.regbase; regorg = $f.regorg; tablepc = $f.tablepc; tablereg = $f.tablereg; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\treg = [reg];\n\t\tcode = context$1.Code;\n\t\ttablereg = reg[0];\n\t\treg[0] = reg[0] + (1) >> 0;\n\t\t_arg = tablereg;\n\t\t_r = sline(ex); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_arg$1 = _r;\n\t\t$r = code.AddABC(13, _arg, 0, 0, _arg$1); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\ttablepc = code.LastPC();\n\t\tregbase = reg[0];\n\t\tarraycount = 0;\n\t\tlastvararg = false;\n\t\t_ref = ex.Fields;\n\t\t_i = 0;\n\t\t/* while (true) { */ case 3:\n\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 4; continue; }\n\t\t\tb = [b];\n\t\t\tc = [c];\n\t\t\ti = _i;\n\t\t\tfield = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\tislast = i === (ex.Fields.$length - 1 >> 0);\n\t\t\t/* */ if ($interfaceIsEqual(field.Key, $ifaceNil)) { $s = 5; continue; }\n\t\t\t/* */ $s = 6; continue;\n\t\t\t/* if ($interfaceIsEqual(field.Key, $ifaceNil)) { */ case 5:\n\t\t\t\t/* */ if (islast && isVarArgReturnExpr(field.Value)) { $s = 8; continue; }\n\t\t\t\t/* */ $s = 9; continue;\n\t\t\t\t/* if (islast && isVarArgReturnExpr(field.Value)) { */ case 8:\n\t\t\t\t\t_r$1 = compileExpr(context$1, reg[0], field.Value, ecnone(-2)); /* */ $s = 11; case 11: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t\treg[0] = reg[0] + (_r$1) >> 0;\n\t\t\t\t\tlastvararg = true;\n\t\t\t\t\t$s = 10; continue;\n\t\t\t\t/* } else { */ case 9:\n\t\t\t\t\t_r$2 = compileExpr(context$1, reg[0], field.Value, ecnone(0)); /* */ $s = 12; case 12: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t\treg[0] = reg[0] + (_r$2) >> 0;\n\t\t\t\t\tarraycount = arraycount + (1) >> 0;\n\t\t\t\t/* } */ case 10:\n\t\t\t\t$s = 7; continue;\n\t\t\t/* } else { */ case 6:\n\t\t\t\tregorg = reg[0];\n\t\t\t\tb[0] = reg[0];\n\t\t\t\t$r = compileExprWithKMVPropagation(context$1, field.Key, (reg.$ptr || (reg.$ptr = new ptrType$37(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, reg))), (b.$ptr || (b.$ptr = new ptrType$37(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, b)))); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\tc[0] = reg[0];\n\t\t\t\t$r = compileExprWithKMVPropagation(context$1, field.Value, (reg.$ptr || (reg.$ptr = new ptrType$37(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, reg))), (c.$ptr || (c.$ptr = new ptrType$37(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, c)))); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\topcode = 11;\n\t\t\t\t_tuple = $assertType(field.Key, ptrType$38, true);\n\t\t\t\tok = _tuple[1];\n\t\t\t\tif (ok) {\n\t\t\t\t\topcode = 12;\n\t\t\t\t}\n\t\t\t\t_arg$2 = opcode;\n\t\t\t\t_arg$3 = tablereg;\n\t\t\t\t_arg$4 = b[0];\n\t\t\t\t_arg$5 = c[0];\n\t\t\t\t_r$3 = sline(ex); /* */ $s = 15; case 15: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t_arg$6 = _r$3;\n\t\t\t\t$r = code.AddABC(_arg$2, _arg$3, _arg$4, _arg$5, _arg$6); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\treg[0] = regorg;\n\t\t\t/* } */ case 7:\n\t\t\tflush = (_r$4 = arraycount % $pkg.FieldsPerFlush, _r$4 === _r$4 ? _r$4 : $throwRuntimeError(\"integer divide by zero\"));\n\t\t\t/* */ if ((!((arraycount === 0)) && ((flush === 0) || islast)) || lastvararg) { $s = 17; continue; }\n\t\t\t/* */ $s = 18; continue;\n\t\t\t/* if ((!((arraycount === 0)) && ((flush === 0) || islast)) || lastvararg) { */ case 17:\n\t\t\t\treg[0] = regbase;\n\t\t\t\tnum = flush;\n\t\t\t\tif (num === 0) {\n\t\t\t\t\tnum = $pkg.FieldsPerFlush;\n\t\t\t\t}\n\t\t\t\tc$1 = (_q = ((arraycount - 1 >> 0)) / $pkg.FieldsPerFlush, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError(\"integer divide by zero\")) + 1 >> 0;\n\t\t\t\tb$1 = num;\n\t\t\t\tif (islast && isVarArgReturnExpr(field.Value)) {\n\t\t\t\t\tb$1 = 0;\n\t\t\t\t}\n\t\t\t\tline = field.Value;\n\t\t\t\tif (!($interfaceIsEqual(field.Key, $ifaceNil))) {\n\t\t\t\t\tline = field.Key;\n\t\t\t\t}\n\t\t\t\tif (c$1 > 511) {\n\t\t\t\t\tc$1 = 0;\n\t\t\t\t}\n\t\t\t\t_arg$7 = tablereg;\n\t\t\t\t_arg$8 = b$1;\n\t\t\t\t_arg$9 = c$1;\n\t\t\t\t_r$5 = sline(line); /* */ $s = 19; case 19: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t\t_arg$10 = _r$5;\n\t\t\t\t$r = code.AddABC(37, _arg$7, _arg$8, _arg$9, _arg$10); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t/* */ if (c$1 === 0) { $s = 21; continue; }\n\t\t\t\t/* */ $s = 22; continue;\n\t\t\t\t/* if (c$1 === 0) { */ case 21:\n\t\t\t\t\t_arg$11 = ((c$1 >>> 0));\n\t\t\t\t\t_r$6 = sline(line); /* */ $s = 23; case 23: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t\t\t\t_arg$12 = _r$6;\n\t\t\t\t\t$r = code.Add(_arg$11, _arg$12); /* */ $s = 24; case 24: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t/* } */ case 22:\n\t\t\t/* } */ case 18:\n\t\t\t_i++;\n\t\t/* } */ $s = 3; continue; case 4:\n\t\tcode.SetB(tablepc, int2Fb(arraycount));\n\t\tcode.SetC(tablepc, int2Fb(ex.Fields.$length - arraycount >> 0));\n\t\t/* */ if (shouldmove(ec, tablereg)) { $s = 25; continue; }\n\t\t/* */ $s = 26; continue;\n\t\t/* if (shouldmove(ec, tablereg)) { */ case 25:\n\t\t\t_arg$13 = ec.reg;\n\t\t\t_arg$14 = tablereg;\n\t\t\t_r$7 = sline(ex); /* */ $s = 27; case 27: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }\n\t\t\t_arg$15 = _r$7;\n\t\t\t$r = code.AddABC(0, _arg$13, _arg$14, 0, _arg$15); /* */ $s = 28; case 28: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 26:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: compileTableExpr }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$10 = _arg$10; $f._arg$11 = _arg$11; $f._arg$12 = _arg$12; $f._arg$13 = _arg$13; $f._arg$14 = _arg$14; $f._arg$15 = _arg$15; $f._arg$2 = _arg$2; $f._arg$3 = _arg$3; $f._arg$4 = _arg$4; $f._arg$5 = _arg$5; $f._arg$6 = _arg$6; $f._arg$7 = _arg$7; $f._arg$8 = _arg$8; $f._arg$9 = _arg$9; $f._i = _i; $f._q = _q; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._ref = _ref; $f._tuple = _tuple; $f.arraycount = arraycount; $f.b = b; $f.b$1 = b$1; $f.c = c; $f.c$1 = c$1; $f.code = code; $f.context$1 = context$1; $f.ec = ec; $f.ex = ex; $f.field = field; $f.flush = flush; $f.i = i; $f.islast = islast; $f.lastvararg = lastvararg; $f.line = line; $f.num = num; $f.ok = ok; $f.opcode = opcode; $f.reg = reg; $f.regbase = regbase; $f.regorg = regorg; $f.tablepc = tablepc; $f.tablereg = tablereg; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcompileArithmeticOpExpr = function(context$1, reg, expr, ec) {\n\t\tvar _1, _arg, _arg$1, _arg$2, _arg$3, _arg$4, _r, _r$1, _r$2, _r$3, _tuple, _tuple$1, a, b, c, context$1, ec, ex, exp, expr, ok, op, reg, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _arg$3 = $f._arg$3; _arg$4 = $f._arg$4; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; a = $f.a; b = $f.b; c = $f.c; context$1 = $f.context$1; ec = $f.ec; ex = $f.ex; exp = $f.exp; expr = $f.expr; ok = $f.ok; op = $f.op; reg = $f.reg; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tb = [b];\n\t\tc = [c];\n\t\treg = [reg];\n\t\t_r = constFold(expr); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\texp = _r;\n\t\t_tuple = $assertType(exp, ptrType$16, true);\n\t\tex = _tuple[0];\n\t\tok = _tuple[1];\n\t\t/* */ if (ok) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (ok) { */ case 2:\n\t\t\t_r$1 = sline(expr); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t$r = exp.SetLine(_r$1); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t_r$2 = compileExpr(context$1, reg[0], ex, ec); /* */ $s = 6; case 6: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t_r$2;\n\t\t\t$s = -1; return;\n\t\t/* } */ case 3:\n\t\t_tuple$1 = $assertType(exp, ptrType$47, true);\n\t\texpr = _tuple$1[0];\n\t\ta = savereg(ec, reg[0]);\n\t\tb[0] = reg[0];\n\t\t$r = compileExprWithKMVPropagation(context$1, expr.Lhs, (reg.$ptr || (reg.$ptr = new ptrType$37(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, reg))), (b.$ptr || (b.$ptr = new ptrType$37(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, b)))); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tc[0] = reg[0];\n\t\t$r = compileExprWithKMVPropagation(context$1, expr.Rhs, (reg.$ptr || (reg.$ptr = new ptrType$37(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, reg))), (c.$ptr || (c.$ptr = new ptrType$37(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, c)))); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\top = 0;\n\t\t_1 = expr.Operator;\n\t\tif (_1 === (\"+\")) {\n\t\t\top = 15;\n\t\t} else if (_1 === (\"-\")) {\n\t\t\top = 16;\n\t\t} else if (_1 === (\"*\")) {\n\t\t\top = 17;\n\t\t} else if (_1 === (\"/\")) {\n\t\t\top = 18;\n\t\t} else if (_1 === (\"%\")) {\n\t\t\top = 19;\n\t\t} else if (_1 === (\"^\")) {\n\t\t\top = 20;\n\t\t}\n\t\t_arg = op;\n\t\t_arg$1 = a;\n\t\t_arg$2 = b[0];\n\t\t_arg$3 = c[0];\n\t\t_r$3 = sline(expr); /* */ $s = 9; case 9: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t_arg$4 = _r$3;\n\t\t$r = context$1.Code.AddABC(_arg, _arg$1, _arg$2, _arg$3, _arg$4); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: compileArithmeticOpExpr }; } $f._1 = _1; $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._arg$3 = _arg$3; $f._arg$4 = _arg$4; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.a = a; $f.b = b; $f.c = c; $f.context$1 = context$1; $f.ec = ec; $f.ex = ex; $f.exp = exp; $f.expr = expr; $f.ok = ok; $f.op = op; $f.reg = reg; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcompileStringConcatOpExpr = function(context$1, reg, expr, ec) {\n\t\tvar _arg, _arg$1, _arg$2, _arg$3, _r, _r$1, _r$2, _tuple, a, basereg, code, context$1, crange, current, ec, ex, expr, ok, pc, reg, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _arg$3 = $f._arg$3; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _tuple = $f._tuple; a = $f.a; basereg = $f.basereg; code = $f.code; context$1 = $f.context$1; crange = $f.crange; current = $f.current; ec = $f.ec; ex = $f.ex; expr = $f.expr; ok = $f.ok; pc = $f.pc; reg = $f.reg; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tcode = context$1.Code;\n\t\tcrange = 1;\n\t\tcurrent = expr.Rhs;\n\t\twhile (true) {\n\t\t\tif (!(!($interfaceIsEqual(current, $ifaceNil)))) { break; }\n\t\t\t_tuple = $assertType(current, ptrType$48, true);\n\t\t\tex = _tuple[0];\n\t\t\tok = _tuple[1];\n\t\t\tif (ok) {\n\t\t\t\tcrange = crange + (1) >> 0;\n\t\t\t\tcurrent = ex.Rhs;\n\t\t\t} else {\n\t\t\t\tcurrent = $ifaceNil;\n\t\t\t}\n\t\t}\n\t\ta = savereg(ec, reg);\n\t\tbasereg = reg;\n\t\t_r = compileExpr(context$1, reg, expr.Lhs, ecnone(0)); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\treg = reg + (_r) >> 0;\n\t\t_r$1 = compileExpr(context$1, reg, expr.Rhs, ecnone(0)); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\treg = reg + (_r$1) >> 0;\n\t\tpc = code.LastPC();\n\t\twhile (true) {\n\t\t\tif (!(!((pc === 0)) && (opGetOpCode(code.At(pc)) === 24))) { break; }\n\t\t\tcode.Pop();\n\t\t\tpc = pc - (1) >> 0;\n\t\t}\n\t\t_arg = a;\n\t\t_arg$1 = basereg;\n\t\t_arg$2 = basereg + crange >> 0;\n\t\t_r$2 = sline(expr); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t_arg$3 = _r$2;\n\t\t$r = code.AddABC(24, _arg, _arg$1, _arg$2, _arg$3); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: compileStringConcatOpExpr }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._arg$3 = _arg$3; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._tuple = _tuple; $f.a = a; $f.basereg = basereg; $f.code = code; $f.context$1 = context$1; $f.crange = crange; $f.current = current; $f.ec = ec; $f.ex = ex; $f.expr = expr; $f.ok = ok; $f.pc = pc; $f.reg = reg; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcompileUnaryOpExpr = function(context$1, reg, expr, ec) {\n\t\tvar _arg, _arg$1, _arg$2, _arg$3, _arg$4, _arg$5, _arg$6, _arg$7, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _ref, _ref$1, _tuple, _tuple$1, a, b, code, context$1, ec, ex, ex$1, ex$2, exp, expr, lvexpr, ok, opcode, operandexpr, reg, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _arg$3 = $f._arg$3; _arg$4 = $f._arg$4; _arg$5 = $f._arg$5; _arg$6 = $f._arg$6; _arg$7 = $f._arg$7; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _ref = $f._ref; _ref$1 = $f._ref$1; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; a = $f.a; b = $f.b; code = $f.code; context$1 = $f.context$1; ec = $f.ec; ex = $f.ex; ex$1 = $f.ex$1; ex$2 = $f.ex$2; exp = $f.exp; expr = $f.expr; lvexpr = $f.lvexpr; ok = $f.ok; opcode = $f.opcode; operandexpr = $f.operandexpr; reg = $f.reg; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tb = [b];\n\t\treg = [reg];\n\t\topcode = 0;\n\t\tcode = context$1.Code;\n\t\toperandexpr = $ifaceNil;\n\t\t_ref = expr;\n\t\t/* */ if ($assertType(_ref, ptrType$49, true)[1]) { $s = 1; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$44, true)[1]) { $s = 2; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$50, true)[1]) { $s = 3; continue; }\n\t\t/* */ $s = 4; continue;\n\t\t/* if ($assertType(_ref, ptrType$49, true)[1]) { */ case 1:\n\t\t\tex = _ref.$val;\n\t\t\t_r = constFold(ex); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\texp = _r;\n\t\t\t_tuple = $assertType(exp, ptrType$16, true);\n\t\t\tlvexpr = _tuple[0];\n\t\t\tok = _tuple[1];\n\t\t\t/* */ if (ok) { $s = 6; continue; }\n\t\t\t/* */ $s = 7; continue;\n\t\t\t/* if (ok) { */ case 6:\n\t\t\t\t_r$1 = sline(expr); /* */ $s = 8; case 8: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t$r = exp.SetLine(_r$1); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t_r$2 = compileExpr(context$1, reg[0], lvexpr, ec); /* */ $s = 10; case 10: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t_r$2;\n\t\t\t\t$s = -1; return;\n\t\t\t/* } */ case 7:\n\t\t\t_tuple$1 = $assertType(exp, ptrType$49, true);\n\t\t\tex = _tuple$1[0];\n\t\t\toperandexpr = ex.Expr;\n\t\t\topcode = 21;\n\t\t\t$s = 4; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$44, true)[1]) { */ case 2:\n\t\t\tex$1 = _ref.$val;\n\t\t\t_ref$1 = ex$1.Expr;\n\t\t\t/* */ if ($assertType(_ref$1, ptrType$43, true)[1]) { $s = 11; continue; }\n\t\t\t/* */ if ($assertType(_ref$1, ptrType$41, true)[1] || $assertType(_ref$1, ptrType$42, true)[1]) { $s = 12; continue; }\n\t\t\t/* */ $s = 13; continue;\n\t\t\t/* if ($assertType(_ref$1, ptrType$43, true)[1]) { */ case 11:\n\t\t\t\t_arg = savereg(ec, reg[0]);\n\t\t\t\t_r$3 = sline(expr); /* */ $s = 15; case 15: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t_arg$1 = _r$3;\n\t\t\t\t$r = code.AddABC(3, _arg, 0, 0, _arg$1); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return;\n\t\t\t/* } else if ($assertType(_ref$1, ptrType$41, true)[1] || $assertType(_ref$1, ptrType$42, true)[1]) { */ case 12:\n\t\t\t\t_arg$2 = savereg(ec, reg[0]);\n\t\t\t\t_r$4 = sline(expr); /* */ $s = 17; case 17: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\t_arg$3 = _r$4;\n\t\t\t\t$r = code.AddABC(3, _arg$2, 1, 0, _arg$3); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return;\n\t\t\t/* } else { */ case 13:\n\t\t\t\topcode = 22;\n\t\t\t\toperandexpr = ex$1.Expr;\n\t\t\t/* } */ case 14:\n\t\t\t$s = 4; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$50, true)[1]) { */ case 3:\n\t\t\tex$2 = _ref.$val;\n\t\t\topcode = 23;\n\t\t\toperandexpr = ex$2.Expr;\n\t\t/* } */ case 4:\n\t\ta = savereg(ec, reg[0]);\n\t\tb[0] = reg[0];\n\t\t$r = compileExprWithMVPropagation(context$1, operandexpr, (reg.$ptr || (reg.$ptr = new ptrType$37(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, reg))), (b.$ptr || (b.$ptr = new ptrType$37(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, b)))); /* */ $s = 19; case 19: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_arg$4 = opcode;\n\t\t_arg$5 = a;\n\t\t_arg$6 = b[0];\n\t\t_r$5 = sline(expr); /* */ $s = 20; case 20: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t_arg$7 = _r$5;\n\t\t$r = code.AddABC(_arg$4, _arg$5, _arg$6, 0, _arg$7); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: compileUnaryOpExpr }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._arg$3 = _arg$3; $f._arg$4 = _arg$4; $f._arg$5 = _arg$5; $f._arg$6 = _arg$6; $f._arg$7 = _arg$7; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._ref = _ref; $f._ref$1 = _ref$1; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.a = a; $f.b = b; $f.code = code; $f.context$1 = context$1; $f.ec = ec; $f.ex = ex; $f.ex$1 = ex$1; $f.ex$2 = ex$2; $f.exp = exp; $f.expr = expr; $f.lvexpr = lvexpr; $f.ok = ok; $f.opcode = opcode; $f.operandexpr = operandexpr; $f.reg = reg; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcompileRelationalOpExprAux = function(context$1, reg, expr, flip, label) {\n\t\tvar _1, _arg, _arg$1, _arg$10, _arg$11, _arg$12, _arg$13, _arg$14, _arg$15, _arg$16, _arg$17, _arg$18, _arg$19, _arg$2, _arg$20, _arg$21, _arg$22, _arg$23, _arg$24, _arg$25, _arg$3, _arg$4, _arg$5, _arg$6, _arg$7, _arg$8, _arg$9, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, b, c, code, context$1, expr, flip, label, reg, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$10 = $f._arg$10; _arg$11 = $f._arg$11; _arg$12 = $f._arg$12; _arg$13 = $f._arg$13; _arg$14 = $f._arg$14; _arg$15 = $f._arg$15; _arg$16 = $f._arg$16; _arg$17 = $f._arg$17; _arg$18 = $f._arg$18; _arg$19 = $f._arg$19; _arg$2 = $f._arg$2; _arg$20 = $f._arg$20; _arg$21 = $f._arg$21; _arg$22 = $f._arg$22; _arg$23 = $f._arg$23; _arg$24 = $f._arg$24; _arg$25 = $f._arg$25; _arg$3 = $f._arg$3; _arg$4 = $f._arg$4; _arg$5 = $f._arg$5; _arg$6 = $f._arg$6; _arg$7 = $f._arg$7; _arg$8 = $f._arg$8; _arg$9 = $f._arg$9; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; b = $f.b; c = $f.c; code = $f.code; context$1 = $f.context$1; expr = $f.expr; flip = $f.flip; label = $f.label; reg = $f.reg; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tb = [b];\n\t\tc = [c];\n\t\treg = [reg];\n\t\tcode = context$1.Code;\n\t\tb[0] = reg[0];\n\t\t$r = compileExprWithKMVPropagation(context$1, expr.Lhs, (reg.$ptr || (reg.$ptr = new ptrType$37(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, reg))), (b.$ptr || (b.$ptr = new ptrType$37(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, b)))); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tc[0] = reg[0];\n\t\t$r = compileExprWithKMVPropagation(context$1, expr.Rhs, (reg.$ptr || (reg.$ptr = new ptrType$37(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, reg))), (c.$ptr || (c.$ptr = new ptrType$37(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, c)))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t_1 = expr.Operator;\n\t\t\t/* */ if (_1 === (\"<\")) { $s = 4; continue; }\n\t\t\t/* */ if (_1 === (\">\")) { $s = 5; continue; }\n\t\t\t/* */ if (_1 === (\"<=\")) { $s = 6; continue; }\n\t\t\t/* */ if (_1 === (\">=\")) { $s = 7; continue; }\n\t\t\t/* */ if (_1 === (\"==\")) { $s = 8; continue; }\n\t\t\t/* */ if (_1 === (\"~=\")) { $s = 9; continue; }\n\t\t\t/* */ $s = 10; continue;\n\t\t\t/* if (_1 === (\"<\")) { */ case 4:\n\t\t\t\t_arg = (0 ^ flip) >> 0;\n\t\t\t\t_arg$1 = b[0];\n\t\t\t\t_arg$2 = c[0];\n\t\t\t\t_r = sline(expr); /* */ $s = 11; case 11: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t_arg$3 = _r;\n\t\t\t\t$r = code.AddABC(27, _arg, _arg$1, _arg$2, _arg$3); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 10; continue;\n\t\t\t/* } else if (_1 === (\">\")) { */ case 5:\n\t\t\t\t_arg$4 = (0 ^ flip) >> 0;\n\t\t\t\t_arg$5 = c[0];\n\t\t\t\t_arg$6 = b[0];\n\t\t\t\t_r$1 = sline(expr); /* */ $s = 13; case 13: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t_arg$7 = _r$1;\n\t\t\t\t$r = code.AddABC(27, _arg$4, _arg$5, _arg$6, _arg$7); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 10; continue;\n\t\t\t/* } else if (_1 === (\"<=\")) { */ case 6:\n\t\t\t\t_arg$8 = (0 ^ flip) >> 0;\n\t\t\t\t_arg$9 = b[0];\n\t\t\t\t_arg$10 = c[0];\n\t\t\t\t_r$2 = sline(expr); /* */ $s = 15; case 15: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t_arg$11 = _r$2;\n\t\t\t\t$r = code.AddABC(28, _arg$8, _arg$9, _arg$10, _arg$11); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 10; continue;\n\t\t\t/* } else if (_1 === (\">=\")) { */ case 7:\n\t\t\t\t_arg$12 = (0 ^ flip) >> 0;\n\t\t\t\t_arg$13 = c[0];\n\t\t\t\t_arg$14 = b[0];\n\t\t\t\t_r$3 = sline(expr); /* */ $s = 17; case 17: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t_arg$15 = _r$3;\n\t\t\t\t$r = code.AddABC(28, _arg$12, _arg$13, _arg$14, _arg$15); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 10; continue;\n\t\t\t/* } else if (_1 === (\"==\")) { */ case 8:\n\t\t\t\t_arg$16 = (0 ^ flip) >> 0;\n\t\t\t\t_arg$17 = b[0];\n\t\t\t\t_arg$18 = c[0];\n\t\t\t\t_r$4 = sline(expr); /* */ $s = 19; case 19: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\t_arg$19 = _r$4;\n\t\t\t\t$r = code.AddABC(26, _arg$16, _arg$17, _arg$18, _arg$19); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 10; continue;\n\t\t\t/* } else if (_1 === (\"~=\")) { */ case 9:\n\t\t\t\t_arg$20 = (1 ^ flip) >> 0;\n\t\t\t\t_arg$21 = b[0];\n\t\t\t\t_arg$22 = c[0];\n\t\t\t\t_r$5 = sline(expr); /* */ $s = 21; case 21: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t\t_arg$23 = _r$5;\n\t\t\t\t$r = code.AddABC(26, _arg$20, _arg$21, _arg$22, _arg$23); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 10:\n\t\tcase 3:\n\t\t_arg$24 = label;\n\t\t_r$6 = sline(expr); /* */ $s = 23; case 23: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t_arg$25 = _r$6;\n\t\t$r = code.AddASbx(25, 0, _arg$24, _arg$25); /* */ $s = 24; case 24: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: compileRelationalOpExprAux }; } $f._1 = _1; $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$10 = _arg$10; $f._arg$11 = _arg$11; $f._arg$12 = _arg$12; $f._arg$13 = _arg$13; $f._arg$14 = _arg$14; $f._arg$15 = _arg$15; $f._arg$16 = _arg$16; $f._arg$17 = _arg$17; $f._arg$18 = _arg$18; $f._arg$19 = _arg$19; $f._arg$2 = _arg$2; $f._arg$20 = _arg$20; $f._arg$21 = _arg$21; $f._arg$22 = _arg$22; $f._arg$23 = _arg$23; $f._arg$24 = _arg$24; $f._arg$25 = _arg$25; $f._arg$3 = _arg$3; $f._arg$4 = _arg$4; $f._arg$5 = _arg$5; $f._arg$6 = _arg$6; $f._arg$7 = _arg$7; $f._arg$8 = _arg$8; $f._arg$9 = _arg$9; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f.b = b; $f.c = c; $f.code = code; $f.context$1 = context$1; $f.expr = expr; $f.flip = flip; $f.label = label; $f.reg = reg; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcompileRelationalOpExpr = function(context$1, reg, expr, ec) {\n\t\tvar _arg, _arg$1, _arg$2, _arg$3, _r, _r$1, a, code, context$1, ec, expr, jumplabel, reg, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _arg$3 = $f._arg$3; _r = $f._r; _r$1 = $f._r$1; a = $f.a; code = $f.code; context$1 = $f.context$1; ec = $f.ec; expr = $f.expr; jumplabel = $f.jumplabel; reg = $f.reg; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\ta = savereg(ec, reg);\n\t\tcode = context$1.Code;\n\t\tjumplabel = context$1.NewLabel();\n\t\t$r = compileRelationalOpExprAux(context$1, reg, expr, 1, jumplabel); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_arg = a;\n\t\t_r = sline(expr); /* */ $s = 2; case 2: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_arg$1 = _r;\n\t\t$r = code.AddABC(3, _arg, 0, 1, _arg$1); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tcontext$1.SetLabelPc(jumplabel, code.LastPC());\n\t\t_arg$2 = a;\n\t\t_r$1 = sline(expr); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_arg$3 = _r$1;\n\t\t$r = code.AddABC(3, _arg$2, 1, 0, _arg$3); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: compileRelationalOpExpr }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._arg$3 = _arg$3; $f._r = _r; $f._r$1 = _r$1; $f.a = a; $f.code = code; $f.context$1 = context$1; $f.ec = ec; $f.expr = expr; $f.jumplabel = jumplabel; $f.reg = reg; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcompileLogicalOpExpr = function(context$1, reg, expr, ec) {\n\t\tvar _arg, _arg$1, _arg$2, _arg$3, _r, _r$1, a, code, context$1, ec, endlabel, expr, lastinst, lb, nextcondlabel, reg, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _arg$3 = $f._arg$3; _r = $f._r; _r$1 = $f._r$1; a = $f.a; code = $f.code; context$1 = $f.context$1; ec = $f.ec; endlabel = $f.endlabel; expr = $f.expr; lastinst = $f.lastinst; lb = $f.lb; nextcondlabel = $f.nextcondlabel; reg = $f.reg; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\ta = savereg(ec, reg);\n\t\tcode = context$1.Code;\n\t\tendlabel = context$1.NewLabel();\n\t\tlb = new lblabels.ptr(context$1.NewLabel(), context$1.NewLabel(), endlabel, false);\n\t\tnextcondlabel = context$1.NewLabel();\n\t\t/* */ if (expr.Operator === \"and\") { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (expr.Operator === \"and\") { */ case 1:\n\t\t\t$r = compileLogicalOpExprAux(context$1, reg, expr.Lhs, ec, nextcondlabel, endlabel, false, lb); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\tcontext$1.SetLabelPc(nextcondlabel, code.LastPC());\n\t\t\t$r = compileLogicalOpExprAux(context$1, reg, expr.Rhs, ec, endlabel, endlabel, false, lb); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 3; continue;\n\t\t/* } else { */ case 2:\n\t\t\t$r = compileLogicalOpExprAux(context$1, reg, expr.Lhs, ec, endlabel, nextcondlabel, true, lb); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\tcontext$1.SetLabelPc(nextcondlabel, code.LastPC());\n\t\t\t$r = compileLogicalOpExprAux(context$1, reg, expr.Rhs, ec, endlabel, endlabel, false, lb); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 3:\n\t\t/* */ if (lb.b) { $s = 8; continue; }\n\t\t/* */ $s = 9; continue;\n\t\t/* if (lb.b) { */ case 8:\n\t\t\tcontext$1.SetLabelPc(lb.f, code.LastPC());\n\t\t\t_arg = a;\n\t\t\t_r = sline(expr); /* */ $s = 10; case 10: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_arg$1 = _r;\n\t\t\t$r = code.AddABC(3, _arg, 0, 1, _arg$1); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\tcontext$1.SetLabelPc(lb.t, code.LastPC());\n\t\t\t_arg$2 = a;\n\t\t\t_r$1 = sline(expr); /* */ $s = 12; case 12: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_arg$3 = _r$1;\n\t\t\t$r = code.AddABC(3, _arg$2, 1, 0, _arg$3); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 9:\n\t\tlastinst = code.Last();\n\t\tif ((opGetOpCode(lastinst) === 25) && (opGetArgSbx(lastinst) === endlabel)) {\n\t\t\tcode.Pop();\n\t\t}\n\t\tcontext$1.SetLabelPc(endlabel, code.LastPC());\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: compileLogicalOpExpr }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._arg$3 = _arg$3; $f._r = _r; $f._r$1 = _r$1; $f.a = a; $f.code = code; $f.context$1 = context$1; $f.ec = ec; $f.endlabel = endlabel; $f.expr = expr; $f.lastinst = lastinst; $f.lb = lb; $f.nextcondlabel = nextcondlabel; $f.reg = reg; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcompileLogicalOpExprAux = function(context$1, reg, expr, ec, thenlabel, elselabel, hasnextcond, lb) {\n\t\tvar _1, _arg, _arg$1, _arg$10, _arg$11, _arg$12, _arg$13, _arg$14, _arg$15, _arg$16, _arg$17, _arg$18, _arg$19, _arg$2, _arg$20, _arg$21, _arg$22, _arg$23, _arg$24, _arg$25, _arg$26, _arg$27, _arg$3, _arg$4, _arg$5, _arg$6, _arg$7, _arg$8, _arg$9, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _ref, a, code, context$1, ec, elselabel, ex, ex$1, ex$2, ex$3, ex$4, ex$5, expr, flip, hasnextcond, jumplabel, last, lb, nextcondlabel, nextcondlabel$1, reg, sreg, thenlabel, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$10 = $f._arg$10; _arg$11 = $f._arg$11; _arg$12 = $f._arg$12; _arg$13 = $f._arg$13; _arg$14 = $f._arg$14; _arg$15 = $f._arg$15; _arg$16 = $f._arg$16; _arg$17 = $f._arg$17; _arg$18 = $f._arg$18; _arg$19 = $f._arg$19; _arg$2 = $f._arg$2; _arg$20 = $f._arg$20; _arg$21 = $f._arg$21; _arg$22 = $f._arg$22; _arg$23 = $f._arg$23; _arg$24 = $f._arg$24; _arg$25 = $f._arg$25; _arg$26 = $f._arg$26; _arg$27 = $f._arg$27; _arg$3 = $f._arg$3; _arg$4 = $f._arg$4; _arg$5 = $f._arg$5; _arg$6 = $f._arg$6; _arg$7 = $f._arg$7; _arg$8 = $f._arg$8; _arg$9 = $f._arg$9; _r = $f._r; _r$1 = $f._r$1; _r$10 = $f._r$10; _r$11 = $f._r$11; _r$12 = $f._r$12; _r$13 = $f._r$13; _r$14 = $f._r$14; _r$15 = $f._r$15; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _r$8 = $f._r$8; _r$9 = $f._r$9; _ref = $f._ref; a = $f.a; code = $f.code; context$1 = $f.context$1; ec = $f.ec; elselabel = $f.elselabel; ex = $f.ex; ex$1 = $f.ex$1; ex$2 = $f.ex$2; ex$3 = $f.ex$3; ex$4 = $f.ex$4; ex$5 = $f.ex$5; expr = $f.expr; flip = $f.flip; hasnextcond = $f.hasnextcond; jumplabel = $f.jumplabel; last = $f.last; lb = $f.lb; nextcondlabel = $f.nextcondlabel; nextcondlabel$1 = $f.nextcondlabel$1; reg = $f.reg; sreg = $f.sreg; thenlabel = $f.thenlabel; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tcode = context$1.Code;\n\t\tflip = 0;\n\t\tjumplabel = elselabel;\n\t\tif (hasnextcond) {\n\t\t\tflip = 1;\n\t\t\tjumplabel = thenlabel;\n\t\t}\n\t\t_ref = expr;\n\t\t/* */ if ($assertType(_ref, ptrType$41, true)[1]) { $s = 1; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$42, true)[1]) { $s = 2; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$43, true)[1]) { $s = 3; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$15, true)[1] || $assertType(_ref, ptrType$38, true)[1]) { $s = 4; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$39, true)[1]) { $s = 5; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$45, true)[1]) { $s = 6; continue; }\n\t\t/* */ $s = 7; continue;\n\t\t/* if ($assertType(_ref, ptrType$41, true)[1]) { */ case 1:\n\t\t\tex = _ref.$val;\n\t\t\t/* */ if (elselabel === lb.e) { $s = 8; continue; }\n\t\t\t/* */ $s = 9; continue;\n\t\t\t/* if (elselabel === lb.e) { */ case 8:\n\t\t\t\t_arg = lb.f;\n\t\t\t\t_r = sline(expr); /* */ $s = 11; case 11: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t_arg$1 = _r;\n\t\t\t\t$r = code.AddASbx(25, 0, _arg, _arg$1); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\tlb.b = true;\n\t\t\t\t$s = 10; continue;\n\t\t\t/* } else { */ case 9:\n\t\t\t\t_arg$2 = elselabel;\n\t\t\t\t_r$1 = sline(expr); /* */ $s = 13; case 13: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t_arg$3 = _r$1;\n\t\t\t\t$r = code.AddASbx(25, 0, _arg$2, _arg$3); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 10:\n\t\t\t$s = -1; return;\n\t\t/* } else if ($assertType(_ref, ptrType$42, true)[1]) { */ case 2:\n\t\t\tex$1 = _ref.$val;\n\t\t\t/* */ if (elselabel === lb.e) { $s = 15; continue; }\n\t\t\t/* */ $s = 16; continue;\n\t\t\t/* if (elselabel === lb.e) { */ case 15:\n\t\t\t\t_r$2 = compileExpr(context$1, reg, expr, ec); /* */ $s = 18; case 18: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t_r$2;\n\t\t\t\t_arg$4 = lb.e;\n\t\t\t\t_r$3 = sline(expr); /* */ $s = 19; case 19: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t_arg$5 = _r$3;\n\t\t\t\t$r = code.AddASbx(25, 0, _arg$4, _arg$5); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 17; continue;\n\t\t\t/* } else { */ case 16:\n\t\t\t\t_arg$6 = elselabel;\n\t\t\t\t_r$4 = sline(expr); /* */ $s = 21; case 21: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\t_arg$7 = _r$4;\n\t\t\t\t$r = code.AddASbx(25, 0, _arg$6, _arg$7); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 17:\n\t\t\t$s = -1; return;\n\t\t/* } else if ($assertType(_ref, ptrType$43, true)[1]) { */ case 3:\n\t\t\tex$2 = _ref.$val;\n\t\t\t/* */ if (thenlabel === lb.e) { $s = 23; continue; }\n\t\t\t/* */ $s = 24; continue;\n\t\t\t/* if (thenlabel === lb.e) { */ case 23:\n\t\t\t\t_arg$8 = lb.t;\n\t\t\t\t_r$5 = sline(expr); /* */ $s = 26; case 26: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t\t_arg$9 = _r$5;\n\t\t\t\t$r = code.AddASbx(25, 0, _arg$8, _arg$9); /* */ $s = 27; case 27: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\tlb.b = true;\n\t\t\t\t$s = 25; continue;\n\t\t\t/* } else { */ case 24:\n\t\t\t\t_arg$10 = thenlabel;\n\t\t\t\t_r$6 = sline(expr); /* */ $s = 28; case 28: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t\t\t_arg$11 = _r$6;\n\t\t\t\t$r = code.AddASbx(25, 0, _arg$10, _arg$11); /* */ $s = 29; case 29: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 25:\n\t\t\t$s = -1; return;\n\t\t/* } else if ($assertType(_ref, ptrType$15, true)[1] || $assertType(_ref, ptrType$38, true)[1]) { */ case 4:\n\t\t\tex$3 = _ref;\n\t\t\t/* */ if (thenlabel === lb.e) { $s = 30; continue; }\n\t\t\t/* */ $s = 31; continue;\n\t\t\t/* if (thenlabel === lb.e) { */ case 30:\n\t\t\t\t_r$7 = compileExpr(context$1, reg, expr, ec); /* */ $s = 33; case 33: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }\n\t\t\t\t_r$7;\n\t\t\t\t_arg$12 = lb.e;\n\t\t\t\t_r$8 = sline(expr); /* */ $s = 34; case 34: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }\n\t\t\t\t_arg$13 = _r$8;\n\t\t\t\t$r = code.AddASbx(25, 0, _arg$12, _arg$13); /* */ $s = 35; case 35: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 32; continue;\n\t\t\t/* } else { */ case 31:\n\t\t\t\t_arg$14 = thenlabel;\n\t\t\t\t_r$9 = sline(expr); /* */ $s = 36; case 36: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }\n\t\t\t\t_arg$15 = _r$9;\n\t\t\t\t$r = code.AddASbx(25, 0, _arg$14, _arg$15); /* */ $s = 37; case 37: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 32:\n\t\t\t$s = -1; return;\n\t\t/* } else if ($assertType(_ref, ptrType$39, true)[1]) { */ case 5:\n\t\t\tex$4 = _ref.$val;\n\t\t\t\t_1 = ex$4.Operator;\n\t\t\t\t/* */ if (_1 === (\"and\")) { $s = 39; continue; }\n\t\t\t\t/* */ if (_1 === (\"or\")) { $s = 40; continue; }\n\t\t\t\t/* */ $s = 41; continue;\n\t\t\t\t/* if (_1 === (\"and\")) { */ case 39:\n\t\t\t\t\tnextcondlabel = context$1.NewLabel();\n\t\t\t\t\t$r = compileLogicalOpExprAux(context$1, reg, ex$4.Lhs, ec, nextcondlabel, elselabel, false, lb); /* */ $s = 42; case 42: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\tcontext$1.SetLabelPc(nextcondlabel, context$1.Code.LastPC());\n\t\t\t\t\t$r = compileLogicalOpExprAux(context$1, reg, ex$4.Rhs, ec, thenlabel, elselabel, hasnextcond, lb); /* */ $s = 43; case 43: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t$s = 41; continue;\n\t\t\t\t/* } else if (_1 === (\"or\")) { */ case 40:\n\t\t\t\t\tnextcondlabel$1 = context$1.NewLabel();\n\t\t\t\t\t$r = compileLogicalOpExprAux(context$1, reg, ex$4.Lhs, ec, thenlabel, nextcondlabel$1, true, lb); /* */ $s = 44; case 44: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\tcontext$1.SetLabelPc(nextcondlabel$1, context$1.Code.LastPC());\n\t\t\t\t\t$r = compileLogicalOpExprAux(context$1, reg, ex$4.Rhs, ec, thenlabel, elselabel, hasnextcond, lb); /* */ $s = 45; case 45: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t/* } */ case 41:\n\t\t\tcase 38:\n\t\t\t$s = -1; return;\n\t\t/* } else if ($assertType(_ref, ptrType$45, true)[1]) { */ case 6:\n\t\t\tex$5 = _ref.$val;\n\t\t\tif (thenlabel === elselabel) {\n\t\t\t\tflip = (flip ^ (1)) >> 0;\n\t\t\t\tjumplabel = lb.t;\n\t\t\t\tlb.b = true;\n\t\t\t} else if (thenlabel === lb.e) {\n\t\t\t\tjumplabel = lb.t;\n\t\t\t\tlb.b = true;\n\t\t\t} else if (elselabel === lb.e) {\n\t\t\t\tjumplabel = lb.f;\n\t\t\t\tlb.b = true;\n\t\t\t}\n\t\t\t$r = compileRelationalOpExprAux(context$1, reg, ex$5, flip, jumplabel); /* */ $s = 46; case 46: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return;\n\t\t/* } */ case 7:\n\t\ta = reg;\n\t\tsreg = savereg(ec, a);\n\t\t/* */ if (!hasnextcond && (thenlabel === elselabel)) { $s = 47; continue; }\n\t\t/* */ $s = 48; continue;\n\t\t/* if (!hasnextcond && (thenlabel === elselabel)) { */ case 47:\n\t\t\t_r$10 = compileExpr(context$1, reg, expr, new expcontext.ptr(ec.ctype, intMax(a, sreg), ec.varargopt)); /* */ $s = 50; case 50: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }\n\t\t\treg = reg + (_r$10) >> 0;\n\t\t\tlast = context$1.Code.Last();\n\t\t\t/* */ if ((opGetOpCode(last) === 0) && (opGetArgA(last) === a)) { $s = 51; continue; }\n\t\t\t/* */ $s = 52; continue;\n\t\t\t/* if ((opGetOpCode(last) === 0) && (opGetArgA(last) === a)) { */ case 51:\n\t\t\t\tcontext$1.Code.SetA(context$1.Code.LastPC(), sreg);\n\t\t\t\t$s = 53; continue;\n\t\t\t/* } else { */ case 52:\n\t\t\t\t_arg$16 = sreg;\n\t\t\t\t_arg$17 = a;\n\t\t\t\t_r$11 = sline(expr); /* */ $s = 54; case 54: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }\n\t\t\t\t_arg$18 = _r$11;\n\t\t\t\t$r = context$1.Code.AddABC(0, _arg$16, _arg$17, 0, _arg$18); /* */ $s = 55; case 55: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 53:\n\t\t\t$s = 49; continue;\n\t\t/* } else { */ case 48:\n\t\t\t_r$12 = compileExpr(context$1, reg, expr, ecnone(0)); /* */ $s = 56; case 56: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; }\n\t\t\treg = reg + (_r$12) >> 0;\n\t\t\t/* */ if (sreg === a) { $s = 57; continue; }\n\t\t\t/* */ $s = 58; continue;\n\t\t\t/* if (sreg === a) { */ case 57:\n\t\t\t\t_arg$19 = a;\n\t\t\t\t_arg$20 = (0 ^ flip) >> 0;\n\t\t\t\t_r$13 = sline(expr); /* */ $s = 60; case 60: if($c) { $c = false; _r$13 = _r$13.$blk(); } if (_r$13 && _r$13.$blk !== undefined) { break s; }\n\t\t\t\t_arg$21 = _r$13;\n\t\t\t\t$r = code.AddABC(29, _arg$19, 0, _arg$20, _arg$21); /* */ $s = 61; case 61: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 59; continue;\n\t\t\t/* } else { */ case 58:\n\t\t\t\t_arg$22 = sreg;\n\t\t\t\t_arg$23 = a;\n\t\t\t\t_arg$24 = (0 ^ flip) >> 0;\n\t\t\t\t_r$14 = sline(expr); /* */ $s = 62; case 62: if($c) { $c = false; _r$14 = _r$14.$blk(); } if (_r$14 && _r$14.$blk !== undefined) { break s; }\n\t\t\t\t_arg$25 = _r$14;\n\t\t\t\t$r = code.AddABC(30, _arg$22, _arg$23, _arg$24, _arg$25); /* */ $s = 63; case 63: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 59:\n\t\t/* } */ case 49:\n\t\t_arg$26 = jumplabel;\n\t\t_r$15 = sline(expr); /* */ $s = 64; case 64: if($c) { $c = false; _r$15 = _r$15.$blk(); } if (_r$15 && _r$15.$blk !== undefined) { break s; }\n\t\t_arg$27 = _r$15;\n\t\t$r = code.AddASbx(25, 0, _arg$26, _arg$27); /* */ $s = 65; case 65: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: compileLogicalOpExprAux }; } $f._1 = _1; $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$10 = _arg$10; $f._arg$11 = _arg$11; $f._arg$12 = _arg$12; $f._arg$13 = _arg$13; $f._arg$14 = _arg$14; $f._arg$15 = _arg$15; $f._arg$16 = _arg$16; $f._arg$17 = _arg$17; $f._arg$18 = _arg$18; $f._arg$19 = _arg$19; $f._arg$2 = _arg$2; $f._arg$20 = _arg$20; $f._arg$21 = _arg$21; $f._arg$22 = _arg$22; $f._arg$23 = _arg$23; $f._arg$24 = _arg$24; $f._arg$25 = _arg$25; $f._arg$26 = _arg$26; $f._arg$27 = _arg$27; $f._arg$3 = _arg$3; $f._arg$4 = _arg$4; $f._arg$5 = _arg$5; $f._arg$6 = _arg$6; $f._arg$7 = _arg$7; $f._arg$8 = _arg$8; $f._arg$9 = _arg$9; $f._r = _r; $f._r$1 = _r$1; $f._r$10 = _r$10; $f._r$11 = _r$11; $f._r$12 = _r$12; $f._r$13 = _r$13; $f._r$14 = _r$14; $f._r$15 = _r$15; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._r$8 = _r$8; $f._r$9 = _r$9; $f._ref = _ref; $f.a = a; $f.code = code; $f.context$1 = context$1; $f.ec = ec; $f.elselabel = elselabel; $f.ex = ex; $f.ex$1 = ex$1; $f.ex$2 = ex$2; $f.ex$3 = ex$3; $f.ex$4 = ex$4; $f.ex$5 = ex$5; $f.expr = expr; $f.flip = flip; $f.hasnextcond = hasnextcond; $f.jumplabel = jumplabel; $f.last = last; $f.lb = lb; $f.nextcondlabel = nextcondlabel; $f.nextcondlabel$1 = nextcondlabel$1; $f.reg = reg; $f.sreg = sreg; $f.thenlabel = thenlabel; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcompileFuncCallExpr = function(context$1, reg, expr, ec) {\n\t\tvar _arg, _arg$1, _arg$10, _arg$2, _arg$3, _arg$4, _arg$5, _arg$6, _arg$7, _arg$8, _arg$9, _i, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _ref, ar, argc, b, b$1, c, context$1, ec, expr, funcreg, i, islastvararg, name, reg, reg2, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$10 = $f._arg$10; _arg$2 = $f._arg$2; _arg$3 = $f._arg$3; _arg$4 = $f._arg$4; _arg$5 = $f._arg$5; _arg$6 = $f._arg$6; _arg$7 = $f._arg$7; _arg$8 = $f._arg$8; _arg$9 = $f._arg$9; _i = $f._i; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _ref = $f._ref; ar = $f.ar; argc = $f.argc; b = $f.b; b$1 = $f.b$1; c = $f.c; context$1 = $f.context$1; ec = $f.ec; expr = $f.expr; funcreg = $f.funcreg; i = $f.i; islastvararg = $f.islastvararg; name = $f.name; reg = $f.reg; reg2 = $f.reg2; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tb = [b];\n\t\treg = [reg];\n\t\tfuncreg = reg[0];\n\t\tif ((ec.ctype === 2) && (ec.reg === ((((context$1.Proto.NumParameters >> 0)) - 1 >> 0)))) {\n\t\t\tfuncreg = ec.reg;\n\t\t\treg[0] = ec.reg;\n\t\t}\n\t\targc = expr.Args.$length;\n\t\tislastvararg = false;\n\t\tname = \"(anonymous)\";\n\t\t/* */ if (!($interfaceIsEqual(expr.Func, $ifaceNil))) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!($interfaceIsEqual(expr.Func, $ifaceNil))) { */ case 1:\n\t\t\t_r = compileExpr(context$1, reg[0], expr.Func, ecnone(0)); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\treg[0] = reg[0] + (_r) >> 0;\n\t\t\tname = getExprName(context$1, expr.Func);\n\t\t\t$s = 3; continue;\n\t\t/* } else { */ case 2:\n\t\t\tb[0] = reg[0];\n\t\t\t$r = compileExprWithMVPropagation(context$1, expr.Receiver, (reg.$ptr || (reg.$ptr = new ptrType$37(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, reg))), (b.$ptr || (b.$ptr = new ptrType$37(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, b)))); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t_r$1 = loadRk(context$1, (reg.$ptr || (reg.$ptr = new ptrType$37(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, reg))), expr, new LString((expr.Method))); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\tc = _r$1;\n\t\t\t_arg = funcreg;\n\t\t\t_arg$1 = b[0];\n\t\t\t_arg$2 = c;\n\t\t\t_r$2 = sline(expr); /* */ $s = 7; case 7: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t_arg$3 = _r$2;\n\t\t\t$r = context$1.Code.AddABC(14, _arg, _arg$1, _arg$2, _arg$3); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\treg[0] = b[0] + 1 >> 0;\n\t\t\treg2 = funcreg + 2 >> 0;\n\t\t\tif (reg2 > reg[0]) {\n\t\t\t\treg[0] = reg2;\n\t\t\t}\n\t\t\targc = argc + (1) >> 0;\n\t\t\tname = (expr.Method);\n\t\t/* } */ case 3:\n\t\t_ref = expr.Args;\n\t\t_i = 0;\n\t\t/* while (true) { */ case 9:\n\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 10; continue; }\n\t\t\ti = _i;\n\t\t\tar = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\tislastvararg = ((i === (expr.Args.$length - 1 >> 0))) && isVarArgReturnExpr(ar);\n\t\t\t/* */ if (islastvararg) { $s = 11; continue; }\n\t\t\t/* */ $s = 12; continue;\n\t\t\t/* if (islastvararg) { */ case 11:\n\t\t\t\t_r$3 = compileExpr(context$1, reg[0], ar, ecnone(-2)); /* */ $s = 14; case 14: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t_r$3;\n\t\t\t\t$s = 13; continue;\n\t\t\t/* } else { */ case 12:\n\t\t\t\t_r$4 = compileExpr(context$1, reg[0], ar, ecnone(0)); /* */ $s = 15; case 15: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\treg[0] = reg[0] + (_r$4) >> 0;\n\t\t\t/* } */ case 13:\n\t\t\t_i++;\n\t\t/* } */ $s = 9; continue; case 10:\n\t\tb$1 = argc + 1 >> 0;\n\t\tif (islastvararg) {\n\t\t\tb$1 = 0;\n\t\t}\n\t\t_arg$4 = funcreg;\n\t\t_arg$5 = b$1;\n\t\t_arg$6 = ec.varargopt + 2 >> 0;\n\t\t_r$5 = sline(expr); /* */ $s = 16; case 16: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t_arg$7 = _r$5;\n\t\t$r = context$1.Code.AddABC(31, _arg$4, _arg$5, _arg$6, _arg$7); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tcontext$1.Proto.DbgCalls = $append(context$1.Proto.DbgCalls, new DbgCall.ptr(name, context$1.Code.LastPC()));\n\t\t/* */ if ((ec.varargopt === 0) && shouldmove(ec, funcreg)) { $s = 18; continue; }\n\t\t/* */ $s = 19; continue;\n\t\t/* if ((ec.varargopt === 0) && shouldmove(ec, funcreg)) { */ case 18:\n\t\t\t_arg$8 = ec.reg;\n\t\t\t_arg$9 = funcreg;\n\t\t\t_r$6 = sline(expr); /* */ $s = 20; case 20: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t\t_arg$10 = _r$6;\n\t\t\t$r = context$1.Code.AddABC(0, _arg$8, _arg$9, 0, _arg$10); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return 1;\n\t\t/* } */ case 19:\n\t\tif (context$1.RegTop() > (((funcreg + 2 >> 0) + ec.varargopt >> 0)) || ec.varargopt < -1) {\n\t\t\t$s = -1; return 0;\n\t\t}\n\t\t$s = -1; return ec.varargopt + 1 >> 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: compileFuncCallExpr }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$10 = _arg$10; $f._arg$2 = _arg$2; $f._arg$3 = _arg$3; $f._arg$4 = _arg$4; $f._arg$5 = _arg$5; $f._arg$6 = _arg$6; $f._arg$7 = _arg$7; $f._arg$8 = _arg$8; $f._arg$9 = _arg$9; $f._i = _i; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._ref = _ref; $f.ar = ar; $f.argc = argc; $f.b = b; $f.b$1 = b$1; $f.c = c; $f.context$1 = context$1; $f.ec = ec; $f.expr = expr; $f.funcreg = funcreg; $f.i = i; $f.islastvararg = islastvararg; $f.name = name; $f.reg = reg; $f.reg2 = reg2; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tloadRk = function(context$1, reg, expr, cnst) {\n\t\tvar _arg, _arg$1, _arg$2, _r, _r$1, cindex, cnst, context$1, expr, reg, ret, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _r = $f._r; _r$1 = $f._r$1; cindex = $f.cindex; cnst = $f.cnst; context$1 = $f.context$1; expr = $f.expr; reg = $f.reg; ret = $f.ret; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = context$1.ConstIndex(cnst); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tcindex = _r;\n\t\t/* */ if (cindex <= 255) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (cindex <= 255) { */ case 2:\n\t\t\t$s = -1; return opRkAsk(cindex);\n\t\t/* } else { */ case 3:\n\t\t\tret = reg.$get();\n\t\t\treg.$set(reg.$get() + (1) >> 0);\n\t\t\t_arg = ret;\n\t\t\t_arg$1 = cindex;\n\t\t\t_r$1 = sline(expr); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_arg$2 = _r$1;\n\t\t\t$r = context$1.Code.AddABx(2, _arg, _arg$1, _arg$2); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return ret;\n\t\t/* } */ case 4:\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: loadRk }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._r = _r; $f._r$1 = _r$1; $f.cindex = cindex; $f.cnst = cnst; $f.context$1 = context$1; $f.expr = expr; $f.reg = reg; $f.ret = ret; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tgetIdentRefType = function(context$1, current, expr) {\n\t\tvar context$1, current, expr;\n\t\tif (current === ptrType$12.nil) {\n\t\t\treturn 0;\n\t\t} else if (current.FindLocalVar(expr.Value) > -1) {\n\t\t\tif (current === context$1) {\n\t\t\t\treturn 2;\n\t\t\t}\n\t\t\treturn 1;\n\t\t}\n\t\treturn getIdentRefType(context$1, current.Parent, expr);\n\t};\n\tgetExprName = function(context$1, expr) {\n\t\tvar _ref, _ref$1, context$1, ex, ex$1, expr, kex;\n\t\t_ref = expr;\n\t\tif ($assertType(_ref, ptrType$35, true)[1]) {\n\t\t\tex = _ref.$val;\n\t\t\treturn ex.Value;\n\t\t} else if ($assertType(_ref, ptrType$36, true)[1]) {\n\t\t\tex$1 = _ref.$val;\n\t\t\t_ref$1 = ex$1.Key;\n\t\t\tif ($assertType(_ref$1, ptrType$38, true)[1]) {\n\t\t\t\tkex = _ref$1.$val;\n\t\t\t\treturn kex.Value;\n\t\t\t}\n\t\t\treturn \"?\";\n\t\t}\n\t\treturn \"?\";\n\t};\n\tpatchCode = function(context$1) {\n\t\tvar _1, code, context$1, count, curop, d, distance, inst, jmp, maxreg, moven, np, pc, reg, reg$1, reg$2, reg$3, reg$4, x, x$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; code = $f.code; context$1 = $f.context$1; count = $f.count; curop = $f.curop; d = $f.d; distance = $f.distance; inst = $f.inst; jmp = $f.jmp; maxreg = $f.maxreg; moven = $f.moven; np = $f.np; pc = $f.pc; reg = $f.reg; reg$1 = $f.reg$1; reg$2 = $f.reg$2; reg$3 = $f.reg$3; reg$4 = $f.reg$4; x = $f.x; x$1 = $f.x$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tmaxreg = 1;\n\t\tnp = ((context$1.Proto.NumParameters >> 0));\n\t\tif (np > 1) {\n\t\t\tmaxreg = np;\n\t\t}\n\t\tmoven = 0;\n\t\tcode = context$1.Code.List();\n\t\tpc = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(pc < code.$length)) { break; } */ if(!(pc < code.$length)) { $s = 2; continue; }\n\t\t\tinst = ((pc < 0 || pc >= code.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : code.$array[code.$offset + pc]);\n\t\t\tcurop = opGetOpCode(inst);\n\t\t\t\t_1 = curop;\n\t\t\t\t/* */ if (_1 === (39)) { $s = 4; continue; }\n\t\t\t\t/* */ if ((_1 === (9)) || (_1 === (10)) || (_1 === (26)) || (_1 === (27)) || (_1 === (28)) || (_1 === (29)) || (_1 === (32)) || (_1 === (33)) || (_1 === (35)) || (_1 === (34)) || (_1 === (36)) || (_1 === (37)) || (_1 === (38))) { $s = 5; continue; }\n\t\t\t\t/* */ if (_1 === (31)) { $s = 6; continue; }\n\t\t\t\t/* */ if (_1 === (40)) { $s = 7; continue; }\n\t\t\t\t/* */ if (_1 === (14)) { $s = 8; continue; }\n\t\t\t\t/* */ if (_1 === (4)) { $s = 9; continue; }\n\t\t\t\t/* */ if (_1 === (25)) { $s = 10; continue; }\n\t\t\t\t/* */ $s = 11; continue;\n\t\t\t\t/* if (_1 === (39)) { */ case 4:\n\t\t\t\t\tpc = pc + ((((x = context$1.Proto.FunctionPrototypes, x$1 = opGetArgBx(inst), ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1])).NumUpvalues >> 0))) >> 0;\n\t\t\t\t\tmoven = 0;\n\t\t\t\t\tpc = pc + (1) >> 0;\n\t\t\t\t\t/* continue; */ $s = 1; continue;\n\t\t\t\t\t$s = 12; continue;\n\t\t\t\t/* } else if ((_1 === (9)) || (_1 === (10)) || (_1 === (26)) || (_1 === (27)) || (_1 === (28)) || (_1 === (29)) || (_1 === (32)) || (_1 === (33)) || (_1 === (35)) || (_1 === (34)) || (_1 === (36)) || (_1 === (37)) || (_1 === (38))) { */ case 5:\n\t\t\t\t\t$s = 12; continue;\n\t\t\t\t/* } else if (_1 === (31)) { */ case 6:\n\t\t\t\t\treg = (opGetArgA(inst) + opGetArgC(inst) >> 0) - 2 >> 0;\n\t\t\t\t\tif (reg > maxreg) {\n\t\t\t\t\t\tmaxreg = reg;\n\t\t\t\t\t}\n\t\t\t\t\t$s = 12; continue;\n\t\t\t\t/* } else if (_1 === (40)) { */ case 7:\n\t\t\t\t\treg$1 = (opGetArgA(inst) + opGetArgB(inst) >> 0) - 1 >> 0;\n\t\t\t\t\tif (reg$1 > maxreg) {\n\t\t\t\t\t\tmaxreg = reg$1;\n\t\t\t\t\t}\n\t\t\t\t\t$s = 12; continue;\n\t\t\t\t/* } else if (_1 === (14)) { */ case 8:\n\t\t\t\t\treg$2 = opGetArgA(inst) + 1 >> 0;\n\t\t\t\t\tif (reg$2 > maxreg) {\n\t\t\t\t\t\tmaxreg = reg$2;\n\t\t\t\t\t}\n\t\t\t\t\t$s = 12; continue;\n\t\t\t\t/* } else if (_1 === (4)) { */ case 9:\n\t\t\t\t\treg$3 = opGetArgB(inst);\n\t\t\t\t\tif (reg$3 > maxreg) {\n\t\t\t\t\t\tmaxreg = reg$3;\n\t\t\t\t\t}\n\t\t\t\t\t$s = 12; continue;\n\t\t\t\t/* } else if (_1 === (25)) { */ case 10:\n\t\t\t\t\tdistance = 0;\n\t\t\t\t\tcount = 0;\n\t\t\t\t\tjmp = inst;\n\t\t\t\t\t/* while (true) { */ case 13:\n\t\t\t\t\t\t/* if (!((opGetOpCode(jmp) === 25) && count < 5)) { break; } */ if(!((opGetOpCode(jmp) === 25) && count < 5)) { $s = 14; continue; }\n\t\t\t\t\t\td = context$1.GetLabelPc(opGetArgSbx(jmp)) - pc >> 0;\n\t\t\t\t\t\t/* */ if (d > 131071) { $s = 15; continue; }\n\t\t\t\t\t\t/* */ $s = 16; continue;\n\t\t\t\t\t\t/* if (d > 131071) { */ case 15:\n\t\t\t\t\t\t\t/* */ if (distance === 0) { $s = 17; continue; }\n\t\t\t\t\t\t\t/* */ $s = 18; continue;\n\t\t\t\t\t\t\t/* if (distance === 0) { */ case 17:\n\t\t\t\t\t\t\t\t$r = raiseCompileError(context$1, context$1.Proto.LineDefined, \"too long to jump.\", new sliceType$6([])); /* */ $s = 19; case 19: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t/* } */ case 18:\n\t\t\t\t\t\t\t/* break; */ $s = 14; continue;\n\t\t\t\t\t\t/* } */ case 16:\n\t\t\t\t\t\tdistance = d;\n\t\t\t\t\t\tcount = count + (1) >> 0;\n\t\t\t\t\t\tjmp = context$1.Code.At((pc + distance >> 0) + 1 >> 0);\n\t\t\t\t\t/* } */ $s = 13; continue; case 14:\n\t\t\t\t\tif (distance === 0) {\n\t\t\t\t\t\tcontext$1.Code.SetOpCode(pc, 41);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext$1.Code.SetSbx(pc, distance);\n\t\t\t\t\t}\n\t\t\t\t\t$s = 12; continue;\n\t\t\t\t/* } else { */ case 11:\n\t\t\t\t\treg$4 = opGetArgA(inst);\n\t\t\t\t\tif (reg$4 > maxreg) {\n\t\t\t\t\t\tmaxreg = reg$4;\n\t\t\t\t\t}\n\t\t\t\t/* } */ case 12:\n\t\t\tcase 3:\n\t\t\tif (curop === 0) {\n\t\t\t\tmoven = moven + (1) >> 0;\n\t\t\t} else {\n\t\t\t\tif (moven > 1) {\n\t\t\t\t\tcontext$1.Code.SetOpCode(pc - moven >> 0, 1);\n\t\t\t\t\tcontext$1.Code.SetC(pc - moven >> 0, intMin(moven - 1 >> 0, 511));\n\t\t\t\t}\n\t\t\t\tmoven = 0;\n\t\t\t}\n\t\t\tpc = pc + (1) >> 0;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\tmaxreg = maxreg + (1) >> 0;\n\t\t/* */ if (maxreg > 200) { $s = 20; continue; }\n\t\t/* */ $s = 21; continue;\n\t\t/* if (maxreg > 200) { */ case 20:\n\t\t\t$r = raiseCompileError(context$1, context$1.Proto.LineDefined, \"register overflow(too many local variables)\", new sliceType$6([])); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 21:\n\t\tcontext$1.Proto.NumUsedRegisters = ((maxreg << 24 >>> 24));\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: patchCode }; } $f._1 = _1; $f.code = code; $f.context$1 = context$1; $f.count = count; $f.curop = curop; $f.d = d; $f.distance = distance; $f.inst = inst; $f.jmp = jmp; $f.maxreg = maxreg; $f.moven = moven; $f.np = np; $f.pc = pc; $f.reg = reg; $f.reg$1 = reg$1; $f.reg$2 = reg$2; $f.reg$3 = reg$3; $f.reg$4 = reg$4; $f.x = x; $f.x$1 = x$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tCompile = function(chunk, name) {\n\t\tvar _r, chunk, context$1, err, funcexpr, name, parlist, proto, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; chunk = $f.chunk; context$1 = $f.context$1; err = $f.err; funcexpr = $f.funcexpr; name = $f.name; parlist = $f.parlist; proto = $f.proto; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\terr = [err];\n\t\tproto = ptrType$18.nil;\n\t\terr[0] = $ifaceNil;\n\t\t$deferred.push([(function(err) { return function() {\n\t\t\tvar _tuple, ok, rcv;\n\t\t\trcv = $recover();\n\t\t\tif (!($interfaceIsEqual(rcv, $ifaceNil))) {\n\t\t\t\t_tuple = $assertType(rcv, ptrType$51, true);\n\t\t\t\tok = _tuple[1];\n\t\t\t\tif (ok) {\n\t\t\t\t\terr[0] = $assertType(rcv, $error);\n\t\t\t\t} else {\n\t\t\t\t\t$panic(rcv);\n\t\t\t\t}\n\t\t\t}\n\t\t}; })(err), []]);\n\t\terr[0] = $ifaceNil;\n\t\tparlist = new ast.ParList.ptr(true, new sliceType$1([]));\n\t\tfuncexpr = new ast.FunctionExpr.ptr(new ast.ExprBase.ptr(new ast.Node.ptr(0, 0)), parlist, chunk);\n\t\t_r = newFuncContext(name, ptrType$12.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tcontext$1 = _r;\n\t\t$r = compileFunctionExpr(context$1, funcexpr, ecnone(0)); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tproto = context$1.Proto;\n\t\t$s = -1; return [proto, err[0]];\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if (!$curGoroutine.asleep) { return  [proto, err[0]]; } if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: Compile }; } $f._r = _r; $f.chunk = chunk; $f.context$1 = context$1; $f.err = err; $f.funcexpr = funcexpr; $f.name = name; $f.parlist = parlist; $f.proto = proto; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\t$pkg.Compile = Compile;\n\tinit$1 = function() {\n\t\tif (true) {\n\t\t\t$pkg.LuaOS = \"unix\";\n\t\t\t$pkg.LuaLDir = \"/usr/local/share/lua/5.1\";\n\t\t\t$pkg.LuaPathDefault = \"./?.lua;\" + $pkg.LuaLDir + \"/?.lua;\" + $pkg.LuaLDir + \"/?/init.lua\";\n\t\t} else {\n\t\t\t$pkg.LuaOS = \"windows\";\n\t\t\t$pkg.LuaLDir = \"!\\\\lua\";\n\t\t\t$pkg.LuaPathDefault = \".\\\\?.lua;\" + $pkg.LuaLDir + \"\\\\?.lua;\" + $pkg.LuaLDir + \"\\\\?\\\\init.lua\";\n\t\t}\n\t};\n\tOpenCoroutine = function(L) {\n\t\tvar L, _r, mod, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; mod = $f.mod; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.RegisterModule(\"coroutine\", coFuncs); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tmod = _r;\n\t\tL.Push(mod);\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: OpenCoroutine }; } $f.L = L; $f._r = _r; $f.mod = mod; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.OpenCoroutine = OpenCoroutine;\n\tcoCreate = function(L) {\n\t\tvar L, _r, _r$1, _tuple, base, fn, newthread, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; base = $f.base; fn = $f.fn; newthread = $f.newthread; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckFunction(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tfn = _r;\n\t\t_r$1 = L.NewThread(); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_tuple = _r$1;\n\t\tnewthread = _tuple[0];\n\t\tbase = 0;\n\t\tnewthread.stack.Push(new callFrame.ptr(0, fn, ptrType$10.nil, 0, base, base + 1 >> 0, base, 0, -1, 0));\n\t\tL.Push(newthread);\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: coCreate }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f.base = base; $f.fn = fn; $f.newthread = newthread; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcoYield = function(L) {\n\t\tvar L;\n\t\treturn -1;\n\t};\n\tcoResume = function(L) {\n\t\tvar L, _r, cf, msg, msg$1, nargs, nargs$1, th, top, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; cf = $f.cf; msg = $f.msg; msg$1 = $f.msg$1; nargs = $f.nargs; nargs$1 = $f.nargs$1; th = $f.th; top = $f.top; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckThread(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tth = _r;\n\t\t/* */ if (L.G.CurrentThread === th) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (L.G.CurrentThread === th) { */ case 2:\n\t\t\tmsg = \"can not resume a running thread\";\n\t\t\t/* */ if (th.wrapped) { $s = 4; continue; }\n\t\t\t/* */ $s = 5; continue;\n\t\t\t/* if (th.wrapped) { */ case 4:\n\t\t\t\t$r = L.RaiseError(msg, new sliceType$6([])); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return 0;\n\t\t\t/* } */ case 5:\n\t\t\tL.Push(new LBool($pkg.LFalse));\n\t\t\tL.Push(new LString((msg)));\n\t\t\t$s = -1; return 2;\n\t\t/* } */ case 3:\n\t\t/* */ if (th.Dead) { $s = 7; continue; }\n\t\t/* */ $s = 8; continue;\n\t\t/* if (th.Dead) { */ case 7:\n\t\t\tmsg$1 = \"can not resume a dead thread\";\n\t\t\t/* */ if (th.wrapped) { $s = 9; continue; }\n\t\t\t/* */ $s = 10; continue;\n\t\t\t/* if (th.wrapped) { */ case 9:\n\t\t\t\t$r = L.RaiseError(msg$1, new sliceType$6([])); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return 0;\n\t\t\t/* } */ case 10:\n\t\t\tL.Push(new LBool($pkg.LFalse));\n\t\t\tL.Push(new LString((msg$1)));\n\t\t\t$s = -1; return 2;\n\t\t/* } */ case 8:\n\t\tth.Parent = L;\n\t\tL.G.CurrentThread = th;\n\t\tif (!th.isStarted()) {\n\t\t\tcf = th.stack.Last();\n\t\t\tth.currentFrame = cf;\n\t\t\tth.SetTop(0);\n\t\t\tnargs = L.GetTop() - 1 >> 0;\n\t\t\tL.XMoveTo(th, nargs);\n\t\t\tcf.NArgs = nargs;\n\t\t\tth.initCallFrame(cf);\n\t\t\tth.Panic = panicWithoutTraceback;\n\t\t} else {\n\t\t\tnargs$1 = L.GetTop() - 1 >> 0;\n\t\t\tL.XMoveTo(th, nargs$1);\n\t\t}\n\t\ttop = L.GetTop();\n\t\t$r = threadRun(th); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return L.GetTop() - top >> 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: coResume }; } $f.L = L; $f._r = _r; $f.cf = cf; $f.msg = msg; $f.msg$1 = msg$1; $f.nargs = nargs; $f.nargs$1 = nargs$1; $f.th = th; $f.top = top; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcoRunning = function(L) {\n\t\tvar L;\n\t\tif (L.G.MainThread === L) {\n\t\t\tL.Push($pkg.LNil);\n\t\t\treturn 1;\n\t\t}\n\t\tL.Push(L.G.CurrentThread);\n\t\treturn 1;\n\t};\n\tcoStatus = function(L) {\n\t\tvar L, _r, _r$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckThread(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = L.Status(_r); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$r = L.Push(new LString((_r$1))); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: coStatus }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\twrapaux = function(L) {\n\t\tvar L, _r, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tL.Insert(L.ToThread(UpvalueIndex(1)), 1);\n\t\t_r = coResume(L); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: wrapaux }; } $f.L = L; $f._r = _r; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcoWrap = function(L) {\n\t\tvar L, _r, _r$1, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = coCreate(L); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r;\n\t\t_r$1 = L.CheckThread(L.GetTop()); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_r$1.wrapped = true;\n\t\tv = L.Get(L.GetTop());\n\t\t$r = L.Pop(1); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tL.Push(L.NewClosure(wrapaux, new sliceType$7([v])));\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: coWrap }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tOpenDebug = function(L) {\n\t\tvar L, _r, dbgmod, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; dbgmod = $f.dbgmod; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.RegisterModule(\"debug\", debugFuncs); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tdbgmod = _r;\n\t\tL.Push(dbgmod);\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: OpenDebug }; } $f.L = L; $f._r = _r; $f.dbgmod = dbgmod; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.OpenDebug = OpenDebug;\n\tdebugGetFEnv = function(L) {\n\t\tvar L, _r, _r$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckAny(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = L.GetFEnv(_r); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$r = L.Push(_r$1); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: debugGetFEnv }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tdebugGetInfo = function(L) {\n\t\tvar L, _r, _r$1, _r$2, _ref, _tuple, _tuple$1, _tuple$2, arg1, dbg, err, fn, lv, lv$1, ok, tbl, what, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _ref = $f._ref; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; arg1 = $f.arg1; dbg = $f.dbg; err = $f.err; fn = $f.fn; lv = $f.lv; lv$1 = $f.lv$1; ok = $f.ok; tbl = $f.tbl; what = $f.what; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = L.CheckTypes(1, new sliceType$8([4, 2])); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\targ1 = L.Get(1);\n\t\t_r = L.OptString(2, \"Slunf\"); /* */ $s = 2; case 2: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\twhat = _r;\n\t\tdbg = ptrType$53.nil;\n\t\tfn = $ifaceNil;\n\t\terr = $ifaceNil;\n\t\tok = false;\n\t\t_ref = arg1;\n\t\t/* */ if ($assertType(_ref, ptrType$7, true)[1]) { $s = 3; continue; }\n\t\t/* */ if ($assertType(_ref, LNumber, true)[1]) { $s = 4; continue; }\n\t\t/* */ $s = 5; continue;\n\t\t/* if ($assertType(_ref, ptrType$7, true)[1]) { */ case 3:\n\t\t\tlv = _ref.$val;\n\t\t\tdbg = new Debug.ptr(ptrType$10.nil, \"\", \"\", \"\", 0, 0, 0, 0);\n\t\t\t_r$1 = L.GetInfo(\">\" + what, dbg, lv); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r$1;\n\t\t\tfn = _tuple[0];\n\t\t\terr = _tuple[1];\n\t\t\t$s = 5; continue;\n\t\t/* } else if ($assertType(_ref, LNumber, true)[1]) { */ case 4:\n\t\t\tlv$1 = _ref.$val;\n\t\t\t_tuple$1 = L.GetStack(((lv$1 >> 0)));\n\t\t\tdbg = _tuple$1[0];\n\t\t\tok = _tuple$1[1];\n\t\t\tif (!ok) {\n\t\t\t\tL.Push($pkg.LNil);\n\t\t\t\t$s = -1; return 1;\n\t\t\t}\n\t\t\t_r$2 = L.GetInfo(what, dbg, $pkg.LNil); /* */ $s = 7; case 7: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t_tuple$2 = _r$2;\n\t\t\tfn = _tuple$2[0];\n\t\t\terr = _tuple$2[1];\n\t\t/* } */ case 5:\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\tL.Push($pkg.LNil);\n\t\t\t$s = -1; return 1;\n\t\t}\n\t\ttbl = L.NewTable();\n\t\tif (dbg.Name.length > 0) {\n\t\t\ttbl.RawSetString(\"name\", new LString((dbg.Name)));\n\t\t} else {\n\t\t\ttbl.RawSetString(\"name\", $pkg.LNil);\n\t\t}\n\t\ttbl.RawSetString(\"what\", new LString((dbg.What)));\n\t\ttbl.RawSetString(\"source\", new LString((dbg.Source)));\n\t\ttbl.RawSetString(\"currentline\", new LNumber((dbg.CurrentLine)));\n\t\ttbl.RawSetString(\"nups\", new LNumber((dbg.NUpvalues)));\n\t\ttbl.RawSetString(\"linedefined\", new LNumber((dbg.LineDefined)));\n\t\ttbl.RawSetString(\"lastlinedefined\", new LNumber((dbg.LastLineDefined)));\n\t\ttbl.RawSetString(\"func\", fn);\n\t\tL.Push(tbl);\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: debugGetInfo }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._ref = _ref; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f.arg1 = arg1; $f.dbg = dbg; $f.err = err; $f.fn = fn; $f.lv = lv; $f.lv$1 = lv$1; $f.ok = ok; $f.tbl = tbl; $f.what = what; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tdebugGetLocal = function(L) {\n\t\tvar L, _r, _r$1, _tuple, _tuple$1, dbg, idx, level, name, ok, value, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; dbg = $f.dbg; idx = $f.idx; level = $f.level; name = $f.name; ok = $f.ok; value = $f.value; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckInt(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tlevel = _r;\n\t\t_r$1 = L.CheckInt(2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tidx = _r$1;\n\t\t_tuple = L.GetStack(level);\n\t\tdbg = _tuple[0];\n\t\tok = _tuple[1];\n\t\t/* */ if (!ok) { $s = 3; continue; }\n\t\t/* */ $s = 4; continue;\n\t\t/* if (!ok) { */ case 3:\n\t\t\t$r = L.ArgError(1, \"level out of range\"); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 4:\n\t\t_tuple$1 = L.GetLocal(dbg, idx);\n\t\tname = _tuple$1[0];\n\t\tvalue = _tuple$1[1];\n\t\tif (name.length > 0) {\n\t\t\tL.Push(new LString((name)));\n\t\t\tL.Push(value);\n\t\t\t$s = -1; return 2;\n\t\t}\n\t\tL.Push($pkg.LNil);\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: debugGetLocal }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.dbg = dbg; $f.idx = idx; $f.level = level; $f.name = name; $f.ok = ok; $f.value = value; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tdebugGetMetatable = function(L) {\n\t\tvar L, _r, _r$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckAny(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = L.GetMetatable(_r); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$r = L.Push(_r$1); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: debugGetMetatable }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tdebugGetUpvalue = function(L) {\n\t\tvar L, _r, _r$1, _tuple, fn, idx, name, value, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; fn = $f.fn; idx = $f.idx; name = $f.name; value = $f.value; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckFunction(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tfn = _r;\n\t\t_r$1 = L.CheckInt(2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tidx = _r$1;\n\t\t_tuple = L.GetUpvalue(fn, idx);\n\t\tname = _tuple[0];\n\t\tvalue = _tuple[1];\n\t\tif (name.length > 0) {\n\t\t\tL.Push(new LString((name)));\n\t\t\tL.Push(value);\n\t\t\t$s = -1; return 2;\n\t\t}\n\t\tL.Push($pkg.LNil);\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: debugGetUpvalue }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f.fn = fn; $f.idx = idx; $f.name = name; $f.value = value; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tdebugSetFEnv = function(L) {\n\t\tvar L, _arg, _arg$1, _r, _r$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; _r$1 = $f._r$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckAny(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_arg = _r;\n\t\t_r$1 = L.CheckAny(2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_arg$1 = _r$1;\n\t\t$r = L.SetFEnv(_arg, _arg$1); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: debugSetFEnv }; } $f.L = L; $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f._r$1 = _r$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tdebugSetLocal = function(L) {\n\t\tvar L, _r, _r$1, _r$2, _tuple, dbg, idx, level, name, ok, value, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _tuple = $f._tuple; dbg = $f.dbg; idx = $f.idx; level = $f.level; name = $f.name; ok = $f.ok; value = $f.value; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckInt(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tlevel = _r;\n\t\t_r$1 = L.CheckInt(2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tidx = _r$1;\n\t\t_r$2 = L.CheckAny(3); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\tvalue = _r$2;\n\t\t_tuple = L.GetStack(level);\n\t\tdbg = _tuple[0];\n\t\tok = _tuple[1];\n\t\t/* */ if (!ok) { $s = 4; continue; }\n\t\t/* */ $s = 5; continue;\n\t\t/* if (!ok) { */ case 4:\n\t\t\t$r = L.ArgError(1, \"level out of range\"); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 5:\n\t\tname = L.SetLocal(dbg, idx, value);\n\t\tif (name.length > 0) {\n\t\t\tL.Push(new LString((name)));\n\t\t} else {\n\t\t\tL.Push($pkg.LNil);\n\t\t}\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: debugSetLocal }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._tuple = _tuple; $f.dbg = dbg; $f.idx = idx; $f.level = level; $f.name = name; $f.ok = ok; $f.value = value; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tdebugSetMetatable = function(L) {\n\t\tvar L, mt, obj, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; mt = $f.mt; obj = $f.obj; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = L.CheckTypes(2, new sliceType$8([0, 7])); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tobj = L.Get(1);\n\t\tmt = L.Get(2);\n\t\t$r = L.SetMetatable(obj, mt); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tL.SetTop(1);\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: debugSetMetatable }; } $f.L = L; $f.mt = mt; $f.obj = obj; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tdebugSetUpvalue = function(L) {\n\t\tvar L, _r, _r$1, _r$2, fn, idx, name, value, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; fn = $f.fn; idx = $f.idx; name = $f.name; value = $f.value; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckFunction(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tfn = _r;\n\t\t_r$1 = L.CheckInt(2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tidx = _r$1;\n\t\t_r$2 = L.CheckAny(3); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\tvalue = _r$2;\n\t\tname = L.SetUpvalue(fn, idx, value);\n\t\tif (name.length > 0) {\n\t\t\tL.Push(new LString((name)));\n\t\t} else {\n\t\t\tL.Push($pkg.LNil);\n\t\t}\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: debugSetUpvalue }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.fn = fn; $f.idx = idx; $f.name = name; $f.value = value; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tdebugTraceback = function(L) {\n\t\tvar L, _r, _r$1, _r$2, _r$3, _r$4, _tuple, _tuple$1, l, level, ls, msg, ok, ok$1, s, traceback, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; l = $f.l; level = $f.level; ls = $f.ls; msg = $f.msg; ok = $f.ok; ok$1 = $f.ok$1; s = $f.s; traceback = $f.traceback; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tmsg = \"\";\n\t\t_r = L.OptInt(2, 1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tlevel = _r;\n\t\tls = L;\n\t\t/* */ if (L.GetTop() > 0) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (L.GetTop() > 0) { */ case 2:\n\t\t\t_r$1 = L.Get(1).assertString(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r$1;\n\t\t\ts = _tuple[0];\n\t\t\tok = _tuple[1];\n\t\t\tif (ok) {\n\t\t\t\tmsg = s;\n\t\t\t}\n\t\t\t_tuple$1 = $assertType(L.Get(1), ptrType$9, true);\n\t\t\tl = _tuple$1[0];\n\t\t\tok$1 = _tuple$1[1];\n\t\t\tif (ok$1) {\n\t\t\t\tls = l;\n\t\t\t\tmsg = \"\";\n\t\t\t}\n\t\t/* } */ case 3:\n\t\t_r$2 = ls.stackTrace(level); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t_r$3 = strings.TrimSpace(_r$2); /* */ $s = 6; case 6: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\ttraceback = _r$3;\n\t\t/* */ if (msg.length > 0) { $s = 7; continue; }\n\t\t/* */ $s = 8; continue;\n\t\t/* if (msg.length > 0) { */ case 7:\n\t\t\t_r$4 = fmt.Sprintf(\"%s\\n%s\", new sliceType$6([new $String(msg), new $String(traceback)])); /* */ $s = 9; case 9: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\ttraceback = _r$4;\n\t\t/* } */ case 8:\n\t\tL.Push(new LString((traceback)));\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: debugTraceback }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.l = l; $f.level = level; $f.ls = ls; $f.msg = msg; $f.ok = ok; $f.ok$1 = ok$1; $f.s = s; $f.traceback = traceback; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tUpvalue.ptr.prototype.Value = function() {\n\t\tvar uv, x, x$1;\n\t\tuv = this;\n\t\tif (uv.IsClosed()) {\n\t\t\treturn uv.value;\n\t\t}\n\t\treturn (x = uv.reg.array, x$1 = uv.index, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1]));\n\t};\n\tUpvalue.prototype.Value = function() { return this.$val.Value(); };\n\tUpvalue.ptr.prototype.SetValue = function(value) {\n\t\tvar uv, value;\n\t\tuv = this;\n\t\tif (uv.IsClosed()) {\n\t\t\tuv.value = value;\n\t\t} else {\n\t\t\tuv.reg.Set(uv.index, value);\n\t\t}\n\t};\n\tUpvalue.prototype.SetValue = function(value) { return this.$val.SetValue(value); };\n\tUpvalue.ptr.prototype.Close = function() {\n\t\tvar uv, value;\n\t\tuv = this;\n\t\tvalue = uv.Value();\n\t\tuv.closed = true;\n\t\tuv.value = value;\n\t};\n\tUpvalue.prototype.Close = function() { return this.$val.Close(); };\n\tUpvalue.ptr.prototype.IsClosed = function() {\n\t\tvar uv;\n\t\tuv = this;\n\t\treturn uv.closed || uv.reg === ptrType$54.nil;\n\t};\n\tUpvalue.prototype.IsClosed = function() { return this.$val.IsClosed(); };\n\tUpvalueIndex = function(i) {\n\t\tvar i;\n\t\treturn -10002 - i >> 0;\n\t};\n\t$pkg.UpvalueIndex = UpvalueIndex;\n\tnewFunctionProto = function(name) {\n\t\tvar name;\n\t\treturn new FunctionProto.ptr(name, 0, 0, 0, 0, 0, 2, $makeSlice(sliceType$11, 0, 128), $makeSlice(sliceType$7, 0, 32), $makeSlice(sliceType$16, 0, 16), $makeSlice(sliceType$12, 0, 128), $makeSlice(sliceType$17, 0, 16), $makeSlice(sliceType$18, 0, 128), $makeSlice(sliceType$1, 0, 16), $makeSlice(sliceType$1, 0, 32));\n\t};\n\tFunctionProto.ptr.prototype.String = function() {\n\t\tvar _r, fp, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; fp = $f.fp; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tfp = this;\n\t\t_r = fp.str(1, 0); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: FunctionProto.ptr.prototype.String }; } $f._r = _r; $f.fp = fp; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFunctionProto.prototype.String = function() { return this.$val.String(); };\n\tFunctionProto.ptr.prototype.str = function(level, count) {\n\t\tvar _arg, _arg$1, _arg$2, _arg$3, _arg$4, _arg$5, _arg$6, _i, _i$1, _i$2, _i$3, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _ref, _ref$1, _ref$2, _ref$3, buf, code, conzt, count, fp, indent, inst, level, linfo, no, protono, reg, reg$1, reg$2, upvalue, x, x$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _arg$3 = $f._arg$3; _arg$4 = $f._arg$4; _arg$5 = $f._arg$5; _arg$6 = $f._arg$6; _i = $f._i; _i$1 = $f._i$1; _i$2 = $f._i$2; _i$3 = $f._i$3; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _r$8 = $f._r$8; _r$9 = $f._r$9; _ref = $f._ref; _ref$1 = $f._ref$1; _ref$2 = $f._ref$2; _ref$3 = $f._ref$3; buf = $f.buf; code = $f.code; conzt = $f.conzt; count = $f.count; fp = $f.fp; indent = $f.indent; inst = $f.inst; level = $f.level; linfo = $f.linfo; no = $f.no; protono = $f.protono; reg = $f.reg; reg$1 = $f.reg$1; reg$2 = $f.reg$2; upvalue = $f.upvalue; x = $f.x; x$1 = $f.x$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tfp = this;\n\t\tindent = strings.Repeat(\"  \", level - 1 >> 0);\n\t\tbuf = new sliceType$1([]);\n\t\t_r = fmt.Sprintf(\"%v; function [%v] definition (level %v)\\n\", new sliceType$6([new $String(indent), new $Int(count), new $Int(level)])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tbuf = $append(buf, _r);\n\t\t_r$1 = fmt.Sprintf(\"%v; %v upvalues, %v params, %v stacks\\n\", new sliceType$6([new $String(indent), new $Uint8(fp.NumUpvalues), new $Uint8(fp.NumParameters), new $Uint8(fp.NumUsedRegisters)])); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tbuf = $append(buf, _r$1);\n\t\t_ref = fp.DbgLocals;\n\t\t_i = 0;\n\t\t/* while (true) { */ case 3:\n\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 4; continue; }\n\t\t\treg = _i;\n\t\t\tlinfo = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\t_r$2 = fmt.Sprintf(\"%v.local %v ; %v\\n\", new sliceType$6([new $String(indent), new $String(linfo.Name), new $Int(reg)])); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\tbuf = $append(buf, _r$2);\n\t\t\t_i++;\n\t\t/* } */ $s = 3; continue; case 4:\n\t\t_ref$1 = fp.DbgUpvalues;\n\t\t_i$1 = 0;\n\t\t/* while (true) { */ case 6:\n\t\t\t/* if (!(_i$1 < _ref$1.$length)) { break; } */ if(!(_i$1 < _ref$1.$length)) { $s = 7; continue; }\n\t\t\treg$1 = _i$1;\n\t\t\tupvalue = ((_i$1 < 0 || _i$1 >= _ref$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref$1.$array[_ref$1.$offset + _i$1]);\n\t\t\t_r$3 = fmt.Sprintf(\"%v.upvalue %v ; %v\\n\", new sliceType$6([new $String(indent), new $String(upvalue), new $Int(reg$1)])); /* */ $s = 8; case 8: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\tbuf = $append(buf, _r$3);\n\t\t\t_i$1++;\n\t\t/* } */ $s = 6; continue; case 7:\n\t\t_ref$2 = fp.Constants;\n\t\t_i$2 = 0;\n\t\t/* while (true) { */ case 9:\n\t\t\t/* if (!(_i$2 < _ref$2.$length)) { break; } */ if(!(_i$2 < _ref$2.$length)) { $s = 10; continue; }\n\t\t\treg$2 = _i$2;\n\t\t\tconzt = ((_i$2 < 0 || _i$2 >= _ref$2.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref$2.$array[_ref$2.$offset + _i$2]);\n\t\t\t_arg = new $String(indent);\n\t\t\t_r$4 = conzt.String(); /* */ $s = 11; case 11: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t_arg$1 = new $String(_r$4);\n\t\t\t_arg$2 = new $Int(reg$2);\n\t\t\t_r$5 = fmt.Sprintf(\"%v.const %v ; %v\\n\", new sliceType$6([_arg, _arg$1, _arg$2])); /* */ $s = 12; case 12: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\tbuf = $append(buf, _r$5);\n\t\t\t_i$2++;\n\t\t/* } */ $s = 9; continue; case 10:\n\t\tbuf = $append(buf, \"\\n\");\n\t\tprotono = 0;\n\t\t_ref$3 = fp.Code;\n\t\t_i$3 = 0;\n\t\t/* while (true) { */ case 13:\n\t\t\t/* if (!(_i$3 < _ref$3.$length)) { break; } */ if(!(_i$3 < _ref$3.$length)) { $s = 14; continue; }\n\t\t\tno = _i$3;\n\t\t\tcode = ((_i$3 < 0 || _i$3 >= _ref$3.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref$3.$array[_ref$3.$offset + _i$3]);\n\t\t\tinst = opGetOpCode(code);\n\t\t\t/* */ if (inst === 39) { $s = 15; continue; }\n\t\t\t/* */ $s = 16; continue;\n\t\t\t/* if (inst === 39) { */ case 15:\n\t\t\t\tbuf = $append(buf, \"\\n\");\n\t\t\t\t_r$6 = (x = fp.FunctionPrototypes, ((protono < 0 || protono >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + protono])).str(level + 1 >> 0, protono); /* */ $s = 17; case 17: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t\t\tbuf = $append(buf, _r$6);\n\t\t\t\tbuf = $append(buf, \"\\n\");\n\t\t\t\tprotono = protono + (1) >> 0;\n\t\t\t/* } */ case 16:\n\t\t\t_arg$3 = new $String(indent);\n\t\t\t_arg$4 = new $Int((no + 1 >> 0));\n\t\t\t_r$7 = opToString(code); /* */ $s = 18; case 18: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }\n\t\t\t_arg$5 = new $String(_r$7);\n\t\t\t_arg$6 = new $Int((x$1 = fp.DbgSourcePositions, ((no < 0 || no >= x$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$1.$array[x$1.$offset + no])));\n\t\t\t_r$8 = fmt.Sprintf(\"%v[%03d] %v (line:%v)\\n\", new sliceType$6([_arg$3, _arg$4, _arg$5, _arg$6])); /* */ $s = 19; case 19: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }\n\t\t\tbuf = $append(buf, _r$8);\n\t\t\t_i$3++;\n\t\t/* } */ $s = 13; continue; case 14:\n\t\t_r$9 = fmt.Sprintf(\"%v; end of function\\n\", new sliceType$6([new $String(indent)])); /* */ $s = 20; case 20: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }\n\t\tbuf = $append(buf, _r$9);\n\t\t$s = -1; return strings.Join(buf, \"\");\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: FunctionProto.ptr.prototype.str }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._arg$3 = _arg$3; $f._arg$4 = _arg$4; $f._arg$5 = _arg$5; $f._arg$6 = _arg$6; $f._i = _i; $f._i$1 = _i$1; $f._i$2 = _i$2; $f._i$3 = _i$3; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._r$8 = _r$8; $f._r$9 = _r$9; $f._ref = _ref; $f._ref$1 = _ref$1; $f._ref$2 = _ref$2; $f._ref$3 = _ref$3; $f.buf = buf; $f.code = code; $f.conzt = conzt; $f.count = count; $f.fp = fp; $f.indent = indent; $f.inst = inst; $f.level = level; $f.linfo = linfo; $f.no = no; $f.protono = protono; $f.reg = reg; $f.reg$1 = reg$1; $f.reg$2 = reg$2; $f.upvalue = upvalue; $f.x = x; $f.x$1 = x$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tFunctionProto.prototype.str = function(level, count) { return this.$val.str(level, count); };\n\tnewLFunctionL = function(proto, env, nupvalue) {\n\t\tvar env, nupvalue, proto;\n\t\treturn new LFunction.ptr(false, env, proto, $throwNilPointerError, $makeSlice(sliceType$19, nupvalue));\n\t};\n\tnewLFunctionG = function(gfunc, env, nupvalue) {\n\t\tvar env, gfunc, nupvalue;\n\t\treturn new LFunction.ptr(true, env, ptrType$18.nil, gfunc, $makeSlice(sliceType$19, nupvalue));\n\t};\n\tLFunction.ptr.prototype.LocalName = function(regno, pc) {\n\t\tvar fn, i, p, pc, regno, x, x$1, x$2;\n\t\tfn = this;\n\t\tif (fn.IsG) {\n\t\t\treturn [\"\", false];\n\t\t}\n\t\tp = fn.Proto;\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < p.DbgLocals.$length && (x = p.DbgLocals, ((i < 0 || i >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + i])).StartPc < pc)) { break; }\n\t\t\tif (pc < (x$1 = p.DbgLocals, ((i < 0 || i >= x$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$1.$array[x$1.$offset + i])).EndPc) {\n\t\t\t\tregno = regno - (1) >> 0;\n\t\t\t\tif (regno === 0) {\n\t\t\t\t\treturn [(x$2 = p.DbgLocals, ((i < 0 || i >= x$2.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$2.$array[x$2.$offset + i])).Name, true];\n\t\t\t\t}\n\t\t\t}\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\treturn [\"\", false];\n\t};\n\tLFunction.prototype.LocalName = function(regno, pc) { return this.$val.LocalName(regno, pc); };\n\tcheckFile = function(L) {\n\t\tvar L, _r, _tuple, file, ok, ud, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _tuple = $f._tuple; file = $f.file; ok = $f.ok; ud = $f.ud; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckUserData(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tud = _r;\n\t\t_tuple = $assertType(ud.Value, ptrType$57, true);\n\t\tfile = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\t$s = -1; return file;\n\t\t}\n\t\t$r = L.ArgError(1, \"file expected\"); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return ptrType$57.nil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: checkFile }; } $f.L = L; $f._r = _r; $f._tuple = _tuple; $f.file = file; $f.ok = ok; $f.ud = ud; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\terrorIfFileIsClosed = function(L, file) {\n\t\tvar L, file, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; file = $f.file; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t/* */ if (file.closed) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (file.closed) { */ case 1:\n\t\t\t$r = L.ArgError(1, \"file is closed\"); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 2:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: errorIfFileIsClosed }; } $f.L = L; $f.file = file; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tnewFile = function(L, file, path, flag, perm, writable, readable) {\n\t\tvar L, _arg, _arg$1, _r, _r$1, _tuple, err, file, flag, lfile, path, perm, readable, ud, writable, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; err = $f.err; file = $f.file; flag = $f.flag; lfile = $f.lfile; path = $f.path; perm = $f.perm; readable = $f.readable; ud = $f.ud; writable = $f.writable; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tud = L.NewUserData();\n\t\terr = $ifaceNil;\n\t\t/* */ if (file === ptrType$2.nil) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (file === ptrType$2.nil) { */ case 1:\n\t\t\t_r = os.OpenFile(path, flag, perm); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r;\n\t\t\tfile = _tuple[0];\n\t\t\terr = _tuple[1];\n\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\t$s = -1; return [ptrType$8.nil, err];\n\t\t\t}\n\t\t/* } */ case 2:\n\t\tlfile = new lFile.ptr(file, ptrType$58.nil, $ifaceNil, ptrType$59.nil, $ifaceNil, false);\n\t\tud.Value = lfile;\n\t\tif (writable) {\n\t\t\tlfile.writer = file;\n\t\t}\n\t\tif (readable) {\n\t\t\tlfile.reader = bufio.NewReaderSize(file, 4096);\n\t\t}\n\t\t_arg = ud;\n\t\t_r$1 = L.GetTypeMetatable(\"FILE*\"); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_arg$1 = _r$1;\n\t\t$r = L.SetMetatable(_arg, _arg$1); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return [ud, $ifaceNil];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: newFile }; } $f.L = L; $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f.err = err; $f.file = file; $f.flag = flag; $f.lfile = lfile; $f.path = path; $f.perm = perm; $f.readable = readable; $f.ud = ud; $f.writable = writable; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tnewProcess = function(L, cmd, writable, readable) {\n\t\tvar L, _arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _tuple, _tuple$1, _tuple$2, args, c, cmd, err, lfile, pp, readable, ud, writable, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; args = $f.args; c = $f.c; cmd = $f.cmd; err = $f.err; lfile = $f.lfile; pp = $f.pp; readable = $f.readable; ud = $f.ud; writable = $f.writable; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tud = L.NewUserData();\n\t\t_tuple = popenArgs(cmd);\n\t\tc = _tuple[0];\n\t\targs = _tuple[1];\n\t\t_r = exec.Command(c, args); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tpp = _r;\n\t\tlfile = new lFile.ptr(ptrType$2.nil, pp, $ifaceNil, ptrType$59.nil, $ifaceNil, false);\n\t\tud.Value = lfile;\n\t\terr = $ifaceNil;\n\t\t/* */ if (writable) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (writable) { */ case 2:\n\t\t\t_r$1 = pp.StdinPipe(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_tuple$1 = _r$1;\n\t\t\tlfile.writer = _tuple$1[0];\n\t\t\terr = _tuple$1[1];\n\t\t/* } */ case 3:\n\t\t/* */ if (readable) { $s = 5; continue; }\n\t\t/* */ $s = 6; continue;\n\t\t/* if (readable) { */ case 5:\n\t\t\t_r$2 = pp.StdoutPipe(); /* */ $s = 7; case 7: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t_tuple$2 = _r$2;\n\t\t\tlfile.stdout = _tuple$2[0];\n\t\t\terr = _tuple$2[1];\n\t\t\tlfile.reader = bufio.NewReaderSize(lfile.stdout, 4096);\n\t\t/* } */ case 6:\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return [ptrType$8.nil, err];\n\t\t}\n\t\t_r$3 = pp.Start(); /* */ $s = 8; case 8: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\terr = _r$3;\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return [ptrType$8.nil, err];\n\t\t}\n\t\t_arg = ud;\n\t\t_r$4 = L.GetTypeMetatable(\"FILE*\"); /* */ $s = 9; case 9: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t_arg$1 = _r$4;\n\t\t$r = L.SetMetatable(_arg, _arg$1); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return [ud, $ifaceNil];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: newProcess }; } $f.L = L; $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f.args = args; $f.c = c; $f.cmd = cmd; $f.err = err; $f.lfile = lfile; $f.pp = pp; $f.readable = readable; $f.ud = ud; $f.writable = writable; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tlFile.ptr.prototype.Type = function() {\n\t\tvar file;\n\t\tfile = this;\n\t\tif (file.fp === ptrType$2.nil) {\n\t\t\treturn 1;\n\t\t}\n\t\treturn 0;\n\t};\n\tlFile.prototype.Type = function() { return this.$val.Type(); };\n\tlFile.ptr.prototype.Name = function() {\n\t\tvar _1, _r, _r$1, file, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; _r$1 = $f._r$1; file = $f.file; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tfile = this;\n\t\t\t_1 = file.Type();\n\t\t\t/* */ if (_1 === (0)) { $s = 2; continue; }\n\t\t\t/* */ if (_1 === (1)) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (_1 === (0)) { */ case 2:\n\t\t\t\t_r = fmt.Sprintf(\"file %s\", new sliceType$6([new $String(file.fp.Name())])); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return _r;\n\t\t\t/* } else if (_1 === (1)) { */ case 3:\n\t\t\t\t_r$1 = fmt.Sprintf(\"process %s\", new sliceType$6([new $String(file.pp.Path)])); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return _r$1;\n\t\t\t/* } */ case 4:\n\t\tcase 1:\n\t\t$s = -1; return \"\";\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: lFile.ptr.prototype.Name }; } $f._1 = _1; $f._r = _r; $f._r$1 = _r$1; $f.file = file; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tlFile.prototype.Name = function() { return this.$val.Name(); };\n\tlFile.ptr.prototype.AbandonReadBuffer = function() {\n\t\tvar _r, _tuple, err, file, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; err = $f.err; file = $f.file; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tfile = this;\n\t\t/* */ if ((file.Type() === 0) && !(file.reader === ptrType$59.nil)) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if ((file.Type() === 0) && !(file.reader === ptrType$59.nil)) { */ case 1:\n\t\t\t_r = file.fp.Seek((x = (new $Int64(0, file.reader.Buffered())), new $Int64(-x.$high, -x.$low)), 1); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r;\n\t\t\terr = _tuple[1];\n\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\t$s = -1; return err;\n\t\t\t}\n\t\t\tfile.reader = bufio.NewReaderSize(file.fp, 4096);\n\t\t/* } */ case 2:\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: lFile.ptr.prototype.AbandonReadBuffer }; } $f._r = _r; $f._tuple = _tuple; $f.err = err; $f.file = file; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tlFile.prototype.AbandonReadBuffer = function() { return this.$val.AbandonReadBuffer(); };\n\tfileDefOut = function(L) {\n\t\tvar L;\n\t\treturn $assertType($assertType(L.Get(UpvalueIndex(1)), ptrType$1).RawGetInt(1), ptrType$8);\n\t};\n\tfileDefIn = function(L) {\n\t\tvar L;\n\t\treturn $assertType($assertType(L.Get(UpvalueIndex(1)), ptrType$1).RawGetInt(2), ptrType$8);\n\t};\n\tfileIsWritable = function(L, file) {\n\t\tvar L, _arg, _r, _r$1, file, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _arg = $f._arg; _r = $f._r; _r$1 = $f._r$1; file = $f.file; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t/* */ if ($interfaceIsEqual(file.writer, $ifaceNil)) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if ($interfaceIsEqual(file.writer, $ifaceNil)) { */ case 1:\n\t\t\tL.Push($pkg.LNil);\n\t\t\t_r = file.Name(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_arg = new $String(_r);\n\t\t\t_r$1 = fmt.Sprintf(\"%s is opened for only reading.\", new sliceType$6([_arg])); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t$r = L.Push(new LString((_r$1))); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\tL.Push(new LNumber(1));\n\t\t\t$s = -1; return 3;\n\t\t/* } */ case 2:\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: fileIsWritable }; } $f.L = L; $f._arg = _arg; $f._r = _r; $f._r$1 = _r$1; $f.file = file; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tfileIsReadable = function(L, file) {\n\t\tvar L, _arg, _r, _r$1, file, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _arg = $f._arg; _r = $f._r; _r$1 = $f._r$1; file = $f.file; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t/* */ if (file.reader === ptrType$59.nil) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (file.reader === ptrType$59.nil) { */ case 1:\n\t\t\tL.Push($pkg.LNil);\n\t\t\t_r = file.Name(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_arg = new $String(_r);\n\t\t\t_r$1 = fmt.Sprintf(\"%s is opened for only writing.\", new sliceType$6([_arg])); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t$r = L.Push(new LString((_r$1))); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\tL.Push(new LNumber(1));\n\t\t\t$s = -1; return 3;\n\t\t/* } */ case 2:\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: fileIsReadable }; } $f.L = L; $f._arg = _arg; $f._r = _r; $f._r$1 = _r$1; $f.file = file; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tOpenIo = function(L) {\n\t\tvar L, _entry, _i, _i$1, _keys, _r, _r$1, _r$2, _ref, _ref$1, _tuple, file, finfo, fn, mod, mt, name, uv, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _entry = $f._entry; _i = $f._i; _i$1 = $f._i$1; _keys = $f._keys; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _ref = $f._ref; _ref$1 = $f._ref$1; _tuple = $f._tuple; file = $f.file; finfo = $f.finfo; fn = $f.fn; mod = $f.mod; mt = $f.mt; name = $f.name; uv = $f.uv; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.RegisterModule(\"io\", $makeMap($String.keyFor, [])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tmod = $assertType(_r, ptrType$1);\n\t\t_r$1 = L.NewTypeMetatable(\"FILE*\"); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tmt = _r$1;\n\t\tmt.RawSetString(\"__index\", mt);\n\t\tL.SetFuncs(mt, fileMethods, new sliceType$7([]));\n\t\tmt.RawSetString(\"lines\", L.NewClosure(fileLines, new sliceType$7([L.NewFunction(fileLinesIter)])));\n\t\t_ref = stdFiles;\n\t\t_i = 0;\n\t\t/* while (true) { */ case 3:\n\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 4; continue; }\n\t\t\tfinfo = $clone(((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]), structType);\n\t\t\t_r$2 = newFile(L, finfo.file, \"\", 0, 0, finfo.writable, finfo.readable); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r$2;\n\t\t\tfile = _tuple[0];\n\t\t\tmod.RawSetString(finfo.name, file);\n\t\t\t_i++;\n\t\t/* } */ $s = 3; continue; case 4:\n\t\tuv = L.CreateTable(2, 0);\n\t\tuv.RawSetInt(1, mod.RawGetString(\"stdout\"));\n\t\tuv.RawSetInt(2, mod.RawGetString(\"stdin\"));\n\t\t_ref$1 = ioFuncs;\n\t\t_i$1 = 0;\n\t\t_keys = $keys(_ref$1);\n\t\twhile (true) {\n\t\t\tif (!(_i$1 < _keys.length)) { break; }\n\t\t\t_entry = _ref$1[_keys[_i$1]];\n\t\t\tif (_entry === undefined) {\n\t\t\t\t_i$1++;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tname = _entry.k;\n\t\t\tfn = _entry.v;\n\t\t\tmod.RawSetString(name, L.NewClosure(fn, new sliceType$7([uv])));\n\t\t\t_i$1++;\n\t\t}\n\t\tmod.RawSetString(\"lines\", L.NewClosure(ioLines, new sliceType$7([uv, L.NewClosure(ioLinesIter, new sliceType$7([uv]))])));\n\t\tL.Push(mod);\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: OpenIo }; } $f.L = L; $f._entry = _entry; $f._i = _i; $f._i$1 = _i$1; $f._keys = _keys; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._ref = _ref; $f._ref$1 = _ref$1; $f._tuple = _tuple; $f.file = file; $f.finfo = finfo; $f.fn = fn; $f.mod = mod; $f.mt = mt; $f.name = name; $f.uv = uv; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.OpenIo = OpenIo;\n\tfileToString = function(L) {\n\t\tvar L, _r, file, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; file = $f.file; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = checkFile(L); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tfile = _r;\n\t\tif (file.Type() === 0) {\n\t\t\tif (file.closed) {\n\t\t\t\tL.Push(new LString(\"file (closed)\"));\n\t\t\t} else {\n\t\t\t\tL.Push(new LString(\"file\"));\n\t\t\t}\n\t\t} else {\n\t\t\tif (file.closed) {\n\t\t\t\tL.Push(new LString(\"process (closed)\"));\n\t\t\t} else {\n\t\t\t\tL.Push(new LString(\"process\"));\n\t\t\t}\n\t\t}\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: fileToString }; } $f.L = L; $f._r = _r; $f.file = file; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tfileWriteAux = function(L, file, idx) {\n\t\tvar L, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _tuple, err, file, i, idx, n, out, s, top, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _tuple = $f._tuple; err = $f.err; file = $f.file; i = $f.i; idx = $f.idx; n = $f.n; out = $f.out; s = $f.s; top = $f.top; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = fileIsWritable(L, file); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tn = _r;\n\t\tif (!((n === 0))) {\n\t\t\t$s = -1; return n;\n\t\t}\n\t\t$r = errorIfFileIsClosed(L, file); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\ttop = L.GetTop();\n\t\tout = file.writer;\n\t\terr = $ifaceNil;\n\t\ti = idx;\n\t\t/* while (true) { */ case 3:\n\t\t\t/* if (!(i <= top)) { break; } */ if(!(i <= top)) { $s = 4; continue; }\n\t\t\t$r = L.CheckTypes(i, new sliceType$8([2, 3])); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t_r$1 = LVAsString(L.Get(i)); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\ts = _r$1;\n\t\t\t_r$2 = out.Write(unsafeFastStringToReadOnlyBytes(s)); /* */ $s = 7; case 7: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r$2;\n\t\t\terr = _tuple[1];\n\t\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 8; continue; }\n\t\t\t/* */ $s = 9; continue;\n\t\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 8:\n\t\t\t\t/* goto errreturn */ $s = 10; continue;\n\t\t\t/* } */ case 9:\n\t\t\ti = i + (1) >> 0;\n\t\t/* } */ $s = 3; continue; case 4:\n\t\t_r$3 = file.AbandonReadBuffer(); /* */ $s = 11; case 11: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t_r$3;\n\t\tL.Push(new LBool($pkg.LTrue));\n\t\t$s = -1; return 1;\n\t\t/* errreturn: */ case 10:\n\t\t_r$4 = file.AbandonReadBuffer(); /* */ $s = 12; case 12: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t_r$4;\n\t\tL.Push($pkg.LNil);\n\t\t_r$5 = err.Error(); /* */ $s = 13; case 13: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t$r = L.Push(new LString((_r$5))); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tL.Push(new LNumber(1));\n\t\t$s = -1; return 3;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: fileWriteAux }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._tuple = _tuple; $f.err = err; $f.file = file; $f.i = i; $f.idx = idx; $f.n = n; $f.out = out; $f.s = s; $f.top = top; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tfileCloseAux = function(L, file) {\n\t\tvar L, _1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _tuple, _tuple$1, _tuple$2, bwriter, e2, err, exitStatus, file, ok, ok$1, ok$2, s, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _1 = $f._1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; bwriter = $f.bwriter; e2 = $f.e2; err = $f.err; exitStatus = $f.exitStatus; file = $f.file; ok = $f.ok; ok$1 = $f.ok$1; ok$2 = $f.ok$2; s = $f.s; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tfile.closed = true;\n\t\terr = $ifaceNil;\n\t\t/* */ if (!($interfaceIsEqual(file.writer, $ifaceNil))) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!($interfaceIsEqual(file.writer, $ifaceNil))) { */ case 1:\n\t\t\t_tuple = $assertType(file.writer, ptrType$60, true);\n\t\t\tbwriter = _tuple[0];\n\t\t\tok = _tuple[1];\n\t\t\t/* */ if (ok) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (ok) { */ case 3:\n\t\t\t\t_r = bwriter.Flush(); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\terr = _r;\n\t\t\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 6; continue; }\n\t\t\t\t/* */ $s = 7; continue;\n\t\t\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 6:\n\t\t\t\t\t/* goto errreturn */ $s = 8; continue;\n\t\t\t\t/* } */ case 7:\n\t\t\t/* } */ case 4:\n\t\t/* } */ case 2:\n\t\t_r$1 = file.AbandonReadBuffer(); /* */ $s = 9; case 9: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_r$1;\n\t\t\t_1 = file.Type();\n\t\t\t/* */ if (_1 === (0)) { $s = 11; continue; }\n\t\t\t/* */ if (_1 === (1)) { $s = 12; continue; }\n\t\t\t/* */ $s = 13; continue;\n\t\t\t/* if (_1 === (0)) { */ case 11:\n\t\t\t\t_r$2 = file.fp.Close(); /* */ $s = 14; case 14: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\terr = _r$2;\n\t\t\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 15; continue; }\n\t\t\t\t/* */ $s = 16; continue;\n\t\t\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 15:\n\t\t\t\t\t/* goto errreturn */ $s = 8; continue;\n\t\t\t\t/* } */ case 16:\n\t\t\t\tL.Push(new LBool($pkg.LTrue));\n\t\t\t\t$s = -1; return 1;\n\t\t\t/* } else if (_1 === (1)) { */ case 12:\n\t\t\t\t/* */ if (!($interfaceIsEqual(file.stdout, $ifaceNil))) { $s = 17; continue; }\n\t\t\t\t/* */ $s = 18; continue;\n\t\t\t\t/* if (!($interfaceIsEqual(file.stdout, $ifaceNil))) { */ case 17:\n\t\t\t\t\t_r$3 = file.stdout.Close(); /* */ $s = 19; case 19: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t\t_r$3;\n\t\t\t\t/* } */ case 18:\n\t\t\t\t_r$4 = file.pp.Wait(); /* */ $s = 20; case 20: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\terr = _r$4;\n\t\t\t\texitStatus = 0;\n\t\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\t\t_tuple$1 = $assertType(err, ptrType$61, true);\n\t\t\t\t\te2 = _tuple$1[0];\n\t\t\t\t\tok$1 = _tuple$1[1];\n\t\t\t\t\tif (ok$1) {\n\t\t\t\t\t\t_tuple$2 = $assertType(e2.ProcessState.Sys(), syscall.WaitStatus, true);\n\t\t\t\t\t\ts = _tuple$2[0];\n\t\t\t\t\t\tok$2 = _tuple$2[1];\n\t\t\t\t\t\tif (ok$2) {\n\t\t\t\t\t\t\texitStatus = new syscall.WaitStatus(s).ExitStatus();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\terr = errors.New(\"Unimplemented for system where exec.ExitError.Sys() is not syscall.WaitStatus\");\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\texitStatus = 0;\n\t\t\t\t}\n\t\t\t\tL.Push(new LNumber((exitStatus)));\n\t\t\t\t$s = -1; return 1;\n\t\t\t/* } */ case 13:\n\t\tcase 10:\n\t\t/* errreturn: */ case 8:\n\t\t_r$5 = err.Error(); /* */ $s = 21; case 21: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t$r = L.RaiseError(_r$5, new sliceType$6([])); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: fileCloseAux }; } $f.L = L; $f._1 = _1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f.bwriter = bwriter; $f.e2 = e2; $f.err = err; $f.exitStatus = exitStatus; $f.file = file; $f.ok = ok; $f.ok$1 = ok$1; $f.ok$2 = ok$2; $f.s = s; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tfileFlushAux = function(L, file) {\n\t\tvar L, _r, _r$1, _r$2, _tuple, bwriter, err, file, n, ok, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _tuple = $f._tuple; bwriter = $f.bwriter; err = $f.err; file = $f.file; n = $f.n; ok = $f.ok; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = fileIsWritable(L, file); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tn = _r;\n\t\tif (!((n === 0))) {\n\t\t\t$s = -1; return n;\n\t\t}\n\t\t$r = errorIfFileIsClosed(L, file); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_tuple = $assertType(file.writer, ptrType$60, true);\n\t\tbwriter = _tuple[0];\n\t\tok = _tuple[1];\n\t\t/* */ if (ok) { $s = 3; continue; }\n\t\t/* */ $s = 4; continue;\n\t\t/* if (ok) { */ case 3:\n\t\t\t_r$1 = bwriter.Flush(); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\terr = _r$1;\n\t\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 6; continue; }\n\t\t\t/* */ $s = 7; continue;\n\t\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 6:\n\t\t\t\tL.Push($pkg.LNil);\n\t\t\t\t_r$2 = err.Error(); /* */ $s = 8; case 8: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t$r = L.Push(new LString((_r$2))); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return 2;\n\t\t\t/* } */ case 7:\n\t\t/* } */ case 4:\n\t\tL.Push(new LBool($pkg.LTrue));\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: fileFlushAux }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._tuple = _tuple; $f.bwriter = bwriter; $f.err = err; $f.file = file; $f.n = n; $f.ok = ok; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tfileReadAux = function(L, file, idx) {\n\t\tvar L, _1, _i, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _ref, _ref$1, _rune, _tuple, _tuple$1, _tuple$2, _tuple$3, _tuple$4, buf, buf$1, buf$2, err, file, i, idx, iseof, iseof$1, lv, lv$1, n, opt, options, size, top, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _1 = $f._1; _i = $f._i; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _ref = $f._ref; _ref$1 = $f._ref$1; _rune = $f._rune; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; _tuple$3 = $f._tuple$3; _tuple$4 = $f._tuple$4; buf = $f.buf; buf$1 = $f.buf$1; buf$2 = $f.buf$2; err = $f.err; file = $f.file; i = $f.i; idx = $f.idx; iseof = $f.iseof; iseof$1 = $f.iseof$1; lv = $f.lv; lv$1 = $f.lv$1; n = $f.n; opt = $f.opt; options = $f.options; size = $f.size; top = $f.top; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = fileIsReadable(L, file); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tn = _r;\n\t\tif (!((n === 0))) {\n\t\t\t$s = -1; return n;\n\t\t}\n\t\t$r = errorIfFileIsClosed(L, file); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tif (L.GetTop() === (idx - 1 >> 0)) {\n\t\t\tL.Push(new LString(\"*l\"));\n\t\t}\n\t\terr = $ifaceNil;\n\t\ttop = L.GetTop();\n\t\ti = idx;\n\t\t/* while (true) { */ case 3:\n\t\t\t/* if (!(i <= top)) { break; } */ if(!(i <= top)) { $s = 4; continue; }\n\t\t\t_ref = L.Get(i);\n\t\t\t/* */ if ($assertType(_ref, LNumber, true)[1]) { $s = 5; continue; }\n\t\t\t/* */ if ($assertType(_ref, LString, true)[1]) { $s = 6; continue; }\n\t\t\t/* */ $s = 7; continue;\n\t\t\t/* if ($assertType(_ref, LNumber, true)[1]) { */ case 5:\n\t\t\t\tlv = _ref.$val;\n\t\t\t\tsize = (new $Int64(0, lv));\n\t\t\t\t/* */ if ((size.$high === 0 && size.$low === 0)) { $s = 8; continue; }\n\t\t\t\t/* */ $s = 9; continue;\n\t\t\t\t/* if ((size.$high === 0 && size.$low === 0)) { */ case 8:\n\t\t\t\t\t_r$1 = file.reader.ReadByte(); /* */ $s = 10; case 10: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t\t_tuple = _r$1;\n\t\t\t\t\terr = _tuple[1];\n\t\t\t\t\t/* */ if ($interfaceIsEqual(err, io.EOF)) { $s = 11; continue; }\n\t\t\t\t\t/* */ $s = 12; continue;\n\t\t\t\t\t/* if ($interfaceIsEqual(err, io.EOF)) { */ case 11:\n\t\t\t\t\t\tL.Push($pkg.LNil);\n\t\t\t\t\t\t/* goto normalreturn */ $s = 13; continue;\n\t\t\t\t\t/* } */ case 12:\n\t\t\t\t\tfile.reader.UnreadByte();\n\t\t\t\t/* } */ case 9:\n\t\t\t\tbuf = sliceType$20.nil;\n\t\t\t\tiseof = false;\n\t\t\t\t_r$2 = readBufioSize(file.reader, size); /* */ $s = 14; case 14: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t_tuple$1 = _r$2;\n\t\t\t\tbuf = _tuple$1[0];\n\t\t\t\tiseof = _tuple$1[1];\n\t\t\t\terr = _tuple$1[2];\n\t\t\t\t/* */ if (iseof) { $s = 15; continue; }\n\t\t\t\t/* */ $s = 16; continue;\n\t\t\t\t/* if (iseof) { */ case 15:\n\t\t\t\t\tL.Push($pkg.LNil);\n\t\t\t\t\t/* goto normalreturn */ $s = 13; continue;\n\t\t\t\t/* } */ case 16:\n\t\t\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 17; continue; }\n\t\t\t\t/* */ $s = 18; continue;\n\t\t\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 17:\n\t\t\t\t\t/* goto errreturn */ $s = 19; continue;\n\t\t\t\t/* } */ case 18:\n\t\t\t\tL.Push(new LString((($bytesToString(buf)))));\n\t\t\t\t$s = 7; continue;\n\t\t\t/* } else if ($assertType(_ref, LString, true)[1]) { */ case 6:\n\t\t\t\tlv$1 = _ref.$val;\n\t\t\t\t_r$3 = L.CheckString(i); /* */ $s = 20; case 20: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\toptions = _r$3;\n\t\t\t\t/* */ if (options.length > 0 && !((options.charCodeAt(0) === 42))) { $s = 21; continue; }\n\t\t\t\t/* */ $s = 22; continue;\n\t\t\t\t/* if (options.length > 0 && !((options.charCodeAt(0) === 42))) { */ case 21:\n\t\t\t\t\t$r = L.ArgError(2, \"invalid options:\" + options); /* */ $s = 23; case 23: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t/* } */ case 22:\n\t\t\t\t_ref$1 = $substring(options, 1);\n\t\t\t\t_i = 0;\n\t\t\t\t/* while (true) { */ case 24:\n\t\t\t\t\t/* if (!(_i < _ref$1.length)) { break; } */ if(!(_i < _ref$1.length)) { $s = 25; continue; }\n\t\t\t\t\tv = [v];\n\t\t\t\t\t_rune = $decodeRune(_ref$1, _i);\n\t\t\t\t\topt = _rune[0];\n\t\t\t\t\t\t_1 = opt;\n\t\t\t\t\t\t/* */ if (_1 === (110)) { $s = 27; continue; }\n\t\t\t\t\t\t/* */ if (_1 === (97)) { $s = 28; continue; }\n\t\t\t\t\t\t/* */ if (_1 === (108)) { $s = 29; continue; }\n\t\t\t\t\t\t/* */ $s = 30; continue;\n\t\t\t\t\t\t/* if (_1 === (110)) { */ case 27:\n\t\t\t\t\t\t\tv[0] = 0;\n\t\t\t\t\t\t\t_r$4 = fmt.Fscanf(file.reader, \"%f\", new sliceType$6([(v.$ptr || (v.$ptr = new ptrType$62(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, v)))])); /* */ $s = 32; case 32: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t_tuple$2 = _r$4;\n\t\t\t\t\t\t\terr = _tuple$2[1];\n\t\t\t\t\t\t\t/* */ if ($interfaceIsEqual(err, io.EOF)) { $s = 33; continue; }\n\t\t\t\t\t\t\t/* */ $s = 34; continue;\n\t\t\t\t\t\t\t/* if ($interfaceIsEqual(err, io.EOF)) { */ case 33:\n\t\t\t\t\t\t\t\tL.Push($pkg.LNil);\n\t\t\t\t\t\t\t\t/* goto normalreturn */ $s = 13; continue;\n\t\t\t\t\t\t\t/* } */ case 34:\n\t\t\t\t\t\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 35; continue; }\n\t\t\t\t\t\t\t/* */ $s = 36; continue;\n\t\t\t\t\t\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 35:\n\t\t\t\t\t\t\t\t/* goto errreturn */ $s = 19; continue;\n\t\t\t\t\t\t\t/* } */ case 36:\n\t\t\t\t\t\t\tL.Push(new LNumber(v[0]));\n\t\t\t\t\t\t\t$s = 31; continue;\n\t\t\t\t\t\t/* } else if (_1 === (97)) { */ case 28:\n\t\t\t\t\t\t\tbuf$1 = sliceType$20.nil;\n\t\t\t\t\t\t\t_r$5 = ioutil.ReadAll(file.reader); /* */ $s = 37; case 37: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t_tuple$3 = _r$5;\n\t\t\t\t\t\t\tbuf$1 = _tuple$3[0];\n\t\t\t\t\t\t\terr = _tuple$3[1];\n\t\t\t\t\t\t\t/* */ if ($interfaceIsEqual(err, io.EOF)) { $s = 38; continue; }\n\t\t\t\t\t\t\t/* */ $s = 39; continue;\n\t\t\t\t\t\t\t/* if ($interfaceIsEqual(err, io.EOF)) { */ case 38:\n\t\t\t\t\t\t\t\tL.Push(new LString(\"\"));\n\t\t\t\t\t\t\t\t/* goto normalreturn */ $s = 13; continue;\n\t\t\t\t\t\t\t/* } */ case 39:\n\t\t\t\t\t\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 40; continue; }\n\t\t\t\t\t\t\t/* */ $s = 41; continue;\n\t\t\t\t\t\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 40:\n\t\t\t\t\t\t\t\t/* goto errreturn */ $s = 19; continue;\n\t\t\t\t\t\t\t/* } */ case 41:\n\t\t\t\t\t\t\tL.Push(new LString((($bytesToString(buf$1)))));\n\t\t\t\t\t\t\t$s = 31; continue;\n\t\t\t\t\t\t/* } else if (_1 === (108)) { */ case 29:\n\t\t\t\t\t\t\tbuf$2 = sliceType$20.nil;\n\t\t\t\t\t\t\tiseof$1 = false;\n\t\t\t\t\t\t\t_r$6 = readBufioLine(file.reader); /* */ $s = 42; case 42: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t_tuple$4 = _r$6;\n\t\t\t\t\t\t\tbuf$2 = _tuple$4[0];\n\t\t\t\t\t\t\tiseof$1 = _tuple$4[1];\n\t\t\t\t\t\t\terr = _tuple$4[2];\n\t\t\t\t\t\t\t/* */ if (iseof$1) { $s = 43; continue; }\n\t\t\t\t\t\t\t/* */ $s = 44; continue;\n\t\t\t\t\t\t\t/* if (iseof$1) { */ case 43:\n\t\t\t\t\t\t\t\tL.Push($pkg.LNil);\n\t\t\t\t\t\t\t\t/* goto normalreturn */ $s = 13; continue;\n\t\t\t\t\t\t\t/* } */ case 44:\n\t\t\t\t\t\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 45; continue; }\n\t\t\t\t\t\t\t/* */ $s = 46; continue;\n\t\t\t\t\t\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 45:\n\t\t\t\t\t\t\t\t/* goto errreturn */ $s = 19; continue;\n\t\t\t\t\t\t\t/* } */ case 46:\n\t\t\t\t\t\t\tL.Push(new LString((($bytesToString(buf$2)))));\n\t\t\t\t\t\t\t$s = 31; continue;\n\t\t\t\t\t\t/* } else { */ case 30:\n\t\t\t\t\t\t\t$r = L.ArgError(2, \"invalid options:\" + ($encodeRune(opt))); /* */ $s = 47; case 47: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t\t/* } */ case 31:\n\t\t\t\t\tcase 26:\n\t\t\t\t\t_i += _rune[1];\n\t\t\t\t/* } */ $s = 24; continue; case 25:\n\t\t\t/* } */ case 7:\n\t\t\ti = i + (1) >> 0;\n\t\t/* } */ $s = 3; continue; case 4:\n\t\t/* normalreturn: */ case 13:\n\t\t$s = -1; return L.GetTop() - top >> 0;\n\t\t/* errreturn: */ case 19:\n\t\t_r$7 = err.Error(); /* */ $s = 48; case 48: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }\n\t\t$r = L.RaiseError(_r$7, new sliceType$6([])); /* */ $s = 49; case 49: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 2;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: fileReadAux }; } $f.L = L; $f._1 = _1; $f._i = _i; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._ref = _ref; $f._ref$1 = _ref$1; $f._rune = _rune; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f._tuple$3 = _tuple$3; $f._tuple$4 = _tuple$4; $f.buf = buf; $f.buf$1 = buf$1; $f.buf$2 = buf$2; $f.err = err; $f.file = file; $f.i = i; $f.idx = idx; $f.iseof = iseof; $f.iseof$1 = iseof$1; $f.lv = lv; $f.lv$1 = lv$1; $f.n = n; $f.opt = opt; $f.options = options; $f.size = size; $f.top = top; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tfileSeek = function(L) {\n\t\tvar L, _arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _tuple, err, file, pos, top, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _tuple = $f._tuple; err = $f.err; file = $f.file; pos = $f.pos; top = $f.top; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = checkFile(L); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tfile = _r;\n\t\tif (!((file.Type() === 0))) {\n\t\t\tL.Push($pkg.LNil);\n\t\t\tL.Push(new LString(\"can not seek a process.\"));\n\t\t\t$s = -1; return 2;\n\t\t}\n\t\ttop = L.GetTop();\n\t\tif (top === 1) {\n\t\t\tL.Push(new LString(\"cur\"));\n\t\t\tL.Push(new LNumber(0));\n\t\t} else if (top === 2) {\n\t\t\tL.Push(new LNumber(0));\n\t\t}\n\t\tpos = new $Int64(0, 0);\n\t\terr = $ifaceNil;\n\t\t_r$1 = file.AbandonReadBuffer(); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\terr = _r$1;\n\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 3; continue; }\n\t\t/* */ $s = 4; continue;\n\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 3:\n\t\t\t/* goto errreturn */ $s = 5; continue;\n\t\t/* } */ case 4:\n\t\t_r$2 = L.CheckInt64(3); /* */ $s = 6; case 6: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t_arg = _r$2;\n\t\t_r$3 = L.CheckOption(2, fileSeekOptions); /* */ $s = 7; case 7: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t_arg$1 = _r$3;\n\t\t_r$4 = file.fp.Seek(_arg, _arg$1); /* */ $s = 8; case 8: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t_tuple = _r$4;\n\t\tpos = _tuple[0];\n\t\terr = _tuple[1];\n\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 9; continue; }\n\t\t/* */ $s = 10; continue;\n\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 9:\n\t\t\t/* goto errreturn */ $s = 5; continue;\n\t\t/* } */ case 10:\n\t\tL.Push(new LNumber(($flatten64(pos))));\n\t\t$s = -1; return 1;\n\t\t/* errreturn: */ case 5:\n\t\tL.Push($pkg.LNil);\n\t\t_r$5 = err.Error(); /* */ $s = 11; case 11: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t$r = L.Push(new LString((_r$5))); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 2;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: fileSeek }; } $f.L = L; $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._tuple = _tuple; $f.err = err; $f.file = file; $f.pos = pos; $f.top = top; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tfileWrite = function(L) {\n\t\tvar L, _arg, _arg$1, _r, _r$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; _r$1 = $f._r$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_arg = L;\n\t\t_r = checkFile(L); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_arg$1 = _r;\n\t\t_r$1 = fileWriteAux(_arg, _arg$1, 2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r$1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: fileWrite }; } $f.L = L; $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f._r$1 = _r$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tfileClose = function(L) {\n\t\tvar L, _arg, _arg$1, _r, _r$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; _r$1 = $f._r$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_arg = L;\n\t\t_r = checkFile(L); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_arg$1 = _r;\n\t\t_r$1 = fileCloseAux(_arg, _arg$1); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r$1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: fileClose }; } $f.L = L; $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f._r$1 = _r$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tfileFlush = function(L) {\n\t\tvar L, _arg, _arg$1, _r, _r$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; _r$1 = $f._r$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_arg = L;\n\t\t_r = checkFile(L); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_arg$1 = _r;\n\t\t_r$1 = fileFlushAux(_arg, _arg$1); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r$1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: fileFlush }; } $f.L = L; $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f._r$1 = _r$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tfileLinesIter = function(L) {\n\t\tvar L, _r, _r$1, _tuple, _tuple$1, buf, err, file, ok, ud, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; buf = $f.buf; err = $f.err; file = $f.file; ok = $f.ok; ud = $f.ud; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tfile = ptrType$57.nil;\n\t\t_tuple = $assertType(L.Get(1), ptrType$8, true);\n\t\tud = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\tfile = $assertType(ud.Value, ptrType$57);\n\t\t} else {\n\t\t\tfile = $assertType($assertType(L.Get(UpvalueIndex(2)), ptrType$8).Value, ptrType$57);\n\t\t}\n\t\t_r = file.reader.ReadLine(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple$1 = _r;\n\t\tbuf = _tuple$1[0];\n\t\terr = _tuple$1[2];\n\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 2:\n\t\t\tif ($interfaceIsEqual(err, io.EOF)) {\n\t\t\t\tL.Push($pkg.LNil);\n\t\t\t\t$s = -1; return 1;\n\t\t\t}\n\t\t\t_r$1 = err.Error(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t$r = L.RaiseError(_r$1, new sliceType$6([])); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 3:\n\t\tL.Push(new LString((($bytesToString(buf)))));\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: fileLinesIter }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.buf = buf; $f.err = err; $f.file = file; $f.ok = ok; $f.ud = ud; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tfileLines = function(L) {\n\t\tvar L, _r, _r$1, _r$2, file, n, ud, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; file = $f.file; n = $f.n; ud = $f.ud; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = checkFile(L); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tfile = _r;\n\t\t_r$1 = L.CheckUserData(1); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tud = _r$1;\n\t\t_r$2 = fileIsReadable(L, file); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\tn = _r$2;\n\t\tif (!((n === 0))) {\n\t\t\t$s = -1; return 0;\n\t\t}\n\t\tL.Push(L.NewClosure(fileLinesIter, new sliceType$7([L.Get(UpvalueIndex(1)), ud])));\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: fileLines }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.file = file; $f.n = n; $f.ud = ud; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tfileRead = function(L) {\n\t\tvar L, _arg, _arg$1, _r, _r$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; _r$1 = $f._r$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_arg = L;\n\t\t_r = checkFile(L); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_arg$1 = _r;\n\t\t_r$1 = fileReadAux(_arg, _arg$1, 2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r$1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: fileRead }; } $f.L = L; $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f._r$1 = _r$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tfileSetVBuf = function(L) {\n\t\tvar L, _1, _2, _3, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _tuple, _tuple$1, bufsize, err, file, n, writer, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _1 = $f._1; _2 = $f._2; _3 = $f._3; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; bufsize = $f.bufsize; err = $f.err; file = $f.file; n = $f.n; writer = $f.writer; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\terr = $ifaceNil;\n\t\twriter = $ifaceNil;\n\t\t_r = checkFile(L); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tfile = _r;\n\t\t_r$1 = fileIsWritable(L, file); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tn = _r$1;\n\t\tif (!((n === 0))) {\n\t\t\t$s = -1; return n;\n\t\t}\n\t\t\t_r$2 = L.CheckOption(2, filebufOptions); /* */ $s = 4; case 4: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t_1 = (x = _r$2, ((x < 0 || x >= filebufOptions.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : filebufOptions.$array[filebufOptions.$offset + x]));\n\t\t\t/* */ if (_1 === (\"no\")) { $s = 5; continue; }\n\t\t\t/* */ if (_1 === (\"full\") || _1 === (\"line\")) { $s = 6; continue; }\n\t\t\t/* */ $s = 7; continue;\n\t\t\t/* if (_1 === (\"no\")) { */ case 5:\n\t\t\t\t\t_2 = file.Type();\n\t\t\t\t\t/* */ if (_2 === (0)) { $s = 9; continue; }\n\t\t\t\t\t/* */ if (_2 === (1)) { $s = 10; continue; }\n\t\t\t\t\t/* */ $s = 11; continue;\n\t\t\t\t\t/* if (_2 === (0)) { */ case 9:\n\t\t\t\t\t\tfile.writer = file.fp;\n\t\t\t\t\t\t$s = 11; continue;\n\t\t\t\t\t/* } else if (_2 === (1)) { */ case 10:\n\t\t\t\t\t\t_r$3 = file.pp.StdinPipe(); /* */ $s = 12; case 12: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t\t\t_tuple = _r$3;\n\t\t\t\t\t\tfile.writer = _tuple[0];\n\t\t\t\t\t\terr = _tuple[1];\n\t\t\t\t\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 13; continue; }\n\t\t\t\t\t\t/* */ $s = 14; continue;\n\t\t\t\t\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 13:\n\t\t\t\t\t\t\t/* goto errreturn */ $s = 15; continue;\n\t\t\t\t\t\t/* } */ case 14:\n\t\t\t\t\t/* } */ case 11:\n\t\t\t\tcase 8:\n\t\t\t\t$s = 7; continue;\n\t\t\t/* } else if (_1 === (\"full\") || _1 === (\"line\")) { */ case 6:\n\t\t\t\t_r$4 = L.OptInt(3, 4096); /* */ $s = 16; case 16: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\tbufsize = _r$4;\n\t\t\t\t\t_3 = file.Type();\n\t\t\t\t\t/* */ if (_3 === (0)) { $s = 18; continue; }\n\t\t\t\t\t/* */ if (_3 === (1)) { $s = 19; continue; }\n\t\t\t\t\t/* */ $s = 20; continue;\n\t\t\t\t\t/* if (_3 === (0)) { */ case 18:\n\t\t\t\t\t\tfile.writer = bufio.NewWriterSize(file.fp, bufsize);\n\t\t\t\t\t\t$s = 20; continue;\n\t\t\t\t\t/* } else if (_3 === (1)) { */ case 19:\n\t\t\t\t\t\t_r$5 = file.pp.StdinPipe(); /* */ $s = 21; case 21: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t\t\t\t_tuple$1 = _r$5;\n\t\t\t\t\t\twriter = _tuple$1[0];\n\t\t\t\t\t\terr = _tuple$1[1];\n\t\t\t\t\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 22; continue; }\n\t\t\t\t\t\t/* */ $s = 23; continue;\n\t\t\t\t\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 22:\n\t\t\t\t\t\t\t/* goto errreturn */ $s = 15; continue;\n\t\t\t\t\t\t/* } */ case 23:\n\t\t\t\t\t\tfile.writer = bufio.NewWriterSize(writer, bufsize);\n\t\t\t\t\t/* } */ case 20:\n\t\t\t\tcase 17:\n\t\t\t/* } */ case 7:\n\t\tcase 3:\n\t\tL.Push(new LBool($pkg.LTrue));\n\t\t$s = -1; return 1;\n\t\t/* errreturn: */ case 15:\n\t\tL.Push($pkg.LNil);\n\t\t_r$6 = err.Error(); /* */ $s = 24; case 24: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t$r = L.Push(new LString((_r$6))); /* */ $s = 25; case 25: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 2;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: fileSetVBuf }; } $f.L = L; $f._1 = _1; $f._2 = _2; $f._3 = _3; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.bufsize = bufsize; $f.err = err; $f.file = file; $f.n = n; $f.writer = writer; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tioInput = function(L) {\n\t\tvar L, _arg, _r, _r$1, _r$2, _r$3, _ref, _tuple, _tuple$1, err, file, lv, lv$1, ok, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _arg = $f._arg; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _ref = $f._ref; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; err = $f.err; file = $f.file; lv = $f.lv; lv$1 = $f.lv$1; ok = $f.ok; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tif (L.GetTop() === 0) {\n\t\t\tL.Push(fileDefIn(L));\n\t\t\t$s = -1; return 1;\n\t\t}\n\t\t_ref = L.Get(1);\n\t\t/* */ if ($assertType(_ref, LString, true)[1]) { $s = 1; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$8, true)[1]) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if ($assertType(_ref, LString, true)[1]) { */ case 1:\n\t\t\tlv = _ref.$val;\n\t\t\t_r = newFile(L, ptrType$2.nil, (lv), 0, 384, false, true); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r;\n\t\t\tfile = _tuple[0];\n\t\t\terr = _tuple[1];\n\t\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 5; continue; }\n\t\t\t/* */ $s = 6; continue;\n\t\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 5:\n\t\t\t\t_r$1 = err.Error(); /* */ $s = 7; case 7: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t$r = L.RaiseError(_r$1, new sliceType$6([])); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 6:\n\t\t\t$assertType(L.Get(UpvalueIndex(1)), ptrType$1).RawSetInt(2, file);\n\t\t\tL.Push(file);\n\t\t\t$s = -1; return 1;\n\t\t/* } else if ($assertType(_ref, ptrType$8, true)[1]) { */ case 2:\n\t\t\tlv$1 = _ref.$val;\n\t\t\t_tuple$1 = $assertType(lv$1.Value, ptrType$57, true);\n\t\t\tok = _tuple$1[1];\n\t\t\tif (ok) {\n\t\t\t\t$assertType(L.Get(UpvalueIndex(1)), ptrType$1).RawSetInt(2, lv$1);\n\t\t\t\tL.Push(lv$1);\n\t\t\t\t$s = -1; return 1;\n\t\t\t}\n\t\t/* } */ case 3:\n\t\t_r$2 = L.Get(1).Type(); /* */ $s = 9; case 9: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t_r$3 = new LValueType(_r$2).String(); /* */ $s = 10; case 10: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t_arg = \"string or file expedted, but got \" + _r$3;\n\t\t$r = L.ArgError(1, _arg); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ioInput }; } $f.L = L; $f._arg = _arg; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._ref = _ref; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.err = err; $f.file = file; $f.lv = lv; $f.lv$1 = lv$1; $f.ok = ok; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tioClose = function(L) {\n\t\tvar L, _r, _r$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t/* */ if (L.GetTop() === 0) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (L.GetTop() === 0) { */ case 1:\n\t\t\t_r = fileCloseAux(L, $assertType(fileDefOut(L).Value, ptrType$57)); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return _r;\n\t\t/* } */ case 2:\n\t\t_r$1 = fileClose(L); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r$1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ioClose }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tioFlush = function(L) {\n\t\tvar L, _r, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = fileFlushAux(L, $assertType(fileDefOut(L).Value, ptrType$57)); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ioFlush }; } $f.L = L; $f._r = _r; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tioLinesIter = function(L) {\n\t\tvar L, _r, _r$1, _r$2, _tuple, _tuple$1, buf, err, file, ok, toclose, ud, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; buf = $f.buf; err = $f.err; file = $f.file; ok = $f.ok; toclose = $f.toclose; ud = $f.ud; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tfile = ptrType$57.nil;\n\t\ttoclose = false;\n\t\t_tuple = $assertType(L.Get(1), ptrType$8, true);\n\t\tud = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\tfile = $assertType(ud.Value, ptrType$57);\n\t\t} else {\n\t\t\tfile = $assertType($assertType(L.Get(UpvalueIndex(2)), ptrType$8).Value, ptrType$57);\n\t\t\ttoclose = true;\n\t\t}\n\t\t_r = file.reader.ReadLine(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple$1 = _r;\n\t\tbuf = _tuple$1[0];\n\t\terr = _tuple$1[2];\n\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 2:\n\t\t\t/* */ if ($interfaceIsEqual(err, io.EOF)) { $s = 4; continue; }\n\t\t\t/* */ $s = 5; continue;\n\t\t\t/* if ($interfaceIsEqual(err, io.EOF)) { */ case 4:\n\t\t\t\t/* */ if (toclose) { $s = 6; continue; }\n\t\t\t\t/* */ $s = 7; continue;\n\t\t\t\t/* if (toclose) { */ case 6:\n\t\t\t\t\t_r$1 = fileCloseAux(L, file); /* */ $s = 8; case 8: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t\t_r$1;\n\t\t\t\t/* } */ case 7:\n\t\t\t\tL.Push($pkg.LNil);\n\t\t\t\t$s = -1; return 1;\n\t\t\t/* } */ case 5:\n\t\t\t_r$2 = err.Error(); /* */ $s = 9; case 9: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t$r = L.RaiseError(_r$2, new sliceType$6([])); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 3:\n\t\tL.Push(new LString((($bytesToString(buf)))));\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ioLinesIter }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.buf = buf; $f.err = err; $f.file = file; $f.ok = ok; $f.toclose = toclose; $f.ud = ud; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tioLines = function(L) {\n\t\tvar L, _r, _r$1, _tuple, err, path, ud, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; err = $f.err; path = $f.path; ud = $f.ud; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tif (L.GetTop() === 0) {\n\t\t\tL.Push(L.Get(UpvalueIndex(2)));\n\t\t\tL.Push(fileDefIn(L));\n\t\t\t$s = -1; return 2;\n\t\t}\n\t\t_r = L.CheckString(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tpath = _r;\n\t\t_r$1 = newFile(L, ptrType$2.nil, path, 0, 384, false, true); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_tuple = _r$1;\n\t\tud = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t$s = -1; return 0;\n\t\t}\n\t\tL.Push(L.NewClosure(ioLinesIter, new sliceType$7([L.Get(UpvalueIndex(1)), ud])));\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ioLines }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f.err = err; $f.path = path; $f.ud = ud; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tioOpenFile = function(L) {\n\t\tvar L, _1, _r, _r$1, _r$2, _r$3, _tuple, err, file, mode, path, perm, readable, writable, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _1 = $f._1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _tuple = $f._tuple; err = $f.err; file = $f.file; mode = $f.mode; path = $f.path; perm = $f.perm; readable = $f.readable; writable = $f.writable; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckString(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tpath = _r;\n\t\tif (L.GetTop() === 1) {\n\t\t\tL.Push(new LString(\"r\"));\n\t\t}\n\t\tmode = 0;\n\t\tperm = 384;\n\t\twritable = true;\n\t\treadable = true;\n\t\t\t_r$1 = L.CheckOption(2, ioOpenOpions); /* */ $s = 3; case 3: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_1 = (x = _r$1, ((x < 0 || x >= ioOpenOpions.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : ioOpenOpions.$array[ioOpenOpions.$offset + x]));\n\t\t\tif (_1 === (\"r\") || _1 === (\"rb\")) {\n\t\t\t\tmode = 0;\n\t\t\t\twritable = false;\n\t\t\t} else if (_1 === (\"w\") || _1 === (\"wb\")) {\n\t\t\t\tmode = 65;\n\t\t\t\treadable = false;\n\t\t\t} else if (_1 === (\"a\") || _1 === (\"ab\")) {\n\t\t\t\tmode = 1089;\n\t\t\t} else if (_1 === (\"r+\") || _1 === (\"rb+\")) {\n\t\t\t\tmode = 2;\n\t\t\t} else if (_1 === (\"w+\") || _1 === (\"wb+\")) {\n\t\t\t\tmode = 578;\n\t\t\t} else if (_1 === (\"a+\") || _1 === (\"ab+\")) {\n\t\t\t\tmode = 1090;\n\t\t\t}\n\t\tcase 2:\n\t\t_r$2 = newFile(L, ptrType$2.nil, path, mode, ((perm >>> 0)), writable, readable); /* */ $s = 4; case 4: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t_tuple = _r$2;\n\t\tfile = _tuple[0];\n\t\terr = _tuple[1];\n\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 5; continue; }\n\t\t/* */ $s = 6; continue;\n\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 5:\n\t\t\tL.Push($pkg.LNil);\n\t\t\t_r$3 = err.Error(); /* */ $s = 7; case 7: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t$r = L.Push(new LString((_r$3))); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\tL.Push(new LNumber(1));\n\t\t\t$s = -1; return 3;\n\t\t/* } */ case 6:\n\t\tL.Push(file);\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ioOpenFile }; } $f.L = L; $f._1 = _1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._tuple = _tuple; $f.err = err; $f.file = file; $f.mode = mode; $f.path = path; $f.perm = perm; $f.readable = readable; $f.writable = writable; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tioPopen = function(L) {\n\t\tvar L, _1, _r, _r$1, _r$2, _r$3, _r$4, _tuple, _tuple$1, cmd, err, file, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _1 = $f._1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; cmd = $f.cmd; err = $f.err; file = $f.file; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckString(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tcmd = _r;\n\t\tif (L.GetTop() === 1) {\n\t\t\tL.Push(new LString(\"r\"));\n\t\t}\n\t\tfile = ptrType$8.nil;\n\t\terr = $ifaceNil;\n\t\t\t_r$1 = L.CheckOption(2, ioPopenOptions); /* */ $s = 3; case 3: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_1 = (x = _r$1, ((x < 0 || x >= ioPopenOptions.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : ioPopenOptions.$array[ioPopenOptions.$offset + x]));\n\t\t\t/* */ if (_1 === (\"r\")) { $s = 4; continue; }\n\t\t\t/* */ if (_1 === (\"w\")) { $s = 5; continue; }\n\t\t\t/* */ $s = 6; continue;\n\t\t\t/* if (_1 === (\"r\")) { */ case 4:\n\t\t\t\t_r$2 = newProcess(L, cmd, false, true); /* */ $s = 7; case 7: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t_tuple = _r$2;\n\t\t\t\tfile = _tuple[0];\n\t\t\t\terr = _tuple[1];\n\t\t\t\t$s = 6; continue;\n\t\t\t/* } else if (_1 === (\"w\")) { */ case 5:\n\t\t\t\t_r$3 = newProcess(L, cmd, true, false); /* */ $s = 8; case 8: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t_tuple$1 = _r$3;\n\t\t\t\tfile = _tuple$1[0];\n\t\t\t\terr = _tuple$1[1];\n\t\t\t/* } */ case 6:\n\t\tcase 2:\n\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 9; continue; }\n\t\t/* */ $s = 10; continue;\n\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 9:\n\t\t\tL.Push($pkg.LNil);\n\t\t\t_r$4 = err.Error(); /* */ $s = 11; case 11: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t$r = L.Push(new LString((_r$4))); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return 2;\n\t\t/* } */ case 10:\n\t\tL.Push(file);\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ioPopen }; } $f.L = L; $f._1 = _1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.cmd = cmd; $f.err = err; $f.file = file; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tioRead = function(L) {\n\t\tvar L, _r, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = fileReadAux(L, $assertType(fileDefIn(L).Value, ptrType$57), 1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ioRead }; } $f.L = L; $f._r = _r; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tioType = function(L) {\n\t\tvar L, _tuple, _tuple$1, file, ok, ud, udok;\n\t\t_tuple = $assertType(L.Get(1), ptrType$8, true);\n\t\tud = _tuple[0];\n\t\tudok = _tuple[1];\n\t\tif (!udok) {\n\t\t\tL.Push($pkg.LNil);\n\t\t\treturn 1;\n\t\t}\n\t\t_tuple$1 = $assertType(ud.Value, ptrType$57, true);\n\t\tfile = _tuple$1[0];\n\t\tok = _tuple$1[1];\n\t\tif (!ok) {\n\t\t\tL.Push($pkg.LNil);\n\t\t\treturn 1;\n\t\t}\n\t\tif (file.closed) {\n\t\t\tL.Push(new LString(\"closed file\"));\n\t\t\treturn 1;\n\t\t}\n\t\tL.Push(new LString(\"file\"));\n\t\treturn 1;\n\t};\n\tioTmpFile = function(L) {\n\t\tvar L, _r, _r$1, _r$2, _tuple, _tuple$1, err, file, ud, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; err = $f.err; file = $f.file; ud = $f.ud; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = ioutil.TempFile(\"\", \"\"); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tfile = _tuple[0];\n\t\terr = _tuple[1];\n\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 2:\n\t\t\tL.Push($pkg.LNil);\n\t\t\t_r$1 = err.Error(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t$r = L.Push(new LString((_r$1))); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return 2;\n\t\t/* } */ case 3:\n\t\tL.G.tempFiles = $append(L.G.tempFiles, file);\n\t\t_r$2 = newFile(L, file, \"\", 0, 0, true, true); /* */ $s = 6; case 6: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t_tuple$1 = _r$2;\n\t\tud = _tuple$1[0];\n\t\tL.Push(ud);\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ioTmpFile }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.err = err; $f.file = file; $f.ud = ud; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tioOutput = function(L) {\n\t\tvar L, _arg, _r, _r$1, _r$2, _r$3, _ref, _tuple, _tuple$1, err, file, lv, lv$1, ok, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _arg = $f._arg; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _ref = $f._ref; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; err = $f.err; file = $f.file; lv = $f.lv; lv$1 = $f.lv$1; ok = $f.ok; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tif (L.GetTop() === 0) {\n\t\t\tL.Push(fileDefOut(L));\n\t\t\t$s = -1; return 1;\n\t\t}\n\t\t_ref = L.Get(1);\n\t\t/* */ if ($assertType(_ref, LString, true)[1]) { $s = 1; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$8, true)[1]) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if ($assertType(_ref, LString, true)[1]) { */ case 1:\n\t\t\tlv = _ref.$val;\n\t\t\t_r = newFile(L, ptrType$2.nil, (lv), 65, 384, true, false); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r;\n\t\t\tfile = _tuple[0];\n\t\t\terr = _tuple[1];\n\t\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 5; continue; }\n\t\t\t/* */ $s = 6; continue;\n\t\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 5:\n\t\t\t\t_r$1 = err.Error(); /* */ $s = 7; case 7: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t$r = L.RaiseError(_r$1, new sliceType$6([])); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 6:\n\t\t\t$assertType(L.Get(UpvalueIndex(1)), ptrType$1).RawSetInt(1, file);\n\t\t\tL.Push(file);\n\t\t\t$s = -1; return 1;\n\t\t/* } else if ($assertType(_ref, ptrType$8, true)[1]) { */ case 2:\n\t\t\tlv$1 = _ref.$val;\n\t\t\t_tuple$1 = $assertType(lv$1.Value, ptrType$57, true);\n\t\t\tok = _tuple$1[1];\n\t\t\tif (ok) {\n\t\t\t\t$assertType(L.Get(UpvalueIndex(1)), ptrType$1).RawSetInt(1, lv$1);\n\t\t\t\tL.Push(lv$1);\n\t\t\t\t$s = -1; return 1;\n\t\t\t}\n\t\t/* } */ case 3:\n\t\t_r$2 = L.Get(1).Type(); /* */ $s = 9; case 9: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t_r$3 = new LValueType(_r$2).String(); /* */ $s = 10; case 10: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t_arg = \"string or file expedted, but got \" + _r$3;\n\t\t$r = L.ArgError(1, _arg); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ioOutput }; } $f.L = L; $f._arg = _arg; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._ref = _ref; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.err = err; $f.file = file; $f.lv = lv; $f.lv$1 = lv$1; $f.ok = ok; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tioWrite = function(L) {\n\t\tvar L, _r, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = fileWriteAux(L, $assertType(fileDefOut(L).Value, ptrType$57), 1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: ioWrite }; } $f.L = L; $f._r = _r; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.ptr.prototype.OpenLibs = function() {\n\t\tvar _i, _ref, lib, ls, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _ref = $f._ref; lib = $f.lib; ls = $f.ls; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_ref = luaLibs;\n\t\t_i = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 2; continue; }\n\t\t\tlib = $clone(((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]), luaLib);\n\t\t\tls.Push(ls.NewFunction(lib.libFunc));\n\t\t\tls.Push(new LString((lib.libName)));\n\t\t\t$r = ls.Call(1, 0); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t_i++;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.OpenLibs }; } $f._i = _i; $f._ref = _ref; $f.lib = lib; $f.ls = ls; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.OpenLibs = function() { return this.$val.OpenLibs(); };\n\tloGetPath = function(env, defpath) {\n\t\tvar _r, _r$1, _tuple, defpath, dir, env, err, path, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; defpath = $f.defpath; dir = $f.dir; env = $f.env; err = $f.err; path = $f.path; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = os.Getenv(env); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tpath = _r;\n\t\tif (path.length === 0) {\n\t\t\tpath = defpath;\n\t\t}\n\t\tpath = strings.Replace(path, \";;\", \";\" + defpath + \";\", -1);\n\t\t/* */ if (false) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (false) { */ case 2:\n\t\t\t_r$1 = filepath.Abs(filepath.Dir((x = os.Args, (0 >= x.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + 0])))); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r$1;\n\t\t\tdir = _tuple[0];\n\t\t\terr = _tuple[1];\n\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\t$panic(err);\n\t\t\t}\n\t\t\tpath = strings.Replace(path, \"!\", dir, -1);\n\t\t/* } */ case 3:\n\t\t$s = -1; return path;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: loGetPath }; } $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f.defpath = defpath; $f.dir = dir; $f.env = env; $f.err = err; $f.path = path; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tloFindFile = function(L, name, pname) {\n\t\tvar L, _i, _r, _r$1, _r$2, _r$3, _ref, _tuple, _tuple$1, err, luapath, lv, messages, name, ok, path, pattern, pname, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _i = $f._i; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _ref = $f._ref; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; err = $f.err; luapath = $f.luapath; lv = $f.lv; messages = $f.messages; name = $f.name; ok = $f.ok; path = $f.path; pattern = $f.pattern; pname = $f.pname; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tname = strings.Replace(name, \".\", \"/\", -1);\n\t\t_r = L.GetField(L.Get(-10001), \"package\"); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = L.GetField(_r, pname); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tlv = _r$1;\n\t\t_tuple = $assertType(lv, LString, true);\n\t\tpath = _tuple[0];\n\t\tok = _tuple[1];\n\t\t/* */ if (!ok) { $s = 3; continue; }\n\t\t/* */ $s = 4; continue;\n\t\t/* if (!ok) { */ case 3:\n\t\t\t$r = L.RaiseError(\"package.%s must be a string\", new sliceType$6([new $String(pname)])); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 4:\n\t\tmessages = new sliceType$1([]);\n\t\t_ref = strings.Split((path), \";\");\n\t\t_i = 0;\n\t\t/* while (true) { */ case 6:\n\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 7; continue; }\n\t\t\tpattern = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\tluapath = strings.Replace(pattern, \"?\", name, -1);\n\t\t\t_r$2 = os.Stat(luapath); /* */ $s = 8; case 8: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t_tuple$1 = _r$2;\n\t\t\terr = _tuple$1[1];\n\t\t\tif ($interfaceIsEqual(err, $ifaceNil)) {\n\t\t\t\t$s = -1; return [luapath, \"\"];\n\t\t\t}\n\t\t\t_r$3 = err.Error(); /* */ $s = 9; case 9: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\tmessages = $append(messages, _r$3);\n\t\t\t_i++;\n\t\t/* } */ $s = 6; continue; case 7:\n\t\t$s = -1; return [\"\", strings.Join(messages, \"\\n\\t\")];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: loFindFile }; } $f.L = L; $f._i = _i; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._ref = _ref; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.err = err; $f.luapath = luapath; $f.lv = lv; $f.messages = messages; $f.name = name; $f.ok = ok; $f.path = path; $f.pattern = pattern; $f.pname = pname; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tOpenPackage = function(L) {\n\t\tvar L, _arg, _arg$1, _i, _r, _r$1, _ref, i, loaded, loader, loaders, packagemod, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _arg = $f._arg; _arg$1 = $f._arg$1; _i = $f._i; _r = $f._r; _r$1 = $f._r$1; _ref = $f._ref; i = $f.i; loaded = $f.loaded; loader = $f.loader; loaders = $f.loaders; packagemod = $f.packagemod; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.RegisterModule(\"package\", loFuncs); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tpackagemod = _r;\n\t\t$r = L.SetField(packagemod, \"preload\", L.NewTable()); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tloaders = L.CreateTable(loLoaders.$length, 0);\n\t\t_ref = loLoaders;\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\ti = _i;\n\t\t\tloader = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\tL.RawSetInt(loaders, i + 1 >> 0, L.NewFunction(loader));\n\t\t\t_i++;\n\t\t}\n\t\t$r = L.SetField(packagemod, \"loaders\", loaders); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = L.SetField(L.Get(-10000), \"_LOADERS\", loaders); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tloaded = L.NewTable();\n\t\t$r = L.SetField(packagemod, \"loaded\", loaded); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = L.SetField(L.Get(-10000), \"_LOADED\", loaded); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_arg = packagemod;\n\t\t_r$1 = loGetPath($pkg.LuaPath, $pkg.LuaPathDefault); /* */ $s = 7; case 7: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_arg$1 = new LString((_r$1));\n\t\t$r = L.SetField(_arg, \"path\", _arg$1); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = L.SetField(packagemod, \"cpath\", new LString(\"\")); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tL.Push(packagemod);\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: OpenPackage }; } $f.L = L; $f._arg = _arg; $f._arg$1 = _arg$1; $f._i = _i; $f._r = _r; $f._r$1 = _r$1; $f._ref = _ref; $f.i = i; $f.loaded = loaded; $f.loader = loader; $f.loaders = loaders; $f.packagemod = packagemod; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.OpenPackage = OpenPackage;\n\tloLoaderPreload = function(L) {\n\t\tvar L, _r, _r$1, _r$2, _r$3, _r$4, _tuple, lv, name, ok, preload, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _tuple = $f._tuple; lv = $f.lv; name = $f.name; ok = $f.ok; preload = $f.preload; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckString(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tname = _r;\n\t\t_r$1 = L.GetField(L.Get(-10001), \"package\"); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_r$2 = L.GetField(_r$1, \"preload\"); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\tpreload = _r$2;\n\t\t_tuple = $assertType(preload, ptrType$1, true);\n\t\tok = _tuple[1];\n\t\t/* */ if (!ok) { $s = 4; continue; }\n\t\t/* */ $s = 5; continue;\n\t\t/* if (!ok) { */ case 4:\n\t\t\t$r = L.RaiseError(\"package.preload must be a table\", new sliceType$6([])); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 5:\n\t\t_r$3 = L.GetField(preload, name); /* */ $s = 7; case 7: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\tlv = _r$3;\n\t\t/* */ if ($interfaceIsEqual(lv, $pkg.LNil)) { $s = 8; continue; }\n\t\t/* */ $s = 9; continue;\n\t\t/* if ($interfaceIsEqual(lv, $pkg.LNil)) { */ case 8:\n\t\t\t_r$4 = fmt.Sprintf(\"no field package.preload['%s']\", new sliceType$6([new $String(name)])); /* */ $s = 10; case 10: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t$r = L.Push(new LString((_r$4))); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return 1;\n\t\t/* } */ case 9:\n\t\tL.Push(lv);\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: loLoaderPreload }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._tuple = _tuple; $f.lv = lv; $f.name = name; $f.ok = ok; $f.preload = preload; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tloLoaderLua = function(L) {\n\t\tvar L, _r, _r$1, _r$2, _r$3, _tuple, _tuple$1, err1, fn, msg, name, path, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; err1 = $f.err1; fn = $f.fn; msg = $f.msg; name = $f.name; path = $f.path; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckString(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tname = _r;\n\t\t_r$1 = loFindFile(L, name, \"path\"); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_tuple = _r$1;\n\t\tpath = _tuple[0];\n\t\tmsg = _tuple[1];\n\t\tif (path.length === 0) {\n\t\t\tL.Push(new LString((msg)));\n\t\t\t$s = -1; return 1;\n\t\t}\n\t\t_r$2 = L.LoadFile(path); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t_tuple$1 = _r$2;\n\t\tfn = _tuple$1[0];\n\t\terr1 = _tuple$1[1];\n\t\t/* */ if (!($interfaceIsEqual(err1, $ifaceNil))) { $s = 4; continue; }\n\t\t/* */ $s = 5; continue;\n\t\t/* if (!($interfaceIsEqual(err1, $ifaceNil))) { */ case 4:\n\t\t\t_r$3 = err1.Error(); /* */ $s = 6; case 6: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t$r = L.RaiseError(_r$3, new sliceType$6([])); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 5:\n\t\tL.Push(fn);\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: loLoaderLua }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.err1 = err1; $f.fn = fn; $f.msg = msg; $f.name = name; $f.path = path; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tloLoadLib = function(L) {\n\t\tvar L, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = L.RaiseError(\"loadlib is not supported\", new sliceType$6([])); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: loLoadLib }; } $f.L = L; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tloSeeAll = function(L) {\n\t\tvar L, _r, _r$1, mod, mt, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; mod = $f.mod; mt = $f.mt; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckTable(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tmod = _r;\n\t\t_r$1 = L.GetMetatable(mod); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tmt = _r$1;\n\t\t/* */ if ($interfaceIsEqual(mt, $pkg.LNil)) { $s = 3; continue; }\n\t\t/* */ $s = 4; continue;\n\t\t/* if ($interfaceIsEqual(mt, $pkg.LNil)) { */ case 3:\n\t\t\tmt = L.CreateTable(0, 1);\n\t\t\t$r = L.SetMetatable(mod, mt); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 4:\n\t\t$r = L.SetField(mt, \"__index\", L.Get(-10002)); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: loSeeAll }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.mod = mod; $f.mt = mt; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tOpenMath = function(L) {\n\t\tvar L, _r, mod, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; mod = $f.mod; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.RegisterModule(\"math\", mathFuncs); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tmod = $assertType(_r, ptrType$1);\n\t\tmod.RawSetString(\"pi\", new LNumber(3.141592653589793));\n\t\tmod.RawSetString(\"huge\", new LNumber(1.7976931348623157e+308));\n\t\tL.Push(mod);\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: OpenMath }; } $f.L = L; $f._r = _r; $f.mod = mod; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.OpenMath = OpenMath;\n\tmathAbs = function(L) {\n\t\tvar L, _r, _r$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckNumber(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = math.Abs((_r)); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$r = L.Push(new LNumber((_r$1))); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: mathAbs }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmathAcos = function(L) {\n\t\tvar L, _r, _r$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckNumber(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = math.Acos((_r)); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$r = L.Push(new LNumber((_r$1))); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: mathAcos }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmathAsin = function(L) {\n\t\tvar L, _r, _r$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckNumber(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = math.Asin((_r)); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$r = L.Push(new LNumber((_r$1))); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: mathAsin }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmathAtan = function(L) {\n\t\tvar L, _r, _r$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckNumber(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = math.Atan((_r)); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$r = L.Push(new LNumber((_r$1))); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: mathAtan }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmathAtan2 = function(L) {\n\t\tvar L, _arg, _arg$1, _r, _r$1, _r$2, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckNumber(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_arg = (_r);\n\t\t_r$1 = L.CheckNumber(2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_arg$1 = (_r$1);\n\t\t_r$2 = math.Atan2(_arg, _arg$1); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t$r = L.Push(new LNumber((_r$2))); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: mathAtan2 }; } $f.L = L; $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmathCeil = function(L) {\n\t\tvar L, _r, _r$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckNumber(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = math.Ceil((_r)); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$r = L.Push(new LNumber((_r$1))); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: mathCeil }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmathCos = function(L) {\n\t\tvar L, _r, _r$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckNumber(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = math.Cos((_r)); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$r = L.Push(new LNumber((_r$1))); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: mathCos }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmathCosh = function(L) {\n\t\tvar L, _r, _r$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckNumber(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = math.Cosh((_r)); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$r = L.Push(new LNumber((_r$1))); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: mathCosh }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmathDeg = function(L) {\n\t\tvar L, _r, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckNumber(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$r = L.Push(new LNumber(((_r) * 180 / 3.141592653589793))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: mathDeg }; } $f.L = L; $f._r = _r; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmathExp = function(L) {\n\t\tvar L, _r, _r$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckNumber(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = math.Exp((_r)); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$r = L.Push(new LNumber((_r$1))); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: mathExp }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmathFloor = function(L) {\n\t\tvar L, _r, _r$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckNumber(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = math.Floor((_r)); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$r = L.Push(new LNumber((_r$1))); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: mathFloor }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmathFmod = function(L) {\n\t\tvar L, _arg, _arg$1, _r, _r$1, _r$2, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckNumber(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_arg = (_r);\n\t\t_r$1 = L.CheckNumber(2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_arg$1 = (_r$1);\n\t\t_r$2 = math.Mod(_arg, _arg$1); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t$r = L.Push(new LNumber((_r$2))); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: mathFmod }; } $f.L = L; $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmathFrexp = function(L) {\n\t\tvar L, _r, _r$1, _tuple, v1, v2, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; v1 = $f.v1; v2 = $f.v2; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckNumber(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = math.Frexp((_r)); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_tuple = _r$1;\n\t\tv1 = _tuple[0];\n\t\tv2 = _tuple[1];\n\t\tL.Push(new LNumber((v1)));\n\t\tL.Push(new LNumber((v2)));\n\t\t$s = -1; return 2;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: mathFrexp }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f.v1 = v1; $f.v2 = v2; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmathLdexp = function(L) {\n\t\tvar L, _arg, _arg$1, _r, _r$1, _r$2, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckNumber(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_arg = (_r);\n\t\t_r$1 = L.CheckInt(2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_arg$1 = _r$1;\n\t\t_r$2 = math.Ldexp(_arg, _arg$1); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t$r = L.Push(new LNumber((_r$2))); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: mathLdexp }; } $f.L = L; $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmathLog = function(L) {\n\t\tvar L, _r, _r$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckNumber(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = math.Log((_r)); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$r = L.Push(new LNumber((_r$1))); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: mathLog }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmathLog10 = function(L) {\n\t\tvar L, _r, _r$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckNumber(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = math.Log10((_r)); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$r = L.Push(new LNumber((_r$1))); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: mathLog10 }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmathMax = function(L) {\n\t\tvar L, _r, _r$1, i, max, top, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; i = $f.i; max = $f.max; top = $f.top; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t/* */ if (L.GetTop() === 0) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (L.GetTop() === 0) { */ case 1:\n\t\t\t$r = L.RaiseError(\"wrong number of arguments\", new sliceType$6([])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 2:\n\t\t_r = L.CheckNumber(1); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tmax = _r;\n\t\ttop = L.GetTop();\n\t\ti = 2;\n\t\t/* while (true) { */ case 5:\n\t\t\t/* if (!(i <= top)) { break; } */ if(!(i <= top)) { $s = 6; continue; }\n\t\t\t_r$1 = L.CheckNumber(i); /* */ $s = 7; case 7: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\tv = _r$1;\n\t\t\tif (v > max) {\n\t\t\t\tmax = v;\n\t\t\t}\n\t\t\ti = i + (1) >> 0;\n\t\t/* } */ $s = 5; continue; case 6:\n\t\tL.Push(new LNumber(max));\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: mathMax }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.i = i; $f.max = max; $f.top = top; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmathMin = function(L) {\n\t\tvar L, _r, _r$1, i, min, top, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; i = $f.i; min = $f.min; top = $f.top; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t/* */ if (L.GetTop() === 0) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (L.GetTop() === 0) { */ case 1:\n\t\t\t$r = L.RaiseError(\"wrong number of arguments\", new sliceType$6([])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 2:\n\t\t_r = L.CheckNumber(1); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tmin = _r;\n\t\ttop = L.GetTop();\n\t\ti = 2;\n\t\t/* while (true) { */ case 5:\n\t\t\t/* if (!(i <= top)) { break; } */ if(!(i <= top)) { $s = 6; continue; }\n\t\t\t_r$1 = L.CheckNumber(i); /* */ $s = 7; case 7: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\tv = _r$1;\n\t\t\tif (v < min) {\n\t\t\t\tmin = v;\n\t\t\t}\n\t\t\ti = i + (1) >> 0;\n\t\t/* } */ $s = 5; continue; case 6:\n\t\tL.Push(new LNumber(min));\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: mathMin }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.i = i; $f.min = min; $f.top = top; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmathMod = function(L) {\n\t\tvar L, _r, _r$1, lhs, rhs, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; lhs = $f.lhs; rhs = $f.rhs; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckNumber(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tlhs = _r;\n\t\t_r$1 = L.CheckNumber(2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\trhs = _r$1;\n\t\tL.Push(new LNumber(luaModulo(lhs, rhs)));\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: mathMod }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.lhs = lhs; $f.rhs = rhs; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmathModf = function(L) {\n\t\tvar L, _r, _r$1, _tuple, v1, v2, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; v1 = $f.v1; v2 = $f.v2; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckNumber(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = math.Modf((_r)); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_tuple = _r$1;\n\t\tv1 = _tuple[0];\n\t\tv2 = _tuple[1];\n\t\tL.Push(new LNumber((v1)));\n\t\tL.Push(new LNumber((v2)));\n\t\t$s = -1; return 2;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: mathModf }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f.v1 = v1; $f.v2 = v2; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmathPow = function(L) {\n\t\tvar L, _arg, _arg$1, _r, _r$1, _r$2, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckNumber(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_arg = (_r);\n\t\t_r$1 = L.CheckNumber(2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_arg$1 = (_r$1);\n\t\t_r$2 = math.Pow(_arg, _arg$1); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t$r = L.Push(new LNumber((_r$2))); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: mathPow }; } $f.L = L; $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmathRad = function(L) {\n\t\tvar L, _r, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckNumber(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$r = L.Push(new LNumber(((_r) * 3.141592653589793 / 180))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: mathRad }; } $f.L = L; $f._r = _r; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmathRandom = function(L) {\n\t\tvar L, _1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, max, min, n, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _1 = $f._1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; max = $f.max; min = $f.min; n = $f.n; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t\t_1 = L.GetTop();\n\t\t\t/* */ if (_1 === (0)) { $s = 2; continue; }\n\t\t\t/* */ if (_1 === (1)) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (_1 === (0)) { */ case 2:\n\t\t\t\t_r = rand.Float64(); /* */ $s = 6; case 6: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t$r = L.Push(new LNumber((_r))); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 5; continue;\n\t\t\t/* } else if (_1 === (1)) { */ case 3:\n\t\t\t\t_r$1 = L.CheckInt(1); /* */ $s = 8; case 8: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\tn = _r$1;\n\t\t\t\t_r$2 = rand.Intn(n); /* */ $s = 9; case 9: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t$r = L.Push(new LNumber(((_r$2 + 1 >> 0)))); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 5; continue;\n\t\t\t/* } else { */ case 4:\n\t\t\t\t_r$3 = L.CheckInt(1); /* */ $s = 11; case 11: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\tmin = _r$3;\n\t\t\t\t_r$4 = L.CheckInt(2); /* */ $s = 12; case 12: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\tmax = _r$4 + 1 >> 0;\n\t\t\t\t_r$5 = rand.Intn(max - min >> 0); /* */ $s = 13; case 13: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t\t$r = L.Push(new LNumber(((_r$5 + min >> 0)))); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 5:\n\t\tcase 1:\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: mathRandom }; } $f.L = L; $f._1 = _1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f.max = max; $f.min = min; $f.n = n; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmathRandomseed = function(L) {\n\t\tvar L, _r, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckInt64(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$r = rand.Seed(_r); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: mathRandomseed }; } $f.L = L; $f._r = _r; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmathSin = function(L) {\n\t\tvar L, _r, _r$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckNumber(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = math.Sin((_r)); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$r = L.Push(new LNumber((_r$1))); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: mathSin }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmathSinh = function(L) {\n\t\tvar L, _r, _r$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckNumber(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = math.Sinh((_r)); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$r = L.Push(new LNumber((_r$1))); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: mathSinh }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmathSqrt = function(L) {\n\t\tvar L, _r, _r$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckNumber(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = math.Sqrt((_r)); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$r = L.Push(new LNumber((_r$1))); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: mathSqrt }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmathTan = function(L) {\n\t\tvar L, _r, _r$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckNumber(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = math.Tan((_r)); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$r = L.Push(new LNumber((_r$1))); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: mathTan }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmathTanh = function(L) {\n\t\tvar L, _r, _r$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckNumber(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = math.Tanh((_r)); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$r = L.Push(new LNumber((_r$1))); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: mathTanh }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\topGetOpCode = function(inst) {\n\t\tvar inst;\n\t\treturn (((inst >>> 26 >>> 0) >> 0));\n\t};\n\topSetOpCode = function(inst, opcode) {\n\t\tvar inst, opcode;\n\t\tinst.$set(((((inst.$get() & 67108863) >>> 0)) | (((opcode << 26 >> 0) >>> 0))) >>> 0);\n\t};\n\topGetArgA = function(inst) {\n\t\tvar inst;\n\t\treturn (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t};\n\topSetArgA = function(inst, arg) {\n\t\tvar arg, inst;\n\t\tinst.$set(((((inst.$get() & 4228120575) >>> 0)) | (((((arg & 255)) << 18 >> 0) >>> 0))) >>> 0);\n\t};\n\topGetArgB = function(inst) {\n\t\tvar inst;\n\t\treturn ((((inst & 511) >>> 0) >> 0));\n\t};\n\topSetArgB = function(inst, arg) {\n\t\tvar arg, inst;\n\t\tinst.$set(((((inst.$get() & 4294966784) >>> 0)) | (((arg & 511) >>> 0))) >>> 0);\n\t};\n\topGetArgC = function(inst) {\n\t\tvar inst;\n\t\treturn (((inst >>> 9 >>> 0) >> 0)) & 511;\n\t};\n\topSetArgC = function(inst, arg) {\n\t\tvar arg, inst;\n\t\tinst.$set(((((inst.$get() & 4294705663) >>> 0)) | (((((arg & 511)) << 9 >> 0) >>> 0))) >>> 0);\n\t};\n\topGetArgBx = function(inst) {\n\t\tvar inst;\n\t\treturn ((((inst & 262143) >>> 0) >> 0));\n\t};\n\topSetArgBx = function(inst, arg) {\n\t\tvar arg, inst;\n\t\tinst.$set(((((inst.$get() & 4294705152) >>> 0)) | (((arg & 262143) >>> 0))) >>> 0);\n\t};\n\topGetArgSbx = function(inst) {\n\t\tvar inst;\n\t\treturn opGetArgBx(inst) - 131071 >> 0;\n\t};\n\topSetArgSbx = function(inst, arg) {\n\t\tvar arg, inst;\n\t\topSetArgBx(inst, arg + 131071 >> 0);\n\t};\n\topCreateABC = function(op, a, b, c) {\n\t\tvar a, b, c, inst, inst$24ptr, op;\n\t\tinst = 0;\n\t\topSetOpCode((inst$24ptr || (inst$24ptr = new ptrType$17(function() { return inst; }, function($v) { inst = $v; }))), op);\n\t\topSetArgA((inst$24ptr || (inst$24ptr = new ptrType$17(function() { return inst; }, function($v) { inst = $v; }))), a);\n\t\topSetArgB((inst$24ptr || (inst$24ptr = new ptrType$17(function() { return inst; }, function($v) { inst = $v; }))), b);\n\t\topSetArgC((inst$24ptr || (inst$24ptr = new ptrType$17(function() { return inst; }, function($v) { inst = $v; }))), c);\n\t\treturn inst;\n\t};\n\topCreateABx = function(op, a, bx) {\n\t\tvar a, bx, inst, inst$24ptr, op;\n\t\tinst = 0;\n\t\topSetOpCode((inst$24ptr || (inst$24ptr = new ptrType$17(function() { return inst; }, function($v) { inst = $v; }))), op);\n\t\topSetArgA((inst$24ptr || (inst$24ptr = new ptrType$17(function() { return inst; }, function($v) { inst = $v; }))), a);\n\t\topSetArgBx((inst$24ptr || (inst$24ptr = new ptrType$17(function() { return inst; }, function($v) { inst = $v; }))), bx);\n\t\treturn inst;\n\t};\n\topCreateASbx = function(op, a, sbx) {\n\t\tvar a, inst, inst$24ptr, op, sbx;\n\t\tinst = 0;\n\t\topSetOpCode((inst$24ptr || (inst$24ptr = new ptrType$17(function() { return inst; }, function($v) { inst = $v; }))), op);\n\t\topSetArgA((inst$24ptr || (inst$24ptr = new ptrType$17(function() { return inst; }, function($v) { inst = $v; }))), a);\n\t\topSetArgSbx((inst$24ptr || (inst$24ptr = new ptrType$17(function() { return inst; }, function($v) { inst = $v; }))), sbx);\n\t\treturn inst;\n\t};\n\topIsK = function(value) {\n\t\tvar value;\n\t\treturn (!((((value & 256)) === 0)));\n\t};\n\topRkAsk = function(value) {\n\t\tvar value;\n\t\treturn value | 256;\n\t};\n\topToString = function(inst) {\n\t\tvar _1, _2, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$16, _r$17, _r$18, _r$19, _r$2, _r$20, _r$21, _r$22, _r$23, _r$24, _r$25, _r$26, _r$27, _r$28, _r$29, _r$3, _r$30, _r$31, _r$32, _r$33, _r$34, _r$35, _r$36, _r$37, _r$38, _r$39, _r$4, _r$40, _r$41, _r$42, _r$43, _r$5, _r$6, _r$7, _r$8, _r$9, arga, argb, argbx, argc, argsbx, buf, inst, op, prop, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _2 = $f._2; _r = $f._r; _r$1 = $f._r$1; _r$10 = $f._r$10; _r$11 = $f._r$11; _r$12 = $f._r$12; _r$13 = $f._r$13; _r$14 = $f._r$14; _r$15 = $f._r$15; _r$16 = $f._r$16; _r$17 = $f._r$17; _r$18 = $f._r$18; _r$19 = $f._r$19; _r$2 = $f._r$2; _r$20 = $f._r$20; _r$21 = $f._r$21; _r$22 = $f._r$22; _r$23 = $f._r$23; _r$24 = $f._r$24; _r$25 = $f._r$25; _r$26 = $f._r$26; _r$27 = $f._r$27; _r$28 = $f._r$28; _r$29 = $f._r$29; _r$3 = $f._r$3; _r$30 = $f._r$30; _r$31 = $f._r$31; _r$32 = $f._r$32; _r$33 = $f._r$33; _r$34 = $f._r$34; _r$35 = $f._r$35; _r$36 = $f._r$36; _r$37 = $f._r$37; _r$38 = $f._r$38; _r$39 = $f._r$39; _r$4 = $f._r$4; _r$40 = $f._r$40; _r$41 = $f._r$41; _r$42 = $f._r$42; _r$43 = $f._r$43; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _r$8 = $f._r$8; _r$9 = $f._r$9; arga = $f.arga; argb = $f.argb; argbx = $f.argbx; argc = $f.argc; argsbx = $f.argsbx; buf = $f.buf; inst = $f.inst; op = $f.op; prop = $f.prop; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\top = opGetOpCode(inst);\n\t\tif (op > 41) {\n\t\t\t$s = -1; return \"\";\n\t\t}\n\t\tprop = ((op < 0 || op >= opProps.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : opProps.$array[opProps.$offset + op]);\n\t\targa = opGetArgA(inst);\n\t\targb = opGetArgB(inst);\n\t\targc = opGetArgC(inst);\n\t\targbx = opGetArgBx(inst);\n\t\targsbx = opGetArgSbx(inst);\n\t\tbuf = \"\";\n\t\t\t_1 = prop.Type;\n\t\t\t/* */ if (_1 === (0)) { $s = 2; continue; }\n\t\t\t/* */ if (_1 === (1)) { $s = 3; continue; }\n\t\t\t/* */ if (_1 === (2)) { $s = 4; continue; }\n\t\t\t/* */ $s = 5; continue;\n\t\t\t/* if (_1 === (0)) { */ case 2:\n\t\t\t\t_r = fmt.Sprintf(\"%s      |  %d, %d, %d\", new sliceType$6([new $String(prop.Name), new $Int(arga), new $Int(argb), new $Int(argc)])); /* */ $s = 6; case 6: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\tbuf = _r;\n\t\t\t\t$s = 5; continue;\n\t\t\t/* } else if (_1 === (1)) { */ case 3:\n\t\t\t\t_r$1 = fmt.Sprintf(\"%s      |  %d, %d\", new sliceType$6([new $String(prop.Name), new $Int(arga), new $Int(argbx)])); /* */ $s = 7; case 7: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\tbuf = _r$1;\n\t\t\t\t$s = 5; continue;\n\t\t\t/* } else if (_1 === (2)) { */ case 4:\n\t\t\t\t_r$2 = fmt.Sprintf(\"%s      |  %d, %d\", new sliceType$6([new $String(prop.Name), new $Int(arga), new $Int(argsbx)])); /* */ $s = 8; case 8: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\tbuf = _r$2;\n\t\t\t/* } */ case 5:\n\t\tcase 1:\n\t\t\t_2 = op;\n\t\t\t/* */ if (_2 === (0)) { $s = 10; continue; }\n\t\t\t/* */ if (_2 === (1)) { $s = 11; continue; }\n\t\t\t/* */ if (_2 === (2)) { $s = 12; continue; }\n\t\t\t/* */ if (_2 === (3)) { $s = 13; continue; }\n\t\t\t/* */ if (_2 === (4)) { $s = 14; continue; }\n\t\t\t/* */ if (_2 === (5)) { $s = 15; continue; }\n\t\t\t/* */ if (_2 === (6)) { $s = 16; continue; }\n\t\t\t/* */ if (_2 === (7)) { $s = 17; continue; }\n\t\t\t/* */ if (_2 === (8)) { $s = 18; continue; }\n\t\t\t/* */ if (_2 === (9)) { $s = 19; continue; }\n\t\t\t/* */ if (_2 === (10)) { $s = 20; continue; }\n\t\t\t/* */ if (_2 === (11)) { $s = 21; continue; }\n\t\t\t/* */ if (_2 === (12)) { $s = 22; continue; }\n\t\t\t/* */ if (_2 === (13)) { $s = 23; continue; }\n\t\t\t/* */ if (_2 === (14)) { $s = 24; continue; }\n\t\t\t/* */ if (_2 === (15)) { $s = 25; continue; }\n\t\t\t/* */ if (_2 === (16)) { $s = 26; continue; }\n\t\t\t/* */ if (_2 === (17)) { $s = 27; continue; }\n\t\t\t/* */ if (_2 === (18)) { $s = 28; continue; }\n\t\t\t/* */ if (_2 === (19)) { $s = 29; continue; }\n\t\t\t/* */ if (_2 === (20)) { $s = 30; continue; }\n\t\t\t/* */ if (_2 === (21)) { $s = 31; continue; }\n\t\t\t/* */ if (_2 === (22)) { $s = 32; continue; }\n\t\t\t/* */ if (_2 === (23)) { $s = 33; continue; }\n\t\t\t/* */ if (_2 === (24)) { $s = 34; continue; }\n\t\t\t/* */ if (_2 === (25)) { $s = 35; continue; }\n\t\t\t/* */ if (_2 === (26)) { $s = 36; continue; }\n\t\t\t/* */ if (_2 === (27)) { $s = 37; continue; }\n\t\t\t/* */ if (_2 === (28)) { $s = 38; continue; }\n\t\t\t/* */ if (_2 === (29)) { $s = 39; continue; }\n\t\t\t/* */ if (_2 === (30)) { $s = 40; continue; }\n\t\t\t/* */ if (_2 === (31)) { $s = 41; continue; }\n\t\t\t/* */ if (_2 === (32)) { $s = 42; continue; }\n\t\t\t/* */ if (_2 === (33)) { $s = 43; continue; }\n\t\t\t/* */ if (_2 === (34)) { $s = 44; continue; }\n\t\t\t/* */ if (_2 === (35)) { $s = 45; continue; }\n\t\t\t/* */ if (_2 === (36)) { $s = 46; continue; }\n\t\t\t/* */ if (_2 === (37)) { $s = 47; continue; }\n\t\t\t/* */ if (_2 === (38)) { $s = 48; continue; }\n\t\t\t/* */ if (_2 === (39)) { $s = 49; continue; }\n\t\t\t/* */ if (_2 === (40)) { $s = 50; continue; }\n\t\t\t/* */ if (_2 === (41)) { $s = 51; continue; }\n\t\t\t/* */ $s = 52; continue;\n\t\t\t/* if (_2 === (0)) { */ case 10:\n\t\t\t\t_r$3 = fmt.Sprintf(\"; R(%v) := R(%v)\", new sliceType$6([new $Int(arga), new $Int(argb)])); /* */ $s = 53; case 53: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$3);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (1)) { */ case 11:\n\t\t\t\t_r$4 = fmt.Sprintf(\"; R(%v) := R(%v); followed by %v MOVE ops\", new sliceType$6([new $Int(arga), new $Int(argb), new $Int(argc)])); /* */ $s = 54; case 54: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$4);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (2)) { */ case 12:\n\t\t\t\t_r$5 = fmt.Sprintf(\"; R(%v) := Kst(%v)\", new sliceType$6([new $Int(arga), new $Int(argbx)])); /* */ $s = 55; case 55: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$5);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (3)) { */ case 13:\n\t\t\t\t_r$6 = fmt.Sprintf(\"; R(%v) := (Bool)%v; if (%v) pc++\", new sliceType$6([new $Int(arga), new $Int(argb), new $Int(argc)])); /* */ $s = 56; case 56: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$6);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (4)) { */ case 14:\n\t\t\t\t_r$7 = fmt.Sprintf(\"; R(%v) := ... := R(%v) := nil\", new sliceType$6([new $Int(arga), new $Int(argb)])); /* */ $s = 57; case 57: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$7);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (5)) { */ case 15:\n\t\t\t\t_r$8 = fmt.Sprintf(\"; R(%v) := UpValue[%v]\", new sliceType$6([new $Int(arga), new $Int(argb)])); /* */ $s = 58; case 58: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$8);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (6)) { */ case 16:\n\t\t\t\t_r$9 = fmt.Sprintf(\"; R(%v) := Gbl[Kst(%v)]\", new sliceType$6([new $Int(arga), new $Int(argbx)])); /* */ $s = 59; case 59: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$9);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (7)) { */ case 17:\n\t\t\t\t_r$10 = fmt.Sprintf(\"; R(%v) := R(%v)[RK(%v)]\", new sliceType$6([new $Int(arga), new $Int(argb), new $Int(argc)])); /* */ $s = 60; case 60: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$10);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (8)) { */ case 18:\n\t\t\t\t_r$11 = fmt.Sprintf(\"; R(%v) := R(%v)[RK(%v)] ; RK(%v) is constant string\", new sliceType$6([new $Int(arga), new $Int(argb), new $Int(argc), new $Int(argc)])); /* */ $s = 61; case 61: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$11);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (9)) { */ case 19:\n\t\t\t\t_r$12 = fmt.Sprintf(\"; Gbl[Kst(%v)] := R(%v)\", new sliceType$6([new $Int(argbx), new $Int(arga)])); /* */ $s = 62; case 62: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$12);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (10)) { */ case 20:\n\t\t\t\t_r$13 = fmt.Sprintf(\"; UpValue[%v] := R(%v)\", new sliceType$6([new $Int(argb), new $Int(arga)])); /* */ $s = 63; case 63: if($c) { $c = false; _r$13 = _r$13.$blk(); } if (_r$13 && _r$13.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$13);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (11)) { */ case 21:\n\t\t\t\t_r$14 = fmt.Sprintf(\"; R(%v)[RK(%v)] := RK(%v)\", new sliceType$6([new $Int(arga), new $Int(argb), new $Int(argc)])); /* */ $s = 64; case 64: if($c) { $c = false; _r$14 = _r$14.$blk(); } if (_r$14 && _r$14.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$14);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (12)) { */ case 22:\n\t\t\t\t_r$15 = fmt.Sprintf(\"; R(%v)[RK(%v)] := RK(%v) ; RK(%v) is constant string\", new sliceType$6([new $Int(arga), new $Int(argb), new $Int(argc), new $Int(argb)])); /* */ $s = 65; case 65: if($c) { $c = false; _r$15 = _r$15.$blk(); } if (_r$15 && _r$15.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$15);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (13)) { */ case 23:\n\t\t\t\t_r$16 = fmt.Sprintf(\"; R(%v) := {} (size = BC)\", new sliceType$6([new $Int(arga)])); /* */ $s = 66; case 66: if($c) { $c = false; _r$16 = _r$16.$blk(); } if (_r$16 && _r$16.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$16);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (14)) { */ case 24:\n\t\t\t\t_r$17 = fmt.Sprintf(\"; R(%v+1) := R(%v); R(%v) := R(%v)[RK(%v)]\", new sliceType$6([new $Int(arga), new $Int(argb), new $Int(arga), new $Int(argb), new $Int(argc)])); /* */ $s = 67; case 67: if($c) { $c = false; _r$17 = _r$17.$blk(); } if (_r$17 && _r$17.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$17);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (15)) { */ case 25:\n\t\t\t\t_r$18 = fmt.Sprintf(\"; R(%v) := RK(%v) + RK(%v)\", new sliceType$6([new $Int(arga), new $Int(argb), new $Int(argc)])); /* */ $s = 68; case 68: if($c) { $c = false; _r$18 = _r$18.$blk(); } if (_r$18 && _r$18.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$18);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (16)) { */ case 26:\n\t\t\t\t_r$19 = fmt.Sprintf(\"; R(%v) := RK(%v) - RK(%v)\", new sliceType$6([new $Int(arga), new $Int(argb), new $Int(argc)])); /* */ $s = 69; case 69: if($c) { $c = false; _r$19 = _r$19.$blk(); } if (_r$19 && _r$19.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$19);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (17)) { */ case 27:\n\t\t\t\t_r$20 = fmt.Sprintf(\"; R(%v) := RK(%v) * RK(%v)\", new sliceType$6([new $Int(arga), new $Int(argb), new $Int(argc)])); /* */ $s = 70; case 70: if($c) { $c = false; _r$20 = _r$20.$blk(); } if (_r$20 && _r$20.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$20);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (18)) { */ case 28:\n\t\t\t\t_r$21 = fmt.Sprintf(\"; R(%v) := RK(%v) / RK(%v)\", new sliceType$6([new $Int(arga), new $Int(argb), new $Int(argc)])); /* */ $s = 71; case 71: if($c) { $c = false; _r$21 = _r$21.$blk(); } if (_r$21 && _r$21.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$21);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (19)) { */ case 29:\n\t\t\t\t_r$22 = fmt.Sprintf(\"; R(%v) := RK(%v) %% RK(%v)\", new sliceType$6([new $Int(arga), new $Int(argb), new $Int(argc)])); /* */ $s = 72; case 72: if($c) { $c = false; _r$22 = _r$22.$blk(); } if (_r$22 && _r$22.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$22);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (20)) { */ case 30:\n\t\t\t\t_r$23 = fmt.Sprintf(\"; R(%v) := RK(%v) ^ RK(%v)\", new sliceType$6([new $Int(arga), new $Int(argb), new $Int(argc)])); /* */ $s = 73; case 73: if($c) { $c = false; _r$23 = _r$23.$blk(); } if (_r$23 && _r$23.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$23);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (21)) { */ case 31:\n\t\t\t\t_r$24 = fmt.Sprintf(\"; R(%v) := -R(%v)\", new sliceType$6([new $Int(arga), new $Int(argb)])); /* */ $s = 74; case 74: if($c) { $c = false; _r$24 = _r$24.$blk(); } if (_r$24 && _r$24.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$24);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (22)) { */ case 32:\n\t\t\t\t_r$25 = fmt.Sprintf(\"; R(%v) := not R(%v)\", new sliceType$6([new $Int(arga), new $Int(argb)])); /* */ $s = 75; case 75: if($c) { $c = false; _r$25 = _r$25.$blk(); } if (_r$25 && _r$25.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$25);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (23)) { */ case 33:\n\t\t\t\t_r$26 = fmt.Sprintf(\"; R(%v) := length of R(%v)\", new sliceType$6([new $Int(arga), new $Int(argb)])); /* */ $s = 76; case 76: if($c) { $c = false; _r$26 = _r$26.$blk(); } if (_r$26 && _r$26.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$26);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (24)) { */ case 34:\n\t\t\t\t_r$27 = fmt.Sprintf(\"; R(%v) := R(%v).. ... ..R(%v)\", new sliceType$6([new $Int(arga), new $Int(argb), new $Int(argc)])); /* */ $s = 77; case 77: if($c) { $c = false; _r$27 = _r$27.$blk(); } if (_r$27 && _r$27.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$27);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (25)) { */ case 35:\n\t\t\t\t_r$28 = fmt.Sprintf(\"; pc+=%v\", new sliceType$6([new $Int(argsbx)])); /* */ $s = 78; case 78: if($c) { $c = false; _r$28 = _r$28.$blk(); } if (_r$28 && _r$28.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$28);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (26)) { */ case 36:\n\t\t\t\t_r$29 = fmt.Sprintf(\"; if ((RK(%v) == RK(%v)) ~= %v) then pc++\", new sliceType$6([new $Int(argb), new $Int(argc), new $Int(arga)])); /* */ $s = 79; case 79: if($c) { $c = false; _r$29 = _r$29.$blk(); } if (_r$29 && _r$29.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$29);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (27)) { */ case 37:\n\t\t\t\t_r$30 = fmt.Sprintf(\"; if ((RK(%v) <  RK(%v)) ~= %v) then pc++\", new sliceType$6([new $Int(argb), new $Int(argc), new $Int(arga)])); /* */ $s = 80; case 80: if($c) { $c = false; _r$30 = _r$30.$blk(); } if (_r$30 && _r$30.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$30);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (28)) { */ case 38:\n\t\t\t\t_r$31 = fmt.Sprintf(\"; if ((RK(%v) <= RK(%v)) ~= %v) then pc++\", new sliceType$6([new $Int(argb), new $Int(argc), new $Int(arga)])); /* */ $s = 81; case 81: if($c) { $c = false; _r$31 = _r$31.$blk(); } if (_r$31 && _r$31.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$31);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (29)) { */ case 39:\n\t\t\t\t_r$32 = fmt.Sprintf(\"; if not (R(%v) <=> %v) then pc++\", new sliceType$6([new $Int(arga), new $Int(argc)])); /* */ $s = 82; case 82: if($c) { $c = false; _r$32 = _r$32.$blk(); } if (_r$32 && _r$32.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$32);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (30)) { */ case 40:\n\t\t\t\t_r$33 = fmt.Sprintf(\"; if (R(%v) <=> %v) then R(%v) := R(%v) else pc++\", new sliceType$6([new $Int(argb), new $Int(argc), new $Int(arga), new $Int(argb)])); /* */ $s = 83; case 83: if($c) { $c = false; _r$33 = _r$33.$blk(); } if (_r$33 && _r$33.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$33);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (31)) { */ case 41:\n\t\t\t\t_r$34 = fmt.Sprintf(\"; R(%v) ... R(%v+%v-2) := R(%v)(R(%v+1) ... R(%v+%v-1))\", new sliceType$6([new $Int(arga), new $Int(arga), new $Int(argc), new $Int(arga), new $Int(arga), new $Int(arga), new $Int(argb)])); /* */ $s = 84; case 84: if($c) { $c = false; _r$34 = _r$34.$blk(); } if (_r$34 && _r$34.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$34);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (32)) { */ case 42:\n\t\t\t\t_r$35 = fmt.Sprintf(\"; return R(%v)(R(%v+1) ... R(%v+%v-1))\", new sliceType$6([new $Int(arga), new $Int(arga), new $Int(arga), new $Int(argb)])); /* */ $s = 85; case 85: if($c) { $c = false; _r$35 = _r$35.$blk(); } if (_r$35 && _r$35.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$35);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (33)) { */ case 43:\n\t\t\t\t_r$36 = fmt.Sprintf(\"; return R(%v) ... R(%v+%v-2)\", new sliceType$6([new $Int(arga), new $Int(arga), new $Int(argb)])); /* */ $s = 86; case 86: if($c) { $c = false; _r$36 = _r$36.$blk(); } if (_r$36 && _r$36.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$36);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (34)) { */ case 44:\n\t\t\t\t_r$37 = fmt.Sprintf(\"; R(%v)+=R(%v+2); if R(%v) <?= R(%v+1) then { pc+=%v; R(%v+3)=R(%v) }\", new sliceType$6([new $Int(arga), new $Int(arga), new $Int(arga), new $Int(arga), new $Int(argsbx), new $Int(arga), new $Int(arga)])); /* */ $s = 87; case 87: if($c) { $c = false; _r$37 = _r$37.$blk(); } if (_r$37 && _r$37.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$37);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (35)) { */ case 45:\n\t\t\t\t_r$38 = fmt.Sprintf(\"; R(%v)-=R(%v+2); pc+=%v\", new sliceType$6([new $Int(arga), new $Int(arga), new $Int(argsbx)])); /* */ $s = 88; case 88: if($c) { $c = false; _r$38 = _r$38.$blk(); } if (_r$38 && _r$38.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$38);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (36)) { */ case 46:\n\t\t\t\t_r$39 = fmt.Sprintf(\"; R(%v+3) ... R(%v+3+%v) := R(%v)(R(%v+1) R(%v+2)); if R(%v+3) ~= nil then { pc++; R(%v+2)=R(%v+3); }\", new sliceType$6([new $Int(arga), new $Int(arga), new $Int(argc), new $Int(arga), new $Int(arga), new $Int(arga), new $Int(arga), new $Int(arga), new $Int(arga)])); /* */ $s = 89; case 89: if($c) { $c = false; _r$39 = _r$39.$blk(); } if (_r$39 && _r$39.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$39);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (37)) { */ case 47:\n\t\t\t\t_r$40 = fmt.Sprintf(\"; R(%v)[(%v-1)*FPF+i] := R(%v+i) 1 <= i <= %v\", new sliceType$6([new $Int(arga), new $Int(argc), new $Int(arga), new $Int(argb)])); /* */ $s = 90; case 90: if($c) { $c = false; _r$40 = _r$40.$blk(); } if (_r$40 && _r$40.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$40);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (38)) { */ case 48:\n\t\t\t\t_r$41 = fmt.Sprintf(\"; close all variables in the stack up to (>=) R(%v)\", new sliceType$6([new $Int(arga)])); /* */ $s = 91; case 91: if($c) { $c = false; _r$41 = _r$41.$blk(); } if (_r$41 && _r$41.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$41);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (39)) { */ case 49:\n\t\t\t\t_r$42 = fmt.Sprintf(\"; R(%v) := closure(KPROTO[%v] R(%v) ... R(%v+n))\", new sliceType$6([new $Int(arga), new $Int(argbx), new $Int(arga), new $Int(arga)])); /* */ $s = 92; case 92: if($c) { $c = false; _r$42 = _r$42.$blk(); } if (_r$42 && _r$42.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$42);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (40)) { */ case 50:\n\t\t\t\t_r$43 = fmt.Sprintf(\";  R(%v) R(%v+1) ... R(%v+%v-1) = vararg\", new sliceType$6([new $Int(arga), new $Int(arga), new $Int(arga), new $Int(argb)])); /* */ $s = 93; case 93: if($c) { $c = false; _r$43 = _r$43.$blk(); } if (_r$43 && _r$43.$blk !== undefined) { break s; }\n\t\t\t\tbuf = buf + (_r$43);\n\t\t\t\t$s = 52; continue;\n\t\t\t/* } else if (_2 === (41)) { */ case 51:\n\t\t\t/* } */ case 52:\n\t\tcase 9:\n\t\t$s = -1; return buf;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: opToString }; } $f._1 = _1; $f._2 = _2; $f._r = _r; $f._r$1 = _r$1; $f._r$10 = _r$10; $f._r$11 = _r$11; $f._r$12 = _r$12; $f._r$13 = _r$13; $f._r$14 = _r$14; $f._r$15 = _r$15; $f._r$16 = _r$16; $f._r$17 = _r$17; $f._r$18 = _r$18; $f._r$19 = _r$19; $f._r$2 = _r$2; $f._r$20 = _r$20; $f._r$21 = _r$21; $f._r$22 = _r$22; $f._r$23 = _r$23; $f._r$24 = _r$24; $f._r$25 = _r$25; $f._r$26 = _r$26; $f._r$27 = _r$27; $f._r$28 = _r$28; $f._r$29 = _r$29; $f._r$3 = _r$3; $f._r$30 = _r$30; $f._r$31 = _r$31; $f._r$32 = _r$32; $f._r$33 = _r$33; $f._r$34 = _r$34; $f._r$35 = _r$35; $f._r$36 = _r$36; $f._r$37 = _r$37; $f._r$38 = _r$38; $f._r$39 = _r$39; $f._r$4 = _r$4; $f._r$40 = _r$40; $f._r$41 = _r$41; $f._r$42 = _r$42; $f._r$43 = _r$43; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._r$8 = _r$8; $f._r$9 = _r$9; $f.arga = arga; $f.argb = argb; $f.argbx = argbx; $f.argc = argc; $f.argsbx = argsbx; $f.buf = buf; $f.inst = inst; $f.op = op; $f.prop = prop; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tinit$2 = function() {\n\t\ttime.Time.copy(startedAt, time.Now());\n\t};\n\tgetIntField = function(L, tb, key, v) {\n\t\tvar L, _tuple, key, ln, ok, ret, tb, v;\n\t\tret = tb.RawGetString(key);\n\t\t_tuple = $assertType(ret, LNumber, true);\n\t\tln = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\treturn ((ln >> 0));\n\t\t}\n\t\treturn v;\n\t};\n\tgetBoolField = function(L, tb, key, v) {\n\t\tvar L, _tuple, key, lb, ok, ret, tb, v;\n\t\tret = tb.RawGetString(key);\n\t\t_tuple = $assertType(ret, LBool, true);\n\t\tlb = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\treturn (lb);\n\t\t}\n\t\treturn v;\n\t};\n\tOpenOs = function(L) {\n\t\tvar L, _r, osmod, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; osmod = $f.osmod; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.RegisterModule(\"os\", osFuncs); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tosmod = _r;\n\t\tL.Push(osmod);\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: OpenOs }; } $f.L = L; $f._r = _r; $f.osmod = osmod; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.OpenOs = OpenOs;\n\tosClock = function(L) {\n\t\tvar L;\n\t\tL.Push(new LNumber((($flatten64($clone(time.Now(), time.Time).Sub($clone(startedAt, time.Time)))) / 1e+09)));\n\t\treturn 1;\n\t};\n\tosDiffTime = function(L) {\n\t\tvar L, _r, _r$1, x, x$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; x = $f.x; x$1 = $f.x$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckInt64(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = L.CheckInt64(2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$r = L.Push(new LNumber(($flatten64((x = _r, x$1 = _r$1, new $Int64(x.$high - x$1.$high, x.$low - x$1.$low)))))); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: osDiffTime }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.x = x; $f.x$1 = x$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tosExecute = function(L) {\n\t\tvar L, _r, _r$1, _r$2, _r$3, _tuple, _tuple$1, _tuple$2, args, cmd, err, procAttr, process, ps, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; args = $f.args; cmd = $f.cmd; err = $f.err; procAttr = $f.procAttr; process = $f.process; ps = $f.ps; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tprocAttr = [procAttr];\n\t\tprocAttr[0] = new os.ProcAttr.ptr(\"\", sliceType$1.nil, sliceType$21.nil, ptrType$63.nil);\n\t\tprocAttr[0].Files = new sliceType$21([os.Stdin, os.Stdout, os.Stderr]);\n\t\t_r = L.CheckString(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = popenArgs(_r); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_tuple = _r$1;\n\t\tcmd = _tuple[0];\n\t\targs = _tuple[1];\n\t\targs = $appendSlice(new sliceType$1([cmd]), args);\n\t\t_r$2 = os.StartProcess(cmd, args, procAttr[0]); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t_tuple$1 = _r$2;\n\t\tprocess = _tuple$1[0];\n\t\terr = _tuple$1[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\tL.Push(new LNumber(1));\n\t\t\t$s = -1; return 1;\n\t\t}\n\t\t_r$3 = process.Wait(); /* */ $s = 4; case 4: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t_tuple$2 = _r$3;\n\t\tps = _tuple$2[0];\n\t\terr = _tuple$2[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil)) || !ps.Success()) {\n\t\t\tL.Push(new LNumber(1));\n\t\t\t$s = -1; return 1;\n\t\t}\n\t\tL.Push(new LNumber(0));\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: osExecute }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f.args = args; $f.cmd = cmd; $f.err = err; $f.procAttr = procAttr; $f.process = process; $f.ps = ps; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tosExit = function(L) {\n\t\tvar L, _r, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = L.Close(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_r = L.OptInt(1, 0); /* */ $s = 2; case 2: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$r = os.Exit(_r); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: osExit }; } $f.L = L; $f._r = _r; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tosDate = function(L) {\n\t\tvar L, _arg, _arg$1, _arg$2, _arg$3, _arg$4, _arg$5, _arg$6, _r, _r$1, _r$10, _r$11, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, cfmt, ret, t, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _arg$3 = $f._arg$3; _arg$4 = $f._arg$4; _arg$5 = $f._arg$5; _arg$6 = $f._arg$6; _r = $f._r; _r$1 = $f._r$1; _r$10 = $f._r$10; _r$11 = $f._r$11; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _r$8 = $f._r$8; _r$9 = $f._r$9; cfmt = $f.cfmt; ret = $f.ret; t = $f.t; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tt = $clone(time.Now(), time.Time);\n\t\tcfmt = \"%c\";\n\t\t/* */ if (L.GetTop() >= 1) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (L.GetTop() >= 1) { */ case 1:\n\t\t\t_r = L.CheckString(1); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tcfmt = _r;\n\t\t\t/* */ if (strings.HasPrefix(cfmt, \"!\")) { $s = 4; continue; }\n\t\t\t/* */ $s = 5; continue;\n\t\t\t/* if (strings.HasPrefix(cfmt, \"!\")) { */ case 4:\n\t\t\t\ttime.Time.copy(t, $clone(time.Now(), time.Time).UTC());\n\t\t\t\t_r$1 = strings.TrimLeft(cfmt, \"!\"); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\tcfmt = _r$1;\n\t\t\t/* } */ case 5:\n\t\t\t/* */ if (L.GetTop() >= 2) { $s = 7; continue; }\n\t\t\t/* */ $s = 8; continue;\n\t\t\t/* if (L.GetTop() >= 2) { */ case 7:\n\t\t\t\t_r$2 = L.CheckInt64(2); /* */ $s = 9; case 9: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t_r$3 = time.Unix(_r$2, new $Int64(0, 0)); /* */ $s = 10; case 10: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\ttime.Time.copy(t, _r$3);\n\t\t\t/* } */ case 8:\n\t\t\t/* */ if (strings.HasPrefix(cfmt, \"*t\")) { $s = 11; continue; }\n\t\t\t/* */ $s = 12; continue;\n\t\t\t/* if (strings.HasPrefix(cfmt, \"*t\")) { */ case 11:\n\t\t\t\tret = L.NewTable();\n\t\t\t\t_r$4 = $clone(t, time.Time).Year(); /* */ $s = 13; case 13: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\t_arg = new LNumber((_r$4));\n\t\t\t\t$r = ret.RawSetString(\"year\", _arg); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t_r$5 = $clone(t, time.Time).Month(); /* */ $s = 15; case 15: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t\t_arg$1 = new LNumber((_r$5));\n\t\t\t\t$r = ret.RawSetString(\"month\", _arg$1); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t_r$6 = $clone(t, time.Time).Day(); /* */ $s = 17; case 17: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t\t\t_arg$2 = new LNumber((_r$6));\n\t\t\t\t$r = ret.RawSetString(\"day\", _arg$2); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t_r$7 = $clone(t, time.Time).Hour(); /* */ $s = 19; case 19: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }\n\t\t\t\t_arg$3 = new LNumber((_r$7));\n\t\t\t\t$r = ret.RawSetString(\"hour\", _arg$3); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t_r$8 = $clone(t, time.Time).Minute(); /* */ $s = 21; case 21: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }\n\t\t\t\t_arg$4 = new LNumber((_r$8));\n\t\t\t\t$r = ret.RawSetString(\"min\", _arg$4); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t_r$9 = $clone(t, time.Time).Second(); /* */ $s = 23; case 23: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }\n\t\t\t\t_arg$5 = new LNumber((_r$9));\n\t\t\t\t$r = ret.RawSetString(\"sec\", _arg$5); /* */ $s = 24; case 24: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t_r$10 = $clone(t, time.Time).Weekday(); /* */ $s = 25; case 25: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }\n\t\t\t\t_arg$6 = new LNumber(((_r$10 + 1 >> 0)));\n\t\t\t\t$r = ret.RawSetString(\"wday\", _arg$6); /* */ $s = 26; case 26: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\tret.RawSetString(\"yday\", new LNumber(0));\n\t\t\t\tret.RawSetString(\"isdst\", new LBool($pkg.LFalse));\n\t\t\t\tL.Push(ret);\n\t\t\t\t$s = -1; return 1;\n\t\t\t/* } */ case 12:\n\t\t/* } */ case 2:\n\t\t_r$11 = strftime($clone(t, time.Time), cfmt); /* */ $s = 27; case 27: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }\n\t\t$r = L.Push(new LString((_r$11))); /* */ $s = 28; case 28: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: osDate }; } $f.L = L; $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._arg$3 = _arg$3; $f._arg$4 = _arg$4; $f._arg$5 = _arg$5; $f._arg$6 = _arg$6; $f._r = _r; $f._r$1 = _r$1; $f._r$10 = _r$10; $f._r$11 = _r$11; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._r$8 = _r$8; $f._r$9 = _r$9; $f.cfmt = cfmt; $f.ret = ret; $f.t = t; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tosGetEnv = function(L) {\n\t\tvar L, _r, _r$1, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckString(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = os.Getenv(_r); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tv = _r$1;\n\t\tif (v.length === 0) {\n\t\t\tL.Push($pkg.LNil);\n\t\t} else {\n\t\t\tL.Push(new LString((v)));\n\t\t}\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: osGetEnv }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tosRemove = function(L) {\n\t\tvar L, _r, _r$1, _r$2, err, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; err = $f.err; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckString(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = os.Remove(_r); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\terr = _r$1;\n\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 3; continue; }\n\t\t/* */ $s = 4; continue;\n\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 3:\n\t\t\tL.Push($pkg.LNil);\n\t\t\t_r$2 = err.Error(); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t$r = L.Push(new LString((_r$2))); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return 2;\n\t\t/* } */ case 4:\n\t\tL.Push(new LBool($pkg.LTrue));\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: osRemove }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.err = err; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tosRename = function(L) {\n\t\tvar L, _arg, _arg$1, _r, _r$1, _r$2, _r$3, err, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; err = $f.err; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckString(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_arg = _r;\n\t\t_r$1 = L.CheckString(2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_arg$1 = _r$1;\n\t\t_r$2 = os.Rename(_arg, _arg$1); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\terr = _r$2;\n\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 4; continue; }\n\t\t/* */ $s = 5; continue;\n\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 4:\n\t\t\tL.Push($pkg.LNil);\n\t\t\t_r$3 = err.Error(); /* */ $s = 6; case 6: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t$r = L.Push(new LString((_r$3))); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return 2;\n\t\t/* } */ case 5:\n\t\tL.Push(new LBool($pkg.LTrue));\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: osRename }; } $f.L = L; $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f.err = err; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tosSetLocale = function(L) {\n\t\tvar L;\n\t\tL.Push(new LBool($pkg.LFalse));\n\t\treturn 1;\n\t};\n\tosSetEnv = function(L) {\n\t\tvar L, _arg, _arg$1, _r, _r$1, _r$2, _r$3, err, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; err = $f.err; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckString(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_arg = _r;\n\t\t_r$1 = L.CheckString(2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_arg$1 = _r$1;\n\t\t_r$2 = os.Setenv(_arg, _arg$1); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\terr = _r$2;\n\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 4; continue; }\n\t\t/* */ $s = 5; continue;\n\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 4:\n\t\t\tL.Push($pkg.LNil);\n\t\t\t_r$3 = err.Error(); /* */ $s = 6; case 6: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t$r = L.Push(new LString((_r$3))); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return 2;\n\t\t/* } */ case 5:\n\t\tL.Push(new LBool($pkg.LTrue));\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: osSetEnv }; } $f.L = L; $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f.err = err; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tosTime = function(L) {\n\t\tvar L, _r, _r$1, day, hour, isdst, min, month, sec, t, tbl, year, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; day = $f.day; hour = $f.hour; isdst = $f.isdst; min = $f.min; month = $f.month; sec = $f.sec; t = $f.t; tbl = $f.tbl; year = $f.year; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t/* */ if (L.GetTop() === 0) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (L.GetTop() === 0) { */ case 1:\n\t\t\tL.Push(new LNumber(($flatten64($clone(time.Now(), time.Time).Unix()))));\n\t\t\t$s = 3; continue;\n\t\t/* } else { */ case 2:\n\t\t\t_r = L.CheckTable(1); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\ttbl = _r;\n\t\t\tsec = getIntField(L, tbl, \"sec\", 0);\n\t\t\tmin = getIntField(L, tbl, \"min\", 0);\n\t\t\thour = getIntField(L, tbl, \"hour\", 12);\n\t\t\tday = getIntField(L, tbl, \"day\", -1);\n\t\t\tmonth = getIntField(L, tbl, \"month\", -1);\n\t\t\tyear = getIntField(L, tbl, \"year\", -1);\n\t\t\tisdst = getBoolField(L, tbl, \"isdst\", false);\n\t\t\t_r$1 = time.Date(year, ((month >> 0)), day, hour, min, sec, 0, time.Local); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\tt = $clone(_r$1, time.Time);\n\t\t\tif (false) {\n\t\t\t\tconsole.log(isdst);\n\t\t\t}\n\t\t\tL.Push(new LNumber(($flatten64($clone(t, time.Time).Unix()))));\n\t\t/* } */ case 3:\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: osTime }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.day = day; $f.hour = hour; $f.isdst = isdst; $f.min = min; $f.month = month; $f.sec = sec; $f.t = t; $f.tbl = tbl; $f.year = year; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tosTmpname = function(L) {\n\t\tvar L, _r, _r$1, _tuple, err, file, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; err = $f.err; file = $f.file; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = ioutil.TempFile(\"\", \"\"); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tfile = _tuple[0];\n\t\terr = _tuple[1];\n\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 2:\n\t\t\t$r = L.RaiseError(\"unable to generate a unique filename\", new sliceType$6([])); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 3:\n\t\t_r$1 = file.Close(); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_r$1;\n\t\tos.Remove(file.Name());\n\t\tL.Push(new LString((file.Name())));\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: osTmpname }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f.err = err; $f.file = file; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tnewAPIError = function(code, object) {\n\t\tvar code, object;\n\t\treturn new APIError.ptr(code, object, \"\", $ifaceNil);\n\t};\n\tnewAPIErrorS = function(code, message) {\n\t\tvar code, message;\n\t\treturn newAPIError(code, new LString((message)));\n\t};\n\tnewAPIErrorE = function(code, err) {\n\t\tvar _r, code, err, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; code = $f.code; err = $f.err; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = err.Error(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return new APIError.ptr(code, new LString((_r)), \"\", err);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: newAPIErrorE }; } $f._r = _r; $f.code = code; $f.err = err; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tAPIError.ptr.prototype.Error = function() {\n\t\tvar _arg, _arg$1, _r, _r$1, _r$2, e, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; e = $f.e; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\te = this;\n\t\t/* */ if (e.StackTrace.length > 0) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (e.StackTrace.length > 0) { */ case 1:\n\t\t\t_r = e.Object.String(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_arg = new $String(_r);\n\t\t\t_arg$1 = new $String(e.StackTrace);\n\t\t\t_r$1 = fmt.Sprintf(\"%s\\n%s\", new sliceType$6([_arg, _arg$1])); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return _r$1;\n\t\t/* } */ case 2:\n\t\t_r$2 = e.Object.String(); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r$2;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: APIError.ptr.prototype.Error }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.e = e; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tAPIError.prototype.Error = function() { return this.$val.Error(); };\n\tnewCallFrameStack = function(size) {\n\t\tvar size;\n\t\treturn new callFrameStack.ptr($makeSlice(sliceType$22, size), 0);\n\t};\n\tcallFrameStack.ptr.prototype.IsEmpty = function() {\n\t\tvar cs;\n\t\tcs = this;\n\t\treturn cs.sp === 0;\n\t};\n\tcallFrameStack.prototype.IsEmpty = function() { return this.$val.IsEmpty(); };\n\tcallFrameStack.ptr.prototype.Clear = function() {\n\t\tvar cs;\n\t\tcs = this;\n\t\tcs.sp = 0;\n\t};\n\tcallFrameStack.prototype.Clear = function() { return this.$val.Clear(); };\n\tcallFrameStack.ptr.prototype.Push = function(v) {\n\t\tvar cs, v, x, x$1, x$2, x$3;\n\t\tcs = this;\n\t\tcallFrame.copy((x = cs.array, x$1 = cs.sp, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1])), v);\n\t\t(x$2 = cs.array, x$3 = cs.sp, ((x$3 < 0 || x$3 >= x$2.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$2.$array[x$2.$offset + x$3])).Idx = cs.sp;\n\t\tcs.sp = cs.sp + (1) >> 0;\n\t};\n\tcallFrameStack.prototype.Push = function(v) { return this.$val.Push(v); };\n\tcallFrameStack.ptr.prototype.Remove = function(sp) {\n\t\tvar cs, i, next, nsp, pre, psp, sp, x, x$1, x$2, x$3, x$4, x$5;\n\t\tcs = this;\n\t\tpsp = sp - 1 >> 0;\n\t\tnsp = sp + 1 >> 0;\n\t\tpre = ptrType$10.nil;\n\t\tnext = ptrType$10.nil;\n\t\tif (psp > 0) {\n\t\t\tpre = (x = cs.array, ((psp < 0 || psp >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + psp]));\n\t\t}\n\t\tif (nsp < cs.sp) {\n\t\t\tnext = (x$1 = cs.array, ((nsp < 0 || nsp >= x$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$1.$array[x$1.$offset + nsp]));\n\t\t}\n\t\tif (!(next === ptrType$10.nil)) {\n\t\t\tnext.Parent = pre;\n\t\t}\n\t\ti = sp;\n\t\twhile (true) {\n\t\t\tif (!((i + 1 >> 0) < cs.sp)) { break; }\n\t\t\tcallFrame.copy((x$4 = cs.array, ((i < 0 || i >= x$4.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$4.$array[x$4.$offset + i])), (x$2 = cs.array, x$3 = i + 1 >> 0, ((x$3 < 0 || x$3 >= x$2.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$2.$array[x$2.$offset + x$3])));\n\t\t\t(x$5 = cs.array, ((i < 0 || i >= x$5.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$5.$array[x$5.$offset + i])).Idx = i;\n\t\t\tcs.sp = i;\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\tcs.sp = cs.sp + (1) >> 0;\n\t};\n\tcallFrameStack.prototype.Remove = function(sp) { return this.$val.Remove(sp); };\n\tcallFrameStack.ptr.prototype.Sp = function() {\n\t\tvar cs;\n\t\tcs = this;\n\t\treturn cs.sp;\n\t};\n\tcallFrameStack.prototype.Sp = function() { return this.$val.Sp(); };\n\tcallFrameStack.ptr.prototype.SetSp = function(sp) {\n\t\tvar cs, sp;\n\t\tcs = this;\n\t\tcs.sp = sp;\n\t};\n\tcallFrameStack.prototype.SetSp = function(sp) { return this.$val.SetSp(sp); };\n\tcallFrameStack.ptr.prototype.Last = function() {\n\t\tvar cs, x, x$1;\n\t\tcs = this;\n\t\tif (cs.sp === 0) {\n\t\t\treturn ptrType$10.nil;\n\t\t}\n\t\treturn (x = cs.array, x$1 = cs.sp - 1 >> 0, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1]));\n\t};\n\tcallFrameStack.prototype.Last = function() { return this.$val.Last(); };\n\tcallFrameStack.ptr.prototype.At = function(sp) {\n\t\tvar cs, sp, x;\n\t\tcs = this;\n\t\treturn (x = cs.array, ((sp < 0 || sp >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + sp]));\n\t};\n\tcallFrameStack.prototype.At = function(sp) { return this.$val.At(sp); };\n\tcallFrameStack.ptr.prototype.Pop = function() {\n\t\tvar cs, x, x$1;\n\t\tcs = this;\n\t\tcs.sp = cs.sp - (1) >> 0;\n\t\treturn (x = cs.array, x$1 = cs.sp, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1]));\n\t};\n\tcallFrameStack.prototype.Pop = function() { return this.$val.Pop(); };\n\tnewRegistry = function(size, alloc) {\n\t\tvar alloc, size;\n\t\treturn new registry.ptr($makeSlice(sliceType$7, size), 0, alloc);\n\t};\n\tregistry.ptr.prototype.SetTop = function(top) {\n\t\tvar i, i$1, oldtop, rg, top, x, x$1;\n\t\trg = this;\n\t\toldtop = rg.top;\n\t\trg.top = top;\n\t\ti = oldtop;\n\t\twhile (true) {\n\t\t\tif (!(i < rg.top)) { break; }\n\t\t\t(x = rg.array, ((i < 0 || i >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + i] = $pkg.LNil));\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\ti$1 = rg.top;\n\t\twhile (true) {\n\t\t\tif (!(i$1 < oldtop)) { break; }\n\t\t\t(x$1 = rg.array, ((i$1 < 0 || i$1 >= x$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$1.$array[x$1.$offset + i$1] = $pkg.LNil));\n\t\t\ti$1 = i$1 + (1) >> 0;\n\t\t}\n\t};\n\tregistry.prototype.SetTop = function(top) { return this.$val.SetTop(top); };\n\tregistry.ptr.prototype.Top = function() {\n\t\tvar rg;\n\t\trg = this;\n\t\treturn rg.top;\n\t};\n\tregistry.prototype.Top = function() { return this.$val.Top(); };\n\tregistry.ptr.prototype.Push = function(v) {\n\t\tvar rg, v, x, x$1;\n\t\trg = this;\n\t\t(x = rg.array, x$1 = rg.top, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1] = v));\n\t\trg.top = rg.top + (1) >> 0;\n\t};\n\tregistry.prototype.Push = function(v) { return this.$val.Push(v); };\n\tregistry.ptr.prototype.Pop = function() {\n\t\tvar rg, v, x, x$1, x$2, x$3;\n\t\trg = this;\n\t\tv = (x = rg.array, x$1 = rg.top - 1 >> 0, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1]));\n\t\t(x$2 = rg.array, x$3 = rg.top - 1 >> 0, ((x$3 < 0 || x$3 >= x$2.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$2.$array[x$2.$offset + x$3] = $pkg.LNil));\n\t\trg.top = rg.top - (1) >> 0;\n\t\treturn v;\n\t};\n\tregistry.prototype.Pop = function() { return this.$val.Pop(); };\n\tregistry.ptr.prototype.Get = function(reg) {\n\t\tvar reg, rg, x;\n\t\trg = this;\n\t\treturn (x = rg.array, ((reg < 0 || reg >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + reg]));\n\t};\n\tregistry.prototype.Get = function(reg) { return this.$val.Get(reg); };\n\tregistry.ptr.prototype.CopyRange = function(regv, start, limit, n) {\n\t\tvar i, limit, n, regv, rg, start, tidx, x, x$1, x$2, x$3, x$4;\n\t\trg = this;\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < n)) { break; }\n\t\t\ttidx = start + i >> 0;\n\t\t\tif (tidx >= rg.top || limit > -1 && tidx >= limit || tidx < 0) {\n\t\t\t\t(x = rg.array, x$1 = regv + i >> 0, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1] = $pkg.LNil));\n\t\t\t} else {\n\t\t\t\t(x$3 = rg.array, x$4 = regv + i >> 0, ((x$4 < 0 || x$4 >= x$3.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$3.$array[x$3.$offset + x$4] = (x$2 = rg.array, ((tidx < 0 || tidx >= x$2.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$2.$array[x$2.$offset + tidx]))));\n\t\t\t}\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\trg.top = regv + n >> 0;\n\t};\n\tregistry.prototype.CopyRange = function(regv, start, limit, n) { return this.$val.CopyRange(regv, start, limit, n); };\n\tregistry.ptr.prototype.FillNil = function(regm, n) {\n\t\tvar i, n, regm, rg, x, x$1;\n\t\trg = this;\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < n)) { break; }\n\t\t\t(x = rg.array, x$1 = regm + i >> 0, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1] = $pkg.LNil));\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\trg.top = regm + n >> 0;\n\t};\n\tregistry.prototype.FillNil = function(regm, n) { return this.$val.FillNil(regm, n); };\n\tregistry.ptr.prototype.Insert = function(value, reg) {\n\t\tvar reg, rg, top, value;\n\t\trg = this;\n\t\ttop = rg.Top();\n\t\tif (reg >= top) {\n\t\t\trg.Set(reg, value);\n\t\t\treturn;\n\t\t}\n\t\ttop = top - (1) >> 0;\n\t\twhile (true) {\n\t\t\tif (!(top >= reg)) { break; }\n\t\t\trg.Set(top + 1 >> 0, rg.Get(top));\n\t\t\ttop = top - (1) >> 0;\n\t\t}\n\t\trg.Set(reg, value);\n\t};\n\tregistry.prototype.Insert = function(value, reg) { return this.$val.Insert(value, reg); };\n\tregistry.ptr.prototype.Set = function(reg, val) {\n\t\tvar reg, rg, val, x;\n\t\trg = this;\n\t\t(x = rg.array, ((reg < 0 || reg >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + reg] = val));\n\t\tif (reg >= rg.top) {\n\t\t\trg.top = reg + 1 >> 0;\n\t\t}\n\t};\n\tregistry.prototype.Set = function(reg, val) { return this.$val.Set(reg, val); };\n\tregistry.ptr.prototype.SetNumber = function(reg, val) {\n\t\tvar reg, rg, val, x;\n\t\trg = this;\n\t\t(x = rg.array, ((reg < 0 || reg >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + reg] = rg.alloc.LNumber2I(val)));\n\t\tif (reg >= rg.top) {\n\t\t\trg.top = reg + 1 >> 0;\n\t\t}\n\t};\n\tregistry.prototype.SetNumber = function(reg, val) { return this.$val.SetNumber(reg, val); };\n\tnewGlobal = function() {\n\t\treturn new Global.ptr(ptrType$9.nil, ptrType$9.nil, newLTable(0, 32), newLTable(0, 64), {}, $makeSlice(sliceType$21, 0, 10), 0);\n\t};\n\tpanicWithTraceback = function(L) {\n\t\tvar L, _r, err, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; err = $f.err; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\terr = newAPIError(2, L.Get(-1));\n\t\t_r = L.stackTrace(0); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\terr.StackTrace = _r;\n\t\t$panic(err);\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: panicWithTraceback }; } $f.L = L; $f._r = _r; $f.err = err; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tpanicWithoutTraceback = function(L) {\n\t\tvar L, err;\n\t\terr = newAPIError(2, L.Get(-1));\n\t\t$panic(err);\n\t};\n\tnewLState = function(options) {\n\t\tvar al, ls, options;\n\t\tal = newAllocator(32);\n\t\tls = new LState.ptr(newGlobal(), ptrType$9.nil, ptrType$1.nil, panicWithTraceback, false, $clone(options, Options), 0, newRegistry(options.RegistrySize, al), newCallFrameStack(options.CallStackSize), al, ptrType$10.nil, false, ptrType$56.nil, false, mainLoop, $ifaceNil);\n\t\tls.Env = ls.G.Global;\n\t\treturn ls;\n\t};\n\tLState.ptr.prototype.printReg = function() {\n\t\tvar _r, i, ls, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; i = $f.i; ls = $f.ls; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tconsole.log(\"-------------------------\");\n\t\tconsole.log(\"thread:\", ls);\n\t\tconsole.log(\"top:\", ls.reg.Top());\n\t\tif (!(ls.currentFrame === ptrType$10.nil)) {\n\t\t\tconsole.log(\"function base:\", ls.currentFrame.Base);\n\t\t\tconsole.log(\"return base:\", ls.currentFrame.ReturnBase);\n\t\t} else {\n\t\t\tconsole.log(\"(vm not started)\");\n\t\t}\n\t\tconsole.log(\"local base:\", ls.currentLocalBase());\n\t\ti = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(i < ls.reg.Top())) { break; } */ if(!(i < ls.reg.Top())) { $s = 2; continue; }\n\t\t\t_r = ls.reg.Get(i).String(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tconsole.log(i, _r);\n\t\t\ti = i + (1) >> 0;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\tconsole.log(\"-------------------------\");\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.printReg }; } $f._r = _r; $f.i = i; $f.ls = ls; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.printReg = function() { return this.$val.printReg(); };\n\tLState.ptr.prototype.closeAllUpvalues = function() {\n\t\tvar cf, ls;\n\t\tls = this;\n\t\tcf = ls.currentFrame;\n\t\twhile (true) {\n\t\t\tif (!(!(cf === ptrType$10.nil))) { break; }\n\t\t\tif (!cf.Fn.IsG) {\n\t\t\t\tls.closeUpvalues(cf.LocalBase);\n\t\t\t}\n\t\t\tcf = cf.Parent;\n\t\t}\n\t};\n\tLState.prototype.closeAllUpvalues = function() { return this.$val.closeAllUpvalues(); };\n\tLState.ptr.prototype.raiseError = function(level, format, args) {\n\t\tvar _arg, _arg$1, _r, _r$1, _r$2, args, format, level, ls, message, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; args = $f.args; format = $f.format; level = $f.level; ls = $f.ls; message = $f.message; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tif (!ls.hasErrorFunc) {\n\t\t\tls.closeAllUpvalues();\n\t\t}\n\t\tmessage = format;\n\t\t/* */ if (args.$length > 0) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (args.$length > 0) { */ case 1:\n\t\t\t_r = fmt.Sprintf(format, args); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tmessage = _r;\n\t\t/* } */ case 2:\n\t\t/* */ if (level > 0) { $s = 4; continue; }\n\t\t/* */ $s = 5; continue;\n\t\t/* if (level > 0) { */ case 4:\n\t\t\t_r$1 = ls.where(level - 1 >> 0, true); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_arg = new $String(_r$1);\n\t\t\t_arg$1 = new $String(message);\n\t\t\t_r$2 = fmt.Sprintf(\"%v %v\", new sliceType$6([_arg, _arg$1])); /* */ $s = 7; case 7: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\tmessage = _r$2;\n\t\t/* } */ case 5:\n\t\tls.reg.Push(new LString((message)));\n\t\t$r = ls.Panic(ls); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.raiseError }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.args = args; $f.format = format; $f.level = level; $f.ls = ls; $f.message = message; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.raiseError = function(level, format, args) { return this.$val.raiseError(level, format, args); };\n\tLState.ptr.prototype.findLocal = function(frame, no) {\n\t\tvar _tuple, fn, frame, ls, name, no, ok, top;\n\t\tls = this;\n\t\tfn = frame.Fn;\n\t\tif (!fn.IsG) {\n\t\t\t_tuple = fn.LocalName(no, frame.Pc - 1 >> 0);\n\t\t\tname = _tuple[0];\n\t\t\tok = _tuple[1];\n\t\t\tif (ok) {\n\t\t\t\treturn name;\n\t\t\t}\n\t\t}\n\t\ttop = 0;\n\t\tif (ls.currentFrame === frame) {\n\t\t\ttop = ls.reg.Top();\n\t\t} else if ((frame.Idx + 1 >> 0) < ls.stack.Sp()) {\n\t\t\ttop = ls.stack.At(frame.Idx + 1 >> 0).Base;\n\t\t} else {\n\t\t\treturn \"\";\n\t\t}\n\t\tif ((top - frame.LocalBase >> 0) >= no) {\n\t\t\treturn \"(*temporary)\";\n\t\t}\n\t\treturn \"\";\n\t};\n\tLState.prototype.findLocal = function(frame, no) { return this.$val.findLocal(frame, no); };\n\tLState.ptr.prototype.where = function(level, skipg) {\n\t\tvar _r, _r$1, _r$2, _tuple, cf, dbg, level, line, ls, ok, proto, skipg, sourcename, x, x$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _tuple = $f._tuple; cf = $f.cf; dbg = $f.dbg; level = $f.level; line = $f.line; ls = $f.ls; ok = $f.ok; proto = $f.proto; skipg = $f.skipg; sourcename = $f.sourcename; x = $f.x; x$1 = $f.x$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_tuple = ls.GetStack(level);\n\t\tdbg = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (!ok) {\n\t\t\t$s = -1; return \"\";\n\t\t}\n\t\tcf = dbg.frame;\n\t\tproto = cf.Fn.Proto;\n\t\tsourcename = \"[G]\";\n\t\t/* */ if (!(proto === ptrType$18.nil)) { $s = 1; continue; }\n\t\t/* */ if (skipg) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (!(proto === ptrType$18.nil)) { */ case 1:\n\t\t\tsourcename = proto.SourceName;\n\t\t\t$s = 3; continue;\n\t\t/* } else if (skipg) { */ case 2:\n\t\t\t_r = ls.where(level + 1 >> 0, skipg); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return _r;\n\t\t/* } */ case 3:\n\t\tline = \"\";\n\t\t/* */ if (!(proto === ptrType$18.nil)) { $s = 5; continue; }\n\t\t/* */ $s = 6; continue;\n\t\t/* if (!(proto === ptrType$18.nil)) { */ case 5:\n\t\t\t_r$1 = fmt.Sprintf(\"%v:\", new sliceType$6([new $Int((x = proto.DbgSourcePositions, x$1 = cf.Pc - 1 >> 0, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1])))])); /* */ $s = 7; case 7: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\tline = _r$1;\n\t\t/* } */ case 6:\n\t\t_r$2 = fmt.Sprintf(\"%v:%v\", new sliceType$6([new $String(sourcename), new $String(line)])); /* */ $s = 8; case 8: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r$2;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.where }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._tuple = _tuple; $f.cf = cf; $f.dbg = dbg; $f.level = level; $f.line = line; $f.ls = ls; $f.ok = ok; $f.proto = proto; $f.skipg = skipg; $f.sourcename = sourcename; $f.x = x; $f.x$1 = x$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.where = function(level, skipg) { return this.$val.where(level, skipg); };\n\tLState.ptr.prototype.stackTrace = function(level) {\n\t\tvar _arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _tuple, _tuple$1, buf, cf, dbg, header, i, level, ls, newbuf, ok, tc, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; buf = $f.buf; cf = $f.cf; dbg = $f.dbg; header = $f.header; i = $f.i; level = $f.level; ls = $f.ls; newbuf = $f.newbuf; ok = $f.ok; tc = $f.tc; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tbuf = new sliceType$1([]);\n\t\theader = \"stack traceback:\";\n\t\t/* */ if (!(ls.currentFrame === ptrType$10.nil)) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!(ls.currentFrame === ptrType$10.nil)) { */ case 1:\n\t\t\ti = 0;\n\t\t\t_tuple = ls.GetStack(i);\n\t\t\tdbg = _tuple[0];\n\t\t\tok = _tuple[1];\n\t\t\t/* while (true) { */ case 3:\n\t\t\t\t/* if (!(ok)) { break; } */ if(!(ok)) { $s = 4; continue; }\n\t\t\t\tcf = dbg.frame;\n\t\t\t\t_r = ls.Where(i); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t_arg = new $String(_r);\n\t\t\t\t_r$1 = ls.formattedFrameFuncName(cf); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t_arg$1 = new $String(_r$1);\n\t\t\t\t_r$2 = fmt.Sprintf(\"\\t%v in %v\", new sliceType$6([_arg, _arg$1])); /* */ $s = 7; case 7: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\tbuf = $append(buf, _r$2);\n\t\t\t\tif (!cf.Fn.IsG && cf.TailCall > 0) {\n\t\t\t\t\ttc = cf.TailCall;\n\t\t\t\t\twhile (true) {\n\t\t\t\t\t\tif (!(tc > 0)) { break; }\n\t\t\t\t\t\tbuf = $append(buf, \"\\t(tailcall): ?\");\n\t\t\t\t\t\ti = i + (1) >> 0;\n\t\t\t\t\t\ttc = tc - (1) >> 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t\t_tuple$1 = ls.GetStack(i);\n\t\t\t\tdbg = _tuple$1[0];\n\t\t\t\tok = _tuple$1[1];\n\t\t\t/* } */ $s = 3; continue; case 4:\n\t\t/* } */ case 2:\n\t\t_r$3 = fmt.Sprintf(\"\\t%v: %v\", new sliceType$6([new $String(\"[G]\"), new $String(\"?\")])); /* */ $s = 8; case 8: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\tbuf = $append(buf, _r$3);\n\t\tbuf = $subslice(buf, intMax(0, intMin(level, buf.$length)), buf.$length);\n\t\tif (buf.$length > 20) {\n\t\t\tnewbuf = $makeSlice(sliceType$1, 0, 20);\n\t\t\tnewbuf = $appendSlice(newbuf, $subslice(buf, 0, 7));\n\t\t\tnewbuf = $append(newbuf, \"\\t...\");\n\t\t\tnewbuf = $appendSlice(newbuf, $subslice(buf, (buf.$length - 7 >> 0), buf.$length));\n\t\t\tbuf = newbuf;\n\t\t}\n\t\t_r$4 = fmt.Sprintf(\"%s\\n%s\", new sliceType$6([new $String(header), new $String(strings.Join(buf, \"\\n\"))])); /* */ $s = 9; case 9: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r$4;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.stackTrace }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.buf = buf; $f.cf = cf; $f.dbg = dbg; $f.header = header; $f.i = i; $f.level = level; $f.ls = ls; $f.newbuf = newbuf; $f.ok = ok; $f.tc = tc; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.stackTrace = function(level) { return this.$val.stackTrace(level); };\n\tLState.ptr.prototype.formattedFrameFuncName = function(fr) {\n\t\tvar _r, _r$1, _r$2, _tuple, fr, ischunk, ls, name, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _tuple = $f._tuple; fr = $f.fr; ischunk = $f.ischunk; ls = $f.ls; name = $f.name; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_r = ls.frameFuncName(fr); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tname = _tuple[0];\n\t\tischunk = _tuple[1];\n\t\tif (ischunk) {\n\t\t\t$s = -1; return name;\n\t\t}\n\t\t/* */ if (!((name.charCodeAt(0) === 40)) && !((name.charCodeAt(0) === 60))) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (!((name.charCodeAt(0) === 40)) && !((name.charCodeAt(0) === 60))) { */ case 2:\n\t\t\t_r$1 = fmt.Sprintf(\"function '%s'\", new sliceType$6([new $String(name)])); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return _r$1;\n\t\t/* } */ case 3:\n\t\t_r$2 = fmt.Sprintf(\"function %s\", new sliceType$6([new $String(name)])); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r$2;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.formattedFrameFuncName }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._tuple = _tuple; $f.fr = fr; $f.ischunk = ischunk; $f.ls = ls; $f.name = name; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.formattedFrameFuncName = function(fr) { return this.$val.formattedFrameFuncName(fr); };\n\tLState.ptr.prototype.rawFrameFuncName = function(fr) {\n\t\tvar _r, _tuple, fr, ls, name, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; fr = $f.fr; ls = $f.ls; name = $f.name; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_r = ls.frameFuncName(fr); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tname = _tuple[0];\n\t\t$s = -1; return name;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.rawFrameFuncName }; } $f._r = _r; $f._tuple = _tuple; $f.fr = fr; $f.ls = ls; $f.name = name; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.rawFrameFuncName = function(fr) { return this.$val.rawFrameFuncName(fr); };\n\tLState.ptr.prototype.frameFuncName = function(fr) {\n\t\tvar _i, _r, _r$1, _ref, call, fr, frame, ls, name, pc, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _r = $f._r; _r$1 = $f._r$1; _ref = $f._ref; call = $f.call; fr = $f.fr; frame = $f.frame; ls = $f.ls; name = $f.name; pc = $f.pc; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tframe = fr.Parent;\n\t\tif (frame === ptrType$10.nil) {\n\t\t\tif (ls.Parent === ptrType$9.nil) {\n\t\t\t\t$s = -1; return [\"main chunk\", true];\n\t\t\t}\n\t\t\t$s = -1; return [\"corountine\", true];\n\t\t}\n\t\t/* */ if (!frame.Fn.IsG) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!frame.Fn.IsG) { */ case 1:\n\t\t\tpc = frame.Pc - 1 >> 0;\n\t\t\t_ref = frame.Fn.Proto.DbgCalls;\n\t\t\t_i = 0;\n\t\t\t/* while (true) { */ case 3:\n\t\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 4; continue; }\n\t\t\t\tcall = $clone(((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]), DbgCall);\n\t\t\t\t/* */ if (call.Pc === pc) { $s = 5; continue; }\n\t\t\t\t/* */ $s = 6; continue;\n\t\t\t\t/* if (call.Pc === pc) { */ case 5:\n\t\t\t\t\tname = call.Name;\n\t\t\t\t\t/* */ if ((name === \"?\" || fr.TailCall > 0) && !fr.Fn.IsG) { $s = 7; continue; }\n\t\t\t\t\t/* */ $s = 8; continue;\n\t\t\t\t\t/* if ((name === \"?\" || fr.TailCall > 0) && !fr.Fn.IsG) { */ case 7:\n\t\t\t\t\t\t_r = fmt.Sprintf(\"<%v:%v>\", new sliceType$6([new $String(fr.Fn.Proto.SourceName), new $Int(fr.Fn.Proto.LineDefined)])); /* */ $s = 9; case 9: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t\t\tname = _r;\n\t\t\t\t\t/* } */ case 8:\n\t\t\t\t\t$s = -1; return [name, false];\n\t\t\t\t/* } */ case 6:\n\t\t\t\t_i++;\n\t\t\t/* } */ $s = 3; continue; case 4:\n\t\t/* } */ case 2:\n\t\t/* */ if (!fr.Fn.IsG) { $s = 10; continue; }\n\t\t/* */ $s = 11; continue;\n\t\t/* if (!fr.Fn.IsG) { */ case 10:\n\t\t\t_r$1 = fmt.Sprintf(\"<%v:%v>\", new sliceType$6([new $String(fr.Fn.Proto.SourceName), new $Int(fr.Fn.Proto.LineDefined)])); /* */ $s = 12; case 12: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return [_r$1, false];\n\t\t/* } */ case 11:\n\t\t$s = -1; return [\"(anonymous)\", false];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.frameFuncName }; } $f._i = _i; $f._r = _r; $f._r$1 = _r$1; $f._ref = _ref; $f.call = call; $f.fr = fr; $f.frame = frame; $f.ls = ls; $f.name = name; $f.pc = pc; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.frameFuncName = function(fr) { return this.$val.frameFuncName(fr); };\n\tLState.ptr.prototype.isStarted = function() {\n\t\tvar ls;\n\t\tls = this;\n\t\treturn !(ls.currentFrame === ptrType$10.nil);\n\t};\n\tLState.prototype.isStarted = function() { return this.$val.isStarted(); };\n\tLState.ptr.prototype.kill = function() {\n\t\tvar ls;\n\t\tls = this;\n\t\tls.Dead = true;\n\t};\n\tLState.prototype.kill = function() { return this.$val.kill(); };\n\tLState.ptr.prototype.indexToReg = function(idx) {\n\t\tvar base, idx, ls, tidx;\n\t\tls = this;\n\t\tbase = ls.currentLocalBase();\n\t\tif (idx > 0) {\n\t\t\treturn (base + idx >> 0) - 1 >> 0;\n\t\t} else if (idx === 0) {\n\t\t\treturn -1;\n\t\t} else {\n\t\t\ttidx = ls.reg.Top() + idx >> 0;\n\t\t\tif (tidx < base) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t\treturn tidx;\n\t\t}\n\t};\n\tLState.prototype.indexToReg = function(idx) { return this.$val.indexToReg(idx); };\n\tLState.ptr.prototype.currentLocalBase = function() {\n\t\tvar base, ls;\n\t\tls = this;\n\t\tbase = 0;\n\t\tif (!(ls.currentFrame === ptrType$10.nil)) {\n\t\t\tbase = ls.currentFrame.LocalBase;\n\t\t}\n\t\treturn base;\n\t};\n\tLState.prototype.currentLocalBase = function() { return this.$val.currentLocalBase(); };\n\tLState.ptr.prototype.currentEnv = function() {\n\t\tvar ls;\n\t\tls = this;\n\t\treturn ls.Env;\n\t};\n\tLState.prototype.currentEnv = function() { return this.$val.currentEnv(); };\n\tLState.ptr.prototype.rkValue = function(idx) {\n\t\tvar idx, ls, x, x$1, x$2, x$3;\n\t\tls = this;\n\t\tif (!((((idx & 256)) === 0))) {\n\t\t\treturn (x = ls.currentFrame.Fn.Proto.Constants, x$1 = idx & -257, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1]));\n\t\t}\n\t\treturn (x$2 = ls.reg.array, x$3 = ls.currentFrame.LocalBase + idx >> 0, ((x$3 < 0 || x$3 >= x$2.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$2.$array[x$2.$offset + x$3]));\n\t};\n\tLState.prototype.rkValue = function(idx) { return this.$val.rkValue(idx); };\n\tLState.ptr.prototype.rkString = function(idx) {\n\t\tvar idx, ls, x, x$1, x$2, x$3;\n\t\tls = this;\n\t\tif (!((((idx & 256)) === 0))) {\n\t\t\treturn (x = ls.currentFrame.Fn.Proto.stringConstants, x$1 = idx & -257, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1]));\n\t\t}\n\t\treturn ($assertType((x$2 = ls.reg.array, x$3 = ls.currentFrame.LocalBase + idx >> 0, ((x$3 < 0 || x$3 >= x$2.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$2.$array[x$2.$offset + x$3])), LString));\n\t};\n\tLState.prototype.rkString = function(idx) { return this.$val.rkString(idx); };\n\tLState.ptr.prototype.closeUpvalues = function(idx) {\n\t\tvar idx, ls, prev, uv;\n\t\tls = this;\n\t\tif (!(ls.uvcache === ptrType$56.nil)) {\n\t\t\tprev = ptrType$56.nil;\n\t\t\tuv = ls.uvcache;\n\t\t\twhile (true) {\n\t\t\t\tif (!(!(uv === ptrType$56.nil))) { break; }\n\t\t\t\tif (uv.index >= idx) {\n\t\t\t\t\tif (!(prev === ptrType$56.nil)) {\n\t\t\t\t\t\tprev.next = ptrType$56.nil;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tls.uvcache = ptrType$56.nil;\n\t\t\t\t\t}\n\t\t\t\t\tuv.Close();\n\t\t\t\t}\n\t\t\t\tprev = uv;\n\t\t\t\tuv = uv.next;\n\t\t\t}\n\t\t}\n\t};\n\tLState.prototype.closeUpvalues = function(idx) { return this.$val.closeUpvalues(idx); };\n\tLState.ptr.prototype.findUpvalue = function(idx) {\n\t\tvar idx, ls, next, prev, uv, uv$1;\n\t\tls = this;\n\t\tprev = ptrType$56.nil;\n\t\tnext = ptrType$56.nil;\n\t\tif (!(ls.uvcache === ptrType$56.nil)) {\n\t\t\tuv = ls.uvcache;\n\t\t\twhile (true) {\n\t\t\t\tif (!(!(uv === ptrType$56.nil))) { break; }\n\t\t\t\tif (uv.index === idx) {\n\t\t\t\t\treturn uv;\n\t\t\t\t}\n\t\t\t\tif (uv.index > idx) {\n\t\t\t\t\tnext = uv;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tprev = uv;\n\t\t\t\tuv = uv.next;\n\t\t\t}\n\t\t}\n\t\tuv$1 = new Upvalue.ptr(ptrType$56.nil, ls.reg, idx, $ifaceNil, false);\n\t\tif (!(prev === ptrType$56.nil)) {\n\t\t\tprev.next = uv$1;\n\t\t} else {\n\t\t\tls.uvcache = uv$1;\n\t\t}\n\t\tif (!(next === ptrType$56.nil)) {\n\t\t\tuv$1.next = next;\n\t\t}\n\t\treturn uv$1;\n\t};\n\tLState.prototype.findUpvalue = function(idx) { return this.$val.findUpvalue(idx); };\n\tLState.ptr.prototype.metatable = function(lvalue, rawget) {\n\t\tvar _entry, _r, _ref, _tuple, _tuple$1, ls, lvalue, metatable, obj, obj$1, obj$2, ok, ok$1, oldmt, rawget, table, tb, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _entry = $f._entry; _r = $f._r; _ref = $f._ref; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; ls = $f.ls; lvalue = $f.lvalue; metatable = $f.metatable; obj = $f.obj; obj$1 = $f.obj$1; obj$2 = $f.obj$2; ok = $f.ok; ok$1 = $f.ok$1; oldmt = $f.oldmt; rawget = $f.rawget; table = $f.table; tb = $f.tb; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tmetatable = $pkg.LNil;\n\t\t_ref = lvalue;\n\t\t/* */ if ($assertType(_ref, ptrType$1, true)[1]) { $s = 1; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$8, true)[1]) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if ($assertType(_ref, ptrType$1, true)[1]) { */ case 1:\n\t\t\tobj = _ref.$val;\n\t\t\tmetatable = obj.Metatable;\n\t\t\t$s = 4; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$8, true)[1]) { */ case 2:\n\t\t\tobj$1 = _ref.$val;\n\t\t\tmetatable = obj$1.Metatable;\n\t\t\t$s = 4; continue;\n\t\t/* } else { */ case 3:\n\t\t\tobj$2 = _ref;\n\t\t\t_r = obj$2.Type(); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple = (_entry = ls.G.builtinMts[$Int.keyFor(((_r >> 0)))], _entry !== undefined ? [_entry.v, true] : [$ifaceNil, false]);\n\t\t\ttable = _tuple[0];\n\t\t\tok = _tuple[1];\n\t\t\tif (ok) {\n\t\t\t\tmetatable = table;\n\t\t\t}\n\t\t/* } */ case 4:\n\t\tif (!rawget && !($interfaceIsEqual(metatable, $pkg.LNil))) {\n\t\t\toldmt = metatable;\n\t\t\t_tuple$1 = $assertType(metatable, ptrType$1, true);\n\t\t\ttb = _tuple$1[0];\n\t\t\tok$1 = _tuple$1[1];\n\t\t\tif (ok$1) {\n\t\t\t\tmetatable = tb.RawGetString(\"__metatable\");\n\t\t\t\tif ($interfaceIsEqual(metatable, $pkg.LNil)) {\n\t\t\t\t\tmetatable = oldmt;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t$s = -1; return metatable;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.metatable }; } $f._entry = _entry; $f._r = _r; $f._ref = _ref; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.ls = ls; $f.lvalue = lvalue; $f.metatable = metatable; $f.obj = obj; $f.obj$1 = obj$1; $f.obj$2 = obj$2; $f.ok = ok; $f.ok$1 = ok$1; $f.oldmt = oldmt; $f.rawget = rawget; $f.table = table; $f.tb = tb; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.metatable = function(lvalue, rawget) { return this.$val.metatable(lvalue, rawget); };\n\tLState.ptr.prototype.metaOp1 = function(lvalue, event) {\n\t\tvar _r, _tuple, event, ls, lvalue, mt, ok, tb, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; event = $f.event; ls = $f.ls; lvalue = $f.lvalue; mt = $f.mt; ok = $f.ok; tb = $f.tb; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_r = ls.metatable(lvalue, true); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tmt = _r;\n\t\tif (!($interfaceIsEqual(mt, $pkg.LNil))) {\n\t\t\t_tuple = $assertType(mt, ptrType$1, true);\n\t\t\ttb = _tuple[0];\n\t\t\tok = _tuple[1];\n\t\t\tif (ok) {\n\t\t\t\t$s = -1; return tb.RawGetString(event);\n\t\t\t}\n\t\t}\n\t\t$s = -1; return $pkg.LNil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.metaOp1 }; } $f._r = _r; $f._tuple = _tuple; $f.event = event; $f.ls = ls; $f.lvalue = lvalue; $f.mt = mt; $f.ok = ok; $f.tb = tb; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.metaOp1 = function(lvalue, event) { return this.$val.metaOp1(lvalue, event); };\n\tLState.ptr.prototype.metaOp2 = function(value1, value2, event) {\n\t\tvar _r, _r$1, _tuple, _tuple$1, event, ls, mt, mt$1, ok, ok$1, ret, tb, tb$1, value1, value2, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; event = $f.event; ls = $f.ls; mt = $f.mt; mt$1 = $f.mt$1; ok = $f.ok; ok$1 = $f.ok$1; ret = $f.ret; tb = $f.tb; tb$1 = $f.tb$1; value1 = $f.value1; value2 = $f.value2; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_r = ls.metatable(value1, true); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tmt = _r;\n\t\tif (!($interfaceIsEqual(mt, $pkg.LNil))) {\n\t\t\t_tuple = $assertType(mt, ptrType$1, true);\n\t\t\ttb = _tuple[0];\n\t\t\tok = _tuple[1];\n\t\t\tif (ok) {\n\t\t\t\tret = tb.RawGetString(event);\n\t\t\t\tif (!($interfaceIsEqual(ret, $pkg.LNil))) {\n\t\t\t\t\t$s = -1; return ret;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t_r$1 = ls.metatable(value2, true); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tmt$1 = _r$1;\n\t\tif (!($interfaceIsEqual(mt$1, $pkg.LNil))) {\n\t\t\t_tuple$1 = $assertType(mt$1, ptrType$1, true);\n\t\t\ttb$1 = _tuple$1[0];\n\t\t\tok$1 = _tuple$1[1];\n\t\t\tif (ok$1) {\n\t\t\t\t$s = -1; return tb$1.RawGetString(event);\n\t\t\t}\n\t\t}\n\t\t$s = -1; return $pkg.LNil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.metaOp2 }; } $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.event = event; $f.ls = ls; $f.mt = mt; $f.mt$1 = mt$1; $f.ok = ok; $f.ok$1 = ok$1; $f.ret = ret; $f.tb = tb; $f.tb$1 = tb$1; $f.value1 = value1; $f.value2 = value2; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.metaOp2 = function(value1, value2, event) { return this.$val.metaOp2(value1, value2, event); };\n\tLState.ptr.prototype.metaCall = function(lvalue) {\n\t\tvar _r, _tuple, _tuple$1, fn, fn$1, ls, lvalue, ok, ok$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; fn = $f.fn; fn$1 = $f.fn$1; ls = $f.ls; lvalue = $f.lvalue; ok = $f.ok; ok$1 = $f.ok$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_tuple = $assertType(lvalue, ptrType$7, true);\n\t\tfn = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\t$s = -1; return [fn, false];\n\t\t}\n\t\t_r = ls.metaOp1(lvalue, \"__call\"); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple$1 = $assertType(_r, ptrType$7, true);\n\t\tfn$1 = _tuple$1[0];\n\t\tok$1 = _tuple$1[1];\n\t\tif (ok$1) {\n\t\t\t$s = -1; return [fn$1, true];\n\t\t}\n\t\t$s = -1; return [ptrType$7.nil, false];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.metaCall }; } $f._r = _r; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.fn = fn; $f.fn$1 = fn$1; $f.ls = ls; $f.lvalue = lvalue; $f.ok = ok; $f.ok$1 = ok$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.metaCall = function(lvalue) { return this.$val.metaCall(lvalue); };\n\tLState.ptr.prototype.initCallFrame = function(cf) {\n\t\tvar argtb, cf, i, i$1, i$2, i$3, ls, maxreg, nargs, np, nvarargs, proto, x, x$1, x$10, x$11, x$12, x$13, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9;\n\t\tls = this;\n\t\tif (cf.Fn.IsG) {\n\t\t\tls.reg.SetTop(cf.LocalBase + cf.NArgs >> 0);\n\t\t} else {\n\t\t\tproto = cf.Fn.Proto;\n\t\t\tnargs = cf.NArgs;\n\t\t\tnp = ((proto.NumParameters >> 0));\n\t\t\ti = nargs;\n\t\t\twhile (true) {\n\t\t\t\tif (!(i < np)) { break; }\n\t\t\t\t(x = ls.reg.array, x$1 = cf.LocalBase + i >> 0, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1] = $pkg.LNil));\n\t\t\t\tnargs = np;\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t}\n\t\t\tif ((((proto.IsVarArg & 2) >>> 0)) === 0) {\n\t\t\t\tif (nargs < ((proto.NumUsedRegisters >> 0))) {\n\t\t\t\t\tnargs = ((proto.NumUsedRegisters >> 0));\n\t\t\t\t}\n\t\t\t\ti$1 = np;\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (!(i$1 < nargs)) { break; }\n\t\t\t\t\t(x$2 = ls.reg.array, x$3 = cf.LocalBase + i$1 >> 0, ((x$3 < 0 || x$3 >= x$2.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$2.$array[x$2.$offset + x$3] = $pkg.LNil));\n\t\t\t\t\ti$1 = i$1 + (1) >> 0;\n\t\t\t\t}\n\t\t\t\tls.reg.top = cf.LocalBase + ((proto.NumUsedRegisters >> 0)) >> 0;\n\t\t\t} else {\n\t\t\t\tnvarargs = nargs - np >> 0;\n\t\t\t\tif (nvarargs < 0) {\n\t\t\t\t\tnvarargs = 0;\n\t\t\t\t}\n\t\t\t\tls.reg.SetTop((cf.LocalBase + nargs >> 0) + np >> 0);\n\t\t\t\ti$2 = 0;\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (!(i$2 < np)) { break; }\n\t\t\t\t\t(x$6 = ls.reg.array, x$7 = (cf.LocalBase + nargs >> 0) + i$2 >> 0, ((x$7 < 0 || x$7 >= x$6.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$6.$array[x$6.$offset + x$7] = (x$4 = ls.reg.array, x$5 = cf.LocalBase + i$2 >> 0, ((x$5 < 0 || x$5 >= x$4.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$4.$array[x$4.$offset + x$5]))));\n\t\t\t\t\t(x$8 = ls.reg.array, x$9 = cf.LocalBase + i$2 >> 0, ((x$9 < 0 || x$9 >= x$8.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$8.$array[x$8.$offset + x$9] = $pkg.LNil));\n\t\t\t\t\ti$2 = i$2 + (1) >> 0;\n\t\t\t\t}\n\t\t\t\tif ($pkg.CompatVarArg) {\n\t\t\t\t\tls.reg.SetTop(((cf.LocalBase + nargs >> 0) + np >> 0) + 1 >> 0);\n\t\t\t\t\tif (!(((((proto.IsVarArg & 4) >>> 0)) === 0))) {\n\t\t\t\t\t\targtb = newLTable(nvarargs, 0);\n\t\t\t\t\t\ti$3 = 0;\n\t\t\t\t\t\twhile (true) {\n\t\t\t\t\t\t\tif (!(i$3 < nvarargs)) { break; }\n\t\t\t\t\t\t\targtb.RawSetInt(i$3 + 1 >> 0, ls.reg.Get((cf.LocalBase + np >> 0) + i$3 >> 0));\n\t\t\t\t\t\t\ti$3 = i$3 + (1) >> 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\targtb.RawSetString(\"n\", new LNumber((nvarargs)));\n\t\t\t\t\t\t(x$10 = ls.reg.array, x$11 = (cf.LocalBase + nargs >> 0) + np >> 0, ((x$11 < 0 || x$11 >= x$10.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$10.$array[x$10.$offset + x$11] = argtb));\n\t\t\t\t\t} else {\n\t\t\t\t\t\t(x$12 = ls.reg.array, x$13 = (cf.LocalBase + nargs >> 0) + np >> 0, ((x$13 < 0 || x$13 >= x$12.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$12.$array[x$12.$offset + x$13] = $pkg.LNil));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcf.LocalBase = cf.LocalBase + (nargs) >> 0;\n\t\t\t\tmaxreg = cf.LocalBase + ((proto.NumUsedRegisters >> 0)) >> 0;\n\t\t\t\tls.reg.SetTop(maxreg);\n\t\t\t}\n\t\t}\n\t};\n\tLState.prototype.initCallFrame = function(cf) { return this.$val.initCallFrame(cf); };\n\tLState.ptr.prototype.pushCallFrame = function(cf, fn, meta) {\n\t\tvar argtb, cf, cf$1, cs, fn, i, i$1, i$2, i$3, ls, maxreg, meta, nargs, newcf, np, nvarargs, proto, v, x, x$1, x$10, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; argtb = $f.argtb; cf = $f.cf; cf$1 = $f.cf$1; cs = $f.cs; fn = $f.fn; i = $f.i; i$1 = $f.i$1; i$2 = $f.i$2; i$3 = $f.i$3; ls = $f.ls; maxreg = $f.maxreg; meta = $f.meta; nargs = $f.nargs; newcf = $f.newcf; np = $f.np; nvarargs = $f.nvarargs; proto = $f.proto; v = $f.v; x = $f.x; x$1 = $f.x$1; x$10 = $f.x$10; x$11 = $f.x$11; x$12 = $f.x$12; x$13 = $f.x$13; x$14 = $f.x$14; x$15 = $f.x$15; x$16 = $f.x$16; x$17 = $f.x$17; x$2 = $f.x$2; x$3 = $f.x$3; x$4 = $f.x$4; x$5 = $f.x$5; x$6 = $f.x$6; x$7 = $f.x$7; x$8 = $f.x$8; x$9 = $f.x$9; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tif (meta) {\n\t\t\tcf.NArgs = cf.NArgs + (1) >> 0;\n\t\t\tls.reg.Insert(fn, cf.LocalBase);\n\t\t}\n\t\t/* */ if (cf.Fn === ptrType$7.nil) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (cf.Fn === ptrType$7.nil) { */ case 1:\n\t\t\t$r = ls.RaiseError(\"attempt to call a non-function object\", new sliceType$6([])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 2:\n\t\t/* */ if (ls.stack.sp === ls.Options.CallStackSize) { $s = 4; continue; }\n\t\t/* */ $s = 5; continue;\n\t\t/* if (ls.stack.sp === ls.Options.CallStackSize) { */ case 4:\n\t\t\t$r = ls.RaiseError(\"stack overflow\", new sliceType$6([])); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 5:\n\t\tcs = ls.stack;\n\t\tv = $clone(cf, callFrame);\n\t\tcallFrame.copy((x = cs.array, x$1 = cs.sp, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1])), v);\n\t\t(x$2 = cs.array, x$3 = cs.sp, ((x$3 < 0 || x$3 >= x$2.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$2.$array[x$2.$offset + x$3])).Idx = cs.sp;\n\t\tcs.sp = cs.sp + (1) >> 0;\n\t\tnewcf = ls.stack.Last();\n\t\tcf$1 = newcf;\n\t\tif (cf$1.Fn.IsG) {\n\t\t\tls.reg.SetTop(cf$1.LocalBase + cf$1.NArgs >> 0);\n\t\t} else {\n\t\t\tproto = cf$1.Fn.Proto;\n\t\t\tnargs = cf$1.NArgs;\n\t\t\tnp = ((proto.NumParameters >> 0));\n\t\t\ti = nargs;\n\t\t\twhile (true) {\n\t\t\t\tif (!(i < np)) { break; }\n\t\t\t\t(x$4 = ls.reg.array, x$5 = cf$1.LocalBase + i >> 0, ((x$5 < 0 || x$5 >= x$4.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$4.$array[x$4.$offset + x$5] = $pkg.LNil));\n\t\t\t\tnargs = np;\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t}\n\t\t\tif ((((proto.IsVarArg & 2) >>> 0)) === 0) {\n\t\t\t\tif (nargs < ((proto.NumUsedRegisters >> 0))) {\n\t\t\t\t\tnargs = ((proto.NumUsedRegisters >> 0));\n\t\t\t\t}\n\t\t\t\ti$1 = np;\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (!(i$1 < nargs)) { break; }\n\t\t\t\t\t(x$6 = ls.reg.array, x$7 = cf$1.LocalBase + i$1 >> 0, ((x$7 < 0 || x$7 >= x$6.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$6.$array[x$6.$offset + x$7] = $pkg.LNil));\n\t\t\t\t\ti$1 = i$1 + (1) >> 0;\n\t\t\t\t}\n\t\t\t\tls.reg.top = cf$1.LocalBase + ((proto.NumUsedRegisters >> 0)) >> 0;\n\t\t\t} else {\n\t\t\t\tnvarargs = nargs - np >> 0;\n\t\t\t\tif (nvarargs < 0) {\n\t\t\t\t\tnvarargs = 0;\n\t\t\t\t}\n\t\t\t\tls.reg.SetTop((cf$1.LocalBase + nargs >> 0) + np >> 0);\n\t\t\t\ti$2 = 0;\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (!(i$2 < np)) { break; }\n\t\t\t\t\t(x$10 = ls.reg.array, x$11 = (cf$1.LocalBase + nargs >> 0) + i$2 >> 0, ((x$11 < 0 || x$11 >= x$10.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$10.$array[x$10.$offset + x$11] = (x$8 = ls.reg.array, x$9 = cf$1.LocalBase + i$2 >> 0, ((x$9 < 0 || x$9 >= x$8.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$8.$array[x$8.$offset + x$9]))));\n\t\t\t\t\t(x$12 = ls.reg.array, x$13 = cf$1.LocalBase + i$2 >> 0, ((x$13 < 0 || x$13 >= x$12.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$12.$array[x$12.$offset + x$13] = $pkg.LNil));\n\t\t\t\t\ti$2 = i$2 + (1) >> 0;\n\t\t\t\t}\n\t\t\t\tif ($pkg.CompatVarArg) {\n\t\t\t\t\tls.reg.SetTop(((cf$1.LocalBase + nargs >> 0) + np >> 0) + 1 >> 0);\n\t\t\t\t\tif (!(((((proto.IsVarArg & 4) >>> 0)) === 0))) {\n\t\t\t\t\t\targtb = newLTable(nvarargs, 0);\n\t\t\t\t\t\ti$3 = 0;\n\t\t\t\t\t\twhile (true) {\n\t\t\t\t\t\t\tif (!(i$3 < nvarargs)) { break; }\n\t\t\t\t\t\t\targtb.RawSetInt(i$3 + 1 >> 0, ls.reg.Get((cf$1.LocalBase + np >> 0) + i$3 >> 0));\n\t\t\t\t\t\t\ti$3 = i$3 + (1) >> 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\targtb.RawSetString(\"n\", new LNumber((nvarargs)));\n\t\t\t\t\t\t(x$14 = ls.reg.array, x$15 = (cf$1.LocalBase + nargs >> 0) + np >> 0, ((x$15 < 0 || x$15 >= x$14.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$14.$array[x$14.$offset + x$15] = argtb));\n\t\t\t\t\t} else {\n\t\t\t\t\t\t(x$16 = ls.reg.array, x$17 = (cf$1.LocalBase + nargs >> 0) + np >> 0, ((x$17 < 0 || x$17 >= x$16.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$16.$array[x$16.$offset + x$17] = $pkg.LNil));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcf$1.LocalBase = cf$1.LocalBase + (nargs) >> 0;\n\t\t\t\tmaxreg = cf$1.LocalBase + ((proto.NumUsedRegisters >> 0)) >> 0;\n\t\t\t\tls.reg.SetTop(maxreg);\n\t\t\t}\n\t\t}\n\t\tls.currentFrame = newcf;\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.pushCallFrame }; } $f.argtb = argtb; $f.cf = cf; $f.cf$1 = cf$1; $f.cs = cs; $f.fn = fn; $f.i = i; $f.i$1 = i$1; $f.i$2 = i$2; $f.i$3 = i$3; $f.ls = ls; $f.maxreg = maxreg; $f.meta = meta; $f.nargs = nargs; $f.newcf = newcf; $f.np = np; $f.nvarargs = nvarargs; $f.proto = proto; $f.v = v; $f.x = x; $f.x$1 = x$1; $f.x$10 = x$10; $f.x$11 = x$11; $f.x$12 = x$12; $f.x$13 = x$13; $f.x$14 = x$14; $f.x$15 = x$15; $f.x$16 = x$16; $f.x$17 = x$17; $f.x$2 = x$2; $f.x$3 = x$3; $f.x$4 = x$4; $f.x$5 = x$5; $f.x$6 = x$6; $f.x$7 = x$7; $f.x$8 = x$8; $f.x$9 = x$9; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.pushCallFrame = function(cf, fn, meta) { return this.$val.pushCallFrame(cf, fn, meta); };\n\tLState.ptr.prototype.callR = function(nargs, nret, rbase) {\n\t\tvar _r, _tuple, base, fn, ls, lv, meta, nargs, nret, rbase, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; base = $f.base; fn = $f.fn; ls = $f.ls; lv = $f.lv; meta = $f.meta; nargs = $f.nargs; nret = $f.nret; rbase = $f.rbase; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tbase = (ls.reg.Top() - nargs >> 0) - 1 >> 0;\n\t\tif (rbase < 0) {\n\t\t\trbase = base;\n\t\t}\n\t\tlv = ls.reg.Get(base);\n\t\t_r = ls.metaCall(lv); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tfn = _tuple[0];\n\t\tmeta = _tuple[1];\n\t\t$r = ls.pushCallFrame(new callFrame.ptr(0, fn, ls.currentFrame, 0, base, base + 1 >> 0, rbase, nargs, nret, 0), lv, meta); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* */ if (ls.G.MainThread === ptrType$9.nil) { $s = 3; continue; }\n\t\t/* */ $s = 4; continue;\n\t\t/* if (ls.G.MainThread === ptrType$9.nil) { */ case 3:\n\t\t\tls.G.MainThread = ls;\n\t\t\tls.G.CurrentThread = ls;\n\t\t\t$r = ls.mainLoop(ls, ptrType$10.nil); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 5; continue;\n\t\t/* } else { */ case 4:\n\t\t\t$r = ls.mainLoop(ls, ls.currentFrame); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 5:\n\t\tif (!((nret === -1))) {\n\t\t\tls.reg.SetTop(rbase + nret >> 0);\n\t\t}\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.callR }; } $f._r = _r; $f._tuple = _tuple; $f.base = base; $f.fn = fn; $f.ls = ls; $f.lv = lv; $f.meta = meta; $f.nargs = nargs; $f.nret = nret; $f.rbase = rbase; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.callR = function(nargs, nret, rbase) { return this.$val.callR(nargs, nret, rbase); };\n\tLState.ptr.prototype.getField = function(obj, key) {\n\t\tvar _arg, _r, _r$1, _r$2, _r$3, _tuple, curobj, i, istable, key, ls, metaindex, obj, ret, tb, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _tuple = $f._tuple; curobj = $f.curobj; i = $f.i; istable = $f.istable; key = $f.key; ls = $f.ls; metaindex = $f.metaindex; obj = $f.obj; ret = $f.ret; tb = $f.tb; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tcurobj = obj;\n\t\ti = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(i < $pkg.MaxTableGetLoop)) { break; } */ if(!(i < $pkg.MaxTableGetLoop)) { $s = 2; continue; }\n\t\t\t_tuple = $assertType(curobj, ptrType$1, true);\n\t\t\ttb = _tuple[0];\n\t\t\tistable = _tuple[1];\n\t\t\tif (istable) {\n\t\t\t\tret = tb.RawGet(key);\n\t\t\t\tif (!($interfaceIsEqual(ret, $pkg.LNil))) {\n\t\t\t\t\t$s = -1; return ret;\n\t\t\t\t}\n\t\t\t}\n\t\t\t_r = ls.metaOp1(curobj, \"__index\"); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tmetaindex = _r;\n\t\t\t/* */ if ($interfaceIsEqual(metaindex, $pkg.LNil)) { $s = 4; continue; }\n\t\t\t/* */ $s = 5; continue;\n\t\t\t/* if ($interfaceIsEqual(metaindex, $pkg.LNil)) { */ case 4:\n\t\t\t\t/* */ if (!istable) { $s = 6; continue; }\n\t\t\t\t/* */ $s = 7; continue;\n\t\t\t\t/* if (!istable) { */ case 6:\n\t\t\t\t\t_r$1 = curobj.Type(); /* */ $s = 8; case 8: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t\t_r$2 = new LValueType(_r$1).String(); /* */ $s = 9; case 9: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t\t_arg = new $String(_r$2);\n\t\t\t\t\t$r = ls.RaiseError(\"attempt to index a non-table object(%v)\", new sliceType$6([_arg])); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t/* } */ case 7:\n\t\t\t\t$s = -1; return $pkg.LNil;\n\t\t\t/* } */ case 5:\n\t\t\t_r$3 = metaindex.Type(); /* */ $s = 13; case 13: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t/* */ if (_r$3 === 4) { $s = 11; continue; }\n\t\t\t/* */ $s = 12; continue;\n\t\t\t/* if (_r$3 === 4) { */ case 11:\n\t\t\t\tls.reg.Push(metaindex);\n\t\t\t\tls.reg.Push(curobj);\n\t\t\t\tls.reg.Push(key);\n\t\t\t\t$r = ls.Call(2, 1); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return ls.reg.Pop();\n\t\t\t/* } */ case 12:\n\t\t\tcurobj = metaindex;\n\t\t\ti = i + (1) >> 0;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$r = ls.RaiseError(\"too many recursions in gettable\", new sliceType$6([])); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.getField }; } $f._arg = _arg; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._tuple = _tuple; $f.curobj = curobj; $f.i = i; $f.istable = istable; $f.key = key; $f.ls = ls; $f.metaindex = metaindex; $f.obj = obj; $f.ret = ret; $f.tb = tb; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.getField = function(obj, key) { return this.$val.getField(obj, key); };\n\tLState.ptr.prototype.getFieldString = function(obj, key) {\n\t\tvar _arg, _r, _r$1, _r$2, _r$3, _tuple, curobj, i, istable, key, ls, metaindex, obj, ret, tb, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _tuple = $f._tuple; curobj = $f.curobj; i = $f.i; istable = $f.istable; key = $f.key; ls = $f.ls; metaindex = $f.metaindex; obj = $f.obj; ret = $f.ret; tb = $f.tb; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tcurobj = obj;\n\t\ti = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(i < $pkg.MaxTableGetLoop)) { break; } */ if(!(i < $pkg.MaxTableGetLoop)) { $s = 2; continue; }\n\t\t\t_tuple = $assertType(curobj, ptrType$1, true);\n\t\t\ttb = _tuple[0];\n\t\t\tistable = _tuple[1];\n\t\t\tif (istable) {\n\t\t\t\tret = tb.RawGetString(key);\n\t\t\t\tif (!($interfaceIsEqual(ret, $pkg.LNil))) {\n\t\t\t\t\t$s = -1; return ret;\n\t\t\t\t}\n\t\t\t}\n\t\t\t_r = ls.metaOp1(curobj, \"__index\"); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tmetaindex = _r;\n\t\t\t/* */ if ($interfaceIsEqual(metaindex, $pkg.LNil)) { $s = 4; continue; }\n\t\t\t/* */ $s = 5; continue;\n\t\t\t/* if ($interfaceIsEqual(metaindex, $pkg.LNil)) { */ case 4:\n\t\t\t\t/* */ if (!istable) { $s = 6; continue; }\n\t\t\t\t/* */ $s = 7; continue;\n\t\t\t\t/* if (!istable) { */ case 6:\n\t\t\t\t\t_r$1 = curobj.Type(); /* */ $s = 8; case 8: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t\t_r$2 = new LValueType(_r$1).String(); /* */ $s = 9; case 9: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t\t_arg = new $String(_r$2);\n\t\t\t\t\t$r = ls.RaiseError(\"attempt to index a non-table object(%v)\", new sliceType$6([_arg])); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t/* } */ case 7:\n\t\t\t\t$s = -1; return $pkg.LNil;\n\t\t\t/* } */ case 5:\n\t\t\t_r$3 = metaindex.Type(); /* */ $s = 13; case 13: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t/* */ if (_r$3 === 4) { $s = 11; continue; }\n\t\t\t/* */ $s = 12; continue;\n\t\t\t/* if (_r$3 === 4) { */ case 11:\n\t\t\t\tls.reg.Push(metaindex);\n\t\t\t\tls.reg.Push(curobj);\n\t\t\t\tls.reg.Push(new LString((key)));\n\t\t\t\t$r = ls.Call(2, 1); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return ls.reg.Pop();\n\t\t\t/* } */ case 12:\n\t\t\tcurobj = metaindex;\n\t\t\ti = i + (1) >> 0;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$r = ls.RaiseError(\"too many recursions in gettable\", new sliceType$6([])); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.getFieldString }; } $f._arg = _arg; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._tuple = _tuple; $f.curobj = curobj; $f.i = i; $f.istable = istable; $f.key = key; $f.ls = ls; $f.metaindex = metaindex; $f.obj = obj; $f.ret = ret; $f.tb = tb; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.getFieldString = function(obj, key) { return this.$val.getFieldString(obj, key); };\n\tLState.ptr.prototype.setField = function(obj, key, value) {\n\t\tvar _arg, _r, _r$1, _r$2, _r$3, _tuple, curobj, i, istable, key, ls, metaindex, obj, tb, value, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _tuple = $f._tuple; curobj = $f.curobj; i = $f.i; istable = $f.istable; key = $f.key; ls = $f.ls; metaindex = $f.metaindex; obj = $f.obj; tb = $f.tb; value = $f.value; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tcurobj = obj;\n\t\ti = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(i < $pkg.MaxTableGetLoop)) { break; } */ if(!(i < $pkg.MaxTableGetLoop)) { $s = 2; continue; }\n\t\t\t_tuple = $assertType(curobj, ptrType$1, true);\n\t\t\ttb = _tuple[0];\n\t\t\tistable = _tuple[1];\n\t\t\t/* */ if (istable) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (istable) { */ case 3:\n\t\t\t\t/* */ if (!($interfaceIsEqual(tb.RawGet(key), $pkg.LNil))) { $s = 5; continue; }\n\t\t\t\t/* */ $s = 6; continue;\n\t\t\t\t/* if (!($interfaceIsEqual(tb.RawGet(key), $pkg.LNil))) { */ case 5:\n\t\t\t\t\t$r = ls.RawSet(tb, key, value); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t$s = -1; return;\n\t\t\t\t/* } */ case 6:\n\t\t\t/* } */ case 4:\n\t\t\t_r = ls.metaOp1(curobj, \"__newindex\"); /* */ $s = 8; case 8: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tmetaindex = _r;\n\t\t\t/* */ if ($interfaceIsEqual(metaindex, $pkg.LNil)) { $s = 9; continue; }\n\t\t\t/* */ $s = 10; continue;\n\t\t\t/* if ($interfaceIsEqual(metaindex, $pkg.LNil)) { */ case 9:\n\t\t\t\t/* */ if (!istable) { $s = 11; continue; }\n\t\t\t\t/* */ $s = 12; continue;\n\t\t\t\t/* if (!istable) { */ case 11:\n\t\t\t\t\t_r$1 = curobj.Type(); /* */ $s = 13; case 13: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t\t_r$2 = new LValueType(_r$1).String(); /* */ $s = 14; case 14: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t\t_arg = new $String(_r$2);\n\t\t\t\t\t$r = ls.RaiseError(\"attempt to index a non-table object(%v)\", new sliceType$6([_arg])); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t/* } */ case 12:\n\t\t\t\t$r = ls.RawSet(tb, key, value); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return;\n\t\t\t/* } */ case 10:\n\t\t\t_r$3 = metaindex.Type(); /* */ $s = 19; case 19: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t/* */ if (_r$3 === 4) { $s = 17; continue; }\n\t\t\t/* */ $s = 18; continue;\n\t\t\t/* if (_r$3 === 4) { */ case 17:\n\t\t\t\tls.reg.Push(metaindex);\n\t\t\t\tls.reg.Push(curobj);\n\t\t\t\tls.reg.Push(key);\n\t\t\t\tls.reg.Push(value);\n\t\t\t\t$r = ls.Call(3, 0); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return;\n\t\t\t/* } */ case 18:\n\t\t\tcurobj = metaindex;\n\t\t\ti = i + (1) >> 0;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$r = ls.RaiseError(\"too many recursions in settable\", new sliceType$6([])); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.setField }; } $f._arg = _arg; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._tuple = _tuple; $f.curobj = curobj; $f.i = i; $f.istable = istable; $f.key = key; $f.ls = ls; $f.metaindex = metaindex; $f.obj = obj; $f.tb = tb; $f.value = value; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.setField = function(obj, key, value) { return this.$val.setField(obj, key, value); };\n\tLState.ptr.prototype.setFieldString = function(obj, key, value) {\n\t\tvar _arg, _r, _r$1, _r$2, _r$3, _tuple, curobj, i, istable, key, ls, metaindex, obj, tb, value, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _tuple = $f._tuple; curobj = $f.curobj; i = $f.i; istable = $f.istable; key = $f.key; ls = $f.ls; metaindex = $f.metaindex; obj = $f.obj; tb = $f.tb; value = $f.value; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tcurobj = obj;\n\t\ti = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(i < $pkg.MaxTableGetLoop)) { break; } */ if(!(i < $pkg.MaxTableGetLoop)) { $s = 2; continue; }\n\t\t\t_tuple = $assertType(curobj, ptrType$1, true);\n\t\t\ttb = _tuple[0];\n\t\t\tistable = _tuple[1];\n\t\t\tif (istable) {\n\t\t\t\tif (!($interfaceIsEqual(tb.RawGetString(key), $pkg.LNil))) {\n\t\t\t\t\ttb.RawSetString(key, value);\n\t\t\t\t\t$s = -1; return;\n\t\t\t\t}\n\t\t\t}\n\t\t\t_r = ls.metaOp1(curobj, \"__newindex\"); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tmetaindex = _r;\n\t\t\t/* */ if ($interfaceIsEqual(metaindex, $pkg.LNil)) { $s = 4; continue; }\n\t\t\t/* */ $s = 5; continue;\n\t\t\t/* if ($interfaceIsEqual(metaindex, $pkg.LNil)) { */ case 4:\n\t\t\t\t/* */ if (!istable) { $s = 6; continue; }\n\t\t\t\t/* */ $s = 7; continue;\n\t\t\t\t/* if (!istable) { */ case 6:\n\t\t\t\t\t_r$1 = curobj.Type(); /* */ $s = 8; case 8: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t\t_r$2 = new LValueType(_r$1).String(); /* */ $s = 9; case 9: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t\t_arg = new $String(_r$2);\n\t\t\t\t\t$r = ls.RaiseError(\"attempt to index a non-table object(%v)\", new sliceType$6([_arg])); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t/* } */ case 7:\n\t\t\t\ttb.RawSetString(key, value);\n\t\t\t\t$s = -1; return;\n\t\t\t/* } */ case 5:\n\t\t\t_r$3 = metaindex.Type(); /* */ $s = 13; case 13: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t/* */ if (_r$3 === 4) { $s = 11; continue; }\n\t\t\t/* */ $s = 12; continue;\n\t\t\t/* if (_r$3 === 4) { */ case 11:\n\t\t\t\tls.reg.Push(metaindex);\n\t\t\t\tls.reg.Push(curobj);\n\t\t\t\tls.reg.Push(new LString((key)));\n\t\t\t\tls.reg.Push(value);\n\t\t\t\t$r = ls.Call(3, 0); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return;\n\t\t\t/* } */ case 12:\n\t\t\tcurobj = metaindex;\n\t\t\ti = i + (1) >> 0;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$r = ls.RaiseError(\"too many recursions in settable\", new sliceType$6([])); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.setFieldString }; } $f._arg = _arg; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._tuple = _tuple; $f.curobj = curobj; $f.i = i; $f.istable = istable; $f.key = key; $f.ls = ls; $f.metaindex = metaindex; $f.obj = obj; $f.tb = tb; $f.value = value; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.setFieldString = function(obj, key, value) { return this.$val.setFieldString(obj, key, value); };\n\tNewState = function(opts) {\n\t\tvar ls, opts, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; ls = $f.ls; opts = $f.opts; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = ptrType$9.nil;\n\t\t/* */ if (opts.$length === 0) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (opts.$length === 0) { */ case 1:\n\t\t\tls = newLState(new Options.ptr($pkg.CallStackSize, $pkg.RegistrySize, false, false));\n\t\t\t$r = ls.OpenLibs(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 3; continue;\n\t\t/* } else { */ case 2:\n\t\t\tif ((0 >= opts.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : opts.$array[opts.$offset + 0]).CallStackSize < 1) {\n\t\t\t\t(0 >= opts.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : opts.$array[opts.$offset + 0]).CallStackSize = $pkg.CallStackSize;\n\t\t\t}\n\t\t\tif ((0 >= opts.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : opts.$array[opts.$offset + 0]).RegistrySize < 128) {\n\t\t\t\t(0 >= opts.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : opts.$array[opts.$offset + 0]).RegistrySize = $pkg.RegistrySize;\n\t\t\t}\n\t\t\tls = newLState($clone((0 >= opts.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : opts.$array[opts.$offset + 0]), Options));\n\t\t\t/* */ if (!(0 >= opts.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : opts.$array[opts.$offset + 0]).SkipOpenLibs) { $s = 5; continue; }\n\t\t\t/* */ $s = 6; continue;\n\t\t\t/* if (!(0 >= opts.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : opts.$array[opts.$offset + 0]).SkipOpenLibs) { */ case 5:\n\t\t\t\t$r = ls.OpenLibs(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 6:\n\t\t/* } */ case 3:\n\t\t$s = -1; return ls;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: NewState }; } $f.ls = ls; $f.opts = opts; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.NewState = NewState;\n\tLState.ptr.prototype.Close = function() {\n\t\tvar _i, _r, _ref, file, ls, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _r = $f._r; _ref = $f._ref; file = $f.file; ls = $f.ls; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tatomic.AddInt32((ls.$ptr_stop || (ls.$ptr_stop = new ptrType$67(function() { return this.$target.stop; }, function($v) { this.$target.stop = $v; }, ls))), 1);\n\t\t_ref = ls.G.tempFiles;\n\t\t_i = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 2; continue; }\n\t\t\tfile = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\t_r = file.Close(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_r;\n\t\t\tos.Remove(file.Name());\n\t\t\t_i++;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.Close }; } $f._i = _i; $f._r = _r; $f._ref = _ref; $f.file = file; $f.ls = ls; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.Close = function() { return this.$val.Close(); };\n\tLState.ptr.prototype.GetTop = function() {\n\t\tvar ls;\n\t\tls = this;\n\t\treturn ls.reg.Top() - ls.currentLocalBase() >> 0;\n\t};\n\tLState.prototype.GetTop = function() { return this.$val.GetTop(); };\n\tLState.ptr.prototype.SetTop = function(idx) {\n\t\tvar base, idx, ls, newtop;\n\t\tls = this;\n\t\tbase = ls.currentLocalBase();\n\t\tnewtop = ls.indexToReg(idx) + 1 >> 0;\n\t\tif (newtop < base) {\n\t\t\tls.reg.SetTop(base);\n\t\t}\n\t\tls.reg.SetTop(newtop);\n\t};\n\tLState.prototype.SetTop = function(idx) { return this.$val.SetTop(idx); };\n\tLState.ptr.prototype.Replace = function(idx, value) {\n\t\tvar _1, _arg, _arg$1, _arg$2, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _tuple, _tuple$1, _tuple$2, base, fn, idx, index, ls, ok, ok$1, ok$2, reg, tb, tb$1, tb$2, tidx, value, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; base = $f.base; fn = $f.fn; idx = $f.idx; index = $f.index; ls = $f.ls; ok = $f.ok; ok$1 = $f.ok$1; ok$2 = $f.ok$2; reg = $f.reg; tb = $f.tb; tb$1 = $f.tb$1; tb$2 = $f.tb$2; tidx = $f.tidx; value = $f.value; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tbase = ls.currentLocalBase();\n\t\t/* */ if (idx > 0) { $s = 1; continue; }\n\t\t/* */ if (idx === 0) { $s = 2; continue; }\n\t\t/* */ if (idx > -10000) { $s = 3; continue; }\n\t\t/* */ $s = 4; continue;\n\t\t/* if (idx > 0) { */ case 1:\n\t\t\treg = (base + idx >> 0) - 1 >> 0;\n\t\t\tif (reg < ls.reg.Top()) {\n\t\t\t\tls.reg.Set(reg, value);\n\t\t\t}\n\t\t\t$s = 5; continue;\n\t\t/* } else if (idx === 0) { */ case 2:\n\t\t\t$s = 5; continue;\n\t\t/* } else if (idx > -10000) { */ case 3:\n\t\t\ttidx = ls.reg.Top() + idx >> 0;\n\t\t\tif (tidx >= base) {\n\t\t\t\tls.reg.Set(tidx, value);\n\t\t\t}\n\t\t\t$s = 5; continue;\n\t\t/* } else { */ case 4:\n\t\t\t\t_1 = idx;\n\t\t\t\t/* */ if (_1 === (-10000)) { $s = 7; continue; }\n\t\t\t\t/* */ if (_1 === (-10001)) { $s = 8; continue; }\n\t\t\t\t/* */ if (_1 === (-10002)) { $s = 9; continue; }\n\t\t\t\t/* */ $s = 10; continue;\n\t\t\t\t/* if (_1 === (-10000)) { */ case 7:\n\t\t\t\t\t_tuple = $assertType(value, ptrType$1, true);\n\t\t\t\t\ttb = _tuple[0];\n\t\t\t\t\tok = _tuple[1];\n\t\t\t\t\t/* */ if (ok) { $s = 12; continue; }\n\t\t\t\t\t/* */ $s = 13; continue;\n\t\t\t\t\t/* if (ok) { */ case 12:\n\t\t\t\t\t\tls.G.Registry = tb;\n\t\t\t\t\t\t$s = 14; continue;\n\t\t\t\t\t/* } else { */ case 13:\n\t\t\t\t\t\t_r = value.Type(); /* */ $s = 15; case 15: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t\t\t_r$1 = new LValueType(_r).String(); /* */ $s = 16; case 16: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t\t\t_arg = new $String(_r$1);\n\t\t\t\t\t\t$r = ls.RaiseError(\"registry must be a table(%v)\", new sliceType$6([_arg])); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t/* } */ case 14:\n\t\t\t\t\t$s = 11; continue;\n\t\t\t\t/* } else if (_1 === (-10001)) { */ case 8:\n\t\t\t\t\t/* */ if (ls.currentFrame === ptrType$10.nil) { $s = 18; continue; }\n\t\t\t\t\t/* */ $s = 19; continue;\n\t\t\t\t\t/* if (ls.currentFrame === ptrType$10.nil) { */ case 18:\n\t\t\t\t\t\t$r = ls.RaiseError(\"no calling environment\", new sliceType$6([])); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t/* } */ case 19:\n\t\t\t\t\t_tuple$1 = $assertType(value, ptrType$1, true);\n\t\t\t\t\ttb$1 = _tuple$1[0];\n\t\t\t\t\tok$1 = _tuple$1[1];\n\t\t\t\t\t/* */ if (ok$1) { $s = 21; continue; }\n\t\t\t\t\t/* */ $s = 22; continue;\n\t\t\t\t\t/* if (ok$1) { */ case 21:\n\t\t\t\t\t\tls.currentFrame.Fn.Env = tb$1;\n\t\t\t\t\t\t$s = 23; continue;\n\t\t\t\t\t/* } else { */ case 22:\n\t\t\t\t\t\t_r$2 = value.Type(); /* */ $s = 24; case 24: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t\t\t_r$3 = new LValueType(_r$2).String(); /* */ $s = 25; case 25: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t\t\t_arg$1 = new $String(_r$3);\n\t\t\t\t\t\t$r = ls.RaiseError(\"environment must be a table(%v)\", new sliceType$6([_arg$1])); /* */ $s = 26; case 26: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t/* } */ case 23:\n\t\t\t\t\t$s = 11; continue;\n\t\t\t\t/* } else if (_1 === (-10002)) { */ case 9:\n\t\t\t\t\t_tuple$2 = $assertType(value, ptrType$1, true);\n\t\t\t\t\ttb$2 = _tuple$2[0];\n\t\t\t\t\tok$2 = _tuple$2[1];\n\t\t\t\t\t/* */ if (ok$2) { $s = 27; continue; }\n\t\t\t\t\t/* */ $s = 28; continue;\n\t\t\t\t\t/* if (ok$2) { */ case 27:\n\t\t\t\t\t\tls.G.Global = tb$2;\n\t\t\t\t\t\t$s = 29; continue;\n\t\t\t\t\t/* } else { */ case 28:\n\t\t\t\t\t\t_r$4 = value.Type(); /* */ $s = 30; case 30: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\t\t\t_r$5 = new LValueType(_r$4).String(); /* */ $s = 31; case 31: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t\t\t\t_arg$2 = new $String(_r$5);\n\t\t\t\t\t\t$r = ls.RaiseError(\"_G must be a table(%v)\", new sliceType$6([_arg$2])); /* */ $s = 32; case 32: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t/* } */ case 29:\n\t\t\t\t\t$s = 11; continue;\n\t\t\t\t/* } else { */ case 10:\n\t\t\t\t\tfn = ls.currentFrame.Fn;\n\t\t\t\t\tindex = (-10002 - idx >> 0) - 1 >> 0;\n\t\t\t\t\tif (index < fn.Upvalues.$length) {\n\t\t\t\t\t\t(x = fn.Upvalues, ((index < 0 || index >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + index])).SetValue(value);\n\t\t\t\t\t}\n\t\t\t\t/* } */ case 11:\n\t\t\tcase 6:\n\t\t/* } */ case 5:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.Replace }; } $f._1 = _1; $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f.base = base; $f.fn = fn; $f.idx = idx; $f.index = index; $f.ls = ls; $f.ok = ok; $f.ok$1 = ok$1; $f.ok$2 = ok$2; $f.reg = reg; $f.tb = tb; $f.tb$1 = tb$1; $f.tb$2 = tb$2; $f.tidx = tidx; $f.value = value; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.Replace = function(idx, value) { return this.$val.Replace(idx, value); };\n\tLState.ptr.prototype.Get = function(idx) {\n\t\tvar _1, base, fn, idx, index, ls, reg, tidx, x;\n\t\tls = this;\n\t\tbase = ls.currentLocalBase();\n\t\tif (idx > 0) {\n\t\t\treg = (base + idx >> 0) - 1 >> 0;\n\t\t\tif (reg < ls.reg.Top()) {\n\t\t\t\treturn ls.reg.Get(reg);\n\t\t\t}\n\t\t\treturn $pkg.LNil;\n\t\t} else if (idx === 0) {\n\t\t\treturn $pkg.LNil;\n\t\t} else if (idx > -10000) {\n\t\t\ttidx = ls.reg.Top() + idx >> 0;\n\t\t\tif (tidx < base) {\n\t\t\t\treturn $pkg.LNil;\n\t\t\t}\n\t\t\treturn ls.reg.Get(tidx);\n\t\t} else {\n\t\t\t_1 = idx;\n\t\t\tif (_1 === (-10000)) {\n\t\t\t\treturn ls.G.Registry;\n\t\t\t} else if (_1 === (-10001)) {\n\t\t\t\tif (ls.currentFrame === ptrType$10.nil) {\n\t\t\t\t\treturn ls.Env;\n\t\t\t\t}\n\t\t\t\treturn ls.currentFrame.Fn.Env;\n\t\t\t} else if (_1 === (-10002)) {\n\t\t\t\treturn ls.G.Global;\n\t\t\t} else {\n\t\t\t\tfn = ls.currentFrame.Fn;\n\t\t\t\tindex = (-10002 - idx >> 0) - 1 >> 0;\n\t\t\t\tif (index < fn.Upvalues.$length) {\n\t\t\t\t\treturn (x = fn.Upvalues, ((index < 0 || index >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + index])).Value();\n\t\t\t\t}\n\t\t\t\treturn $pkg.LNil;\n\t\t\t}\n\t\t}\n\t};\n\tLState.prototype.Get = function(idx) { return this.$val.Get(idx); };\n\tLState.ptr.prototype.Push = function(value) {\n\t\tvar ls, value;\n\t\tls = this;\n\t\tls.reg.Push(value);\n\t};\n\tLState.prototype.Push = function(value) { return this.$val.Push(value); };\n\tLState.ptr.prototype.Pop = function(n) {\n\t\tvar i, ls, n, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; i = $f.i; ls = $f.ls; n = $f.n; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\ti = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(i < n)) { break; } */ if(!(i < n)) { $s = 2; continue; }\n\t\t\t/* */ if (ls.GetTop() === 0) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (ls.GetTop() === 0) { */ case 3:\n\t\t\t\t$r = ls.RaiseError(\"register underflow\", new sliceType$6([])); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 4:\n\t\t\tls.reg.Pop();\n\t\t\ti = i + (1) >> 0;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.Pop }; } $f.i = i; $f.ls = ls; $f.n = n; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.Pop = function(n) { return this.$val.Pop(n); };\n\tLState.ptr.prototype.Insert = function(value, index) {\n\t\tvar index, ls, reg, top, value;\n\t\tls = this;\n\t\treg = ls.indexToReg(index);\n\t\ttop = ls.reg.Top();\n\t\tif (reg >= top) {\n\t\t\tls.reg.Set(reg, value);\n\t\t\treturn;\n\t\t}\n\t\tif (reg <= ls.currentLocalBase()) {\n\t\t\treg = ls.currentLocalBase();\n\t\t}\n\t\ttop = top - (1) >> 0;\n\t\twhile (true) {\n\t\t\tif (!(top >= reg)) { break; }\n\t\t\tls.reg.Set(top + 1 >> 0, ls.reg.Get(top));\n\t\t\ttop = top - (1) >> 0;\n\t\t}\n\t\tls.reg.Set(reg, value);\n\t};\n\tLState.prototype.Insert = function(value, index) { return this.$val.Insert(value, index); };\n\tLState.ptr.prototype.Remove = function(index) {\n\t\tvar i, index, ls, reg, top, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; i = $f.i; index = $f.index; ls = $f.ls; reg = $f.reg; top = $f.top; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\treg = ls.indexToReg(index);\n\t\ttop = ls.reg.Top();\n\t\t\t/* */ if (reg >= top) { $s = 2; continue; }\n\t\t\t/* */ if (reg < ls.currentLocalBase()) { $s = 3; continue; }\n\t\t\t/* */ if ((reg === (top - 1 >> 0))) { $s = 4; continue; }\n\t\t\t/* */ $s = 5; continue;\n\t\t\t/* if (reg >= top) { */ case 2:\n\t\t\t\t$s = -1; return;\n\t\t\t/* } else if (reg < ls.currentLocalBase()) { */ case 3:\n\t\t\t\t$s = -1; return;\n\t\t\t/* } else if ((reg === (top - 1 >> 0))) { */ case 4:\n\t\t\t\t$r = ls.Pop(1); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return;\n\t\t\t/* } */ case 5:\n\t\tcase 1:\n\t\ti = reg;\n\t\twhile (true) {\n\t\t\tif (!(i < (top - 1 >> 0))) { break; }\n\t\t\tls.reg.Set(i, ls.reg.Get(i + 1 >> 0));\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\tls.reg.SetTop(top - 1 >> 0);\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.Remove }; } $f.i = i; $f.index = index; $f.ls = ls; $f.reg = reg; $f.top = top; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.Remove = function(index) { return this.$val.Remove(index); };\n\tLState.ptr.prototype.NewTable = function() {\n\t\tvar ls;\n\t\tls = this;\n\t\treturn newLTable(32, 32);\n\t};\n\tLState.prototype.NewTable = function() { return this.$val.NewTable(); };\n\tLState.ptr.prototype.CreateTable = function(acap, hcap) {\n\t\tvar acap, hcap, ls;\n\t\tls = this;\n\t\treturn newLTable(acap, hcap);\n\t};\n\tLState.prototype.CreateTable = function(acap, hcap) { return this.$val.CreateTable(acap, hcap); };\n\tLState.ptr.prototype.NewThread = function() {\n\t\tvar _r, _tuple, f, ls, thread, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; f = $f.f; ls = $f.ls; thread = $f.thread; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tthread = newLState($clone(ls.Options, Options));\n\t\tthread.G = ls.G;\n\t\tthread.Env = ls.Env;\n\t\tf = $throwNilPointerError;\n\t\t/* */ if (!($interfaceIsEqual(ls.ctx, $ifaceNil))) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!($interfaceIsEqual(ls.ctx, $ifaceNil))) { */ case 1:\n\t\t\tthread.mainLoop = mainLoopWithContext;\n\t\t\t_r = context.WithCancel(ls.ctx); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r;\n\t\t\tthread.ctx = _tuple[0];\n\t\t\tf = _tuple[1];\n\t\t/* } */ case 2:\n\t\t$s = -1; return [thread, f];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.NewThread }; } $f._r = _r; $f._tuple = _tuple; $f.f = f; $f.ls = ls; $f.thread = thread; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.NewThread = function() { return this.$val.NewThread(); };\n\tLState.ptr.prototype.NewFunctionFromProto = function(proto) {\n\t\tvar ls, proto;\n\t\tls = this;\n\t\treturn newLFunctionL(proto, ls.Env, ((proto.NumUpvalues >> 0)));\n\t};\n\tLState.prototype.NewFunctionFromProto = function(proto) { return this.$val.NewFunctionFromProto(proto); };\n\tLState.ptr.prototype.NewUserData = function() {\n\t\tvar ls;\n\t\tls = this;\n\t\treturn new LUserData.ptr($ifaceNil, ls.currentEnv(), $pkg.LNil);\n\t};\n\tLState.prototype.NewUserData = function() { return this.$val.NewUserData(); };\n\tLState.ptr.prototype.NewFunction = function(fn) {\n\t\tvar fn, ls;\n\t\tls = this;\n\t\treturn newLFunctionG(fn, ls.currentEnv(), 0);\n\t};\n\tLState.prototype.NewFunction = function(fn) { return this.$val.NewFunction(fn); };\n\tLState.ptr.prototype.NewClosure = function(fn, upvalues) {\n\t\tvar _i, _ref, cl, fn, i, ls, lv, upvalues, x, x$1, x$2;\n\t\tls = this;\n\t\tcl = newLFunctionG(fn, ls.currentEnv(), upvalues.$length);\n\t\t_ref = upvalues;\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\ti = _i;\n\t\t\tlv = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\t(x = cl.Upvalues, ((i < 0 || i >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + i] = new Upvalue.ptr(ptrType$56.nil, ptrType$54.nil, 0, $ifaceNil, false)));\n\t\t\t(x$1 = cl.Upvalues, ((i < 0 || i >= x$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$1.$array[x$1.$offset + i])).Close();\n\t\t\t(x$2 = cl.Upvalues, ((i < 0 || i >= x$2.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$2.$array[x$2.$offset + i])).SetValue(lv);\n\t\t\t_i++;\n\t\t}\n\t\treturn cl;\n\t};\n\tLState.prototype.NewClosure = function(fn, upvalues) { return this.$val.NewClosure(fn, upvalues); };\n\tLState.ptr.prototype.ToBool = function(n) {\n\t\tvar ls, n;\n\t\tls = this;\n\t\treturn LVAsBool(ls.Get(n));\n\t};\n\tLState.prototype.ToBool = function(n) { return this.$val.ToBool(n); };\n\tLState.ptr.prototype.ToInt = function(n) {\n\t\tvar _r, _tuple, _tuple$1, _tuple$2, err, ls, lv, lv$1, n, num, ok, ok$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; err = $f.err; ls = $f.ls; lv = $f.lv; lv$1 = $f.lv$1; n = $f.n; num = $f.num; ok = $f.ok; ok$1 = $f.ok$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_tuple = $assertType(ls.Get(n), LNumber, true);\n\t\tlv = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\t$s = -1; return ((lv >> 0));\n\t\t}\n\t\t_tuple$1 = $assertType(ls.Get(n), LString, true);\n\t\tlv$1 = _tuple$1[0];\n\t\tok$1 = _tuple$1[1];\n\t\t/* */ if (ok$1) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (ok$1) { */ case 1:\n\t\t\t_r = parseNumber((lv$1)); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple$2 = _r;\n\t\t\tnum = _tuple$2[0];\n\t\t\terr = _tuple$2[1];\n\t\t\tif ($interfaceIsEqual(err, $ifaceNil)) {\n\t\t\t\t$s = -1; return ((num >> 0));\n\t\t\t}\n\t\t/* } */ case 2:\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.ToInt }; } $f._r = _r; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f.err = err; $f.ls = ls; $f.lv = lv; $f.lv$1 = lv$1; $f.n = n; $f.num = num; $f.ok = ok; $f.ok$1 = ok$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.ToInt = function(n) { return this.$val.ToInt(n); };\n\tLState.ptr.prototype.ToInt64 = function(n) {\n\t\tvar _r, _tuple, _tuple$1, _tuple$2, err, ls, lv, lv$1, n, num, ok, ok$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; err = $f.err; ls = $f.ls; lv = $f.lv; lv$1 = $f.lv$1; n = $f.n; num = $f.num; ok = $f.ok; ok$1 = $f.ok$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_tuple = $assertType(ls.Get(n), LNumber, true);\n\t\tlv = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\t$s = -1; return (new $Int64(0, lv));\n\t\t}\n\t\t_tuple$1 = $assertType(ls.Get(n), LString, true);\n\t\tlv$1 = _tuple$1[0];\n\t\tok$1 = _tuple$1[1];\n\t\t/* */ if (ok$1) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (ok$1) { */ case 1:\n\t\t\t_r = parseNumber((lv$1)); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple$2 = _r;\n\t\t\tnum = _tuple$2[0];\n\t\t\terr = _tuple$2[1];\n\t\t\tif ($interfaceIsEqual(err, $ifaceNil)) {\n\t\t\t\t$s = -1; return (new $Int64(0, num));\n\t\t\t}\n\t\t/* } */ case 2:\n\t\t$s = -1; return new $Int64(0, 0);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.ToInt64 }; } $f._r = _r; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f.err = err; $f.ls = ls; $f.lv = lv; $f.lv$1 = lv$1; $f.n = n; $f.num = num; $f.ok = ok; $f.ok$1 = ok$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.ToInt64 = function(n) { return this.$val.ToInt64(n); };\n\tLState.ptr.prototype.ToNumber = function(n) {\n\t\tvar _r, ls, n, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; ls = $f.ls; n = $f.n; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_r = LVAsNumber(ls.Get(n)); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.ToNumber }; } $f._r = _r; $f.ls = ls; $f.n = n; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.ToNumber = function(n) { return this.$val.ToNumber(n); };\n\tLState.ptr.prototype.ToString = function(n) {\n\t\tvar _r, ls, n, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; ls = $f.ls; n = $f.n; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_r = LVAsString(ls.Get(n)); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.ToString }; } $f._r = _r; $f.ls = ls; $f.n = n; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.ToString = function(n) { return this.$val.ToString(n); };\n\tLState.ptr.prototype.ToTable = function(n) {\n\t\tvar _tuple, ls, lv, n, ok;\n\t\tls = this;\n\t\t_tuple = $assertType(ls.Get(n), ptrType$1, true);\n\t\tlv = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\treturn lv;\n\t\t}\n\t\treturn ptrType$1.nil;\n\t};\n\tLState.prototype.ToTable = function(n) { return this.$val.ToTable(n); };\n\tLState.ptr.prototype.ToFunction = function(n) {\n\t\tvar _tuple, ls, lv, n, ok;\n\t\tls = this;\n\t\t_tuple = $assertType(ls.Get(n), ptrType$7, true);\n\t\tlv = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\treturn lv;\n\t\t}\n\t\treturn ptrType$7.nil;\n\t};\n\tLState.prototype.ToFunction = function(n) { return this.$val.ToFunction(n); };\n\tLState.ptr.prototype.ToUserData = function(n) {\n\t\tvar _tuple, ls, lv, n, ok;\n\t\tls = this;\n\t\t_tuple = $assertType(ls.Get(n), ptrType$8, true);\n\t\tlv = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\treturn lv;\n\t\t}\n\t\treturn ptrType$8.nil;\n\t};\n\tLState.prototype.ToUserData = function(n) { return this.$val.ToUserData(n); };\n\tLState.ptr.prototype.ToThread = function(n) {\n\t\tvar _tuple, ls, lv, n, ok;\n\t\tls = this;\n\t\t_tuple = $assertType(ls.Get(n), ptrType$9, true);\n\t\tlv = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\treturn lv;\n\t\t}\n\t\treturn ptrType$9.nil;\n\t};\n\tLState.prototype.ToThread = function(n) { return this.$val.ToThread(n); };\n\tLState.ptr.prototype.RaiseError = function(format, args) {\n\t\tvar args, format, ls, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; args = $f.args; format = $f.format; ls = $f.ls; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t$r = ls.raiseError(1, format, args); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.RaiseError }; } $f.args = args; $f.format = format; $f.ls = ls; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.RaiseError = function(format, args) { return this.$val.RaiseError(format, args); };\n\tLState.ptr.prototype.Error = function(lv, level) {\n\t\tvar _tuple, level, ls, lv, ok, str, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _tuple = $f._tuple; level = $f.level; ls = $f.ls; lv = $f.lv; ok = $f.ok; str = $f.str; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_tuple = $assertType(lv, LString, true);\n\t\tstr = _tuple[0];\n\t\tok = _tuple[1];\n\t\t/* */ if (ok) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (ok) { */ case 1:\n\t\t\t$r = ls.raiseError(level, (str), new sliceType$6([])); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 3; continue;\n\t\t/* } else { */ case 2:\n\t\t\tif (!ls.hasErrorFunc) {\n\t\t\t\tls.closeAllUpvalues();\n\t\t\t}\n\t\t\tls.Push(lv);\n\t\t\t$r = ls.Panic(ls); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 3:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.Error }; } $f._tuple = _tuple; $f.level = level; $f.ls = ls; $f.lv = lv; $f.ok = ok; $f.str = str; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.Error = function(lv, level) { return this.$val.Error(lv, level); };\n\tLState.ptr.prototype.GetInfo = function(what, dbg, fn) {\n\t\tvar _1, _i, _r, _ref, _rune, _tuple, c, dbg, f, fn, ls, ok, retfn, what, x, x$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _i = $f._i; _r = $f._r; _ref = $f._ref; _rune = $f._rune; _tuple = $f._tuple; c = $f.c; dbg = $f.dbg; f = $f.f; fn = $f.fn; ls = $f.ls; ok = $f.ok; retfn = $f.retfn; what = $f.what; x = $f.x; x$1 = $f.x$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tif (!strings.HasPrefix(what, \">\")) {\n\t\t\tfn = dbg.frame.Fn;\n\t\t} else {\n\t\t\twhat = $substring(what, 1);\n\t\t}\n\t\t_tuple = $assertType(fn, ptrType$7, true);\n\t\tf = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (!ok) {\n\t\t\t$s = -1; return [$pkg.LNil, newAPIErrorS(2, \"can not get debug info(an object in not a function)\")];\n\t\t}\n\t\tretfn = false;\n\t\t_ref = what;\n\t\t_i = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(_i < _ref.length)) { break; } */ if(!(_i < _ref.length)) { $s = 2; continue; }\n\t\t\t_rune = $decodeRune(_ref, _i);\n\t\t\tc = _rune[0];\n\t\t\t\t_1 = c;\n\t\t\t\t/* */ if (_1 === (102)) { $s = 4; continue; }\n\t\t\t\t/* */ if (_1 === (83)) { $s = 5; continue; }\n\t\t\t\t/* */ if (_1 === (108)) { $s = 6; continue; }\n\t\t\t\t/* */ if (_1 === (117)) { $s = 7; continue; }\n\t\t\t\t/* */ if (_1 === (110)) { $s = 8; continue; }\n\t\t\t\t/* */ $s = 9; continue;\n\t\t\t\t/* if (_1 === (102)) { */ case 4:\n\t\t\t\t\tretfn = true;\n\t\t\t\t\t$s = 10; continue;\n\t\t\t\t/* } else if (_1 === (83)) { */ case 5:\n\t\t\t\t\tif (!(dbg.frame === ptrType$10.nil) && dbg.frame.Parent === ptrType$10.nil) {\n\t\t\t\t\t\tdbg.What = \"main\";\n\t\t\t\t\t} else if (f.IsG) {\n\t\t\t\t\t\tdbg.What = \"G\";\n\t\t\t\t\t} else if (!(dbg.frame === ptrType$10.nil) && dbg.frame.TailCall > 0) {\n\t\t\t\t\t\tdbg.What = \"tail\";\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdbg.What = \"Lua\";\n\t\t\t\t\t}\n\t\t\t\t\tif (!f.IsG) {\n\t\t\t\t\t\tdbg.Source = f.Proto.SourceName;\n\t\t\t\t\t\tdbg.LineDefined = f.Proto.LineDefined;\n\t\t\t\t\t\tdbg.LastLineDefined = f.Proto.LastLineDefined;\n\t\t\t\t\t}\n\t\t\t\t\t$s = 10; continue;\n\t\t\t\t/* } else if (_1 === (108)) { */ case 6:\n\t\t\t\t\tif (!f.IsG && !(dbg.frame === ptrType$10.nil)) {\n\t\t\t\t\t\tif (dbg.frame.Pc > 0) {\n\t\t\t\t\t\t\tdbg.CurrentLine = (x = f.Proto.DbgSourcePositions, x$1 = dbg.frame.Pc - 1 >> 0, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1]));\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdbg.CurrentLine = -1;\n\t\t\t\t\t}\n\t\t\t\t\t$s = 10; continue;\n\t\t\t\t/* } else if (_1 === (117)) { */ case 7:\n\t\t\t\t\tdbg.NUpvalues = f.Upvalues.$length;\n\t\t\t\t\t$s = 10; continue;\n\t\t\t\t/* } else if (_1 === (110)) { */ case 8:\n\t\t\t\t\t/* */ if (!(dbg.frame === ptrType$10.nil)) { $s = 11; continue; }\n\t\t\t\t\t/* */ $s = 12; continue;\n\t\t\t\t\t/* if (!(dbg.frame === ptrType$10.nil)) { */ case 11:\n\t\t\t\t\t\t_r = ls.rawFrameFuncName(dbg.frame); /* */ $s = 13; case 13: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t\t\tdbg.Name = _r;\n\t\t\t\t\t/* } */ case 12:\n\t\t\t\t\t$s = 10; continue;\n\t\t\t\t/* } else { */ case 9:\n\t\t\t\t\t$s = -1; return [$pkg.LNil, newAPIErrorS(2, \"invalid what: \" + ($encodeRune(c)))];\n\t\t\t\t/* } */ case 10:\n\t\t\tcase 3:\n\t\t\t_i += _rune[1];\n\t\t/* } */ $s = 1; continue; case 2:\n\t\tif (retfn) {\n\t\t\t$s = -1; return [f, $ifaceNil];\n\t\t}\n\t\t$s = -1; return [$pkg.LNil, $ifaceNil];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.GetInfo }; } $f._1 = _1; $f._i = _i; $f._r = _r; $f._ref = _ref; $f._rune = _rune; $f._tuple = _tuple; $f.c = c; $f.dbg = dbg; $f.f = f; $f.fn = fn; $f.ls = ls; $f.ok = ok; $f.retfn = retfn; $f.what = what; $f.x = x; $f.x$1 = x$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.GetInfo = function(what, dbg, fn) { return this.$val.GetInfo(what, dbg, fn); };\n\tLState.ptr.prototype.GetStack = function(level) {\n\t\tvar frame, level, ls;\n\t\tls = this;\n\t\tframe = ls.currentFrame;\n\t\twhile (true) {\n\t\t\tif (!(level > 0 && !(frame === ptrType$10.nil))) { break; }\n\t\t\tlevel = level - (1) >> 0;\n\t\t\tif (!frame.Fn.IsG) {\n\t\t\t\tlevel = level - (frame.TailCall) >> 0;\n\t\t\t}\n\t\t\tframe = frame.Parent;\n\t\t}\n\t\tif ((level === 0) && !(frame === ptrType$10.nil)) {\n\t\t\treturn [new Debug.ptr(frame, \"\", \"\", \"\", 0, 0, 0, 0), true];\n\t\t} else if (level < 0 && ls.stack.Sp() > 0) {\n\t\t\treturn [new Debug.ptr(ls.stack.At(0), \"\", \"\", \"\", 0, 0, 0, 0), true];\n\t\t}\n\t\treturn [new Debug.ptr(ptrType$10.nil, \"\", \"\", \"\", 0, 0, 0, 0), false];\n\t};\n\tLState.prototype.GetStack = function(level) { return this.$val.GetStack(level); };\n\tLState.ptr.prototype.GetLocal = function(dbg, no) {\n\t\tvar dbg, frame, ls, name, no;\n\t\tls = this;\n\t\tframe = dbg.frame;\n\t\tname = ls.findLocal(frame, no);\n\t\tif (name.length > 0) {\n\t\t\treturn [name, ls.reg.Get((frame.LocalBase + no >> 0) - 1 >> 0)];\n\t\t}\n\t\treturn [\"\", $pkg.LNil];\n\t};\n\tLState.prototype.GetLocal = function(dbg, no) { return this.$val.GetLocal(dbg, no); };\n\tLState.ptr.prototype.SetLocal = function(dbg, no, lv) {\n\t\tvar dbg, frame, ls, lv, name, no;\n\t\tls = this;\n\t\tframe = dbg.frame;\n\t\tname = ls.findLocal(frame, no);\n\t\tif (name.length > 0) {\n\t\t\tls.reg.Set((frame.LocalBase + no >> 0) - 1 >> 0, lv);\n\t\t\treturn name;\n\t\t}\n\t\treturn \"\";\n\t};\n\tLState.prototype.SetLocal = function(dbg, no, lv) { return this.$val.SetLocal(dbg, no, lv); };\n\tLState.ptr.prototype.GetUpvalue = function(fn, no) {\n\t\tvar fn, ls, no, x, x$1;\n\t\tls = this;\n\t\tif (fn.IsG) {\n\t\t\treturn [\"\", $pkg.LNil];\n\t\t}\n\t\tno = no - (1) >> 0;\n\t\tif (no >= 0 && no < fn.Upvalues.$length) {\n\t\t\treturn [(x = fn.Proto.DbgUpvalues, ((no < 0 || no >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + no])), (x$1 = fn.Upvalues, ((no < 0 || no >= x$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$1.$array[x$1.$offset + no])).Value()];\n\t\t}\n\t\treturn [\"\", $pkg.LNil];\n\t};\n\tLState.prototype.GetUpvalue = function(fn, no) { return this.$val.GetUpvalue(fn, no); };\n\tLState.ptr.prototype.SetUpvalue = function(fn, no, lv) {\n\t\tvar fn, ls, lv, no, x, x$1;\n\t\tls = this;\n\t\tif (fn.IsG) {\n\t\t\treturn \"\";\n\t\t}\n\t\tno = no - (1) >> 0;\n\t\tif (no >= 0 && no < fn.Upvalues.$length) {\n\t\t\t(x = fn.Upvalues, ((no < 0 || no >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + no])).SetValue(lv);\n\t\t\treturn (x$1 = fn.Proto.DbgUpvalues, ((no < 0 || no >= x$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$1.$array[x$1.$offset + no]));\n\t\t}\n\t\treturn \"\";\n\t};\n\tLState.prototype.SetUpvalue = function(fn, no, lv) { return this.$val.SetUpvalue(fn, no, lv); };\n\tLState.ptr.prototype.GetFEnv = function(obj) {\n\t\tvar _ref, ls, lv, lv$1, lv$2, obj;\n\t\tls = this;\n\t\t_ref = obj;\n\t\tif ($assertType(_ref, ptrType$7, true)[1]) {\n\t\t\tlv = _ref.$val;\n\t\t\treturn lv.Env;\n\t\t} else if ($assertType(_ref, ptrType$8, true)[1]) {\n\t\t\tlv$1 = _ref.$val;\n\t\t\treturn lv$1.Env;\n\t\t} else if ($assertType(_ref, ptrType$9, true)[1]) {\n\t\t\tlv$2 = _ref.$val;\n\t\t\treturn lv$2.Env;\n\t\t}\n\t\treturn $pkg.LNil;\n\t};\n\tLState.prototype.GetFEnv = function(obj) { return this.$val.GetFEnv(obj); };\n\tLState.ptr.prototype.SetFEnv = function(obj, env) {\n\t\tvar _arg, _r, _r$1, _ref, _tuple, env, ls, lv, lv$1, lv$2, obj, ok, tb, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _r = $f._r; _r$1 = $f._r$1; _ref = $f._ref; _tuple = $f._tuple; env = $f.env; ls = $f.ls; lv = $f.lv; lv$1 = $f.lv$1; lv$2 = $f.lv$2; obj = $f.obj; ok = $f.ok; tb = $f.tb; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_tuple = $assertType(env, ptrType$1, true);\n\t\ttb = _tuple[0];\n\t\tok = _tuple[1];\n\t\t/* */ if (!ok) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!ok) { */ case 1:\n\t\t\t_r = env.Type(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_r$1 = new LValueType(_r).String(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_arg = new $String(_r$1);\n\t\t\t$r = ls.RaiseError(\"cannot use %v as an environment\", new sliceType$6([_arg])); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 2:\n\t\t_ref = obj;\n\t\tif ($assertType(_ref, ptrType$7, true)[1]) {\n\t\t\tlv = _ref.$val;\n\t\t\tlv.Env = tb;\n\t\t} else if ($assertType(_ref, ptrType$8, true)[1]) {\n\t\t\tlv$1 = _ref.$val;\n\t\t\tlv$1.Env = tb;\n\t\t} else if ($assertType(_ref, ptrType$9, true)[1]) {\n\t\t\tlv$2 = _ref.$val;\n\t\t\tlv$2.Env = tb;\n\t\t}\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.SetFEnv }; } $f._arg = _arg; $f._r = _r; $f._r$1 = _r$1; $f._ref = _ref; $f._tuple = _tuple; $f.env = env; $f.ls = ls; $f.lv = lv; $f.lv$1 = lv$1; $f.lv$2 = lv$2; $f.obj = obj; $f.ok = ok; $f.tb = tb; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.SetFEnv = function(obj, env) { return this.$val.SetFEnv(obj, env); };\n\tLState.ptr.prototype.RawGet = function(tb, key) {\n\t\tvar key, ls, tb;\n\t\tls = this;\n\t\treturn tb.RawGet(key);\n\t};\n\tLState.prototype.RawGet = function(tb, key) { return this.$val.RawGet(tb, key); };\n\tLState.ptr.prototype.RawGetInt = function(tb, key) {\n\t\tvar key, ls, tb;\n\t\tls = this;\n\t\treturn tb.RawGetInt(key);\n\t};\n\tLState.prototype.RawGetInt = function(tb, key) { return this.$val.RawGetInt(tb, key); };\n\tLState.ptr.prototype.GetField = function(obj, skey) {\n\t\tvar _r, ls, obj, skey, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; ls = $f.ls; obj = $f.obj; skey = $f.skey; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_r = ls.getFieldString(obj, skey); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.GetField }; } $f._r = _r; $f.ls = ls; $f.obj = obj; $f.skey = skey; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.GetField = function(obj, skey) { return this.$val.GetField(obj, skey); };\n\tLState.ptr.prototype.GetTable = function(obj, key) {\n\t\tvar _r, key, ls, obj, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; key = $f.key; ls = $f.ls; obj = $f.obj; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_r = ls.getField(obj, key); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.GetTable }; } $f._r = _r; $f.key = key; $f.ls = ls; $f.obj = obj; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.GetTable = function(obj, key) { return this.$val.GetTable(obj, key); };\n\tLState.ptr.prototype.RawSet = function(tb, key, value) {\n\t\tvar _tuple, key, ls, n, ok, tb, value, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _tuple = $f._tuple; key = $f.key; ls = $f.ls; n = $f.n; ok = $f.ok; tb = $f.tb; value = $f.value; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_tuple = $assertType(key, LNumber, true);\n\t\tn = _tuple[0];\n\t\tok = _tuple[1];\n\t\t/* */ if (ok && math.IsNaN((n))) { $s = 1; continue; }\n\t\t/* */ if ($interfaceIsEqual(key, $pkg.LNil)) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (ok && math.IsNaN((n))) { */ case 1:\n\t\t\t$r = ls.RaiseError(\"table index is NaN\", new sliceType$6([])); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 3; continue;\n\t\t/* } else if ($interfaceIsEqual(key, $pkg.LNil)) { */ case 2:\n\t\t\t$r = ls.RaiseError(\"table index is nil\", new sliceType$6([])); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 3:\n\t\ttb.RawSet(key, value);\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.RawSet }; } $f._tuple = _tuple; $f.key = key; $f.ls = ls; $f.n = n; $f.ok = ok; $f.tb = tb; $f.value = value; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.RawSet = function(tb, key, value) { return this.$val.RawSet(tb, key, value); };\n\tLState.ptr.prototype.RawSetInt = function(tb, key, value) {\n\t\tvar key, ls, tb, value;\n\t\tls = this;\n\t\ttb.RawSetInt(key, value);\n\t};\n\tLState.prototype.RawSetInt = function(tb, key, value) { return this.$val.RawSetInt(tb, key, value); };\n\tLState.ptr.prototype.SetField = function(obj, key, value) {\n\t\tvar key, ls, obj, value, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; key = $f.key; ls = $f.ls; obj = $f.obj; value = $f.value; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t$r = ls.setFieldString(obj, key, value); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.SetField }; } $f.key = key; $f.ls = ls; $f.obj = obj; $f.value = value; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.SetField = function(obj, key, value) { return this.$val.SetField(obj, key, value); };\n\tLState.ptr.prototype.SetTable = function(obj, key, value) {\n\t\tvar key, ls, obj, value, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; key = $f.key; ls = $f.ls; obj = $f.obj; value = $f.value; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t$r = ls.setField(obj, key, value); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.SetTable }; } $f.key = key; $f.ls = ls; $f.obj = obj; $f.value = value; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.SetTable = function(obj, key, value) { return this.$val.SetTable(obj, key, value); };\n\tLState.ptr.prototype.ForEach = function(tb, cb) {\n\t\tvar cb, ls, tb, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; cb = $f.cb; ls = $f.ls; tb = $f.tb; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t$r = tb.ForEach(cb); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.ForEach }; } $f.cb = cb; $f.ls = ls; $f.tb = tb; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.ForEach = function(tb, cb) { return this.$val.ForEach(tb, cb); };\n\tLState.ptr.prototype.GetGlobal = function(name) {\n\t\tvar _r, ls, name, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; ls = $f.ls; name = $f.name; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_r = ls.GetField(ls.Get(-10002), name); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.GetGlobal }; } $f._r = _r; $f.ls = ls; $f.name = name; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.GetGlobal = function(name) { return this.$val.GetGlobal(name); };\n\tLState.ptr.prototype.SetGlobal = function(name, value) {\n\t\tvar ls, name, value, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; ls = $f.ls; name = $f.name; value = $f.value; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t$r = ls.SetField(ls.Get(-10002), name, value); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.SetGlobal }; } $f.ls = ls; $f.name = name; $f.value = value; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.SetGlobal = function(name, value) { return this.$val.SetGlobal(name, value); };\n\tLState.ptr.prototype.Next = function(tb, key) {\n\t\tvar key, ls, tb;\n\t\tls = this;\n\t\treturn tb.Next(key);\n\t};\n\tLState.prototype.Next = function(tb, key) { return this.$val.Next(tb, key); };\n\tLState.ptr.prototype.ObjLen = function(v1) {\n\t\tvar _r, _r$1, _r$2, _r$3, _r$4, ls, op, ret, v1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; ls = $f.ls; op = $f.op; ret = $f.ret; v1 = $f.v1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_r = v1.Type(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t/* */ if (_r === 3) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (_r === 3) { */ case 1:\n\t\t\t$s = -1; return ($assertType(v1, LString)).length;\n\t\t/* } */ case 2:\n\t\t_r$1 = ls.metaOp1(v1, \"__len\"); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\top = _r$1;\n\t\t_r$2 = op.Type(); /* */ $s = 8; case 8: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t/* */ if (_r$2 === 4) { $s = 5; continue; }\n\t\t_r$3 = v1.Type(); /* */ $s = 9; case 9: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t/* */ if (_r$3 === 7) { $s = 6; continue; }\n\t\t/* */ $s = 7; continue;\n\t\t/* if (_r$2 === 4) { */ case 5:\n\t\t\tls.Push(op);\n\t\t\tls.Push(v1);\n\t\t\t$r = ls.Call(1, 1); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\tret = ls.reg.Pop();\n\t\t\t_r$4 = ret.Type(); /* */ $s = 13; case 13: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t/* */ if (_r$4 === 2) { $s = 11; continue; }\n\t\t\t/* */ $s = 12; continue;\n\t\t\t/* if (_r$4 === 2) { */ case 11:\n\t\t\t\t$s = -1; return (($assertType(ret, LNumber) >> 0));\n\t\t\t/* } */ case 12:\n\t\t\t$s = 7; continue;\n\t\t/* } else if (_r$3 === 7) { */ case 6:\n\t\t\t$s = -1; return $assertType(v1, ptrType$1).Len();\n\t\t/* } */ case 7:\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.ObjLen }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f.ls = ls; $f.op = op; $f.ret = ret; $f.v1 = v1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.ObjLen = function(v1) { return this.$val.ObjLen(v1); };\n\tLState.ptr.prototype.Concat = function(values) {\n\t\tvar _i, _r, _r$1, _ref, ls, ret, top, value, values, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _r = $f._r; _r$1 = $f._r$1; _ref = $f._ref; ls = $f.ls; ret = $f.ret; top = $f.top; value = $f.value; values = $f.values; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\ttop = ls.reg.Top();\n\t\t_ref = values;\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\tvalue = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\tls.reg.Push(value);\n\t\t\t_i++;\n\t\t}\n\t\t_r = stringConcat(ls, values.$length, ls.reg.Top() - 1 >> 0); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tret = _r;\n\t\tls.reg.SetTop(top);\n\t\t_r$1 = LVAsString(ret); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r$1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.Concat }; } $f._i = _i; $f._r = _r; $f._r$1 = _r$1; $f._ref = _ref; $f.ls = ls; $f.ret = ret; $f.top = top; $f.value = value; $f.values = values; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.Concat = function(values) { return this.$val.Concat(values); };\n\tLState.ptr.prototype.LessThan = function(lhs, rhs) {\n\t\tvar _r, lhs, ls, rhs, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; lhs = $f.lhs; ls = $f.ls; rhs = $f.rhs; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_r = lessThan(ls, lhs, rhs); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.LessThan }; } $f._r = _r; $f.lhs = lhs; $f.ls = ls; $f.rhs = rhs; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.LessThan = function(lhs, rhs) { return this.$val.LessThan(lhs, rhs); };\n\tLState.ptr.prototype.Equal = function(lhs, rhs) {\n\t\tvar _r, lhs, ls, rhs, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; lhs = $f.lhs; ls = $f.ls; rhs = $f.rhs; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_r = equals(ls, lhs, rhs, false); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.Equal }; } $f._r = _r; $f.lhs = lhs; $f.ls = ls; $f.rhs = rhs; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.Equal = function(lhs, rhs) { return this.$val.Equal(lhs, rhs); };\n\tLState.ptr.prototype.RawEqual = function(lhs, rhs) {\n\t\tvar _r, lhs, ls, rhs, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; lhs = $f.lhs; ls = $f.ls; rhs = $f.rhs; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_r = equals(ls, lhs, rhs, true); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.RawEqual }; } $f._r = _r; $f.lhs = lhs; $f.ls = ls; $f.rhs = rhs; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.RawEqual = function(lhs, rhs) { return this.$val.RawEqual(lhs, rhs); };\n\tLState.ptr.prototype.Register = function(name, fn) {\n\t\tvar fn, ls, name, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; fn = $f.fn; ls = $f.ls; name = $f.name; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t$r = ls.SetGlobal(name, ls.NewFunction(fn)); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.Register }; } $f.fn = fn; $f.ls = ls; $f.name = name; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.Register = function(name, fn) { return this.$val.Register(name, fn); };\n\tLState.ptr.prototype.Load = function(reader, name) {\n\t\tvar _r, _r$1, _r$2, _r$3, _tuple, _tuple$1, chunk, err, ls, name, proto, reader, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; chunk = $f.chunk; err = $f.err; ls = $f.ls; name = $f.name; proto = $f.proto; reader = $f.reader; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_r = parse.Parse(reader, name); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tchunk = _tuple[0];\n\t\terr = _tuple[1];\n\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 2:\n\t\t\t_r$1 = newAPIErrorE(0, err); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return [ptrType$7.nil, _r$1];\n\t\t/* } */ case 3:\n\t\t_r$2 = Compile(chunk, name); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t_tuple$1 = _r$2;\n\t\tproto = _tuple$1[0];\n\t\terr = _tuple$1[1];\n\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 6; continue; }\n\t\t/* */ $s = 7; continue;\n\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 6:\n\t\t\t_r$3 = newAPIErrorE(0, err); /* */ $s = 8; case 8: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return [ptrType$7.nil, _r$3];\n\t\t/* } */ case 7:\n\t\t$s = -1; return [newLFunctionL(proto, ls.currentEnv(), 0), $ifaceNil];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.Load }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.chunk = chunk; $f.err = err; $f.ls = ls; $f.name = name; $f.proto = proto; $f.reader = reader; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.Load = function(reader, name) { return this.$val.Load(reader, name); };\n\tLState.ptr.prototype.Call = function(nargs, nret) {\n\t\tvar ls, nargs, nret, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; ls = $f.ls; nargs = $f.nargs; nret = $f.nret; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t$r = ls.callR(nargs, nret, -1); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.Call }; } $f.ls = ls; $f.nargs = nargs; $f.nret = nret; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.Call = function(nargs, nret) { return this.$val.Call(nargs, nret); };\n\tLState.ptr.prototype.PCall = function(nargs, nret, errfunc) {\n\t\tvar base, err, errfunc, ls, nargs, nret, oldpanic, sp, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; base = $f.base; err = $f.err; errfunc = $f.errfunc; ls = $f.ls; nargs = $f.nargs; nret = $f.nret; oldpanic = $f.oldpanic; sp = $f.sp; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tbase = [base];\n\t\terr = [err];\n\t\terrfunc = [errfunc];\n\t\tls = [ls];\n\t\toldpanic = [oldpanic];\n\t\tsp = [sp];\n\t\terr[0] = $ifaceNil;\n\t\tls[0] = this;\n\t\terr[0] = $ifaceNil;\n\t\tsp[0] = ls[0].stack.Sp();\n\t\tbase[0] = (ls[0].reg.Top() - nargs >> 0) - 1 >> 0;\n\t\toldpanic[0] = ls[0].Panic;\n\t\tls[0].Panic = panicWithoutTraceback;\n\t\tif (!(errfunc[0] === ptrType$7.nil)) {\n\t\t\tls[0].hasErrorFunc = true;\n\t\t}\n\t\t$deferred.push([(function(base, err, errfunc, ls, oldpanic, sp) { return function $b() {\n\t\t\tvar _arg, _r, _r$1, _r$2, _r$3, _r$4, _tuple, buf, ok, rcv, $s, $deferred, $r;\n\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _tuple = $f._tuple; buf = $f.buf; ok = $f.ok; rcv = $f.rcv; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\t\tls[0].Panic = oldpanic[0];\n\t\t\tls[0].hasErrorFunc = false;\n\t\t\trcv = $recover();\n\t\t\t/* */ if (!($interfaceIsEqual(rcv, $ifaceNil))) { $s = 1; continue; }\n\t\t\t/* */ $s = 2; continue;\n\t\t\t/* if (!($interfaceIsEqual(rcv, $ifaceNil))) { */ case 1:\n\t\t\t\t_tuple = $assertType(rcv, ptrType$11, true);\n\t\t\t\tok = _tuple[1];\n\t\t\t\t/* */ if (!ok) { $s = 3; continue; }\n\t\t\t\t/* */ $s = 4; continue;\n\t\t\t\t/* if (!ok) { */ case 3:\n\t\t\t\t\t_r = fmt.Sprint(new sliceType$6([rcv])); /* */ $s = 6; case 6: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t\t_arg = _r;\n\t\t\t\t\t_r$1 = newAPIErrorS(4, _arg); /* */ $s = 7; case 7: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t\terr[0] = _r$1;\n\t\t\t\t\t/* */ if (ls[0].Options.IncludeGoStackTrace) { $s = 8; continue; }\n\t\t\t\t\t/* */ $s = 9; continue;\n\t\t\t\t\t/* if (ls[0].Options.IncludeGoStackTrace) { */ case 8:\n\t\t\t\t\t\tbuf = $makeSlice(sliceType$20, 4096);\n\t\t\t\t\t\truntime.Stack(buf, false);\n\t\t\t\t\t\t_r$2 = strings.Trim(($bytesToString(buf)), \"\\x00\"); /* */ $s = 10; case 10: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t\t\t_r$3 = ls[0].stackTrace(0); /* */ $s = 11; case 11: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t\t\t$assertType(err[0], ptrType$11).StackTrace = _r$2 + \"\\n\" + _r$3;\n\t\t\t\t\t/* } */ case 9:\n\t\t\t\t\t$s = 5; continue;\n\t\t\t\t/* } else { */ case 4:\n\t\t\t\t\terr[0] = $assertType(rcv, ptrType$11);\n\t\t\t\t/* } */ case 5:\n\t\t\t\t/* */ if (!(errfunc[0] === ptrType$7.nil)) { $s = 12; continue; }\n\t\t\t\t/* */ if ($assertType(err[0], ptrType$11).StackTrace.length === 0) { $s = 13; continue; }\n\t\t\t\t/* */ $s = 14; continue;\n\t\t\t\t/* if (!(errfunc[0] === ptrType$7.nil)) { */ case 12:\n\t\t\t\t\tls[0].Push(errfunc[0]);\n\t\t\t\t\tls[0].Push($assertType(err[0], ptrType$11).Object);\n\t\t\t\t\tls[0].Panic = panicWithoutTraceback;\n\t\t\t\t\t$deferred.push([(function(base, err, errfunc, ls, oldpanic, sp) { return function $b() {\n\t\t\t\t\t\tvar _arg$1, _r$4, _r$5, _r$6, _r$7, _r$8, _tuple$1, buf$1, ok$1, rcv$1, $s, $r;\n\t\t\t\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg$1 = $f._arg$1; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _r$8 = $f._r$8; _tuple$1 = $f._tuple$1; buf$1 = $f.buf$1; ok$1 = $f.ok$1; rcv$1 = $f.rcv$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t\t\t\t\tls[0].Panic = oldpanic[0];\n\t\t\t\t\t\trcv$1 = $recover();\n\t\t\t\t\t\t/* */ if (!($interfaceIsEqual(rcv$1, $ifaceNil))) { $s = 1; continue; }\n\t\t\t\t\t\t/* */ $s = 2; continue;\n\t\t\t\t\t\t/* if (!($interfaceIsEqual(rcv$1, $ifaceNil))) { */ case 1:\n\t\t\t\t\t\t\t_tuple$1 = $assertType(rcv$1, ptrType$11, true);\n\t\t\t\t\t\t\tok$1 = _tuple$1[1];\n\t\t\t\t\t\t\t/* */ if (!ok$1) { $s = 3; continue; }\n\t\t\t\t\t\t\t/* */ $s = 4; continue;\n\t\t\t\t\t\t\t/* if (!ok$1) { */ case 3:\n\t\t\t\t\t\t\t\t_r$4 = fmt.Sprint(new sliceType$6([rcv$1])); /* */ $s = 6; case 6: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t\t_arg$1 = _r$4;\n\t\t\t\t\t\t\t\t_r$5 = newAPIErrorS(4, _arg$1); /* */ $s = 7; case 7: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t\terr[0] = _r$5;\n\t\t\t\t\t\t\t\t/* */ if (ls[0].Options.IncludeGoStackTrace) { $s = 8; continue; }\n\t\t\t\t\t\t\t\t/* */ $s = 9; continue;\n\t\t\t\t\t\t\t\t/* if (ls[0].Options.IncludeGoStackTrace) { */ case 8:\n\t\t\t\t\t\t\t\t\tbuf$1 = $makeSlice(sliceType$20, 4096);\n\t\t\t\t\t\t\t\t\truntime.Stack(buf$1, false);\n\t\t\t\t\t\t\t\t\t_r$6 = strings.Trim(($bytesToString(buf$1)), \"\\x00\"); /* */ $s = 10; case 10: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t\t\t_r$7 = ls[0].stackTrace(0); /* */ $s = 11; case 11: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t\t\t$assertType(err[0], ptrType$11).StackTrace = _r$6 + _r$7;\n\t\t\t\t\t\t\t\t/* } */ case 9:\n\t\t\t\t\t\t\t\t$s = 5; continue;\n\t\t\t\t\t\t\t/* } else { */ case 4:\n\t\t\t\t\t\t\t\terr[0] = $assertType(rcv$1, ptrType$11);\n\t\t\t\t\t\t\t\t_r$8 = ls[0].stackTrace(0); /* */ $s = 12; case 12: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t\t$assertType(err[0], ptrType$11).StackTrace = _r$8;\n\t\t\t\t\t\t\t/* } */ case 5:\n\t\t\t\t\t\t/* } */ case 2:\n\t\t\t\t\t\t$s = -1; return;\n\t\t\t\t\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f._arg$1 = _arg$1; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._r$8 = _r$8; $f._tuple$1 = _tuple$1; $f.buf$1 = buf$1; $f.ok$1 = ok$1; $f.rcv$1 = rcv$1; $f.$s = $s; $f.$r = $r; return $f;\n\t\t\t\t\t}; })(base, err, errfunc, ls, oldpanic, sp), []]);\n\t\t\t\t\t$r = ls[0].Call(1, 1); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\terr[0] = newAPIError(3, ls[0].Get(-1));\n\t\t\t\t\t$s = 14; continue;\n\t\t\t\t/* } else if ($assertType(err[0], ptrType$11).StackTrace.length === 0) { */ case 13:\n\t\t\t\t\t_r$4 = ls[0].stackTrace(0); /* */ $s = 16; case 16: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\t\t$assertType(err[0], ptrType$11).StackTrace = _r$4;\n\t\t\t\t/* } */ case 14:\n\t\t\t\tls[0].stack.SetSp(sp[0]);\n\t\t\t\tls[0].currentFrame = ls[0].stack.Last();\n\t\t\t\tls[0].reg.SetTop(base[0]);\n\t\t\t/* } */ case 2:\n\t\t\tls[0].stack.SetSp(sp[0]);\n\t\t\tif (sp[0] === 0) {\n\t\t\t\tls[0].currentFrame = ptrType$10.nil;\n\t\t\t}\n\t\t\t$s = -1; return;\n\t\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: $b }; } $f._arg = _arg; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._tuple = _tuple; $f.buf = buf; $f.ok = ok; $f.rcv = rcv; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t\t}; })(base, err, errfunc, ls, oldpanic, sp), []]);\n\t\t$r = ls[0].Call(nargs, nret); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return err[0];\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if (!$curGoroutine.asleep) { return  err[0]; } if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: LState.ptr.prototype.PCall }; } $f.base = base; $f.err = err; $f.errfunc = errfunc; $f.ls = ls; $f.nargs = nargs; $f.nret = nret; $f.oldpanic = oldpanic; $f.sp = sp; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tLState.prototype.PCall = function(nargs, nret, errfunc) { return this.$val.PCall(nargs, nret, errfunc); };\n\tLState.ptr.prototype.GPCall = function(fn, data) {\n\t\tvar _r, data, fn, ls, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; data = $f.data; fn = $f.fn; ls = $f.ls; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tls.Push(newLFunctionG(fn, ls.currentEnv(), 0));\n\t\tls.Push(data);\n\t\t_r = ls.PCall(1, -1, ptrType$7.nil); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.GPCall }; } $f._r = _r; $f.data = data; $f.fn = fn; $f.ls = ls; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.GPCall = function(fn, data) { return this.$val.GPCall(fn, data); };\n\tLState.ptr.prototype.CallByParam = function(cp, args) {\n\t\tvar _i, _r, _ref, arg, args, cp, ls, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _r = $f._r; _ref = $f._ref; arg = $f.arg; args = $f.args; cp = $f.cp; ls = $f.ls; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tls.Push(cp.Fn);\n\t\t_ref = args;\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\targ = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\tls.Push(arg);\n\t\t\t_i++;\n\t\t}\n\t\t/* */ if (cp.Protect) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (cp.Protect) { */ case 1:\n\t\t\t_r = ls.PCall(args.$length, cp.NRet, cp.Handler); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return _r;\n\t\t/* } */ case 2:\n\t\t$r = ls.Call(args.$length, cp.NRet); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.CallByParam }; } $f._i = _i; $f._r = _r; $f._ref = _ref; $f.arg = arg; $f.args = args; $f.cp = cp; $f.ls = ls; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.CallByParam = function(cp, args) { return this.$val.CallByParam(cp, args); };\n\tLState.ptr.prototype.GetMetatable = function(obj) {\n\t\tvar _r, ls, obj, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; ls = $f.ls; obj = $f.obj; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_r = ls.metatable(obj, false); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.GetMetatable }; } $f._r = _r; $f.ls = ls; $f.obj = obj; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.GetMetatable = function(obj) { return this.$val.GetMetatable(obj); };\n\tLState.ptr.prototype.SetMetatable = function(obj, mt) {\n\t\tvar _arg, _key, _r, _r$1, _r$2, _ref, _ref$1, ls, mt, obj, v, v$1, v$2, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _key = $f._key; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _ref = $f._ref; _ref$1 = $f._ref$1; ls = $f.ls; mt = $f.mt; obj = $f.obj; v = $f.v; v$1 = $f.v$1; v$2 = $f.v$2; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_ref = mt;\n\t\t/* */ if ($assertType(_ref, ptrType$68, true)[1] || $assertType(_ref, ptrType$1, true)[1]) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if ($assertType(_ref, ptrType$68, true)[1] || $assertType(_ref, ptrType$1, true)[1]) { */ case 1:\n\t\t\t$s = 3; continue;\n\t\t/* } else { */ case 2:\n\t\t\t_r = mt.Type(); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_r$1 = new LValueType(_r).String(); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_arg = new $String(_r$1);\n\t\t\t$r = ls.RaiseError(\"metatable must be a table or nil, but got %v\", new sliceType$6([_arg])); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 3:\n\t\t_ref$1 = obj;\n\t\t/* */ if ($assertType(_ref$1, ptrType$1, true)[1]) { $s = 7; continue; }\n\t\t/* */ if ($assertType(_ref$1, ptrType$8, true)[1]) { $s = 8; continue; }\n\t\t/* */ $s = 9; continue;\n\t\t/* if ($assertType(_ref$1, ptrType$1, true)[1]) { */ case 7:\n\t\t\tv = _ref$1.$val;\n\t\t\tv.Metatable = mt;\n\t\t\t$s = 10; continue;\n\t\t/* } else if ($assertType(_ref$1, ptrType$8, true)[1]) { */ case 8:\n\t\t\tv$1 = _ref$1.$val;\n\t\t\tv$1.Metatable = mt;\n\t\t\t$s = 10; continue;\n\t\t/* } else { */ case 9:\n\t\t\tv$2 = _ref$1;\n\t\t\t_r$2 = obj.Type(); /* */ $s = 11; case 11: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t_key = ((_r$2 >> 0)); (ls.G.builtinMts || $throwRuntimeError(\"assignment to entry in nil map\"))[$Int.keyFor(_key)] = { k: _key, v: mt };\n\t\t/* } */ case 10:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.SetMetatable }; } $f._arg = _arg; $f._key = _key; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._ref = _ref; $f._ref$1 = _ref$1; $f.ls = ls; $f.mt = mt; $f.obj = obj; $f.v = v; $f.v$1 = v$1; $f.v$2 = v$2; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.SetMetatable = function(obj, mt) { return this.$val.SetMetatable(obj, mt); };\n\tLState.ptr.prototype.Status = function(th) {\n\t\tvar ls, status, th;\n\t\tls = this;\n\t\tstatus = \"suspended\";\n\t\tif (th.Dead) {\n\t\t\tstatus = \"dead\";\n\t\t} else if (ls.G.CurrentThread === th) {\n\t\t\tstatus = \"running\";\n\t\t} else if (ls.Parent === th) {\n\t\t\tstatus = \"normal\";\n\t\t}\n\t\treturn status;\n\t};\n\tLState.prototype.Status = function(th) { return this.$val.Status(th); };\n\tLState.ptr.prototype.Resume = function(th, fn, args) {\n\t\tvar _i, _i$1, _ref, _ref$1, arg, arg$1, args, base, cf, fn, haserror, idx, isstarted, ls, ret, th, top, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _i$1 = $f._i$1; _ref = $f._ref; _ref$1 = $f._ref$1; arg = $f.arg; arg$1 = $f.arg$1; args = $f.args; base = $f.base; cf = $f.cf; fn = $f.fn; haserror = $f.haserror; idx = $f.idx; isstarted = $f.isstarted; ls = $f.ls; ret = $f.ret; th = $f.th; top = $f.top; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\tisstarted = th.isStarted();\n\t\tif (!isstarted) {\n\t\t\tbase = 0;\n\t\t\tth.stack.Push(new callFrame.ptr(0, fn, ptrType$10.nil, 0, base, base + 1 >> 0, base, 0, -1, 0));\n\t\t}\n\t\tif (ls.G.CurrentThread === th) {\n\t\t\t$s = -1; return [2, newAPIErrorS(2, \"can not resume a running thread\"), sliceType$7.nil];\n\t\t}\n\t\tif (th.Dead) {\n\t\t\t$s = -1; return [2, newAPIErrorS(2, \"can not resume a dead thread\"), sliceType$7.nil];\n\t\t}\n\t\tth.Parent = ls;\n\t\tls.G.CurrentThread = th;\n\t\tif (!isstarted) {\n\t\t\tcf = th.stack.Last();\n\t\t\tth.currentFrame = cf;\n\t\t\tth.SetTop(0);\n\t\t\t_ref = args;\n\t\t\t_i = 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\t\targ = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\t\tth.Push(arg);\n\t\t\t\t_i++;\n\t\t\t}\n\t\t\tcf.NArgs = args.$length;\n\t\t\tth.initCallFrame(cf);\n\t\t\tth.Panic = panicWithoutTraceback;\n\t\t} else {\n\t\t\t_ref$1 = args;\n\t\t\t_i$1 = 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(_i$1 < _ref$1.$length)) { break; }\n\t\t\t\targ$1 = ((_i$1 < 0 || _i$1 >= _ref$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref$1.$array[_ref$1.$offset + _i$1]);\n\t\t\t\tth.Push(arg$1);\n\t\t\t\t_i$1++;\n\t\t\t}\n\t\t}\n\t\ttop = ls.GetTop();\n\t\t$r = threadRun(th); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\thaserror = LVIsFalse(ls.Get(top + 1 >> 0));\n\t\tret = $makeSlice(sliceType$7, 0, ls.GetTop());\n\t\tidx = top + 2 >> 0;\n\t\twhile (true) {\n\t\t\tif (!(idx <= ls.GetTop())) { break; }\n\t\t\tret = $append(ret, ls.Get(idx));\n\t\t\tidx = idx + (1) >> 0;\n\t\t}\n\t\tif (ret.$length === 0) {\n\t\t\tret = $append(ret, $pkg.LNil);\n\t\t}\n\t\tls.SetTop(top);\n\t\tif (haserror) {\n\t\t\t$s = -1; return [2, newAPIError(2, (0 >= ret.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : ret.$array[ret.$offset + 0])), sliceType$7.nil];\n\t\t} else if (th.stack.IsEmpty()) {\n\t\t\t$s = -1; return [0, $ifaceNil, ret];\n\t\t}\n\t\t$s = -1; return [1, $ifaceNil, ret];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.Resume }; } $f._i = _i; $f._i$1 = _i$1; $f._ref = _ref; $f._ref$1 = _ref$1; $f.arg = arg; $f.arg$1 = arg$1; $f.args = args; $f.base = base; $f.cf = cf; $f.fn = fn; $f.haserror = haserror; $f.idx = idx; $f.isstarted = isstarted; $f.ls = ls; $f.ret = ret; $f.th = th; $f.top = top; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.Resume = function(th, fn, args) { return this.$val.Resume(th, fn, args); };\n\tLState.ptr.prototype.Yield = function(values) {\n\t\tvar _i, _ref, ls, lv, values;\n\t\tls = this;\n\t\tls.SetTop(0);\n\t\t_ref = values;\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\tlv = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\tls.Push(lv);\n\t\t\t_i++;\n\t\t}\n\t\treturn -1;\n\t};\n\tLState.prototype.Yield = function(values) { return this.$val.Yield(values); };\n\tLState.ptr.prototype.XMoveTo = function(other, n) {\n\t\tvar i, ls, n, other, top;\n\t\tls = this;\n\t\tif (ls === other) {\n\t\t\treturn;\n\t\t}\n\t\ttop = ls.GetTop();\n\t\tn = intMin(n, top);\n\t\ti = n;\n\t\twhile (true) {\n\t\t\tif (!(i > 0)) { break; }\n\t\t\tother.Push(ls.Get((top - i >> 0) + 1 >> 0));\n\t\t\ti = i - (1) >> 0;\n\t\t}\n\t\tls.SetTop(top - n >> 0);\n\t};\n\tLState.prototype.XMoveTo = function(other, n) { return this.$val.XMoveTo(other, n); };\n\tLState.ptr.prototype.SetMx = function(mx) {\n\t\tvar ls, mx, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; ls = $f.ls; mx = $f.mx; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = [ls];\n\t\tmx = [mx];\n\t\tls[0] = this;\n\t\t/* */ if (!(ls[0].Parent === ptrType$9.nil)) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!(ls[0].Parent === ptrType$9.nil)) { */ case 1:\n\t\t\t$r = ls[0].RaiseError(\"sub threads are not allowed to set a memory limit\", new sliceType$6([])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 2:\n\t\t$go((function(ls, mx) { return function $b() {\n\t\t\tvar _r, limit, s, x, $s, $r;\n\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; limit = $f.limit; s = $f.s; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t\ts = [s];\n\t\t\tlimit = (new $Uint64(0, ($imul(($imul(mx[0], 1024)), 1024))));\n\t\t\ts[0] = new runtime.MemStats.ptr(new $Uint64(0, 0), new $Uint64(0, 0), new $Uint64(0, 0), new $Uint64(0, 0), new $Uint64(0, 0), new $Uint64(0, 0), new $Uint64(0, 0), new $Uint64(0, 0), new $Uint64(0, 0), new $Uint64(0, 0), new $Uint64(0, 0), new $Uint64(0, 0), new $Uint64(0, 0), new $Uint64(0, 0), new $Uint64(0, 0), new $Uint64(0, 0), new $Uint64(0, 0), new $Uint64(0, 0), new $Uint64(0, 0), new $Uint64(0, 0), new $Uint64(0, 0), new $Uint64(0, 0), new $Uint64(0, 0), new $Uint64(0, 0), arrayType$2.zero(), arrayType$2.zero(), 0, 0, false, false, arrayType$3.zero());\n\t\t\t/* while (true) { */ case 1:\n\t\t\t\t/* if (!(ls[0].stop === 0)) { break; } */ if(!(ls[0].stop === 0)) { $s = 2; continue; }\n\t\t\t\truntime.ReadMemStats(s[0]);\n\t\t\t\t/* */ if ((x = s[0].Alloc, (x.$high > limit.$high || (x.$high === limit.$high && x.$low >= limit.$low)))) { $s = 3; continue; }\n\t\t\t\t/* */ $s = 4; continue;\n\t\t\t\t/* if ((x = s[0].Alloc, (x.$high > limit.$high || (x.$high === limit.$high && x.$low >= limit.$low)))) { */ case 3:\n\t\t\t\t\t_r = fmt.Println(new sliceType$6([new $String(\"out of memory\")])); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t\t_r;\n\t\t\t\t\tos.Exit(3);\n\t\t\t\t/* } */ case 4:\n\t\t\t\t$r = time.Sleep(new time.Duration(0, 100000000)); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ $s = 1; continue; case 2:\n\t\t\t$s = -1; return;\n\t\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f._r = _r; $f.limit = limit; $f.s = s; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t\t}; })(ls, mx), []);\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.SetMx }; } $f.ls = ls; $f.mx = mx; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.SetMx = function(mx) { return this.$val.SetMx(mx); };\n\tLState.ptr.prototype.SetContext = function(ctx) {\n\t\tvar ctx, ls;\n\t\tls = this;\n\t\tls.mainLoop = mainLoopWithContext;\n\t\tls.ctx = ctx;\n\t};\n\tLState.prototype.SetContext = function(ctx) { return this.$val.SetContext(ctx); };\n\tLState.ptr.prototype.Context = function() {\n\t\tvar ls;\n\t\tls = this;\n\t\treturn ls.ctx;\n\t};\n\tLState.prototype.Context = function() { return this.$val.Context(); };\n\tLState.ptr.prototype.RemoveContext = function() {\n\t\tvar ls, oldctx;\n\t\tls = this;\n\t\toldctx = ls.ctx;\n\t\tls.mainLoop = mainLoop;\n\t\tls.ctx = $ifaceNil;\n\t\treturn oldctx;\n\t};\n\tLState.prototype.RemoveContext = function() { return this.$val.RemoveContext(); };\n\tOpenString = function(L) {\n\t\tvar L, _key, _r, gmatch, mod, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _key = $f._key; _r = $f._r; gmatch = $f.gmatch; mod = $f.mod; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tmod = ptrType$1.nil;\n\t\t_r = L.RegisterModule(\"string\", strFuncs); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tmod = $assertType(_r, ptrType$1);\n\t\tgmatch = L.NewClosure(strGmatch, new sliceType$7([L.NewFunction(strGmatchIter)]));\n\t\tmod.RawSetString(\"gmatch\", gmatch);\n\t\tmod.RawSetString(\"gfind\", gmatch);\n\t\tmod.RawSetString(\"__index\", mod);\n\t\t_key = 3; (L.G.builtinMts || $throwRuntimeError(\"assignment to entry in nil map\"))[$Int.keyFor(_key)] = { k: _key, v: mod };\n\t\tL.Push(mod);\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: OpenString }; } $f.L = L; $f._key = _key; $f._r = _r; $f.gmatch = gmatch; $f.mod = mod; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.OpenString = OpenString;\n\tstrByte = function(L) {\n\t\tvar L, _r, _r$1, _r$2, end, i, l, start, str, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; end = $f.end; i = $f.i; l = $f.l; start = $f.start; str = $f.str; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckString(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tstr = _r;\n\t\t_r$1 = L.OptInt(2, 1); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tstart = _r$1 - 1 >> 0;\n\t\t_r$2 = L.OptInt(3, -1); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\tend = _r$2;\n\t\tl = str.length;\n\t\tif (start < 0) {\n\t\t\tstart = (l + start >> 0) + 1 >> 0;\n\t\t}\n\t\tif (end < 0) {\n\t\t\tend = (l + end >> 0) + 1 >> 0;\n\t\t}\n\t\tif (L.GetTop() === 2) {\n\t\t\tif (start < 0 || start >= l) {\n\t\t\t\t$s = -1; return 0;\n\t\t\t}\n\t\t\tL.Push(new LNumber((str.charCodeAt(start))));\n\t\t\t$s = -1; return 1;\n\t\t}\n\t\tstart = intMax(start, 0);\n\t\tend = intMin(end, l);\n\t\tif (end < 0 || end <= start || start >= l) {\n\t\t\t$s = -1; return 0;\n\t\t}\n\t\ti = start;\n\t\twhile (true) {\n\t\t\tif (!(i < end)) { break; }\n\t\t\tL.Push(new LNumber((str.charCodeAt(i))));\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\t$s = -1; return end - start >> 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: strByte }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.end = end; $f.i = i; $f.l = l; $f.start = start; $f.str = str; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tstrChar = function(L) {\n\t\tvar L, _r, bytes, i, top, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; bytes = $f.bytes; i = $f.i; top = $f.top; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\ttop = L.GetTop();\n\t\tbytes = $makeSlice(sliceType$20, L.GetTop());\n\t\ti = 1;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(i <= top)) { break; } */ if(!(i <= top)) { $s = 2; continue; }\n\t\t\t_r = L.CheckInt(i); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t(x = i - 1 >> 0, ((x < 0 || x >= bytes.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : bytes.$array[bytes.$offset + x] = ((_r << 24 >>> 24))));\n\t\t\ti = i + (1) >> 0;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\tL.Push(new LString((($bytesToString(bytes)))));\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: strChar }; } $f.L = L; $f._r = _r; $f.bytes = bytes; $f.i = i; $f.top = top; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tstrDump = function(L) {\n\t\tvar L, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = L.RaiseError(\"GopherLua does not support the string.dump\", new sliceType$6([])); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: strDump }; } $f.L = L; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tstrFind = function(L) {\n\t\tvar L, _arg, _arg$1, _q, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _tuple, err, i, init$4, md, mds, pattern, plain, pos, str, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _arg = $f._arg; _arg$1 = $f._arg$1; _q = $f._q; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _tuple = $f._tuple; err = $f.err; i = $f.i; init$4 = $f.init$4; md = $f.md; mds = $f.mds; pattern = $f.pattern; plain = $f.plain; pos = $f.pos; str = $f.str; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckString(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tstr = _r;\n\t\t_r$1 = L.CheckString(2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tpattern = _r$1;\n\t\tif (pattern.length === 0) {\n\t\t\tL.Push(new LNumber(1));\n\t\t\tL.Push(new LNumber(0));\n\t\t\t$s = -1; return 2;\n\t\t}\n\t\t_arg = str;\n\t\t_r$2 = L.OptInt(3, 1); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t_arg$1 = _r$2;\n\t\t_r$3 = luaIndex2StringIndex(_arg, _arg$1, true); /* */ $s = 4; case 4: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\tinit$4 = _r$3;\n\t\tplain = false;\n\t\tif (L.GetTop() === 4) {\n\t\t\tplain = LVAsBool(L.Get(4));\n\t\t}\n\t\tif (plain) {\n\t\t\tpos = strings.Index($substring(str, init$4), pattern);\n\t\t\tif (pos < 0) {\n\t\t\t\tL.Push($pkg.LNil);\n\t\t\t\t$s = -1; return 1;\n\t\t\t}\n\t\t\tL.Push(new LNumber(((init$4 + pos >> 0)) + 1));\n\t\t\tL.Push(new LNumber((((init$4 + pos >> 0) + pattern.length >> 0))));\n\t\t\t$s = -1; return 2;\n\t\t}\n\t\t_r$4 = pm.Find(pattern, unsafeFastStringToReadOnlyBytes(str), init$4, 1); /* */ $s = 5; case 5: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t_tuple = _r$4;\n\t\tmds = _tuple[0];\n\t\terr = _tuple[1];\n\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 6; continue; }\n\t\t/* */ $s = 7; continue;\n\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 6:\n\t\t\t_r$5 = err.Error(); /* */ $s = 8; case 8: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t$r = L.RaiseError(_r$5, new sliceType$6([])); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 7:\n\t\tif (mds.$length === 0) {\n\t\t\tL.Push($pkg.LNil);\n\t\t\t$s = -1; return 1;\n\t\t}\n\t\tmd = (0 >= mds.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : mds.$array[mds.$offset + 0]);\n\t\tL.Push(new LNumber(((md.Capture(0) + 1 >> 0))));\n\t\tL.Push(new LNumber((md.Capture(1))));\n\t\ti = 2;\n\t\twhile (true) {\n\t\t\tif (!(i < md.CaptureLength())) { break; }\n\t\t\tif (md.IsPosCapture(i)) {\n\t\t\t\tL.Push(new LNumber((md.Capture(i))));\n\t\t\t} else {\n\t\t\t\tL.Push(new LString(($substring(str, md.Capture(i), md.Capture(i + 1 >> 0)))));\n\t\t\t}\n\t\t\ti = i + (2) >> 0;\n\t\t}\n\t\t$s = -1; return (_q = md.CaptureLength() / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError(\"integer divide by zero\")) + 1 >> 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: strFind }; } $f.L = L; $f._arg = _arg; $f._arg$1 = _arg$1; $f._q = _q; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._tuple = _tuple; $f.err = err; $f.i = i; $f.init$4 = init$4; $f.md = md; $f.mds = mds; $f.pattern = pattern; $f.plain = plain; $f.pos = pos; $f.str = str; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tstrFormat = function(L) {\n\t\tvar L, _r, _r$1, args, i, npat, str, top, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; args = $f.args; i = $f.i; npat = $f.npat; str = $f.str; top = $f.top; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckString(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tstr = _r;\n\t\targs = $makeSlice(sliceType$6, (L.GetTop() - 1 >> 0));\n\t\ttop = L.GetTop();\n\t\ti = 2;\n\t\twhile (true) {\n\t\t\tif (!(i <= top)) { break; }\n\t\t\t(x = i - 2 >> 0, ((x < 0 || x >= args.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : args.$array[args.$offset + x] = L.Get(i)));\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\tnpat = strings.Count(str, \"%\") - strings.Count(str, \"%%\") >> 0;\n\t\t_r$1 = fmt.Sprintf(str, $subslice(args, 0, intMin(npat, args.$length))); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$r = L.Push(new LString((_r$1))); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: strFormat }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.args = args; $f.i = i; $f.npat = npat; $f.str = str; $f.top = top; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tstrGsub = function(L) {\n\t\tvar L, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _ref, _tuple, err, limit, lv, lv$1, lv$2, mds, pat, repl, str, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _r$8 = $f._r$8; _ref = $f._ref; _tuple = $f._tuple; err = $f.err; limit = $f.limit; lv = $f.lv; lv$1 = $f.lv$1; lv$2 = $f.lv$2; mds = $f.mds; pat = $f.pat; repl = $f.repl; str = $f.str; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckString(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tstr = _r;\n\t\t_r$1 = L.CheckString(2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tpat = _r$1;\n\t\t$r = L.CheckTypes(3, new sliceType$8([3, 7, 4])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t_r$2 = L.CheckAny(3); /* */ $s = 4; case 4: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\trepl = _r$2;\n\t\t_r$3 = L.OptInt(4, -1); /* */ $s = 5; case 5: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\tlimit = _r$3;\n\t\t_r$4 = pm.Find(pat, unsafeFastStringToReadOnlyBytes(str), 0, limit); /* */ $s = 6; case 6: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t_tuple = _r$4;\n\t\tmds = _tuple[0];\n\t\terr = _tuple[1];\n\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 7; continue; }\n\t\t/* */ $s = 8; continue;\n\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 7:\n\t\t\t_r$5 = err.Error(); /* */ $s = 9; case 9: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t$r = L.RaiseError(_r$5, new sliceType$6([])); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 8:\n\t\tif (mds.$length === 0) {\n\t\t\tL.SetTop(1);\n\t\t\tL.Push(new LNumber(0));\n\t\t\t$s = -1; return 2;\n\t\t}\n\t\t_ref = repl;\n\t\t/* */ if ($assertType(_ref, LString, true)[1]) { $s = 11; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$1, true)[1]) { $s = 12; continue; }\n\t\t/* */ if ($assertType(_ref, ptrType$7, true)[1]) { $s = 13; continue; }\n\t\t/* */ $s = 14; continue;\n\t\t/* if ($assertType(_ref, LString, true)[1]) { */ case 11:\n\t\t\tlv = _ref.$val;\n\t\t\t_r$6 = strGsubStr(L, str, (lv), mds); /* */ $s = 15; case 15: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t\t$r = L.Push(new LString((_r$6))); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 14; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$1, true)[1]) { */ case 12:\n\t\t\tlv$1 = _ref.$val;\n\t\t\t_r$7 = strGsubTable(L, str, lv$1, mds); /* */ $s = 17; case 17: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }\n\t\t\t$r = L.Push(new LString((_r$7))); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = 14; continue;\n\t\t/* } else if ($assertType(_ref, ptrType$7, true)[1]) { */ case 13:\n\t\t\tlv$2 = _ref.$val;\n\t\t\t_r$8 = strGsubFunc(L, str, lv$2, mds); /* */ $s = 19; case 19: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }\n\t\t\t$r = L.Push(new LString((_r$8))); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 14:\n\t\tL.Push(new LNumber((mds.$length)));\n\t\t$s = -1; return 2;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: strGsub }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._r$8 = _r$8; $f._ref = _ref; $f._tuple = _tuple; $f.err = err; $f.limit = limit; $f.lv = lv; $f.lv$1 = lv$1; $f.lv$2 = lv$2; $f.mds = mds; $f.pat = pat; $f.repl = repl; $f.str = str; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcheckCaptureIndex = function(L, m, idx) {\n\t\tvar L, idx, m, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; idx = $f.idx; m = $f.m; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tif (idx <= 2) {\n\t\t\t$s = -1; return;\n\t\t}\n\t\t/* */ if (idx >= m.CaptureLength()) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (idx >= m.CaptureLength()) { */ case 1:\n\t\t\t$r = L.RaiseError(\"invalid capture index\", new sliceType$6([])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 2:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: checkCaptureIndex }; } $f.L = L; $f.idx = idx; $f.m = m; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcapturedString = function(L, m, str, idx) {\n\t\tvar L, _r, idx, m, str, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; idx = $f.idx; m = $f.m; str = $f.str; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = checkCaptureIndex(L, m, idx); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tif (idx >= m.CaptureLength() && (idx === 2)) {\n\t\t\tidx = 0;\n\t\t}\n\t\t/* */ if (m.IsPosCapture(idx)) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (m.IsPosCapture(idx)) { */ case 2:\n\t\t\t_r = fmt.Sprint(new sliceType$6([new $Int(m.Capture(idx))])); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return _r;\n\t\t/* } */ case 3:\n\t\t$s = -1; return $substring(str, m.Capture(idx), m.Capture(idx + 1 >> 0));\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: capturedString }; } $f.L = L; $f._r = _r; $f.idx = idx; $f.m = m; $f.str = str; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tstrGsubDoReplace = function(str, info) {\n\t\tvar _i, _ref, b1, b2, buf, index2, info, offset, oldlen, replace, str, x, x$1;\n\t\toffset = 0;\n\t\tbuf = (new sliceType$20($stringToBytes(str)));\n\t\t_ref = info;\n\t\t_i = 0;\n\t\twhile (true) {\n\t\t\tif (!(_i < _ref.$length)) { break; }\n\t\t\treplace = $clone(((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]), replaceInfo);\n\t\t\toldlen = buf.$length;\n\t\t\tb1 = $appendSlice((new sliceType$20($stringToBytes(\"\"))), $subslice(buf, 0, (offset + (x = replace.Indicies, (0 >= x.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + 0])) >> 0)));\n\t\t\tb2 = (new sliceType$20($stringToBytes(\"\")));\n\t\t\tindex2 = offset + (x$1 = replace.Indicies, (1 >= x$1.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : x$1.$array[x$1.$offset + 1])) >> 0;\n\t\t\tif (index2 <= buf.$length) {\n\t\t\t\tb2 = $appendSlice(b2, $subslice(buf, index2, buf.$length));\n\t\t\t}\n\t\t\tbuf = $appendSlice(b1, replace.String);\n\t\t\tbuf = $appendSlice(buf, b2);\n\t\t\toffset = offset + ((buf.$length - oldlen >> 0)) >> 0;\n\t\t\t_i++;\n\t\t}\n\t\treturn ($bytesToString(buf));\n\t};\n\tstrGsubStr = function(L, str, repl, matches) {\n\t\tvar L, _i, _r, _ref, _tmp, _tmp$1, _tuple, _tuple$1, c, end, eos, infoList, match, matches, repl, sc, start, str, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _i = $f._i; _r = $f._r; _ref = $f._ref; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; c = $f.c; end = $f.end; eos = $f.eos; infoList = $f.infoList; match = $f.match; matches = $f.matches; repl = $f.repl; sc = $f.sc; start = $f.start; str = $f.str; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tinfoList = $makeSlice(sliceType$23, 0, matches.$length);\n\t\t_ref = matches;\n\t\t_i = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 2; continue; }\n\t\t\tmatch = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\t_tmp = match.Capture(0);\n\t\t\t_tmp$1 = match.Capture(1);\n\t\t\tstart = _tmp;\n\t\t\tend = _tmp$1;\n\t\t\tsc = newFlagScanner(37, \"\", \"\", repl);\n\t\t\t_tuple = sc.Next();\n\t\t\tc = _tuple[0];\n\t\t\teos = _tuple[1];\n\t\t\t/* while (true) { */ case 3:\n\t\t\t\t/* if (!(!eos)) { break; } */ if(!(!eos)) { $s = 4; continue; }\n\t\t\t\t/* */ if (!sc.ChangeFlag) { $s = 5; continue; }\n\t\t\t\t/* */ $s = 6; continue;\n\t\t\t\t/* if (!sc.ChangeFlag) { */ case 5:\n\t\t\t\t\t/* */ if (sc.HasFlag) { $s = 7; continue; }\n\t\t\t\t\t/* */ $s = 8; continue;\n\t\t\t\t\t/* if (sc.HasFlag) { */ case 7:\n\t\t\t\t\t\t/* */ if (c >= 48 && c <= 57) { $s = 10; continue; }\n\t\t\t\t\t\t/* */ $s = 11; continue;\n\t\t\t\t\t\t/* if (c >= 48 && c <= 57) { */ case 10:\n\t\t\t\t\t\t\t_r = capturedString(L, match, str, $imul(2, ((((c >> 0)) - 48 >> 0)))); /* */ $s = 13; case 13: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t$r = sc.AppendString(_r); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t$s = 12; continue;\n\t\t\t\t\t\t/* } else { */ case 11:\n\t\t\t\t\t\t\tsc.AppendChar(37);\n\t\t\t\t\t\t\tsc.AppendChar(c);\n\t\t\t\t\t\t/* } */ case 12:\n\t\t\t\t\t\tsc.HasFlag = false;\n\t\t\t\t\t\t$s = 9; continue;\n\t\t\t\t\t/* } else { */ case 8:\n\t\t\t\t\t\tsc.AppendChar(c);\n\t\t\t\t\t/* } */ case 9:\n\t\t\t\t/* } */ case 6:\n\t\t\t\t_tuple$1 = sc.Next();\n\t\t\t\tc = _tuple$1[0];\n\t\t\t\teos = _tuple$1[1];\n\t\t\t/* } */ $s = 3; continue; case 4:\n\t\t\tinfoList = $append(infoList, new replaceInfo.ptr(new sliceType$12([start, end]), sc.String()));\n\t\t\t_i++;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return strGsubDoReplace(str, infoList);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: strGsubStr }; } $f.L = L; $f._i = _i; $f._r = _r; $f._ref = _ref; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.c = c; $f.end = end; $f.eos = eos; $f.infoList = infoList; $f.match = match; $f.matches = matches; $f.repl = repl; $f.sc = sc; $f.start = start; $f.str = str; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tstrGsubTable = function(L, str, repl, matches) {\n\t\tvar L, _i, _r, _r$1, _r$2, _ref, idx, infoList, match, matches, repl, str, value, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _i = $f._i; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _ref = $f._ref; idx = $f.idx; infoList = $f.infoList; match = $f.match; matches = $f.matches; repl = $f.repl; str = $f.str; value = $f.value; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tinfoList = $makeSlice(sliceType$23, 0, matches.$length);\n\t\t_ref = matches;\n\t\t_i = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 2; continue; }\n\t\t\tmatch = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\tidx = 0;\n\t\t\tif (match.CaptureLength() > 2) {\n\t\t\t\tidx = 2;\n\t\t\t}\n\t\t\tvalue = $ifaceNil;\n\t\t\t/* */ if (match.IsPosCapture(idx)) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (match.IsPosCapture(idx)) { */ case 3:\n\t\t\t\t_r = L.GetTable(repl, new LNumber((match.Capture(idx)))); /* */ $s = 6; case 6: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\tvalue = _r;\n\t\t\t\t$s = 5; continue;\n\t\t\t/* } else { */ case 4:\n\t\t\t\t_r$1 = L.GetField(repl, $substring(str, match.Capture(idx), match.Capture(idx + 1 >> 0))); /* */ $s = 7; case 7: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\tvalue = _r$1;\n\t\t\t/* } */ case 5:\n\t\t\t/* */ if (!LVIsFalse(value)) { $s = 8; continue; }\n\t\t\t/* */ $s = 9; continue;\n\t\t\t/* if (!LVIsFalse(value)) { */ case 8:\n\t\t\t\t_r$2 = LVAsString(value); /* */ $s = 10; case 10: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\tinfoList = $append(infoList, new replaceInfo.ptr(new sliceType$12([match.Capture(0), match.Capture(1)]), _r$2));\n\t\t\t/* } */ case 9:\n\t\t\t_i++;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return strGsubDoReplace(str, infoList);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: strGsubTable }; } $f.L = L; $f._i = _i; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._ref = _ref; $f.idx = idx; $f.infoList = infoList; $f.match = match; $f.matches = matches; $f.repl = repl; $f.str = str; $f.value = value; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tstrGsubFunc = function(L, str, repl, matches) {\n\t\tvar L, _i, _r, _r$1, _r$2, _ref, _tmp, _tmp$1, end, i, infoList, match, matches, nargs, repl, ret, start, str, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _i = $f._i; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _ref = $f._ref; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; end = $f.end; i = $f.i; infoList = $f.infoList; match = $f.match; matches = $f.matches; nargs = $f.nargs; repl = $f.repl; ret = $f.ret; start = $f.start; str = $f.str; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tinfoList = $makeSlice(sliceType$23, 0, matches.$length);\n\t\t_ref = matches;\n\t\t_i = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 2; continue; }\n\t\t\tmatch = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\t_tmp = match.Capture(0);\n\t\t\t_tmp$1 = match.Capture(1);\n\t\t\tstart = _tmp;\n\t\t\tend = _tmp$1;\n\t\t\tL.Push(repl);\n\t\t\tnargs = 0;\n\t\t\t/* */ if (match.CaptureLength() > 2) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (match.CaptureLength() > 2) { */ case 3:\n\t\t\t\ti = 2;\n\t\t\t\t/* while (true) { */ case 6:\n\t\t\t\t\t/* if (!(i < match.CaptureLength())) { break; } */ if(!(i < match.CaptureLength())) { $s = 7; continue; }\n\t\t\t\t\t/* */ if (match.IsPosCapture(i)) { $s = 8; continue; }\n\t\t\t\t\t/* */ $s = 9; continue;\n\t\t\t\t\t/* if (match.IsPosCapture(i)) { */ case 8:\n\t\t\t\t\t\tL.Push(new LNumber((match.Capture(i))));\n\t\t\t\t\t\t$s = 10; continue;\n\t\t\t\t\t/* } else { */ case 9:\n\t\t\t\t\t\t_r = capturedString(L, match, str, i); /* */ $s = 11; case 11: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t\t\t$r = L.Push(new LString((_r))); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t/* } */ case 10:\n\t\t\t\t\tnargs = nargs + (1) >> 0;\n\t\t\t\t\ti = i + (2) >> 0;\n\t\t\t\t/* } */ $s = 6; continue; case 7:\n\t\t\t\t$s = 5; continue;\n\t\t\t/* } else { */ case 4:\n\t\t\t\t_r$1 = capturedString(L, match, str, 0); /* */ $s = 13; case 13: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t$r = L.Push(new LString((_r$1))); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\tnargs = nargs + (1) >> 0;\n\t\t\t/* } */ case 5:\n\t\t\t$r = L.Call(nargs, 1); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\tret = L.reg.Pop();\n\t\t\t/* */ if (!LVIsFalse(ret)) { $s = 16; continue; }\n\t\t\t/* */ $s = 17; continue;\n\t\t\t/* if (!LVIsFalse(ret)) { */ case 16:\n\t\t\t\t_r$2 = LVAsString(ret); /* */ $s = 18; case 18: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\tinfoList = $append(infoList, new replaceInfo.ptr(new sliceType$12([start, end]), _r$2));\n\t\t\t/* } */ case 17:\n\t\t\t_i++;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return strGsubDoReplace(str, infoList);\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: strGsubFunc }; } $f.L = L; $f._i = _i; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._ref = _ref; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f.end = end; $f.i = i; $f.infoList = infoList; $f.match = match; $f.matches = matches; $f.nargs = nargs; $f.repl = repl; $f.ret = ret; $f.start = start; $f.str = str; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tstrGmatchIter = function(L) {\n\t\tvar L, _q, _r, i, idx, match, matches, md, str, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _q = $f._q; _r = $f._r; i = $f.i; idx = $f.idx; match = $f.match; matches = $f.matches; md = $f.md; str = $f.str; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckUserData(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tmd = $assertType(_r.Value, ptrType$69);\n\t\tstr = md.str;\n\t\tmatches = md.matches;\n\t\tidx = md.pos;\n\t\tmd.pos = md.pos + (1) >> 0;\n\t\tif (idx === matches.$length) {\n\t\t\t$s = -1; return 0;\n\t\t}\n\t\tL.Push(L.Get(1));\n\t\tmatch = ((idx < 0 || idx >= matches.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : matches.$array[matches.$offset + idx]);\n\t\tif (match.CaptureLength() === 2) {\n\t\t\tL.Push(new LString(($substring(str, match.Capture(0), match.Capture(1)))));\n\t\t\t$s = -1; return 1;\n\t\t}\n\t\ti = 2;\n\t\twhile (true) {\n\t\t\tif (!(i < match.CaptureLength())) { break; }\n\t\t\tif (match.IsPosCapture(i)) {\n\t\t\t\tL.Push(new LNumber((match.Capture(i))));\n\t\t\t} else {\n\t\t\t\tL.Push(new LString(($substring(str, match.Capture(i), match.Capture(i + 1 >> 0)))));\n\t\t\t}\n\t\t\ti = i + (2) >> 0;\n\t\t}\n\t\t$s = -1; return (_q = match.CaptureLength() / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError(\"integer divide by zero\")) - 1 >> 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: strGmatchIter }; } $f.L = L; $f._q = _q; $f._r = _r; $f.i = i; $f.idx = idx; $f.match = match; $f.matches = matches; $f.md = md; $f.str = str; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tstrGmatch = function(L) {\n\t\tvar L, _r, _r$1, _r$2, _r$3, _tuple, err, mds, pattern, str, ud, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _tuple = $f._tuple; err = $f.err; mds = $f.mds; pattern = $f.pattern; str = $f.str; ud = $f.ud; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckString(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tstr = _r;\n\t\t_r$1 = L.CheckString(2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tpattern = _r$1;\n\t\t_r$2 = pm.Find(pattern, (new sliceType$20($stringToBytes(str))), 0, -1); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t_tuple = _r$2;\n\t\tmds = _tuple[0];\n\t\terr = _tuple[1];\n\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 4; continue; }\n\t\t/* */ $s = 5; continue;\n\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 4:\n\t\t\t_r$3 = err.Error(); /* */ $s = 6; case 6: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t$r = L.RaiseError(_r$3, new sliceType$6([])); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 5:\n\t\tL.Push(L.Get(UpvalueIndex(1)));\n\t\tud = L.NewUserData();\n\t\tud.Value = new strMatchData.ptr(str, 0, mds);\n\t\tL.Push(ud);\n\t\t$s = -1; return 2;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: strGmatch }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._tuple = _tuple; $f.err = err; $f.mds = mds; $f.pattern = pattern; $f.str = str; $f.ud = ud; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tstrLen = function(L) {\n\t\tvar L, _r, str, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; str = $f.str; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckString(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tstr = _r;\n\t\tL.Push(new LNumber((str.length)));\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: strLen }; } $f.L = L; $f._r = _r; $f.str = str; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tstrLower = function(L) {\n\t\tvar L, _r, _r$1, str, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; str = $f.str; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckString(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tstr = _r;\n\t\t_r$1 = strings.ToLower(str); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$r = L.Push(new LString((_r$1))); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: strLower }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.str = str; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tstrMatch = function(L) {\n\t\tvar L, _1, _q, _r, _r$1, _r$2, _r$3, _r$4, _tuple, err, i, l, md, mds, nsubs, offset, pattern, str, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _1 = $f._1; _q = $f._q; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _tuple = $f._tuple; err = $f.err; i = $f.i; l = $f.l; md = $f.md; mds = $f.mds; nsubs = $f.nsubs; offset = $f.offset; pattern = $f.pattern; str = $f.str; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckString(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tstr = _r;\n\t\t_r$1 = L.CheckString(2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tpattern = _r$1;\n\t\t_r$2 = L.OptInt(3, 1); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\toffset = _r$2;\n\t\tl = str.length;\n\t\tif (offset < 0) {\n\t\t\toffset = (l + offset >> 0) + 1 >> 0;\n\t\t}\n\t\toffset = offset - (1) >> 0;\n\t\tif (offset < 0) {\n\t\t\toffset = 0;\n\t\t}\n\t\t_r$3 = pm.Find(pattern, unsafeFastStringToReadOnlyBytes(str), offset, 1); /* */ $s = 4; case 4: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t_tuple = _r$3;\n\t\tmds = _tuple[0];\n\t\terr = _tuple[1];\n\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 5; continue; }\n\t\t/* */ $s = 6; continue;\n\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 5:\n\t\t\t_r$4 = err.Error(); /* */ $s = 7; case 7: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t$r = L.RaiseError(_r$4, new sliceType$6([])); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 6:\n\t\tif (mds.$length === 0) {\n\t\t\tL.Push($pkg.LNil);\n\t\t\t$s = -1; return 0;\n\t\t}\n\t\tmd = (0 >= mds.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : mds.$array[mds.$offset + 0]);\n\t\tnsubs = (_q = md.CaptureLength() / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError(\"integer divide by zero\"));\n\t\t_1 = nsubs;\n\t\tif (_1 === (1)) {\n\t\t\tL.Push(new LString(($substring(str, md.Capture(0), md.Capture(1)))));\n\t\t\t$s = -1; return 1;\n\t\t} else {\n\t\t\ti = 2;\n\t\t\twhile (true) {\n\t\t\t\tif (!(i < md.CaptureLength())) { break; }\n\t\t\t\tif (md.IsPosCapture(i)) {\n\t\t\t\t\tL.Push(new LNumber((md.Capture(i))));\n\t\t\t\t} else {\n\t\t\t\t\tL.Push(new LString(($substring(str, md.Capture(i), md.Capture(i + 1 >> 0)))));\n\t\t\t\t}\n\t\t\t\ti = i + (2) >> 0;\n\t\t\t}\n\t\t\t$s = -1; return nsubs - 1 >> 0;\n\t\t}\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: strMatch }; } $f.L = L; $f._1 = _1; $f._q = _q; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._tuple = _tuple; $f.err = err; $f.i = i; $f.l = l; $f.md = md; $f.mds = mds; $f.nsubs = nsubs; $f.offset = offset; $f.pattern = pattern; $f.str = str; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tstrRep = function(L) {\n\t\tvar L, _r, _r$1, n, str, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; n = $f.n; str = $f.str; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckString(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tstr = _r;\n\t\t_r$1 = L.CheckInt(2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tn = _r$1;\n\t\tif (n < 0) {\n\t\t\tL.Push(new LString(\"\"));\n\t\t} else {\n\t\t\tL.Push(new LString((strings.Repeat(str, n))));\n\t\t}\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: strRep }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.n = n; $f.str = str; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tstrReverse = function(L) {\n\t\tvar L, _r, _tmp, _tmp$1, _tmp$2, _tmp$3, bts, i, j, out, str, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; bts = $f.bts; i = $f.i; j = $f.j; out = $f.out; str = $f.str; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckString(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tstr = _r;\n\t\tbts = (new sliceType$20($stringToBytes(str)));\n\t\tout = $makeSlice(sliceType$20, bts.$length);\n\t\t_tmp = 0;\n\t\t_tmp$1 = bts.$length - 1 >> 0;\n\t\ti = _tmp;\n\t\tj = _tmp$1;\n\t\twhile (true) {\n\t\t\tif (!(j >= 0)) { break; }\n\t\t\t((i < 0 || i >= out.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : out.$array[out.$offset + i] = ((j < 0 || j >= bts.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : bts.$array[bts.$offset + j]));\n\t\t\t_tmp$2 = i + 1 >> 0;\n\t\t\t_tmp$3 = j - 1 >> 0;\n\t\t\ti = _tmp$2;\n\t\t\tj = _tmp$3;\n\t\t}\n\t\tL.Push(new LString((($bytesToString(out)))));\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: strReverse }; } $f.L = L; $f._r = _r; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f.bts = bts; $f.i = i; $f.j = j; $f.out = out; $f.str = str; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tstrSub = function(L) {\n\t\tvar L, _arg, _arg$1, _arg$2, _arg$3, _r, _r$1, _r$2, _r$3, _r$4, end, l, start, str, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _arg$3 = $f._arg$3; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; end = $f.end; l = $f.l; start = $f.start; str = $f.str; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckString(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tstr = _r;\n\t\t_arg = str;\n\t\t_r$1 = L.CheckInt(2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_arg$1 = _r$1;\n\t\t_r$2 = luaIndex2StringIndex(_arg, _arg$1, true); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\tstart = _r$2;\n\t\t_arg$2 = str;\n\t\t_r$3 = L.OptInt(3, -1); /* */ $s = 4; case 4: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t_arg$3 = _r$3;\n\t\t_r$4 = luaIndex2StringIndex(_arg$2, _arg$3, false); /* */ $s = 5; case 5: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\tend = _r$4;\n\t\tl = str.length;\n\t\tif (start >= l || end < start) {\n\t\t\tL.Push(new LString(\"\"));\n\t\t} else {\n\t\t\tL.Push(new LString(($substring(str, start, end))));\n\t\t}\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: strSub }; } $f.L = L; $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._arg$3 = _arg$3; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f.end = end; $f.l = l; $f.start = start; $f.str = str; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tstrUpper = function(L) {\n\t\tvar L, _r, _r$1, str, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; str = $f.str; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckString(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tstr = _r;\n\t\t_r$1 = strings.ToUpper(str); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$r = L.Push(new LString((_r$1))); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: strUpper }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.str = str; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tluaIndex2StringIndex = function(str, i, start) {\n\t\tvar i, l, start, str;\n\t\tif (start && !((i === 0))) {\n\t\t\ti = i - (1) >> 0;\n\t\t}\n\t\tl = str.length;\n\t\tif (i < 0) {\n\t\t\ti = (l + i >> 0) + 1 >> 0;\n\t\t}\n\t\ti = intMax(0, i);\n\t\tif (!start && i > l) {\n\t\t\ti = l;\n\t\t}\n\t\treturn i;\n\t};\n\tlValueArraySorter.ptr.prototype.Len = function() {\n\t\tvar lv;\n\t\tlv = this;\n\t\treturn lv.Values.$length;\n\t};\n\tlValueArraySorter.prototype.Len = function() { return this.$val.Len(); };\n\tlValueArraySorter.ptr.prototype.Swap = function(i, j) {\n\t\tvar _tmp, _tmp$1, i, j, lv, x, x$1, x$2, x$3;\n\t\tlv = this;\n\t\t_tmp = (x = lv.Values, ((j < 0 || j >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + j]));\n\t\t_tmp$1 = (x$1 = lv.Values, ((i < 0 || i >= x$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$1.$array[x$1.$offset + i]));\n\t\t(x$2 = lv.Values, ((i < 0 || i >= x$2.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$2.$array[x$2.$offset + i] = _tmp));\n\t\t(x$3 = lv.Values, ((j < 0 || j >= x$3.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$3.$array[x$3.$offset + j] = _tmp$1));\n\t};\n\tlValueArraySorter.prototype.Swap = function(i, j) { return this.$val.Swap(i, j); };\n\tlValueArraySorter.ptr.prototype.Less = function(i, j) {\n\t\tvar _r, i, j, lv, x, x$1, x$2, x$3, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; i = $f.i; j = $f.j; lv = $f.lv; x = $f.x; x$1 = $f.x$1; x$2 = $f.x$2; x$3 = $f.x$3; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tlv = this;\n\t\t/* */ if (!(lv.Fn === ptrType$7.nil)) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!(lv.Fn === ptrType$7.nil)) { */ case 1:\n\t\t\tlv.L.Push(lv.Fn);\n\t\t\tlv.L.Push((x = lv.Values, ((i < 0 || i >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + i])));\n\t\t\tlv.L.Push((x$1 = lv.Values, ((j < 0 || j >= x$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$1.$array[x$1.$offset + j])));\n\t\t\t$r = lv.L.Call(2, 1); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return LVAsBool(lv.L.reg.Pop());\n\t\t/* } */ case 2:\n\t\t_r = lessThan(lv.L, (x$2 = lv.Values, ((i < 0 || i >= x$2.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$2.$array[x$2.$offset + i])), (x$3 = lv.Values, ((j < 0 || j >= x$3.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$3.$array[x$3.$offset + j]))); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: lValueArraySorter.ptr.prototype.Less }; } $f._r = _r; $f.i = i; $f.j = j; $f.lv = lv; $f.x = x; $f.x$1 = x$1; $f.x$2 = x$2; $f.x$3 = x$3; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tlValueArraySorter.prototype.Less = function(i, j) { return this.$val.Less(i, j); };\n\tnewLTable = function(acap, hcap) {\n\t\tvar acap, hcap, tb;\n\t\tif (acap < 0) {\n\t\t\tacap = 0;\n\t\t}\n\t\tif (hcap < 0) {\n\t\t\thcap = 0;\n\t\t}\n\t\ttb = new LTable.ptr($ifaceNil, sliceType$7.nil, false, false, sliceType$7.nil, false);\n\t\ttb.Metatable = $pkg.LNil;\n\t\tif (!((acap === 0))) {\n\t\t\ttb.array = $makeSlice(sliceType$7, 0, acap);\n\t\t}\n\t\tif (!((hcap === 0))) {\n\t\t\ttb.strdict = ((hcap < 0 || hcap > 2147483647) ? $throwRuntimeError(\"makemap: size out of range\") : {});\n\t\t}\n\t\treturn tb;\n\t};\n\tLTable.ptr.prototype.Len = function() {\n\t\tvar i, prev, tb, v, x;\n\t\ttb = this;\n\t\tif (tb.array === sliceType$7.nil) {\n\t\t\treturn 0;\n\t\t}\n\t\tprev = $pkg.LNil;\n\t\ti = tb.array.$length - 1 >> 0;\n\t\twhile (true) {\n\t\t\tif (!(i >= 0)) { break; }\n\t\t\tv = (x = tb.array, ((i < 0 || i >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + i]));\n\t\t\tif ($interfaceIsEqual(prev, $pkg.LNil) && !($interfaceIsEqual(v, $pkg.LNil))) {\n\t\t\t\treturn i + 1 >> 0;\n\t\t\t}\n\t\t\tprev = v;\n\t\t\ti = i - (1) >> 0;\n\t\t}\n\t\treturn 0;\n\t};\n\tLTable.prototype.Len = function() { return this.$val.Len(); };\n\tLTable.ptr.prototype.Append = function(value) {\n\t\tvar tb, value;\n\t\ttb = this;\n\t\tif ($interfaceIsEqual(value, $pkg.LNil)) {\n\t\t\treturn;\n\t\t}\n\t\tif (tb.array === sliceType$7.nil) {\n\t\t\ttb.array = $makeSlice(sliceType$7, 0, 32);\n\t\t}\n\t\ttb.array = $append(tb.array, value);\n\t};\n\tLTable.prototype.Append = function(value) { return this.$val.Append(value); };\n\tLTable.ptr.prototype.Insert = function(i, value) {\n\t\tvar i, tb, value, x;\n\t\ttb = this;\n\t\tif (tb.array === sliceType$7.nil) {\n\t\t\ttb.array = $makeSlice(sliceType$7, 0, 32);\n\t\t}\n\t\tif (i > tb.array.$length) {\n\t\t\ttb.RawSetInt(i, value);\n\t\t\treturn;\n\t\t}\n\t\tif (i <= 0) {\n\t\t\ttb.RawSet(new LNumber((i)), value);\n\t\t\treturn;\n\t\t}\n\t\ti = i - (1) >> 0;\n\t\ttb.array = $append(tb.array, $pkg.LNil);\n\t\t$copySlice($subslice(tb.array, (i + 1 >> 0)), $subslice(tb.array, i));\n\t\t(x = tb.array, ((i < 0 || i >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + i] = value));\n\t};\n\tLTable.prototype.Insert = function(i, value) { return this.$val.Insert(i, value); };\n\tLTable.ptr.prototype.MaxN = function() {\n\t\tvar i, tb, x;\n\t\ttb = this;\n\t\tif (tb.array === sliceType$7.nil) {\n\t\t\treturn 0;\n\t\t}\n\t\ti = tb.array.$length - 1 >> 0;\n\t\twhile (true) {\n\t\t\tif (!(i >= 0)) { break; }\n\t\t\tif (!($interfaceIsEqual((x = tb.array, ((i < 0 || i >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + i])), $pkg.LNil))) {\n\t\t\t\treturn i + 1 >> 0;\n\t\t\t}\n\t\t\ti = i - (1) >> 0;\n\t\t}\n\t\treturn 0;\n\t};\n\tLTable.prototype.MaxN = function() { return this.$val.MaxN(); };\n\tLTable.ptr.prototype.Remove = function(pos) {\n\t\tvar i, larray, oldval, pos, tb, x, x$1, x$2, x$3, x$4;\n\t\ttb = this;\n\t\tif (tb.array === sliceType$7.nil) {\n\t\t\treturn $pkg.LNil;\n\t\t}\n\t\tlarray = tb.array.$length;\n\t\tif (larray === 0) {\n\t\t\treturn $pkg.LNil;\n\t\t}\n\t\ti = pos - 1 >> 0;\n\t\toldval = $pkg.LNil;\n\t\tif (i >= larray) {\n\t\t} else if ((i === (larray - 1 >> 0)) || i < 0) {\n\t\t\toldval = (x = tb.array, x$1 = larray - 1 >> 0, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1]));\n\t\t\ttb.array = $subslice(tb.array, 0, (larray - 1 >> 0));\n\t\t} else {\n\t\t\toldval = (x$2 = tb.array, ((i < 0 || i >= x$2.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$2.$array[x$2.$offset + i]));\n\t\t\t$copySlice($subslice(tb.array, i), $subslice(tb.array, (i + 1 >> 0)));\n\t\t\t(x$3 = tb.array, x$4 = larray - 1 >> 0, ((x$4 < 0 || x$4 >= x$3.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$3.$array[x$3.$offset + x$4] = $ifaceNil));\n\t\t\ttb.array = $subslice(tb.array, 0, (larray - 1 >> 0));\n\t\t}\n\t\treturn oldval;\n\t};\n\tLTable.prototype.Remove = function(pos) { return this.$val.Remove(pos); };\n\tLTable.ptr.prototype.RawSet = function(key, value) {\n\t\tvar _ref, alen, i, index, key, tb, v, v$1, value, x;\n\t\ttb = this;\n\t\t_ref = key;\n\t\tif ($assertType(_ref, LNumber, true)[1]) {\n\t\t\tv = _ref.$val;\n\t\t\tif (isArrayKey(v)) {\n\t\t\t\tif (tb.array === sliceType$7.nil) {\n\t\t\t\t\ttb.array = $makeSlice(sliceType$7, 0, 32);\n\t\t\t\t}\n\t\t\t\tindex = ((v >> 0)) - 1 >> 0;\n\t\t\t\talen = tb.array.$length;\n\t\t\t\tif ((index === alen)) {\n\t\t\t\t\ttb.array = $append(tb.array, value);\n\t\t\t\t} else if (index > alen) {\n\t\t\t\t\ti = 0;\n\t\t\t\t\twhile (true) {\n\t\t\t\t\t\tif (!(i < ((index - alen >> 0)))) { break; }\n\t\t\t\t\t\ttb.array = $append(tb.array, $pkg.LNil);\n\t\t\t\t\t\ti = i + (1) >> 0;\n\t\t\t\t\t}\n\t\t\t\t\ttb.array = $append(tb.array, value);\n\t\t\t\t} else if (index < alen) {\n\t\t\t\t\t(x = tb.array, ((index < 0 || index >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + index] = value));\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else if ($assertType(_ref, LString, true)[1]) {\n\t\t\tv$1 = _ref.$val;\n\t\t\ttb.RawSetString((v$1), value);\n\t\t\treturn;\n\t\t}\n\t\ttb.RawSetH(key, value);\n\t};\n\tLTable.prototype.RawSet = function(key, value) { return this.$val.RawSet(key, value); };\n\tLTable.ptr.prototype.RawSetInt = function(key, value) {\n\t\tvar alen, i, index, key, tb, value, x;\n\t\ttb = this;\n\t\tif (key < 1 || key >= $pkg.MaxArrayIndex) {\n\t\t\ttb.RawSetH(new LNumber((key)), value);\n\t\t\treturn;\n\t\t}\n\t\tif (tb.array === sliceType$7.nil) {\n\t\t\ttb.array = $makeSlice(sliceType$7, 0, 32);\n\t\t}\n\t\tindex = key - 1 >> 0;\n\t\talen = tb.array.$length;\n\t\tif ((index === alen)) {\n\t\t\ttb.array = $append(tb.array, value);\n\t\t} else if (index > alen) {\n\t\t\ti = 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(i < ((index - alen >> 0)))) { break; }\n\t\t\t\ttb.array = $append(tb.array, $pkg.LNil);\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t}\n\t\t\ttb.array = $append(tb.array, value);\n\t\t} else if (index < alen) {\n\t\t\t(x = tb.array, ((index < 0 || index >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + index] = value));\n\t\t}\n\t};\n\tLTable.prototype.RawSetInt = function(key, value) { return this.$val.RawSetInt(key, value); };\n\tLTable.ptr.prototype.RawSetString = function(key, value) {\n\t\tvar _entry, _key, _key$1, _tuple, key, lkey, ok, tb, value;\n\t\ttb = this;\n\t\tif (tb.strdict === false) {\n\t\t\ttb.strdict = {};\n\t\t}\n\t\tif (tb.keys === sliceType$7.nil) {\n\t\t\ttb.keys = new sliceType$7([]);\n\t\t\ttb.k2i = $makeMap(LValue.keyFor, []);\n\t\t}\n\t\tif ($interfaceIsEqual(value, $pkg.LNil)) {\n\t\t\tdelete tb.strdict[$String.keyFor(key)];\n\t\t} else {\n\t\t\t_key = key; (tb.strdict || $throwRuntimeError(\"assignment to entry in nil map\"))[$String.keyFor(_key)] = { k: _key, v: value };\n\t\t\tlkey = (key);\n\t\t\t_tuple = (_entry = tb.k2i[LValue.keyFor(new LString(lkey))], _entry !== undefined ? [_entry.v, true] : [0, false]);\n\t\t\tok = _tuple[1];\n\t\t\tif (!ok) {\n\t\t\t\t_key$1 = new LString(lkey); (tb.k2i || $throwRuntimeError(\"assignment to entry in nil map\"))[LValue.keyFor(_key$1)] = { k: _key$1, v: tb.keys.$length };\n\t\t\t\ttb.keys = $append(tb.keys, new LString(lkey));\n\t\t\t}\n\t\t}\n\t};\n\tLTable.prototype.RawSetString = function(key, value) { return this.$val.RawSetString(key, value); };\n\tLTable.ptr.prototype.RawSetH = function(key, value) {\n\t\tvar _entry, _key, _key$1, _tuple, _tuple$1, key, ok, ok$1, s, tb, value, x;\n\t\ttb = this;\n\t\t_tuple = $assertType(key, LString, true);\n\t\ts = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\ttb.RawSetString((s), value);\n\t\t\treturn;\n\t\t}\n\t\tif (tb.dict === false) {\n\t\t\ttb.dict = (x = $keys(tb.strdict).length, ((x < 0 || x > 2147483647) ? $throwRuntimeError(\"makemap: size out of range\") : {}));\n\t\t}\n\t\tif (tb.keys === sliceType$7.nil) {\n\t\t\ttb.keys = new sliceType$7([]);\n\t\t\ttb.k2i = $makeMap(LValue.keyFor, []);\n\t\t}\n\t\tif ($interfaceIsEqual(value, $pkg.LNil)) {\n\t\t\tdelete tb.dict[LValue.keyFor(key)];\n\t\t} else {\n\t\t\t_key = key; (tb.dict || $throwRuntimeError(\"assignment to entry in nil map\"))[LValue.keyFor(_key)] = { k: _key, v: value };\n\t\t\t_tuple$1 = (_entry = tb.k2i[LValue.keyFor(key)], _entry !== undefined ? [_entry.v, true] : [0, false]);\n\t\t\tok$1 = _tuple$1[1];\n\t\t\tif (!ok$1) {\n\t\t\t\t_key$1 = key; (tb.k2i || $throwRuntimeError(\"assignment to entry in nil map\"))[LValue.keyFor(_key$1)] = { k: _key$1, v: tb.keys.$length };\n\t\t\t\ttb.keys = $append(tb.keys, key);\n\t\t\t}\n\t\t}\n\t};\n\tLTable.prototype.RawSetH = function(key, value) { return this.$val.RawSetH(key, value); };\n\tLTable.ptr.prototype.RawGet = function(key) {\n\t\tvar _entry, _entry$1, _ref, _tuple, _tuple$1, index, key, ok, ok$1, ret, tb, v, v$1, v$2, x;\n\t\ttb = this;\n\t\t_ref = key;\n\t\tif ($assertType(_ref, LNumber, true)[1]) {\n\t\t\tv = _ref.$val;\n\t\t\tif (isArrayKey(v)) {\n\t\t\t\tif (tb.array === sliceType$7.nil) {\n\t\t\t\t\treturn $pkg.LNil;\n\t\t\t\t}\n\t\t\t\tindex = ((v >> 0)) - 1 >> 0;\n\t\t\t\tif (index >= tb.array.$length) {\n\t\t\t\t\treturn $pkg.LNil;\n\t\t\t\t}\n\t\t\t\treturn (x = tb.array, ((index < 0 || index >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + index]));\n\t\t\t}\n\t\t} else if ($assertType(_ref, LString, true)[1]) {\n\t\t\tv$1 = _ref.$val;\n\t\t\tif (tb.strdict === false) {\n\t\t\t\treturn $pkg.LNil;\n\t\t\t}\n\t\t\t_tuple = (_entry = tb.strdict[$String.keyFor((v$1))], _entry !== undefined ? [_entry.v, true] : [$ifaceNil, false]);\n\t\t\tret = _tuple[0];\n\t\t\tok = _tuple[1];\n\t\t\tif (ok) {\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t\treturn $pkg.LNil;\n\t\t}\n\t\tif (tb.dict === false) {\n\t\t\treturn $pkg.LNil;\n\t\t}\n\t\t_tuple$1 = (_entry$1 = tb.dict[LValue.keyFor(key)], _entry$1 !== undefined ? [_entry$1.v, true] : [$ifaceNil, false]);\n\t\tv$2 = _tuple$1[0];\n\t\tok$1 = _tuple$1[1];\n\t\tif (ok$1) {\n\t\t\treturn v$2;\n\t\t}\n\t\treturn $pkg.LNil;\n\t};\n\tLTable.prototype.RawGet = function(key) { return this.$val.RawGet(key); };\n\tLTable.ptr.prototype.RawGetInt = function(key) {\n\t\tvar index, key, tb, x;\n\t\ttb = this;\n\t\tif (tb.array === sliceType$7.nil) {\n\t\t\treturn $pkg.LNil;\n\t\t}\n\t\tindex = (key) - 1 >> 0;\n\t\tif (index >= tb.array.$length || index < 0) {\n\t\t\treturn $pkg.LNil;\n\t\t}\n\t\treturn (x = tb.array, ((index < 0 || index >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + index]));\n\t};\n\tLTable.prototype.RawGetInt = function(key) { return this.$val.RawGetInt(key); };\n\tLTable.ptr.prototype.RawGetH = function(key) {\n\t\tvar _entry, _entry$1, _tuple, _tuple$1, _tuple$2, key, ok, s, sok, tb, v, v$1, vok;\n\t\ttb = this;\n\t\t_tuple = $assertType(key, LString, true);\n\t\ts = _tuple[0];\n\t\tsok = _tuple[1];\n\t\tif (sok) {\n\t\t\tif (tb.strdict === false) {\n\t\t\t\treturn $pkg.LNil;\n\t\t\t}\n\t\t\t_tuple$1 = (_entry = tb.strdict[$String.keyFor((s))], _entry !== undefined ? [_entry.v, true] : [$ifaceNil, false]);\n\t\t\tv = _tuple$1[0];\n\t\t\tvok = _tuple$1[1];\n\t\t\tif (vok) {\n\t\t\t\treturn v;\n\t\t\t}\n\t\t\treturn $pkg.LNil;\n\t\t}\n\t\tif (tb.dict === false) {\n\t\t\treturn $pkg.LNil;\n\t\t}\n\t\t_tuple$2 = (_entry$1 = tb.dict[LValue.keyFor(key)], _entry$1 !== undefined ? [_entry$1.v, true] : [$ifaceNil, false]);\n\t\tv$1 = _tuple$2[0];\n\t\tok = _tuple$2[1];\n\t\tif (ok) {\n\t\t\treturn v$1;\n\t\t}\n\t\treturn $pkg.LNil;\n\t};\n\tLTable.prototype.RawGetH = function(key) { return this.$val.RawGetH(key); };\n\tLTable.ptr.prototype.RawGetString = function(key) {\n\t\tvar _entry, _tuple, key, tb, v, vok;\n\t\ttb = this;\n\t\tif (tb.strdict === false) {\n\t\t\treturn $pkg.LNil;\n\t\t}\n\t\t_tuple = (_entry = tb.strdict[$String.keyFor((key))], _entry !== undefined ? [_entry.v, true] : [$ifaceNil, false]);\n\t\tv = _tuple[0];\n\t\tvok = _tuple[1];\n\t\tif (vok) {\n\t\t\treturn v;\n\t\t}\n\t\treturn $pkg.LNil;\n\t};\n\tLTable.prototype.RawGetString = function(key) { return this.$val.RawGetString(key); };\n\tLTable.ptr.prototype.ForEach = function(cb) {\n\t\tvar _entry, _entry$1, _i, _i$1, _i$2, _keys, _keys$1, _ref, _ref$1, _ref$2, cb, i, k, k$1, tb, v, v$1, v$2, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _entry = $f._entry; _entry$1 = $f._entry$1; _i = $f._i; _i$1 = $f._i$1; _i$2 = $f._i$2; _keys = $f._keys; _keys$1 = $f._keys$1; _ref = $f._ref; _ref$1 = $f._ref$1; _ref$2 = $f._ref$2; cb = $f.cb; i = $f.i; k = $f.k; k$1 = $f.k$1; tb = $f.tb; v = $f.v; v$1 = $f.v$1; v$2 = $f.v$2; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\ttb = this;\n\t\t/* */ if (!(tb.array === sliceType$7.nil)) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!(tb.array === sliceType$7.nil)) { */ case 1:\n\t\t\t_ref = tb.array;\n\t\t\t_i = 0;\n\t\t\t/* while (true) { */ case 3:\n\t\t\t\t/* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 4; continue; }\n\t\t\t\ti = _i;\n\t\t\t\tv = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref.$array[_ref.$offset + _i]);\n\t\t\t\t/* */ if (!($interfaceIsEqual(v, $pkg.LNil))) { $s = 5; continue; }\n\t\t\t\t/* */ $s = 6; continue;\n\t\t\t\t/* if (!($interfaceIsEqual(v, $pkg.LNil))) { */ case 5:\n\t\t\t\t\t$r = cb(new LNumber(((i + 1 >> 0))), v); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t/* } */ case 6:\n\t\t\t\t_i++;\n\t\t\t/* } */ $s = 3; continue; case 4:\n\t\t/* } */ case 2:\n\t\t/* */ if (!(tb.strdict === false)) { $s = 8; continue; }\n\t\t/* */ $s = 9; continue;\n\t\t/* if (!(tb.strdict === false)) { */ case 8:\n\t\t\t_ref$1 = tb.strdict;\n\t\t\t_i$1 = 0;\n\t\t\t_keys = $keys(_ref$1);\n\t\t\t/* while (true) { */ case 10:\n\t\t\t\t/* if (!(_i$1 < _keys.length)) { break; } */ if(!(_i$1 < _keys.length)) { $s = 11; continue; }\n\t\t\t\t_entry = _ref$1[_keys[_i$1]];\n\t\t\t\tif (_entry === undefined) {\n\t\t\t\t\t_i$1++;\n\t\t\t\t\t/* continue; */ $s = 10; continue;\n\t\t\t\t}\n\t\t\t\tk = _entry.k;\n\t\t\t\tv$1 = _entry.v;\n\t\t\t\t/* */ if (!($interfaceIsEqual(v$1, $pkg.LNil))) { $s = 12; continue; }\n\t\t\t\t/* */ $s = 13; continue;\n\t\t\t\t/* if (!($interfaceIsEqual(v$1, $pkg.LNil))) { */ case 12:\n\t\t\t\t\t$r = cb(new LString((k)), v$1); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t/* } */ case 13:\n\t\t\t\t_i$1++;\n\t\t\t/* } */ $s = 10; continue; case 11:\n\t\t/* } */ case 9:\n\t\t/* */ if (!(tb.dict === false)) { $s = 15; continue; }\n\t\t/* */ $s = 16; continue;\n\t\t/* if (!(tb.dict === false)) { */ case 15:\n\t\t\t_ref$2 = tb.dict;\n\t\t\t_i$2 = 0;\n\t\t\t_keys$1 = $keys(_ref$2);\n\t\t\t/* while (true) { */ case 17:\n\t\t\t\t/* if (!(_i$2 < _keys$1.length)) { break; } */ if(!(_i$2 < _keys$1.length)) { $s = 18; continue; }\n\t\t\t\t_entry$1 = _ref$2[_keys$1[_i$2]];\n\t\t\t\tif (_entry$1 === undefined) {\n\t\t\t\t\t_i$2++;\n\t\t\t\t\t/* continue; */ $s = 17; continue;\n\t\t\t\t}\n\t\t\t\tk$1 = _entry$1.k;\n\t\t\t\tv$2 = _entry$1.v;\n\t\t\t\t/* */ if (!($interfaceIsEqual(v$2, $pkg.LNil))) { $s = 19; continue; }\n\t\t\t\t/* */ $s = 20; continue;\n\t\t\t\t/* if (!($interfaceIsEqual(v$2, $pkg.LNil))) { */ case 19:\n\t\t\t\t\t$r = cb(k$1, v$2); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t/* } */ case 20:\n\t\t\t\t_i$2++;\n\t\t\t/* } */ $s = 17; continue; case 18:\n\t\t/* } */ case 16:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LTable.ptr.prototype.ForEach }; } $f._entry = _entry; $f._entry$1 = _entry$1; $f._i = _i; $f._i$1 = _i$1; $f._i$2 = _i$2; $f._keys = _keys; $f._keys$1 = _keys$1; $f._ref = _ref; $f._ref$1 = _ref$1; $f._ref$2 = _ref$2; $f.cb = cb; $f.i = i; $f.k = k; $f.k$1 = k$1; $f.tb = tb; $f.v = v; $f.v$1 = v$1; $f.v$2 = v$2; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLTable.prototype.ForEach = function(cb) { return this.$val.ForEach(cb); };\n\tLTable.ptr.prototype.Next = function(key) {\n\t\tvar _entry, _tuple, i, index, init$4, key, key$1, kv, ok, tb, v, v$1, v$2, x, x$1, x$2;\n\t\ttb = this;\n\t\tinit$4 = false;\n\t\tif ($interfaceIsEqual(key, $pkg.LNil)) {\n\t\t\tkey = new LNumber(0);\n\t\t\tinit$4 = true;\n\t\t}\n\t\tif (init$4 || !($interfaceIsEqual(key, new LNumber(0)))) {\n\t\t\t_tuple = $assertType(key, LNumber, true);\n\t\t\tkv = _tuple[0];\n\t\t\tok = _tuple[1];\n\t\t\tif (ok && isInteger(kv) && ((kv >> 0)) >= 0 && kv < ($pkg.MaxArrayIndex)) {\n\t\t\t\tindex = ((kv >> 0));\n\t\t\t\tif (!(tb.array === sliceType$7.nil)) {\n\t\t\t\t\twhile (true) {\n\t\t\t\t\t\tif (!(index < tb.array.$length)) { break; }\n\t\t\t\t\t\tv = (x = tb.array, ((index < 0 || index >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + index]));\n\t\t\t\t\t\tif (!($interfaceIsEqual(v, $pkg.LNil))) {\n\t\t\t\t\t\t\treturn [new LNumber(((index + 1 >> 0))), v];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tindex = index + (1) >> 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (tb.array === sliceType$7.nil || (index === tb.array.$length)) {\n\t\t\t\t\tif ((tb.dict === false || ($keys(tb.dict).length === 0)) && (tb.strdict === false || ($keys(tb.strdict).length === 0))) {\n\t\t\t\t\t\treturn [$pkg.LNil, $pkg.LNil];\n\t\t\t\t\t}\n\t\t\t\t\tkey = (x$1 = tb.keys, (0 >= x$1.$length ? ($throwRuntimeError(\"index out of range\"), undefined) : x$1.$array[x$1.$offset + 0]));\n\t\t\t\t\tv$1 = tb.RawGetH(key);\n\t\t\t\t\tif (!($interfaceIsEqual(v$1, $pkg.LNil))) {\n\t\t\t\t\t\treturn [key, v$1];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\ti = (_entry = tb.k2i[LValue.keyFor(key)], _entry !== undefined ? _entry.v : 0) + 1 >> 0;\n\t\twhile (true) {\n\t\t\tif (!(i < tb.keys.$length)) { break; }\n\t\t\tkey$1 = (x$2 = tb.keys, ((i < 0 || i >= x$2.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$2.$array[x$2.$offset + i]));\n\t\t\tv$2 = tb.RawGetH(key$1);\n\t\t\tif (!($interfaceIsEqual(v$2, $pkg.LNil))) {\n\t\t\t\treturn [key$1, v$2];\n\t\t\t}\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\treturn [$pkg.LNil, $pkg.LNil];\n\t};\n\tLTable.prototype.Next = function(key) { return this.$val.Next(key); };\n\tOpenTable = function(L) {\n\t\tvar L, _r, tabmod, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; tabmod = $f.tabmod; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.RegisterModule(\"table\", tableFuncs); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\ttabmod = _r;\n\t\tL.Push(tabmod);\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: OpenTable }; } $f.L = L; $f._r = _r; $f.tabmod = tabmod; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.OpenTable = OpenTable;\n\ttableSort = function(L) {\n\t\tvar L, _r, _r$1, sorter, tbl, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; sorter = $f.sorter; tbl = $f.tbl; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckTable(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\ttbl = _r;\n\t\tsorter = new lValueArraySorter.ptr(L, ptrType$7.nil, tbl.array);\n\t\t/* */ if (!((L.GetTop() === 1))) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (!((L.GetTop() === 1))) { */ case 2:\n\t\t\t_r$1 = L.CheckFunction(2); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\tsorter.Fn = _r$1;\n\t\t/* } */ case 3:\n\t\t$r = sort.Sort(new sorter.constructor.elem(sorter)); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: tableSort }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.sorter = sorter; $f.tbl = tbl; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\ttableGetN = function(L) {\n\t\tvar L, _r, _r$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckTable(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = _r.Len(); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$r = L.Push(new LNumber((_r$1))); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: tableGetN }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\ttableMaxN = function(L) {\n\t\tvar L, _r, _r$1, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckTable(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = _r.MaxN(); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$r = L.Push(new LNumber((_r$1))); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: tableMaxN }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\ttableRemove = function(L) {\n\t\tvar L, _r, _r$1, _r$2, tbl, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; tbl = $f.tbl; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckTable(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\ttbl = _r;\n\t\t/* */ if (L.GetTop() === 1) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (L.GetTop() === 1) { */ case 2:\n\t\t\tL.Push(tbl.Remove(-1));\n\t\t\t$s = 4; continue;\n\t\t/* } else { */ case 3:\n\t\t\t_r$1 = L.CheckInt(2); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_r$2 = tbl.Remove(_r$1); /* */ $s = 6; case 6: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t$r = L.Push(_r$2); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 4:\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: tableRemove }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.tbl = tbl; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\ttableConcat = function(L) {\n\t\tvar L, _arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, i, j, retbottom, sep, tbl, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; i = $f.i; j = $f.j; retbottom = $f.retbottom; sep = $f.sep; tbl = $f.tbl; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckTable(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\ttbl = _r;\n\t\t_r$1 = L.OptString(2, \"\"); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tsep = (_r$1);\n\t\t_r$2 = L.OptInt(3, 1); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\ti = _r$2;\n\t\t_r$3 = L.OptInt(4, tbl.Len()); /* */ $s = 4; case 4: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\tj = _r$3;\n\t\tif (L.GetTop() === 3) {\n\t\t\tif (i > tbl.Len() || i < 1) {\n\t\t\t\tL.Push(new LString(\"\"));\n\t\t\t\t$s = -1; return 1;\n\t\t\t}\n\t\t}\n\t\ti = intMax(intMin(i, tbl.Len()), 1);\n\t\tj = intMin(intMin(j, tbl.Len()), tbl.Len());\n\t\tif (i > j) {\n\t\t\tL.Push(new LString(\"\"));\n\t\t\t$s = -1; return 1;\n\t\t}\n\t\tretbottom = L.GetTop();\n\t\t/* while (true) { */ case 5:\n\t\t\t/* if (!(i <= j)) { break; } */ if(!(i <= j)) { $s = 6; continue; }\n\t\t\tv = tbl.RawGetInt(i);\n\t\t\t/* */ if (!LVCanConvToString(v)) { $s = 7; continue; }\n\t\t\t/* */ $s = 8; continue;\n\t\t\t/* if (!LVCanConvToString(v)) { */ case 7:\n\t\t\t\t_r$4 = v.Type(); /* */ $s = 9; case 9: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\t_r$5 = new LValueType(_r$4).String(); /* */ $s = 10; case 10: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t\t_arg = new $String(_r$5);\n\t\t\t\t_arg$1 = new $Int(i);\n\t\t\t\t$r = L.RaiseError(\"invalid value (%s) at index %d in table for concat\", new sliceType$6([_arg, _arg$1])); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 8:\n\t\t\tL.Push(v);\n\t\t\tif (!((i === j))) {\n\t\t\t\tL.Push(new LString(sep));\n\t\t\t}\n\t\t\ti = i + (1) >> 0;\n\t\t/* } */ $s = 5; continue; case 6:\n\t\t_r$6 = stringConcat(L, L.GetTop() - retbottom >> 0, L.reg.Top() - 1 >> 0); /* */ $s = 12; case 12: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t$r = L.Push(_r$6); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: tableConcat }; } $f.L = L; $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f.i = i; $f.j = j; $f.retbottom = retbottom; $f.sep = sep; $f.tbl = tbl; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\ttableInsert = function(L) {\n\t\tvar L, _arg, _arg$1, _r, _r$1, _r$2, nargs, tbl, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; nargs = $f.nargs; tbl = $f.tbl; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.CheckTable(1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\ttbl = _r;\n\t\tnargs = L.GetTop();\n\t\t/* */ if (nargs === 1) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (nargs === 1) { */ case 2:\n\t\t\t$r = L.RaiseError(\"wrong number of arguments\", new sliceType$6([])); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 3:\n\t\tif (L.GetTop() === 2) {\n\t\t\ttbl.Append(L.Get(2));\n\t\t\t$s = -1; return 0;\n\t\t}\n\t\t_r$1 = L.CheckInt(2); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_arg = (_r$1);\n\t\t_r$2 = L.CheckAny(3); /* */ $s = 6; case 6: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t_arg$1 = _r$2;\n\t\t$r = tbl.Insert(_arg, _arg$1); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: tableInsert }; } $f.L = L; $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.nargs = nargs; $f.tbl = tbl; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tintMin = function(a, b) {\n\t\tvar a, b;\n\t\tif (a < b) {\n\t\t\treturn a;\n\t\t}\n\t\treturn b;\n\t};\n\tintMax = function(a, b) {\n\t\tvar a, b;\n\t\tif (a > b) {\n\t\t\treturn a;\n\t\t}\n\t\treturn b;\n\t};\n\tdefaultFormat = function(v, f, c) {\n\t\tvar _r, _r$1, _r$2, _r$3, _tuple, _tuple$1, buf, c, f, format, i, ok, ok$1, p, v, w, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; buf = $f.buf; c = $f.c; f = $f.f; format = $f.format; i = $f.i; ok = $f.ok; ok$1 = $f.ok$1; p = $f.p; v = $f.v; w = $f.w; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tbuf = $makeSlice(sliceType$1, 0, 10);\n\t\tbuf = $append(buf, \"%\");\n\t\ti = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(i < 128)) { break; } */ if(!(i < 128)) { $s = 2; continue; }\n\t\t\t_r = f.Flag(i); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t/* */ if (_r) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (_r) { */ case 3:\n\t\t\t\tbuf = $append(buf, ($encodeRune(i)));\n\t\t\t/* } */ case 4:\n\t\t\ti = i + (1) >> 0;\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t_r$1 = f.Width(); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_tuple = _r$1;\n\t\tw = _tuple[0];\n\t\tok = _tuple[1];\n\t\tif (ok) {\n\t\t\tbuf = $append(buf, strconv.Itoa(w));\n\t\t}\n\t\t_r$2 = f.Precision(); /* */ $s = 7; case 7: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t_tuple$1 = _r$2;\n\t\tp = _tuple$1[0];\n\t\tok$1 = _tuple$1[1];\n\t\tif (ok$1) {\n\t\t\tbuf = $append(buf, \".\" + strconv.Itoa(p));\n\t\t}\n\t\tbuf = $append(buf, ($encodeRune(c)));\n\t\tformat = strings.Join(buf, \"\");\n\t\t_r$3 = fmt.Fprintf(f, format, new sliceType$6([v])); /* */ $s = 8; case 8: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t_r$3;\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: defaultFormat }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.buf = buf; $f.c = c; $f.f = f; $f.format = format; $f.i = i; $f.ok = ok; $f.ok$1 = ok$1; $f.p = p; $f.v = v; $f.w = w; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tnewFlagScanner = function(flag, start, end, str) {\n\t\tvar end, flag, start, str;\n\t\treturn new flagScanner.ptr(flag, start, end, $makeSlice(sliceType$20, 0, str.length), str, str.length, 0, false, false);\n\t};\n\tflagScanner.ptr.prototype.AppendString = function(str) {\n\t\tvar fs, str;\n\t\tfs = this;\n\t\tfs.buf = $appendSlice(fs.buf, str);\n\t};\n\tflagScanner.prototype.AppendString = function(str) { return this.$val.AppendString(str); };\n\tflagScanner.ptr.prototype.AppendChar = function(ch) {\n\t\tvar ch, fs;\n\t\tfs = this;\n\t\tfs.buf = $append(fs.buf, ch);\n\t};\n\tflagScanner.prototype.AppendChar = function(ch) { return this.$val.AppendChar(ch); };\n\tflagScanner.ptr.prototype.String = function() {\n\t\tvar fs;\n\t\tfs = this;\n\t\treturn ($bytesToString(fs.buf));\n\t};\n\tflagScanner.prototype.String = function() { return this.$val.String(); };\n\tflagScanner.ptr.prototype.Next = function() {\n\t\tvar c, fs;\n\t\tfs = this;\n\t\tc = 0;\n\t\tfs.ChangeFlag = false;\n\t\tif (fs.Pos === fs.Length) {\n\t\t\tif (fs.HasFlag) {\n\t\t\t\tfs.AppendString(fs.end);\n\t\t\t}\n\t\t\treturn [c, true];\n\t\t}\n\t\tc = fs.str.charCodeAt(fs.Pos);\n\t\tif (c === fs.flag) {\n\t\t\tif (fs.Pos < ((fs.Length - 1 >> 0)) && (fs.str.charCodeAt((fs.Pos + 1 >> 0)) === fs.flag)) {\n\t\t\t\tfs.HasFlag = false;\n\t\t\t\tfs.AppendChar(fs.flag);\n\t\t\t\tfs.Pos = fs.Pos + (2) >> 0;\n\t\t\t\treturn fs.Next();\n\t\t\t} else if (!((fs.Pos === (fs.Length - 1 >> 0)))) {\n\t\t\t\tif (fs.HasFlag) {\n\t\t\t\t\tfs.AppendString(fs.end);\n\t\t\t\t}\n\t\t\t\tfs.AppendString(fs.start);\n\t\t\t\tfs.ChangeFlag = true;\n\t\t\t\tfs.HasFlag = true;\n\t\t\t}\n\t\t}\n\t\tfs.Pos = fs.Pos + (1) >> 0;\n\t\treturn [c, false];\n\t};\n\tflagScanner.prototype.Next = function() { return this.$val.Next(); };\n\tstrftime = function(t, cfmt) {\n\t\tvar _1, _entry, _r, _r$1, _r$2, _tuple, _tuple$1, _tuple$2, c, cfmt, eos, ok, sc, t, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _entry = $f._entry; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; c = $f.c; cfmt = $f.cfmt; eos = $f.eos; ok = $f.ok; sc = $f.sc; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tsc = newFlagScanner(37, \"\", \"\", cfmt);\n\t\t_tuple = sc.Next();\n\t\tc = _tuple[0];\n\t\teos = _tuple[1];\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(!eos)) { break; } */ if(!(!eos)) { $s = 2; continue; }\n\t\t\t/* */ if (!sc.ChangeFlag) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (!sc.ChangeFlag) { */ case 3:\n\t\t\t\t/* */ if (sc.HasFlag) { $s = 5; continue; }\n\t\t\t\t/* */ $s = 6; continue;\n\t\t\t\t/* if (sc.HasFlag) { */ case 5:\n\t\t\t\t\t_tuple$1 = (_entry = cDateFlagToGo[$Uint8.keyFor(c)], _entry !== undefined ? [_entry.v, true] : [\"\", false]);\n\t\t\t\t\tv = _tuple$1[0];\n\t\t\t\t\tok = _tuple$1[1];\n\t\t\t\t\t/* */ if (ok) { $s = 8; continue; }\n\t\t\t\t\t/* */ $s = 9; continue;\n\t\t\t\t\t/* if (ok) { */ case 8:\n\t\t\t\t\t\t_r = $clone(t, time.Time).Format(v); /* */ $s = 11; case 11: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t\t\t$r = sc.AppendString(_r); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t\t$s = 10; continue;\n\t\t\t\t\t/* } else { */ case 9:\n\t\t\t\t\t\t\t_1 = c;\n\t\t\t\t\t\t\t/* */ if (_1 === (119)) { $s = 14; continue; }\n\t\t\t\t\t\t\t/* */ $s = 15; continue;\n\t\t\t\t\t\t\t/* if (_1 === (119)) { */ case 14:\n\t\t\t\t\t\t\t\t_r$1 = $clone(t, time.Time).Weekday(); /* */ $s = 17; case 17: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t\t_r$2 = fmt.Sprint(new sliceType$6([new $Int(((_r$1 >> 0)))])); /* */ $s = 18; case 18: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t\t$r = sc.AppendString(_r$2); /* */ $s = 19; case 19: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t\t$s = 16; continue;\n\t\t\t\t\t\t\t/* } else { */ case 15:\n\t\t\t\t\t\t\t\tsc.AppendChar(37);\n\t\t\t\t\t\t\t\tsc.AppendChar(c);\n\t\t\t\t\t\t\t/* } */ case 16:\n\t\t\t\t\t\tcase 13:\n\t\t\t\t\t/* } */ case 10:\n\t\t\t\t\tsc.HasFlag = false;\n\t\t\t\t\t$s = 7; continue;\n\t\t\t\t/* } else { */ case 6:\n\t\t\t\t\tsc.AppendChar(c);\n\t\t\t\t/* } */ case 7:\n\t\t\t/* } */ case 4:\n\t\t\t_tuple$2 = sc.Next();\n\t\t\tc = _tuple$2[0];\n\t\t\teos = _tuple$2[1];\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return sc.String();\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: strftime }; } $f._1 = _1; $f._entry = _entry; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f.c = c; $f.cfmt = cfmt; $f.eos = eos; $f.ok = ok; $f.sc = sc; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tisInteger = function(v) {\n\t\tvar v;\n\t\treturn (v) === ($flatten64((new $Int64(0, v))));\n\t};\n\tisArrayKey = function(v) {\n\t\tvar v;\n\t\treturn isInteger(v) && v < 2.147483647e+09 && v > 0 && v < ($pkg.MaxArrayIndex);\n\t};\n\tparseNumber = function(number) {\n\t\tvar _r, _tuple, _tuple$1, err, err2, number, v, v2, value, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; err = $f.err; err2 = $f.err2; number = $f.number; v = $f.v; v2 = $f.v2; value = $f.value; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tvalue = 0;\n\t\t_r = strings.Trim(number, \" \\t\\n\"); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tnumber = _r;\n\t\t_tuple = strconv.ParseInt(number, 0, 64);\n\t\tv = _tuple[0];\n\t\terr = _tuple[1];\n\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t_tuple$1 = strconv.ParseFloat(number, 64);\n\t\t\tv2 = _tuple$1[0];\n\t\t\terr2 = _tuple$1[1];\n\t\t\tif (!($interfaceIsEqual(err2, $ifaceNil))) {\n\t\t\t\t$s = -1; return [0, err2];\n\t\t\t}\n\t\t\tvalue = (v2);\n\t\t} else {\n\t\t\tvalue = ($flatten64(v));\n\t\t}\n\t\t$s = -1; return [value, $ifaceNil];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: parseNumber }; } $f._r = _r; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.err = err; $f.err2 = err2; $f.number = number; $f.v = v; $f.v2 = v2; $f.value = value; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tpopenArgs = function(arg) {\n\t\tvar arg, args, cmd;\n\t\tcmd = \"/bin/sh\";\n\t\targs = new sliceType$1([\"-c\"]);\n\t\tif ($pkg.LuaOS === \"windows\") {\n\t\t\tcmd = \"C:\\\\Windows\\\\system32\\\\cmd.exe\";\n\t\t\targs = new sliceType$1([\"/c\"]);\n\t\t}\n\t\targs = $append(args, arg);\n\t\treturn [cmd, args];\n\t};\n\treadBufioSize = function(reader, size) {\n\t\tvar _r, _tuple, buf, e, err, n, read, reader, result, size, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; buf = $f.buf; e = $f.e; err = $f.err; n = $f.n; read = $f.read; reader = $f.reader; result = $f.result; size = $f.size; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tresult = new sliceType$20([]);\n\t\tread = new $Int64(0, 0);\n\t\terr = $ifaceNil;\n\t\tn = 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(!((read.$high === size.$high && read.$low === size.$low)))) { break; } */ if(!(!((read.$high === size.$high && read.$low === size.$low)))) { $s = 2; continue; }\n\t\t\tbuf = $makeSlice(sliceType$20, $flatten64(new $Int64(size.$high - read.$high, size.$low - read.$low)));\n\t\t\t_r = reader.Read(buf); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r;\n\t\t\tn = _tuple[0];\n\t\t\terr = _tuple[1];\n\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\t/* break; */ $s = 2; continue;\n\t\t\t}\n\t\t\tread = (x = (new $Int64(0, n)), new $Int64(read.$high + x.$high, read.$low + x.$low));\n\t\t\tresult = $appendSlice(result, $subslice(buf, 0, n));\n\t\t/* } */ $s = 1; continue; case 2:\n\t\te = err;\n\t\tif (!($interfaceIsEqual(e, $ifaceNil)) && $interfaceIsEqual(e, io.EOF)) {\n\t\t\te = $ifaceNil;\n\t\t}\n\t\t$s = -1; return [result, (result.$length === 0) && $interfaceIsEqual(err, io.EOF), e];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: readBufioSize }; } $f._r = _r; $f._tuple = _tuple; $f.buf = buf; $f.e = e; $f.err = err; $f.n = n; $f.read = read; $f.reader = reader; $f.result = result; $f.size = size; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\treadBufioLine = function(reader) {\n\t\tvar _r, _tuple, buf, e, err, isprefix, reader, result, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; buf = $f.buf; e = $f.e; err = $f.err; isprefix = $f.isprefix; reader = $f.reader; result = $f.result; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tresult = new sliceType$20([]);\n\t\tbuf = sliceType$20.nil;\n\t\terr = $ifaceNil;\n\t\tisprefix = true;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(isprefix)) { break; } */ if(!(isprefix)) { $s = 2; continue; }\n\t\t\t_r = reader.ReadLine(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r;\n\t\t\tbuf = _tuple[0];\n\t\t\tisprefix = _tuple[1];\n\t\t\terr = _tuple[2];\n\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\t/* break; */ $s = 2; continue;\n\t\t\t}\n\t\t\tresult = $appendSlice(result, buf);\n\t\t/* } */ $s = 1; continue; case 2:\n\t\te = err;\n\t\tif (!($interfaceIsEqual(e, $ifaceNil)) && $interfaceIsEqual(e, io.EOF)) {\n\t\t\te = $ifaceNil;\n\t\t}\n\t\t$s = -1; return [result, (result.$length === 0) && $interfaceIsEqual(err, io.EOF), e];\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: readBufioLine }; } $f._r = _r; $f._tuple = _tuple; $f.buf = buf; $f.e = e; $f.err = err; $f.isprefix = isprefix; $f.reader = reader; $f.result = result; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tint2Fb = function(val) {\n\t\tvar e, val, x;\n\t\te = 0;\n\t\tx = val;\n\t\twhile (true) {\n\t\t\tif (!(x >= 16)) { break; }\n\t\t\tx = ((x + 1 >> 0)) >> 1 >> 0;\n\t\t\te = e + (1) >> 0;\n\t\t}\n\t\tif (x < 8) {\n\t\t\treturn x;\n\t\t}\n\t\treturn ((((e + 1 >> 0)) << 3 >> 0)) | ((x - 8 >> 0));\n\t};\n\tstrCmp = function(s1, s2) {\n\t\tvar c1, c2, i, len1, len2, s1, s2;\n\t\tlen1 = s1.length;\n\t\tlen2 = s2.length;\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tc1 = -1;\n\t\t\tif (i < len1) {\n\t\t\t\tc1 = ((s1.charCodeAt(i) >> 0));\n\t\t\t}\n\t\t\tc2 = -1;\n\t\t\tif (!((i === len2))) {\n\t\t\t\tc2 = ((s2.charCodeAt(i) >> 0));\n\t\t\t}\n\t\t\tif (c1 < c2) {\n\t\t\t\treturn -1;\n\t\t\t} else if (c1 > c2) {\n\t\t\t\treturn 1;\n\t\t\t} else if (c1 < 0) {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t};\n\tunsafeFastStringToReadOnlyBytes = function(s) {\n\t\tvar bh, s, s$24ptr, sh;\n\t\tsh = ($pointerOfStructConversion(((s$24ptr || (s$24ptr = new ptrType$71(function() { return s; }, function($v) { s = $v; })))), ptrType$70));\n\t\tbh = new reflect.SliceHeader.ptr(sh.Data, sh.Len, sh.Len);\n\t\treturn bh;\n\t};\n\tLValueType.prototype.String = function() {\n\t\tvar vt, x;\n\t\tvt = this.$val;\n\t\treturn (x = ((vt >> 0)), ((x < 0 || x >= lValueNames.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : lValueNames[x]));\n\t};\n\t$ptrType(LValueType).prototype.String = function() { return new LValueType(this.$get()).String(); };\n\tLVIsFalse = function(v) {\n\t\tvar v;\n\t\treturn $interfaceIsEqual(v, $pkg.LNil) || $interfaceIsEqual(v, new LBool($pkg.LFalse));\n\t};\n\t$pkg.LVIsFalse = LVIsFalse;\n\tLVAsBool = function(v) {\n\t\tvar v;\n\t\treturn !($interfaceIsEqual(v, $pkg.LNil)) && !($interfaceIsEqual(v, new LBool($pkg.LFalse)));\n\t};\n\t$pkg.LVAsBool = LVAsBool;\n\tLVAsString = function(v) {\n\t\tvar _r, _ref, sn, sn$1, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _ref = $f._ref; sn = $f.sn; sn$1 = $f.sn$1; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_ref = v;\n\t\t/* */ if ($assertType(_ref, LString, true)[1] || $assertType(_ref, LNumber, true)[1]) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if ($assertType(_ref, LString, true)[1] || $assertType(_ref, LNumber, true)[1]) { */ case 1:\n\t\t\tsn = _ref;\n\t\t\t_r = sn.String(); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return _r;\n\t\t/* } else { */ case 2:\n\t\t\tsn$1 = _ref;\n\t\t\t$s = -1; return \"\";\n\t\t/* } */ case 3:\n\t\t$s = -1; return \"\";\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LVAsString }; } $f._r = _r; $f._ref = _ref; $f.sn = sn; $f.sn$1 = sn$1; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.LVAsString = LVAsString;\n\tLVCanConvToString = function(v) {\n\t\tvar _ref, v;\n\t\t_ref = v;\n\t\tif ($assertType(_ref, LString, true)[1] || $assertType(_ref, LNumber, true)[1]) {\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t};\n\t$pkg.LVCanConvToString = LVCanConvToString;\n\tLVAsNumber = function(v) {\n\t\tvar _r, _ref, _tuple, err, lv, lv$1, num, v, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _ref = $f._ref; _tuple = $f._tuple; err = $f.err; lv = $f.lv; lv$1 = $f.lv$1; num = $f.num; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_ref = v;\n\t\t/* */ if ($assertType(_ref, LNumber, true)[1]) { $s = 1; continue; }\n\t\t/* */ if ($assertType(_ref, LString, true)[1]) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if ($assertType(_ref, LNumber, true)[1]) { */ case 1:\n\t\t\tlv = _ref.$val;\n\t\t\t$s = -1; return lv;\n\t\t/* } else if ($assertType(_ref, LString, true)[1]) { */ case 2:\n\t\t\tlv$1 = _ref.$val;\n\t\t\t_r = parseNumber((lv$1)); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r;\n\t\t\tnum = _tuple[0];\n\t\t\terr = _tuple[1];\n\t\t\tif ($interfaceIsEqual(err, $ifaceNil)) {\n\t\t\t\t$s = -1; return num;\n\t\t\t}\n\t\t/* } */ case 3:\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LVAsNumber }; } $f._r = _r; $f._ref = _ref; $f._tuple = _tuple; $f.err = err; $f.lv = lv; $f.lv$1 = lv$1; $f.num = num; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.LVAsNumber = LVAsNumber;\n\tLNilType.ptr.prototype.String = function() {\n\t\tvar nl;\n\t\tnl = this;\n\t\treturn \"nil\";\n\t};\n\tLNilType.prototype.String = function() { return this.$val.String(); };\n\tLNilType.ptr.prototype.Type = function() {\n\t\tvar nl;\n\t\tnl = this;\n\t\treturn 0;\n\t};\n\tLNilType.prototype.Type = function() { return this.$val.Type(); };\n\tLNilType.ptr.prototype.assertFloat64 = function() {\n\t\tvar nl;\n\t\tnl = this;\n\t\treturn [0, false];\n\t};\n\tLNilType.prototype.assertFloat64 = function() { return this.$val.assertFloat64(); };\n\tLNilType.ptr.prototype.assertString = function() {\n\t\tvar nl;\n\t\tnl = this;\n\t\treturn [\"\", false];\n\t};\n\tLNilType.prototype.assertString = function() { return this.$val.assertString(); };\n\tLNilType.ptr.prototype.assertFunction = function() {\n\t\tvar nl;\n\t\tnl = this;\n\t\treturn [ptrType$7.nil, false];\n\t};\n\tLNilType.prototype.assertFunction = function() { return this.$val.assertFunction(); };\n\tLBool.prototype.String = function() {\n\t\tvar bl;\n\t\tbl = this.$val;\n\t\tif ((bl)) {\n\t\t\treturn \"true\";\n\t\t}\n\t\treturn \"false\";\n\t};\n\t$ptrType(LBool).prototype.String = function() { return new LBool(this.$get()).String(); };\n\tLBool.prototype.Type = function() {\n\t\tvar bl;\n\t\tbl = this.$val;\n\t\treturn 1;\n\t};\n\t$ptrType(LBool).prototype.Type = function() { return new LBool(this.$get()).Type(); };\n\tLBool.prototype.assertFloat64 = function() {\n\t\tvar bl;\n\t\tbl = this.$val;\n\t\treturn [0, false];\n\t};\n\t$ptrType(LBool).prototype.assertFloat64 = function() { return new LBool(this.$get()).assertFloat64(); };\n\tLBool.prototype.assertString = function() {\n\t\tvar bl;\n\t\tbl = this.$val;\n\t\treturn [\"\", false];\n\t};\n\t$ptrType(LBool).prototype.assertString = function() { return new LBool(this.$get()).assertString(); };\n\tLBool.prototype.assertFunction = function() {\n\t\tvar bl;\n\t\tbl = this.$val;\n\t\treturn [ptrType$7.nil, false];\n\t};\n\t$ptrType(LBool).prototype.assertFunction = function() { return new LBool(this.$get()).assertFunction(); };\n\tLString.prototype.String = function() {\n\t\tvar st;\n\t\tst = this.$val;\n\t\treturn (st);\n\t};\n\t$ptrType(LString).prototype.String = function() { return new LString(this.$get()).String(); };\n\tLString.prototype.Type = function() {\n\t\tvar st;\n\t\tst = this.$val;\n\t\treturn 3;\n\t};\n\t$ptrType(LString).prototype.Type = function() { return new LString(this.$get()).Type(); };\n\tLString.prototype.assertFloat64 = function() {\n\t\tvar st;\n\t\tst = this.$val;\n\t\treturn [0, false];\n\t};\n\t$ptrType(LString).prototype.assertFloat64 = function() { return new LString(this.$get()).assertFloat64(); };\n\tLString.prototype.assertString = function() {\n\t\tvar st;\n\t\tst = this.$val;\n\t\treturn [(st), true];\n\t};\n\t$ptrType(LString).prototype.assertString = function() { return new LString(this.$get()).assertString(); };\n\tLString.prototype.assertFunction = function() {\n\t\tvar st;\n\t\tst = this.$val;\n\t\treturn [ptrType$7.nil, false];\n\t};\n\t$ptrType(LString).prototype.assertFunction = function() { return new LString(this.$get()).assertFunction(); };\n\tLString.prototype.Format = function(f, c) {\n\t\tvar _1, _r, _tuple, c, err, f, nm, st, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; _tuple = $f._tuple; c = $f.c; err = $f.err; f = $f.f; nm = $f.nm; st = $f.st; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tst = this.$val;\n\t\t\t_1 = c;\n\t\t\t/* */ if ((_1 === (100)) || (_1 === (105))) { $s = 2; continue; }\n\t\t\t/* */ $s = 3; continue;\n\t\t\t/* if ((_1 === (100)) || (_1 === (105))) { */ case 2:\n\t\t\t\t_r = parseNumber((st)); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t_tuple = _r;\n\t\t\t\tnm = _tuple[0];\n\t\t\t\terr = _tuple[1];\n\t\t\t\t/* */ if (!($interfaceIsEqual(err, $ifaceNil))) { $s = 6; continue; }\n\t\t\t\t/* */ $s = 7; continue;\n\t\t\t\t/* if (!($interfaceIsEqual(err, $ifaceNil))) { */ case 6:\n\t\t\t\t\t$r = defaultFormat(new LNumber(nm), f, 100); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t$s = 8; continue;\n\t\t\t\t/* } else { */ case 7:\n\t\t\t\t\t$r = defaultFormat(new $String((st)), f, 115); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t/* } */ case 8:\n\t\t\t\t$s = 4; continue;\n\t\t\t/* } else { */ case 3:\n\t\t\t\t$r = defaultFormat(new $String((st)), f, c); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 4:\n\t\tcase 1:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LString.prototype.Format }; } $f._1 = _1; $f._r = _r; $f._tuple = _tuple; $f.c = c; $f.err = err; $f.f = f; $f.nm = nm; $f.st = st; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$ptrType(LString).prototype.Format = function(f, c) { return new LString(this.$get()).Format(f, c); };\n\tLNumber.prototype.String = function() {\n\t\tvar _r, _r$1, nm, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; nm = $f.nm; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tnm = this.$val;\n\t\t/* */ if (isInteger(nm)) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (isInteger(nm)) { */ case 1:\n\t\t\t_r = fmt.Sprint(new sliceType$6([(new $Int64(0, nm))])); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return _r;\n\t\t/* } */ case 2:\n\t\t_r$1 = fmt.Sprint(new sliceType$6([new $Float64((nm))])); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r$1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LNumber.prototype.String }; } $f._r = _r; $f._r$1 = _r$1; $f.nm = nm; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$ptrType(LNumber).prototype.String = function() { return new LNumber(this.$get()).String(); };\n\tLNumber.prototype.Type = function() {\n\t\tvar nm;\n\t\tnm = this.$val;\n\t\treturn 2;\n\t};\n\t$ptrType(LNumber).prototype.Type = function() { return new LNumber(this.$get()).Type(); };\n\tLNumber.prototype.assertFloat64 = function() {\n\t\tvar nm;\n\t\tnm = this.$val;\n\t\treturn [(nm), true];\n\t};\n\t$ptrType(LNumber).prototype.assertFloat64 = function() { return new LNumber(this.$get()).assertFloat64(); };\n\tLNumber.prototype.assertString = function() {\n\t\tvar nm;\n\t\tnm = this.$val;\n\t\treturn [\"\", false];\n\t};\n\t$ptrType(LNumber).prototype.assertString = function() { return new LNumber(this.$get()).assertString(); };\n\tLNumber.prototype.assertFunction = function() {\n\t\tvar nm;\n\t\tnm = this.$val;\n\t\treturn [ptrType$7.nil, false];\n\t};\n\t$ptrType(LNumber).prototype.assertFunction = function() { return new LNumber(this.$get()).assertFunction(); };\n\tLNumber.prototype.Format = function(f, c) {\n\t\tvar _1, _r, c, f, nm, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; c = $f.c; f = $f.f; nm = $f.nm; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tnm = this.$val;\n\t\t\t_1 = c;\n\t\t\t/* */ if ((_1 === (113)) || (_1 === (115))) { $s = 2; continue; }\n\t\t\t/* */ if ((_1 === (98)) || (_1 === (99)) || (_1 === (100)) || (_1 === (111)) || (_1 === (120)) || (_1 === (88)) || (_1 === (85))) { $s = 3; continue; }\n\t\t\t/* */ if ((_1 === (101)) || (_1 === (69)) || (_1 === (102)) || (_1 === (70)) || (_1 === (103)) || (_1 === (71))) { $s = 4; continue; }\n\t\t\t/* */ if (_1 === (105)) { $s = 5; continue; }\n\t\t\t/* */ if (isInteger(nm)) { $s = 6; continue; }\n\t\t\t/* */ $s = 7; continue;\n\t\t\t/* if ((_1 === (113)) || (_1 === (115))) { */ case 2:\n\t\t\t\t_r = new LNumber(nm).String(); /* */ $s = 9; case 9: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t$r = defaultFormat(new $String(_r), f, c); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 8; continue;\n\t\t\t/* } else if ((_1 === (98)) || (_1 === (99)) || (_1 === (100)) || (_1 === (111)) || (_1 === (120)) || (_1 === (88)) || (_1 === (85))) { */ case 3:\n\t\t\t\t$r = defaultFormat((new $Int64(0, nm)), f, c); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 8; continue;\n\t\t\t/* } else if ((_1 === (101)) || (_1 === (69)) || (_1 === (102)) || (_1 === (70)) || (_1 === (103)) || (_1 === (71))) { */ case 4:\n\t\t\t\t$r = defaultFormat(new $Float64((nm)), f, c); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 8; continue;\n\t\t\t/* } else if (_1 === (105)) { */ case 5:\n\t\t\t\t$r = defaultFormat((new $Int64(0, nm)), f, 100); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 8; continue;\n\t\t\t/* } else if (isInteger(nm)) { */ case 6:\n\t\t\t\t$r = defaultFormat((new $Int64(0, nm)), f, c); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = 8; continue;\n\t\t\t/* } else { */ case 7:\n\t\t\t\t$r = defaultFormat(new $Float64((nm)), f, c); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 8:\n\t\tcase 1:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LNumber.prototype.Format }; } $f._1 = _1; $f._r = _r; $f.c = c; $f.f = f; $f.nm = nm; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$ptrType(LNumber).prototype.Format = function(f, c) { return new LNumber(this.$get()).Format(f, c); };\n\tLTable.ptr.prototype.String = function() {\n\t\tvar _r, tb, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; tb = $f.tb; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\ttb = this;\n\t\t_r = fmt.Sprintf(\"table: %p\", new sliceType$6([tb])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LTable.ptr.prototype.String }; } $f._r = _r; $f.tb = tb; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLTable.prototype.String = function() { return this.$val.String(); };\n\tLTable.ptr.prototype.Type = function() {\n\t\tvar tb;\n\t\ttb = this;\n\t\treturn 7;\n\t};\n\tLTable.prototype.Type = function() { return this.$val.Type(); };\n\tLTable.ptr.prototype.assertFloat64 = function() {\n\t\tvar tb;\n\t\ttb = this;\n\t\treturn [0, false];\n\t};\n\tLTable.prototype.assertFloat64 = function() { return this.$val.assertFloat64(); };\n\tLTable.ptr.prototype.assertString = function() {\n\t\tvar tb;\n\t\ttb = this;\n\t\treturn [\"\", false];\n\t};\n\tLTable.prototype.assertString = function() { return this.$val.assertString(); };\n\tLTable.ptr.prototype.assertFunction = function() {\n\t\tvar tb;\n\t\ttb = this;\n\t\treturn [ptrType$7.nil, false];\n\t};\n\tLTable.prototype.assertFunction = function() { return this.$val.assertFunction(); };\n\tLFunction.ptr.prototype.String = function() {\n\t\tvar _r, fn, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; fn = $f.fn; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tfn = this;\n\t\t_r = fmt.Sprintf(\"function: %p\", new sliceType$6([fn])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LFunction.ptr.prototype.String }; } $f._r = _r; $f.fn = fn; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLFunction.prototype.String = function() { return this.$val.String(); };\n\tLFunction.ptr.prototype.Type = function() {\n\t\tvar fn;\n\t\tfn = this;\n\t\treturn 4;\n\t};\n\tLFunction.prototype.Type = function() { return this.$val.Type(); };\n\tLFunction.ptr.prototype.assertFloat64 = function() {\n\t\tvar fn;\n\t\tfn = this;\n\t\treturn [0, false];\n\t};\n\tLFunction.prototype.assertFloat64 = function() { return this.$val.assertFloat64(); };\n\tLFunction.ptr.prototype.assertString = function() {\n\t\tvar fn;\n\t\tfn = this;\n\t\treturn [\"\", false];\n\t};\n\tLFunction.prototype.assertString = function() { return this.$val.assertString(); };\n\tLFunction.ptr.prototype.assertFunction = function() {\n\t\tvar fn;\n\t\tfn = this;\n\t\treturn [fn, true];\n\t};\n\tLFunction.prototype.assertFunction = function() { return this.$val.assertFunction(); };\n\tLState.ptr.prototype.String = function() {\n\t\tvar _r, ls, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; ls = $f.ls; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tls = this;\n\t\t_r = fmt.Sprintf(\"thread: %p\", new sliceType$6([ls])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LState.ptr.prototype.String }; } $f._r = _r; $f.ls = ls; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLState.prototype.String = function() { return this.$val.String(); };\n\tLState.ptr.prototype.Type = function() {\n\t\tvar ls;\n\t\tls = this;\n\t\treturn 6;\n\t};\n\tLState.prototype.Type = function() { return this.$val.Type(); };\n\tLState.ptr.prototype.assertFloat64 = function() {\n\t\tvar ls;\n\t\tls = this;\n\t\treturn [0, false];\n\t};\n\tLState.prototype.assertFloat64 = function() { return this.$val.assertFloat64(); };\n\tLState.ptr.prototype.assertString = function() {\n\t\tvar ls;\n\t\tls = this;\n\t\treturn [\"\", false];\n\t};\n\tLState.prototype.assertString = function() { return this.$val.assertString(); };\n\tLState.ptr.prototype.assertFunction = function() {\n\t\tvar ls;\n\t\tls = this;\n\t\treturn [ptrType$7.nil, false];\n\t};\n\tLState.prototype.assertFunction = function() { return this.$val.assertFunction(); };\n\tLUserData.ptr.prototype.String = function() {\n\t\tvar _r, ud, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; ud = $f.ud; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tud = this;\n\t\t_r = fmt.Sprintf(\"userdata: %p\", new sliceType$6([ud])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t$s = -1; return _r;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: LUserData.ptr.prototype.String }; } $f._r = _r; $f.ud = ud; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tLUserData.prototype.String = function() { return this.$val.String(); };\n\tLUserData.ptr.prototype.Type = function() {\n\t\tvar ud;\n\t\tud = this;\n\t\treturn 5;\n\t};\n\tLUserData.prototype.Type = function() { return this.$val.Type(); };\n\tLUserData.ptr.prototype.assertFloat64 = function() {\n\t\tvar ud;\n\t\tud = this;\n\t\treturn [0, false];\n\t};\n\tLUserData.prototype.assertFloat64 = function() { return this.$val.assertFloat64(); };\n\tLUserData.ptr.prototype.assertString = function() {\n\t\tvar ud;\n\t\tud = this;\n\t\treturn [\"\", false];\n\t};\n\tLUserData.prototype.assertString = function() { return this.$val.assertString(); };\n\tLUserData.ptr.prototype.assertFunction = function() {\n\t\tvar ud;\n\t\tud = this;\n\t\treturn [ptrType$7.nil, false];\n\t};\n\tLUserData.prototype.assertFunction = function() { return this.$val.assertFunction(); };\n\tmainLoop = function(L, baseframe) {\n\t\tvar L, _r, _r$1, baseframe, cf, inst, x, x$1, x$2, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; baseframe = $f.baseframe; cf = $f.cf; inst = $f.inst; x = $f.x; x$1 = $f.x$1; x$2 = $f.x$2; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tinst = 0;\n\t\tcf = ptrType$10.nil;\n\t\tif (L.stack.IsEmpty()) {\n\t\t\t$s = -1; return;\n\t\t}\n\t\tL.currentFrame = L.stack.Last();\n\t\t/* */ if (L.currentFrame.Fn.IsG) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (L.currentFrame.Fn.IsG) { */ case 1:\n\t\t\t_r = callGFunction(L, false); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_r;\n\t\t\t$s = -1; return;\n\t\t/* } */ case 2:\n\t\t/* while (true) { */ case 4:\n\t\t\tcf = L.currentFrame;\n\t\t\tinst = (x = cf.Fn.Proto.Code, x$1 = cf.Pc, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1]));\n\t\t\tcf.Pc = cf.Pc + (1) >> 0;\n\t\t\t_r$1 = (x$2 = (((inst >>> 26 >>> 0) >> 0)), ((x$2 < 0 || x$2 >= jumpTable.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : jumpTable[x$2]))(L, inst, baseframe); /* */ $s = 8; case 8: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t/* */ if (_r$1 === 1) { $s = 6; continue; }\n\t\t\t/* */ $s = 7; continue;\n\t\t\t/* if (_r$1 === 1) { */ case 6:\n\t\t\t\t$s = -1; return;\n\t\t\t/* } */ case 7:\n\t\t/* } */ $s = 4; continue; case 5:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: mainLoop }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.baseframe = baseframe; $f.cf = cf; $f.inst = inst; $f.x = x; $f.x$1 = x$1; $f.x$2 = x$2; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tmainLoopWithContext = function(L, baseframe) {\n\t\tvar L, _r, _r$1, _r$2, _r$3, _r$4, _selection, baseframe, cf, inst, x, x$1, x$2, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _selection = $f._selection; baseframe = $f.baseframe; cf = $f.cf; inst = $f.inst; x = $f.x; x$1 = $f.x$1; x$2 = $f.x$2; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tinst = 0;\n\t\tcf = ptrType$10.nil;\n\t\tif (L.stack.IsEmpty()) {\n\t\t\t$s = -1; return;\n\t\t}\n\t\tL.currentFrame = L.stack.Last();\n\t\t/* */ if (L.currentFrame.Fn.IsG) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (L.currentFrame.Fn.IsG) { */ case 1:\n\t\t\t_r = callGFunction(L, false); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_r;\n\t\t\t$s = -1; return;\n\t\t/* } */ case 2:\n\t\t/* while (true) { */ case 4:\n\t\t\tcf = L.currentFrame;\n\t\t\tinst = (x = cf.Fn.Proto.Code, x$1 = cf.Pc, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1]));\n\t\t\tcf.Pc = cf.Pc + (1) >> 0;\n\t\t\t_r$1 = L.ctx.Done(); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_selection = $select([[_r$1], []]);\n\t\t\t/* */ if (_selection[0] === 0) { $s = 7; continue; }\n\t\t\t/* */ if (_selection[0] === 1) { $s = 8; continue; }\n\t\t\t/* */ $s = 9; continue;\n\t\t\t/* if (_selection[0] === 0) { */ case 7:\n\t\t\t\t_r$2 = L.ctx.Err(); /* */ $s = 10; case 10: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t_r$3 = _r$2.Error(); /* */ $s = 11; case 11: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t$r = L.RaiseError(_r$3, new sliceType$6([])); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return;\n\t\t\t/* } else if (_selection[0] === 1) { */ case 8:\n\t\t\t\t_r$4 = (x$2 = (((inst >>> 26 >>> 0) >> 0)), ((x$2 < 0 || x$2 >= jumpTable.length) ? ($throwRuntimeError(\"index out of range\"), undefined) : jumpTable[x$2]))(L, inst, baseframe); /* */ $s = 15; case 15: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\t/* */ if (_r$4 === 1) { $s = 13; continue; }\n\t\t\t\t/* */ $s = 14; continue;\n\t\t\t\t/* if (_r$4 === 1) { */ case 13:\n\t\t\t\t\t$s = -1; return;\n\t\t\t\t/* } */ case 14:\n\t\t\t/* } */ case 9:\n\t\t/* } */ $s = 4; continue; case 5:\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: mainLoopWithContext }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._selection = _selection; $f.baseframe = baseframe; $f.cf = cf; $f.inst = inst; $f.x = x; $f.x$1 = x$1; $f.x$2 = x$2; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tswitchToParentThread = function(L, nargs, haserror, kill) {\n\t\tvar L, haserror, kill, nargs, offset, parent, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; haserror = $f.haserror; kill = $f.kill; nargs = $f.nargs; offset = $f.offset; parent = $f.parent; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tparent = L.Parent;\n\t\t/* */ if (parent === ptrType$9.nil) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (parent === ptrType$9.nil) { */ case 1:\n\t\t\t$r = L.RaiseError(\"can not yield from outside of a coroutine\", new sliceType$6([])); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 2:\n\t\tL.G.CurrentThread = parent;\n\t\tL.Parent = ptrType$9.nil;\n\t\tif (!L.wrapped) {\n\t\t\tif (haserror) {\n\t\t\t\tparent.Push(new LBool($pkg.LFalse));\n\t\t\t} else {\n\t\t\t\tparent.Push(new LBool($pkg.LTrue));\n\t\t\t}\n\t\t}\n\t\tL.XMoveTo(parent, nargs);\n\t\tL.stack.Pop();\n\t\toffset = L.currentFrame.LocalBase - L.currentFrame.ReturnBase >> 0;\n\t\tL.currentFrame = L.stack.Last();\n\t\tL.reg.SetTop(L.reg.Top() - offset >> 0);\n\t\tif (kill) {\n\t\t\tL.kill();\n\t\t}\n\t\t$s = -1; return;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: switchToParentThread }; } $f.L = L; $f.haserror = haserror; $f.kill = kill; $f.nargs = nargs; $f.offset = offset; $f.parent = parent; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tcallGFunction = function(L, tailcall) {\n\t\tvar L, _r, frame, gfnret, i, limit, n, regv, rg, start, tailcall, tidx, wantret, x, x$1, x$2, x$3, x$4, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; frame = $f.frame; gfnret = $f.gfnret; i = $f.i; limit = $f.limit; n = $f.n; regv = $f.regv; rg = $f.rg; start = $f.start; tailcall = $f.tailcall; tidx = $f.tidx; wantret = $f.wantret; x = $f.x; x$1 = $f.x$1; x$2 = $f.x$2; x$3 = $f.x$3; x$4 = $f.x$4; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tframe = L.currentFrame;\n\t\t_r = frame.Fn.GFunction(L); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tgfnret = _r;\n\t\tif (tailcall) {\n\t\t\tL.stack.Remove(L.stack.Sp() - 2 >> 0);\n\t\t\tL.currentFrame = L.stack.Last();\n\t\t}\n\t\t/* */ if (gfnret < 0) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (gfnret < 0) { */ case 2:\n\t\t\t$r = switchToParentThread(L, L.GetTop(), false, false); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return true;\n\t\t/* } */ case 3:\n\t\twantret = frame.NRet;\n\t\tif (wantret === -1) {\n\t\t\twantret = gfnret;\n\t\t}\n\t\t/* */ if (tailcall && !(L.Parent === ptrType$9.nil) && (L.stack.Sp() === 1)) { $s = 5; continue; }\n\t\t/* */ $s = 6; continue;\n\t\t/* if (tailcall && !(L.Parent === ptrType$9.nil) && (L.stack.Sp() === 1)) { */ case 5:\n\t\t\t$r = switchToParentThread(L, wantret, false, true); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return true;\n\t\t/* } */ case 6:\n\t\trg = L.reg;\n\t\tregv = frame.ReturnBase;\n\t\tstart = L.reg.Top() - gfnret >> 0;\n\t\tlimit = -1;\n\t\tn = wantret;\n\t\ti = 0;\n\t\twhile (true) {\n\t\t\tif (!(i < n)) { break; }\n\t\t\ttidx = start + i >> 0;\n\t\t\tif (tidx >= rg.top || limit > -1 && tidx >= limit || tidx < 0) {\n\t\t\t\t(x = rg.array, x$1 = regv + i >> 0, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1] = $pkg.LNil));\n\t\t\t} else {\n\t\t\t\t(x$3 = rg.array, x$4 = regv + i >> 0, ((x$4 < 0 || x$4 >= x$3.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$3.$array[x$3.$offset + x$4] = (x$2 = rg.array, ((tidx < 0 || tidx >= x$2.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$2.$array[x$2.$offset + tidx]))));\n\t\t\t}\n\t\t\ti = i + (1) >> 0;\n\t\t}\n\t\trg.top = regv + n >> 0;\n\t\tL.stack.Pop();\n\t\tL.currentFrame = L.stack.Last();\n\t\t$s = -1; return false;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: callGFunction }; } $f.L = L; $f._r = _r; $f.frame = frame; $f.gfnret = gfnret; $f.i = i; $f.limit = limit; $f.n = n; $f.regv = regv; $f.rg = rg; $f.start = start; $f.tailcall = tailcall; $f.tidx = tidx; $f.wantret = wantret; $f.x = x; $f.x$1 = x$1; $f.x$2 = x$2; $f.x$3 = x$3; $f.x$4 = x$4; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tthreadRun = function(L) {\n\t\tvar L, $s, $deferred, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\tL = [L];\n\t\tif (L[0].stack.IsEmpty()) {\n\t\t\t$s = -1; return;\n\t\t}\n\t\t$deferred.push([(function(L) { return function $b() {\n\t\t\tvar _r, _tuple, lv, ok, parent, rcv, v, $s, $r;\n\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; lv = $f.lv; ok = $f.ok; parent = $f.parent; rcv = $f.rcv; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t\trcv = $recover();\n\t\t\t/* */ if (!($interfaceIsEqual(rcv, $ifaceNil))) { $s = 1; continue; }\n\t\t\t/* */ $s = 2; continue;\n\t\t\t/* if (!($interfaceIsEqual(rcv, $ifaceNil))) { */ case 1:\n\t\t\t\tlv = $ifaceNil;\n\t\t\t\t_tuple = $assertType(rcv, ptrType$11, true);\n\t\t\t\tv = _tuple[0];\n\t\t\t\tok = _tuple[1];\n\t\t\t\t/* */ if (ok) { $s = 3; continue; }\n\t\t\t\t/* */ $s = 4; continue;\n\t\t\t\t/* if (ok) { */ case 3:\n\t\t\t\t\tlv = v.Object;\n\t\t\t\t\t$s = 5; continue;\n\t\t\t\t/* } else { */ case 4:\n\t\t\t\t\t_r = fmt.Sprint(new sliceType$6([rcv])); /* */ $s = 6; case 6: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t\tlv = new LString((_r));\n\t\t\t\t/* } */ case 5:\n\t\t\t\tparent = L[0].Parent;\n\t\t\t\t/* */ if (!(parent === ptrType$9.nil)) { $s = 7; continue; }\n\t\t\t\t/* */ $s = 8; continue;\n\t\t\t\t/* if (!(parent === ptrType$9.nil)) { */ case 7:\n\t\t\t\t\t/* */ if (L[0].wrapped) { $s = 10; continue; }\n\t\t\t\t\t/* */ $s = 11; continue;\n\t\t\t\t\t/* if (L[0].wrapped) { */ case 10:\n\t\t\t\t\t\tL[0].Push(lv);\n\t\t\t\t\t\t$r = parent.Panic(L[0]); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t\t$s = 12; continue;\n\t\t\t\t\t/* } else { */ case 11:\n\t\t\t\t\t\tL[0].SetTop(0);\n\t\t\t\t\t\tL[0].Push(lv);\n\t\t\t\t\t\t$r = switchToParentThread(L[0], 1, true, true); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t/* } */ case 12:\n\t\t\t\t\t$s = 9; continue;\n\t\t\t\t/* } else { */ case 8:\n\t\t\t\t\t$panic(rcv);\n\t\t\t\t/* } */ case 9:\n\t\t\t/* } */ case 2:\n\t\t\t$s = -1; return;\n\t\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f._r = _r; $f._tuple = _tuple; $f.lv = lv; $f.ok = ok; $f.parent = parent; $f.rcv = rcv; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t\t}; })(L), []]);\n\t\t$r = L[0].mainLoop(L[0], ptrType$10.nil); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return;\n\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: threadRun }; } $f.L = L; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t};\n\tinit$3 = function() {\n\t\tarrayType$1.copy(jumpTable, $toNativeArray($kindFunc, [(function(L, inst, baseframe) {\n\t\t\tvar A, B, L, RA, baseframe, cf, inst, lbase, reg;\n\t\t\treg = L.reg;\n\t\t\tcf = L.currentFrame;\n\t\t\tlbase = cf.LocalBase;\n\t\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\t\tRA = lbase + A >> 0;\n\t\t\tB = ((((inst & 511) >>> 0) >> 0));\n\t\t\treg.Set(RA, reg.Get(lbase + B >> 0));\n\t\t\treturn 0;\n\t\t}), (function(L, inst, baseframe) {\n\t\t\tvar A, B, C, L, baseframe, cf, code, i, inst, lbase, pc, reg;\n\t\t\treg = L.reg;\n\t\t\tcf = L.currentFrame;\n\t\t\tlbase = cf.LocalBase;\n\t\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\t\tB = ((((inst & 511) >>> 0) >> 0));\n\t\t\tC = (((inst >>> 9 >>> 0) >> 0)) & 511;\n\t\t\treg.Set(lbase + A >> 0, reg.Get(lbase + B >> 0));\n\t\t\tcode = cf.Fn.Proto.Code;\n\t\t\tpc = cf.Pc;\n\t\t\ti = 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(i < C)) { break; }\n\t\t\t\tinst = ((pc < 0 || pc >= code.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : code.$array[code.$offset + pc]);\n\t\t\t\tpc = pc + (1) >> 0;\n\t\t\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\t\t\tB = ((((inst & 511) >>> 0) >> 0));\n\t\t\t\treg.Set(lbase + A >> 0, reg.Get(lbase + B >> 0));\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t}\n\t\t\tcf.Pc = pc;\n\t\t\treturn 0;\n\t\t}), (function(L, inst, baseframe) {\n\t\t\tvar A, Bx, L, RA, baseframe, cf, inst, lbase, reg, x;\n\t\t\treg = L.reg;\n\t\t\tcf = L.currentFrame;\n\t\t\tlbase = cf.LocalBase;\n\t\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\t\tRA = lbase + A >> 0;\n\t\t\tBx = ((((inst & 262143) >>> 0) >> 0));\n\t\t\treg.Set(RA, (x = cf.Fn.Proto.Constants, ((Bx < 0 || Bx >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + Bx])));\n\t\t\treturn 0;\n\t\t}), (function(L, inst, baseframe) {\n\t\t\tvar A, B, C, L, RA, baseframe, cf, inst, lbase, reg;\n\t\t\treg = L.reg;\n\t\t\tcf = L.currentFrame;\n\t\t\tlbase = cf.LocalBase;\n\t\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\t\tRA = lbase + A >> 0;\n\t\t\tB = ((((inst & 511) >>> 0) >> 0));\n\t\t\tC = (((inst >>> 9 >>> 0) >> 0)) & 511;\n\t\t\tif (!((B === 0))) {\n\t\t\t\treg.Set(RA, new LBool($pkg.LTrue));\n\t\t\t} else {\n\t\t\t\treg.Set(RA, new LBool($pkg.LFalse));\n\t\t\t}\n\t\t\tif (!((C === 0))) {\n\t\t\t\tcf.Pc = cf.Pc + (1) >> 0;\n\t\t\t}\n\t\t\treturn 0;\n\t\t}), (function(L, inst, baseframe) {\n\t\t\tvar A, B, L, RA, baseframe, cf, i, inst, lbase, reg;\n\t\t\treg = L.reg;\n\t\t\tcf = L.currentFrame;\n\t\t\tlbase = cf.LocalBase;\n\t\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\t\tRA = lbase + A >> 0;\n\t\t\tB = ((((inst & 511) >>> 0) >> 0));\n\t\t\ti = RA;\n\t\t\twhile (true) {\n\t\t\t\tif (!(i <= (lbase + B >> 0))) { break; }\n\t\t\t\treg.Set(i, $pkg.LNil);\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t}\n\t\t\treturn 0;\n\t\t}), (function(L, inst, baseframe) {\n\t\t\tvar A, B, L, RA, baseframe, cf, inst, lbase, reg, x;\n\t\t\treg = L.reg;\n\t\t\tcf = L.currentFrame;\n\t\t\tlbase = cf.LocalBase;\n\t\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\t\tRA = lbase + A >> 0;\n\t\t\tB = ((((inst & 511) >>> 0) >> 0));\n\t\t\treg.Set(RA, (x = cf.Fn.Upvalues, ((B < 0 || B >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + B])).Value());\n\t\t\treturn 0;\n\t\t}), (function $b(L, inst, baseframe) {\n\t\t\tvar A, Bx, L, RA, _arg, _arg$1, _r, baseframe, cf, inst, lbase, reg, x, $s, $r;\n\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; A = $f.A; Bx = $f.Bx; L = $f.L; RA = $f.RA; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; baseframe = $f.baseframe; cf = $f.cf; inst = $f.inst; lbase = $f.lbase; reg = $f.reg; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t\treg = L.reg;\n\t\t\tcf = L.currentFrame;\n\t\t\tlbase = cf.LocalBase;\n\t\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\t\tRA = lbase + A >> 0;\n\t\t\tBx = ((((inst & 262143) >>> 0) >> 0));\n\t\t\t_arg = RA;\n\t\t\t_r = L.getFieldString(cf.Fn.Env, (x = cf.Fn.Proto.stringConstants, ((Bx < 0 || Bx >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + Bx]))); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_arg$1 = _r;\n\t\t\t$r = reg.Set(_arg, _arg$1); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return 0;\n\t\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.A = A; $f.Bx = Bx; $f.L = L; $f.RA = RA; $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f.baseframe = baseframe; $f.cf = cf; $f.inst = inst; $f.lbase = lbase; $f.reg = reg; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t\t}), (function $b(L, inst, baseframe) {\n\t\t\tvar A, B, C, L, RA, _arg, _arg$1, _r, baseframe, cf, inst, lbase, reg, $s, $r;\n\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; A = $f.A; B = $f.B; C = $f.C; L = $f.L; RA = $f.RA; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; baseframe = $f.baseframe; cf = $f.cf; inst = $f.inst; lbase = $f.lbase; reg = $f.reg; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t\treg = L.reg;\n\t\t\tcf = L.currentFrame;\n\t\t\tlbase = cf.LocalBase;\n\t\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\t\tRA = lbase + A >> 0;\n\t\t\tB = ((((inst & 511) >>> 0) >> 0));\n\t\t\tC = (((inst >>> 9 >>> 0) >> 0)) & 511;\n\t\t\t_arg = RA;\n\t\t\t_r = L.getField(reg.Get(lbase + B >> 0), L.rkValue(C)); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_arg$1 = _r;\n\t\t\t$r = reg.Set(_arg, _arg$1); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return 0;\n\t\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.A = A; $f.B = B; $f.C = C; $f.L = L; $f.RA = RA; $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f.baseframe = baseframe; $f.cf = cf; $f.inst = inst; $f.lbase = lbase; $f.reg = reg; $f.$s = $s; $f.$r = $r; return $f;\n\t\t}), (function $b(L, inst, baseframe) {\n\t\t\tvar A, B, C, L, RA, _arg, _arg$1, _r, baseframe, cf, inst, lbase, reg, $s, $r;\n\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; A = $f.A; B = $f.B; C = $f.C; L = $f.L; RA = $f.RA; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; baseframe = $f.baseframe; cf = $f.cf; inst = $f.inst; lbase = $f.lbase; reg = $f.reg; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t\treg = L.reg;\n\t\t\tcf = L.currentFrame;\n\t\t\tlbase = cf.LocalBase;\n\t\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\t\tRA = lbase + A >> 0;\n\t\t\tB = ((((inst & 511) >>> 0) >> 0));\n\t\t\tC = (((inst >>> 9 >>> 0) >> 0)) & 511;\n\t\t\t_arg = RA;\n\t\t\t_r = L.getFieldString(reg.Get(lbase + B >> 0), L.rkString(C)); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_arg$1 = _r;\n\t\t\t$r = reg.Set(_arg, _arg$1); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return 0;\n\t\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.A = A; $f.B = B; $f.C = C; $f.L = L; $f.RA = RA; $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f.baseframe = baseframe; $f.cf = cf; $f.inst = inst; $f.lbase = lbase; $f.reg = reg; $f.$s = $s; $f.$r = $r; return $f;\n\t\t}), (function $b(L, inst, baseframe) {\n\t\t\tvar A, Bx, L, RA, baseframe, cf, inst, lbase, reg, x, $s, $r;\n\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; A = $f.A; Bx = $f.Bx; L = $f.L; RA = $f.RA; baseframe = $f.baseframe; cf = $f.cf; inst = $f.inst; lbase = $f.lbase; reg = $f.reg; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t\treg = L.reg;\n\t\t\tcf = L.currentFrame;\n\t\t\tlbase = cf.LocalBase;\n\t\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\t\tRA = lbase + A >> 0;\n\t\t\tBx = ((((inst & 262143) >>> 0) >> 0));\n\t\t\t$r = L.setFieldString(cf.Fn.Env, (x = cf.Fn.Proto.stringConstants, ((Bx < 0 || Bx >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + Bx])), reg.Get(RA)); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return 0;\n\t\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.A = A; $f.Bx = Bx; $f.L = L; $f.RA = RA; $f.baseframe = baseframe; $f.cf = cf; $f.inst = inst; $f.lbase = lbase; $f.reg = reg; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t\t}), (function(L, inst, baseframe) {\n\t\t\tvar A, B, L, RA, baseframe, cf, inst, lbase, reg, x;\n\t\t\treg = L.reg;\n\t\t\tcf = L.currentFrame;\n\t\t\tlbase = cf.LocalBase;\n\t\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\t\tRA = lbase + A >> 0;\n\t\t\tB = ((((inst & 511) >>> 0) >> 0));\n\t\t\t(x = cf.Fn.Upvalues, ((B < 0 || B >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + B])).SetValue(reg.Get(RA));\n\t\t\treturn 0;\n\t\t}), (function $b(L, inst, baseframe) {\n\t\t\tvar A, B, C, L, RA, baseframe, cf, inst, lbase, reg, $s, $r;\n\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; A = $f.A; B = $f.B; C = $f.C; L = $f.L; RA = $f.RA; baseframe = $f.baseframe; cf = $f.cf; inst = $f.inst; lbase = $f.lbase; reg = $f.reg; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t\treg = L.reg;\n\t\t\tcf = L.currentFrame;\n\t\t\tlbase = cf.LocalBase;\n\t\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\t\tRA = lbase + A >> 0;\n\t\t\tB = ((((inst & 511) >>> 0) >> 0));\n\t\t\tC = (((inst >>> 9 >>> 0) >> 0)) & 511;\n\t\t\t$r = L.setField(reg.Get(RA), L.rkValue(B), L.rkValue(C)); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return 0;\n\t\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.A = A; $f.B = B; $f.C = C; $f.L = L; $f.RA = RA; $f.baseframe = baseframe; $f.cf = cf; $f.inst = inst; $f.lbase = lbase; $f.reg = reg; $f.$s = $s; $f.$r = $r; return $f;\n\t\t}), (function $b(L, inst, baseframe) {\n\t\t\tvar A, B, C, L, RA, baseframe, cf, inst, lbase, reg, $s, $r;\n\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; A = $f.A; B = $f.B; C = $f.C; L = $f.L; RA = $f.RA; baseframe = $f.baseframe; cf = $f.cf; inst = $f.inst; lbase = $f.lbase; reg = $f.reg; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t\treg = L.reg;\n\t\t\tcf = L.currentFrame;\n\t\t\tlbase = cf.LocalBase;\n\t\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\t\tRA = lbase + A >> 0;\n\t\t\tB = ((((inst & 511) >>> 0) >> 0));\n\t\t\tC = (((inst >>> 9 >>> 0) >> 0)) & 511;\n\t\t\t$r = L.setFieldString(reg.Get(RA), L.rkString(B), L.rkValue(C)); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return 0;\n\t\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.A = A; $f.B = B; $f.C = C; $f.L = L; $f.RA = RA; $f.baseframe = baseframe; $f.cf = cf; $f.inst = inst; $f.lbase = lbase; $f.reg = reg; $f.$s = $s; $f.$r = $r; return $f;\n\t\t}), (function(L, inst, baseframe) {\n\t\t\tvar A, B, C, L, RA, baseframe, cf, inst, lbase, reg;\n\t\t\treg = L.reg;\n\t\t\tcf = L.currentFrame;\n\t\t\tlbase = cf.LocalBase;\n\t\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\t\tRA = lbase + A >> 0;\n\t\t\tB = ((((inst & 511) >>> 0) >> 0));\n\t\t\tC = (((inst >>> 9 >>> 0) >> 0)) & 511;\n\t\t\treg.Set(RA, newLTable(B, C));\n\t\t\treturn 0;\n\t\t}), (function $b(L, inst, baseframe) {\n\t\t\tvar A, B, C, L, RA, _arg, _arg$1, _r, baseframe, cf, inst, lbase, reg, selfobj, $s, $r;\n\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; A = $f.A; B = $f.B; C = $f.C; L = $f.L; RA = $f.RA; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; baseframe = $f.baseframe; cf = $f.cf; inst = $f.inst; lbase = $f.lbase; reg = $f.reg; selfobj = $f.selfobj; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t\treg = L.reg;\n\t\t\tcf = L.currentFrame;\n\t\t\tlbase = cf.LocalBase;\n\t\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\t\tRA = lbase + A >> 0;\n\t\t\tB = ((((inst & 511) >>> 0) >> 0));\n\t\t\tC = (((inst >>> 9 >>> 0) >> 0)) & 511;\n\t\t\tselfobj = reg.Get(lbase + B >> 0);\n\t\t\t_arg = RA;\n\t\t\t_r = L.getFieldString(selfobj, L.rkString(C)); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_arg$1 = _r;\n\t\t\t$r = reg.Set(_arg, _arg$1); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\treg.Set(RA + 1 >> 0, selfobj);\n\t\t\t$s = -1; return 0;\n\t\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.A = A; $f.B = B; $f.C = C; $f.L = L; $f.RA = RA; $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f.baseframe = baseframe; $f.cf = cf; $f.inst = inst; $f.lbase = lbase; $f.reg = reg; $f.selfobj = selfobj; $f.$s = $s; $f.$r = $r; return $f;\n\t\t}), opArith, opArith, opArith, opArith, opArith, opArith, (function $b(L, inst, baseframe) {\n\t\t\tvar A, B, L, RA, _r, _r$1, _r$2, _tuple, _tuple$1, _tuple$2, baseframe, cf, err, inst, lbase, nm, num, ok, ok1, op, reg, str, unaryv, $s, $r;\n\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; A = $f.A; B = $f.B; L = $f.L; RA = $f.RA; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; baseframe = $f.baseframe; cf = $f.cf; err = $f.err; inst = $f.inst; lbase = $f.lbase; nm = $f.nm; num = $f.num; ok = $f.ok; ok1 = $f.ok1; op = $f.op; reg = $f.reg; str = $f.str; unaryv = $f.unaryv; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t\treg = L.reg;\n\t\t\tcf = L.currentFrame;\n\t\t\tlbase = cf.LocalBase;\n\t\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\t\tRA = lbase + A >> 0;\n\t\t\tB = ((((inst & 511) >>> 0) >> 0));\n\t\t\tunaryv = L.rkValue(B);\n\t\t\t_tuple = $assertType(unaryv, LNumber, true);\n\t\t\tnm = _tuple[0];\n\t\t\tok = _tuple[1];\n\t\t\t/* */ if (ok) { $s = 1; continue; }\n\t\t\t/* */ $s = 2; continue;\n\t\t\t/* if (ok) { */ case 1:\n\t\t\t\treg.SetNumber(RA, -nm);\n\t\t\t\t$s = 3; continue;\n\t\t\t/* } else { */ case 2:\n\t\t\t\t_r = L.metaOp1(unaryv, \"__unm\"); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\top = _r;\n\t\t\t\t_r$1 = op.Type(); /* */ $s = 8; case 8: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t/* */ if (_r$1 === 4) { $s = 5; continue; }\n\t\t\t\t/* */ $s = 6; continue;\n\t\t\t\t/* if (_r$1 === 4) { */ case 5:\n\t\t\t\t\treg.Push(op);\n\t\t\t\t\treg.Push(unaryv);\n\t\t\t\t\t$r = L.Call(1, 1); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\treg.Set(RA, reg.Pop());\n\t\t\t\t\t$s = 7; continue;\n\t\t\t\t/* } else { */ case 6:\n\t\t\t\t\t_tuple$1 = $assertType(unaryv, LString, true);\n\t\t\t\t\tstr = _tuple$1[0];\n\t\t\t\t\tok1 = _tuple$1[1];\n\t\t\t\t\t/* */ if (ok1) { $s = 10; continue; }\n\t\t\t\t\t/* */ $s = 11; continue;\n\t\t\t\t\t/* if (ok1) { */ case 10:\n\t\t\t\t\t\t_r$2 = parseNumber((str)); /* */ $s = 13; case 13: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t\t\t_tuple$2 = _r$2;\n\t\t\t\t\t\tnum = _tuple$2[0];\n\t\t\t\t\t\terr = _tuple$2[1];\n\t\t\t\t\t\t/* */ if ($interfaceIsEqual(err, $ifaceNil)) { $s = 14; continue; }\n\t\t\t\t\t\t/* */ $s = 15; continue;\n\t\t\t\t\t\t/* if ($interfaceIsEqual(err, $ifaceNil)) { */ case 14:\n\t\t\t\t\t\t\treg.Set(RA, new LNumber(-num));\n\t\t\t\t\t\t\t$s = 16; continue;\n\t\t\t\t\t\t/* } else { */ case 15:\n\t\t\t\t\t\t\t$r = L.RaiseError(\"__unm undefined\", new sliceType$6([])); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t\t/* } */ case 16:\n\t\t\t\t\t\t$s = 12; continue;\n\t\t\t\t\t/* } else { */ case 11:\n\t\t\t\t\t\t$r = L.RaiseError(\"__unm undefined\", new sliceType$6([])); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t/* } */ case 12:\n\t\t\t\t/* } */ case 7:\n\t\t\t/* } */ case 3:\n\t\t\t$s = -1; return 0;\n\t\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.A = A; $f.B = B; $f.L = L; $f.RA = RA; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f.baseframe = baseframe; $f.cf = cf; $f.err = err; $f.inst = inst; $f.lbase = lbase; $f.nm = nm; $f.num = num; $f.ok = ok; $f.ok1 = ok1; $f.op = op; $f.reg = reg; $f.str = str; $f.unaryv = unaryv; $f.$s = $s; $f.$r = $r; return $f;\n\t\t}), (function(L, inst, baseframe) {\n\t\t\tvar A, B, L, RA, baseframe, cf, inst, lbase, reg;\n\t\t\treg = L.reg;\n\t\t\tcf = L.currentFrame;\n\t\t\tlbase = cf.LocalBase;\n\t\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\t\tRA = lbase + A >> 0;\n\t\t\tB = ((((inst & 511) >>> 0) >> 0));\n\t\t\tif (LVIsFalse(reg.Get(lbase + B >> 0))) {\n\t\t\t\treg.Set(RA, new LBool($pkg.LTrue));\n\t\t\t} else {\n\t\t\t\treg.Set(RA, new LBool($pkg.LFalse));\n\t\t\t}\n\t\t\treturn 0;\n\t\t}), (function $b(L, inst, baseframe) {\n\t\t\tvar A, B, L, RA, _r, _r$1, _r$2, _r$3, _ref, baseframe, cf, inst, lbase, lv, lv$1, op, reg, ret, $s, $r;\n\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; A = $f.A; B = $f.B; L = $f.L; RA = $f.RA; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _ref = $f._ref; baseframe = $f.baseframe; cf = $f.cf; inst = $f.inst; lbase = $f.lbase; lv = $f.lv; lv$1 = $f.lv$1; op = $f.op; reg = $f.reg; ret = $f.ret; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t\treg = L.reg;\n\t\t\tcf = L.currentFrame;\n\t\t\tlbase = cf.LocalBase;\n\t\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\t\tRA = lbase + A >> 0;\n\t\t\tB = ((((inst & 511) >>> 0) >> 0));\n\t\t\t_ref = L.rkValue(B);\n\t\t\t/* */ if ($assertType(_ref, LString, true)[1]) { $s = 1; continue; }\n\t\t\t/* */ $s = 2; continue;\n\t\t\t/* if ($assertType(_ref, LString, true)[1]) { */ case 1:\n\t\t\t\tlv = _ref.$val;\n\t\t\t\treg.SetNumber(RA, (lv.length));\n\t\t\t\t$s = 3; continue;\n\t\t\t/* } else { */ case 2:\n\t\t\t\tlv$1 = _ref;\n\t\t\t\t_r = L.metaOp1(lv$1, \"__len\"); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\top = _r;\n\t\t\t\t_r$1 = op.Type(); /* */ $s = 9; case 9: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t/* */ if (_r$1 === 4) { $s = 5; continue; }\n\t\t\t\t_r$2 = lv$1.Type(); /* */ $s = 10; case 10: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t/* */ if (_r$2 === 7) { $s = 6; continue; }\n\t\t\t\t/* */ $s = 7; continue;\n\t\t\t\t/* if (_r$1 === 4) { */ case 5:\n\t\t\t\t\treg.Push(op);\n\t\t\t\t\treg.Push(lv$1);\n\t\t\t\t\t$r = L.Call(1, 1); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\tret = reg.Pop();\n\t\t\t\t\t_r$3 = ret.Type(); /* */ $s = 15; case 15: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t\t/* */ if (_r$3 === 2) { $s = 12; continue; }\n\t\t\t\t\t/* */ $s = 13; continue;\n\t\t\t\t\t/* if (_r$3 === 2) { */ case 12:\n\t\t\t\t\t\treg.SetNumber(RA, $assertType(ret, LNumber));\n\t\t\t\t\t\t$s = 14; continue;\n\t\t\t\t\t/* } else { */ case 13:\n\t\t\t\t\t\treg.SetNumber(RA, 0);\n\t\t\t\t\t/* } */ case 14:\n\t\t\t\t\t$s = 8; continue;\n\t\t\t\t/* } else if (_r$2 === 7) { */ case 6:\n\t\t\t\t\treg.SetNumber(RA, ($assertType(lv$1, ptrType$1).Len()));\n\t\t\t\t\t$s = 8; continue;\n\t\t\t\t/* } else { */ case 7:\n\t\t\t\t\t$r = L.RaiseError(\"__len undefined\", new sliceType$6([])); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t/* } */ case 8:\n\t\t\t/* } */ case 3:\n\t\t\t$s = -1; return 0;\n\t\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.A = A; $f.B = B; $f.L = L; $f.RA = RA; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._ref = _ref; $f.baseframe = baseframe; $f.cf = cf; $f.inst = inst; $f.lbase = lbase; $f.lv = lv; $f.lv$1 = lv$1; $f.op = op; $f.reg = reg; $f.ret = ret; $f.$s = $s; $f.$r = $r; return $f;\n\t\t}), (function $b(L, inst, baseframe) {\n\t\t\tvar A, B, C, L, RA, RB, RC, _arg, _arg$1, _r, baseframe, cf, inst, lbase, reg, $s, $r;\n\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; A = $f.A; B = $f.B; C = $f.C; L = $f.L; RA = $f.RA; RB = $f.RB; RC = $f.RC; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; baseframe = $f.baseframe; cf = $f.cf; inst = $f.inst; lbase = $f.lbase; reg = $f.reg; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t\treg = L.reg;\n\t\t\tcf = L.currentFrame;\n\t\t\tlbase = cf.LocalBase;\n\t\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\t\tRA = lbase + A >> 0;\n\t\t\tB = ((((inst & 511) >>> 0) >> 0));\n\t\t\tC = (((inst >>> 9 >>> 0) >> 0)) & 511;\n\t\t\tRC = lbase + C >> 0;\n\t\t\tRB = lbase + B >> 0;\n\t\t\t_arg = RA;\n\t\t\t_r = stringConcat(L, (RC - RB >> 0) + 1 >> 0, RC); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_arg$1 = _r;\n\t\t\t$r = reg.Set(_arg, _arg$1); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return 0;\n\t\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.A = A; $f.B = B; $f.C = C; $f.L = L; $f.RA = RA; $f.RB = RB; $f.RC = RC; $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f.baseframe = baseframe; $f.cf = cf; $f.inst = inst; $f.lbase = lbase; $f.reg = reg; $f.$s = $s; $f.$r = $r; return $f;\n\t\t}), (function(L, inst, baseframe) {\n\t\t\tvar L, Sbx, baseframe, cf, inst;\n\t\t\tcf = L.currentFrame;\n\t\t\tSbx = ((((inst & 262143) >>> 0) >> 0)) - 131071 >> 0;\n\t\t\tcf.Pc = cf.Pc + (Sbx) >> 0;\n\t\t\treturn 0;\n\t\t}), (function $b(L, inst, baseframe) {\n\t\t\tvar A, B, C, L, _r, baseframe, cf, inst, ret, v, $s, $r;\n\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; A = $f.A; B = $f.B; C = $f.C; L = $f.L; _r = $f._r; baseframe = $f.baseframe; cf = $f.cf; inst = $f.inst; ret = $f.ret; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t\tcf = L.currentFrame;\n\t\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\t\tB = ((((inst & 511) >>> 0) >> 0));\n\t\t\tC = (((inst >>> 9 >>> 0) >> 0)) & 511;\n\t\t\t_r = equals(L, L.rkValue(B), L.rkValue(C), false); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tret = _r;\n\t\t\tv = 1;\n\t\t\tif (ret) {\n\t\t\t\tv = 0;\n\t\t\t}\n\t\t\tif (v === A) {\n\t\t\t\tcf.Pc = cf.Pc + (1) >> 0;\n\t\t\t}\n\t\t\t$s = -1; return 0;\n\t\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.A = A; $f.B = B; $f.C = C; $f.L = L; $f._r = _r; $f.baseframe = baseframe; $f.cf = cf; $f.inst = inst; $f.ret = ret; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t\t}), (function $b(L, inst, baseframe) {\n\t\t\tvar A, B, C, L, _r, baseframe, cf, inst, ret, v, $s, $r;\n\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; A = $f.A; B = $f.B; C = $f.C; L = $f.L; _r = $f._r; baseframe = $f.baseframe; cf = $f.cf; inst = $f.inst; ret = $f.ret; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t\tcf = L.currentFrame;\n\t\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\t\tB = ((((inst & 511) >>> 0) >> 0));\n\t\t\tC = (((inst >>> 9 >>> 0) >> 0)) & 511;\n\t\t\t_r = lessThan(L, L.rkValue(B), L.rkValue(C)); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tret = _r;\n\t\t\tv = 1;\n\t\t\tif (ret) {\n\t\t\t\tv = 0;\n\t\t\t}\n\t\t\tif (v === A) {\n\t\t\t\tcf.Pc = cf.Pc + (1) >> 0;\n\t\t\t}\n\t\t\t$s = -1; return 0;\n\t\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.A = A; $f.B = B; $f.C = C; $f.L = L; $f._r = _r; $f.baseframe = baseframe; $f.cf = cf; $f.inst = inst; $f.ret = ret; $f.v = v; $f.$s = $s; $f.$r = $r; return $f;\n\t\t}), (function $b(L, inst, baseframe) {\n\t\t\tvar A, B, C, L, _1, _2, _arg, _arg$1, _arg$2, _arg$3, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, _tuple$1, baseframe, cf, inst, lhs, ok1, ok2, ret, rhs, v, v1, v2, $s, $r;\n\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; A = $f.A; B = $f.B; C = $f.C; L = $f.L; _1 = $f._1; _2 = $f._2; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _arg$3 = $f._arg$3; _r = $f._r; _r$1 = $f._r$1; _r$10 = $f._r$10; _r$11 = $f._r$11; _r$12 = $f._r$12; _r$13 = $f._r$13; _r$14 = $f._r$14; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _r$8 = $f._r$8; _r$9 = $f._r$9; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; baseframe = $f.baseframe; cf = $f.cf; inst = $f.inst; lhs = $f.lhs; ok1 = $f.ok1; ok2 = $f.ok2; ret = $f.ret; rhs = $f.rhs; v = $f.v; v1 = $f.v1; v2 = $f.v2; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t\tcf = L.currentFrame;\n\t\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\t\tB = ((((inst & 511) >>> 0) >> 0));\n\t\t\tC = (((inst >>> 9 >>> 0) >> 0)) & 511;\n\t\t\tlhs = L.rkValue(B);\n\t\t\trhs = L.rkValue(C);\n\t\t\tret = false;\n\t\t\t_r = lhs.assertFloat64(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r;\n\t\t\tv1 = _tuple[0];\n\t\t\tok1 = _tuple[1];\n\t\t\t/* */ if (ok1) { $s = 2; continue; }\n\t\t\t/* */ $s = 3; continue;\n\t\t\t/* if (ok1) { */ case 2:\n\t\t\t\t_r$1 = rhs.assertFloat64(); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t_tuple$1 = _r$1;\n\t\t\t\tv2 = _tuple$1[0];\n\t\t\t\tok2 = _tuple$1[1];\n\t\t\t\t/* */ if (ok2) { $s = 6; continue; }\n\t\t\t\t/* */ $s = 7; continue;\n\t\t\t\t/* if (ok2) { */ case 6:\n\t\t\t\t\tret = v1 <= v2;\n\t\t\t\t\t$s = 8; continue;\n\t\t\t\t/* } else { */ case 7:\n\t\t\t\t\t_r$2 = lhs.Type(); /* */ $s = 9; case 9: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t\t_r$3 = new LValueType(_r$2).String(); /* */ $s = 10; case 10: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t\t_arg = new $String(_r$3);\n\t\t\t\t\t_r$4 = rhs.Type(); /* */ $s = 11; case 11: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\t\t_r$5 = new LValueType(_r$4).String(); /* */ $s = 12; case 12: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t\t\t_arg$1 = new $String(_r$5);\n\t\t\t\t\t$r = L.RaiseError(\"attempt to compare %v with %v\", new sliceType$6([_arg, _arg$1])); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t/* } */ case 8:\n\t\t\t\t$s = 4; continue;\n\t\t\t/* } else { */ case 3:\n\t\t\t\t_r$6 = lhs.Type(); /* */ $s = 16; case 16: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t\t\t_r$7 = rhs.Type(); /* */ $s = 17; case 17: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }\n\t\t\t\t/* */ if (!((_r$6 === _r$7))) { $s = 14; continue; }\n\t\t\t\t/* */ $s = 15; continue;\n\t\t\t\t/* if (!((_r$6 === _r$7))) { */ case 14:\n\t\t\t\t\t_r$8 = lhs.Type(); /* */ $s = 18; case 18: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }\n\t\t\t\t\t_r$9 = new LValueType(_r$8).String(); /* */ $s = 19; case 19: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }\n\t\t\t\t\t_arg$2 = new $String(_r$9);\n\t\t\t\t\t_r$10 = rhs.Type(); /* */ $s = 20; case 20: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }\n\t\t\t\t\t_r$11 = new LValueType(_r$10).String(); /* */ $s = 21; case 21: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }\n\t\t\t\t\t_arg$3 = new $String(_r$11);\n\t\t\t\t\t$r = L.RaiseError(\"attempt to compare %v with %v\", new sliceType$6([_arg$2, _arg$3])); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t/* } */ case 15:\n\t\t\t\t\t_r$12 = lhs.Type(); /* */ $s = 24; case 24: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; }\n\t\t\t\t\t_1 = _r$12;\n\t\t\t\t\t/* */ if (_1 === (3)) { $s = 25; continue; }\n\t\t\t\t\t/* */ $s = 26; continue;\n\t\t\t\t\t/* if (_1 === (3)) { */ case 25:\n\t\t\t\t\t\tret = strCmp(($assertType(lhs, LString)), ($assertType(rhs, LString))) <= 0;\n\t\t\t\t\t\t$s = 27; continue;\n\t\t\t\t\t/* } else { */ case 26:\n\t\t\t\t\t\t\t_r$13 = objectRational(L, lhs, rhs, \"__le\"); /* */ $s = 29; case 29: if($c) { $c = false; _r$13 = _r$13.$blk(); } if (_r$13 && _r$13.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t_2 = _r$13;\n\t\t\t\t\t\t\t/* */ if (_2 === (1)) { $s = 30; continue; }\n\t\t\t\t\t\t\t/* */ if (_2 === (0)) { $s = 31; continue; }\n\t\t\t\t\t\t\t/* */ $s = 32; continue;\n\t\t\t\t\t\t\t/* if (_2 === (1)) { */ case 30:\n\t\t\t\t\t\t\t\tret = true;\n\t\t\t\t\t\t\t\t$s = 33; continue;\n\t\t\t\t\t\t\t/* } else if (_2 === (0)) { */ case 31:\n\t\t\t\t\t\t\t\tret = false;\n\t\t\t\t\t\t\t\t$s = 33; continue;\n\t\t\t\t\t\t\t/* } else { */ case 32:\n\t\t\t\t\t\t\t\t_r$14 = objectRationalWithError(L, rhs, lhs, \"__lt\"); /* */ $s = 34; case 34: if($c) { $c = false; _r$14 = _r$14.$blk(); } if (_r$14 && _r$14.$blk !== undefined) { break s; }\n\t\t\t\t\t\t\t\tret = !_r$14;\n\t\t\t\t\t\t\t/* } */ case 33:\n\t\t\t\t\t\tcase 28:\n\t\t\t\t\t/* } */ case 27:\n\t\t\t\tcase 23:\n\t\t\t/* } */ case 4:\n\t\t\tv = 1;\n\t\t\tif (ret) {\n\t\t\t\tv = 0;\n\t\t\t}\n\t\t\tif (v === A) {\n\t\t\t\tcf.Pc = cf.Pc + (1) >> 0;\n\t\t\t}\n\t\t\t$s = -1; return 0;\n\t\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.A = A; $f.B = B; $f.C = C; $f.L = L; $f._1 = _1; $f._2 = _2; $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._arg$3 = _arg$3; $f._r = _r; $f._r$1 = _r$1; $f._r$10 = _r$10; $f._r$11 = _r$11; $f._r$12 = _r$12; $f._r$13 = _r$13; $f._r$14 = _r$14; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._r$8 = _r$8; $f._r$9 = _r$9; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.baseframe = baseframe; $f.cf = cf; $f.inst = inst; $f.lhs = lhs; $f.ok1 = ok1; $f.ok2 = ok2; $f.ret = ret; $f.rhs = rhs; $f.v = v; $f.v1 = v1; $f.v2 = v2; $f.$s = $s; $f.$r = $r; return $f;\n\t\t}), (function(L, inst, baseframe) {\n\t\t\tvar A, C, L, RA, baseframe, cf, inst, lbase, reg;\n\t\t\treg = L.reg;\n\t\t\tcf = L.currentFrame;\n\t\t\tlbase = cf.LocalBase;\n\t\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\t\tRA = lbase + A >> 0;\n\t\t\tC = (((inst >>> 9 >>> 0) >> 0)) & 511;\n\t\t\tif (LVAsBool(reg.Get(RA)) === ((C === 0))) {\n\t\t\t\tcf.Pc = cf.Pc + (1) >> 0;\n\t\t\t}\n\t\t\treturn 0;\n\t\t}), (function(L, inst, baseframe) {\n\t\t\tvar A, B, C, L, RA, baseframe, cf, inst, lbase, reg, value;\n\t\t\treg = L.reg;\n\t\t\tcf = L.currentFrame;\n\t\t\tlbase = cf.LocalBase;\n\t\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\t\tRA = lbase + A >> 0;\n\t\t\tB = ((((inst & 511) >>> 0) >> 0));\n\t\t\tC = (((inst >>> 9 >>> 0) >> 0)) & 511;\n\t\t\tvalue = reg.Get(lbase + B >> 0);\n\t\t\tif (!(LVAsBool(value) === ((C === 0)))) {\n\t\t\t\treg.Set(RA, value);\n\t\t\t} else {\n\t\t\t\tcf.Pc = cf.Pc + (1) >> 0;\n\t\t\t}\n\t\t\treturn 0;\n\t\t}), (function $b(L, inst, baseframe) {\n\t\t\tvar A, B, C, L, RA, _r, _r$1, _r$2, _tuple, _tuple$1, _v, argtb, baseframe, callable, cf, cf$1, cf$2, cs, fn, fn$1, i, i$1, i$2, i$3, inst, lbase, ls, lv, maxreg, meta, nargs, nargs$1, newcf, np, nret, nvarargs, ok, proto, reg, v, x, x$1, x$10, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, $s, $r;\n\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; A = $f.A; B = $f.B; C = $f.C; L = $f.L; RA = $f.RA; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _v = $f._v; argtb = $f.argtb; baseframe = $f.baseframe; callable = $f.callable; cf = $f.cf; cf$1 = $f.cf$1; cf$2 = $f.cf$2; cs = $f.cs; fn = $f.fn; fn$1 = $f.fn$1; i = $f.i; i$1 = $f.i$1; i$2 = $f.i$2; i$3 = $f.i$3; inst = $f.inst; lbase = $f.lbase; ls = $f.ls; lv = $f.lv; maxreg = $f.maxreg; meta = $f.meta; nargs = $f.nargs; nargs$1 = $f.nargs$1; newcf = $f.newcf; np = $f.np; nret = $f.nret; nvarargs = $f.nvarargs; ok = $f.ok; proto = $f.proto; reg = $f.reg; v = $f.v; x = $f.x; x$1 = $f.x$1; x$10 = $f.x$10; x$11 = $f.x$11; x$12 = $f.x$12; x$13 = $f.x$13; x$14 = $f.x$14; x$15 = $f.x$15; x$16 = $f.x$16; x$17 = $f.x$17; x$2 = $f.x$2; x$3 = $f.x$3; x$4 = $f.x$4; x$5 = $f.x$5; x$6 = $f.x$6; x$7 = $f.x$7; x$8 = $f.x$8; x$9 = $f.x$9; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t\treg = L.reg;\n\t\t\tcf = L.currentFrame;\n\t\t\tlbase = cf.LocalBase;\n\t\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\t\tRA = lbase + A >> 0;\n\t\t\tB = ((((inst & 511) >>> 0) >> 0));\n\t\t\tC = (((inst >>> 9 >>> 0) >> 0)) & 511;\n\t\t\tnargs = B - 1 >> 0;\n\t\t\tif (B === 0) {\n\t\t\t\tnargs = reg.Top() - ((RA + 1 >> 0)) >> 0;\n\t\t\t}\n\t\t\tlv = reg.Get(RA);\n\t\t\tnret = C - 1 >> 0;\n\t\t\tcallable = ptrType$7.nil;\n\t\t\tmeta = false;\n\t\t\t_r = lv.assertFunction(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r;\n\t\t\tfn = _tuple[0];\n\t\t\tok = _tuple[1];\n\t\t\t/* */ if (ok) { $s = 2; continue; }\n\t\t\t/* */ $s = 3; continue;\n\t\t\t/* if (ok) { */ case 2:\n\t\t\t\tcallable = fn;\n\t\t\t\tmeta = false;\n\t\t\t\t$s = 4; continue;\n\t\t\t/* } else { */ case 3:\n\t\t\t\t_r$1 = L.metaCall(lv); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t_tuple$1 = _r$1;\n\t\t\t\tcallable = _tuple$1[0];\n\t\t\t\tmeta = _tuple$1[1];\n\t\t\t/* } */ case 4:\n\t\t\tls = L;\n\t\t\tcf$1 = new callFrame.ptr(0, callable, cf, 0, RA, RA + 1 >> 0, RA, nargs, nret, 0);\n\t\t\tfn$1 = lv;\n\t\t\tif (meta) {\n\t\t\t\tcf$1.NArgs = cf$1.NArgs + (1) >> 0;\n\t\t\t\tls.reg.Insert(fn$1, cf$1.LocalBase);\n\t\t\t}\n\t\t\t/* */ if (cf$1.Fn === ptrType$7.nil) { $s = 6; continue; }\n\t\t\t/* */ $s = 7; continue;\n\t\t\t/* if (cf$1.Fn === ptrType$7.nil) { */ case 6:\n\t\t\t\t$r = ls.RaiseError(\"attempt to call a non-function object\", new sliceType$6([])); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 7:\n\t\t\t/* */ if (ls.stack.sp === ls.Options.CallStackSize) { $s = 9; continue; }\n\t\t\t/* */ $s = 10; continue;\n\t\t\t/* if (ls.stack.sp === ls.Options.CallStackSize) { */ case 9:\n\t\t\t\t$r = ls.RaiseError(\"stack overflow\", new sliceType$6([])); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 10:\n\t\t\tcs = ls.stack;\n\t\t\tv = $clone(cf$1, callFrame);\n\t\t\tcallFrame.copy((x = cs.array, x$1 = cs.sp, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1])), v);\n\t\t\t(x$2 = cs.array, x$3 = cs.sp, ((x$3 < 0 || x$3 >= x$2.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$2.$array[x$2.$offset + x$3])).Idx = cs.sp;\n\t\t\tcs.sp = cs.sp + (1) >> 0;\n\t\t\tnewcf = ls.stack.Last();\n\t\t\tcf$2 = newcf;\n\t\t\tif (cf$2.Fn.IsG) {\n\t\t\t\tls.reg.SetTop(cf$2.LocalBase + cf$2.NArgs >> 0);\n\t\t\t} else {\n\t\t\t\tproto = cf$2.Fn.Proto;\n\t\t\t\tnargs$1 = cf$2.NArgs;\n\t\t\t\tnp = ((proto.NumParameters >> 0));\n\t\t\t\ti = nargs$1;\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (!(i < np)) { break; }\n\t\t\t\t\t(x$4 = ls.reg.array, x$5 = cf$2.LocalBase + i >> 0, ((x$5 < 0 || x$5 >= x$4.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$4.$array[x$4.$offset + x$5] = $pkg.LNil));\n\t\t\t\t\tnargs$1 = np;\n\t\t\t\t\ti = i + (1) >> 0;\n\t\t\t\t}\n\t\t\t\tif ((((proto.IsVarArg & 2) >>> 0)) === 0) {\n\t\t\t\t\tif (nargs$1 < ((proto.NumUsedRegisters >> 0))) {\n\t\t\t\t\t\tnargs$1 = ((proto.NumUsedRegisters >> 0));\n\t\t\t\t\t}\n\t\t\t\t\ti$1 = np;\n\t\t\t\t\twhile (true) {\n\t\t\t\t\t\tif (!(i$1 < nargs$1)) { break; }\n\t\t\t\t\t\t(x$6 = ls.reg.array, x$7 = cf$2.LocalBase + i$1 >> 0, ((x$7 < 0 || x$7 >= x$6.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$6.$array[x$6.$offset + x$7] = $pkg.LNil));\n\t\t\t\t\t\ti$1 = i$1 + (1) >> 0;\n\t\t\t\t\t}\n\t\t\t\t\tls.reg.top = cf$2.LocalBase + ((proto.NumUsedRegisters >> 0)) >> 0;\n\t\t\t\t} else {\n\t\t\t\t\tnvarargs = nargs$1 - np >> 0;\n\t\t\t\t\tif (nvarargs < 0) {\n\t\t\t\t\t\tnvarargs = 0;\n\t\t\t\t\t}\n\t\t\t\t\tls.reg.SetTop((cf$2.LocalBase + nargs$1 >> 0) + np >> 0);\n\t\t\t\t\ti$2 = 0;\n\t\t\t\t\twhile (true) {\n\t\t\t\t\t\tif (!(i$2 < np)) { break; }\n\t\t\t\t\t\t(x$10 = ls.reg.array, x$11 = (cf$2.LocalBase + nargs$1 >> 0) + i$2 >> 0, ((x$11 < 0 || x$11 >= x$10.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$10.$array[x$10.$offset + x$11] = (x$8 = ls.reg.array, x$9 = cf$2.LocalBase + i$2 >> 0, ((x$9 < 0 || x$9 >= x$8.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$8.$array[x$8.$offset + x$9]))));\n\t\t\t\t\t\t(x$12 = ls.reg.array, x$13 = cf$2.LocalBase + i$2 >> 0, ((x$13 < 0 || x$13 >= x$12.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$12.$array[x$12.$offset + x$13] = $pkg.LNil));\n\t\t\t\t\t\ti$2 = i$2 + (1) >> 0;\n\t\t\t\t\t}\n\t\t\t\t\tif ($pkg.CompatVarArg) {\n\t\t\t\t\t\tls.reg.SetTop(((cf$2.LocalBase + nargs$1 >> 0) + np >> 0) + 1 >> 0);\n\t\t\t\t\t\tif (!(((((proto.IsVarArg & 4) >>> 0)) === 0))) {\n\t\t\t\t\t\t\targtb = newLTable(nvarargs, 0);\n\t\t\t\t\t\t\ti$3 = 0;\n\t\t\t\t\t\t\twhile (true) {\n\t\t\t\t\t\t\t\tif (!(i$3 < nvarargs)) { break; }\n\t\t\t\t\t\t\t\targtb.RawSetInt(i$3 + 1 >> 0, ls.reg.Get((cf$2.LocalBase + np >> 0) + i$3 >> 0));\n\t\t\t\t\t\t\t\ti$3 = i$3 + (1) >> 0;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\targtb.RawSetString(\"n\", new LNumber((nvarargs)));\n\t\t\t\t\t\t\t(x$14 = ls.reg.array, x$15 = (cf$2.LocalBase + nargs$1 >> 0) + np >> 0, ((x$15 < 0 || x$15 >= x$14.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$14.$array[x$14.$offset + x$15] = argtb));\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t(x$16 = ls.reg.array, x$17 = (cf$2.LocalBase + nargs$1 >> 0) + np >> 0, ((x$17 < 0 || x$17 >= x$16.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$16.$array[x$16.$offset + x$17] = $pkg.LNil));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcf$2.LocalBase = cf$2.LocalBase + (nargs$1) >> 0;\n\t\t\t\t\tmaxreg = cf$2.LocalBase + ((proto.NumUsedRegisters >> 0)) >> 0;\n\t\t\t\t\tls.reg.SetTop(maxreg);\n\t\t\t\t}\n\t\t\t}\n\t\t\tls.currentFrame = newcf;\n\t\t\tif (!(callable.IsG)) { _v = false; $s = 14; continue s; }\n\t\t\t_r$2 = callGFunction(L, false); /* */ $s = 15; case 15: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t_v = _r$2; case 14:\n\t\t\t/* */ if (_v) { $s = 12; continue; }\n\t\t\t/* */ $s = 13; continue;\n\t\t\t/* if (_v) { */ case 12:\n\t\t\t\t$s = -1; return 1;\n\t\t\t/* } */ case 13:\n\t\t\t$s = -1; return 0;\n\t\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.A = A; $f.B = B; $f.C = C; $f.L = L; $f.RA = RA; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._v = _v; $f.argtb = argtb; $f.baseframe = baseframe; $f.callable = callable; $f.cf = cf; $f.cf$1 = cf$1; $f.cf$2 = cf$2; $f.cs = cs; $f.fn = fn; $f.fn$1 = fn$1; $f.i = i; $f.i$1 = i$1; $f.i$2 = i$2; $f.i$3 = i$3; $f.inst = inst; $f.lbase = lbase; $f.ls = ls; $f.lv = lv; $f.maxreg = maxreg; $f.meta = meta; $f.nargs = nargs; $f.nargs$1 = nargs$1; $f.newcf = newcf; $f.np = np; $f.nret = nret; $f.nvarargs = nvarargs; $f.ok = ok; $f.proto = proto; $f.reg = reg; $f.v = v; $f.x = x; $f.x$1 = x$1; $f.x$10 = x$10; $f.x$11 = x$11; $f.x$12 = x$12; $f.x$13 = x$13; $f.x$14 = x$14; $f.x$15 = x$15; $f.x$16 = x$16; $f.x$17 = x$17; $f.x$2 = x$2; $f.x$3 = x$3; $f.x$4 = x$4; $f.x$5 = x$5; $f.x$6 = x$6; $f.x$7 = x$7; $f.x$8 = x$8; $f.x$9 = x$9; $f.$s = $s; $f.$r = $r; return $f;\n\t\t}), (function $b(L, inst, baseframe) {\n\t\t\tvar A, B, L, RA, _r, _r$1, _r$2, _tuple, _tuple$1, argtb, base, baseframe, callable, cf, fn, i, i$1, i$2, i$3, i$4, idx, inst, lbase, lbase$1, limit, ls, ls$1, luaframe, lv, maxreg, meta, n, nargs, nargs$1, np, nvarargs, ok, prev, proto, reg, regv, rg, start, tidx, uv, x, x$1, x$10, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, $s, $r;\n\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; A = $f.A; B = $f.B; L = $f.L; RA = $f.RA; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; argtb = $f.argtb; base = $f.base; baseframe = $f.baseframe; callable = $f.callable; cf = $f.cf; fn = $f.fn; i = $f.i; i$1 = $f.i$1; i$2 = $f.i$2; i$3 = $f.i$3; i$4 = $f.i$4; idx = $f.idx; inst = $f.inst; lbase = $f.lbase; lbase$1 = $f.lbase$1; limit = $f.limit; ls = $f.ls; ls$1 = $f.ls$1; luaframe = $f.luaframe; lv = $f.lv; maxreg = $f.maxreg; meta = $f.meta; n = $f.n; nargs = $f.nargs; nargs$1 = $f.nargs$1; np = $f.np; nvarargs = $f.nvarargs; ok = $f.ok; prev = $f.prev; proto = $f.proto; reg = $f.reg; regv = $f.regv; rg = $f.rg; start = $f.start; tidx = $f.tidx; uv = $f.uv; x = $f.x; x$1 = $f.x$1; x$10 = $f.x$10; x$11 = $f.x$11; x$12 = $f.x$12; x$13 = $f.x$13; x$14 = $f.x$14; x$15 = $f.x$15; x$16 = $f.x$16; x$17 = $f.x$17; x$18 = $f.x$18; x$2 = $f.x$2; x$3 = $f.x$3; x$4 = $f.x$4; x$5 = $f.x$5; x$6 = $f.x$6; x$7 = $f.x$7; x$8 = $f.x$8; x$9 = $f.x$9; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t\treg = L.reg;\n\t\t\tcf = L.currentFrame;\n\t\t\tlbase = cf.LocalBase;\n\t\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\t\tRA = lbase + A >> 0;\n\t\t\tB = ((((inst & 511) >>> 0) >> 0));\n\t\t\tnargs = B - 1 >> 0;\n\t\t\tif (B === 0) {\n\t\t\t\tnargs = reg.Top() - ((RA + 1 >> 0)) >> 0;\n\t\t\t}\n\t\t\tlv = reg.Get(RA);\n\t\t\tcallable = ptrType$7.nil;\n\t\t\tmeta = false;\n\t\t\t_r = lv.assertFunction(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r;\n\t\t\tfn = _tuple[0];\n\t\t\tok = _tuple[1];\n\t\t\t/* */ if (ok) { $s = 2; continue; }\n\t\t\t/* */ $s = 3; continue;\n\t\t\t/* if (ok) { */ case 2:\n\t\t\t\tcallable = fn;\n\t\t\t\tmeta = false;\n\t\t\t\t$s = 4; continue;\n\t\t\t/* } else { */ case 3:\n\t\t\t\t_r$1 = L.metaCall(lv); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t_tuple$1 = _r$1;\n\t\t\t\tcallable = _tuple$1[0];\n\t\t\t\tmeta = _tuple$1[1];\n\t\t\t/* } */ case 4:\n\t\t\t/* */ if (callable === ptrType$7.nil) { $s = 6; continue; }\n\t\t\t/* */ $s = 7; continue;\n\t\t\t/* if (callable === ptrType$7.nil) { */ case 6:\n\t\t\t\t$r = L.RaiseError(\"attempt to call a non-function object\", new sliceType$6([])); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 7:\n\t\t\tls = L;\n\t\t\tidx = lbase;\n\t\t\tif (!(ls.uvcache === ptrType$56.nil)) {\n\t\t\t\tprev = ptrType$56.nil;\n\t\t\t\tuv = ls.uvcache;\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (!(!(uv === ptrType$56.nil))) { break; }\n\t\t\t\t\tif (uv.index >= idx) {\n\t\t\t\t\t\tif (!(prev === ptrType$56.nil)) {\n\t\t\t\t\t\t\tprev.next = ptrType$56.nil;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tls.uvcache = ptrType$56.nil;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tuv.Close();\n\t\t\t\t\t}\n\t\t\t\t\tprev = uv;\n\t\t\t\t\tuv = uv.next;\n\t\t\t\t}\n\t\t\t}\n\t\t\t/* */ if (callable.IsG) { $s = 9; continue; }\n\t\t\t/* */ $s = 10; continue;\n\t\t\t/* if (callable.IsG) { */ case 9:\n\t\t\t\tluaframe = cf;\n\t\t\t\t$r = L.pushCallFrame(new callFrame.ptr(0, callable, cf, 0, RA, RA + 1 >> 0, cf.ReturnBase, nargs, cf.NRet, 0), lv, meta); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t_r$2 = callGFunction(L, true); /* */ $s = 15; case 15: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t/* */ if (_r$2) { $s = 13; continue; }\n\t\t\t\t/* */ $s = 14; continue;\n\t\t\t\t/* if (_r$2) { */ case 13:\n\t\t\t\t\t$s = -1; return 1;\n\t\t\t\t/* } */ case 14:\n\t\t\t\tif (L.currentFrame === ptrType$10.nil || L.currentFrame.Fn.IsG || luaframe === baseframe) {\n\t\t\t\t\t$s = -1; return 1;\n\t\t\t\t}\n\t\t\t\t$s = 11; continue;\n\t\t\t/* } else { */ case 10:\n\t\t\t\tbase = cf.Base;\n\t\t\t\tcf.Fn = callable;\n\t\t\t\tcf.Pc = 0;\n\t\t\t\tcf.Base = RA;\n\t\t\t\tcf.LocalBase = RA + 1 >> 0;\n\t\t\t\tcf.NArgs = nargs;\n\t\t\t\tcf.TailCall = cf.TailCall + (1) >> 0;\n\t\t\t\tlbase$1 = cf.LocalBase;\n\t\t\t\tif (meta) {\n\t\t\t\t\tcf.NArgs = cf.NArgs + (1) >> 0;\n\t\t\t\t\tL.reg.Insert(lv, cf.LocalBase);\n\t\t\t\t}\n\t\t\t\tls$1 = L;\n\t\t\t\tif (cf.Fn.IsG) {\n\t\t\t\t\tls$1.reg.SetTop(cf.LocalBase + cf.NArgs >> 0);\n\t\t\t\t} else {\n\t\t\t\t\tproto = cf.Fn.Proto;\n\t\t\t\t\tnargs$1 = cf.NArgs;\n\t\t\t\t\tnp = ((proto.NumParameters >> 0));\n\t\t\t\t\ti = nargs$1;\n\t\t\t\t\twhile (true) {\n\t\t\t\t\t\tif (!(i < np)) { break; }\n\t\t\t\t\t\t(x = ls$1.reg.array, x$1 = cf.LocalBase + i >> 0, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1] = $pkg.LNil));\n\t\t\t\t\t\tnargs$1 = np;\n\t\t\t\t\t\ti = i + (1) >> 0;\n\t\t\t\t\t}\n\t\t\t\t\tif ((((proto.IsVarArg & 2) >>> 0)) === 0) {\n\t\t\t\t\t\tif (nargs$1 < ((proto.NumUsedRegisters >> 0))) {\n\t\t\t\t\t\t\tnargs$1 = ((proto.NumUsedRegisters >> 0));\n\t\t\t\t\t\t}\n\t\t\t\t\t\ti$1 = np;\n\t\t\t\t\t\twhile (true) {\n\t\t\t\t\t\t\tif (!(i$1 < nargs$1)) { break; }\n\t\t\t\t\t\t\t(x$2 = ls$1.reg.array, x$3 = cf.LocalBase + i$1 >> 0, ((x$3 < 0 || x$3 >= x$2.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$2.$array[x$2.$offset + x$3] = $pkg.LNil));\n\t\t\t\t\t\t\ti$1 = i$1 + (1) >> 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tls$1.reg.top = cf.LocalBase + ((proto.NumUsedRegisters >> 0)) >> 0;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnvarargs = nargs$1 - np >> 0;\n\t\t\t\t\t\tif (nvarargs < 0) {\n\t\t\t\t\t\t\tnvarargs = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tls$1.reg.SetTop((cf.LocalBase + nargs$1 >> 0) + np >> 0);\n\t\t\t\t\t\ti$2 = 0;\n\t\t\t\t\t\twhile (true) {\n\t\t\t\t\t\t\tif (!(i$2 < np)) { break; }\n\t\t\t\t\t\t\t(x$6 = ls$1.reg.array, x$7 = (cf.LocalBase + nargs$1 >> 0) + i$2 >> 0, ((x$7 < 0 || x$7 >= x$6.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$6.$array[x$6.$offset + x$7] = (x$4 = ls$1.reg.array, x$5 = cf.LocalBase + i$2 >> 0, ((x$5 < 0 || x$5 >= x$4.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$4.$array[x$4.$offset + x$5]))));\n\t\t\t\t\t\t\t(x$8 = ls$1.reg.array, x$9 = cf.LocalBase + i$2 >> 0, ((x$9 < 0 || x$9 >= x$8.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$8.$array[x$8.$offset + x$9] = $pkg.LNil));\n\t\t\t\t\t\t\ti$2 = i$2 + (1) >> 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ($pkg.CompatVarArg) {\n\t\t\t\t\t\t\tls$1.reg.SetTop(((cf.LocalBase + nargs$1 >> 0) + np >> 0) + 1 >> 0);\n\t\t\t\t\t\t\tif (!(((((proto.IsVarArg & 4) >>> 0)) === 0))) {\n\t\t\t\t\t\t\t\targtb = newLTable(nvarargs, 0);\n\t\t\t\t\t\t\t\ti$3 = 0;\n\t\t\t\t\t\t\t\twhile (true) {\n\t\t\t\t\t\t\t\t\tif (!(i$3 < nvarargs)) { break; }\n\t\t\t\t\t\t\t\t\targtb.RawSetInt(i$3 + 1 >> 0, ls$1.reg.Get((cf.LocalBase + np >> 0) + i$3 >> 0));\n\t\t\t\t\t\t\t\t\ti$3 = i$3 + (1) >> 0;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\targtb.RawSetString(\"n\", new LNumber((nvarargs)));\n\t\t\t\t\t\t\t\t(x$10 = ls$1.reg.array, x$11 = (cf.LocalBase + nargs$1 >> 0) + np >> 0, ((x$11 < 0 || x$11 >= x$10.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$10.$array[x$10.$offset + x$11] = argtb));\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t(x$12 = ls$1.reg.array, x$13 = (cf.LocalBase + nargs$1 >> 0) + np >> 0, ((x$13 < 0 || x$13 >= x$12.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$12.$array[x$12.$offset + x$13] = $pkg.LNil));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcf.LocalBase = cf.LocalBase + (nargs$1) >> 0;\n\t\t\t\t\t\tmaxreg = cf.LocalBase + ((proto.NumUsedRegisters >> 0)) >> 0;\n\t\t\t\t\t\tls$1.reg.SetTop(maxreg);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\trg = L.reg;\n\t\t\t\tregv = base;\n\t\t\t\tstart = RA;\n\t\t\t\tlimit = -1;\n\t\t\t\tn = (reg.Top() - RA >> 0) - 1 >> 0;\n\t\t\t\ti$4 = 0;\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (!(i$4 < n)) { break; }\n\t\t\t\t\ttidx = start + i$4 >> 0;\n\t\t\t\t\tif (tidx >= rg.top || limit > -1 && tidx >= limit || tidx < 0) {\n\t\t\t\t\t\t(x$14 = rg.array, x$15 = regv + i$4 >> 0, ((x$15 < 0 || x$15 >= x$14.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$14.$array[x$14.$offset + x$15] = $pkg.LNil));\n\t\t\t\t\t} else {\n\t\t\t\t\t\t(x$17 = rg.array, x$18 = regv + i$4 >> 0, ((x$18 < 0 || x$18 >= x$17.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$17.$array[x$17.$offset + x$18] = (x$16 = rg.array, ((tidx < 0 || tidx >= x$16.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$16.$array[x$16.$offset + tidx]))));\n\t\t\t\t\t}\n\t\t\t\t\ti$4 = i$4 + (1) >> 0;\n\t\t\t\t}\n\t\t\t\trg.top = regv + n >> 0;\n\t\t\t\tcf.Base = base;\n\t\t\t\tcf.LocalBase = base + (((cf.LocalBase - lbase$1 >> 0) + 1 >> 0)) >> 0;\n\t\t\t/* } */ case 11:\n\t\t\t$s = -1; return 0;\n\t\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.A = A; $f.B = B; $f.L = L; $f.RA = RA; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.argtb = argtb; $f.base = base; $f.baseframe = baseframe; $f.callable = callable; $f.cf = cf; $f.fn = fn; $f.i = i; $f.i$1 = i$1; $f.i$2 = i$2; $f.i$3 = i$3; $f.i$4 = i$4; $f.idx = idx; $f.inst = inst; $f.lbase = lbase; $f.lbase$1 = lbase$1; $f.limit = limit; $f.ls = ls; $f.ls$1 = ls$1; $f.luaframe = luaframe; $f.lv = lv; $f.maxreg = maxreg; $f.meta = meta; $f.n = n; $f.nargs = nargs; $f.nargs$1 = nargs$1; $f.np = np; $f.nvarargs = nvarargs; $f.ok = ok; $f.prev = prev; $f.proto = proto; $f.reg = reg; $f.regv = regv; $f.rg = rg; $f.start = start; $f.tidx = tidx; $f.uv = uv; $f.x = x; $f.x$1 = x$1; $f.x$10 = x$10; $f.x$11 = x$11; $f.x$12 = x$12; $f.x$13 = x$13; $f.x$14 = x$14; $f.x$15 = x$15; $f.x$16 = x$16; $f.x$17 = x$17; $f.x$18 = x$18; $f.x$2 = x$2; $f.x$3 = x$3; $f.x$4 = x$4; $f.x$5 = x$5; $f.x$6 = x$6; $f.x$7 = x$7; $f.x$8 = x$8; $f.x$9 = x$9; $f.$s = $s; $f.$r = $r; return $f;\n\t\t}), (function $b(L, inst, baseframe) {\n\t\t\tvar A, B, L, RA, b, b$1, baseframe, cf, i, i$1, i$2, i$3, i$4, i$5, idx, inst, islast, lbase, limit, limit$1, ls, n, n$1, n$2, nret, prev, reg, regm, regm$1, regm$2, regm$3, regv, regv$1, rg, rg$1, rg$2, rg$3, rg$4, rg$5, start, start$1, tidx, tidx$1, uv, x, x$1, x$10, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, $s, $r;\n\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; A = $f.A; B = $f.B; L = $f.L; RA = $f.RA; b = $f.b; b$1 = $f.b$1; baseframe = $f.baseframe; cf = $f.cf; i = $f.i; i$1 = $f.i$1; i$2 = $f.i$2; i$3 = $f.i$3; i$4 = $f.i$4; i$5 = $f.i$5; idx = $f.idx; inst = $f.inst; islast = $f.islast; lbase = $f.lbase; limit = $f.limit; limit$1 = $f.limit$1; ls = $f.ls; n = $f.n; n$1 = $f.n$1; n$2 = $f.n$2; nret = $f.nret; prev = $f.prev; reg = $f.reg; regm = $f.regm; regm$1 = $f.regm$1; regm$2 = $f.regm$2; regm$3 = $f.regm$3; regv = $f.regv; regv$1 = $f.regv$1; rg = $f.rg; rg$1 = $f.rg$1; rg$2 = $f.rg$2; rg$3 = $f.rg$3; rg$4 = $f.rg$4; rg$5 = $f.rg$5; start = $f.start; start$1 = $f.start$1; tidx = $f.tidx; tidx$1 = $f.tidx$1; uv = $f.uv; x = $f.x; x$1 = $f.x$1; x$10 = $f.x$10; x$11 = $f.x$11; x$12 = $f.x$12; x$13 = $f.x$13; x$14 = $f.x$14; x$15 = $f.x$15; x$16 = $f.x$16; x$17 = $f.x$17; x$2 = $f.x$2; x$3 = $f.x$3; x$4 = $f.x$4; x$5 = $f.x$5; x$6 = $f.x$6; x$7 = $f.x$7; x$8 = $f.x$8; x$9 = $f.x$9; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t\treg = L.reg;\n\t\t\tcf = L.currentFrame;\n\t\t\tlbase = cf.LocalBase;\n\t\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\t\tRA = lbase + A >> 0;\n\t\t\tB = ((((inst & 511) >>> 0) >> 0));\n\t\t\tls = L;\n\t\t\tidx = lbase;\n\t\t\tif (!(ls.uvcache === ptrType$56.nil)) {\n\t\t\t\tprev = ptrType$56.nil;\n\t\t\t\tuv = ls.uvcache;\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (!(!(uv === ptrType$56.nil))) { break; }\n\t\t\t\t\tif (uv.index >= idx) {\n\t\t\t\t\t\tif (!(prev === ptrType$56.nil)) {\n\t\t\t\t\t\t\tprev.next = ptrType$56.nil;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tls.uvcache = ptrType$56.nil;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tuv.Close();\n\t\t\t\t\t}\n\t\t\t\t\tprev = uv;\n\t\t\t\t\tuv = uv.next;\n\t\t\t\t}\n\t\t\t}\n\t\t\tnret = B - 1 >> 0;\n\t\t\tif (B === 0) {\n\t\t\t\tnret = reg.Top() - RA >> 0;\n\t\t\t}\n\t\t\tn = cf.NRet;\n\t\t\tif (cf.NRet === -1) {\n\t\t\t\tn = nret;\n\t\t\t}\n\t\t\t/* */ if (!(L.Parent === ptrType$9.nil) && (L.stack.Sp() === 1)) { $s = 1; continue; }\n\t\t\t/* */ $s = 2; continue;\n\t\t\t/* if (!(L.Parent === ptrType$9.nil) && (L.stack.Sp() === 1)) { */ case 1:\n\t\t\t\tregv = reg.Top();\n\t\t\t\tstart = RA;\n\t\t\t\tb = B;\n\t\t\t\tif (b === 1) {\n\t\t\t\t\trg = L.reg;\n\t\t\t\t\tregm = regv;\n\t\t\t\t\ti = 0;\n\t\t\t\t\twhile (true) {\n\t\t\t\t\t\tif (!(i < n)) { break; }\n\t\t\t\t\t\t(x = rg.array, x$1 = regm + i >> 0, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1] = $pkg.LNil));\n\t\t\t\t\t\ti = i + (1) >> 0;\n\t\t\t\t\t}\n\t\t\t\t\trg.top = regm + n >> 0;\n\t\t\t\t} else {\n\t\t\t\t\trg$1 = L.reg;\n\t\t\t\t\tlimit = -1;\n\t\t\t\t\ti$1 = 0;\n\t\t\t\t\twhile (true) {\n\t\t\t\t\t\tif (!(i$1 < n)) { break; }\n\t\t\t\t\t\ttidx = start + i$1 >> 0;\n\t\t\t\t\t\tif (tidx >= rg$1.top || limit > -1 && tidx >= limit || tidx < 0) {\n\t\t\t\t\t\t\t(x$2 = rg$1.array, x$3 = regv + i$1 >> 0, ((x$3 < 0 || x$3 >= x$2.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$2.$array[x$2.$offset + x$3] = $pkg.LNil));\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t(x$5 = rg$1.array, x$6 = regv + i$1 >> 0, ((x$6 < 0 || x$6 >= x$5.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$5.$array[x$5.$offset + x$6] = (x$4 = rg$1.array, ((tidx < 0 || tidx >= x$4.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$4.$array[x$4.$offset + tidx]))));\n\t\t\t\t\t\t}\n\t\t\t\t\t\ti$1 = i$1 + (1) >> 0;\n\t\t\t\t\t}\n\t\t\t\t\trg$1.top = regv + n >> 0;\n\t\t\t\t\tif (b > 1 && n > ((b - 1 >> 0))) {\n\t\t\t\t\t\trg$2 = L.reg;\n\t\t\t\t\t\tregm$1 = (regv + b >> 0) - 1 >> 0;\n\t\t\t\t\t\tn$1 = n - ((b - 1 >> 0)) >> 0;\n\t\t\t\t\t\ti$2 = 0;\n\t\t\t\t\t\twhile (true) {\n\t\t\t\t\t\t\tif (!(i$2 < n$1)) { break; }\n\t\t\t\t\t\t\t(x$7 = rg$2.array, x$8 = regm$1 + i$2 >> 0, ((x$8 < 0 || x$8 >= x$7.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$7.$array[x$7.$offset + x$8] = $pkg.LNil));\n\t\t\t\t\t\t\ti$2 = i$2 + (1) >> 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\trg$2.top = regm$1 + n$1 >> 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t$r = switchToParentThread(L, n, false, true); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t$s = -1; return 1;\n\t\t\t/* } */ case 2:\n\t\t\tislast = baseframe === L.stack.Pop() || L.stack.IsEmpty();\n\t\t\tregv$1 = cf.ReturnBase;\n\t\t\tstart$1 = RA;\n\t\t\tb$1 = B;\n\t\t\tif (b$1 === 1) {\n\t\t\t\trg$3 = L.reg;\n\t\t\t\tregm$2 = regv$1;\n\t\t\t\ti$3 = 0;\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (!(i$3 < n)) { break; }\n\t\t\t\t\t(x$9 = rg$3.array, x$10 = regm$2 + i$3 >> 0, ((x$10 < 0 || x$10 >= x$9.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$9.$array[x$9.$offset + x$10] = $pkg.LNil));\n\t\t\t\t\ti$3 = i$3 + (1) >> 0;\n\t\t\t\t}\n\t\t\t\trg$3.top = regm$2 + n >> 0;\n\t\t\t} else {\n\t\t\t\trg$4 = L.reg;\n\t\t\t\tlimit$1 = -1;\n\t\t\t\ti$4 = 0;\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (!(i$4 < n)) { break; }\n\t\t\t\t\ttidx$1 = start$1 + i$4 >> 0;\n\t\t\t\t\tif (tidx$1 >= rg$4.top || limit$1 > -1 && tidx$1 >= limit$1 || tidx$1 < 0) {\n\t\t\t\t\t\t(x$11 = rg$4.array, x$12 = regv$1 + i$4 >> 0, ((x$12 < 0 || x$12 >= x$11.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$11.$array[x$11.$offset + x$12] = $pkg.LNil));\n\t\t\t\t\t} else {\n\t\t\t\t\t\t(x$14 = rg$4.array, x$15 = regv$1 + i$4 >> 0, ((x$15 < 0 || x$15 >= x$14.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$14.$array[x$14.$offset + x$15] = (x$13 = rg$4.array, ((tidx$1 < 0 || tidx$1 >= x$13.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$13.$array[x$13.$offset + tidx$1]))));\n\t\t\t\t\t}\n\t\t\t\t\ti$4 = i$4 + (1) >> 0;\n\t\t\t\t}\n\t\t\t\trg$4.top = regv$1 + n >> 0;\n\t\t\t\tif (b$1 > 1 && n > ((b$1 - 1 >> 0))) {\n\t\t\t\t\trg$5 = L.reg;\n\t\t\t\t\tregm$3 = (regv$1 + b$1 >> 0) - 1 >> 0;\n\t\t\t\t\tn$2 = n - ((b$1 - 1 >> 0)) >> 0;\n\t\t\t\t\ti$5 = 0;\n\t\t\t\t\twhile (true) {\n\t\t\t\t\t\tif (!(i$5 < n$2)) { break; }\n\t\t\t\t\t\t(x$16 = rg$5.array, x$17 = regm$3 + i$5 >> 0, ((x$17 < 0 || x$17 >= x$16.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$16.$array[x$16.$offset + x$17] = $pkg.LNil));\n\t\t\t\t\t\ti$5 = i$5 + (1) >> 0;\n\t\t\t\t\t}\n\t\t\t\t\trg$5.top = regm$3 + n$2 >> 0;\n\t\t\t\t}\n\t\t\t}\n\t\t\tL.currentFrame = L.stack.Last();\n\t\t\tif (islast || L.currentFrame === ptrType$10.nil || L.currentFrame.Fn.IsG) {\n\t\t\t\t$s = -1; return 1;\n\t\t\t}\n\t\t\t$s = -1; return 0;\n\t\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.A = A; $f.B = B; $f.L = L; $f.RA = RA; $f.b = b; $f.b$1 = b$1; $f.baseframe = baseframe; $f.cf = cf; $f.i = i; $f.i$1 = i$1; $f.i$2 = i$2; $f.i$3 = i$3; $f.i$4 = i$4; $f.i$5 = i$5; $f.idx = idx; $f.inst = inst; $f.islast = islast; $f.lbase = lbase; $f.limit = limit; $f.limit$1 = limit$1; $f.ls = ls; $f.n = n; $f.n$1 = n$1; $f.n$2 = n$2; $f.nret = nret; $f.prev = prev; $f.reg = reg; $f.regm = regm; $f.regm$1 = regm$1; $f.regm$2 = regm$2; $f.regm$3 = regm$3; $f.regv = regv; $f.regv$1 = regv$1; $f.rg = rg; $f.rg$1 = rg$1; $f.rg$2 = rg$2; $f.rg$3 = rg$3; $f.rg$4 = rg$4; $f.rg$5 = rg$5; $f.start = start; $f.start$1 = start$1; $f.tidx = tidx; $f.tidx$1 = tidx$1; $f.uv = uv; $f.x = x; $f.x$1 = x$1; $f.x$10 = x$10; $f.x$11 = x$11; $f.x$12 = x$12; $f.x$13 = x$13; $f.x$14 = x$14; $f.x$15 = x$15; $f.x$16 = x$16; $f.x$17 = x$17; $f.x$2 = x$2; $f.x$3 = x$3; $f.x$4 = x$4; $f.x$5 = x$5; $f.x$6 = x$6; $f.x$7 = x$7; $f.x$8 = x$8; $f.x$9 = x$9; $f.$s = $s; $f.$r = $r; return $f;\n\t\t}), (function $b(L, inst, baseframe) {\n\t\t\tvar A, L, RA, Sbx, _r, _r$1, _r$2, _tuple, _tuple$1, _tuple$2, baseframe, cf, init$4, inst, lbase, limit, ok1, ok2, ok3, reg, step, $s, $r;\n\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; A = $f.A; L = $f.L; RA = $f.RA; Sbx = $f.Sbx; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; baseframe = $f.baseframe; cf = $f.cf; init$4 = $f.init$4; inst = $f.inst; lbase = $f.lbase; limit = $f.limit; ok1 = $f.ok1; ok2 = $f.ok2; ok3 = $f.ok3; reg = $f.reg; step = $f.step; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t\treg = L.reg;\n\t\t\tcf = L.currentFrame;\n\t\t\tlbase = cf.LocalBase;\n\t\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\t\tRA = lbase + A >> 0;\n\t\t\t_r = reg.Get(RA).assertFloat64(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r;\n\t\t\tinit$4 = _tuple[0];\n\t\t\tok1 = _tuple[1];\n\t\t\t/* */ if (ok1) { $s = 2; continue; }\n\t\t\t/* */ $s = 3; continue;\n\t\t\t/* if (ok1) { */ case 2:\n\t\t\t\t_r$1 = reg.Get(RA + 1 >> 0).assertFloat64(); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t_tuple$1 = _r$1;\n\t\t\t\tlimit = _tuple$1[0];\n\t\t\t\tok2 = _tuple$1[1];\n\t\t\t\t/* */ if (ok2) { $s = 6; continue; }\n\t\t\t\t/* */ $s = 7; continue;\n\t\t\t\t/* if (ok2) { */ case 6:\n\t\t\t\t\t_r$2 = reg.Get(RA + 2 >> 0).assertFloat64(); /* */ $s = 9; case 9: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t\t_tuple$2 = _r$2;\n\t\t\t\t\tstep = _tuple$2[0];\n\t\t\t\t\tok3 = _tuple$2[1];\n\t\t\t\t\t/* */ if (ok3) { $s = 10; continue; }\n\t\t\t\t\t/* */ $s = 11; continue;\n\t\t\t\t\t/* if (ok3) { */ case 10:\n\t\t\t\t\t\tinit$4 = init$4 + (step);\n\t\t\t\t\t\treg.SetNumber(RA, (init$4));\n\t\t\t\t\t\tif ((step > 0 && init$4 <= limit) || (step <= 0 && init$4 >= limit)) {\n\t\t\t\t\t\t\tSbx = ((((inst & 262143) >>> 0) >> 0)) - 131071 >> 0;\n\t\t\t\t\t\t\tcf.Pc = cf.Pc + (Sbx) >> 0;\n\t\t\t\t\t\t\treg.SetNumber(RA + 3 >> 0, (init$4));\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treg.SetTop(RA + 1 >> 0);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$s = 12; continue;\n\t\t\t\t\t/* } else { */ case 11:\n\t\t\t\t\t\t$r = L.RaiseError(\"for statement step must be a number\", new sliceType$6([])); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t/* } */ case 12:\n\t\t\t\t\t$s = 8; continue;\n\t\t\t\t/* } else { */ case 7:\n\t\t\t\t\t$r = L.RaiseError(\"for statement limit must be a number\", new sliceType$6([])); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t/* } */ case 8:\n\t\t\t\t$s = 4; continue;\n\t\t\t/* } else { */ case 3:\n\t\t\t\t$r = L.RaiseError(\"for statement init must be a number\", new sliceType$6([])); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 4:\n\t\t\t$s = -1; return 0;\n\t\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.A = A; $f.L = L; $f.RA = RA; $f.Sbx = Sbx; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f.baseframe = baseframe; $f.cf = cf; $f.init$4 = init$4; $f.inst = inst; $f.lbase = lbase; $f.limit = limit; $f.ok1 = ok1; $f.ok2 = ok2; $f.ok3 = ok3; $f.reg = reg; $f.step = step; $f.$s = $s; $f.$r = $r; return $f;\n\t\t}), (function $b(L, inst, baseframe) {\n\t\t\tvar A, L, RA, Sbx, _r, _r$1, _tuple, _tuple$1, baseframe, cf, init$4, inst, lbase, ok1, ok2, reg, step, $s, $r;\n\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; A = $f.A; L = $f.L; RA = $f.RA; Sbx = $f.Sbx; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; baseframe = $f.baseframe; cf = $f.cf; init$4 = $f.init$4; inst = $f.inst; lbase = $f.lbase; ok1 = $f.ok1; ok2 = $f.ok2; reg = $f.reg; step = $f.step; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t\treg = L.reg;\n\t\t\tcf = L.currentFrame;\n\t\t\tlbase = cf.LocalBase;\n\t\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\t\tRA = lbase + A >> 0;\n\t\t\tSbx = ((((inst & 262143) >>> 0) >> 0)) - 131071 >> 0;\n\t\t\t_r = reg.Get(RA).assertFloat64(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_tuple = _r;\n\t\t\tinit$4 = _tuple[0];\n\t\t\tok1 = _tuple[1];\n\t\t\t/* */ if (ok1) { $s = 2; continue; }\n\t\t\t/* */ $s = 3; continue;\n\t\t\t/* if (ok1) { */ case 2:\n\t\t\t\t_r$1 = reg.Get(RA + 2 >> 0).assertFloat64(); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t_tuple$1 = _r$1;\n\t\t\t\tstep = _tuple$1[0];\n\t\t\t\tok2 = _tuple$1[1];\n\t\t\t\t/* */ if (ok2) { $s = 6; continue; }\n\t\t\t\t/* */ $s = 7; continue;\n\t\t\t\t/* if (ok2) { */ case 6:\n\t\t\t\t\treg.SetNumber(RA, (init$4 - step));\n\t\t\t\t\t$s = 8; continue;\n\t\t\t\t/* } else { */ case 7:\n\t\t\t\t\t$r = L.RaiseError(\"for statement step must be a number\", new sliceType$6([])); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t/* } */ case 8:\n\t\t\t\t$s = 4; continue;\n\t\t\t/* } else { */ case 3:\n\t\t\t\t$r = L.RaiseError(\"for statement init must be a number\", new sliceType$6([])); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t/* } */ case 4:\n\t\t\tcf.Pc = cf.Pc + (Sbx) >> 0;\n\t\t\t$s = -1; return 0;\n\t\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.A = A; $f.L = L; $f.RA = RA; $f.Sbx = Sbx; $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.baseframe = baseframe; $f.cf = cf; $f.init$4 = init$4; $f.inst = inst; $f.lbase = lbase; $f.ok1 = ok1; $f.ok2 = ok2; $f.reg = reg; $f.step = step; $f.$s = $s; $f.$r = $r; return $f;\n\t\t}), (function $b(L, inst, baseframe) {\n\t\t\tvar A, C, L, RA, baseframe, cf, inst, lbase, nret, pc, reg, value, x, x$1, $s, $r;\n\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; A = $f.A; C = $f.C; L = $f.L; RA = $f.RA; baseframe = $f.baseframe; cf = $f.cf; inst = $f.inst; lbase = $f.lbase; nret = $f.nret; pc = $f.pc; reg = $f.reg; value = $f.value; x = $f.x; x$1 = $f.x$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t\treg = L.reg;\n\t\t\tcf = L.currentFrame;\n\t\t\tlbase = cf.LocalBase;\n\t\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\t\tRA = lbase + A >> 0;\n\t\t\tC = (((inst >>> 9 >>> 0) >> 0)) & 511;\n\t\t\tnret = C;\n\t\t\treg.SetTop((RA + 3 >> 0) + 2 >> 0);\n\t\t\treg.Set((RA + 3 >> 0) + 2 >> 0, reg.Get(RA + 2 >> 0));\n\t\t\treg.Set((RA + 3 >> 0) + 1 >> 0, reg.Get(RA + 1 >> 0));\n\t\t\treg.Set(RA + 3 >> 0, reg.Get(RA));\n\t\t\t$r = L.callR(2, nret, RA + 3 >> 0); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\tvalue = reg.Get(RA + 3 >> 0);\n\t\t\tif (!($interfaceIsEqual(value, $pkg.LNil))) {\n\t\t\t\treg.Set(RA + 2 >> 0, value);\n\t\t\t\tpc = (x = cf.Fn.Proto.Code, x$1 = cf.Pc, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1]));\n\t\t\t\tcf.Pc = cf.Pc + ((((((pc & 262143) >>> 0) >> 0)) - 131071 >> 0)) >> 0;\n\t\t\t}\n\t\t\tcf.Pc = cf.Pc + (1) >> 0;\n\t\t\t$s = -1; return 0;\n\t\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.A = A; $f.C = C; $f.L = L; $f.RA = RA; $f.baseframe = baseframe; $f.cf = cf; $f.inst = inst; $f.lbase = lbase; $f.nret = nret; $f.pc = pc; $f.reg = reg; $f.value = value; $f.x = x; $f.x$1 = x$1; $f.$s = $s; $f.$r = $r; return $f;\n\t\t}), (function(L, inst, baseframe) {\n\t\t\tvar A, B, C, L, RA, baseframe, cf, i, inst, lbase, nelem, offset, reg, table, x, x$1;\n\t\t\treg = L.reg;\n\t\t\tcf = L.currentFrame;\n\t\t\tlbase = cf.LocalBase;\n\t\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\t\tRA = lbase + A >> 0;\n\t\t\tB = ((((inst & 511) >>> 0) >> 0));\n\t\t\tC = (((inst >>> 9 >>> 0) >> 0)) & 511;\n\t\t\tif (C === 0) {\n\t\t\t\tC = (((x = cf.Fn.Proto.Code, x$1 = cf.Pc, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1])) >> 0));\n\t\t\t\tcf.Pc = cf.Pc + (1) >> 0;\n\t\t\t}\n\t\t\toffset = $imul(((C - 1 >> 0)), $pkg.FieldsPerFlush);\n\t\t\ttable = $assertType(reg.Get(RA), ptrType$1);\n\t\t\tnelem = B;\n\t\t\tif (B === 0) {\n\t\t\t\tnelem = (reg.Top() - RA >> 0) - 1 >> 0;\n\t\t\t}\n\t\t\ti = 1;\n\t\t\twhile (true) {\n\t\t\t\tif (!(i <= nelem)) { break; }\n\t\t\t\ttable.RawSetInt(offset + i >> 0, reg.Get(RA + i >> 0));\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t}\n\t\t\treturn 0;\n\t\t}), (function(L, inst, baseframe) {\n\t\t\tvar A, L, RA, baseframe, cf, idx, inst, lbase, ls, prev, uv;\n\t\t\tcf = L.currentFrame;\n\t\t\tlbase = cf.LocalBase;\n\t\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\t\tRA = lbase + A >> 0;\n\t\t\tls = L;\n\t\t\tidx = RA;\n\t\t\tif (!(ls.uvcache === ptrType$56.nil)) {\n\t\t\t\tprev = ptrType$56.nil;\n\t\t\t\tuv = ls.uvcache;\n\t\t\t\twhile (true) {\n\t\t\t\t\tif (!(!(uv === ptrType$56.nil))) { break; }\n\t\t\t\t\tif (uv.index >= idx) {\n\t\t\t\t\t\tif (!(prev === ptrType$56.nil)) {\n\t\t\t\t\t\t\tprev.next = ptrType$56.nil;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tls.uvcache = ptrType$56.nil;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tuv.Close();\n\t\t\t\t\t}\n\t\t\t\t\tprev = uv;\n\t\t\t\t\tuv = uv.next;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn 0;\n\t\t}), (function(L, inst, baseframe) {\n\t\t\tvar A, B, Bx, L, RA, _3, baseframe, cf, closure, i, inst, lbase, proto, reg, x, x$1, x$2, x$3, x$4, x$5;\n\t\t\treg = L.reg;\n\t\t\tcf = L.currentFrame;\n\t\t\tlbase = cf.LocalBase;\n\t\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\t\tRA = lbase + A >> 0;\n\t\t\tBx = ((((inst & 262143) >>> 0) >> 0));\n\t\t\tproto = (x = cf.Fn.Proto.FunctionPrototypes, ((Bx < 0 || Bx >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + Bx]));\n\t\t\tclosure = newLFunctionL(proto, cf.Fn.Env, ((proto.NumUpvalues >> 0)));\n\t\t\treg.Set(RA, closure);\n\t\t\ti = 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(i < ((proto.NumUpvalues >> 0)))) { break; }\n\t\t\t\tinst = (x$1 = cf.Fn.Proto.Code, x$2 = cf.Pc, ((x$2 < 0 || x$2 >= x$1.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$1.$array[x$1.$offset + x$2]));\n\t\t\t\tcf.Pc = cf.Pc + (1) >> 0;\n\t\t\t\tB = opGetArgB(inst);\n\t\t\t\t_3 = opGetOpCode(inst);\n\t\t\t\tif (_3 === (0)) {\n\t\t\t\t\t(x$3 = closure.Upvalues, ((i < 0 || i >= x$3.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$3.$array[x$3.$offset + i] = L.findUpvalue(lbase + B >> 0)));\n\t\t\t\t} else if (_3 === (5)) {\n\t\t\t\t\t(x$5 = closure.Upvalues, ((i < 0 || i >= x$5.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$5.$array[x$5.$offset + i] = (x$4 = cf.Fn.Upvalues, ((B < 0 || B >= x$4.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$4.$array[x$4.$offset + B]))));\n\t\t\t\t}\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t}\n\t\t\treturn 0;\n\t\t}), (function(L, inst, baseframe) {\n\t\t\tvar A, B, L, RA, baseframe, cf, i, inst, lbase, limit, n, nparams, nvarargs, nwant, reg, regv, rg, start, tidx, x, x$1, x$2, x$3, x$4;\n\t\t\treg = L.reg;\n\t\t\tcf = L.currentFrame;\n\t\t\tlbase = cf.LocalBase;\n\t\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\t\tRA = lbase + A >> 0;\n\t\t\tB = ((((inst & 511) >>> 0) >> 0));\n\t\t\tnparams = ((cf.Fn.Proto.NumParameters >> 0));\n\t\t\tnvarargs = cf.NArgs - nparams >> 0;\n\t\t\tif (nvarargs < 0) {\n\t\t\t\tnvarargs = 0;\n\t\t\t}\n\t\t\tnwant = B - 1 >> 0;\n\t\t\tif (B === 0) {\n\t\t\t\tnwant = nvarargs;\n\t\t\t}\n\t\t\trg = reg;\n\t\t\tregv = RA;\n\t\t\tstart = (cf.Base + nparams >> 0) + 1 >> 0;\n\t\t\tlimit = cf.LocalBase;\n\t\t\tn = nwant;\n\t\t\ti = 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(i < n)) { break; }\n\t\t\t\ttidx = start + i >> 0;\n\t\t\t\tif (tidx >= rg.top || limit > -1 && tidx >= limit || tidx < 0) {\n\t\t\t\t\t(x = rg.array, x$1 = regv + i >> 0, ((x$1 < 0 || x$1 >= x.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x.$array[x.$offset + x$1] = $pkg.LNil));\n\t\t\t\t} else {\n\t\t\t\t\t(x$3 = rg.array, x$4 = regv + i >> 0, ((x$4 < 0 || x$4 >= x$3.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$3.$array[x$3.$offset + x$4] = (x$2 = rg.array, ((tidx < 0 || tidx >= x$2.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : x$2.$array[x$2.$offset + tidx]))));\n\t\t\t\t}\n\t\t\t\ti = i + (1) >> 0;\n\t\t\t}\n\t\t\trg.top = regv + n >> 0;\n\t\t\treturn 0;\n\t\t}), (function(L, inst, baseframe) {\n\t\t\tvar L, baseframe, inst;\n\t\t\treturn 0;\n\t\t})]));\n\t};\n\topArith = function(L, inst, baseframe) {\n\t\tvar A, B, C, L, RA, _arg, _arg$1, _r, _r$1, _r$2, _tuple, _tuple$1, baseframe, cf, inst, lbase, lhs, ok1, ok2, opcode, reg, rhs, v1, v2, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; A = $f.A; B = $f.B; C = $f.C; L = $f.L; RA = $f.RA; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; baseframe = $f.baseframe; cf = $f.cf; inst = $f.inst; lbase = $f.lbase; lhs = $f.lhs; ok1 = $f.ok1; ok2 = $f.ok2; opcode = $f.opcode; reg = $f.reg; rhs = $f.rhs; v1 = $f.v1; v2 = $f.v2; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\treg = L.reg;\n\t\tcf = L.currentFrame;\n\t\tlbase = cf.LocalBase;\n\t\tA = (((inst >>> 18 >>> 0) >> 0)) & 255;\n\t\tRA = lbase + A >> 0;\n\t\topcode = (((inst >>> 26 >>> 0) >> 0));\n\t\tB = ((((inst & 511) >>> 0) >> 0));\n\t\tC = (((inst >>> 9 >>> 0) >> 0)) & 511;\n\t\tlhs = L.rkValue(B);\n\t\trhs = L.rkValue(C);\n\t\t_r = lhs.assertFloat64(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tv1 = _tuple[0];\n\t\tok1 = _tuple[1];\n\t\t_r$1 = rhs.assertFloat64(); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_tuple$1 = _r$1;\n\t\tv2 = _tuple$1[0];\n\t\tok2 = _tuple$1[1];\n\t\t/* */ if (ok1 && ok2) { $s = 3; continue; }\n\t\t/* */ $s = 4; continue;\n\t\t/* if (ok1 && ok2) { */ case 3:\n\t\t\treg.SetNumber(RA, numberArith(L, opcode, (v1), (v2)));\n\t\t\t$s = 5; continue;\n\t\t/* } else { */ case 4:\n\t\t\t_arg = RA;\n\t\t\t_r$2 = objectArith(L, opcode, lhs, rhs); /* */ $s = 6; case 6: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t_arg$1 = _r$2;\n\t\t\t$r = reg.Set(_arg, _arg$1); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 5:\n\t\t$s = -1; return 0;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: opArith }; } $f.A = A; $f.B = B; $f.C = C; $f.L = L; $f.RA = RA; $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.baseframe = baseframe; $f.cf = cf; $f.inst = inst; $f.lbase = lbase; $f.lhs = lhs; $f.ok1 = ok1; $f.ok2 = ok2; $f.opcode = opcode; $f.reg = reg; $f.rhs = rhs; $f.v1 = v1; $f.v2 = v2; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tluaModulo = function(lhs, rhs) {\n\t\tvar flhs, frhs, lhs, rhs, v;\n\t\tflhs = (lhs);\n\t\tfrhs = (rhs);\n\t\tv = math.Mod(flhs, frhs);\n\t\tif (flhs < 0 || frhs < 0 && !(flhs < 0 && frhs < 0)) {\n\t\t\tv = v + (frhs);\n\t\t}\n\t\treturn (v);\n\t};\n\tnumberArith = function(L, opcode, lhs, rhs) {\n\t\tvar L, _1, flhs, frhs, lhs, opcode, rhs;\n\t\t_1 = opcode;\n\t\tif (_1 === (15)) {\n\t\t\treturn lhs + rhs;\n\t\t} else if (_1 === (16)) {\n\t\t\treturn lhs - rhs;\n\t\t} else if (_1 === (17)) {\n\t\t\treturn lhs * rhs;\n\t\t} else if (_1 === (18)) {\n\t\t\treturn lhs / rhs;\n\t\t} else if (_1 === (19)) {\n\t\t\treturn luaModulo(lhs, rhs);\n\t\t} else if (_1 === (20)) {\n\t\t\tflhs = (lhs);\n\t\t\tfrhs = (rhs);\n\t\t\treturn (math.Pow(flhs, frhs));\n\t\t}\n\t\t$panic(new $String(\"should not reach here\"));\n\t};\n\tobjectArith = function(L, opcode, lhs, rhs) {\n\t\tvar L, _1, _arg, _arg$1, _arg$2, _r, _r$1, _r$10, _r$11, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, _tuple$1, _tuple$2, _tuple$3, _tuple$4, _tuple$5, err, err$1, event, lhs, lnum, ok, ok$1, ok1, ok2, op, opcode, rhs, rnum, str, str$1, v1, v2, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _1 = $f._1; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _r = $f._r; _r$1 = $f._r$1; _r$10 = $f._r$10; _r$11 = $f._r$11; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _r$8 = $f._r$8; _r$9 = $f._r$9; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; _tuple$3 = $f._tuple$3; _tuple$4 = $f._tuple$4; _tuple$5 = $f._tuple$5; err = $f.err; err$1 = $f.err$1; event = $f.event; lhs = $f.lhs; lnum = $f.lnum; ok = $f.ok; ok$1 = $f.ok$1; ok1 = $f.ok1; ok2 = $f.ok2; op = $f.op; opcode = $f.opcode; rhs = $f.rhs; rnum = $f.rnum; str = $f.str; str$1 = $f.str$1; v1 = $f.v1; v2 = $f.v2; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tevent = \"\";\n\t\t_1 = opcode;\n\t\tif (_1 === (15)) {\n\t\t\tevent = \"__add\";\n\t\t} else if (_1 === (16)) {\n\t\t\tevent = \"__sub\";\n\t\t} else if (_1 === (17)) {\n\t\t\tevent = \"__mul\";\n\t\t} else if (_1 === (18)) {\n\t\t\tevent = \"__div\";\n\t\t} else if (_1 === (19)) {\n\t\t\tevent = \"__mod\";\n\t\t} else if (_1 === (20)) {\n\t\t\tevent = \"__pow\";\n\t\t}\n\t\t_r = L.metaOp2(lhs, rhs, event); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\top = _r;\n\t\t_r$1 = op.Type(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t/* */ if (_r$1 === 4) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (_r$1 === 4) { */ case 2:\n\t\t\tL.reg.Push(op);\n\t\t\tL.reg.Push(lhs);\n\t\t\tL.reg.Push(rhs);\n\t\t\t$r = L.Call(2, 1); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return L.reg.Pop();\n\t\t/* } */ case 3:\n\t\t_tuple = $assertType(lhs, LString, true);\n\t\tstr = _tuple[0];\n\t\tok = _tuple[1];\n\t\t/* */ if (ok) { $s = 6; continue; }\n\t\t/* */ $s = 7; continue;\n\t\t/* if (ok) { */ case 6:\n\t\t\t_r$2 = parseNumber((str)); /* */ $s = 8; case 8: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t_tuple$1 = _r$2;\n\t\t\tlnum = _tuple$1[0];\n\t\t\terr = _tuple$1[1];\n\t\t\tif ($interfaceIsEqual(err, $ifaceNil)) {\n\t\t\t\tlhs = new LNumber(lnum);\n\t\t\t}\n\t\t/* } */ case 7:\n\t\t_tuple$2 = $assertType(rhs, LString, true);\n\t\tstr$1 = _tuple$2[0];\n\t\tok$1 = _tuple$2[1];\n\t\t/* */ if (ok$1) { $s = 9; continue; }\n\t\t/* */ $s = 10; continue;\n\t\t/* if (ok$1) { */ case 9:\n\t\t\t_r$3 = parseNumber((str$1)); /* */ $s = 11; case 11: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t_tuple$3 = _r$3;\n\t\t\trnum = _tuple$3[0];\n\t\t\terr$1 = _tuple$3[1];\n\t\t\tif ($interfaceIsEqual(err$1, $ifaceNil)) {\n\t\t\t\trhs = new LNumber(rnum);\n\t\t\t}\n\t\t/* } */ case 10:\n\t\t_r$4 = lhs.assertFloat64(); /* */ $s = 12; case 12: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t_tuple$4 = _r$4;\n\t\tv1 = _tuple$4[0];\n\t\tok1 = _tuple$4[1];\n\t\t/* */ if (ok1) { $s = 13; continue; }\n\t\t/* */ $s = 14; continue;\n\t\t/* if (ok1) { */ case 13:\n\t\t\t_r$5 = rhs.assertFloat64(); /* */ $s = 15; case 15: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t_tuple$5 = _r$5;\n\t\t\tv2 = _tuple$5[0];\n\t\t\tok2 = _tuple$5[1];\n\t\t\tif (ok2) {\n\t\t\t\t$s = -1; return new LNumber(numberArith(L, opcode, (v1), (v2)));\n\t\t\t}\n\t\t/* } */ case 14:\n\t\t_r$6 = strings.TrimLeft(event, \"_\"); /* */ $s = 16; case 16: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t_arg = new $String(_r$6);\n\t\t_r$7 = lhs.Type(); /* */ $s = 17; case 17: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }\n\t\t_r$8 = new LValueType(_r$7).String(); /* */ $s = 18; case 18: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }\n\t\t_arg$1 = new $String(_r$8);\n\t\t_r$9 = rhs.Type(); /* */ $s = 19; case 19: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }\n\t\t_r$10 = new LValueType(_r$9).String(); /* */ $s = 20; case 20: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }\n\t\t_arg$2 = new $String(_r$10);\n\t\t_r$11 = fmt.Sprintf(\"cannot perform %v operation between %v and %v\", new sliceType$6([_arg, _arg$1, _arg$2])); /* */ $s = 21; case 21: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }\n\t\t$r = L.RaiseError(_r$11, new sliceType$6([])); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return $pkg.LNil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: objectArith }; } $f.L = L; $f._1 = _1; $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._r = _r; $f._r$1 = _r$1; $f._r$10 = _r$10; $f._r$11 = _r$11; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._r$8 = _r$8; $f._r$9 = _r$9; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f._tuple$3 = _tuple$3; $f._tuple$4 = _tuple$4; $f._tuple$5 = _tuple$5; $f.err = err; $f.err$1 = err$1; $f.event = event; $f.lhs = lhs; $f.lnum = lnum; $f.ok = ok; $f.ok$1 = ok$1; $f.ok1 = ok1; $f.ok2 = ok2; $f.op = op; $f.opcode = opcode; $f.rhs = rhs; $f.rnum = rnum; $f.str = str; $f.str$1 = str$1; $f.v1 = v1; $f.v2 = v2; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tstringConcat = function(L, total, last) {\n\t\tvar L, _arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, buf, i, last, lhs, op, rhs, total, x, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; buf = $f.buf; i = $f.i; last = $f.last; lhs = $f.lhs; op = $f.op; rhs = $f.rhs; total = $f.total; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\trhs = L.reg.Get(last);\n\t\ttotal = total - (1) >> 0;\n\t\ti = last - 1 >> 0;\n\t\t/* while (true) { */ case 1:\n\t\t\t/* if (!(total > 0)) { break; } */ if(!(total > 0)) { $s = 2; continue; }\n\t\t\tlhs = L.reg.Get(i);\n\t\t\t/* */ if (!(LVCanConvToString(lhs) && LVCanConvToString(rhs))) { $s = 3; continue; }\n\t\t\t/* */ $s = 4; continue;\n\t\t\t/* if (!(LVCanConvToString(lhs) && LVCanConvToString(rhs))) { */ case 3:\n\t\t\t\t_r = L.metaOp2(lhs, rhs, \"__concat\"); /* */ $s = 6; case 6: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\top = _r;\n\t\t\t\t_r$1 = op.Type(); /* */ $s = 10; case 10: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t/* */ if (_r$1 === 4) { $s = 7; continue; }\n\t\t\t\t/* */ $s = 8; continue;\n\t\t\t\t/* if (_r$1 === 4) { */ case 7:\n\t\t\t\t\tL.reg.Push(op);\n\t\t\t\t\tL.reg.Push(lhs);\n\t\t\t\t\tL.reg.Push(rhs);\n\t\t\t\t\t$r = L.Call(2, 1); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\trhs = L.reg.Pop();\n\t\t\t\t\ttotal = total - (1) >> 0;\n\t\t\t\t\ti = i - (1) >> 0;\n\t\t\t\t\t$s = 9; continue;\n\t\t\t\t/* } else { */ case 8:\n\t\t\t\t\t_r$2 = lhs.Type(); /* */ $s = 12; case 12: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t\t_r$3 = new LValueType(_r$2).String(); /* */ $s = 13; case 13: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t\t_arg = new $String(_r$3);\n\t\t\t\t\t_r$4 = rhs.Type(); /* */ $s = 14; case 14: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\t\t_r$5 = new LValueType(_r$4).String(); /* */ $s = 15; case 15: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t\t\t_arg$1 = new $String(_r$5);\n\t\t\t\t\t$r = L.RaiseError(\"cannot perform concat operation between %v and %v\", new sliceType$6([_arg, _arg$1])); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t\t$s = -1; return $pkg.LNil;\n\t\t\t\t/* } */ case 9:\n\t\t\t\t$s = 5; continue;\n\t\t\t/* } else { */ case 4:\n\t\t\t\tbuf = $makeSlice(sliceType$1, (total + 1 >> 0));\n\t\t\t\t_r$6 = LVAsString(rhs); /* */ $s = 17; case 17: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t\t\t((total < 0 || total >= buf.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + total] = _r$6);\n\t\t\t\t/* while (true) { */ case 18:\n\t\t\t\t\t/* if (!(total > 0)) { break; } */ if(!(total > 0)) { $s = 19; continue; }\n\t\t\t\t\tlhs = L.reg.Get(i);\n\t\t\t\t\tif (!LVCanConvToString(lhs)) {\n\t\t\t\t\t\t/* break; */ $s = 19; continue;\n\t\t\t\t\t}\n\t\t\t\t\t_r$7 = LVAsString(lhs); /* */ $s = 20; case 20: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }\n\t\t\t\t\t(x = total - 1 >> 0, ((x < 0 || x >= buf.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : buf.$array[buf.$offset + x] = _r$7));\n\t\t\t\t\ti = i - (1) >> 0;\n\t\t\t\t\ttotal = total - (1) >> 0;\n\t\t\t\t/* } */ $s = 18; continue; case 19:\n\t\t\t\trhs = new LString((strings.Join(buf, \"\")));\n\t\t\t/* } */ case 5:\n\t\t/* } */ $s = 1; continue; case 2:\n\t\t$s = -1; return rhs;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: stringConcat }; } $f.L = L; $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f.buf = buf; $f.i = i; $f.last = last; $f.lhs = lhs; $f.op = op; $f.rhs = rhs; $f.total = total; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tlessThan = function(L, lhs, rhs) {\n\t\tvar L, _1, _arg, _arg$1, _arg$2, _arg$3, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _tuple, _tuple$1, lhs, ok1, ok2, ret, rhs, v1, v2, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _1 = $f._1; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _arg$3 = $f._arg$3; _r = $f._r; _r$1 = $f._r$1; _r$10 = $f._r$10; _r$11 = $f._r$11; _r$12 = $f._r$12; _r$13 = $f._r$13; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _r$8 = $f._r$8; _r$9 = $f._r$9; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; lhs = $f.lhs; ok1 = $f.ok1; ok2 = $f.ok2; ret = $f.ret; rhs = $f.rhs; v1 = $f.v1; v2 = $f.v2; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = lhs.assertFloat64(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_tuple = _r;\n\t\tv1 = _tuple[0];\n\t\tok1 = _tuple[1];\n\t\t/* */ if (ok1) { $s = 2; continue; }\n\t\t/* */ $s = 3; continue;\n\t\t/* if (ok1) { */ case 2:\n\t\t\t_r$1 = rhs.assertFloat64(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_tuple$1 = _r$1;\n\t\t\tv2 = _tuple$1[0];\n\t\t\tok2 = _tuple$1[1];\n\t\t\tif (ok2) {\n\t\t\t\t$s = -1; return v1 < v2;\n\t\t\t}\n\t\t\t_r$2 = lhs.Type(); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t_r$3 = new LValueType(_r$2).String(); /* */ $s = 6; case 6: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t_arg = new $String(_r$3);\n\t\t\t_r$4 = rhs.Type(); /* */ $s = 7; case 7: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t_r$5 = new LValueType(_r$4).String(); /* */ $s = 8; case 8: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t_arg$1 = new $String(_r$5);\n\t\t\t$r = L.RaiseError(\"attempt to compare %v with %v\", new sliceType$6([_arg, _arg$1])); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t/* } */ case 3:\n\t\t_r$6 = lhs.Type(); /* */ $s = 12; case 12: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; }\n\t\t_r$7 = rhs.Type(); /* */ $s = 13; case 13: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; }\n\t\t/* */ if (!((_r$6 === _r$7))) { $s = 10; continue; }\n\t\t/* */ $s = 11; continue;\n\t\t/* if (!((_r$6 === _r$7))) { */ case 10:\n\t\t\t_r$8 = lhs.Type(); /* */ $s = 14; case 14: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; }\n\t\t\t_r$9 = new LValueType(_r$8).String(); /* */ $s = 15; case 15: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; }\n\t\t\t_arg$2 = new $String(_r$9);\n\t\t\t_r$10 = rhs.Type(); /* */ $s = 16; case 16: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; }\n\t\t\t_r$11 = new LValueType(_r$10).String(); /* */ $s = 17; case 17: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; }\n\t\t\t_arg$3 = new $String(_r$11);\n\t\t\t$r = L.RaiseError(\"attempt to compare %v with %v\", new sliceType$6([_arg$2, _arg$3])); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t$s = -1; return false;\n\t\t/* } */ case 11:\n\t\tret = false;\n\t\t\t_r$12 = lhs.Type(); /* */ $s = 20; case 20: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; }\n\t\t\t_1 = _r$12;\n\t\t\t/* */ if (_1 === (3)) { $s = 21; continue; }\n\t\t\t/* */ $s = 22; continue;\n\t\t\t/* if (_1 === (3)) { */ case 21:\n\t\t\t\tret = strCmp(($assertType(lhs, LString)), ($assertType(rhs, LString))) < 0;\n\t\t\t\t$s = 23; continue;\n\t\t\t/* } else { */ case 22:\n\t\t\t\t_r$13 = objectRationalWithError(L, lhs, rhs, \"__lt\"); /* */ $s = 24; case 24: if($c) { $c = false; _r$13 = _r$13.$blk(); } if (_r$13 && _r$13.$blk !== undefined) { break s; }\n\t\t\t\tret = _r$13;\n\t\t\t/* } */ case 23:\n\t\tcase 19:\n\t\t$s = -1; return ret;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: lessThan }; } $f.L = L; $f._1 = _1; $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._arg$3 = _arg$3; $f._r = _r; $f._r$1 = _r$1; $f._r$10 = _r$10; $f._r$11 = _r$11; $f._r$12 = _r$12; $f._r$13 = _r$13; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._r$8 = _r$8; $f._r$9 = _r$9; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.lhs = lhs; $f.ok1 = ok1; $f.ok2 = ok2; $f.ret = ret; $f.rhs = rhs; $f.v1 = v1; $f.v2 = v2; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tequals = function(L, lhs, rhs, raw) {\n\t\tvar L, _1, _2, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _tuple, _tuple$1, lhs, raw, ret, rhs, v1, v2, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _1 = $f._1; _2 = $f._2; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; lhs = $f.lhs; raw = $f.raw; ret = $f.ret; rhs = $f.rhs; v1 = $f.v1; v2 = $f.v2; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = lhs.Type(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t_r$1 = rhs.Type(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t/* */ if (!((_r === _r$1))) { $s = 1; continue; }\n\t\t/* */ $s = 2; continue;\n\t\t/* if (!((_r === _r$1))) { */ case 1:\n\t\t\t$s = -1; return false;\n\t\t/* } */ case 2:\n\t\tret = false;\n\t\t\t_r$2 = lhs.Type(); /* */ $s = 6; case 6: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t_1 = _r$2;\n\t\t\t/* */ if (_1 === (0)) { $s = 7; continue; }\n\t\t\t/* */ if (_1 === (2)) { $s = 8; continue; }\n\t\t\t/* */ if (_1 === (1)) { $s = 9; continue; }\n\t\t\t/* */ if (_1 === (3)) { $s = 10; continue; }\n\t\t\t/* */ if ((_1 === (5)) || (_1 === (7))) { $s = 11; continue; }\n\t\t\t/* */ $s = 12; continue;\n\t\t\t/* if (_1 === (0)) { */ case 7:\n\t\t\t\tret = true;\n\t\t\t\t$s = 13; continue;\n\t\t\t/* } else if (_1 === (2)) { */ case 8:\n\t\t\t\t_r$3 = lhs.assertFloat64(); /* */ $s = 14; case 14: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t_tuple = _r$3;\n\t\t\t\tv1 = _tuple[0];\n\t\t\t\t_r$4 = rhs.assertFloat64(); /* */ $s = 15; case 15: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\t\t_tuple$1 = _r$4;\n\t\t\t\tv2 = _tuple$1[0];\n\t\t\t\tret = v1 === v2;\n\t\t\t\t$s = 13; continue;\n\t\t\t/* } else if (_1 === (1)) { */ case 9:\n\t\t\t\tret = ($assertType(lhs, LBool)) === ($assertType(rhs, LBool));\n\t\t\t\t$s = 13; continue;\n\t\t\t/* } else if (_1 === (3)) { */ case 10:\n\t\t\t\tret = ($assertType(lhs, LString)) === ($assertType(rhs, LString));\n\t\t\t\t$s = 13; continue;\n\t\t\t/* } else if ((_1 === (5)) || (_1 === (7))) { */ case 11:\n\t\t\t\t/* */ if ($interfaceIsEqual(lhs, rhs)) { $s = 16; continue; }\n\t\t\t\t/* */ if (!raw) { $s = 17; continue; }\n\t\t\t\t/* */ $s = 18; continue;\n\t\t\t\t/* if ($interfaceIsEqual(lhs, rhs)) { */ case 16:\n\t\t\t\t\tret = true;\n\t\t\t\t\t$s = 18; continue;\n\t\t\t\t/* } else if (!raw) { */ case 17:\n\t\t\t\t\t\t_r$5 = objectRational(L, lhs, rhs, \"__eq\"); /* */ $s = 20; case 20: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; }\n\t\t\t\t\t\t_2 = _r$5;\n\t\t\t\t\t\tif (_2 === (1)) {\n\t\t\t\t\t\t\tret = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tret = false;\n\t\t\t\t\t\t}\n\t\t\t\t\tcase 19:\n\t\t\t\t/* } */ case 18:\n\t\t\t\t$s = 13; continue;\n\t\t\t/* } else { */ case 12:\n\t\t\t\tret = $interfaceIsEqual(lhs, rhs);\n\t\t\t/* } */ case 13:\n\t\tcase 5:\n\t\t$s = -1; return ret;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: equals }; } $f.L = L; $f._1 = _1; $f._2 = _2; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f.lhs = lhs; $f.raw = raw; $f.ret = ret; $f.rhs = rhs; $f.v1 = v1; $f.v2 = v2; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tobjectRationalWithError = function(L, lhs, rhs, event) {\n\t\tvar L, _1, _arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, event, lhs, rhs, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _1 = $f._1; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; event = $f.event; lhs = $f.lhs; rhs = $f.rhs; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t\t_r = objectRational(L, lhs, rhs, event); /* */ $s = 2; case 2: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t_1 = _r;\n\t\t\tif (_1 === (1)) {\n\t\t\t\t$s = -1; return true;\n\t\t\t} else if (_1 === (0)) {\n\t\t\t\t$s = -1; return false;\n\t\t\t}\n\t\tcase 1:\n\t\t_r$1 = lhs.Type(); /* */ $s = 3; case 3: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t_r$2 = new LValueType(_r$1).String(); /* */ $s = 4; case 4: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t_arg = new $String(_r$2);\n\t\t_r$3 = rhs.Type(); /* */ $s = 5; case 5: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t_r$4 = new LValueType(_r$3).String(); /* */ $s = 6; case 6: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t_arg$1 = new $String(_r$4);\n\t\t$r = L.RaiseError(\"attempt to compare %v with %v\", new sliceType$6([_arg, _arg$1])); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$s = -1; return false;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: objectRationalWithError }; } $f.L = L; $f._1 = _1; $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f.event = event; $f.lhs = lhs; $f.rhs = rhs; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tobjectRational = function(L, lhs, rhs, event) {\n\t\tvar L, _r, _r$1, _r$2, event, lhs, m1, m2, rhs, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; event = $f.event; lhs = $f.lhs; m1 = $f.m1; m2 = $f.m2; rhs = $f.rhs; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t_r = L.metaOp1(lhs, event); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\tm1 = _r;\n\t\t_r$1 = L.metaOp1(rhs, event); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\tm2 = _r$1;\n\t\t_r$2 = m1.Type(); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t/* */ if ((_r$2 === 4) && $interfaceIsEqual(m1, m2)) { $s = 3; continue; }\n\t\t/* */ $s = 4; continue;\n\t\t/* if ((_r$2 === 4) && $interfaceIsEqual(m1, m2)) { */ case 3:\n\t\t\tL.reg.Push(m1);\n\t\t\tL.reg.Push(lhs);\n\t\t\tL.reg.Push(rhs);\n\t\t\t$r = L.Call(2, 1); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\tif (LVAsBool(L.reg.Pop())) {\n\t\t\t\t$s = -1; return 1;\n\t\t\t}\n\t\t\t$s = -1; return 0;\n\t\t/* } */ case 4:\n\t\t$s = -1; return -1;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: objectRational }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.event = event; $f.lhs = lhs; $f.m1 = m1; $f.m2 = m2; $f.rhs = rhs; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\tptrType$66.methods = [{prop: \"LNumber2I\", name: \"LNumber2I\", pkg: \"\", typ: $funcType([LNumber], [LValue], false)}];\n\tptrType$51.methods = [{prop: \"Error\", name: \"Error\", pkg: \"\", typ: $funcType([], [$String], false)}];\n\tptrType$19.methods = [{prop: \"Add\", name: \"Add\", pkg: \"\", typ: $funcType([$Uint32, $Int], [], false)}, {prop: \"AddABC\", name: \"AddABC\", pkg: \"\", typ: $funcType([$Int, $Int, $Int, $Int, $Int], [], false)}, {prop: \"AddABx\", name: \"AddABx\", pkg: \"\", typ: $funcType([$Int, $Int, $Int, $Int], [], false)}, {prop: \"AddASbx\", name: \"AddASbx\", pkg: \"\", typ: $funcType([$Int, $Int, $Int, $Int], [], false)}, {prop: \"PropagateKMV\", name: \"PropagateKMV\", pkg: \"\", typ: $funcType([$Int, ptrType$37, ptrType$37, $Int], [], false)}, {prop: \"PropagateMV\", name: \"PropagateMV\", pkg: \"\", typ: $funcType([$Int, ptrType$37, ptrType$37, $Int], [], false)}, {prop: \"AddLoadNil\", name: \"AddLoadNil\", pkg: \"\", typ: $funcType([$Int, $Int, $Int], [], false)}, {prop: \"SetOpCode\", name: \"SetOpCode\", pkg: \"\", typ: $funcType([$Int, $Int], [], false)}, {prop: \"SetA\", name: \"SetA\", pkg: \"\", typ: $funcType([$Int, $Int], [], false)}, {prop: \"SetB\", name: \"SetB\", pkg: \"\", typ: $funcType([$Int, $Int], [], false)}, {prop: \"SetC\", name: \"SetC\", pkg: \"\", typ: $funcType([$Int, $Int], [], false)}, {prop: \"SetBx\", name: \"SetBx\", pkg: \"\", typ: $funcType([$Int, $Int], [], false)}, {prop: \"SetSbx\", name: \"SetSbx\", pkg: \"\", typ: $funcType([$Int, $Int], [], false)}, {prop: \"At\", name: \"At\", pkg: \"\", typ: $funcType([$Int], [$Uint32], false)}, {prop: \"List\", name: \"List\", pkg: \"\", typ: $funcType([], [sliceType$11], false)}, {prop: \"PosList\", name: \"PosList\", pkg: \"\", typ: $funcType([], [sliceType$12], false)}, {prop: \"LastPC\", name: \"LastPC\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Last\", name: \"Last\", pkg: \"\", typ: $funcType([], [$Uint32], false)}, {prop: \"Pop\", name: \"Pop\", pkg: \"\", typ: $funcType([], [], false)}];\n\tptrType$20.methods = [{prop: \"Names\", name: \"Names\", pkg: \"\", typ: $funcType([], [sliceType$1], false)}, {prop: \"List\", name: \"List\", pkg: \"\", typ: $funcType([], [sliceType$9], false)}, {prop: \"LastIndex\", name: \"LastIndex\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Find\", name: \"Find\", pkg: \"\", typ: $funcType([$String], [$Int], false)}, {prop: \"RegisterUnique\", name: \"RegisterUnique\", pkg: \"\", typ: $funcType([$String], [$Int], false)}, {prop: \"Register\", name: \"Register\", pkg: \"\", typ: $funcType([$String], [$Int], false)}];\n\tptrType$12.methods = [{prop: \"NewLabel\", name: \"NewLabel\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"SetLabelPc\", name: \"SetLabelPc\", pkg: \"\", typ: $funcType([$Int, $Int], [], false)}, {prop: \"GetLabelPc\", name: \"GetLabelPc\", pkg: \"\", typ: $funcType([$Int], [$Int], false)}, {prop: \"ConstIndex\", name: \"ConstIndex\", pkg: \"\", typ: $funcType([LValue], [$Int], false)}, {prop: \"RegisterLocalVar\", name: \"RegisterLocalVar\", pkg: \"\", typ: $funcType([$String], [$Int], false)}, {prop: \"FindLocalVarAndBlock\", name: \"FindLocalVarAndBlock\", pkg: \"\", typ: $funcType([$String], [$Int, ptrType$21], false)}, {prop: \"FindLocalVar\", name: \"FindLocalVar\", pkg: \"\", typ: $funcType([$String], [$Int], false)}, {prop: \"LocalVars\", name: \"LocalVars\", pkg: \"\", typ: $funcType([], [sliceType$9], false)}, {prop: \"EnterBlock\", name: \"EnterBlock\", pkg: \"\", typ: $funcType([$Int, ast.PositionHolder], [], false)}, {prop: \"CloseUpvalues\", name: \"CloseUpvalues\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"LeaveBlock\", name: \"LeaveBlock\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"EndScope\", name: \"EndScope\", pkg: \"\", typ: $funcType([], [], false)}, {prop: \"SetRegTop\", name: \"SetRegTop\", pkg: \"\", typ: $funcType([$Int], [], false)}, {prop: \"RegTop\", name: \"RegTop\", pkg: \"\", typ: $funcType([], [$Int], false)}];\n\tLNumber.methods = [{prop: \"String\", name: \"String\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"Type\", name: \"Type\", pkg: \"\", typ: $funcType([], [LValueType], false)}, {prop: \"assertFloat64\", name: \"assertFloat64\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([], [$Float64, $Bool], false)}, {prop: \"assertString\", name: \"assertString\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([], [$String, $Bool], false)}, {prop: \"assertFunction\", name: \"assertFunction\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([], [ptrType$7, $Bool], false)}, {prop: \"Format\", name: \"Format\", pkg: \"\", typ: $funcType([fmt.State, $Int32], [], false)}];\n\tptrType$18.methods = [{prop: \"String\", name: \"String\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"str\", name: \"str\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([$Int, $Int], [$String], false)}];\n\tptrType$56.methods = [{prop: \"Value\", name: \"Value\", pkg: \"\", typ: $funcType([], [LValue], false)}, {prop: \"SetValue\", name: \"SetValue\", pkg: \"\", typ: $funcType([LValue], [], false)}, {prop: \"Close\", name: \"Close\", pkg: \"\", typ: $funcType([], [], false)}, {prop: \"IsClosed\", name: \"IsClosed\", pkg: \"\", typ: $funcType([], [$Bool], false)}];\n\tptrType$57.methods = [{prop: \"Type\", name: \"Type\", pkg: \"\", typ: $funcType([], [lFileType], false)}, {prop: \"Name\", name: \"Name\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"AbandonReadBuffer\", name: \"AbandonReadBuffer\", pkg: \"\", typ: $funcType([], [$error], false)}];\n\tptrType$11.methods = [{prop: \"Error\", name: \"Error\", pkg: \"\", typ: $funcType([], [$String], false)}];\n\tptrType$65.methods = [{prop: \"IsEmpty\", name: \"IsEmpty\", pkg: \"\", typ: $funcType([], [$Bool], false)}, {prop: \"Clear\", name: \"Clear\", pkg: \"\", typ: $funcType([], [], false)}, {prop: \"Push\", name: \"Push\", pkg: \"\", typ: $funcType([callFrame], [], false)}, {prop: \"Remove\", name: \"Remove\", pkg: \"\", typ: $funcType([$Int], [], false)}, {prop: \"Sp\", name: \"Sp\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"SetSp\", name: \"SetSp\", pkg: \"\", typ: $funcType([$Int], [], false)}, {prop: \"Last\", name: \"Last\", pkg: \"\", typ: $funcType([], [ptrType$10], false)}, {prop: \"At\", name: \"At\", pkg: \"\", typ: $funcType([$Int], [ptrType$10], false)}, {prop: \"Pop\", name: \"Pop\", pkg: \"\", typ: $funcType([], [ptrType$10], false)}];\n\tptrType$54.methods = [{prop: \"SetTop\", name: \"SetTop\", pkg: \"\", typ: $funcType([$Int], [], false)}, {prop: \"Top\", name: \"Top\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Push\", name: \"Push\", pkg: \"\", typ: $funcType([LValue], [], false)}, {prop: \"Pop\", name: \"Pop\", pkg: \"\", typ: $funcType([], [LValue], false)}, {prop: \"Get\", name: \"Get\", pkg: \"\", typ: $funcType([$Int], [LValue], false)}, {prop: \"CopyRange\", name: \"CopyRange\", pkg: \"\", typ: $funcType([$Int, $Int, $Int, $Int], [], false)}, {prop: \"FillNil\", name: \"FillNil\", pkg: \"\", typ: $funcType([$Int, $Int], [], false)}, {prop: \"Insert\", name: \"Insert\", pkg: \"\", typ: $funcType([LValue, $Int], [], false)}, {prop: \"Set\", name: \"Set\", pkg: \"\", typ: $funcType([$Int, LValue], [], false)}, {prop: \"SetNumber\", name: \"SetNumber\", pkg: \"\", typ: $funcType([$Int, LNumber], [], false)}];\n\tlValueArraySorter.methods = [{prop: \"Len\", name: \"Len\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Swap\", name: \"Swap\", pkg: \"\", typ: $funcType([$Int, $Int], [], false)}, {prop: \"Less\", name: \"Less\", pkg: \"\", typ: $funcType([$Int, $Int], [$Bool], false)}];\n\tptrType$74.methods = [{prop: \"AppendString\", name: \"AppendString\", pkg: \"\", typ: $funcType([$String], [], false)}, {prop: \"AppendChar\", name: \"AppendChar\", pkg: \"\", typ: $funcType([$Uint8], [], false)}, {prop: \"String\", name: \"String\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"Next\", name: \"Next\", pkg: \"\", typ: $funcType([], [$Uint8, $Bool], false)}];\n\tLValueType.methods = [{prop: \"String\", name: \"String\", pkg: \"\", typ: $funcType([], [$String], false)}];\n\tptrType$68.methods = [{prop: \"String\", name: \"String\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"Type\", name: \"Type\", pkg: \"\", typ: $funcType([], [LValueType], false)}, {prop: \"assertFloat64\", name: \"assertFloat64\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([], [$Float64, $Bool], false)}, {prop: \"assertString\", name: \"assertString\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([], [$String, $Bool], false)}, {prop: \"assertFunction\", name: \"assertFunction\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([], [ptrType$7, $Bool], false)}];\n\tLBool.methods = [{prop: \"String\", name: \"String\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"Type\", name: \"Type\", pkg: \"\", typ: $funcType([], [LValueType], false)}, {prop: \"assertFloat64\", name: \"assertFloat64\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([], [$Float64, $Bool], false)}, {prop: \"assertString\", name: \"assertString\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([], [$String, $Bool], false)}, {prop: \"assertFunction\", name: \"assertFunction\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([], [ptrType$7, $Bool], false)}];\n\tLString.methods = [{prop: \"String\", name: \"String\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"Type\", name: \"Type\", pkg: \"\", typ: $funcType([], [LValueType], false)}, {prop: \"assertFloat64\", name: \"assertFloat64\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([], [$Float64, $Bool], false)}, {prop: \"assertString\", name: \"assertString\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([], [$String, $Bool], false)}, {prop: \"assertFunction\", name: \"assertFunction\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([], [ptrType$7, $Bool], false)}, {prop: \"Format\", name: \"Format\", pkg: \"\", typ: $funcType([fmt.State, $Int32], [], false)}];\n\tptrType$1.methods = [{prop: \"Len\", name: \"Len\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Append\", name: \"Append\", pkg: \"\", typ: $funcType([LValue], [], false)}, {prop: \"Insert\", name: \"Insert\", pkg: \"\", typ: $funcType([$Int, LValue], [], false)}, {prop: \"MaxN\", name: \"MaxN\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"Remove\", name: \"Remove\", pkg: \"\", typ: $funcType([$Int], [LValue], false)}, {prop: \"RawSet\", name: \"RawSet\", pkg: \"\", typ: $funcType([LValue, LValue], [], false)}, {prop: \"RawSetInt\", name: \"RawSetInt\", pkg: \"\", typ: $funcType([$Int, LValue], [], false)}, {prop: \"RawSetString\", name: \"RawSetString\", pkg: \"\", typ: $funcType([$String, LValue], [], false)}, {prop: \"RawSetH\", name: \"RawSetH\", pkg: \"\", typ: $funcType([LValue, LValue], [], false)}, {prop: \"RawGet\", name: \"RawGet\", pkg: \"\", typ: $funcType([LValue], [LValue], false)}, {prop: \"RawGetInt\", name: \"RawGetInt\", pkg: \"\", typ: $funcType([$Int], [LValue], false)}, {prop: \"RawGetH\", name: \"RawGetH\", pkg: \"\", typ: $funcType([LValue], [LValue], false)}, {prop: \"RawGetString\", name: \"RawGetString\", pkg: \"\", typ: $funcType([$String], [LValue], false)}, {prop: \"ForEach\", name: \"ForEach\", pkg: \"\", typ: $funcType([funcType], [], false)}, {prop: \"Next\", name: \"Next\", pkg: \"\", typ: $funcType([LValue], [LValue, LValue], false)}, {prop: \"String\", name: \"String\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"Type\", name: \"Type\", pkg: \"\", typ: $funcType([], [LValueType], false)}, {prop: \"assertFloat64\", name: \"assertFloat64\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([], [$Float64, $Bool], false)}, {prop: \"assertString\", name: \"assertString\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([], [$String, $Bool], false)}, {prop: \"assertFunction\", name: \"assertFunction\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([], [ptrType$7, $Bool], false)}];\n\tptrType$7.methods = [{prop: \"LocalName\", name: \"LocalName\", pkg: \"\", typ: $funcType([$Int, $Int], [$String, $Bool], false)}, {prop: \"String\", name: \"String\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"Type\", name: \"Type\", pkg: \"\", typ: $funcType([], [LValueType], false)}, {prop: \"assertFloat64\", name: \"assertFloat64\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([], [$Float64, $Bool], false)}, {prop: \"assertString\", name: \"assertString\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([], [$String, $Bool], false)}, {prop: \"assertFunction\", name: \"assertFunction\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([], [ptrType$7, $Bool], false)}];\n\tptrType$9.methods = [{prop: \"CheckAny\", name: \"CheckAny\", pkg: \"\", typ: $funcType([$Int], [LValue], false)}, {prop: \"CheckInt\", name: \"CheckInt\", pkg: \"\", typ: $funcType([$Int], [$Int], false)}, {prop: \"CheckInt64\", name: \"CheckInt64\", pkg: \"\", typ: $funcType([$Int], [$Int64], false)}, {prop: \"CheckNumber\", name: \"CheckNumber\", pkg: \"\", typ: $funcType([$Int], [LNumber], false)}, {prop: \"CheckString\", name: \"CheckString\", pkg: \"\", typ: $funcType([$Int], [$String], false)}, {prop: \"CheckBool\", name: \"CheckBool\", pkg: \"\", typ: $funcType([$Int], [$Bool], false)}, {prop: \"CheckTable\", name: \"CheckTable\", pkg: \"\", typ: $funcType([$Int], [ptrType$1], false)}, {prop: \"CheckFunction\", name: \"CheckFunction\", pkg: \"\", typ: $funcType([$Int], [ptrType$7], false)}, {prop: \"CheckUserData\", name: \"CheckUserData\", pkg: \"\", typ: $funcType([$Int], [ptrType$8], false)}, {prop: \"CheckThread\", name: \"CheckThread\", pkg: \"\", typ: $funcType([$Int], [ptrType$9], false)}, {prop: \"CheckType\", name: \"CheckType\", pkg: \"\", typ: $funcType([$Int, LValueType], [], false)}, {prop: \"CheckTypes\", name: \"CheckTypes\", pkg: \"\", typ: $funcType([$Int, sliceType$8], [], true)}, {prop: \"CheckOption\", name: \"CheckOption\", pkg: \"\", typ: $funcType([$Int, sliceType$1], [$Int], false)}, {prop: \"OptInt\", name: \"OptInt\", pkg: \"\", typ: $funcType([$Int, $Int], [$Int], false)}, {prop: \"OptInt64\", name: \"OptInt64\", pkg: \"\", typ: $funcType([$Int, $Int64], [$Int64], false)}, {prop: \"OptNumber\", name: \"OptNumber\", pkg: \"\", typ: $funcType([$Int, LNumber], [LNumber], false)}, {prop: \"OptString\", name: \"OptString\", pkg: \"\", typ: $funcType([$Int, $String], [$String], false)}, {prop: \"OptBool\", name: \"OptBool\", pkg: \"\", typ: $funcType([$Int, $Bool], [$Bool], false)}, {prop: \"OptTable\", name: \"OptTable\", pkg: \"\", typ: $funcType([$Int, ptrType$1], [ptrType$1], false)}, {prop: \"OptFunction\", name: \"OptFunction\", pkg: \"\", typ: $funcType([$Int, ptrType$7], [ptrType$7], false)}, {prop: \"OptUserData\", name: \"OptUserData\", pkg: \"\", typ: $funcType([$Int, ptrType$8], [ptrType$8], false)}, {prop: \"ArgError\", name: \"ArgError\", pkg: \"\", typ: $funcType([$Int, $String], [], false)}, {prop: \"TypeError\", name: \"TypeError\", pkg: \"\", typ: $funcType([$Int, LValueType], [], false)}, {prop: \"Where\", name: \"Where\", pkg: \"\", typ: $funcType([$Int], [$String], false)}, {prop: \"FindTable\", name: \"FindTable\", pkg: \"\", typ: $funcType([ptrType$1, $String, $Int], [LValue], false)}, {prop: \"RegisterModule\", name: \"RegisterModule\", pkg: \"\", typ: $funcType([$String, mapType$5], [LValue], false)}, {prop: \"SetFuncs\", name: \"SetFuncs\", pkg: \"\", typ: $funcType([ptrType$1, mapType$5, sliceType$7], [ptrType$1], true)}, {prop: \"NewTypeMetatable\", name: \"NewTypeMetatable\", pkg: \"\", typ: $funcType([$String], [ptrType$1], false)}, {prop: \"GetMetaField\", name: \"GetMetaField\", pkg: \"\", typ: $funcType([LValue, $String], [LValue], false)}, {prop: \"GetTypeMetatable\", name: \"GetTypeMetatable\", pkg: \"\", typ: $funcType([$String], [LValue], false)}, {prop: \"CallMeta\", name: \"CallMeta\", pkg: \"\", typ: $funcType([LValue, $String], [LValue], false)}, {prop: \"LoadFile\", name: \"LoadFile\", pkg: \"\", typ: $funcType([$String], [ptrType$7, $error], false)}, {prop: \"LoadString\", name: \"LoadString\", pkg: \"\", typ: $funcType([$String], [ptrType$7, $error], false)}, {prop: \"DoFile\", name: \"DoFile\", pkg: \"\", typ: $funcType([$String], [$error], false)}, {prop: \"DoString\", name: \"DoString\", pkg: \"\", typ: $funcType([$String], [$error], false)}, {prop: \"ToStringMeta\", name: \"ToStringMeta\", pkg: \"\", typ: $funcType([LValue], [LValue], false)}, {prop: \"PreloadModule\", name: \"PreloadModule\", pkg: \"\", typ: $funcType([$String, LGFunction], [], false)}, {prop: \"OpenLibs\", name: \"OpenLibs\", pkg: \"\", typ: $funcType([], [], false)}, {prop: \"printReg\", name: \"printReg\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([], [], false)}, {prop: \"printCallStack\", name: \"printCallStack\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([], [], false)}, {prop: \"closeAllUpvalues\", name: \"closeAllUpvalues\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([], [], false)}, {prop: \"raiseError\", name: \"raiseError\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([$Int, $String, sliceType$6], [], true)}, {prop: \"findLocal\", name: \"findLocal\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([ptrType$10, $Int], [$String], false)}, {prop: \"where\", name: \"where\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([$Int, $Bool], [$String], false)}, {prop: \"stackTrace\", name: \"stackTrace\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([$Int], [$String], false)}, {prop: \"formattedFrameFuncName\", name: \"formattedFrameFuncName\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([ptrType$10], [$String], false)}, {prop: \"rawFrameFuncName\", name: \"rawFrameFuncName\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([ptrType$10], [$String], false)}, {prop: \"frameFuncName\", name: \"frameFuncName\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([ptrType$10], [$String, $Bool], false)}, {prop: \"isStarted\", name: \"isStarted\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([], [$Bool], false)}, {prop: \"kill\", name: \"kill\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([], [], false)}, {prop: \"indexToReg\", name: \"indexToReg\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([$Int], [$Int], false)}, {prop: \"currentLocalBase\", name: \"currentLocalBase\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([], [$Int], false)}, {prop: \"currentEnv\", name: \"currentEnv\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([], [ptrType$1], false)}, {prop: \"rkValue\", name: \"rkValue\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([$Int], [LValue], false)}, {prop: \"rkString\", name: \"rkString\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([$Int], [$String], false)}, {prop: \"closeUpvalues\", name: \"closeUpvalues\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([$Int], [], false)}, {prop: \"findUpvalue\", name: \"findUpvalue\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([$Int], [ptrType$56], false)}, {prop: \"metatable\", name: \"metatable\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([LValue, $Bool], [LValue], false)}, {prop: \"metaOp1\", name: \"metaOp1\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([LValue, $String], [LValue], false)}, {prop: \"metaOp2\", name: \"metaOp2\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([LValue, LValue, $String], [LValue], false)}, {prop: \"metaCall\", name: \"metaCall\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([LValue], [ptrType$7, $Bool], false)}, {prop: \"initCallFrame\", name: \"initCallFrame\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([ptrType$10], [], false)}, {prop: \"pushCallFrame\", name: \"pushCallFrame\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([callFrame, LValue, $Bool], [], false)}, {prop: \"callR\", name: \"callR\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([$Int, $Int, $Int], [], false)}, {prop: \"getField\", name: \"getField\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([LValue, LValue], [LValue], false)}, {prop: \"getFieldString\", name: \"getFieldString\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([LValue, $String], [LValue], false)}, {prop: \"setField\", name: \"setField\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([LValue, LValue, LValue], [], false)}, {prop: \"setFieldString\", name: \"setFieldString\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([LValue, $String, LValue], [], false)}, {prop: \"Close\", name: \"Close\", pkg: \"\", typ: $funcType([], [], false)}, {prop: \"GetTop\", name: \"GetTop\", pkg: \"\", typ: $funcType([], [$Int], false)}, {prop: \"SetTop\", name: \"SetTop\", pkg: \"\", typ: $funcType([$Int], [], false)}, {prop: \"Replace\", name: \"Replace\", pkg: \"\", typ: $funcType([$Int, LValue], [], false)}, {prop: \"Get\", name: \"Get\", pkg: \"\", typ: $funcType([$Int], [LValue], false)}, {prop: \"Push\", name: \"Push\", pkg: \"\", typ: $funcType([LValue], [], false)}, {prop: \"Pop\", name: \"Pop\", pkg: \"\", typ: $funcType([$Int], [], false)}, {prop: \"Insert\", name: \"Insert\", pkg: \"\", typ: $funcType([LValue, $Int], [], false)}, {prop: \"Remove\", name: \"Remove\", pkg: \"\", typ: $funcType([$Int], [], false)}, {prop: \"NewTable\", name: \"NewTable\", pkg: \"\", typ: $funcType([], [ptrType$1], false)}, {prop: \"CreateTable\", name: \"CreateTable\", pkg: \"\", typ: $funcType([$Int, $Int], [ptrType$1], false)}, {prop: \"NewThread\", name: \"NewThread\", pkg: \"\", typ: $funcType([], [ptrType$9, context.CancelFunc], false)}, {prop: \"NewFunctionFromProto\", name: \"NewFunctionFromProto\", pkg: \"\", typ: $funcType([ptrType$18], [ptrType$7], false)}, {prop: \"NewUserData\", name: \"NewUserData\", pkg: \"\", typ: $funcType([], [ptrType$8], false)}, {prop: \"NewFunction\", name: \"NewFunction\", pkg: \"\", typ: $funcType([LGFunction], [ptrType$7], false)}, {prop: \"NewClosure\", name: \"NewClosure\", pkg: \"\", typ: $funcType([LGFunction, sliceType$7], [ptrType$7], true)}, {prop: \"ToBool\", name: \"ToBool\", pkg: \"\", typ: $funcType([$Int], [$Bool], false)}, {prop: \"ToInt\", name: \"ToInt\", pkg: \"\", typ: $funcType([$Int], [$Int], false)}, {prop: \"ToInt64\", name: \"ToInt64\", pkg: \"\", typ: $funcType([$Int], [$Int64], false)}, {prop: \"ToNumber\", name: \"ToNumber\", pkg: \"\", typ: $funcType([$Int], [LNumber], false)}, {prop: \"ToString\", name: \"ToString\", pkg: \"\", typ: $funcType([$Int], [$String], false)}, {prop: \"ToTable\", name: \"ToTable\", pkg: \"\", typ: $funcType([$Int], [ptrType$1], false)}, {prop: \"ToFunction\", name: \"ToFunction\", pkg: \"\", typ: $funcType([$Int], [ptrType$7], false)}, {prop: \"ToUserData\", name: \"ToUserData\", pkg: \"\", typ: $funcType([$Int], [ptrType$8], false)}, {prop: \"ToThread\", name: \"ToThread\", pkg: \"\", typ: $funcType([$Int], [ptrType$9], false)}, {prop: \"RaiseError\", name: \"RaiseError\", pkg: \"\", typ: $funcType([$String, sliceType$6], [], true)}, {prop: \"Error\", name: \"Error\", pkg: \"\", typ: $funcType([LValue, $Int], [], false)}, {prop: \"GetInfo\", name: \"GetInfo\", pkg: \"\", typ: $funcType([$String, ptrType$53, LValue], [LValue, $error], false)}, {prop: \"GetStack\", name: \"GetStack\", pkg: \"\", typ: $funcType([$Int], [ptrType$53, $Bool], false)}, {prop: \"GetLocal\", name: \"GetLocal\", pkg: \"\", typ: $funcType([ptrType$53, $Int], [$String, LValue], false)}, {prop: \"SetLocal\", name: \"SetLocal\", pkg: \"\", typ: $funcType([ptrType$53, $Int, LValue], [$String], false)}, {prop: \"GetUpvalue\", name: \"GetUpvalue\", pkg: \"\", typ: $funcType([ptrType$7, $Int], [$String, LValue], false)}, {prop: \"SetUpvalue\", name: \"SetUpvalue\", pkg: \"\", typ: $funcType([ptrType$7, $Int, LValue], [$String], false)}, {prop: \"GetFEnv\", name: \"GetFEnv\", pkg: \"\", typ: $funcType([LValue], [LValue], false)}, {prop: \"SetFEnv\", name: \"SetFEnv\", pkg: \"\", typ: $funcType([LValue, LValue], [], false)}, {prop: \"RawGet\", name: \"RawGet\", pkg: \"\", typ: $funcType([ptrType$1, LValue], [LValue], false)}, {prop: \"RawGetInt\", name: \"RawGetInt\", pkg: \"\", typ: $funcType([ptrType$1, $Int], [LValue], false)}, {prop: \"GetField\", name: \"GetField\", pkg: \"\", typ: $funcType([LValue, $String], [LValue], false)}, {prop: \"GetTable\", name: \"GetTable\", pkg: \"\", typ: $funcType([LValue, LValue], [LValue], false)}, {prop: \"RawSet\", name: \"RawSet\", pkg: \"\", typ: $funcType([ptrType$1, LValue, LValue], [], false)}, {prop: \"RawSetInt\", name: \"RawSetInt\", pkg: \"\", typ: $funcType([ptrType$1, $Int, LValue], [], false)}, {prop: \"SetField\", name: \"SetField\", pkg: \"\", typ: $funcType([LValue, $String, LValue], [], false)}, {prop: \"SetTable\", name: \"SetTable\", pkg: \"\", typ: $funcType([LValue, LValue, LValue], [], false)}, {prop: \"ForEach\", name: \"ForEach\", pkg: \"\", typ: $funcType([ptrType$1, funcType], [], false)}, {prop: \"GetGlobal\", name: \"GetGlobal\", pkg: \"\", typ: $funcType([$String], [LValue], false)}, {prop: \"SetGlobal\", name: \"SetGlobal\", pkg: \"\", typ: $funcType([$String, LValue], [], false)}, {prop: \"Next\", name: \"Next\", pkg: \"\", typ: $funcType([ptrType$1, LValue], [LValue, LValue], false)}, {prop: \"ObjLen\", name: \"ObjLen\", pkg: \"\", typ: $funcType([LValue], [$Int], false)}, {prop: \"Concat\", name: \"Concat\", pkg: \"\", typ: $funcType([sliceType$7], [$String], true)}, {prop: \"LessThan\", name: \"LessThan\", pkg: \"\", typ: $funcType([LValue, LValue], [$Bool], false)}, {prop: \"Equal\", name: \"Equal\", pkg: \"\", typ: $funcType([LValue, LValue], [$Bool], false)}, {prop: \"RawEqual\", name: \"RawEqual\", pkg: \"\", typ: $funcType([LValue, LValue], [$Bool], false)}, {prop: \"Register\", name: \"Register\", pkg: \"\", typ: $funcType([$String, LGFunction], [], false)}, {prop: \"Load\", name: \"Load\", pkg: \"\", typ: $funcType([io.Reader, $String], [ptrType$7, $error], false)}, {prop: \"Call\", name: \"Call\", pkg: \"\", typ: $funcType([$Int, $Int], [], false)}, {prop: \"PCall\", name: \"PCall\", pkg: \"\", typ: $funcType([$Int, $Int, ptrType$7], [$error], false)}, {prop: \"GPCall\", name: \"GPCall\", pkg: \"\", typ: $funcType([LGFunction, LValue], [$error], false)}, {prop: \"CallByParam\", name: \"CallByParam\", pkg: \"\", typ: $funcType([P, sliceType$7], [$error], true)}, {prop: \"GetMetatable\", name: \"GetMetatable\", pkg: \"\", typ: $funcType([LValue], [LValue], false)}, {prop: \"SetMetatable\", name: \"SetMetatable\", pkg: \"\", typ: $funcType([LValue, LValue], [], false)}, {prop: \"Status\", name: \"Status\", pkg: \"\", typ: $funcType([ptrType$9], [$String], false)}, {prop: \"Resume\", name: \"Resume\", pkg: \"\", typ: $funcType([ptrType$9, ptrType$7, sliceType$7], [ResumeState, $error, sliceType$7], true)}, {prop: \"Yield\", name: \"Yield\", pkg: \"\", typ: $funcType([sliceType$7], [$Int], true)}, {prop: \"XMoveTo\", name: \"XMoveTo\", pkg: \"\", typ: $funcType([ptrType$9, $Int], [], false)}, {prop: \"SetMx\", name: \"SetMx\", pkg: \"\", typ: $funcType([$Int], [], false)}, {prop: \"SetContext\", name: \"SetContext\", pkg: \"\", typ: $funcType([context.Context], [], false)}, {prop: \"Context\", name: \"Context\", pkg: \"\", typ: $funcType([], [context.Context], false)}, {prop: \"RemoveContext\", name: \"RemoveContext\", pkg: \"\", typ: $funcType([], [context.Context], false)}, {prop: \"String\", name: \"String\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"Type\", name: \"Type\", pkg: \"\", typ: $funcType([], [LValueType], false)}, {prop: \"assertFloat64\", name: \"assertFloat64\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([], [$Float64, $Bool], false)}, {prop: \"assertString\", name: \"assertString\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([], [$String, $Bool], false)}, {prop: \"assertFunction\", name: \"assertFunction\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([], [ptrType$7, $Bool], false)}];\n\tptrType$8.methods = [{prop: \"String\", name: \"String\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"Type\", name: \"Type\", pkg: \"\", typ: $funcType([], [LValueType], false)}, {prop: \"assertFloat64\", name: \"assertFloat64\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([], [$Float64, $Bool], false)}, {prop: \"assertString\", name: \"assertString\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([], [$String, $Bool], false)}, {prop: \"assertFunction\", name: \"assertFunction\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([], [ptrType$7, $Bool], false)}];\n\tiface.init(\"github.com/J-J-J/goluajit\", [{prop: \"itab\", name: \"itab\", embedded: false, exported: false, typ: $UnsafePointer, tag: \"\"}, {prop: \"word\", name: \"word\", embedded: false, exported: false, typ: $UnsafePointer, tag: \"\"}]);\n\tallocator.init(\"github.com/J-J-J/goluajit\", [{prop: \"size\", name: \"size\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"fptrs\", name: \"fptrs\", embedded: false, exported: false, typ: sliceType$5, tag: \"\"}, {prop: \"fheader\", name: \"fheader\", embedded: false, exported: false, typ: ptrType$3, tag: \"\"}, {prop: \"scratchValue\", name: \"scratchValue\", embedded: false, exported: false, typ: LValue, tag: \"\"}, {prop: \"scratchValueP\", name: \"scratchValueP\", embedded: false, exported: false, typ: ptrType$4, tag: \"\"}]);\n\texpcontext.init(\"github.com/J-J-J/goluajit\", [{prop: \"ctype\", name: \"ctype\", embedded: false, exported: false, typ: expContextType, tag: \"\"}, {prop: \"reg\", name: \"reg\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"varargopt\", name: \"varargopt\", embedded: false, exported: false, typ: $Int, tag: \"\"}]);\n\tassigncontext.init(\"github.com/J-J-J/goluajit\", [{prop: \"ec\", name: \"ec\", embedded: false, exported: false, typ: ptrType$72, tag: \"\"}, {prop: \"keyrk\", name: \"keyrk\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"valuerk\", name: \"valuerk\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"keyks\", name: \"keyks\", embedded: false, exported: false, typ: $Bool, tag: \"\"}, {prop: \"needmove\", name: \"needmove\", embedded: false, exported: false, typ: $Bool, tag: \"\"}]);\n\tlblabels.init(\"github.com/J-J-J/goluajit\", [{prop: \"t\", name: \"t\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"f\", name: \"f\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"e\", name: \"e\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"b\", name: \"b\", embedded: false, exported: false, typ: $Bool, tag: \"\"}]);\n\tconstLValueExpr.init(\"\", [{prop: \"ExprBase\", name: \"ExprBase\", embedded: true, exported: true, typ: ast.ExprBase, tag: \"\"}, {prop: \"Value\", name: \"Value\", embedded: false, exported: true, typ: LValue, tag: \"\"}]);\n\tCompileError.init(\"github.com/J-J-J/goluajit\", [{prop: \"context\", name: \"context\", embedded: false, exported: false, typ: ptrType$12, tag: \"\"}, {prop: \"Line\", name: \"Line\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"Message\", name: \"Message\", embedded: false, exported: true, typ: $String, tag: \"\"}]);\n\tcodeStore.init(\"github.com/J-J-J/goluajit\", [{prop: \"codes\", name: \"codes\", embedded: false, exported: false, typ: sliceType$11, tag: \"\"}, {prop: \"lines\", name: \"lines\", embedded: false, exported: false, typ: sliceType$12, tag: \"\"}, {prop: \"pc\", name: \"pc\", embedded: false, exported: false, typ: $Int, tag: \"\"}]);\n\tvarNamePoolValue.init(\"\", [{prop: \"Index\", name: \"Index\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"Name\", name: \"Name\", embedded: false, exported: true, typ: $String, tag: \"\"}]);\n\tvarNamePool.init(\"github.com/J-J-J/goluajit\", [{prop: \"names\", name: \"names\", embedded: false, exported: false, typ: sliceType$1, tag: \"\"}, {prop: \"offset\", name: \"offset\", embedded: false, exported: false, typ: $Int, tag: \"\"}]);\n\tcodeBlock.init(\"\", [{prop: \"LocalVars\", name: \"LocalVars\", embedded: false, exported: true, typ: ptrType$20, tag: \"\"}, {prop: \"BreakLabel\", name: \"BreakLabel\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"Parent\", name: \"Parent\", embedded: false, exported: true, typ: ptrType$21, tag: \"\"}, {prop: \"RefUpvalue\", name: \"RefUpvalue\", embedded: false, exported: true, typ: $Bool, tag: \"\"}, {prop: \"LineStart\", name: \"LineStart\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"LastLine\", name: \"LastLine\", embedded: false, exported: true, typ: $Int, tag: \"\"}]);\n\tfuncContext.init(\"github.com/J-J-J/goluajit\", [{prop: \"Proto\", name: \"Proto\", embedded: false, exported: true, typ: ptrType$18, tag: \"\"}, {prop: \"Code\", name: \"Code\", embedded: false, exported: true, typ: ptrType$19, tag: \"\"}, {prop: \"Parent\", name: \"Parent\", embedded: false, exported: true, typ: ptrType$12, tag: \"\"}, {prop: \"Upvalues\", name: \"Upvalues\", embedded: false, exported: true, typ: ptrType$20, tag: \"\"}, {prop: \"Block\", name: \"Block\", embedded: false, exported: true, typ: ptrType$21, tag: \"\"}, {prop: \"Blocks\", name: \"Blocks\", embedded: false, exported: true, typ: sliceType$10, tag: \"\"}, {prop: \"regTop\", name: \"regTop\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"labelId\", name: \"labelId\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"labelPc\", name: \"labelPc\", embedded: false, exported: false, typ: mapType, tag: \"\"}]);\n\tDbgLocalInfo.init(\"\", [{prop: \"Name\", name: \"Name\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"StartPc\", name: \"StartPc\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"EndPc\", name: \"EndPc\", embedded: false, exported: true, typ: $Int, tag: \"\"}]);\n\tDbgCall.init(\"\", [{prop: \"Name\", name: \"Name\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"Pc\", name: \"Pc\", embedded: false, exported: true, typ: $Int, tag: \"\"}]);\n\tFunctionProto.init(\"github.com/J-J-J/goluajit\", [{prop: \"SourceName\", name: \"SourceName\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"LineDefined\", name: \"LineDefined\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"LastLineDefined\", name: \"LastLineDefined\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"NumUpvalues\", name: \"NumUpvalues\", embedded: false, exported: true, typ: $Uint8, tag: \"\"}, {prop: \"NumParameters\", name: \"NumParameters\", embedded: false, exported: true, typ: $Uint8, tag: \"\"}, {prop: \"IsVarArg\", name: \"IsVarArg\", embedded: false, exported: true, typ: $Uint8, tag: \"\"}, {prop: \"NumUsedRegisters\", name: \"NumUsedRegisters\", embedded: false, exported: true, typ: $Uint8, tag: \"\"}, {prop: \"Code\", name: \"Code\", embedded: false, exported: true, typ: sliceType$11, tag: \"\"}, {prop: \"Constants\", name: \"Constants\", embedded: false, exported: true, typ: sliceType$7, tag: \"\"}, {prop: \"FunctionPrototypes\", name: \"FunctionPrototypes\", embedded: false, exported: true, typ: sliceType$16, tag: \"\"}, {prop: \"DbgSourcePositions\", name: \"DbgSourcePositions\", embedded: false, exported: true, typ: sliceType$12, tag: \"\"}, {prop: \"DbgLocals\", name: \"DbgLocals\", embedded: false, exported: true, typ: sliceType$17, tag: \"\"}, {prop: \"DbgCalls\", name: \"DbgCalls\", embedded: false, exported: true, typ: sliceType$18, tag: \"\"}, {prop: \"DbgUpvalues\", name: \"DbgUpvalues\", embedded: false, exported: true, typ: sliceType$1, tag: \"\"}, {prop: \"stringConstants\", name: \"stringConstants\", embedded: false, exported: false, typ: sliceType$1, tag: \"\"}]);\n\tUpvalue.init(\"github.com/J-J-J/goluajit\", [{prop: \"next\", name: \"next\", embedded: false, exported: false, typ: ptrType$56, tag: \"\"}, {prop: \"reg\", name: \"reg\", embedded: false, exported: false, typ: ptrType$54, tag: \"\"}, {prop: \"index\", name: \"index\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"value\", name: \"value\", embedded: false, exported: false, typ: LValue, tag: \"\"}, {prop: \"closed\", name: \"closed\", embedded: false, exported: false, typ: $Bool, tag: \"\"}]);\n\tlFile.init(\"github.com/J-J-J/goluajit\", [{prop: \"fp\", name: \"fp\", embedded: false, exported: false, typ: ptrType$2, tag: \"\"}, {prop: \"pp\", name: \"pp\", embedded: false, exported: false, typ: ptrType$58, tag: \"\"}, {prop: \"writer\", name: \"writer\", embedded: false, exported: false, typ: io.Writer, tag: \"\"}, {prop: \"reader\", name: \"reader\", embedded: false, exported: false, typ: ptrType$59, tag: \"\"}, {prop: \"stdout\", name: \"stdout\", embedded: false, exported: false, typ: io.ReadCloser, tag: \"\"}, {prop: \"closed\", name: \"closed\", embedded: false, exported: false, typ: $Bool, tag: \"\"}]);\n\tluaLib.init(\"github.com/J-J-J/goluajit\", [{prop: \"libName\", name: \"libName\", embedded: false, exported: false, typ: $String, tag: \"\"}, {prop: \"libFunc\", name: \"libFunc\", embedded: false, exported: false, typ: LGFunction, tag: \"\"}]);\n\topProp.init(\"\", [{prop: \"Name\", name: \"Name\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"IsTest\", name: \"IsTest\", embedded: false, exported: true, typ: $Bool, tag: \"\"}, {prop: \"SetRegA\", name: \"SetRegA\", embedded: false, exported: true, typ: $Bool, tag: \"\"}, {prop: \"ModeArgB\", name: \"ModeArgB\", embedded: false, exported: true, typ: opArgMode, tag: \"\"}, {prop: \"ModeArgC\", name: \"ModeArgC\", embedded: false, exported: true, typ: opArgMode, tag: \"\"}, {prop: \"Type\", name: \"Type\", embedded: false, exported: true, typ: opType, tag: \"\"}]);\n\tAPIError.init(\"\", [{prop: \"Type\", name: \"Type\", embedded: false, exported: true, typ: APIErrorType, tag: \"\"}, {prop: \"Object\", name: \"Object\", embedded: false, exported: true, typ: LValue, tag: \"\"}, {prop: \"StackTrace\", name: \"StackTrace\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"Cause\", name: \"Cause\", embedded: false, exported: true, typ: $error, tag: \"\"}]);\n\tP.init(\"\", [{prop: \"Fn\", name: \"Fn\", embedded: false, exported: true, typ: LValue, tag: \"\"}, {prop: \"NRet\", name: \"NRet\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"Protect\", name: \"Protect\", embedded: false, exported: true, typ: $Bool, tag: \"\"}, {prop: \"Handler\", name: \"Handler\", embedded: false, exported: true, typ: ptrType$7, tag: \"\"}]);\n\tOptions.init(\"\", [{prop: \"CallStackSize\", name: \"CallStackSize\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"RegistrySize\", name: \"RegistrySize\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"SkipOpenLibs\", name: \"SkipOpenLibs\", embedded: false, exported: true, typ: $Bool, tag: \"\"}, {prop: \"IncludeGoStackTrace\", name: \"IncludeGoStackTrace\", embedded: false, exported: true, typ: $Bool, tag: \"\"}]);\n\tDebug.init(\"github.com/J-J-J/goluajit\", [{prop: \"frame\", name: \"frame\", embedded: false, exported: false, typ: ptrType$10, tag: \"\"}, {prop: \"Name\", name: \"Name\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"What\", name: \"What\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"Source\", name: \"Source\", embedded: false, exported: true, typ: $String, tag: \"\"}, {prop: \"CurrentLine\", name: \"CurrentLine\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"NUpvalues\", name: \"NUpvalues\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"LineDefined\", name: \"LineDefined\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"LastLineDefined\", name: \"LastLineDefined\", embedded: false, exported: true, typ: $Int, tag: \"\"}]);\n\tcallFrame.init(\"\", [{prop: \"Idx\", name: \"Idx\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"Fn\", name: \"Fn\", embedded: false, exported: true, typ: ptrType$7, tag: \"\"}, {prop: \"Parent\", name: \"Parent\", embedded: false, exported: true, typ: ptrType$10, tag: \"\"}, {prop: \"Pc\", name: \"Pc\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"Base\", name: \"Base\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"LocalBase\", name: \"LocalBase\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"ReturnBase\", name: \"ReturnBase\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"NArgs\", name: \"NArgs\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"NRet\", name: \"NRet\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"TailCall\", name: \"TailCall\", embedded: false, exported: true, typ: $Int, tag: \"\"}]);\n\tcallFrameStack.init(\"github.com/J-J-J/goluajit\", [{prop: \"array\", name: \"array\", embedded: false, exported: false, typ: sliceType$22, tag: \"\"}, {prop: \"sp\", name: \"sp\", embedded: false, exported: false, typ: $Int, tag: \"\"}]);\n\tregistry.init(\"github.com/J-J-J/goluajit\", [{prop: \"array\", name: \"array\", embedded: false, exported: false, typ: sliceType$7, tag: \"\"}, {prop: \"top\", name: \"top\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"alloc\", name: \"alloc\", embedded: false, exported: false, typ: ptrType$66, tag: \"\"}]);\n\treplaceInfo.init(\"\", [{prop: \"Indicies\", name: \"Indicies\", embedded: false, exported: true, typ: sliceType$12, tag: \"\"}, {prop: \"String\", name: \"String\", embedded: false, exported: true, typ: $String, tag: \"\"}]);\n\tstrMatchData.init(\"github.com/J-J-J/goluajit\", [{prop: \"str\", name: \"str\", embedded: false, exported: false, typ: $String, tag: \"\"}, {prop: \"pos\", name: \"pos\", embedded: false, exported: false, typ: $Int, tag: \"\"}, {prop: \"matches\", name: \"matches\", embedded: false, exported: false, typ: sliceType$24, tag: \"\"}]);\n\tlValueArraySorter.init(\"\", [{prop: \"L\", name: \"L\", embedded: false, exported: true, typ: ptrType$9, tag: \"\"}, {prop: \"Fn\", name: \"Fn\", embedded: false, exported: true, typ: ptrType$7, tag: \"\"}, {prop: \"Values\", name: \"Values\", embedded: false, exported: true, typ: sliceType$7, tag: \"\"}]);\n\tflagScanner.init(\"github.com/J-J-J/goluajit\", [{prop: \"flag\", name: \"flag\", embedded: false, exported: false, typ: $Uint8, tag: \"\"}, {prop: \"start\", name: \"start\", embedded: false, exported: false, typ: $String, tag: \"\"}, {prop: \"end\", name: \"end\", embedded: false, exported: false, typ: $String, tag: \"\"}, {prop: \"buf\", name: \"buf\", embedded: false, exported: false, typ: sliceType$20, tag: \"\"}, {prop: \"str\", name: \"str\", embedded: false, exported: false, typ: $String, tag: \"\"}, {prop: \"Length\", name: \"Length\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"Pos\", name: \"Pos\", embedded: false, exported: true, typ: $Int, tag: \"\"}, {prop: \"HasFlag\", name: \"HasFlag\", embedded: false, exported: true, typ: $Bool, tag: \"\"}, {prop: \"ChangeFlag\", name: \"ChangeFlag\", embedded: false, exported: true, typ: $Bool, tag: \"\"}]);\n\tLValue.init([{prop: \"String\", name: \"String\", pkg: \"\", typ: $funcType([], [$String], false)}, {prop: \"Type\", name: \"Type\", pkg: \"\", typ: $funcType([], [LValueType], false)}, {prop: \"assertFloat64\", name: \"assertFloat64\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([], [$Float64, $Bool], false)}, {prop: \"assertFunction\", name: \"assertFunction\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([], [ptrType$7, $Bool], false)}, {prop: \"assertString\", name: \"assertString\", pkg: \"github.com/J-J-J/goluajit\", typ: $funcType([], [$String, $Bool], false)}]);\n\tLNilType.init(\"\", []);\n\tLTable.init(\"github.com/J-J-J/goluajit\", [{prop: \"Metatable\", name: \"Metatable\", embedded: false, exported: true, typ: LValue, tag: \"\"}, {prop: \"array\", name: \"array\", embedded: false, exported: false, typ: sliceType$7, tag: \"\"}, {prop: \"dict\", name: \"dict\", embedded: false, exported: false, typ: mapType$1, tag: \"\"}, {prop: \"strdict\", name: \"strdict\", embedded: false, exported: false, typ: mapType$2, tag: \"\"}, {prop: \"keys\", name: \"keys\", embedded: false, exported: false, typ: sliceType$7, tag: \"\"}, {prop: \"k2i\", name: \"k2i\", embedded: false, exported: false, typ: mapType$3, tag: \"\"}]);\n\tLFunction.init(\"\", [{prop: \"IsG\", name: \"IsG\", embedded: false, exported: true, typ: $Bool, tag: \"\"}, {prop: \"Env\", name: \"Env\", embedded: false, exported: true, typ: ptrType$1, tag: \"\"}, {prop: \"Proto\", name: \"Proto\", embedded: false, exported: true, typ: ptrType$18, tag: \"\"}, {prop: \"GFunction\", name: \"GFunction\", embedded: false, exported: true, typ: LGFunction, tag: \"\"}, {prop: \"Upvalues\", name: \"Upvalues\", embedded: false, exported: true, typ: sliceType$19, tag: \"\"}]);\n\tLGFunction.init([ptrType$9], [$Int], false);\n\tGlobal.init(\"github.com/J-J-J/goluajit\", [{prop: \"MainThread\", name: \"MainThread\", embedded: false, exported: true, typ: ptrType$9, tag: \"\"}, {prop: \"CurrentThread\", name: \"CurrentThread\", embedded: false, exported: true, typ: ptrType$9, tag: \"\"}, {prop: \"Registry\", name: \"Registry\", embedded: false, exported: true, typ: ptrType$1, tag: \"\"}, {prop: \"Global\", name: \"Global\", embedded: false, exported: true, typ: ptrType$1, tag: \"\"}, {prop: \"builtinMts\", name: \"builtinMts\", embedded: false, exported: false, typ: mapType$4, tag: \"\"}, {prop: \"tempFiles\", name: \"tempFiles\", embedded: false, exported: false, typ: sliceType$21, tag: \"\"}, {prop: \"gccount\", name: \"gccount\", embedded: false, exported: false, typ: $Int32, tag: \"\"}]);\n\tLState.init(\"github.com/J-J-J/goluajit\", [{prop: \"G\", name: \"G\", embedded: false, exported: true, typ: ptrType$64, tag: \"\"}, {prop: \"Parent\", name: \"Parent\", embedded: false, exported: true, typ: ptrType$9, tag: \"\"}, {prop: \"Env\", name: \"Env\", embedded: false, exported: true, typ: ptrType$1, tag: \"\"}, {prop: \"Panic\", name: \"Panic\", embedded: false, exported: true, typ: funcType$1, tag: \"\"}, {prop: \"Dead\", name: \"Dead\", embedded: false, exported: true, typ: $Bool, tag: \"\"}, {prop: \"Options\", name: \"Options\", embedded: false, exported: true, typ: Options, tag: \"\"}, {prop: \"stop\", name: \"stop\", embedded: false, exported: false, typ: $Int32, tag: \"\"}, {prop: \"reg\", name: \"reg\", embedded: false, exported: false, typ: ptrType$54, tag: \"\"}, {prop: \"stack\", name: \"stack\", embedded: false, exported: false, typ: ptrType$65, tag: \"\"}, {prop: \"alloc\", name: \"alloc\", embedded: false, exported: false, typ: ptrType$66, tag: \"\"}, {prop: \"currentFrame\", name: \"currentFrame\", embedded: false, exported: false, typ: ptrType$10, tag: \"\"}, {prop: \"wrapped\", name: \"wrapped\", embedded: false, exported: false, typ: $Bool, tag: \"\"}, {prop: \"uvcache\", name: \"uvcache\", embedded: false, exported: false, typ: ptrType$56, tag: \"\"}, {prop: \"hasErrorFunc\", name: \"hasErrorFunc\", embedded: false, exported: false, typ: $Bool, tag: \"\"}, {prop: \"mainLoop\", name: \"mainLoop\", embedded: false, exported: false, typ: funcType$2, tag: \"\"}, {prop: \"ctx\", name: \"ctx\", embedded: false, exported: false, typ: context.Context, tag: \"\"}]);\n\tLUserData.init(\"\", [{prop: \"Value\", name: \"Value\", embedded: false, exported: true, typ: $emptyInterface, tag: \"\"}, {prop: \"Env\", name: \"Env\", embedded: false, exported: true, typ: ptrType$1, tag: \"\"}, {prop: \"Metatable\", name: \"Metatable\", embedded: false, exported: true, typ: LValue, tag: \"\"}]);\n\tinstFunc.init([ptrType$9, $Uint32, ptrType$10], [$Int], false);\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = bufio.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = context.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = errors.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = fmt.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = ast.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = parse.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = pm.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = io.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = ioutil.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = math.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = rand.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = os.$init(); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = exec.$init(); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = filepath.$init(); /* */ $s = 14; case 14: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = reflect.$init(); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = runtime.$init(); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = sort.$init(); /* */ $s = 17; case 17: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = strconv.$init(); /* */ $s = 18; case 18: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = strings.$init(); /* */ $s = 19; case 19: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = atomic.$init(); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = syscall.$init(); /* */ $s = 21; case 21: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = time.$init(); /* */ $s = 22; case 22: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tpreloads = arrayType.zero();\n\t\t$pkg.LuaLDir = \"\";\n\t\t$pkg.LuaPathDefault = \"\";\n\t\t$pkg.LuaOS = \"\";\n\t\tstartedAt = new time.Time.ptr(new $Uint64(0, 0), new $Int64(0, 0), ptrType.nil);\n\t\tjumpTable = arrayType$1.zero();\n\t\tloopdetection = new LUserData.ptr($ifaceNil, ptrType$1.nil, $ifaceNil);\n\t\t$pkg.CompatVarArg = true;\n\t\t$pkg.FieldsPerFlush = 50;\n\t\t$pkg.RegistrySize = 5120;\n\t\t$pkg.CallStackSize = 256;\n\t\t$pkg.MaxTableGetLoop = 100;\n\t\t$pkg.MaxArrayIndex = 67108864;\n\t\t$pkg.LuaPath = \"LUA_PATH\";\n\t\tstdFiles = new sliceType([new structType.ptr(\"stdout\", os.Stdout, true, false), new structType.ptr(\"stdin\", os.Stdin, false, true), new structType.ptr(\"stderr\", os.Stderr, true, false)]);\n\t\tfileSeekOptions = new sliceType$1([\"set\", \"cur\", \"end\"]);\n\t\tfilebufOptions = new sliceType$1([\"no\", \"full\"]);\n\t\tioOpenOpions = new sliceType$1([\"r\", \"rb\", \"w\", \"wb\", \"a\", \"ab\", \"r+\", \"rb+\", \"w+\", \"wb+\", \"a+\", \"ab+\"]);\n\t\tioPopenOptions = new sliceType$1([\"r\", \"w\"]);\n\t\t_ecnone0 = new expcontext.ptr(6, 256, 0);\n\t\t_ecnonem1 = new expcontext.ptr(6, 256, -1);\n\t\t_ecnonem2 = new expcontext.ptr(6, 256, -2);\n\t\tecfuncdef = new expcontext.ptr(5, 256, 0);\n\t\topProps = new sliceType$2([new opProp.ptr(\"MOVE\", false, true, 2, 0, 0), new opProp.ptr(\"MOVEN\", false, true, 2, 0, 0), new opProp.ptr(\"LOADK\", false, true, 3, 0, 1), new opProp.ptr(\"LOADBOOL\", false, true, 1, 1, 0), new opProp.ptr(\"LOADNIL\", false, true, 2, 0, 0), new opProp.ptr(\"GETUPVAL\", false, true, 1, 0, 0), new opProp.ptr(\"GETGLOBAL\", false, true, 3, 0, 1), new opProp.ptr(\"GETTABLE\", false, true, 2, 3, 0), new opProp.ptr(\"GETTABLEKS\", false, true, 2, 3, 0), new opProp.ptr(\"SETGLOBAL\", false, false, 3, 0, 1), new opProp.ptr(\"SETUPVAL\", false, false, 1, 0, 0), new opProp.ptr(\"SETTABLE\", false, false, 3, 3, 0), new opProp.ptr(\"SETTABLEKS\", false, false, 3, 3, 0), new opProp.ptr(\"NEWTABLE\", false, true, 1, 1, 0), new opProp.ptr(\"SELF\", false, true, 2, 3, 0), new opProp.ptr(\"ADD\", false, true, 3, 3, 0), new opProp.ptr(\"SUB\", false, true, 3, 3, 0), new opProp.ptr(\"MUL\", false, true, 3, 3, 0), new opProp.ptr(\"DIV\", false, true, 3, 3, 0), new opProp.ptr(\"MOD\", false, true, 3, 3, 0), new opProp.ptr(\"POW\", false, true, 3, 3, 0), new opProp.ptr(\"UNM\", false, true, 2, 0, 0), new opProp.ptr(\"NOT\", false, true, 2, 0, 0), new opProp.ptr(\"LEN\", false, true, 2, 0, 0), new opProp.ptr(\"CONCAT\", false, true, 2, 2, 0), new opProp.ptr(\"JMP\", false, false, 2, 0, 2), new opProp.ptr(\"EQ\", true, false, 3, 3, 0), new opProp.ptr(\"LT\", true, false, 3, 3, 0), new opProp.ptr(\"LE\", true, false, 3, 3, 0), new opProp.ptr(\"TEST\", true, true, 2, 1, 0), new opProp.ptr(\"TESTSET\", true, true, 2, 1, 0), new opProp.ptr(\"CALL\", false, true, 1, 1, 0), new opProp.ptr(\"TAILCALL\", false, true, 1, 1, 0), new opProp.ptr(\"RETURN\", false, false, 1, 0, 0), new opProp.ptr(\"FORLOOP\", false, true, 2, 0, 2), new opProp.ptr(\"FORPREP\", false, true, 2, 0, 2), new opProp.ptr(\"TFORLOOP\", true, false, 0, 1, 0), new opProp.ptr(\"SETLIST\", false, false, 1, 1, 0), new opProp.ptr(\"CLOSE\", false, false, 0, 0, 0), new opProp.ptr(\"CLOSURE\", false, true, 1, 0, 1), new opProp.ptr(\"VARARG\", false, true, 1, 0, 0), new opProp.ptr(\"NOP\", false, false, 2, 0, 2)]);\n\t\tcDateFlagToGo = $makeMap($Uint8.keyFor, [{ k: 97, v: \"mon\" }, { k: 65, v: \"Monday\" }, { k: 98, v: \"Jan\" }, { k: 66, v: \"January\" }, { k: 99, v: \"02 Jan 06 15:04 MST\" }, { k: 100, v: \"02\" }, { k: 70, v: \"2006-01-02\" }, { k: 72, v: \"15\" }, { k: 73, v: \"03\" }, { k: 109, v: \"01\" }, { k: 77, v: \"04\" }, { k: 112, v: \"PM\" }, { k: 80, v: \"pm\" }, { k: 83, v: \"05\" }, { k: 120, v: \"15/04/05\" }, { k: 88, v: \"15:04:05\" }, { k: 121, v: \"06\" }, { k: 89, v: \"2006\" }, { k: 122, v: \"-0700\" }, { k: 90, v: \"MST\" }]);\n\t\tlValueNames = $toNativeArray($kindString, [\"nil\", \"boolean\", \"number\", \"string\", \"function\", \"userdata\", \"thread\", \"table\", \"channel\"]);\n\t\t$pkg.LNil = (new LNilType.ptr());\n\t\tdebugFuncs = $makeMap($String.keyFor, [{ k: \"getfenv\", v: debugGetFEnv }, { k: \"getinfo\", v: debugGetInfo }, { k: \"getlocal\", v: debugGetLocal }, { k: \"getmetatable\", v: debugGetMetatable }, { k: \"getupvalue\", v: debugGetUpvalue }, { k: \"setfenv\", v: debugSetFEnv }, { k: \"setlocal\", v: debugSetLocal }, { k: \"setmetatable\", v: debugSetMetatable }, { k: \"setupvalue\", v: debugSetUpvalue }, { k: \"traceback\", v: debugTraceback }]);\n\t\tloLoaders = new sliceType$3([loLoaderPreload, loLoaderLua]);\n\t\tloFuncs = $makeMap($String.keyFor, [{ k: \"loadlib\", v: loLoadLib }, { k: \"seeall\", v: loSeeAll }]);\n\t\tmathFuncs = $makeMap($String.keyFor, [{ k: \"abs\", v: mathAbs }, { k: \"acos\", v: mathAcos }, { k: \"asin\", v: mathAsin }, { k: \"atan\", v: mathAtan }, { k: \"atan2\", v: mathAtan2 }, { k: \"ceil\", v: mathCeil }, { k: \"cos\", v: mathCos }, { k: \"cosh\", v: mathCosh }, { k: \"deg\", v: mathDeg }, { k: \"exp\", v: mathExp }, { k: \"floor\", v: mathFloor }, { k: \"fmod\", v: mathFmod }, { k: \"frexp\", v: mathFrexp }, { k: \"ldexp\", v: mathLdexp }, { k: \"log\", v: mathLog }, { k: \"log10\", v: mathLog10 }, { k: \"max\", v: mathMax }, { k: \"min\", v: mathMin }, { k: \"mod\", v: mathMod }, { k: \"modf\", v: mathModf }, { k: \"pow\", v: mathPow }, { k: \"rad\", v: mathRad }, { k: \"random\", v: mathRandom }, { k: \"randomseed\", v: mathRandomseed }, { k: \"sin\", v: mathSin }, { k: \"sinh\", v: mathSinh }, { k: \"sqrt\", v: mathSqrt }, { k: \"tan\", v: mathTan }, { k: \"tanh\", v: mathTanh }]);\n\t\ttableFuncs = $makeMap($String.keyFor, [{ k: \"getn\", v: tableGetN }, { k: \"concat\", v: tableConcat }, { k: \"insert\", v: tableInsert }, { k: \"maxn\", v: tableMaxN }, { k: \"remove\", v: tableRemove }, { k: \"sort\", v: tableSort }]);\n\t\t$pkg.LTrue = true;\n\t\tioFuncs = $makeMap($String.keyFor, [{ k: \"close\", v: ioClose }, { k: \"flush\", v: ioFlush }, { k: \"lines\", v: ioLines }, { k: \"input\", v: ioInput }, { k: \"output\", v: ioOutput }, { k: \"open\", v: ioOpenFile }, { k: \"popen\", v: ioPopen }, { k: \"read\", v: ioRead }, { k: \"type\", v: ioType }, { k: \"tmpfile\", v: ioTmpFile }, { k: \"write\", v: ioWrite }]);\n\t\tfileMethods = $makeMap($String.keyFor, [{ k: \"__tostring\", v: fileToString }, { k: \"write\", v: fileWrite }, { k: \"close\", v: fileClose }, { k: \"flush\", v: fileFlush }, { k: \"lines\", v: fileLines }, { k: \"read\", v: fileRead }, { k: \"seek\", v: fileSeek }, { k: \"setvbuf\", v: fileSetVBuf }]);\n\t\t$pkg.LFalse = false;\n\t\tbaseFuncs = $makeMap($String.keyFor, [{ k: \"assert\", v: baseAssert }, { k: \"collectgarbage\", v: baseCollectGarbage }, { k: \"dofile\", v: baseDoFile }, { k: \"error\", v: baseError }, { k: \"getfenv\", v: baseGetFEnv }, { k: \"getmetatable\", v: baseGetMetatable }, { k: \"load\", v: baseLoad }, { k: \"loadfile\", v: baseLoadFile }, { k: \"loadstring\", v: baseLoadString }, { k: \"next\", v: baseNext }, { k: \"pcall\", v: basePCall }, { k: \"print\", v: basePrint }, { k: \"rawequal\", v: baseRawEqual }, { k: \"rawget\", v: baseRawGet }, { k: \"rawset\", v: baseRawSet }, { k: \"select\", v: baseSelect }, { k: \"_printregs\", v: base_PrintRegs }, { k: \"setfenv\", v: baseSetFEnv }, { k: \"setmetatable\", v: baseSetMetatable }, { k: \"tonumber\", v: baseToNumber }, { k: \"tostring\", v: baseToString }, { k: \"type\", v: baseType }, { k: \"unpack\", v: baseUnpack }, { k: \"xpcall\", v: baseXPCall }, { k: \"module\", v: loModule }, { k: \"require\", v: loRequire }, { k: \"newproxy\", v: baseNewProxy }]);\n\t\tosFuncs = $makeMap($String.keyFor, [{ k: \"clock\", v: osClock }, { k: \"difftime\", v: osDiffTime }, { k: \"execute\", v: osExecute }, { k: \"exit\", v: osExit }, { k: \"date\", v: osDate }, { k: \"getenv\", v: osGetEnv }, { k: \"remove\", v: osRemove }, { k: \"rename\", v: osRename }, { k: \"setenv\", v: osSetEnv }, { k: \"setlocale\", v: osSetLocale }, { k: \"time\", v: osTime }, { k: \"tmpname\", v: osTmpname }]);\n\t\tstrFuncs = $makeMap($String.keyFor, [{ k: \"byte\", v: strByte }, { k: \"char\", v: strChar }, { k: \"dump\", v: strDump }, { k: \"find\", v: strFind }, { k: \"format\", v: strFormat }, { k: \"gsub\", v: strGsub }, { k: \"len\", v: strLen }, { k: \"lower\", v: strLower }, { k: \"match\", v: strMatch }, { k: \"rep\", v: strRep }, { k: \"reverse\", v: strReverse }, { k: \"sub\", v: strSub }, { k: \"upper\", v: strUpper }]);\n\t\tcoFuncs = $makeMap($String.keyFor, [{ k: \"create\", v: coCreate }, { k: \"yield\", v: coYield }, { k: \"resume\", v: coResume }, { k: \"running\", v: coRunning }, { k: \"status\", v: coStatus }, { k: \"wrap\", v: coWrap }]);\n\t\tluaLibs = new sliceType$4([new luaLib.ptr(\"package\", OpenPackage), new luaLib.ptr(\"\", OpenBase), new luaLib.ptr(\"table\", OpenTable), new luaLib.ptr(\"io\", OpenIo), new luaLib.ptr(\"os\", OpenOs), new luaLib.ptr(\"string\", OpenString), new luaLib.ptr(\"math\", OpenMath), new luaLib.ptr(\"debug\", OpenDebug), new luaLib.ptr(\"coroutine\", OpenCoroutine)]);\n\t\tinit();\n\t\tinit$1();\n\t\tinit$2();\n\t\tinit$3();\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$packages[\"github.com/fiatjaf/glua\"] = (function() {\n\tvar $pkg = {}, $init, lua, js, sliceType, funcType, mapType, funcType$1, mapType$1, funcType$2, sliceType$1, ptrType, funcType$3, ptrType$1, main, lvalueFromInterface, lvalueToInterface;\n\tlua = $packages[\"github.com/J-J-J/goluajit\"];\n\tjs = $packages[\"github.com/gopherjs/gopherjs/js\"];\n\tsliceType = $sliceType(lua.Options);\n\tfuncType = $funcType([$String], [], false);\n\tmapType = $mapType($String, $emptyInterface);\n\tfuncType$1 = $funcType([mapType, $String], [], false);\n\tmapType$1 = $mapType($String, $String);\n\tfuncType$2 = $funcType([mapType$1, mapType, $String], [], false);\n\tsliceType$1 = $sliceType($emptyInterface);\n\tptrType = $ptrType(js.Object);\n\tfuncType$3 = $funcType([sliceType$1], [ptrType], true);\n\tptrType$1 = $ptrType(lua.LTable);\n\tmain = function() {\n\t\tvar run, withGlobals, withModules;\n\t\trun = (function $b(code) {\n\t\t\tvar L, _r, _r$1, code, err, $s, $deferred, $r;\n\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _r = $f._r; _r$1 = $f._r$1; code = $f.code; err = $f.err; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\t\t_r = lua.NewState(new sliceType([])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tL = _r;\n\t\t\t$deferred.push([$methodVal(L, \"Close\"), []]);\n\t\t\t_r$1 = L.DoString(code); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\terr = _r$1;\n\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\t$panic(err);\n\t\t\t}\n\t\t\t$s = -1; return;\n\t\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: $b }; } $f.L = L; $f._r = _r; $f._r$1 = _r$1; $f.code = code; $f.err = err; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t\t});\n\t\twithGlobals = (function $b(globals, code) {\n\t\t\tvar L, _entry, _i, _keys, _r, _r$1, _ref, code, err, globals, name, value, $s, $deferred, $r;\n\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _entry = $f._entry; _i = $f._i; _keys = $f._keys; _r = $f._r; _r$1 = $f._r$1; _ref = $f._ref; code = $f.code; err = $f.err; globals = $f.globals; name = $f.name; value = $f.value; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\t\t_r = lua.NewState(new sliceType([])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tL = _r;\n\t\t\t$deferred.push([$methodVal(L, \"Close\"), []]);\n\t\t\t_ref = globals;\n\t\t\t_i = 0;\n\t\t\t_keys = $keys(_ref);\n\t\t\t/* while (true) { */ case 2:\n\t\t\t\t/* if (!(_i < _keys.length)) { break; } */ if(!(_i < _keys.length)) { $s = 3; continue; }\n\t\t\t\t_entry = _ref[_keys[_i]];\n\t\t\t\tif (_entry === undefined) {\n\t\t\t\t\t_i++;\n\t\t\t\t\t/* continue; */ $s = 2; continue;\n\t\t\t\t}\n\t\t\t\tname = _entry.k;\n\t\t\t\tvalue = _entry.v;\n\t\t\t\t$r = L.SetGlobal(name, lvalueFromInterface(L, value)); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t_i++;\n\t\t\t/* } */ $s = 2; continue; case 3:\n\t\t\t_r$1 = L.DoString(code); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\terr = _r$1;\n\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\t$panic(err);\n\t\t\t}\n\t\t\t$s = -1; return;\n\t\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: $b }; } $f.L = L; $f._entry = _entry; $f._i = _i; $f._keys = _keys; $f._r = _r; $f._r$1 = _r$1; $f._ref = _ref; $f.code = code; $f.err = err; $f.globals = globals; $f.name = name; $f.value = value; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t\t});\n\t\twithModules = (function $b(modules, globals, code) {\n\t\t\tvar L, _entry, _entry$1, _i, _i$1, _keys, _keys$1, _r, _r$1, _r$2, _r$3, _r$4, _ref, _ref$1, _tuple, code, code$1, err, err$1, globals, mod, moduleName, modules, name, preload, value, $s, $deferred, $r;\n\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L = $f.L; _entry = $f._entry; _entry$1 = $f._entry$1; _i = $f._i; _i$1 = $f._i$1; _keys = $f._keys; _keys$1 = $f._keys$1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _ref = $f._ref; _ref$1 = $f._ref$1; _tuple = $f._tuple; code = $f.code; code$1 = $f.code$1; err = $f.err; err$1 = $f.err$1; globals = $f.globals; mod = $f.mod; moduleName = $f.moduleName; modules = $f.modules; name = $f.name; preload = $f.preload; value = $f.value; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred);\n\t\t\t_r = lua.NewState(new sliceType([])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\tL = _r;\n\t\t\t$deferred.push([$methodVal(L, \"Close\"), []]);\n\t\t\t_r$1 = L.GetField(L.Get(-10001), \"package\"); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t_r$2 = L.GetField(_r$1, \"preload\"); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\tpreload = _r$2;\n\t\t\t_ref = modules;\n\t\t\t_i = 0;\n\t\t\t_keys = $keys(_ref);\n\t\t\t/* while (true) { */ case 4:\n\t\t\t\t/* if (!(_i < _keys.length)) { break; } */ if(!(_i < _keys.length)) { $s = 5; continue; }\n\t\t\t\t_entry = _ref[_keys[_i]];\n\t\t\t\tif (_entry === undefined) {\n\t\t\t\t\t_i++;\n\t\t\t\t\t/* continue; */ $s = 4; continue;\n\t\t\t\t}\n\t\t\t\tmoduleName = _entry.k;\n\t\t\t\tcode$1 = _entry.v;\n\t\t\t\t_r$3 = L.LoadString(code$1); /* */ $s = 6; case 6: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; }\n\t\t\t\t_tuple = _r$3;\n\t\t\t\tmod = _tuple[0];\n\t\t\t\terr = _tuple[1];\n\t\t\t\tif (!($interfaceIsEqual(err, $ifaceNil))) {\n\t\t\t\t\t$panic(err);\n\t\t\t\t}\n\t\t\t\t$r = L.SetField(preload, moduleName, mod); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t_i++;\n\t\t\t/* } */ $s = 4; continue; case 5:\n\t\t\t_ref$1 = globals;\n\t\t\t_i$1 = 0;\n\t\t\t_keys$1 = $keys(_ref$1);\n\t\t\t/* while (true) { */ case 8:\n\t\t\t\t/* if (!(_i$1 < _keys$1.length)) { break; } */ if(!(_i$1 < _keys$1.length)) { $s = 9; continue; }\n\t\t\t\t_entry$1 = _ref$1[_keys$1[_i$1]];\n\t\t\t\tif (_entry$1 === undefined) {\n\t\t\t\t\t_i$1++;\n\t\t\t\t\t/* continue; */ $s = 8; continue;\n\t\t\t\t}\n\t\t\t\tname = _entry$1.k;\n\t\t\t\tvalue = _entry$1.v;\n\t\t\t\t$r = L.SetGlobal(name, lvalueFromInterface(L, value)); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\t\t_i$1++;\n\t\t\t/* } */ $s = 8; continue; case 9:\n\t\t\t_r$4 = L.DoString(code); /* */ $s = 11; case 11: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; }\n\t\t\terr$1 = _r$4;\n\t\t\tif (!($interfaceIsEqual(err$1, $ifaceNil))) {\n\t\t\t\t$panic(err$1);\n\t\t\t}\n\t\t\t$s = -1; return;\n\t\t\t/* */ } return; } } catch(err) { $err = err; $s = -1; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: $b }; } $f.L = L; $f._entry = _entry; $f._entry$1 = _entry$1; $f._i = _i; $f._i$1 = _i$1; $f._keys = _keys; $f._keys$1 = _keys$1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._ref = _ref; $f._ref$1 = _ref$1; $f._tuple = _tuple; $f.code = code; $f.code$1 = code$1; $f.err = err; $f.err$1 = err$1; $f.globals = globals; $f.mod = mod; $f.moduleName = moduleName; $f.modules = modules; $f.name = name; $f.preload = preload; $f.value = value; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } }\n\t\t});\n\t\tif (!($module === undefined)) {\n\t\t\t$module.exports.run = $externalize(run, funcType);\n\t\t\t$module.exports.runWithGlobals = $externalize(withGlobals, funcType$1);\n\t\t\t$module.exports.runWithModules = $externalize(withModules, funcType$2);\n\t\t} else {\n\t\t\t$global.glua = $externalize($makeMap($String.keyFor, [{ k: \"run\", v: new funcType(run) }, { k: \"runWithGlobals\", v: new funcType$1(withGlobals) }, { k: \"runWithModules\", v: new funcType$2(withModules) }]), mapType);\n\t\t}\n\t};\n\tlvalueFromInterface = function(L, value) {\n\t\tvar L, _entry, _i, _i$1, _keys, _ref, _ref$1, _ref$2, fn, i, iv, iv$1, k, table, table$1, val, val$1, val$2, val$3, val$4, val$5, val$6, value;\n\t\t_ref = value;\n\t\tif ($assertType(_ref, $String, true)[1]) {\n\t\t\tval = _ref.$val;\n\t\t\treturn new lua.LString((val));\n\t\t} else if ($assertType(_ref, $Float64, true)[1]) {\n\t\t\tval$1 = _ref.$val;\n\t\t\treturn new lua.LNumber((val$1));\n\t\t} else if ($assertType(_ref, $Bool, true)[1]) {\n\t\t\tval$2 = _ref.$val;\n\t\t\treturn new lua.LBool((val$2));\n\t\t} else if ($assertType(_ref, mapType, true)[1]) {\n\t\t\tval$3 = _ref.$val;\n\t\t\ttable = L.NewTable();\n\t\t\t_ref$1 = val$3;\n\t\t\t_i = 0;\n\t\t\t_keys = $keys(_ref$1);\n\t\t\twhile (true) {\n\t\t\t\tif (!(_i < _keys.length)) { break; }\n\t\t\t\t_entry = _ref$1[_keys[_i]];\n\t\t\t\tif (_entry === undefined) {\n\t\t\t\t\t_i++;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tk = _entry.k;\n\t\t\t\tiv = _entry.v;\n\t\t\t\ttable.RawSetString(k, lvalueFromInterface(L, iv));\n\t\t\t\t_i++;\n\t\t\t}\n\t\t\treturn table;\n\t\t} else if ($assertType(_ref, sliceType$1, true)[1]) {\n\t\t\tval$4 = _ref.$val;\n\t\t\ttable$1 = L.NewTable();\n\t\t\t_ref$2 = val$4;\n\t\t\t_i$1 = 0;\n\t\t\twhile (true) {\n\t\t\t\tif (!(_i$1 < _ref$2.$length)) { break; }\n\t\t\t\ti = _i$1;\n\t\t\t\tiv$1 = ((_i$1 < 0 || _i$1 >= _ref$2.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref$2.$array[_ref$2.$offset + _i$1]);\n\t\t\t\ttable$1.RawSetInt(i + 1 >> 0, lvalueFromInterface(L, iv$1));\n\t\t\t\t_i$1++;\n\t\t\t}\n\t\t\treturn table$1;\n\t\t} else if ($assertType(_ref, funcType$3, true)[1]) {\n\t\t\tval$5 = _ref.$val;\n\t\t\tfn = val$5;\n\t\t\treturn L.NewFunction((function $b(L$1) {\n\t\t\t\tvar L$1, _entry$1, _i$2, _r, _r$1, _ref$3, _tuple, _tuple$1, _tuple$2, a, arg, args, hasmultikey, ismap, ivalues, jsreturn, mret, ok, ret, value$1, values, $s, $r;\n\t\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; L$1 = $f.L$1; _entry$1 = $f._entry$1; _i$2 = $f._i$2; _r = $f._r; _r$1 = $f._r$1; _ref$3 = $f._ref$3; _tuple = $f._tuple; _tuple$1 = $f._tuple$1; _tuple$2 = $f._tuple$2; a = $f.a; arg = $f.arg; args = $f.args; hasmultikey = $f.hasmultikey; ismap = $f.ismap; ivalues = $f.ivalues; jsreturn = $f.jsreturn; mret = $f.mret; ok = $f.ok; ret = $f.ret; value$1 = $f.value$1; values = $f.values; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t\t\targs = sliceType$1.nil;\n\t\t\t\ta = 1;\n\t\t\t\t/* while (true) { */ case 1:\n\t\t\t\t\targ = L$1.Get(a);\n\t\t\t\t\tif ($interfaceIsEqual(arg, lua.LNil)) {\n\t\t\t\t\t\t/* break; */ $s = 2; continue;\n\t\t\t\t\t}\n\t\t\t\t\t_r = lvalueToInterface(arg); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\t\targs = $append(args, _r);\n\t\t\t\t\ta = a + (1) >> 0;\n\t\t\t\t/* } */ $s = 1; continue; case 2:\n\t\t\t\t_r$1 = fn(args); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\tjsreturn = _r$1;\n\t\t\t\tif (jsreturn === undefined) {\n\t\t\t\t\t$s = -1; return 0;\n\t\t\t\t}\n\t\t\t\tret = $internalize(jsreturn, $emptyInterface);\n\t\t\t\t_tuple = $assertType(ret, mapType, true);\n\t\t\t\tmret = _tuple[0];\n\t\t\t\tismap = _tuple[1];\n\t\t\t\tif (ismap) {\n\t\t\t\t\t_tuple$1 = (_entry$1 = mret[$String.keyFor(\"_glua_multi\")], _entry$1 !== undefined ? [_entry$1.v, true] : [$ifaceNil, false]);\n\t\t\t\t\tivalues = _tuple$1[0];\n\t\t\t\t\thasmultikey = _tuple$1[1];\n\t\t\t\t\tif (hasmultikey) {\n\t\t\t\t\t\t_tuple$2 = $assertType(ivalues, sliceType$1, true);\n\t\t\t\t\t\tvalues = _tuple$2[0];\n\t\t\t\t\t\tok = _tuple$2[1];\n\t\t\t\t\t\tif (ok) {\n\t\t\t\t\t\t\t_ref$3 = values;\n\t\t\t\t\t\t\t_i$2 = 0;\n\t\t\t\t\t\t\twhile (true) {\n\t\t\t\t\t\t\t\tif (!(_i$2 < _ref$3.$length)) { break; }\n\t\t\t\t\t\t\t\tvalue$1 = ((_i$2 < 0 || _i$2 >= _ref$3.$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : _ref$3.$array[_ref$3.$offset + _i$2]);\n\t\t\t\t\t\t\t\tL$1.Push(lvalueFromInterface(L$1, value$1));\n\t\t\t\t\t\t\t\t_i$2++;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t$s = -1; return values.$length;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tL$1.Push(lvalueFromInterface(L$1, ret));\n\t\t\t\t$s = -1; return 1;\n\t\t\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f.L$1 = L$1; $f._entry$1 = _entry$1; $f._i$2 = _i$2; $f._r = _r; $f._r$1 = _r$1; $f._ref$3 = _ref$3; $f._tuple = _tuple; $f._tuple$1 = _tuple$1; $f._tuple$2 = _tuple$2; $f.a = a; $f.arg = arg; $f.args = args; $f.hasmultikey = hasmultikey; $f.ismap = ismap; $f.ivalues = ivalues; $f.jsreturn = jsreturn; $f.mret = mret; $f.ok = ok; $f.ret = ret; $f.value$1 = value$1; $f.values = values; $f.$s = $s; $f.$r = $r; return $f;\n\t\t\t}));\n\t\t} else {\n\t\t\tval$6 = _ref;\n\t\t\treturn lua.LNil;\n\t\t}\n\t};\n\tlvalueToInterface = function(lvalue) {\n\t\tvar _1, _ref, array, isArray, lvalue, object, size, value, value$1, value$2, value$3, $s, $r;\n\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _ref = $f._ref; array = $f.array; isArray = $f.isArray; lvalue = $f.lvalue; object = $f.object; size = $f.size; value = $f.value; value$1 = $f.value$1; value$2 = $f.value$2; value$3 = $f.value$3; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\tarray = [array];\n\t\tisArray = [isArray];\n\t\tobject = [object];\n\t\tsize = [size];\n\t\t_ref = lvalue;\n\t\t/* */ if ($assertType(_ref, ptrType$1, true)[1]) { $s = 1; continue; }\n\t\t/* */ if ($assertType(_ref, lua.LNumber, true)[1]) { $s = 2; continue; }\n\t\t/* */ if ($assertType(_ref, lua.LString, true)[1]) { $s = 3; continue; }\n\t\t/* */ $s = 4; continue;\n\t\t/* if ($assertType(_ref, ptrType$1, true)[1]) { */ case 1:\n\t\t\tvalue = _ref.$val;\n\t\t\tsize[0] = value.Len();\n\t\t\tobject[0] = ((size[0] < 0 || size[0] > 2147483647) ? $throwRuntimeError(\"makemap: size out of range\") : {});\n\t\t\tarray[0] = $makeSlice(sliceType$1, size[0]);\n\t\t\tisArray[0] = true;\n\t\t\tif (size[0] === 0) {\n\t\t\t\tisArray[0] = false;\n\t\t\t}\n\t\t\t$r = value.ForEach((function(array, isArray, object, size) { return function $b(k, lv) {\n\t\t\t\tvar _key, _r, _r$1, _r$2, _tuple, k, ln, lv, ok, v, x, $s, $r;\n\t\t\t\t/* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _key = $f._key; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _tuple = $f._tuple; k = $f.k; ln = $f.ln; lv = $f.lv; ok = $f.ok; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t\t\t_r = lvalueToInterface(lv); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; }\n\t\t\t\tv = _r;\n\t\t\t\tif (isArray[0]) {\n\t\t\t\t\t_tuple = $assertType(k, lua.LNumber, true);\n\t\t\t\t\tln = _tuple[0];\n\t\t\t\t\tok = _tuple[1];\n\t\t\t\t\tif (!ok || !(((((ln >> 0))) === (ln)))) {\n\t\t\t\t\t\tisArray[0] = false;\n\t\t\t\t\t} else if ((ln === 0) || ((ln >> 0)) > size[0]) {\n\t\t\t\t\t\tisArray[0] = false;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t(x = ((ln >> 0)) - 1 >> 0, ((x < 0 || x >= array[0].$length) ? ($throwRuntimeError(\"index out of range\"), undefined) : array[0].$array[array[0].$offset + x] = v));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t_r$1 = lua.LVAsString(k); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; }\n\t\t\t\t_r$2 = lvalueToInterface(lv); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; }\n\t\t\t\t_key = _r$1; (object[0] || $throwRuntimeError(\"assignment to entry in nil map\"))[$String.keyFor(_key)] = { k: _key, v: _r$2 };\n\t\t\t\t$s = -1; return;\n\t\t\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f._key = _key; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._tuple = _tuple; $f.k = k; $f.ln = ln; $f.lv = lv; $f.ok = ok; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f;\n\t\t\t}; })(array, isArray, object, size)); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t\tif (isArray[0]) {\n\t\t\t\t$s = -1; return array[0];\n\t\t\t} else {\n\t\t\t\t$s = -1; return new mapType(object[0]);\n\t\t\t}\n\t\t\t$s = 5; continue;\n\t\t/* } else if ($assertType(_ref, lua.LNumber, true)[1]) { */ case 2:\n\t\t\tvalue$1 = _ref.$val;\n\t\t\t$s = -1; return new $Float64((value$1));\n\t\t/* } else if ($assertType(_ref, lua.LString, true)[1]) { */ case 3:\n\t\t\tvalue$2 = _ref.$val;\n\t\t\t$s = -1; return new $String((value$2));\n\t\t/* } else { */ case 4:\n\t\t\tvalue$3 = _ref;\n\t\t\t_1 = lvalue;\n\t\t\tif ($interfaceIsEqual(_1, new lua.LBool((lua.LTrue)))) {\n\t\t\t\t$s = -1; return new $Bool(true);\n\t\t\t} else if ($interfaceIsEqual(_1, new lua.LBool((lua.LFalse)))) {\n\t\t\t\t$s = -1; return new $Bool(false);\n\t\t\t} else if ($interfaceIsEqual(_1, (lua.LNil))) {\n\t\t\t\t$s = -1; return $ifaceNil;\n\t\t\t}\n\t\t/* } */ case 5:\n\t\t$s = -1; return $ifaceNil;\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: lvalueToInterface }; } $f._1 = _1; $f._ref = _ref; $f.array = array; $f.isArray = isArray; $f.lvalue = lvalue; $f.object = object; $f.size = size; $f.value = value; $f.value$1 = value$1; $f.value$2 = value$2; $f.value$3 = value$3; $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$init = function() {\n\t\t$pkg.$init = function() {};\n\t\t/* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0:\n\t\t$r = lua.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\t$r = js.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; }\n\t\tif ($pkg === $mainPkg) {\n\t\t\tmain();\n\t\t\t$mainFinished = true;\n\t\t}\n\t\t/* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f;\n\t};\n\t$pkg.$init = $init;\n\treturn $pkg;\n})();\n$synthesizeMethods();\nvar $mainPkg = $packages[\"github.com/fiatjaf/glua\"];\n$packages[\"runtime\"].$init();\n$go($mainPkg.$init, []);\n$flushConsole();\n\n}).call(this);\n//# sourceMappingURL=glua.js.map\n"
  },
  {
    "path": "main.go",
    "content": "package main\n\nimport (\n\tlua \"github.com/J-J-J/goluajit\"\n\t\"github.com/gopherjs/gopherjs/js\"\n)\n\nfunc main() {\n\trun := func(code string) {\n\t\tL := lua.NewState()\n\t\tdefer L.Close()\n\t\tif err := L.DoString(code); err != nil {\n\t\t\tpanic(err)\n\t\t}\n\t}\n\twithGlobals := func(globals map[string]interface{}, code string) {\n\t\tL := lua.NewState()\n\t\tdefer L.Close()\n\n\t\tfor name, value := range globals {\n\t\t\tL.SetGlobal(name, lvalueFromInterface(L, value))\n\t\t}\n\n\t\tif err := L.DoString(code); err != nil {\n\t\t\tpanic(err)\n\t\t}\n\t}\n\twithModules := func(modules map[string]string, globals map[string]interface{}, code string) {\n\t\tL := lua.NewState()\n\t\tdefer L.Close()\n\n\t\tpreload := L.GetField(L.GetField(L.Get(lua.EnvironIndex), \"package\"), \"preload\")\n\t\tfor moduleName, code := range modules {\n\t\t\tmod, err := L.LoadString(code)\n\t\t\tif err != nil {\n\t\t\t\tpanic(err)\n\t\t\t}\n\t\t\tL.SetField(preload, moduleName, mod)\n\t\t}\n\n\t\tfor name, value := range globals {\n\t\t\tL.SetGlobal(name, lvalueFromInterface(L, value))\n\t\t}\n\n\t\tif err := L.DoString(code); err != nil {\n\t\t\tpanic(err)\n\t\t}\n\t}\n\n\tif js.Module != js.Undefined {\n\t\tjs.Module.Get(\"exports\").Set(\"run\", run)\n\t\tjs.Module.Get(\"exports\").Set(\"runWithGlobals\", withGlobals)\n\t\tjs.Module.Get(\"exports\").Set(\"runWithModules\", withModules)\n\t} else {\n\t\tjs.Global.Set(\"glua\", map[string]interface{}{\n\t\t\t\"run\":            run,\n\t\t\t\"runWithGlobals\": withGlobals,\n\t\t\t\"runWithModules\": withModules,\n\t\t})\n\t}\n}\n\nfunc lvalueFromInterface(L *lua.LState, value interface{}) lua.LValue {\n\tswitch val := value.(type) {\n\tcase string:\n\t\treturn lua.LString(val)\n\tcase float64:\n\t\treturn lua.LNumber(val)\n\tcase bool:\n\t\treturn lua.LBool(val)\n\tcase map[string]interface{}:\n\t\ttable := L.NewTable()\n\t\tfor k, iv := range val {\n\t\t\ttable.RawSetString(k, lvalueFromInterface(L, iv))\n\t\t}\n\t\treturn table\n\tcase []interface{}:\n\t\ttable := L.NewTable()\n\t\tfor i, iv := range val {\n\t\t\ttable.RawSetInt(i+1, lvalueFromInterface(L, iv))\n\t\t}\n\t\treturn table\n\tcase func(...interface{}) *js.Object:\n\t\tfn := val\n\t\treturn L.NewFunction(func(L *lua.LState) int {\n\t\t\tvar args []interface{}\n\n\t\t\tfor a := 1; ; a++ {\n\t\t\t\targ := L.Get(a)\n\t\t\t\tif arg == lua.LNil {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\targs = append(args, lvalueToInterface(arg))\n\t\t\t}\n\n\t\t\tjsreturn := fn(args...)\n\t\t\tif jsreturn == js.Undefined {\n\t\t\t\treturn 0\n\t\t\t}\n\t\t\tret := jsreturn.Interface()\n\n\t\t\tif mret, ismap := ret.(map[string]interface{}); ismap {\n\t\t\t\tif ivalues, hasmultikey := mret[\"_glua_multi\"]; hasmultikey {\n\t\t\t\t\tif values, ok := ivalues.([]interface{}); ok {\n\t\t\t\t\t\t// return multiple values to lua\n\t\t\t\t\t\tfor _, value := range values {\n\t\t\t\t\t\t\tL.Push(lvalueFromInterface(L, value))\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn len(values)\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tL.Push(lvalueFromInterface(L, ret))\n\t\t\treturn 1\n\t\t})\n\tdefault:\n\t\treturn lua.LNil\n\t}\n}\n\nfunc lvalueToInterface(lvalue lua.LValue) interface{} {\n\tswitch value := lvalue.(type) {\n\tcase *lua.LTable:\n\t\tsize := value.Len()\n\n\t\t// it will be either an object or an array\n\t\tobject := make(map[string]interface{}, size)\n\t\tarray := make([]interface{}, size)\n\n\t\tisArray := true\n\t\tif size == 0 {\n\t\t\tisArray = false\n\t\t}\n\n\t\tvalue.ForEach(func(k lua.LValue, lv lua.LValue) {\n\t\t\tv := lvalueToInterface(lv)\n\n\t\t\tif isArray {\n\t\t\t\tln, ok := k.(lua.LNumber)\n\t\t\t\tif !ok || float64(int(ln)) != float64(ln) {\n\t\t\t\t\t// has a non-int key, so not an array\n\t\t\t\t\tisArray = false\n\t\t\t\t} else if ln == 0 || int(ln) > size /* because lua arrays are 1-based */ {\n\t\t\t\t\t// int out of the allowed range, so not an array\n\t\t\t\t\tisArray = false\n\t\t\t\t} else {\n\t\t\t\t\t// keep storing everything in the array\n\t\t\t\t\tarray[int(ln)-1 /* because lua arrays are 1-based */] = v\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// if in the last key we discover this isn't an array we already have all values\n\t\t\tobject[lua.LVAsString(k)] = lvalueToInterface(lv)\n\t\t})\n\n\t\tif isArray {\n\t\t\treturn array\n\t\t} else {\n\t\t\treturn object\n\t\t}\n\tcase lua.LNumber:\n\t\treturn float64(value)\n\tcase lua.LString:\n\t\treturn string(value)\n\tdefault:\n\t\tswitch lvalue {\n\t\tcase lua.LTrue:\n\t\t\treturn true\n\t\tcase lua.LFalse:\n\t\t\treturn false\n\t\tcase lua.LNil:\n\t\t\treturn nil\n\t\t}\n\t}\n\treturn nil\n}\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"glua\",\n  \"version\": \"1.0.2\",\n  \"description\": \"Full-featured Lua VM for nodejs and the browser. Based on github.com/yuin/gopher-lua.\",\n  \"main\": \"dist/glua.js\",\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"git+https://github.com/fiatjaf/glua.git\"\n  },\n  \"scripts\": {\n    \"prepublish\": \"make\"\n  },\n  \"keywords\": \"lua vm compiler gopher-lua gopherjs\",\n  \"author\": \"fiatjaf\",\n  \"license\": \"MIT\",\n  \"devDependencies\": {\n    \"uglify-js\": \"^2.8.22\"\n  }\n}\n"
  },
  {
    "path": "try.html",
    "content": "<!doctype html>\n\n<title>glua playground</title>\n\n<center>open your console for all the action.</center>\n<center><a href=\"https://github.com/fiatjaf/glua\">back to GitHub</a></center>\n<br>\n<br>\n<center>a simple example you can run now (copy and paste in the console):</center>\n<pre style=\"max-width: 400px; margin: auto\">\n  <code>\nvar state = {count: 18}\nglua.runWithGlobals({\n  increase: function (n) { state.count += n },\n  state: state\n}, `\n\nprint('initial value: ', state.count)\nincrease(5) -- increasing by 5\n\n`)\nconsole.log('now the value is:', state.count)\n  </code>\n</pre>\n\n<script src=dist/glua.min.js></script>\n<script>\nconsole.log('use the global `glua` for all the action.')\n</script>\n"
  }
]