function Map(){var a=0;var b=new Object();this.put=function(c,d){if(!this.containsKey(c)){a++}b[c]=d};this.get=function(c){return this.containsKey(c)?b[c]:null};this.remove=function(c){if(this.containsKey(c)&&(delete b[c])){a--}};this.containsKey=function(c){return(c in b)};this.containsValue=function(c){for(var d in b){if(b[d]==c){return true}}return false};this.values=function(){var c=new Array();for(var d in b){c.push(b[d])}return c};this.keys=function(){var c=new Array();for(var d in b){c.push(d)}return c};this.size=function(){return a};this.clear=function(){a=0;b=new Object()}}Array.prototype.remove=function(a){if(a>=0){this.splice(a,1);return true}return false};Array.prototype.clear=function(){this.length=0};Array.prototype.in_array=function(a){try{var b=this.length;for(var c=0;c