var CommonLisp = function(){};
var CommonLispUser = function(){};CommonLisp.abs = function (a) {
 return Math.abs(a);
};
CommonLisp.car = function (lst) {
 return function(lst){return lst && lst.length > 0 && lst[0];}(lst);
};
CommonLisp.cadr = function (lst) {
 return function(lst){return lst && lst.length > 1 && lst[1];}(lst);
};
CommonLisp.caddr = function (lst) {
 return function(lst){return lst && lst.length > 2 && lst[2];}(lst);
};
CommonLisp.first = function (lst) {
 return function(lst){return lst && lst.length > 0 && lst[0];}(lst);
};
CommonLisp.second = function (lst) {
 return function(lst){return lst && lst.length > 1 && lst[1];}(lst);
};
CommonLisp.third = function (lst) {
 return function(lst){return lst && lst.length > 2 && lst[2];}(lst);
};
CommonLisp.fourth = function (lst) {
 return function(lst){return lst && lst.length > 3 && lst[3];}(lst);
};
CommonLisp.fifth = function (lst) {
 return function(lst){return lst && lst.length > 4 && lst[4];}(lst);
};
CommonLisp.sixth = function (lst) {
 return function(lst){return lst && lst.length > 5 && lst[5];}(lst);
};
CommonLisp.seventh = function (lst) {
 return function(lst){return lst && lst.length > 6 && lst[6];}(lst);
};
CommonLisp.eighth = function (lst) {
 return function(lst){return lst && lst.length > 7 && lst[7];}(lst);
};
CommonLisp.ninth = function (lst) {
 return function(lst){return lst && lst.length > 8 && lst[8];}(lst);
};
CommonLisp.tenth = function (lst) {
 return function(lst){return lst && lst.length > 9 && lst[9];}(lst);
};
CommonLisp.nth = function (n,lst) {
 return function(lst, n){return lst && lst.length > n && lst[n];}(lst, n);
};
CommonLisp.cdr = function (lst) {
 return function(lst){ return lst && lst.length > 1 && lst.slice(1); }(lst);
};
CommonLisp.cons = function (e1,e2) {
 return [e1].concat((e2 || []));
};
CommonLisp.eql = function (left,right) {
 return (left === right);
};
CommonLisp.evenp = function (num) {
 return ((num % 2) == 0);
};
CommonLisp.floor = function () {
var n = arguments[0];
var divisor = false;
if (arguments[1] !== undefined)
{divisor = arguments[1];
} else {
divisor = 1;
}

 return Math.floor(n / divisor (1));
};
CommonLisp.gethash = function (key,table) {
 return function(key, hash){return (undefined != hash['htfoo' + key]) && hash['htfoo' + key]; }(key, table);
};
CommonLisp.getUniversalTime = function () {
 return new Date();
};
CommonLisp.identity = function (o) {
 return o;
};
CommonLisp.integerp = function (s) {
 return (s && typeof(s) == "number");
};
CommonLisp.length = function (lst) {
 return (lst || []).length;
};
CommonLisp.listp = function (lst) {
 return function(lst){ return lst && (typeof(lst) == 'object') && lst.constructor !== undefined && lst.constructor.toString().match(/ Array *()/) !== null}(lst);
};
CommonLisp.makeHashTable = function () {
 return {};
};
CommonLisp.min = function() {var args = arguments.length > 0 &&  Array.prototype.slice.call(arguments).slice(0);
;
 
return Math.min.apply(window, args);}
CommonLisp.mod = function (left,right) {
 return (left % right);
};
CommonLisp.numberp = function (s) {
 return (s && typeof(s) == "number");
};
CommonLisp.oddp = function (num) {
 return ((num % 2) == 1);
};
CommonLisp.parseInteger = function (int) {
 return parseInt(int);
};
CommonLisp.princToString = function (o) {
 return "" + o;
};
CommonLisp.reverse = function (lst) {
 return (lst && Array.prototype.slice.call(lst).reverse());
};
CommonLisp.nreverse = function (lst) {
 return (lst && lst.reverse());
};
CommonLisp.stringp = function (s) {
 return (s && typeof(s) == "string");
};
CommonLisp.subseq = function () {
var lst = arguments[0];
var begin = arguments[1];
var end = false;
if (arguments[2] !== undefined)
{end = arguments[2];
} else {
end = false;
}

 return function(lst, begin, end) { return end === false ? lst.slice(begin) : lst.slice(begin, end); }(lst, begin, end);
};
CommonLisp.last = function (lst) {
 return function (lst) { return lst === false ? false : lst.slice(lst.length - 1, lst.length); }(lst);
};
CommonLisp.truncate = function (left,right) {
 return Math.floor(left / right);
};
CommonLisp.typeOf = function (s) {
 return typeof(s);
};
CommonLisp.log = function() {var x = arguments[0];;
var base = false;
if (arguments[1] !== undefined)
{base = arguments[1];
} else {
base = false;
}
;
 
if(base) {
   return Math.log(x) / Math.log(base);
 } else {
   return Math.log(x);
 }}
