String.prototype.endsWith=function(a){return this.substr(this.length-a.length)===a};String.prototype.startsWith=function(a){return this.substr(0,a.length)===a};String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")};String.prototype.trimEnd=function(){return this.replace(/\s+$/,"")};String.prototype.trimStart=function(){return this.replace(/^\s+/,"")};Boolean.parse=function(b){var a=b.trim().toLowerCase();return a==="false"?false:a==="true"?true:null};Array.add=Array.enqueue=function(a,b){a[a.length]=b};Array.addRange=function(a,b){a.push.apply(a,b)};Array.clear=function(a){a.length=0};Array.clone=function(a){return a.length===1?[a[0]]:Array.apply(null,a)};Array.contains=function(a,b){return Array.indexOf(a,b)>=0};Array.dequeue=function(a){return a.shift()};Array.forEach=function(b,e,d){for(var a=0,f=b.length;a<f;a++){var c=b[a];typeof c!=="undefined"&&e.call(d,c,a,b)}};Array.indexOf=function(d,f,a){var e="undefined";if(typeof f===e)return-1;var c=d.length;if(c!==0){a=a-0;if(isNaN(a))a=0;else{if(isFinite(a))a=a-a%1;if(a<0)a=Math.max(0,c+a)}for(var b=a;b<c;b++)if(typeof d[b]!==e&&d[b]===f)return b}return-1};Array.insert=function(a,b,c){a.splice(b,0,c)};Array.parse=function(a){if(!a)return[];var b=eval(a);if(!Array.isInstanceOfType(b))throw Error.argument("value",Sys.Res.arrayParseBadFormat);return b};Array.remove=function(b,c){var a=Array.indexOf(b,c);a>=0&&b.splice(a,1);return a>=0};Array.removeAt=function(a,b){a.splice(b,1)};window.stringBuilder=function(a){this._parts=typeof a!=="undefined"&&a!==null&&a!==""?[a.toString()]:[];this._value={};this._len=0};function stringBuilderAppend(a){this._parts[this._parts.length]=a}function stringBuilderAppendLine(a){this._parts[this._parts.length]=typeof a==="undefined"||a===null||a===""?"\r\n":a+"\r\n"}function stringBuilderClear(){this._parts=[];this._value={};this._len=0}function stringBuilderIsEmpty(){return this._parts.length===0?true:this.toString()===""}function stringBuilderToString(a){var f="undefined",c=this;a=a||"";var b=c._parts;if(c._len!==b.length){c._value={};c._len=b.length}var e=c._value;if(typeof e[a]===f){if(a!=="")for(var d=0;d<b.length;)if(typeof b[d]===f||b[d]===""||b[d]===null)b.splice(d,1);else d++;e[a]=c._parts.join(a)}return e[a]}stringBuilder.prototype={append:stringBuilderAppend,appendLine:stringBuilderAppendLine,clear:stringBuilderClear,isEmpty:stringBuilderIsEmpty,toString:stringBuilderToString}
