/g,">").replace(/ /g," ").replace(/"/g,""");};Array.prototype.write=function(t){var s=(arguments.length>1)?arguments[1]:this.length;if((typeof t.length==="undefined")||(typeof t==="string")){t=[t];}if(s<0){s=0;}for(var i=0;im){m=c[i];n=i;}}return u[n];};Uint8Array.prototype.duplicate=function(n){var c=(arguments.length>1)?arguments[1]:0;var r=new Uint8Array(n);for(var i=0;i1)?arguments[1]:0;var b=(arguments.length>2)?arguments[2]:true;if(l<=this.length){return this;}if(isNaN(parseInt(c))){c=0;}var a=new Uint8Array(this.length-l);for(var i=0;ithis.length){e=this.length;}return new Uint8Array(this.buffer.slice(s,e));};Uint8Array.prototype.trimRight=function(){var c=(arguments.length>0)?arguments[0]:0;var n=this.length-1;for(var i=0;i1)?arguments[1]:LittleEndian;var r=new ArrayBuffer(2);new DataView(r,0,2).setInt16(0,t,e);return new Uint8Array(r);};Uint8Array.prototype.fromInt32=function(t){var e=(arguments.length>1)?arguments[1]:LittleEndian;var r=new ArrayBuffer(4);new DataView(r,0,4).setInt32(0,t,e);return new Uint8Array(r);};Uint8Array.prototype.fromInt=function(l,t){var e=(arguments.length>2)?arguments[2]:LittleEndian;switch(l){case 1:return this.fromInt8(t);break;case 2:return this.fromInt16(t,e);break;case 4:return this.fromInt32(t,e);break;}};Uint8Array.prototype.fromUint8=function(t){var r=new ArrayBuffer(1);new DataView(r,0,1).setUint8(0,t);return new Uint8Array(r);};Uint8Array.prototype.fromUint16=function(t){var e=(arguments.length>1)?arguments[1]:LittleEndian;var r=new ArrayBuffer(2);new DataView(r,0,2).setUint16(0,t,e);return new Uint8Array(r);};Uint8Array.prototype.fromUint32=function(t){var e=(arguments.length>1)?arguments[1]:LittleEndian;var r=new ArrayBuffer(4);new DataView(r,0,4).setUint32(0,t,e);return new Uint8Array(r);};Uint8Array.prototype.fromUint=function(l,t){var e=(arguments.length>2)?arguments[2]:LittleEndian;switch(l){case 1:return this.fromUint8(t);break;case 2:return this.fromUint16(t,e);break;case 4:return this.fromUint32(t,e);break;}};Uint8Array.prototype.fromFloat32=function(t){var e=(arguments.length>1)?arguments[1]:LittleEndian;var r=new ArrayBuffer(4);new DataView(r,0,4).setFloat32(0,t,e);return new Uint8Array(r);};Uint8Array.prototype.fromFloat64=function(t){var e=(arguments.length>1)?arguments[1]:LittleEndian;var r=new ArrayBuffer(8);new DataView(r,0,8).setFloat64(0,t,e);return new Uint8Array(r);};Uint8Array.prototype.fromFloat=function(l,t){var e=(arguments.length>2)?arguments[2]:LittleEndian;switch(l){case 4:return this.fromFloat32(t,e);break;case 8:return this.fromFloat64(t,e);break;}};Uint8Array.prototype.fromBase64=function(t){var format=(function(){t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");var e=0;var n=t.length;while(true){n=t.lastIndexOf("=",n-1);if(n!=-1){e+=1;}else{break;}}if(e>2){t=t.substring(0,t.length-(e-2));}})();var z=0;if(t[t.length-1]=="="){z+=1;if(t[t.length-2]=="="){z+=1;}}var r=new Uint8Array(t.length/4*3-z);var c=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1];var c1;var c2;var c3;var c4;var i=0;var j=0;while(i>4));do{c3=t.charCodeAt(i++)&255;if(c3==61){return r;}c3=c[c3];}while((i>2));do{c4=t.charCodeAt(i++)&255;if(c4==61){return r;}c4=c[c4];}while((i0;j--){if(t[i*8+j-1]!=0){r[i]+=Math.pow(2,8-j);}}}return r;};Uint8Array.prototype.fromHex=function(t){var format=(function(){t=t.replace(/[^A-Fa-f0-9]/g,"").replace(/(\s|\r|\n)/g,"").toUpperCase();if(t==""){return new Uint8Array(0);}if(t.length%2!=0){t+="0";}})();var r=new Uint8Array(t.length/2);for(var i=0;i1)?arguments[1]:"UTF-8";switch(e){case"ANSI":var a=[];for(var i=0;i1)?arguments[1]:0;if((s<0)||(s>this.length-1)){return;}new DataView(this.buffer,s,1).setInt8(0,t);};Uint8Array.prototype.setInt16=function(t){var s=(arguments.length>1)?arguments[1]:0;var e=(arguments.length>2)?arguments[2]:LittleEndian;if((s<0)||(s>this.length-1)){return;}new DataView(this.buffer,s,2).setInt16(0,t,e);};Uint8Array.prototype.setInt32=function(t){var s=(arguments.length>1)?arguments[1]:0;var e=(arguments.length>2)?arguments[2]:LittleEndian;if((s<0)||(s>this.length-1)){return;}new DataView(this.buffer,s,4).setInt32(0,t,e);};Uint8Array.prototype.setInt=function(l,t){var s=(arguments.length>2)?arguments[2]:0;var e=(arguments.length>3)?arguments[3]:LittleEndian;if((s<0)||(s>this.length-1)){return;}switch(l){case 1:return this.setInt8(t,s);break;case 2:return this.setInt16(t,s,e);break;case 4:return this.setInt32(t,s,e);break;}};Uint8Array.prototype.setUint8=function(t){var s=(arguments.length>1)?arguments[1]:0;if((s<0)||(s>this.length-1)){return;}new DataView(this.buffer,s,1).setUint8(0,t);};Uint8Array.prototype.setUint16=function(t){var s=(arguments.length>1)?arguments[1]:0;var e=(arguments.length>2)?arguments[2]:LittleEndian;if((s<0)||(s>this.length-1)){return;}new DataView(this.buffer,s,2).setUint16(0,t,e);};Uint8Array.prototype.setUint32=function(t){var s=(arguments.length>1)?arguments[1]:0;var e=(arguments.length>2)?arguments[2]:LittleEndian;if((s<0)||(s>this.length-1)){return;}new DataView(this.buffer,s,4).setUint32(0,t,e);};Uint8Array.prototype.setUint=function(l,t){var s=(arguments.length>2)?arguments[2]:0;var e=(arguments.length>3)?arguments[3]:LittleEndian;if((s<0)||(s>this.length-1)){return;}switch(l){case 1:return this.setUint8(t,s);break;case 2:return this.setUint16(t,s,e);break;case 4:return this.setUint32(t,s,e);break;}};Uint8Array.prototype.setFloat32=function(t){var s=(arguments.length>1)?arguments[1]:0;var e=(arguments.length>2)?arguments[2]:LittleEndian;if((s<0)||(s>this.length-1)){return;}new DataView(this.buffer,s,4).setFloat32(0,t,e);};Uint8Array.prototype.setFloat64=function(t){var s=(arguments.length>1)?arguments[1]:0;var e=(arguments.length>2)?arguments[2]:LittleEndian;if((s<0)||(s>this.length-1)){return;}new DataView(this.buffer,s,8).setFloat64(0,t,e);};Uint8Array.prototype.setFloat=function(l,t){var e=(arguments.length>2)?arguments[2]:LittleEndian;switch(l){case 4:return this.setFloat32(t,e);break;case 8:return this.setFloat64(t,e);break;}};Uint8Array.prototype.setBase64=function(t){var s=(arguments.length>1)?arguments[1]:0;if((s<0)||(s>this.length-1)){return;}this.set(new Uint8Array().fromBase64(t),s);};Uint8Array.prototype.setBits=function(t){var s=(arguments.length>1)?arguments[1]:0;if((s<0)||(s>this.length-1)){return;}this.set(new Uint8Array().fromBits(t),s);};Uint8Array.prototype.setHex=function(t){var s=(arguments.length>1)?arguments[1]:0;if((s<0)||(s>this.length-1)){return;}this.set(new Uint8Array().fromHex(t),s);};Uint8Array.prototype.setText=function(t){var s=(arguments.length>1)?arguments[1]:0;var e=(arguments.length>2)?arguments[2]:"UTF-8";if((s<0)||(s>this.length-1)){return;}this.set(new Uint8Array().fromText(t,e),s);};Uint8Array.prototype.getInt8=function(){var s=(arguments.length>0)?arguments[0]:0;if((s<0)||(s>this.length-1)){return;}return new DataView(this.buffer,s,1).getInt8(0);};Uint8Array.prototype.getInt16=function(){var s=(arguments.length>0)?arguments[0]:0;var e=(arguments.length>1)?arguments[1]:LittleEndian;if((s<0)||(s>this.length-1)){return;}return new DataView(this.buffer,s,2).getInt16(0,e);};Uint8Array.prototype.getInt32=function(){var s=(arguments.length>0)?arguments[0]:0;var e=(arguments.length>1)?arguments[1]:LittleEndian;if((s<0)||(s>this.length-1)){return;}return new DataView(this.buffer,s,4).getInt32(0,e);};Uint8Array.prototype.getInt=function(l){var s=(arguments.length>1)?arguments[1]:0;var e=(arguments.length>2)?arguments[2]:LittleEndian;if((s<0)||(s>this.length-1)){return;}switch(l){case 1:return this.getInt8(s);break;case 2:return this.getInt16(s,e);break;case 3:if(e){return this.getInt16(s,e)+this.getInt8(s+2)*65536;}else{return this.getInt8(s)*65536+this.getInt16(s+1,e);}break;case 4:return this.getInt32(s,e);break;}};Uint8Array.prototype.getUint8=function(){var s=(arguments.length>0)?arguments[0]:0;if((s<0)||(s>this.length-1)){return;}return new DataView(this.buffer,s,1).getUint8(0);};Uint8Array.prototype.getUint16=function(){var s=(arguments.length>0)?arguments[0]:0;var e=(arguments.length>1)?arguments[1]:LittleEndian;if((s<0)||(s>this.length-1)){return;}return new DataView(this.buffer,s,2).getUint16(0,e);};Uint8Array.prototype.getUint32=function(){var s=(arguments.length>0)?arguments[0]:0;var e=(arguments.length>1)?arguments[1]:LittleEndian;if((s<0)||(s>this.length-1)){return;}return new DataView(this.buffer,s,4).getUint32(0,e);};Uint8Array.prototype.getUint=function(l){var s=(arguments.length>1)?arguments[1]:0;var e=(arguments.length>2)?arguments[2]:LittleEndian;if((s<0)||(s>this.length-1)){return;}switch(l){case 1:return this.getUint8(s);break;case 2:return this.getUint16(s,e);break;case 3:if(e){return this.getUint16(s,e)+this.getUint8(s+2)*65536;}else{return this.getUint8(s)*65536+this.getUint16(s+1,e);}break;case 4:return this.getUint32(s,e);break;}};Uint8Array.prototype.getFloat32=function(){var s=(arguments.length>0)?arguments[0]:0;var e=(arguments.length>1)?arguments[1]:LittleEndian;if((s<0)||(s>this.length-1)){return;}return new DataView(this.buffer,s,4).getFloat32(0,e);};Uint8Array.prototype.getFloat64=function(){var s=(arguments.length>0)?arguments[0]:0;var e=(arguments.length>1)?arguments[1]:LittleEndian;if((s<0)||(s>this.length-1)){return;}return new DataView(this.buffer,s,8).getFloat64(0,e);};Uint8Array.prototype.getFloat=function(l){var s=(arguments.length>1)?arguments[1]:0;var e=(arguments.length>2)?arguments[2]:LittleEndian;if((s<0)||(s>this.length-1)){return;}switch(l){case 4:return this.getFloat32(s,e);break;case 8:return this.getFloat64(s,e);break;}};Uint8Array.prototype.getBase64=function(){var s=(arguments.length>0)?arguments[0]:0;var l=(arguments.length>1)?arguments[1]:this.length-s;if((s<0)||(s>this.length-1)){return;}l=Math.min(l,this.length-s);var r=[];var c="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var i=s;var e=s+l;while(i>2));r.push(c.charAt((c1&3)<<4));r.push("==");break;}var c2=this[i++];if(i==e){r.push(c.charAt(c1>>2));r.push(c.charAt(((c1&3)<<4)|((c2&240)>>4)));r.push(c.charAt((c2&15)<<2));r.push("=");break;}var c3=this[i++];r.push(c.charAt(c1>>2));r.push(c.charAt(((c1&3)<<4)|((c2&240)>>4)));r.push(c.charAt(((c2&15)<<2)|((c3&192)>>6)));r.push(c.charAt(c3&63));}return r.join("");};Uint8Array.prototype.getBits=function(){var s=(arguments.length>0)?arguments[0]:0;var l=(arguments.length>1)?arguments[1]:this.length-s;if((s<0)||(s>this.length-1)){return;}l=Math.min(l,this.length-s);var e=s+l;var r=new Uint8Array(l*8);for(var i=s;i0;j--){var m=v%2;r[i*8+j-1]=m;v=(v-m)/2;}}return r;};Uint8Array.prototype.getHex=function(){var s=(arguments.length>0)?arguments[0]:0;var l=(arguments.length>1)?arguments[1]:this.length-s;var c=(arguments.length>2)?arguments[2]:"";var b=(arguments.length>3)?arguments[3]:true;if((s<0)||(s>this.length-1)){return;}l=Math.min(l,this.length-s);var r=[];var e=s+l;for(var i=s;i0)?arguments[0]:0;var l=(arguments.length>1)?arguments[1]:this.length-s;var e=(arguments.length>2)?arguments[2]:"UTF-8";if((s<0)||(s>this.length-1)){return;}l=Math.min(l,this.length-s);var toANSI=function(h){var r=[];if(h.length>1){for(var i=0;i2)&&(buffer[0]==239)&&(buffer[1]==187)&&(buffer[2]==191)){o=3;}if(buffer.length>36+o){switch(buffer[36+o]){case 32:r="bin";break;case 63:r="mde";break;}}if(buffer.length>1+o){switch(buffer[1+o]){case 98:r="yddr";break;}}if((buffer.length>4)&&(buffer[0]==47)&&(buffer[1]==78)&&(buffer[2]==106)&&(buffer[3]==90)){r="ydsd";}break;default:return ext;}return r;}function OptimizeFileName(){var k=(arguments.length>0)?arguments[0]:-1;var d=(arguments.length>1)?arguments[1]:"_ez";var t=FileNameOriginal;var IsPositiveDecimal=function(t){var v=t.match(/^\d+$/);return(v!==null)&&(v>0);};var l=t.lastIndexOf(".");if(l!=-1){FileExtension=t.substring(l+1).toLowerCase();t=t.substring(0,l);}var l1;var l2;while(true){l1=t.lastIndexOf("(");l2=t.lastIndexOf(")");if((l1!=-1)&&(l2!=-1)&&(l11)?arguments[1]:0;var l=(arguments.length>2)?arguments[2]:t.length-s;if((s<0)||(s>t.length-1)){return;}l=Math.min(l,t.length-s);var Add=function(X,Y){var r=(X&1073741823)+(Y&1073741823);var X4=(X&1073741824);var Y4=(Y&1073741824);var X8=(X&2147483648);var Y8=(Y&2147483648);if(X4&Y4){return(r^2147483648^X8^Y8);}if(X4|Y4){if(r&1073741824){return(r^3221225472^X8^Y8);}else{return(r^1073741824^X8^Y8);}}else{return(r^X8^Y8);}};var Rotate=function(t,b){return(t<>>(32-b));};var F=function(X,Y,Z){return(X&Y)|((~X)&Z);};var G=function(X,Y,Z){return(X&Z)|(Y&(~Z));};var H=function(X,Y,Z){return(X^Y^Z);};var I=function(X,Y,Z){return(Y^(X|(~Z)));};var FF=function(a,b,c,d,m,s,t){a=Add(a,Add(Add(F(b,c,d),m),t));return Add(Rotate(a,s),b);};var GG=function(a,b,c,d,m,s,t){a=Add(a,Add(Add(G(b,c,d),m),t));return Add(Rotate(a,s),b);};var HH=function(a,b,c,d,m,s,t){a=Add(a,Add(Add(H(b,c,d),m),t));return Add(Rotate(a,s),b);};var II=function(a,b,c,d,m,s,t){a=Add(a,Add(Add(I(b,c,d),m),t));return Add(Rotate(a,s),b);};var m=(function(){var c;var p;var n=(((l+8)-((l+8)%64))/64+1)*16;var r=new Int32Array(n-1);var i=0;while(i>>29;return r;})();var A;var B;var C;var D;var a=1732584193;var b=4023233417;var c=2562383102;var d=271733878;for(var i=0;i1)?arguments[1]:0;var l=(arguments.length>2)?arguments[2]:t.length-s;if((s<0)||(s>t.length-1)){return;}l=Math.min(l,t.length-s);var Table=(function(){var r=new Int32Array(256);var c;for(var i=0;i<256;i++){c=i;for(var j=0;j<8;j++){if(c&1){c=(c>>>1)^3988292384;}else{c=c>>>1;}}r[i]=c;}return r;})();var c=~0;for(var i=0;i>>8)^Table[c&255^t[i+s]];}return new Uint8Array().fromInt32(~c>>>0,false).getHex();}function GetSHA1(t){var s=(arguments.length>1)?arguments[1]:0;var l=(arguments.length>2)?arguments[2]:t.length-s;if((s<0)||(s>t.length-1)){return;}l=Math.min(l,t.length-s);var Add=function(x,y){return((x&2147483647)+(y&2147483647))^(x&2147483648)^(y&2147483648);};var S=function(n,c){return(n<>>(32-c));};var Ft=function(t,B,C,D){return(t<20)?(B&C)|((~B)&D):(t<40)?B^C^D:(t<60)?(B&C)|(B&D)|(C&D):B^C^D;};var Kt=function(t){return(t<20)?1518500249:(t<40)?1859775393:(t<60)?2400959708:3395469782;};var SHA1=function(t){var W=new Array(80);var H0=1732584193;var H1=4023233417;var H2=2562383102;var H3=271733878;var H4=3285377520;for(var i=0;i>6)+1;var r=new Uint32Array(n*16);for(var i=0;i>2]|=t[s+j]<<(24-(j&3)*8);}r[j>>2]|=128<<(24-(j&3)*8);r[n*16-1]=l*8;return r;})();var r=SHA1(m);for(var i=0;i3)?arguments[3]:k;var format=function(t){if(t.length==8){return t;}var r=new Uint8Array(8);for(var i=0;ii){r[i]=t[i];}else{break;}}return r;};k=format(k);k2=format(k2);var PC1=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4];var PC2=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32];var L=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];var I=[58,50,42,34,26,18,10,2,60,52,44,36,28,20,12,4,62,54,46,38,30,22,14,6,64,56,48,40,32,24,16,8,57,49,41,33,25,17,9,1,59,51,43,35,27,19,11,3,61,53,45,37,29,21,13,5,63,55,47,39,31,23,15,7];var F=[40,8,48,16,56,24,64,32,39,7,47,15,55,23,63,31,38,6,46,14,54,22,62,30,37,5,45,13,53,21,61,29,36,4,44,12,52,20,60,28,35,3,43,11,51,19,59,27,34,2,42,10,50,18,58,26,33,1,41,9,49,17,57,25];var E=[32,1,2,3,4,5,4,5,6,7,8,9,8,9,10,11,12,13,12,13,14,15,16,17,16,17,18,19,20,21,20,21,22,23,24,25,24,25,26,27,28,29,28,29,30,31,32,1];var P=[16,7,20,21,29,12,28,17,1,15,23,26,5,18,31,10,2,8,24,14,32,27,3,9,19,13,30,6,22,11,4,25];var S=[[14,4,13,1,2,15,11,8,3,10,6,12,5,9,0,7,0,15,7,4,14,2,13,1,10,6,12,11,9,5,3,8,4,1,14,8,13,6,2,11,15,12,9,7,3,10,5,0,15,12,8,2,4,9,1,7,5,11,3,14,10,0,6,13],[15,1,8,14,6,11,3,4,9,7,2,13,12,0,5,10,3,13,4,7,15,2,8,14,12,0,1,10,6,9,11,5,0,14,7,11,10,4,13,1,5,8,12,6,9,3,2,15,13,8,10,1,3,15,4,2,11,6,7,12,0,5,14,9],[10,0,9,14,6,3,15,5,1,13,12,7,11,4,2,8,13,7,0,9,3,4,6,10,2,8,5,14,12,11,15,1,13,6,4,9,8,15,3,0,11,1,2,12,5,10,14,7,1,10,13,0,6,9,8,7,4,15,14,3,11,5,2,12],[7,13,14,3,0,6,9,10,1,2,8,5,11,12,4,15,13,8,11,5,6,15,0,3,4,7,2,12,1,10,14,9,10,6,9,0,12,11,7,13,15,1,3,14,5,2,8,4,3,15,0,6,10,1,13,8,9,4,5,11,12,7,2,14],[2,12,4,1,7,10,11,6,8,5,3,15,13,0,14,9,14,11,2,12,4,7,13,1,5,0,15,10,3,9,8,6,4,2,1,11,10,13,7,8,15,9,12,5,6,3,0,14,11,8,12,7,1,14,2,13,6,15,0,9,10,4,5,3],[12,1,10,15,9,2,6,8,0,13,3,4,14,7,5,11,10,15,4,2,7,12,9,5,6,1,13,14,0,11,3,8,9,14,15,5,2,8,12,3,7,0,4,10,1,13,11,6,4,3,2,12,9,5,15,10,11,14,1,7,6,0,8,13],[4,11,2,14,15,0,8,13,3,12,9,7,5,10,6,1,13,0,11,7,4,9,1,10,14,3,5,12,2,15,8,6,1,4,11,13,12,3,7,14,10,15,6,8,0,5,9,2,6,11,13,8,1,4,10,7,9,5,0,15,14,2,3,12],[13,2,8,4,6,15,11,1,10,9,3,14,5,0,12,7,1,15,13,8,10,3,7,4,12,5,6,11,0,14,9,2,7,11,4,1,9,12,14,2,0,6,10,13,15,3,5,8,2,1,14,7,4,10,8,13,15,12,9,0,3,5,6,11]];var Permute=function(t,s,p){for(var i=0;i0;i--){Fc(L,R,K[i-1]);}}for(var i=0;i<32;i++){t[i]=R[i];t[i+32]=L[i];}return Permute(new Uint8Array(64),t,F);};for(var i=0;i0)?arguments[0]:true;var r=[];r.push(document.getElementById("inputDrawBackground").checked);r.push(document.getElementById("inputDrawTrack").checked);r.push(document.getElementById("inputDrawFrame").checked);r.push(document.getElementById("inputDrawBeat").checked);r.push(document.getElementById("inputDrawCombo").checked);r.push(document.getElementById("inputDrawDetermine").checked);if(b){r.push(GetSelectValue("selectImdScaleX"));r.push(GetSelectValue("selectImdScaleY"));}else{r.push("1");r.push("0");}return r;}function GetFontSize(f){var r=0;var a=f.split(" ");for(var i=0;i2)&&(a[i].substring(a[i].length-2,a[i].length)=="px")){var s;try{s=parseInt(a[i].substring(0,a[i].length-2),10);if(isNaN(s)){s=0;}}catch(e){s=0;}if(s!=0){r=s;break;}}}return r;}function SetFontSize(f,n){var a=f.split(" ");for(var i=0;i2)&&(a[i].substring(a[i].length-2,a[i].length)=="px")){a[i]=n.toString()+"px";break;}}return a.join(" ");}function GetDateTime(){var d=new Date();return d.getFullYear().toString().fill(4,"0",true)+"."+(d.getMonth()+1).toString().fill(2,"0",true)+"."+d.getDate().toString().fill(2,"0",true)+" "+d.getHours().toString().fill(2,"0",true)+":"+d.getMinutes().toString().fill(2,"0",true)+":"+d.getSeconds().toString().fill(2,"0",true);}function MillisecondToTime(t){var ms=t;var m=Math.floor(ms/60000);ms-=m*60000;var s=Math.floor(ms/1000);ms-=s*1000;return m.toString()+":"+s.toString().fill(2,"0",true)+"."+ms.toString();}function ComboToScore(n){var r=0;if(n>=100){r+=(n-100)*600;n=100;}if(n>=50){r+=(n-50)*466;n=50;}if(n>=20){r+=(n-20)*332;n=20;}r+=n*200;return r;}function BaseToDec(t){t=t.toUpperCase();var d=(arguments.length>1)?arguments[1]:16;var r=0;var s;var m=1;switch(d){case 16:s="0123456789ABCDEF";break;case 36:s="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";break;}for(var i=0;i1)?arguments[1]:16;var r="";var s;switch(d){case 16:s="0123456789ABCDEF";break;case 36:s="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";break;}while(t>0){var n=t%d;r=s[n]+r;t=Math.floor(t/d);}return r.fill(2,"0",true);}function IsNumberClose(t,c){var v=(arguments.length>2)?arguments[2]:3;return Math.abs(t-c)<=v;}function CloseNumber(t,c){var v=(arguments.length>2)?arguments[2]:3;var r=t;if(Math.abs(t-c)<=v){r=c;}return r;}function CloseNumbers(t,c,v){var v=(arguments.length>2)?arguments[2]:3;var r=t;for(var i=0;ii)&&(b.length>i)){var na=parseFloat(a[i]);var nb=parseFloat(b[i]);if((!isNaN(na))&&(!isNaN(nb))){r=SortNumber(na,nb);i+=1;}else{return a[i]>b[i];}}else{return r;}}return r;}function SortActionParts(a){for(var i=0;i2)?arguments[2]:"";var _bufferImd;var _bufferTxtimd;var _bufferTxtvos000;var _bufferTxtvos001;var _bufferTxtvos006;var _bufferTxtvos022;var _bufferXmlyddr;var _bufferXmlydsd;var _bufferXmlmde;var _bufferMde;var _bufferVosvos000;var _bufferVosvos001;var _bufferVosvos006;var _bufferVosvos022;var _bufferBms;var _bufferOsu;var _bufferMid;var _bufferLrc;var _textImd;var _textTxtimd;var _textTxtvos000;var _textTxtvos001;var _textTxtvos006;var _textTxtvos022;var _textXmlyddr;var _textXmlydsd;var _textXmlmde;var _textMde;var _textVosvos000;var _textVosvos001;var _textVosvos006;var _textVosvos022;var _textBms;var _textOsu;var _textPng;var _textHtml;var _textMid;var _textLrc;var _isValid=false;var _isPlane=false;var Meta={};var Length=0;var Beat=0;var Action=0;var Time=0;var BPM=0;var Combo=0;var Key=0;var Start=0;var End=0;var BeatData=[];var ActionData=[];var ActionDataL=[];var ActionDataS=[];var BeatLines=[];var BeatLines1=[];var BeatLines2=[];var BeatLines4=[];var DeterminePoints=[];var DetermineLines=[];var ComboPoints=[];var reset=function(){_bufferImd=undefined;_bufferTxtimd=undefined;_bufferTxtvos000=undefined;_bufferTxtvos001=undefined;_bufferTxtvos006=undefined;_bufferTxtvos022=undefined;_bufferXmlyddr=undefined;_bufferXmlydsd=undefined;_bufferXmlmde=undefined;_bufferMde=undefined;_bufferVosvos000=undefined;_bufferVosvos001=undefined;_bufferVosvos006=undefined;_bufferVosvos022=undefined;_bufferBms=undefined;_bufferOsu=undefined;_bufferMid=undefined;_bufferLrc=undefined;_textImd=undefined;_textTxtimd=undefined;_textTxtvos000=undefined;_textTxtvos001=undefined;_textTxtvos006=undefined;_textTxtvos022=undefined;_textXmlyddr=undefined;_textXmlydsd=undefined;_textXmlmde=undefined;_textMde=undefined;_textVosvos000=undefined;_textVosvos001=undefined;_textVosvos006=undefined;_textVosvos022=undefined;_textBms=undefined;_textOsu=undefined;_textPng=undefined;_textHtml=undefined;_textMid=undefined;_textLrc=undefined;_isValid=false;_isPlane=false;Meta=[];Length=0;Beat=0;Action=0;Time=0;BPM=0;Combo=0;Key=4;Start=0;End=0;BeatData=[];ActionData=[];ActionDataL=[];ActionDataS=[];BeatLines=[];BeatLines1=[];BeatLines2=[];BeatLines4=[];DeterminePoints=[];DetermineLines=[];ComboPoints=[];};var readMeta=function(f){var d=(arguments.length>1)?arguments[1]:"";for(var i=0;i0)?arguments[0]:[];var beats=(arguments.length>1)?arguments[1]:[];var time=(arguments.length>2)?arguments[2]:0;var bpm=0;var checkTime=(time==0);if(checkTime&&(actions.length!=0)){for(var i=0;i200){v/=2;}b.push(Math.round(v));}return b.majority();})();var offsets=(function(){var s=(arguments.length>2)?arguments[2]:0;var d=[];var m=60000/4/bpm;for(var i=s;i0){u-=1;}}else{u+=1;}if(u==0){e=p;}if(u>2){if((t.length>0)&&(e-s>2)){var v=Math.round(t.average());if(v!=0){r.push([actions[s][0],v]);}}t=[];u=0;s=p+1;e=s;}p+=1;if(p>=d.length-5){if((r.length>0)&&(r[r.length-1][0]!=actions[s][0])){var v=Math.round(t.average());if(v!=0){r.push([actions[s][0],v]);}}break;}}for(var i=1;i=offsets[n][0])){b=60000/(60000/b+offsets[n][1]);n+=1;}beats.push([Math.round(t),b]);if(t>time+60000/bpm){break;}t+=60000/b;}}if(checkTime&&(beats.length!=0)){bpm=(function(){if(bpm>0){return bpm;}else{var b=[];for(var i=0;i=beats[beats.length-1][0]){return time;}else{return Math.round(beats[beats.length-1][0]+6000/bpm);}})();}var imd=new Uint8Array(14+beats.length*12+actions.length*11);var p=0;imd.setInt32(time,p,true);p+=4;imd.setInt32(beats.length,p,true);p+=4;for(var i=0;i1)?arguments[1]:{};var checks=(arguments.length>2)?arguments[2]:GetImdCheck();reset();if(buffer.length==0){return;}Meta=meta;_isPlane=(function(){var r=Meta._isPlane;if(typeof r==="undefined"){r=false;}return r;})();var p=0;Length=buffer.getInt32(p,true);var readBeat=(function(){p+=4;Beat=buffer.getInt32(p,true);p+=4;for(var i=0;i0){var t=BeatData[0][0];var b=BeatData[0][1];while(BeatData[0][0]>0){t-=60000/b;if(IsNumberClose(t,0)){t=0;}BeatData.unshift([Math.round(t),b]);}}while(BeatData[0][0]<0){BeatData.shift();}if(BeatData[0][0]>0){BeatData[0][1]=60000/BeatData[0][0];}for(var i=0;iMath.max(ActionData[j][1],ActionData[j][1]+ActionData[j][3])))){return true;}}break;case 2:case 98:case 34:case 162:if(IsNumberClose(ActionData[i][0],ActionData[j][0])||((ActionData[i][0]>=ActionData[j][0])&&(ActionData[i][0]<=ActionData[j][0]+ActionData[j][3]))||IsNumberClose(ActionData[i][0],ActionData[j][0]+ActionData[j][3])){if(!((Math.max(ActionData[i][1],ActionData[i][1]+ActionData[i][3])ActionData[j][1]))){switch(ActionData[i][2]){case 97:switch(ActionData[j][2]){case 34:case 162:return false;break;}break;case 33:switch(ActionData[j][2]){case 98:case 34:case 162:return false;break;}break;case 161:switch(ActionData[j][2]){case 98:case 34:return false;break;}break;}return true;}}break;}break;case 2:case 98:case 34:case 162:switch(ActionData[j][2]){case 0:if(IsNumberClose(ActionData[i][0],ActionData[j][0])||((ActionData[i][0]<=ActionData[j][0])&&(ActionData[i][0]+ActionData[i][3]>=ActionData[j][0]))||IsNumberClose(ActionData[i][0]+ActionData[i][3],ActionData[j][0])){if(!((ActionData[i][1]Math.max(ActionData[j][1],ActionData[j][1]+ActionData[j][3])))){switch(ActionData[j][2]){case 97:switch(ActionData[i][2]){case 34:case 162:return false;break;}break;case 33:switch(ActionData[i][2]){case 98:case 34:case 162:return false;break;}break;case 161:switch(ActionData[i][2]){case 98:case 34:return false;break;}break;}return true;}}break;case 2:case 98:case 34:case 162:if(!((ActionData[i][0]+ActionData[i][3]ActionData[j][0]+ActionData[j][3])&&!IsNumberClose(ActionData[i][0],ActionData[j][0]+ActionData[j][3]))){if(ActionData[i][1]==ActionData[j][1]){return true;}}break;}break;}return false;};for(var i=0;i1?BeatData[BeatData.length-1][0]-BeatData[BeatData.length-2][0]:BeatData[BeatData.length-1][0];var b2=BeatData[BeatData.length-1][1];while(BeatData[BeatData.length-1][0]BeatData.length-1){dn=BeatData.length-1;}while(BeatData[dn][0]>dt){dn-=1;}while(BeatData[dn+1][0]=di){dt+=di;}else{dt+=dr;dp=1-dr/di;dn+=1;di=(BeatData[dn+1][0]-BeatData[dn][0])/4;dt+=di*dp;}dt=CloseNumber(dt,BeatData[dn][0]);dt=CloseNumber(dt,ActionData[i][0]+ActionData[i][3]);}while(dt\n","\n").split("\n");var ActionParts=[];for(var i=0;i').split("$");time=parseInt(time);if(isNaN(time)){continue;}for(var j=0;j2)?arguments[2]:true;if(b){p=0;}var f1="<"+f;var f2=""+f+">";var l1=x.indexOf(f1,p);if(l1==-1){return;}var l2=x.indexOf(f2,l1);if(l2==-1){return;}p=l2+f2.length;return x.substring(l1+f1.length,l2);};var readString=function(x,f){var f1="<"+f+">";var f2=""+f+">";return x.extract(f1,f2);};var readFloat=function(x,f){var r=readString(x,f);if(typeof r!=="undefined"){r=parseFloat(r);}return r;};var xml=readXml(_textXmlmde,"CTimeStream");var length=readFloat(xml,"mLength")*1000;var songName=readString(xml,"mSongName");var delay=readFloat(xml,"mStartDelay")*1000;var bpm=readFloat(xml,"mBPM");var notes=readXml(xml,"mNotes");var canvasSize=(function(){var s=readXml(xml,"mCanvasSize");var x=readFloat(s,"x");var y=readFloat(s,"y");return[x,y];})();var camList=readXml(xml,"mCamList");var defaultCamSize=readFloat(xml,"mDefaultCamSize");notes=(function(){var r=[];p=0;while(true){var x=readXml(notes,"CNoteBase",false);if(typeof x==="undefined"){break;}r.push(x);}return r;})();camList=(function(){var r=[];p=0;while(true){var x=readXml(camList,"CNoteCamData",false);if(typeof x==="undefined"){break;}r.push(x);}return r;})();var noteData=(function(){var r=[];p=0;for(var i=0;i');var index=readFloat(notes[i],"mIdx");var tick=readFloat(notes[i],"mTick");var pos=(function(){var s=readXml(notes[i],"mPos");var x=readFloat(s,"x");var y=readFloat(s,"y");return[x,y];})();var points=(function(){var r=[];var j=readXml(notes[i],"mPoints");if(typeof j==="undefined"){return r;}p=0;while(true){var s=readXml(j,"Vector2",false);if(typeof s==="undefined"){break;}var x=readFloat(s,"x");var y=readFloat(s,"y");r.push([x,y]);}return r;})();var endTick=readFloat(notes[i],"mEndTick");var slideDirection=readString(notes[i],"mSlideDirection");r[index]=[type,tick-delay,pos,points,endTick-delay,slideDirection];}return r;})();var camData=(function(){var r=[];p=0;for(var i=0;i0){if(r[0][0]!=0){r.unshift([0,[canvasSize[0]/2,canvasSize[1]/2],defaultCamSize]);}}return r;})();var transPos=function(t,p){for(var i=0;i=t)||(i==camData.length-1)){var j=(i==0?0:i-1);var r=(camData[j][0]==camData[i][0]?0:(t>=camData[i][0]?1:(t-camData[j][0])/(camData[i][0]-camData[j][0])));var x=r*(camData[i][1][0]-camData[j][1][0])+camData[j][1][0];var y=r*(camData[i][1][1]-camData[j][1][1])+camData[j][1][1];var s=r*(camData[i][2]-camData[j][2])+camData[j][2];var w=canvasSize[0]*s/1280;var h=canvasSize[1]*s/1280;return[(p[0]-x+w/2)/w,(p[1]-y+h/2)/h];}}};for(var i=0;ikey-1){track=key-1-timespan;}r.push([noteData[i][1],track,1,timespan]);break;case"CNoteLong":r.push([noteData[i][1],Math.floor(noteData[i][2][0]*key),2,noteData[i][4]-noteData[i][1]]);break;case"CNoteLongSlide":var s=[];var u=(noteData[i][4]-noteData[i][1])/(noteData[i][3].length-1);var b=false;if(noteData[i][3].length==0){s.push([noteData[i][1],Math.floor(noteData[i][2][0]*key),2,noteData[i][4]-noteData[i][1]]);}else{var t1=Math.floor(noteData[i][2][0]*key);var t2=Math.floor(noteData[i][3][0][0]*key);if(t1==t2){s.push([noteData[i][1],t1,98,0]);}else{s.push([noteData[i][1],t1,97,t2-t1]);s.push([noteData[i][1],t2,34,0]);}for(var j=1;j0){r=1;}else{if(x<0){r=-1;}else{if(y>=0){r=1;}else{if(y<0){r=-1;}}}}return r;})();s.push([noteData[i][4]-noteData[i][1],s[s.length-1][1]+timespan,161,timespan]);}switch(s[s.length-1][2]){case 97:case 33:s[s.length-1][2]=161;break;case 98:case 34:s[s.length-1][2]=162;break;}var offset=(function(){var r=(function(){for(var j=0;jkey-1){return key-1-t;}}return 0;})();if(r!=0){for(var j=0;jkey-1){return 0;}}}return r;})();if(offset!=0){for(var j=0;j1)?arguments[1]:LittleEndian;var r=buffer.getInt(l,p,e);p+=l;return r;};var ReadUint=function(l){var e=(arguments.length>1)?arguments[1]:LittleEndian;var r=buffer.getUint(l,p,e);p+=l;return r;};var ReadText=function(l){var r=buffer.getText(p,l);p+=l;return r;};var ReadDelta=function(){var r=0;for(var i=0;i<4;i++){var v=ReadUint(1);if(v<128){r*=128;r+=v;break;}else{v-=128;r*=128;r+=v;}}return r;};var meta={};meta._bufferVos=buffer;var vos={};var ActionParts=[];var BeatParts=[];var p=0;var TimeSet=[];var SequSet=[];var BeatMax=0;var ReadMidCore=function(){p+=10;var n=ReadInt(2,false);var frame=1;var frametick=120;var tick=(function(){var p1=ReadUint(1);var p2=ReadUint(1);if(p1<128){frame=1;frametick=p1*256+p2;}else{frame=p1-128;frametick=p2;}return frame*frametick;})();var index=[];var comment=[];var author=[];var title=[];var instrument=[];var lyrics=[];var tag=[];var prompt=[];var chanel=[];var offset=[];var timespan=500;var sequencer=192;var bom=4;var bon=4;var toc=24;var com=8;TimeSet=[[0,timespan]];SequSet=[[0,sequencer]];for(var i=0;iBeatMax){BeatMax==t;}}BeatMax=Math.ceil(BeatMax/4)*4;};switch(buffer[4]){case 64:var seg=[];var ReadHeader=(function(){for(var i=0;i<3;i++){p+=4;for(var i=0;i<3;i++){seg.push(ReadInt(4,true));p+=16;}}})();var ReadInf=(function(){p=seg[0];var n=4;if((buffer[p]==86)&&(buffer[p+1]==79)&&(buffer[p+2]==83)&&(buffer[p+3]==49)){p+=4;p+=2;p+=64;n=5;}vos.title=ReadText(ReadUint(1));meta.Title=vos.title;vos.artist=ReadText(ReadUint(1));meta.Artist=vos.artist;vos.comment=ReadText(ReadUint(1));meta.Comment=vos.comment;if(n==5){p=ReadUint(1)+p;}vos.author=ReadText(ReadUint(1));meta.Author=vos.author;vos.genre=ReadUint(1);meta.Genre=["Pop","New Age","Techno","Rock","SoundTrack","Game&Anime","Jazz","CenturyEnd","Classical","Other"][vos.genre];p+=1;vos.time=ReadInt(4,true);meta.Time=vos.time;vos.level=ReadUint(1);meta.Level=(vos.level+1).toString();p+=1023;vos.instrument=[];vos.data=[];for(var i=0;i<16;i++){vos.instrument[i]=ReadInt(4,true);vos.data[i]=[];var n=ReadInt(4,true);p+=14;for(var j=0;j=128){type-=128;islong=1;}if(track>=128){track-=128;isuser=1;}track=parseInt(track.toString(16).fill(2,"0",true)[0]);vos.data[i][j]=[];vos.data[i][j][0]=timestamp;vos.data[i][j][1]=track;vos.data[i][j][2]=islong;vos.data[i][j][3]=timespan;vos.data[i][j][4]=pitch;vos.data[i][j][5]=volume;vos.data[i][j][6]=isuser;vos.data[i][j][7]=type;}}})();var ReadMid=(function(){p=seg[1];meta._bufferMid=new Uint8Array(buffer.buffer,seg[1],seg[2]-seg[1]);ReadMidCore();})();break;case 12:p+=4;var ReadTrk=(function(){p=ReadInt(4,true)+p;var m=ReadInt(4,true)+p;p+=3;var v=parseInt(ReadText(3));vos.title=ReadText(ReadInt(2,true));meta.Title=vos.title;vos.artist=ReadText(ReadInt(2,true));meta.Artist=vos.artist;vos.comment=ReadText(ReadInt(2,true));meta.Comment=vos.comment;vos.author=ReadText(ReadInt(2,true));meta.Author=vos.author;vos.genre=ReadText(ReadInt(2,true));meta.Genre=vos.genre;p+=11;p+=4;p+=4;p+=1024;vos.instrument=[];vos.data=[];var l=ReadInt(4,true);p+=4;for(var i=0;in+1)&&(r.length-1>=SequSet[n+1][0])){n+=1;}var p=r.length-1;while((SequSet.length>n+1)&&(SequSet[n+1][0]-r.length<0)){t+=SequSet[n][1]*(SequSet[n+1][0]-p);p=SequSet[n+1][0];n+=1;}t+=SequSet[n][1]*(r.length-p);r.push(Math.round(t));}return r;})();var TimeBeat=(function(){var r=[0];var t=0;var n=0;for(var i=0;in+1)&&(i>=TimeSet[n+1][0])){n+=1;}var p=i;while((TimeSet.length>n+1)&&(TimeSet[n+1][0]-i<1)){t+=TimeSet[n][1]*(TimeSet[n+1][0]-p);p=TimeSet[n+1][0];n+=1;}t+=TimeSet[n][1]*(i+1-p);r.push(t);}return r;})();var TimeMax=(function(){while(TimeBeat.length=5)&&(a[i][0]=="#")){var ps=a[i].indexOf(" ",1);if(ps!=-1){var m=a[i].substring(1,ps).toUpperCase();switch(m){case"TIME":var v=parseFloat(a[i].substring(5));if(!isNaN(v)&&(v>=0)){hTime=v;}break;case"BPM":var v=parseFloat(a[i].substring(4));if(!isNaN(v)&&(v>=0)){hBPM=v;}break;case"LNTYPE":var v=parseInt(a[i].substring(7));if(!isNaN(v)&&(v!=0)){hLNTYPE=v;}break;case"LNOBJ":var v=a[i].substring(6).trim();if(v.length==2){hLNOBJ=v;}break;}var h=["PLAYER","GENRE","TITLE","ARTIST","TOTAL","PLAYLEVEL","RANK","DIFFICULTY","SUBTITLE","MIDFILE","STAGEFILE","EXTCHR","VOLWAV","VIDEOF/S"];for(var j=0;j=0)){hBPMs[c]=v;}}break;case"WAV":c=BaseToDec(c,36);if(!isNaN(c)){var v=a[i].substring(pc+1).trim();if(v!=""){hWAVs[c]=v;}}break;}}}else{var pc=a[i].indexOf(":",1);if(pc!=-1){var m=a[i].substring(1,pc).toUpperCase();if(m.length==5){var n=m.substring(0,3);var c=m.substring(3,5);n=parseInt(n);if(!isNaN(n)){if(typeof d[n]==="undefined"){d[n]=[];}var c=parseInt(a[i].substring(4,pc));if(!isNaN(c)&&(c!=0)){d[n][c]=a[i].substring(pc+1);switch(c){case 16:case 26:case 56:case 66:FileType="bms2";break;case 17:case 27:case 57:case 67:FileType="bm98";break;case 19:case 29:case 59:case 69:if(FileType!="bms2"){FileType="bms";}break;}}}}}}}}if(FileExtension==""){FileType="bms2";}for(var i=0;i1){d[d.length-1+i-1]=[];}break;}}var StartTime=0;var TimeSigns=[];var InnerBPMs=[];var InnerTimestamps=[];var WAVTimestamps=[];var BPMTimestamps=[];var SnData=[];var LnData=[];var BeatParts=[];var ActionParts=[];var IsAvd=(hLNTYPE==1);var AvdSnScript=["A8","A3","A4","A5","A6","A7","A9","AA","AB","AC","E3","E4","E5","E6","E7","E9","EA","EB","EC"];var AvdLnScript=["A8","B8","C3","C4","C5","C6","C7","C8","C9","CA","CB","CC","D3","D4","D5","D6","D7","D9","DA","DB","DC","E3","E4","E5","E6","E7","E8","E9","EA","EB","EC","F3","F4","F5","F6","F7","F9","FA","FB","FC"];var FillScript=function(t){if(t.length%2!=0){t+="0";}return t;};var ChanelToTrack=function(c){var r=-1;if(c>40){c-=40;}switch(FileType){case"bm98":switch(c){case 11:r=0;break;case 12:r=1;break;case 13:r=2;break;case 14:r=3;break;case 15:r=4;break;case 16:r=5;break;case 17:r=6;break;case 21:r=7;break;case 22:r=8;break;case 23:r=9;break;case 24:r=10;break;case 25:r=11;break;case 26:r=12;break;case 27:r=13;break;}break;case"bms":switch(c){case 11:r=0;break;case 12:r=1;break;case 13:r=2;break;case 14:r=3;break;case 15:r=4;break;case 18:r=5;break;case 19:r=6;break;case 21:r=7;break;case 22:r=8;break;case 23:r=9;break;case 24:r=10;break;case 25:r=11;break;case 28:r=12;break;case 29:r=13;break;}break;case"bms2":switch(c){case 16:r=0;break;case 11:r=1;break;case 12:r=2;break;case 13:r=3;break;case 14:r=4;break;case 15:r=5;break;case 18:r=6;break;case 26:r=7;break;case 21:r=8;break;case 22:r=9;break;case 23:r=10;break;case 24:r=11;break;case 25:r=12;break;case 28:r=13;break;}break;case"pms":switch(c){case 11:r=0;break;case 12:r=1;break;case 13:r=2;break;case 14:r=3;break;case 15:r=4;break;case 22:r=5;break;case 23:r=6;break;case 24:r=7;break;case 25:r=8;break;}break;}return r;};var MeasureActionTimestamps=function(t,p,l){var r=-1;var n=-1;for(var i=0;i=p/l){n=i;break;}}if(n==0){r=0;}else{if(n==1){r=t[n-1]-(n/t.length-p/l)*t[n-1];}else{if(n>1){r=t[n-1]-(n/t.length-p/l)*(t[n-1]-t[n-2])*t.length;}}}return r;};var MeasureBPMTimestamps=function(t,s){var r=[];var n=Math.ceil(s/0.25);for(var i=0;i50)&&(hLNTYPE==1)){if(IsAvd){IsAvd=(AvdLnScript.indexOf(u)!=-1);}if(typeof LnData[t]==="undefined"){LnData[t]=[];}LnData[t].push([Math.round(tm+MeasureActionTimestamps(InnerTimestamps[n],i/2,s.length/2)),u]);}}}i+=1;}}}}if(typeof d[n][1]!=="undefined"){var s=FillScript(d[n][1]);for(var i=0;i0){var t=BPMTimestamps[0];var b=60000/(BPMTimestamps[1]-BPMTimestamps[0]);while(BPMTimestamps[0]>0){t-=60000/b;if(IsNumberClose(t,0)){t=0;}BPMTimestamps.unshift(Math.round(t));}}while(BPMTimestamps[0]<0){BPMTimestamps.shift();}if(BPMTimestamps[0]!=0){BPMTimestamps.unshift(0);}BPMTimestamps.push(Math.round(BPMTimestamps[BPMTimestamps.length-1]+60000/hBPM));for(var i=0;i2)?arguments[2]:"";var b=(arguments.length>3)?arguments[3]:false;var f3=":";var e=osu.extract("["+f1+"]\n","\n[");if(typeof e==="undefined"){return d;}var a=e.split("\n");for(var i=0;i2)?arguments[2]:"";var v=ReadValue(f1,f2,d);if(v!=""){meta[f2]=v;}};var meta={};WriteMeta("General","AudioFilename");WriteMeta("General","AudioLeadIn");WriteMeta("General","PreviewTime");WriteMeta("General","Countdown");WriteMeta("General","SampleSet");WriteMeta("General","StackLeniency");WriteMeta("General","LetterboxInBreaks");WriteMeta("General","SpecialStyle");WriteMeta("General","WidescreenStoryboard");WriteMeta("Editor","DistanceSpacing");WriteMeta("Editor","BeatDivisor");WriteMeta("Editor","GridSize");WriteMeta("Editor","TimelineZoom");WriteMeta("Metadata","Title");WriteMeta("Metadata","TitleUnicode");WriteMeta("Metadata","Artist");WriteMeta("Metadata","ArtistUnicode");WriteMeta("Metadata","Creator");WriteMeta("Metadata","Version");WriteMeta("Metadata","Tags");WriteMeta("Metadata","BeatmapID");WriteMeta("Metadata","BeatmapSetID");WriteMeta("Difficulty","HPDrainRate");WriteMeta("Difficulty","OverallDifficulty");WriteMeta("Difficulty","ApproachRate");WriteMeta("Difficulty","SliderMultiplier");WriteMeta("Difficulty","SliderTickRate");var Events=ReadArray("Events");var l1=Events.indexOf("//Background and Video events");var l2=Events.indexOf("//Break Periods");for(var i=l2-1;i>l1;i--){var a=Events[i].split(",");if((a.length>2)&&(a[0]!="Video")){var v=a[2];if(v[0]=='"'){v=v.substring(1);}if(v[v.length-1]=='"'){v=v.substring(0,v.length-1);}meta.Background=v;break;}}var Mode=ReadValue("General","Mode",0,true);var CircleSize=ReadValue("Difficulty","CircleSize",true);var TimingPoints=ReadArray("TimingPoints");var HitObjects=ReadArray("HitObjects");var XToTrack=function(t){return Math.floor(t/512*CircleSize);};var ActionParts=(function(){var r=[];var a=[];for(var i=0;i2){a[i][2]=parseInt(a[i][2]);if(isNaN(a[i][2])){continue;}timestamps=a[i][2];a[i][0]=parseInt(a[i][0]);if(isNaN(a[i][0])){a[i][0]=0;}tracks=XToTrack(a[i][0]);}if(a[i].length>3){a[i][3]=parseInt(a[i][3]);if(isNaN(a[i][3])){a[i][3]=1;}action=(a[i][3]==128?2:0);}if((action==2)&&(a[i].length>5)){var t=a[i][5].split(":");if(t.length>0){t[0]=parseInt(t[0]);if(isNaN(t[0])){t[0]=0;}timespans=t[0];}}if(timespans==0){action=0;}if(!isNaN(timestamps)&&!isNaN(timespans)){r.push([timestamps,tracks,action,timespans-timestamps]);}}return r;})();var MinTime=(function(){var r=0;for(var i=0;i6){a[i][6]=parseInt(a[i][6]);if(isNaN(a[i][6])){a[i][6]=0;}inherited=a[i][6];}if(a[i].length>1){a[i][0]=parseInt(a[i][0]);if(isNaN(a[i][0])){continue;}offset=a[i][0];if(i!=0){while(o+d=0){a[i][1]=-100;}x=-100/a[i][1];bpm=b*x;}}if(a[i].length>2){a[i][2]=parseInt(a[i][2]);if(isNaN(a[i][2])){a[i][2]=4;}meter=a[i][2];m=meter;}bpm=bpm/4*meter;d=60000/bpm;o=offset;r.push([offset,bpm]);}while(o+d0){var t=r[0][0];var b=r[0][1];while(r[0][0]>0){t-=60000/b;if(IsNumberClose(t,0)){t=0;}r.unshift([Math.round(t),b]);}}while(r[0][0]<0){r.shift();}if(r[0][0]>0){r[0][1]=60000/r[0][0];}return r;})();fromImdBuffer(getImdBuffer(ActionParts.unrepeat().sort(SortNumbers),BeatParts),meta,GetImdCheck());};var toImdBuffer=function(){return _bufferImd;};var toTxtBuffer=function(type){switch(type){case"imd":if(typeof _textTxtimd==="undefined"){_textTxtimd=toTxtText("imd");}return new Uint8Array().fromText(_textTxtimd);break;case"vos000":if(typeof _textTxtvos000==="undefined"){_textTxtvos000=toTxtText(type);}return new Uint8Array().fromText(_textTxtvos000);break;case"vos001":if(typeof _textTxtvos001==="undefined"){_textTxtvos001=toTxtText(type);}return new Uint8Array().fromText(_textTxtvos001);break;case"vos006":if(typeof _textTxtvos006==="undefined"){_textTxtvos006=toTxtText(type);}return new Uint8Array().fromText(_textTxtvos006);break;case"vos022":if(typeof _textTxtvos022==="undefined"){_textTxtvos022=toTxtText(type);}return new Uint8Array().fromText(_textTxtvos022);break;}};var toXmlBuffer=function(type){switch(type){case"yddr":if(typeof _textXmlyddr==="undefined"){_textXmlyddr=toXmlText("yddr");}return new Uint8Array().fromText(_textXmlyddr);break;case"ydsd":if(typeof _textXmlydsd==="undefined"){_textXmlydsd=toXmlText("ydsd");}return new Uint8Array().fromText(_textXmlydsd);break;case"mde":if(typeof _textMde==="undefined"){_textMde=toMdeText();}return new Uint8Array().fromBase64(_textMde).trimRight();break;}};var toMdeBuffer=function(){if(typeof _textMde==="undefined"){_textMde=toMdeText();}if(typeof _textMde!=="undefined"){return new Uint8Array().fromText(_textMde);}};var toVosBuffer=function(type){var vos=readMeta(["vos"],undefined);return vos;};var toBmsBuffer=function(){if(typeof _textBms==="undefined"){_textBms=toBmsText();}return new Uint8Array().fromText(_textBms);};var toOsuBuffer=function(){if(typeof _textOsu==="undefined"){_textOsu=toOsuText();}return new Uint8Array().fromText(_textOsu);};var toMidBuffer=function(){var mid=readMeta(["mid"],undefined);return mid;};var toLrcBuffer=function(){if(typeof _textLrc==="undefined"){_textLrc=toLrcText();}if(typeof _textLrc==="undefined"){return;}return new Uint8Array().fromText(_textLrc);};var toImdText=function(){var ReadInt=function(l){var e=(arguments.length>1)?arguments[1]:LittleEndian;var r=_bufferImd.getInt(l,p,e);WriteHex(l);return r;};var WriteHex=function(l){txt.push(_bufferImd.getHex(p,l," "));p+=l;};var txt=[];var p=0;WriteHex(4);var b=ReadInt(4,true);for(var i=0;i');}return"\r\n"+r.join("\r\n")+"\r\n";break;case"ydsd":if(typeof _bufferXmlyddr==="undefined"){_bufferXmlyddr=toXmlBuffer("yddr");}return CryptDes(true,_bufferXmlyddr,new Uint8Array().fromText(new Uint8Array().fromText((3263047).toString(16)).getBase64())).getBase64();break;case"mde":if(typeof _bufferXmlmde==="undefined"){_bufferXmlmde=Meta._bufferXmlmde;}if(typeof _bufferXmlmde!=="undefined"){return _bufferXmlmde.getText();}break;}};var toMdeText=function(){if(typeof _bufferMde!=="undefined"){return _bufferMde.getText();}if(typeof _bufferXmlmde==="undefined"){_bufferXmlmde=Meta._bufferXmlmde;}if(typeof _bufferXmlmde!=="undefined"){var l=_bufferXmlmde.length;var n=0;while(true){n+=65536*4;if(l<=n){l=n;break;}}var d=new Uint8Array(l);d.set(_bufferXmlmde,0);return d.getBase64();}};var toVosText=function(type){_buffer=readMeta(["vosbuffer"],undefined);if(typeof _buffer==="undefined"){return;}var ReadInt=function(l){var e=(arguments.length>1)?arguments[1]:LittleEndian;var r=_buffer.getInt(l,p,e);WriteHex(l);return r;};var ReadUint=function(l){var e=(arguments.length>1)?arguments[1]:LittleEndian;var r=buffer.getUint(l,p,e);p+=l;return r;};var WriteHex=function(l){txt.push(_buffer.getHex(p,l," "));p+=l;};var txt=[];var p=0;switch(type){case"vos000":case"vos001":var seg=[];var ReadHeader=(function(){WriteHex(4);for(var i=0;i<3;i++){seg.push(ReadInt(4,true));WriteHex(16);}})();var ReadInf=(function(){p=seg[0];var n=4;if((_buffer[p]==86)&&(_buffer[p+1]==79)&&(_buffer[p+2]==83)&&(_buffer[p+3]==49)){WriteHex(4);WriteHex(2);WriteHex(64);n=5;}for(var i=0;iBeatsB.length-1){n=BeatsB.length-1;}while(BeatsB[n]>TimestampsB[i]){n-=1;}while(BeatsB[n+1]5)?arguments[5]:"01";if(typeof t==="undefined"){t=new String().duplicate(b1*32,"0");}t=t.splice(b2*32+Math.floor(t2/(t1/16))*2,2,c);return t;};var ReductScript=function(t){var b=(arguments.length>1)?arguments[1]:true;var r=t;if(b){while(r.length>2){var a1=r.splitEvery(2);var a2=[];for(var i=0;i=BeatsB[i])&&(OffsetKey){return -1;}return Math.floor(512/Key*(t+0.5));};var hVersion=(function(){var r="imd";var a=["_4k","_5k","_6k","_ez","_nm","_hd"];var b=["4K","5K","6K","Easy","Normal","Hard"];for(var i=0;i0)&&(BeatData[i][1]==BeatData[i-1][1])){MsPB=-100;Inherited=0;continue;}osu.push(BeatData[i][0]+","+MsPB+",4,2,2,60,"+Inherited+",0");}osu.push("");osu.push("");osu.push("[HitObjects]");for(var i=0;i0)?arguments[0]:GetImdOption(false);var ScaleX=parseFloat(options[6]);var ScaleY=parseFloat(options[7]);var PaddingTop=128*ScaleX;var PaddingBottom=64*ScaleX;var PaddingLeft=64*ScaleX;var PaddingRight=64*ScaleX;var CoreWidth=(Key==0?1:Math.ceil(Key/10))*128*ScaleX;var SpeedRate=Math.ceil(Time/(32767-PaddingTop-PaddingBottom));var SplitHeight=PaddingTop+Time/SpeedRate+PaddingBottom;if(ScaleY!=0){SpeedRate=2400/CoreWidth/ScaleX/ScaleY;}else{ScaleY=2400/CoreWidth/ScaleX/SpeedRate;}var CoreHeight=(End-Start)/SpeedRate;var WholeWidth=PaddingLeft+CoreWidth+PaddingRight;var WholeHeight=PaddingTop+CoreHeight+PaddingBottom;var SplitCount=Math.ceil(WholeHeight/SplitHeight);var NoteWidth=Math.round(Key<7?CoreWidth/Key*(105-5*Key)/100:CoreWidth/Key*0.85);var NoteHeight=Math.round(Key<7?CoreWidth/16:NoteWidth/2);var TouchNoteStyle="#0000FF";var HoldNoteStyle="#00FF00";var StrokeWidth=CoreWidth/32;var StrokeStyle="#00FF00";var ArrowStyle="#00FF00";var BackgroundStyle="#FFFFFF";var FrameStokeWidth=1*ScaleX;var FrameStokeStyle="#000000";var TrackLineWidth=0.24*ScaleX;var TrackLineStyle="#00FFFF";var BeatLineWidth=0.24*ScaleX;var BeatLineStyle="#000000";var StartLineWidth=0.96*ScaleX;var StartLineStyle="#0000FF";var DetermineLineWidth=0.24*ScaleX;var DetermineLineStyle="#FF0000";var DeterminePointRadius=NoteHeight/2;var DeterminePointStyle="#FF00FF";var TextStyle="#000000";var TextFont="12px Arial";var BoldTextFont="14px 微软雅黑 bold";var cvs=[];var ctx=[];for(var i=0;iy2){i1=Math.floor(y2/SplitHeight);i2=Math.floor(y1/SplitHeight);}else{if(y1SplitCount-1){i2=SplitCount-1;}for(var i=i1;iSplitCount-1){i2=SplitCount-1;}for(var i=i1;iSplitCount-1){i2=SplitCount-1;}for(var i=i1;iSplitCount-1){i2=SplitCount-1;}for(var i=i1;iSplitCount-1){i2=SplitCount-1;}for(var i=i1;i0){ctx[i].moveTo(Math.round(x-StrokeWidth/2),Math.round(y-SplitHeight*i+StrokeWidth));ctx[i].lineTo(Math.round(x-StrokeWidth/2),Math.round(y-SplitHeight*i-StrokeWidth));ctx[i].lineTo(Math.round(x-StrokeWidth/2+StrokeWidth*2),Math.round(y-SplitHeight*i));}}ctx[i].closePath();ctx[i].lineWidth=1;ctx[i].fillStyle=ArrowStyle;ctx[i].fill();}};var DrawKey=function(action,timestamp,track,timespan){switch(action){case 0:DrawNote(action,CoreWidth/Key*(track+0.5)+PaddingLeft,WholeHeight-timestamp/SpeedRate-PaddingBottom);break;case 1:DrawNote(action,CoreWidth/Key*(track+0.5)+PaddingLeft,WholeHeight-timestamp/SpeedRate-PaddingBottom);if(timespan<0){DrawStroke(CoreWidth/Key*(track+0.5+timespan)+StrokeWidth/2+PaddingLeft,WholeHeight-timestamp/SpeedRate-PaddingBottom,CoreWidth/Key*(track+0.5)-NoteWidth/2+PaddingLeft,WholeHeight-timestamp/SpeedRate-PaddingBottom);DrawArrow(timespan,CoreWidth/Key*(track+0.5+timespan)+PaddingLeft,WholeHeight-timestamp/SpeedRate-PaddingBottom);}else{if(timespan>0){DrawStroke(CoreWidth/Key*(track+0.5)+NoteWidth/2+PaddingLeft,WholeHeight-timestamp/SpeedRate-PaddingBottom,CoreWidth/Key*(track+0.5+timespan)-StrokeWidth/2+PaddingLeft,WholeHeight-timestamp/SpeedRate-PaddingBottom);DrawArrow(timespan,CoreWidth/Key*(track+0.5+timespan)+PaddingLeft,WholeHeight-timestamp/SpeedRate-PaddingBottom);}}break;case 2:DrawNote(action,CoreWidth/Key*(track+0.5)+PaddingLeft,WholeHeight-timestamp/SpeedRate-PaddingBottom);DrawStroke(CoreWidth/Key*(track+0.5)+PaddingLeft,WholeHeight-timestamp/SpeedRate-NoteHeight/2-PaddingBottom,CoreWidth/Key*(track+0.5)+PaddingLeft,WholeHeight-timestamp/SpeedRate-timespan/SpeedRate+StrokeWidth/2-PaddingBottom);DrawStroke(CoreWidth/Key*(track+0.5)-StrokeWidth+PaddingLeft,WholeHeight-timestamp/SpeedRate-timespan/SpeedRate-PaddingBottom,CoreWidth/Key*(track+0.5)+StrokeWidth+PaddingLeft,WholeHeight-timestamp/SpeedRate-timespan/SpeedRate-PaddingBottom);break;case 97:DrawNote(action,CoreWidth/Key*(track+0.5)+PaddingLeft,WholeHeight-timestamp/SpeedRate-PaddingBottom);if(timespan<0){DrawStroke(CoreWidth/Key*(track+0.5+timespan)-StrokeWidth/2+PaddingLeft,WholeHeight-timestamp/SpeedRate-PaddingBottom,CoreWidth/Key*(track+0.5)-NoteWidth/2+PaddingLeft,WholeHeight-timestamp/SpeedRate-PaddingBottom);}else{if(timespan>0){DrawStroke(CoreWidth/Key*(track+0.5)+NoteWidth/2+PaddingLeft,WholeHeight-timestamp/SpeedRate-PaddingBottom,CoreWidth/Key*(track+0.5+timespan)+StrokeWidth/2+PaddingLeft,WholeHeight-timestamp/SpeedRate-PaddingBottom);}}break;case 98:DrawNote(action,CoreWidth/Key*(track+0.5)+PaddingLeft,WholeHeight-timestamp/SpeedRate-PaddingBottom);DrawStroke(CoreWidth/Key*(track+0.5)+PaddingLeft,WholeHeight-timestamp/SpeedRate-NoteHeight/2-PaddingBottom,CoreWidth/Key*(track+0.5)+PaddingLeft,WholeHeight-timestamp/SpeedRate-timespan/SpeedRate+StrokeWidth/2-PaddingBottom);break;case 33:if(timespan<0){DrawStroke(CoreWidth/Key*(track+0.5+timespan)-StrokeWidth/2+PaddingLeft,WholeHeight-timestamp/SpeedRate-PaddingBottom,CoreWidth/Key*(track+0.5)+StrokeWidth/2+PaddingLeft,WholeHeight-timestamp/SpeedRate-PaddingBottom);}else{if(timespan>0){DrawStroke(CoreWidth/Key*(track+0.5)-StrokeWidth/2+PaddingLeft,WholeHeight-timestamp/SpeedRate-PaddingBottom,CoreWidth/Key*(track+0.5+timespan)+StrokeWidth/2+PaddingLeft,WholeHeight-timestamp/SpeedRate-PaddingBottom);}}break;case 34:DrawStroke(CoreWidth/Key*(track+0.5)+PaddingLeft,WholeHeight-timestamp/SpeedRate-StrokeWidth/2-PaddingBottom,CoreWidth/Key*(track+0.5)+PaddingLeft,WholeHeight-timestamp/SpeedRate-timespan/SpeedRate+StrokeWidth/2-PaddingBottom);break;case 161:if(timespan<0){DrawStroke(CoreWidth/Key*(track+0.5+timespan)+StrokeWidth/2+PaddingLeft,WholeHeight-timestamp/SpeedRate-PaddingBottom,CoreWidth/Key*(track+0.5)+StrokeWidth/2+PaddingLeft,WholeHeight-timestamp/SpeedRate-PaddingBottom);DrawArrow(timespan,CoreWidth/Key*(track+0.5+timespan)+PaddingLeft,WholeHeight-timestamp/SpeedRate-PaddingBottom);}else{if(timespan>0){DrawStroke(CoreWidth/Key*(track+0.5)-StrokeWidth/2+PaddingLeft,WholeHeight-timestamp/SpeedRate-PaddingBottom,CoreWidth/Key*(track+0.5+timespan)-StrokeWidth/2+PaddingLeft,WholeHeight-timestamp/SpeedRate-PaddingBottom);DrawArrow(timespan,CoreWidth/Key*(track+0.5+timespan)+PaddingLeft,WholeHeight-timestamp/SpeedRate-PaddingBottom);}}break;case 162:DrawStroke(CoreWidth/Key*(track+0.5)+PaddingLeft,WholeHeight-timestamp/SpeedRate-StrokeWidth/2-PaddingBottom,CoreWidth/Key*(track+0.5)+PaddingLeft,WholeHeight-timestamp/SpeedRate-timespan/SpeedRate+StrokeWidth/2-PaddingBottom);DrawStroke(CoreWidth/Key*(track+0.5)-StrokeWidth+PaddingLeft,WholeHeight-timestamp/SpeedRate-timespan/SpeedRate-PaddingBottom,CoreWidth/Key*(track+0.5)+StrokeWidth+PaddingLeft,WholeHeight-timestamp/SpeedRate-timespan/SpeedRate-PaddingBottom);break;}};if(options[0]){for(var i=0;i"+FileName+FileSuffix+"."+FileExtension+'');for(var i=0;i
');}html.push("