CommonLisp.makeList = function() {var sz = arguments[0];;
 
if(0 == sz) { return false; }
  var retn = new Array(sz);
  for(var idx = 0 ; idx < sz ; idx++) {
    retn[idx] = false;
  }
  return retn;}
CommonLisp.find = function() {var elem = arguments[0];;
var lst = arguments[1];;
var key = false;for (var __WEBTHITETH_SAFE__G483 = 2 ; __WEBTHITETH_SAFE__G483 < arguments.length ; __WEBTHITETH_SAFE__G483++) {if (":key" === arguments[__WEBTHITETH_SAFE__G483]) { key = arguments[__WEBTHITETH_SAFE__G483 + 1]; break;}}
;
var test = false;for (var __WEBTHITETH_SAFE__G484 = 2 ; __WEBTHITETH_SAFE__G484 < arguments.length ; __WEBTHITETH_SAFE__G484++) {if (":test" === arguments[__WEBTHITETH_SAFE__G484]) { test = arguments[__WEBTHITETH_SAFE__G484 + 1]; break;}}
;
 
var test = test || function(a, b) { return (a == b); };
 if(!(lst !== false)) { return false; }
 for(var idx = 0 ; idx < lst.length ; idx++) {
   if(key && test(elem, key(lst[idx]))) {
     return lst[idx];
   } else if(test(elem, lst[idx])) {
     return lst[idx];
   }
 }
 return false;
 }
CommonLisp.findIf = function() {var findFunc = arguments[0];;
var lst = arguments[1];;
 
if (!(lst !== false)) { return false; }
 for(var idx = 0 ; idx < lst.length ; idx++) {
   if(findFunc(lst[idx])) {
     return lst[idx];
   }
 }
 return false;
 }
CommonLisp.append = function() {var lsts = arguments.length > 0 &&  Array.prototype.slice.call(arguments).slice(0);
;
 

 realLists = new Array();
 for(var idx = 0 ; idx < lsts.length ; idx++) {
   if(lsts[idx]) {
     realLists[realLists.length] = lsts[idx];
   }
 }

 if(realLists.length == 0) {
   return false;
 } else if (realLists.length == 1) {
   return realLists[0];
 } else {
   return realLists[0].concat.apply(realLists[0], realLists.slice(1));;
 }
 }
CommonLisp.position = function() {var elem = arguments[0];;
var lst = arguments[1];;
 
;for (var idx = 0 ; idx < lst.length ; idx++) {
   if(lst[idx] === elem) {
     return idx;
   }
  }
  return false;
  }
CommonLisp.remove = function () {
var elem = arguments[0];
var lst = arguments[1];
var key = CommonLisp.identity;for (var __WEBTHITETH_SAFE__G485 = 2 ; __WEBTHITETH_SAFE__G485 < arguments.length ; __WEBTHITETH_SAFE__G485++) {if (":key" === arguments[__WEBTHITETH_SAFE__G485]) { key = arguments[__WEBTHITETH_SAFE__G485 + 1]; break;}}

var test = CommonLisp.eql;for (var __WEBTHITETH_SAFE__G486 = 2 ; __WEBTHITETH_SAFE__G486 < arguments.length ; __WEBTHITETH_SAFE__G486++) {if (":test" === arguments[__WEBTHITETH_SAFE__G486]) { test = arguments[__WEBTHITETH_SAFE__G486 + 1]; break;}}

 return function() {if ((! (lst !== false)) !== false) {
 return false;;
}  else if ((0 === (lst || []).length) !== false) {
 return lst;;
}  else if (true !== false) {
 return function() {
var retn = false;
for (var j = 0 ; j < (lst || []).length ; j++) {
if ((! (test (key (function(lst, n){return lst && lst.length > n && lst[n];}(lst, j)),elem) !== false)) !== false) {
retn = [function(lst, n){return lst && lst.length > n && lst[n];}(lst, j)].concat((retn || []));
;
} ;

};

 return (retn && Array.prototype.slice.call(retn).reverse());}();;
}  else { return false; }}();
};
CommonLisp.removeIf = function () {
var test = arguments[0];
var lst = arguments[1];
var key = false;for (var __WEBTHITETH_SAFE__G487 = 2 ; __WEBTHITETH_SAFE__G487 < arguments.length ; __WEBTHITETH_SAFE__G487++) {if (":key" === arguments[__WEBTHITETH_SAFE__G487]) { key = arguments[__WEBTHITETH_SAFE__G487 + 1]; break;}}

 return function() {
var key = (key || function (a) {
 return a;
});
 return function() {if ((! (lst !== false)) !== false) {
 return false;;
}  else if ((0 === (lst || []).length) !== false) {
 return lst;;
}  else if (true !== false) {
 return function() {
var retn = false;
for (var j = 0 ; j < (lst || []).length ; j++) {
if ((! (test (key (function(lst, n){return lst && lst.length > n && lst[n];}(lst, j))) !== false)) !== false) {
retn = [function(lst, n){return lst && lst.length > n && lst[n];}(lst, j)].concat((retn || []));
;
} ;

};

 return (retn && Array.prototype.slice.call(retn).reverse());}();;
}  else { return false; }}();}();
};
