if (!Array.prototype.Add){Array.prototype.Add= function (item){ this[this.length]=item; } ; }if (!Array.prototype.InsertAt){Array.prototype.InsertAt= function (index,item){ this[index]=item; } ; }if (!Array.prototype.Remove){Array.prototype.Remove= function (item){var I1y= false; for (var i=0; i<this.length; i++){if (item==this[i]){I1y= true; }if (I1y){ this[i]=this[i+1]; }}if (I1y){ this.length-=1; }} ; }if (!Array.prototype.RemoveAt){Array.prototype.RemoveAt= function (index){for (var i=index; 0<=i && i<this.length; i++){ this[i]=this[i+1]; }if (0<=index && index<this.length){ this.length-=1; }} ; }if (!Array.prototype.Clear){Array.prototype.Clear= function (){ this.length=0; } ; }if (!Array.prototype.o1z){Array.prototype.o1z= function (item){for (var i=0; i<this.length; i++){if (this[i]==item){return i; }}return -1; } ; }if (!Array.prototype.Serialize){Array.prototype.Serialize= function (O1z){var l1z=""; if (typeof(O1z)=="und\x65\x66ined" || O1z==null){O1z=","; }if (this.length<=0){return l1z; }for (var i=0; i<this.length; i++){l1z=l1z+((l1z=="")?"":O1z)+this[i].toString(); }return l1z; } ; }if (!Array.prototype.ClassicSort){Array.prototype.ClassicSort= function (){var i,k; for (i=this.length-1; i>=0; i--){for (k=0; k<=i; k++){if (this[k+1]<this[k]){var O1i=this[k]; this[k]=this[k+1]; this[k+1]=O1i; }}}return i1z; };}if (!Array.prototype.ToNumber){Array.prototype.ToNumber= function (I1z){switch (typeof(I1z)){case "n\x75\x6d\x62er":return I1z; case "str\x69ng":var o20=parseInt(I1z); if (!O20(o20) && ("\x43"+o20=="\x43"+I1z)){return o20; }break; default:break; }};}if (!Array.prototype.HighestIndex){Array.prototype.HighestIndex= function (){var l20; for (var i in this ){var i20=this.ToNumber(i); if ((typeof(i20)!="\x75\x6e\144\x65fin\x65d") && ((typeof(l20)=="undefine\x64") || (i20>l20))){l20=i20; }}return l20; };}if (!Array.prototype.push){Array.prototype.push= function (){var l20=this.HighestIndex(); if (typeof(l20)=="undefin\x65d"){l20=-1; }for (var i=0; i<arguments.length; i++){ this[ ++l20]=arguments[i]; }};}if (!Array.prototype.pop){Array.prototype.pop= function (){var l20=this.HighestIndex(); var I20; if (typeof(l20)!="undef\x69ned"){I20=this[l20]; delete this[l20]; }return I20; };}if (!Array.prototype.shift){Array.prototype.shift= function (){var o21=this[0]; for (var i=1; i<this.length; ++i){ this[i-1]=this[i]; } this.length--; return o21; };}if (!Array.prototype.unshift){Array.prototype.unshift= function (){var i=unshift.arguments.length; for (var k=this.length-1; k>=0; --k){ this[k+i]=this[k]; }for (k=0; k<i; ++k){ this[k]=unshift.O21[k]; }};}if (!String.prototype.Format){String.prototype.Format= function (){var l21=this ; for (var i=0; i<this.Format.arguments.length; i++){l21=l21.replace(new RegExp("\134{"+i+"\x5c}","\x69g"),this.Format.arguments[i]); }return l21; };}if (!String.prototype.StartsWith){String.prototype.StartsWith= function (value){if (typeof(value)!="s\x74ring"){return false; }return (0==this.indexOf(value)); };}if (!String.prototype.EndsWith){String.prototype.EndsWith= function (value){if (typeof(value)!="\x73tri\x6e\x67"){return false; }return (this.lastIndexOf(value)+value.length==this.length-1); };}if (!String.prototype.IsEmpty){String.prototype.IsEmpty= function (){var l21=this ; return (l21=="")? true : false; };}function Hashtable(){ this.Keys=new Array(); this.Values=new Array(); }Hashtable.prototype.Add= function (i21){if (!i21.ID){return; }var I21=i21.ID; if (this.IsValidKey(I21)){ this.Values[this.Values.length]=i21; if (this.Keys[I21]){ this.Keys[I21].length++; this.Keys[I21][this.Keys[I21].length-1]=(this.Values.length-1); }else { this.Keys[I21]=new Array(1); this.Keys[I21][0]=(this.Values.length-1); }}};Hashtable.prototype.AddItem= function (o22,O22){if (!o22 || !O22){return; }if (this.IsValidKey(o22)){ this.Values[this.Values.length]=O22; if (this.Keys[o22]){ this.Keys[o22].length++; this.Keys[o22][this.Keys[o22].length-1]=(this.Values.length-1); }else { this.Keys[o22]=new Array(1); this.Keys[o22][0]=(this.Values.length-1); }}};Hashtable.prototype.l22= function (i22){for (var i=0; i<i22.length; i++){ this.Add(i22[i]); }};Hashtable.prototype.Remove= function (I21){ delete this.Values[this.Keys[I21][0]]; delete this.Keys[I21]; };Hashtable.prototype.A= function (I21){if (this.Keys[I21]){return this.Values[(this.Keys[I21][0])]; }else {return null; }};Hashtable.prototype.Set= function (i21){var I21=i21.ID; if (this.Keys[I21]){ this.Values[(this.Keys[I21][0])]=i21; }};Hashtable.prototype.CopyTo= function (I22){for (var i=0; i<this.Values.length; i++){I22[i]=this.Values[i].toSource;}};Hashtable.prototype.o23= function (I22){for (var i=0; i<this.Keys.length; i++){}};Hashtable.prototype.O23= function (I21){if (this.Keys[I21]){var l23=this.Keys[I21]; l23=this.Keys[I21].length; return ((l23<=1)? true : false); }else {return true; }};Hashtable.prototype.IsValidKey= function (i23){var I23=""+i23; var o24=I23.charCodeAt(0); return ((o24<48) || (o24>57)); };Hashtable.prototype.length= function (){return this.Values.length; };
