forked from prettydiff/prettydiff
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathprettydiff.js
More file actions
145 lines (110 loc) · 128 KB
/
prettydiff.js
File metadata and controls
145 lines (110 loc) · 128 KB
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
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
/*prettydiff.com api.topcoms: true, api.insize: 4, api.inchar: " " */
/*global o, exports, location */
/*
@source: http://prettydiff.com/documentation.php
@licstart The following is the entire license notice for the
JavaScript code in this page.
Created by Austin Cheney originally on 3 Mar 2009.
This code may not be used or redistributed unless the following
conditions are met:
There is no licensing associated with diffview.css. Please use,
redistribute, and alter to your content. However, diffview.css
provided from Pretty Diff is different from and not aligned with
diffview.css originally from Snowtide Informatics.
* The use of diffview.js and prettydiff.js must contain the following
copyright:
Copyright (c) 2007, Snowtide Informatics Systems, Inc.
All rights reserved.
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the
distribution.
* Neither the name of the Snowtide Informatics Systems nor the names
of its contributors may be used to endorse or promote products
derived from this software without specific prior written
permission.
- used as diffview function
<http://prettydiff.com/diffview.js>
* The author of fulljsmin.js and date of creation must be stated as:
Franck Marcia - 31 Aug 2006
- used as jsmin function:
<http://prettydiff.com/fulljsmin.js>
* The fulljsmin.js is used with permission from the author of jsminc.c
and such must be stated as:
Copyright (c) 2002 Douglas Crockford (www.crockford.com)
* The author of js-beautify.js must be stated as:
Written by Einars Lielmanis, <einars@gmail.com>
http://elfz.laacz.lv/beautify/
Originally converted to javascript by Vital, <vital76@gmail.com>
http://my.opera.com/Vital/blog/2007/11/21/
javascript-beautify-on-javascript-translated
- used as js_beautify function
<http://prettydiff.com/js-beautify.js>
* cleanCSS.js is originally written by Anthony Lieuallen
http://tools.arantius.com/tabifier
- used as cleanCSS function
<http://prettydiff.com/cleanCSS.js>
* charDecoder.js is written by Austin Cheney. Use of this function
requires that credit be given to Austin Cheney.
http://prettydiff.com/
- used as charDecoder function
<http://prettydiff.com/charDecoder.js>
* csvbeauty.js is written by Austin Cheney. Use of this function
requires that credit be given to Austin Cheney.
http://prettydiff.com/
- used as csvbeauty function
<http://prettydiff.com/csvbeauty.js>
* csvmin.js is written by Austin Cheney. Use of this function requires
that credit be given to Austin Cheney.
http://prettydiff.com/
- used as csvmin function
<http://prettydiff.com/csvmin.js>
* markupmin.js is written by Austin Cheney. Use of this function
requires that credit be given to Austin Cheney.
http://prettydiff.com/
- used as markupmin function
<http://prettydiff.com/markupmin.js>
* markup_beauty.js is written by Austin Cheney. Use of this function
requires that credit be given to Austin Cheney.
http://prettydiff.com/
- used as markup-beauty function
<http://prettydiff.com/markup_beauty.js>
* o object literal is in the pd.js file and exists to provide a one
time and external means of access to the DOM.
-----------------------------------------------------------------------
* The code mentioned above has significantly expanded documentation in
each of the respective function's external JS file as linked from the
documentation page:
<http://prettydiff.com/documentation.php>
* The compilation of cssClean, csvbeauty, csvmin, jsmin, jsdifflib,
markup_beauty, markupmin, and js-beautify in this manner is a result of
the prettydiff() function contained in prettydiff.js. The per
character highlighting is the result of the charcomp() function also
contained in prettydiff.js. Any use or redistribution of these
functions must mention the following:
Prettydiff created by Austin Cheney originally on 3 Mar 2009.
<http://prettydiff.com/>
Contact the author at:
austin.cheney@us.army.mil
* In addition to the previously stated requirements any use of any
component, aside from directly using the full files in their entirety,
must restate the license mentioned at the top of each concerned file.
If each and all these conditions are met use and redistribution of
prettydiff and its required assets is unlimited without author
permission.
@licend The above is the entire license notice for the JavaScript code
in this page.
*/
/***
Node.js compatiblity:
Copy the following code to the extreme end of this file.
if (typeof exports !== "string") {
exports.api = function (x) {
"use strict";
return prettydiff(x);
};
}
***/
var prettydiff=function(api){"use strict";var startTime=(function(){var d=new Date(),t=d.getTime();return t;}()),summary,charDecoder=function(input){var b=0,d=0,a=0,f=0,g=0,c=input,e=[],x=[],y=[],uni=(/u\+[0-9a-f]{4,5}\+/),unit=(/u\![0-9a-f]{4,5}\+/),htmln=(/\&\#[0-9]{1,6}\;/),htmlt=(/\&\![0-9]{1,6}\;/);if((!o.rh&&!o.rh.innerHTML)||(c.search(unit)===-1&&c.search(uni)===-1&&c.search(htmlt)===-1&&c.search(htmln)===-1)){return input;}f=input.length;for(b=0;b<f;b+=1){if(c.search(htmln)===-1||(c.search(uni)<c.search(htmln)&&c.search(uni)!==-1)){d=c.search(uni);y.push(d+"|h");g=c.length;for(a=d;a<g;a+=1){if(c.charAt(a)==="+"&&c.charAt(a-1)==="u"){e=c.split("");e.splice(a,1,"!");c=e.join("");}if(c.charAt(a)==="+"&&c.charAt(a-1)!=="u"){a+=1;break;}}x.push(c.slice(d+2,a-1));c=c.replace(unit,"");}else if(c.search(uni)===-1||(c.search(htmln)<c.search(uni)&&c.search(htmln)!==-1)){d=c.search(htmln);y.push(d+"|d");g=c.length;for(a=d;a<g;a+=1){if(c.charAt(a)==="#"){e=c.split("");e.splice(a,1,"!");c=e.join("");}if(c.charAt(a)===";"){a+=1;break;}}x.push(c.slice(d+2,a-1));c=c.replace(htmlt,"");}if(c.search(uni)===-1&&c.search(htmln)===-1){break;}}c=c.replace(/u\![0-9a-f]{4,5}\+/g,"").replace(/\&\![0-9]{1,6}\;/g,"").split("");d=x.length;e=[];for(b=0;b<d;b+=1){y[b]=y[b].split("|");if(y[b][1]==="h"){x[b]=parseInt(x[b],16);}o.rh.innerHTML="&#"+parseInt(x[b],10)+";";x[b]=o.rh.innerHTML;e.push(x[b]);}return e.join("");},csvbeauty=function(source,ch){var err,a,b=0,c=[],error="Error: Unterminated string begging at character number ",str=(function(){var b=0,d=0,e=0,src="";source=source.replace(/"{2}/g,"{csvquote}");src=source;source=source.split("");e=source.length;for(a=0;a<e;a+=1){if(source[a]==="\""){d=source.length;for(b=a+1;b<d;b+=1){if(source[b]==="\""){c.push(src.slice(a,b+1));source[a]="{csvstring}";source[b]="";a=b+1;break;}source[b]="";}if(b===source.length){err=source.join("").slice(a,a+9);source=error;return;}}}source=source.join("").replace(/\{csvquote\}/g,"\"\"");}());if(ch===""){ch=",";}else{ch=charDecoder(ch);}if(ch.length>source.length){return source;}else if(source===error){if(a!==source.length-1){return source+a+", '"+err+"'.";}else{return source+a+".";}}source=source.replace(/\n/g,"\n\n{-}\n\n");if(source.charAt(source.length-ch.length)===ch){source=source.slice(0,source.length+1-ch.length)+"{|}";}do{source=source.replace(ch,"\n");}while(source.indexOf(ch)!==-1);b=c.length;for(a=0;a<b;a+=1){c[a]=c[a].replace(/\n/g,"{ }");source=source.replace("{csvstring}",c[a]);}return source.replace(/\{csvquote\}/g,"\"");},csvmin=function(source,ch){if(ch===""){ch=",";}else{ch=charDecoder(ch);}(function(){var a=0,b=source.length,c=[],d="",e=0,f=[],multiline=function(x){var w=[],y,z=x.length-2;if(x.length===2){return"{ }";}else{for(y=0;y<z;y+=1){w.push(ch);}return w.join("")+"{ }";}},g=source.replace(/\n\n\{\-\}\n\n/g,"{-}").replace(/\n{2,}/g,multiline).split("\n"),err="",error="Error: Unterminated String begging at character number ";for(a=0;a<b;a+=1){c=[];if(g[a].indexOf("\"")!==-1){f=g[a].split("");e=f.length;for(b=0;b<e;b+=1){if(f[b]==="\""){c.push(b);}}if(c.length===1){d=error;g[a]=f.join("");err=g[a].slice(c[0],c[0]+9);return;}else if(c.length>2){e=c.length-1;for(d=1;d<e;d+=1){f[c[d]]="\"\"";}}g[a]=f.join("");}}if(d===error){return error+(g.join(ch).indexOf(g[a])+c[0])+" or value number "+(a+1)+", '"+err+"'.";}if(g[g.length-1]==="{|}"){g[g.length-1]="";}source=g.join(ch).replace(/\n/g,ch);}());do{source=source.replace("{ }","\n");}while(source.indexOf("{ }")!==-1);source=source.replace(/\n{2}/g,"\n");if(source.indexOf("{|}")===source.length-3){source=source.slice(0,source.length-3)+ch;}return source.replace(/\{\-\}/g,"\n");},jsmin=function(input,level,type,alter,fcomment){var start=(function(){if(typeof input==="undefined"){input="";level=2;}else{if(level===undefined||level<1||level>3){level=2;}if(type==="javascript"){input=input.replace(/\/\/(\s)*-->/g,"//-->");}else if(type!=="css"){input="Error: The type argument is not provided a value of either 'css' or 'javascript'.";}}}()),ret,atchar=input.match(/\@charset\s+("|')[\w\-]+("|');?/gi),error="",a="",b="",geti,getl,EOF=-1,LETTERS="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",DIGITS="0123456789",OTHERS,ALNUM,fcom=[],alterj=false,asiflag=true,theLookahead=EOF,isAlphanum=function(c){return c!==EOF&&(ALNUM.indexOf(c)>-1||c.charCodeAt(0)>126);},jsasiq=function(x){if(x.indexOf("\n")===-1){return x;}else{x=x.split("");x[0]=x[0]+";";return x.join("");}},asiFix=function(y){var a=0,x=y.split(""),b=x.length,c=0,d=0,e="",f="",g="",h="";for(a=0;a<b;a+=1){if(x[a]==="\\"){a+=1;}else if(x[a]==="\""&&f===""){f="\"";}else if(x[a]==="'"&&f===""){f="'";}else if(x[a]==="/"&&f===""&&!isAlphanum(x[a-1])&&x[a-1]!==")"&&x[a-1]!=="]"){if(x[a-1]===" "){x[a-1]="";if(!isAlphanum(x[a-2])){f="/";x[a]="pd";}else if(x[a+1]===" "){x[a+1]="";}}else{f="/";x[a]="pd";}}else if(x[a]==="/"&&f===""&&x[a+1]===" "&&isAlphanum(x[a-1])){x[a+1]="";}else if(x[a]==="\""&&f==="\""){f="";}else if(x[a]==="'"&&f==="'"){f="";}else if(x[a]==="/"&&f==="/"){f="";x[a]="pd";}else if((f==="'"||f==="\"")&&x[a-2]==="\\"&&x[a-1]===";"){x[a-1]="";x[a-2]=" ";}else if(f===""&&(x[a]==="}"||x[a]===")")&&(a===b-1||x[a+1]==="}"||isAlphanum(x[a+1]))){if(typeof x[a-3]==="string"&&x[a-2]==="="&&x[a-1]==="{"&&x[a]==="}"&&(isAlphanum(x[a-3])||x[a-3]==="]"||x[a-3]===")")){x[a]+=";";}else{d=-1;e="";g="";if(x[a]==="}"){g="}";h="{";}else{g=")";h="(";}for(c=a-1;c>-1;c-=1){if((c>1&&x[c-1]==="\\"&&x[c-2]!=="\\")||(c===1&&x[c-1]==="\\")){c-=1;}else{if(x[c].charAt(0)===g&&e===""){d-=1;}else if(x[c]===h&&e===""){d+=1;}else if(x[c]==="\""&&e===""){e="\"";}else if(x[c]==="'"&&e===""){e="'";}else if(x[c]==="pd"&&e===""){e="/";}else if(x[c]==="\""&&e==="\""){e="";}else if(x[c]==="'"&&e==="'"){e="";}else if(x[c]==="pd"&&e==="/"){e="";}}if(d===0&&(c!==a-1||(c===a-1&&typeof x[c-1]==="string"&&x[c-1]!==x[a]))){if(x[c-1]===")"&&g==="}"){c-=2;d=-1;e="";for(c;c>-1;c-=1){if((c>1&&x[c-1]==="\\"&&x[c-2]!=="\\")||(c===1&&x[c-1]==="\\")){c-=1;}else{if(x[c]===")"&&e===""){d-=1;}else if(x[c]==="("&&e===""){d+=1;}else if(x[c]==="\""&&e===""){e="\"";}else if(x[c]==="'"&&e===""){e="'";}else if(x[c]==="pd"&&e===""){e="/";}else if(x[c]==="\""&&e==="\""){e="";}else if(x[c]==="'"&&e==="'"){e="";}else if(x[c]==="pd"&&e==="/"){e="";}}if(d===0){c-=1;if(typeof x[c-9]==="string"&&x[c-8]==="="&&x[c-7]==="f"&&x[c-6]==="u"&&x[c-5]==="n"&&x[c-4]==="c"&&x[c-3]==="t"&&x[c-2]==="i"&&x[c-1]==="o"&&x[c]==="n"&&(isAlphanum(x[c-9])||x[c-9]==="]"||x[c-9]===")")){x[a]+=";";}break;}}break;}else if(typeof x[c-2]==="string"&&x[c-1]==="="&&(x[a-1].length===1||x[a-1]==="pd")&&(isAlphanum(x[c-2]||x[c-2]==="]"||x[c-2]===")"))){if(typeof x[a+1]!=="string"||x[a+1]!=="/"){x[a]+=";";}break;}else{break;}}}}}}for(a=0;a<b;a+=1){if(x[a]==="pd"){x[a]="/";}else if(x[a]==="/"&&typeof x[a+1]==="string"&&x[a+1]===" "){x[a+1]="";}}return x.join("").replace(/\"/g,"\"").replace(/\'/g,"'");},reduction=function(x){var a=0,e=0,f=0,g=-1,m=0,p=0,b=x.length,c=[],d=[],h=[],test=false,colorLow=function(y){y=y.toLowerCase();if(y.length===7&&y.charAt(1)===y.charAt(2)&&y.charAt(3)===y.charAt(4)&&y.charAt(5)===y.charAt(6)){y="#"+y.charAt(1)+y.charAt(3)+y.charAt(5);}return y;};for(a=0;a<b;a+=1){c.push(x.charAt(a));if(x.charAt(a)==="{"||x.charAt(a+1)==="}"){d.push(c.join(""));c=[];}}if(x.charAt(a-1)==="}"){d.push("}");}b=d.length;for(a=0;a<b-1;a+=1){if(d[a].charAt(d[a].length-1)!=="{"){if(d[a].indexOf("url(")>-1){h=d[a].split("");f=h.length;for(e=3;e<f;e+=1){if(h[e-3]==="u"&&h[e-2]==="r"&&h[e-1]==="l"&&h[e]==="("){test=true;}if(test){if(h[e-1]!=="\\"&&h[e]===")"){test=false;}else if(h[e]===";"){h[e]="~PrettyDiffSemi~";}else if(h[e]===":"){h[e]="~PrettyDiffColon~";}}}d[a]=h.join("");}if(d[a].charAt(d[a].length-1)===";"){d[a]=d[a].substr(0,d[a].length-1);}c=d[a].replace(/:/g,"$").replace(/#[a-zA-Z0-9]{3,6}(?!(\w*\)))/g,colorLow).split(";").sort();f=c.length;for(e=0;e<f;e+=1){if(c[e].charAt(0)==="_"){c.push(c[e]);c.splice(e,1);}h.push(c[e].split("$"));}c=[].concat(h);f=c.length;for(e=0;e<f;e+=1){if(c[e-1]&&c[e-1][0]===c[e][0]&&/\-[a-z]/.test(c[e-1][1])===false){c[e-1]="";}if(c[e][0]!=="margin"&&c[e][0].indexOf("margin")!==-1){m+=1;if(m===4){c[e][0]="margin";c[e][1]=c[e][1]+" "+c[e-1][1]+" "+c[e-3][1]+" "+c[e-2][1];c[e-3]="";c[e-2]="";c[e-1]="";if(c[e-4]&&c[e-4][0]==="margin"){c[e-4]="";}}}else if(c[e][0]!=="padding"&&c[e][0].indexOf("padding")!==-1){p+=1;if(p===4){c[e][0]="padding";c[e][1]=c[e][1]+" "+c[e-1][1]+" "+c[e-3][1]+" "+c[e-2][1];c[e-3]="";c[e-2]="";c[e-1]="";if(c[e-4]&&c[e-4][0]==="padding"){c[e-4]="";}}}if(g===-1&&c[e+1]&&c[e][0].charAt(0)!=="-"&&(c[e][0].indexOf("cue")!==-1||c[e][0].indexOf("list-style")!==-1||c[e][0].indexOf("outline")!==-1||c[e][0].indexOf("overflow")!==-1||c[e][0].indexOf("pause")!==-1)&&(c[e][0]===c[e+1][0].substring(0,c[e+1][0].lastIndexOf("-"))||c[e][0].substring(0,c[e][0].lastIndexOf("-"))===c[e+1][0].substring(0,c[e+1][0].lastIndexOf("-")))){g=e;if(c[g][0].indexOf("-")!==-1){c[g][0]=c[g][0].substring(0,c[g][0].lastIndexOf("-"));}}else if(g!==-1&&c[g][0]===c[e][0].substring(0,c[e][0].lastIndexOf("-"))){if(c[g][0]==="cue"||c[g][0]==="pause"){c[g][1]=c[e][1]+" "+c[g][1];}else{c[g][1]=c[g][1]+" "+c[e][1];}c[e]="";}else if(g!==-1){g=-1;}}for(e=0;e<f;e+=1){if(c[e]!==""){c[e]=c[e].join(":");}}d[a]=c.join(";").replace(/;+/g,";").replace(/^;/,"");}}return d.join("");},fixURI=function(y){var a=0,b=[],c="",x=y.replace(/\\\)/g,"~PDpar~").split("url("),d=x.length,e="\"";for(a=1;a<d;a+=1){if(x[a].charAt(0)==="\""){e="";}else if(x[a].charAt(0)==="'"){x[a]=x[a].substr(1,x[a].length-1);}b=x[a].split(")");c=b[0];if(c.charAt(c.length-1)!=="\""&&c.charAt(c.length-1)!=="'"){c=c+"\"";}else if(c.charAt(c.length-1)==="'"||c.charAt(c.length-1)==="\""){c=c.substr(0,c.length-1)+"\"";}b[0]=c;x[a]="url("+e+b.join(")");}return x.join("").replace(/~PDpar~/g,"\\)");},fixNegative=function(x){return x.replace(/\-/," -");},rgbToHex=function(x){var a,y=function(z){z=Number(z).toString(16);if(z.length===1){z="0"+z;}return z;};a="#"+x.replace(/\d+/g,y).replace(/rgb\(/,"").replace(/,/g,"").replace(/\)/,"").replace(/\s*/g,"");return a;},sameDist=function(y){var a="",x=[];if(y==="0"){return y;}if(y.charAt(0)===" "){a=" ";y=y.substr(1,y.length);}x=y.split(" ");if(x.length===4){if(x[0]===x[1]&&x[1]===x[2]&&x[2]===x[3]){x[1]="";x[2]="";x[3]="";}else if(x[0]===x[2]&&x[1]===x[3]&&x[0]!==x[1]){x[2]="";x[3]="";}else if(x[0]!==x[2]&&x[1]===x[3]){x[3]="";}}else if(x.length===3&&x[0]===x[2]&&x[0]!==x[1]){x[2]="";}else if(x.length===2&&a!==" "&&x[0]===x[1]){x[1]="";}return a+x.join(" ").replace(/\s+/g," ").replace(/\s+$/,"");},singleZero=function(x){var a=x.substr(0,x.indexOf(":")+1);if(a==="radius:"||a==="shadow:"||x.charAt(x.length-1)!=="0"||(x.charAt(x.length-1)==="0"&&x.charAt(x.length-2)!==" ")){return x;}return a+"0";},endZero=function(x){var a=x.indexOf(".");return x.substr(0,a);},runZero=function(x){var a=x.charAt(0);if(a==="#"||a==="."||/[a-f0-9]/.test(a)){return x;}else{return a+"0";}},startZero=function(x){var a=x.indexOf(".");return x.charAt(0)+x.substr(a,x.length);},fixpercent=function(x){return x.replace(/%/,"% ");},get=function(){var c=theLookahead;if(geti===getl){return EOF;}theLookahead=EOF;if(c===EOF){c=input.charAt(geti);geti+=1;}if(c>=" "||c==="\n"){return c;}if(c==="\r"){return"\n";}return" ";},peek=function(){theLookahead=get();return theLookahead;},next=function(){var c=get();if(c==="/"&&(type==="javascript"||(type==="css"&&peek()!=="/"))){switch(peek()){case"/":for(;;){c=get();if(c<="\n"){return c;}}break;case"*":get();for(;;){switch(get()){case"'":c=get().replace(/'/,"");break;case"\"":c=get().replace(/"/,"");break;case"*":if(peek()==="/"){get();return" ";}break;case EOF:error="Error: Unterminated block comment.";return error;}}break;default:return c;}}return c;},action=function(d){var r=[];if(d===1){r.push(a);}if(d<3){a=b;if(a==="'"||a==="\""){if(d===1&&(r[0]===")"||r[0]==="]")&&alterj){a=";";return r[0];}for(;;){r.push(a);a=get();if(a===b){break;}if(a<="\n"){if(type==="css"){error="Error: This does not appear to be CSS.";}else{error="Error: This does not appear to be JavaScript.";}return error;}if(a==="\\"){r.push(a);a=get();}}}}b=next();if(b==="/"&&"(,=:[!&|".indexOf(a)>-1){r.push(a);r.push(b);for(;;){a=get();if(a==="/"){break;}else if(a==="\\"){r.push(a);a=get();}else if(a<="\n"){error="Error: unterminated JavaScript Regular Expression literal";return error;}r.push(a);}b=next();}return r.join("");},m=function(){var firstComment=(function(){var a=0,b=input.length,c="";if(fcomment!==true||(/^\s*\/\*/.test(input)!==true&&/^\s*\/\//.test(input)!==true)){return;}for(a=0;a<b;a+=1){if(c===""){if(input.charAt(a)==="/"&&input.charAt(a+1)&&(input.charAt(a+1)==="*"||input.charAt(a+1)==="/")){c=input.substr(a,2);fcom.push(input.charAt(a));}else if(/\s/.test(input.charAt(a))!==true){return;}}else{fcom.push(input.charAt(a));if(input.charAt(a)==="*"&&c==="/*"&&input.charAt(a+1)&&input.charAt(a+1)==="/"){fcom.push("/\n");if(input.charAt(a+2)&&input.charAt(a+2)==="\n"){a+=2;}else{a+=1;}c="";}else if((input.charAt(a)==="\n"||input.charAt(a)==="\r")&&c==="//"){c="";}}}}()),r=[],s="";if(error!==""){return error;}a="\n";r.push(action(3));while(a!==EOF){if(a===" "&&!(type==="css"&&b==="#")){if(isAlphanum(b)){r.push(action(1));}else{r.push(action(2));if(alterj){s=r[r.length-1];if((isAlphanum(s)||s==="'"||s==="\""||s==="]"||s===")")&&a==="}"){r.push(";");}}}}else if(a==="\n"){switch(b){case"{":case"[":case"(":case"+":case"-":r.push(action(1));break;case" ":r.push(action(3));break;default:if(isAlphanum(b)){r.push(action(1));}else{if(level===1&&b!=="\n"){r.push(action(1));}else{r.push(action(2));}}}}else{switch(b){case" ":if(isAlphanum(a)){r.push(action(1));break;}r.push(action(3));break;case"\n":if(level===1&&a!=="\n"){r.push(action(1));}else if(a==="}"){asiflag=true;if(level===3){r.push(action(3));}else{r.push(action(1));}}else if(isAlphanum(a)){r.push(action(1));if(alterj){s=r[r.length-1];if(s===":"){asiflag=false;}if(asiflag&&(isAlphanum(s)||s==="]"||s===")")&&a==="\n"&&(b==="}"||b===" ")){r.push(";");}}}else{r.push(action(3));}break;default:r.push(action(1));if(alterj){s=r[r.length-1];if(s==="{"){asiflag=true;}else if(s===":"){asiflag=false;}if(asiflag&&(((s==="]"||s===")")&&isAlphanum(a)&&a!=="/")||(a==="}"&&(isAlphanum(s)||s==="'"||s==="\"")))){r.push(";");}}break;}}}return r.join("");};if(type==="css"){OTHERS="-._\\";}else{if(alter&&level===2){alterj=true;input=input.replace(/\r\n?/g,"\n").replace(/("|')\s+["'a-zA-Z_$]/g,jsasiq);}OTHERS="_$//";}ALNUM=LETTERS+DIGITS+OTHERS;geti=0;getl=input.length;ret=m(input);if(/(\}\s*)$/.test(input)&&!/(\}\s*)$/.test(ret)){ret=ret+"}";}if(/\s/.test(ret.charAt(0))){ret=ret.slice(1,ret.length);}if(type==="css"){ret=ret.replace(/\: #/g,":#").replace(/\; #/g,";#").replace(/\, #/g,",#").replace(/\s+/g," ").replace(/\} /g,"}").replace(/\{ /g,"{").replace(/\\\)/g,"~PDpar~").replace(/\)/g,") ").replace(/\) ;/g,");").replace(/\d%[a-z0-9]/g,fixpercent);if(alter){ret=reduction(ret).replace(/@charset("|')?[\w\-]+("|')?;?/gi,"").replace(/(#|\.)?[\w]*\{\}/gi,"").replace(/(\S|\s)0+/g,runZero).replace(/:[\w\s\!\.\-%]*\d+\.0*(?!\d)/g,endZero).replace(/(:| )0+\.\d+/g,startZero).replace(/\s?((\.\d+|\d+\.\d+|\d+)[a-zA-Z]+|0 )+((\.\d+|\d+\.\d+|\d+)[a-zA-Z]+)|0/g,sameDist);ret=ret.replace(/:\.?0(\%|px|in|cm|mm|em|ex|pt|pc)/g,":0").replace(/ \.?0(\%|px|in|cm|mm|em|ex|pt|pc)/g," 0").replace(/bottom:none/g,"bottom:0").replace(/top:none/g,"top:0").replace(/left:none/g,"left:0").replace(/right:none/,"right:0").replace(/:0 0 0 0/g,":0").replace(/:(\s*([0-9]+\.)?[0-9]+(%|in|cm|mm|em|ex|pt|pc|px)?)+\-([0-9]*\.)?[0-9]/g,fixNegative);ret=ret.replace(/[a-z]*:(0\s*)+\-?\.?\d?/g,singleZero).replace(/ 0 0 0 0/g," 0").replace(/rgb\(\d+,\d+,\d+\)/g,rgbToHex).replace(/background\-position:0;/gi,"background-position:0 0;").replace(/;+/g,";").replace(/\s*[\w\-]+:\s*\}/g,"}").replace(/\s*[\w\-]+:\s*;/g,"").replace(/;\}/g,"}").replace(/\{\s+\}/g,"{}").replace(/\s+\)/g,")").replace(/\s+\,/g,",");if(atchar===null){atchar=[""];}else if(atchar[0].charAt(atchar[0].length-1)!==";"){atchar[0]=atchar[0]+";";}ret=atchar[0].replace(/@charset/i,"@charset")+fixURI(ret).replace(/~PrettyDiffColon~/g,":").replace(/~PrettyDiffSemi~/g,";");}ret=ret.replace(/~PDpar~/g,"\\)");}else if(alterj){if(ret.charAt(ret.length-1)!==";"){ret+=";";}ret=ret.replace(/(\s+)$/,"").replace(/\n/g,";").replace(/\}\u003b/g,"}").replace(/x{2}-->/g,"//-->");ret=asiFix(ret);}else{ret=ret.replace(/^\s+/,"").replace(/x{2}-->/g,"//-->");}if(error!==""){return error;}else{return fcom.join("")+ret;}},cleanCSS=function(x,size,character,comment,alter){var q=x.length,a=0,b=0,c=[],atchar=x.match(/\@charset\s+("|')[\w\-]+("|');?/gi),tab="",nsize=Number(size),fixURI=function(y){var a=0,b=[],c="",x=y.replace(/\\\)/g,"~PDpar~").split("url("),d=x.length,e="\"";for(a=1;a<d;a+=1){if(x[a].charAt(0)==="\""){e="";}else if(x[a].charAt(0)==="'"){x[a]=x[a].substr(1,x[a].length-1);}b=x[a].split(")");c=b[0];if(c.charAt(c.length-1)!=="\""&&c.charAt(c.length-1)!=="'"){c=c+"\"";}else if(c.charAt(c.length-1)==="'"||c.charAt(c.length-1)==="\""){c=c.substr(0,c.length-1)+"\"";}b[0]=c;x[a]="url("+e+b.join(")");}return x.join("").replace(/~PDpar~/g,"\\)");},tabmaker=(function(){var i;for(i=0;i<nsize;i+=1){tab+=character;}}()),sameDist=function(x){var y=[];if(x==="0"){return x;}x=x.substr(2,x.length);y=x.split(" ");if(y.length===4){if(y[0]===y[1]&&y[1]===y[2]&&y[2]===y[3]){y[1]="";y[2]="";y[3]="";}else if(y[0]===y[2]&&y[1]===y[3]&&y[0]!==y[1]){y[2]="";y[3]="";}else if(y[0]!==y[2]&&y[1]===y[3]){y[3]="";}}else if(y.length===3&&y[0]===y[2]&&y[0]!==y[1]){y[2]="";}else if(y.length===2&&y[0]===y[1]){y[1]="";}return": "+y.join(" ").replace(/\s+/g," ").replace(/\s+$/,"");},endZero=function(y){var a=y.indexOf(".");return y.substr(0,a);},runZero=function(y){var a=y.charAt(0);if(a==="#"||a==="."||/[a-f0-9]/.test(a)){return y;}else{return a+"0;";}},startZero=function(y){return y.replace(/ \./g," 0.");},emptyend=function(y){var b=y.match(/^(\s*)/)[0],c=b.substr(0,b.length-tab.length);if(y.charAt(y.length-1)==="}"){return c+"}";}else{return c.replace(/(\s+)$/,"");}},fixpercent=function(y){return y.replace(/%/,"% ");},nestblock=function(y){return y.replace(/\s*;\n/,"\n");},cleanAsync=function(){var i=0,j=0,b=x.length,tabs=[],tabb="",out=[tab],y=x.split("");for(i=0;i<b;i+=1){if("{"===y[i]){tabs.push(tab);tabb=tabs.join("");out.push(" {\n"+tabb);}else if("\n"===y[i]){out.push("\n"+tabb);}else if("}"===y[i]){out[out.length-1]=out[out.length-1].replace(/\s*$/,"");tabs=tabs.slice(0,tabs.length-1);tabb=tabs.join("");if(y[i+1]+y[i+2]!=="*/"){out.push("\n"+tabb+"}\n"+tabb);}else{out.push("\n"+tabb+"}");}}else if(y[i-1]===","&&(/\s/).test(y[i])===false){out.push(" ");out.push(y[i]);}else if(";"===y[i]&&"}"!==y[i+1]){out.push(";\n"+tabb);}else if(i>3&&y[i-3]==="u"&&y[i-2]==="r"&&y[i-1]==="l"&&y[i]==="("){for(j=i;j<b;j+=1){out.push(y[j]);if(y[j]===")"&&y[j-1]!=="\\"){i=j;break;}}}else{out.push(y[i]);}}if(i>=b){out=[out.join("").replace(/^(\s*)/,"").replace(/(\s*)$/,"")];x=out.join("");tabs=[];}},reduction=function(x){var a=0,e=0,f=0,g=-1,m=0,p=0,q="",b=x.length,c=[],d=[],h=[],i=[],test=false,colorLow=function(y){y=y.toLowerCase();if(y.length===7&&y.charAt(1)===y.charAt(2)&&y.charAt(3)===y.charAt(4)&&y.charAt(5)===y.charAt(6)){y="#"+y.charAt(1)+y.charAt(3)+y.charAt(5);}return y;},ccex=(/[\w\s:#\-\=\!\(\)"'\[\]\.%-\_\?\/\\]\/\*/),cceg=function(a){return a.replace(/\s*\/\*/,";/*");};for(a=0;a<b;a+=1){c.push(x.charAt(a));if(x.charAt(a)==="{"||x.charAt(a+1)==="}"){d.push(c.join(""));c=[];}}for(b=a-1;b>0;b-=1){if(x.charAt(b)==="/"&&x.charAt(b-1)&&x.charAt(b-1)==="*"){for(e=b-1;e>0;e-=1){if(x.charAt(e)==="/"&&x.charAt(e+1)==="*"){b=e;break;}}}else if(!/[\}\s]/.test(x.charAt(b))){break;}}for(a=d.length-1;a>0;a-=1){if(d[a]==="}"){b+=1;}else{break;}}if(b===x.length||x.substring(b+1,x.length-1)===d[d.length-1]){d.push("}");}else{d.push(x.substring(b+1,x.length));}b=d.length;for(a=0;a<b;a+=1){if(d[a].charAt(d[a].length-1)==="{"){d[a]=d[a].replace(/,\s*/g,",\n").replace(/>/g," > ");}else{if(d[a].indexOf("url(")>-1){h=d[a].split("");f=h.length;for(e=3;e<f;e+=1){if(h[e-3]==="u"&&h[e-2]==="r"&&h[e-1]==="l"&&h[e]==="("){test=true;}if(test){if(h[e-1]!=="\\"&&h[e]===")"){test=false;}else if(h[e]===";"){h[e]="~PrettyDiffSemi~";}else if(h[e]===":"){h[e]="~PrettyDiffColon~";}}}d[a]=h.join("");}if(d[a].charAt(d[a].length-1)===";"){d[a]=d[a].substr(0,d[a].length-1);}q=d[a].replace(ccex,cceg);c=q.replace(/\*\//g,"*/;").replace(/:/g,"$").replace(/#[a-fA-F0-9]{3,6}(?!(\w*\)))/g,colorLow).split(";");f=c.length;h=[];i=[];for(e=0;e<f;e+=1){if(/^(\/\*)/.test(c[e])){h.push(c[e].replace(/\/\*\s*/,"/* "));}else if(c[e]!==""){i.push(c[e].replace(/^\s*/,""));}}i=i.sort();f=i.length;c=[];for(e=0;e<f;e+=1){if(i[e].charAt(0)==="_"){i.push(i[e]);i.splice(e,1);}c.push(i[e].split("$"));}c=h.concat(c);f=c.length;for(e=0;e<f;e+=1){if(c[e-1]&&c[e-1][0]===c[e][0]&&/\-[a-z]/.test(c[e-1][1])===false){c[e-1]="";}if(c[e][0]!=="margin"&&c[e][0].indexOf("margin")!==-1){m+=1;if(m===4){c[e][0]="margin";c[e][1]=c[e][1]+" "+c[e-1][1]+" "+c[e-3][1]+" "+c[e-2][1];c[e-3]="";c[e-2]="";c[e-1]="";if(c[e-4]&&c[e-4][0]==="margin"){c[e-4]="";}}}else if(c[e][0]!=="padding"&&c[e][0].indexOf("padding")!==-1){p+=1;if(p===4){c[e][0]="padding";c[e][1]=c[e][1]+" "+c[e-1][1]+" "+c[e-3][1]+" "+c[e-2][1];c[e-3]="";c[e-2]="";c[e-1]="";if(c[e-4]&&c[e-4][0]==="padding"){c[e-4]="";}}}if(g===-1&&c[e+1]&&c[e][0].charAt(0)!=="-"&&(c[e][0].indexOf("cue")!==-1||c[e][0].indexOf("list-style")!==-1||c[e][0].indexOf("outline")!==-1||c[e][0].indexOf("overflow")!==-1||c[e][0].indexOf("pause")!==-1)&&(c[e][0]===c[e+1][0].substring(0,c[e+1][0].lastIndexOf("-"))||c[e][0].substring(0,c[e][0].lastIndexOf("-"))===c[e+1][0].substring(0,c[e+1][0].lastIndexOf("-")))){g=e;if(c[g][0].indexOf("-")!==-1){c[g][0]=c[g][0].substring(0,c[g][0].lastIndexOf("-"));}}else if(g!==-1&&c[g][0]===c[e][0].substring(0,c[e][0].lastIndexOf("-"))){if(c[g][0]==="cue"||c[g][0]==="pause"){c[g][1]=c[e][1]+" "+c[g][1];}else{c[g][1]=c[g][1]+" "+c[e][1];}c[e]="";}else if(g!==-1){g=-1;}}h=[];for(e=0;e<f;e+=1){if(c[e]!==""){h.push(c[e].join(": "));}}d[a]=(h.join(";")+";").replace(/^;/,"");}}return d.join("").replace(/\*\/\s*;\s*/g,"*/\n").replace(/(\s*[\w\-]+:)$/g,"\n}").replace(/\s*;$/,"");};if("\n"===x.charAt(0)){x=x.substr(1);}(function(){var c=x.split(""),b=c.length,f=0,e=false;for(f=1;f<b;f+=1){if(c[f]==="*"&&c[f-1]==="/"&&!e){e=true;}else if(e){if(c[f]===","){c[f]="~PrettyDiffComma~";}else if(c[f]===";"){c[f]="~PrettyDiffSemi~";}else if(c[f]==="/"&&c[f-1]==="*"){e=false;}}}x=c.join("");}());x=x.replace(/[ \t\r\v\f]+/g," ").replace(/\n (?!\*)/g,"\n").replace(/\s?([;:{}+>])\s?/g,"$1").replace(/\{(\.*):(\.*)\}/g,"{$1: $2}").replace(/\b\*/g," *").replace(/\*\/\s?/g,"*/\n").replace(/\d%\d/g,fixpercent);if(alter===true){x=reduction(x);}cleanAsync();if(alter===true){c=x.split("*/");b=c.length;for(a=0;a<b;a+=1){if(c[a].search(/\s*\/\*/)!==0){c[a]=c[a].replace(/@charset\s*("|')?[\w\-]+("|')?;?\s*/gi,"").replace(/(\S|\s)0+(%|in|cm|mm|em|ex|pt|pc)?;/g,runZero).replace(/:[\w\s\!\.\-%]*\d+\.0*(?!\d)/g,endZero).replace(/:[\w\s\!\.\-%]* \.\d+/g,startZero).replace(/ \.?0((?=;)|(?= )|%|in|cm|mm|em|ex|pt|pc)/g," 0px");c[a]=c[a].replace(/: ((\.\d+|\d+\.\d+|\d+)[a-zA-Z]+|0 )+((\.\d+|\d+\.\d+|\d+)[a-zA-Z]+)|0/g,sameDist).replace(/background\-position: 0px;/g,"background-position: 0px 0px;").replace(/\s+\*\//g,"*/");c[a]=c[a].replace(/\s*[\w\-]+\:\s*(\}|;)/g,emptyend).replace(/\{\s+\}/g,"{}").replace(/\}\s*;\s*\}/g,nestblock).replace(/:\s+#/g,": #").replace(/(\s+;+\n)+/g,"\n");}}x=c.join("*/");if(atchar===null){atchar=[""];}else if(atchar[0].charAt(atchar[0].length-1)!==";"){atchar[0]=atchar[0]+";\n";}else{atchar[0]=atchar[0]+"\n";}x=atchar[0].replace(/@charset/i,"@charset")+fixURI(x).replace(/~PrettyDiffColon~/g,":").replace(/~PrettyDiffSemi~/g,";").replace(/~PrettyDiffComma~/g,",");}if(comment==="noindent"){x=x.replace(/\s+\/\*/g,"\n/*").replace(/\n\s+\*\//g,"\n*/");}(function(){var a=0,b=[],c=x.split("\n"),d=c.length,e=[],f=q.toString().split("").reverse(),g=x.length.toString().split("").reverse(),h=0,i="",j=0,k="",l="";for(a=0;a<d;a+=1){if(c[a].charAt(0)==="/"&&c[a].charAt(1)==="*"){for(a;a<d;a+=1){if(c[a].charAt(c[a].length-2)==="*"&&c[a].charAt(c[a].length-1)==="/"){break;}}}else if(c[a].indexOf("url")!==-1&&c[a].indexOf("url(\"\")")===-1&&c[a].indexOf("url('')")===-1&&c[a].indexOf("url()")===-1){b.push(c[a]);}}d=b.length;for(a=0;a<d;a+=1){b[a]=b[a].substr(b[a].indexOf("url(\"")+5,b[a].length);b[a]=b[a].substr(0,b[a].indexOf("\")"));}for(a=0;a<d;a+=1){e[a]=1;for(j=a+1;j<d;j+=1){if(b[a]===b[j]){e[a]+=1;b[j]="";}}}for(a=0;a<d;a+=1){if(b[a]!==""){h+=1;e[a]=e[a]+"x";if(e[a]==="1x"){e[a]="<em>"+e[a]+"</em>";}b[a]="<li>"+e[a]+" - "+b[a]+"</li>";}}if(d!==0){i="<h4>List of HTTP requests:</h4><ul>"+b.join("")+"</ul>";}j=f.length;for(a=2;a<j;a+=3){f[a]=","+f[a];}j=g.length;for(a=2;a<j;a+=3){g[a]=","+g[a];}k=f.reverse().join("");l=g.reverse().join("");if(k.charAt(0)===","){k=k.slice(1,k.length);}if(l.charAt(0)===","){l=l.slice(1,l.length);}summary="<p><strong>Total input size:</strong> <em>"+k+"</em> characters</p><p><strong>Total output size:</strong> <em>"+l+"</em> characters</p><p><strong>Number of HTTP requests:</strong> <em>"+h+"</em></p>"+i;}());return x;},js_beautify=function(args){(function(){if(!args.source||typeof args.source!=="string"){args.source="";}else{args.source=args.source.replace(/var /g,"var prettydiffvar,");}if(args.insize===undefined||isNaN(args.insize)){args.insize=4;}if(!args.inchar||args.inchar.length<1||typeof args.inchar!=="string"){args.inchar=" ";}if(!args.inlevel||isNaN(args.inlevel)){args.inlevel=0;}if(typeof args.preserve!=="boolean"){args.preserve=true;}if(!args.preserve_max||isNaN(args.preserve_max)){args.preserve_max=0;}if(!args.space||args.space!==true){args.space=false;}if(!args.braces||typeof args.braces!=="boolean"){if(args.braces==="allman"){args.braces=true;}else{args.braces=false;}}if(!args.inarray||args.inarray!==true){args.inarray=false;}if(!args.content||args.content!==true){args.content=false;}if(!args.comments||typeof args.comments!=="boolean"){if(args.comments==="noindent"){args.comments=true;}else{args.comments=false;}}}());var j=[0,0],k=[0,0],l=[0,0,0],m=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],n=[0,0,0,0,0],o=[0,0],w=[0,0,0,0],i=0,insize=args.insize,input=args.source,input_length=args.source.length+1,t=[],output=[],token_text="",last_type="TK_START_EXPR",var_last_type="",var_last_last_type="",var_end_count=-1,last_text="",last_last_text="",last_word="",last_last_word="",flags={previous_mode:(flags)?flags.mode:"BLOCK",mode:"BLOCK",var_line:false,var_line_reindented:false,in_html_comment:false,if_line:false,in_case:false,eat_next_space:false,indentation_baseline:-1,indentation_level:((flags)?flags.indentation_level+((flags.var_line&&flags.var_line_reindented)?1:0):args.inlevel)},flag_test=false,functestval=0,var_var_test=false,commafix=false,comma_test=false,flag_store=[flags],indent_string="",wordchar=["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","0","1","2","3","4","5","6","7","8","9","_","$"],punct=["+","-","*","/","%","&","++","--","=","+=","-=","*=","/=","%=","==","===","!=","!==",">","<",">=","<=",">>","<<",">>>",">>>=",">>=","<<=","&&","&=","|","||","!","!!",",",":","?","^","^=","|=","::"],parser_pos=0,prefix="",token_type="",do_block_just_closed=false,wanted_newline=false,just_added_newline=false,rvalue="",space_before=true,space_after=true,pseudo_block=false,block_comment=function(x){var lines=x.split(/\x0a|\x0d\x0a/),j=lines.length,i=0;print_newline();output.push(lines[0]);for(i=1;i<j;i+=1){print_newline();if(/(;\n)|\}|\)|((\!|\=)\=)/.test(lines[i])||((/^(\s*("|'))/).test(lines[i])&&(/(("|')\s*;?)$/).test(lines[i]))){output.push(lines[i]);}else{output.push(" ");output.push(trim(lines[i]));}}print_newline();},white_count=function(x){var y=0,z=x.length;for(y=0;y<z;y+=1){if(x.charAt(y)===" "){w[1]+=1;}else if(x.charAt(y)==="\t"){w[2]+=1;}else if(x.charAt(y)==="\n"){w[0]+=1;}else if(args.source.charAt(y)==="\r"||args.source.charAt(y)==="\f"||args.source.charAt(y)==="\v"){w[3]+=1;}}},trim_output=function(eat_newlines){eat_newlines=(eat_newlines===undefined)?false:eat_newlines;while(output.length&&(output[output.length-1]===" "||output[output.length-1]===indent_string||(eat_newlines&&(output[output.length-1]==="\n"||output[output.length-1]==="\r")))){output.pop();}},is_array=function(mode){return mode==="[EXPRESSION]"||mode==="[INDENTED-EXPRESSION]";},trim=function(s){return s.replace(/^\s\s*|\s\s*$/,"");},print_newline=function(ignore_repeated){var i=0;flags.eat_next_space=false;if(args.inarray&&is_array(flags.mode)){return;}ignore_repeated=(ignore_repeated===undefined)?true:ignore_repeated;flags.if_line=false;if(!output.length){return;}while(output[output.length-1]===" "||output[output.length-1]===indent_string){output.pop();}if(output[output.length-1]!=="\n"||!ignore_repeated){just_added_newline=true;output.push("\n");}for(i=0;i<flags.indentation_level;i+=1){output.push(indent_string);}if(flags.var_line&&flags.var_line_reindented){output.push(indent_string);}},print_single_space=function(){var last_output=" ";if(flags.eat_next_space){flags.eat_next_space=false;return;}if(output.length){last_output=output[output.length-1];}if(last_output!==" "&&last_output!=="\n"&&last_output!==indent_string){output.push(" ");}},print_token=function(){just_added_newline=false;flags.eat_next_space=false;output.push(token_text);},set_mode=function(mode){flag_store.push(flags);flags={previous_mode:(flags)?flags.mode:"BLOCK",mode:mode,var_line:false,var_line_reindented:false,in_html_comment:false,if_line:false,in_case:false,eat_next_space:false,indentation_baseline:-1,indentation_level:((flags)?flags.indentation_level+((flags.var_line&&flags.var_line_reindented)?1:0):args.inlevel)};},is_expression=function(mode){return mode==="[EXPRESSION]"||mode==="[INDENTED-EXPRESSION]"||mode==="(EXPRESSION)";},restore_mode=function(){do_block_just_closed=(flags.mode==="DO_BLOCK");if(flag_store.length>0){flags=flag_store.pop();}},in_array=function(what,arr){var i=0;for(i=0;i<arr.length;i+=1){if(arr[i]===what){return true;}}return false;},is_ternary_op=function(){var i=0,level=0,colon_count=0;for(i=output.length-1;i>=0;i-=1){if(output[i]===":"&&level===0){colon_count+=1;}else if(output[i]==="?"&&level===0){if(colon_count===0){return true;}else{colon_count-=1;}}else if(output[i]==="{"||output[i]==="("||output[i]==="["){if(output[i]==="{"&&level===0){return false;}level-=1;}else if(output[i]===")"||output[i]==="}"||output[i]==="]"){level+=1;}}},fix_object_own_line=function(){var b=0;for(b=output.length-2;b>0;b-=1){if(/^(\s+)$/.test(output[b])){output[b]="";}else if(in_array(output[b],punct)){output[b+1]=" ";break;}}},funcfix=function(y){var a=(y.indexOf("}")-1),b="",c="";if(y.charAt(0)==="\n"){b="\n";c=y.substr(1,a);}else{c=y.substr(0,a);}return b+c+"}\n"+c+"(function";},get_next_token=function(){var c="",i=0,comment="",inline_comment=false,keep_whitespace=false,sep="",esc=false,resulting_string="",in_char_class=false,whitespace_count=0;if(parser_pos>=input_length){return["","TK_EOF"];}wanted_newline=false;c=input.charAt(parser_pos);parser_pos+=1;keep_whitespace=args.inarray&&is_array(flags.mode);if(keep_whitespace){whitespace_count=0;while(c==="\n"||c==="\r"||c==="\t"||c===" "){if(c==="\n"){trim_output();output.push("\n");just_added_newline=true;whitespace_count=0;}else{if(c==="\t"){whitespace_count+=4;}else if(c!=="\r"){whitespace_count+=1;}}if(parser_pos>=input_length){return["","TK_EOF"];}c=input.charAt(parser_pos);parser_pos+=1;}if(flags.indentation_baseline===-1){flags.indentation_baseline=whitespace_count;}if(just_added_newline){for(i=0;i<flags.indentation_level+1;i+=1){output.push(indent_string);}if(flags.indentation_baseline!==-1){for(i=0;i<whitespace_count-flags.indentation_baseline;i+=1){output.push(" ");}}}}else{(function(){var n_newlines=0;while(c==="\n"||c==="\r"||c==="\t"||c===" "){if(c==="\n"){n_newlines+=((args.preserve_max)?(n_newlines<=args.preserve_max)?1:0:1);}if(parser_pos>=input_length){return["","TK_EOF"];}c=input.charAt(parser_pos);parser_pos+=1;}if(args.preserve){if(n_newlines>1){for(i=0;i<n_newlines;i+=1){print_newline(i===0);just_added_newline=true;}}}wanted_newline=n_newlines>0;}());if(parser_pos>=input_length){return["","TK_EOF"];}}if(in_array(c,wordchar)){if(parser_pos<input_length){while(in_array(input.charAt(parser_pos),wordchar)){c+=input.charAt(parser_pos);parser_pos+=1;if(parser_pos===input_length){break;}}}if(parser_pos!==input_length&&c.match(/^\d+[Ee]$/)&&(input.charAt(parser_pos)==="-"||input.charAt(parser_pos)==="+")){return(function(){var sign=[input.charAt(parser_pos)],dot=true;while(parser_pos<input_length){parser_pos+=1;if(input.charAt(parser_pos).match(/\d|\./)){if(input.charAt(parser_pos).match(/\./)){if(dot){dot=false;}else{sign.push(" ");}}sign.push(input.charAt(parser_pos));}else{break;}}c+=sign.join("");return[c,"TK_WORD"];}());}if(c==="in"){return[c,"TK_OPERATOR"];}if(wanted_newline&&last_type!=="TK_OPERATOR"&&!flags.if_line&&(args.preserve||last_text!=="var")){print_newline();}return[c,"TK_WORD"];}if(c==="("||c==="["){return[c,"TK_START_EXPR"];}if(c===")"||c==="]"){return[c,"TK_END_EXPR"];}if(c==="{"){return[c,"TK_START_BLOCK"];}if(c==="}"){return[c,"TK_END_BLOCK"];}if(c===";"){return[c,"TK_SEMICOLON"];}if(c==="/"){comment="";inline_comment=true;if(input.charAt(parser_pos)==="*"){parser_pos+=1;if(parser_pos<input_length){while(!(input.charAt(parser_pos)==="*"&&input.charAt(parser_pos+1)&&input.charAt(parser_pos+1)==="/")&&parser_pos<input_length){c=input.charAt(parser_pos);comment+=c;if(c==="\x0d"||c==="\x0a"){inline_comment=false;}parser_pos+=1;if(parser_pos>=input_length){break;}}}parser_pos+=2;if(inline_comment){return["/*"+comment+"*/","TK_INLINE_COMMENT"];}else{return["/*"+comment+"*/","TK_BLOCK_COMMENT"];}}if(input.charAt(parser_pos)==="/"){comment=c;while(input.charAt(parser_pos)!=="\r"&&input.charAt(parser_pos)!=="\n"){comment+=input.charAt(parser_pos);parser_pos+=1;if(parser_pos>=input_length){break;}}parser_pos+=1;if(wanted_newline){print_newline();}return[comment,"TK_COMMENT"];}}if(c==="'"||c==="\""||(c==="/"&&((last_type==="TK_WORD"&&(last_text==="return"||last_text==="do"))||(last_type==="TK_COMMENT"||last_type==="TK_START_EXPR"||last_type==="TK_START_BLOCK"||last_type==="TK_END_BLOCK"||last_type==="TK_OPERATOR"||last_type==="TK_EQUALS"||last_type==="TK_EOF"||last_type==="TK_SEMICOLON")))){sep=c;esc=false;resulting_string=c;if(parser_pos<input_length){if(sep==="/"){in_char_class=false;while(esc||in_char_class||input.charAt(parser_pos)!==sep){resulting_string+=input.charAt(parser_pos);if(!esc){esc=input.charAt(parser_pos)==="\\";if(input.charAt(parser_pos)==="["){in_char_class=true;}else if(input.charAt(parser_pos)==="]"){in_char_class=false;}}else{esc=false;}parser_pos+=1;if(parser_pos>=input_length){return[resulting_string,"TK_STRING"];}}}else{while(esc||input.charAt(parser_pos)!==sep){resulting_string+=input.charAt(parser_pos);if(!esc){esc=input.charAt(parser_pos)==="\\";}else{esc=false;}parser_pos+=1;if(parser_pos>=input_length){return[resulting_string,"TK_STRING"];}}}}parser_pos+=1;resulting_string+=sep;if(sep==="/"){while(parser_pos<input_length&&in_array(input.charAt(parser_pos),wordchar)){resulting_string+=input.charAt(parser_pos);parser_pos+=1;}}return[resulting_string,"TK_STRING"];}if(c==="#"){if(parser_pos<input_length&&(input.charAt(parser_pos)==="0"||input.charAt(parser_pos)==="1"||input.charAt(parser_pos)==="2"||input.charAt(parser_pos)==="3"||input.charAt(parser_pos)==="4"||input.charAt(parser_pos)==="5"||input.charAt(parser_pos)==="6"||input.charAt(parser_pos)==="7"||input.charAt(parser_pos)==="8"||input.charAt(parser_pos)==="9")){return(function(){var sharp="#";do{c=input.charAt(parser_pos);sharp+=c;parser_pos+=1;}while(parser_pos<input_length&&c!=="#"&&c!=="=");if(c!=="#"&&input.charAt(parser_pos)==="["&&input.charAt(parser_pos+1)==="]"){sharp+="[]";parser_pos+=2;}else if(c!=="#"&&input.charAt(parser_pos)==="{"&&input.charAt(parser_pos+1)==="}"){sharp+="{}";parser_pos+=2;}return[sharp,"TK_WORD"];}());}}if(c==="<"&&input.substring(parser_pos-1,parser_pos+3)==="<!--"){parser_pos+=3;flags.in_html_comment=true;return["<!--","TK_COMMENT"];}if(c==="-"&&flags.in_html_comment&&input.substring(parser_pos-1,parser_pos+2)==="-->"){flags.in_html_comment=false;parser_pos+=2;if(wanted_newline){print_newline();}return["-->","TK_COMMENT"];}if(in_array(c,punct)){while(parser_pos<input_length&&in_array(c+input.charAt(parser_pos),punct)){c+=input.charAt(parser_pos);parser_pos+=1;if(parser_pos>=input_length){break;}}if(c==="="){return[c,"TK_EQUALS"];}else{return[c,"TK_OPERATOR"];}}return[c,"TK_UNKNOWN"];};if(args.source===""){return"Error: no source code supplied to js_beautify.js";}while(insize>0){indent_string+=args.inchar;insize-=1;}parser_pos=0;while(true){t=get_next_token(parser_pos);token_text=t[0];token_type=t[1];if(token_type==="TK_EOF"){break;}else if(token_type==="TK_START_EXPR"){n[4]+=1;pseudo_block=false;if(token_text==="["){if(last_type==="TK_WORD"||last_text===")"){if(last_text==="continue"||last_text==="try"||last_text==="throw"||last_text==="return"||last_text==="var"||last_text==="if"||last_text==="switch"||last_text==="case"||last_text==="default"||last_text==="for"||last_text==="while"||last_text==="break"||last_text==="function"){print_single_space();}set_mode("(EXPRESSION)");print_token();}else if(flags.mode==="[EXPRESSION]"||flags.mode==="[INDENTED-EXPRESSION]"){if(last_last_text==="]"&&last_text===","){if(flags.mode==="[EXPRESSION]"){flags.mode="[INDENTED-EXPRESSION]";if(!args.inarray){flags.indentation_level+=1;}}set_mode("[EXPRESSION]");if(!args.inarray){print_newline();}}else if(last_text==="["){if(flags.mode==="[EXPRESSION]"){flags.mode="[INDENTED-EXPRESSION]";if(!args.inarray){flags.indentation_level+=1;}}set_mode("[EXPRESSION]");if(!args.inarray){print_newline();}}else{set_mode("[EXPRESSION]");}}else{set_mode("[EXPRESSION]");}}else{set_mode("(EXPRESSION)");}if(token_text!=="["||(token_text==="["&&(last_type!=="TK_WORD"&&last_text!==")"))){if(last_text===";"||last_type==="TK_START_BLOCK"){print_newline();}else if(last_type!=="TK_END_EXPR"&&last_type!=="TK_START_EXPR"&&last_type!=="TK_END_BLOCK"&&last_text!=="."){if((last_type!=="TK_WORD"&&last_type!=="TK_OPERATOR")||(last_word==="function"&&args.space)){print_single_space();}else if(last_text==="continue"||last_text==="try"||last_text==="throw"||last_text==="return"||last_text==="var"||last_text==="if"||last_text==="switch"||last_text==="case"||last_text==="default"||last_text==="for"||last_text==="while"||last_text==="break"||last_text==="function"||last_text==="catch"){print_single_space();}}print_token();}}else if(token_type==="TK_END_EXPR"){n[4]+=1;if(last_last_text==="}"){pseudo_block=true;}if(token_text==="]"&&args.inarray&&last_text==="}"){if(output.length&&output[output.length-1]===indent_string){output.pop();}print_token();restore_mode();}else if(token_text==="]"&&flags.mode==="[INDENTED-EXPRESSION]"&&last_text==="]"){restore_mode();print_newline();print_token();}else{restore_mode();print_token();}}else if(token_type==="TK_START_BLOCK"){n[4]+=1;pseudo_block=false;if(last_word==="do"){set_mode("DO_BLOCK");}else{set_mode("BLOCK");}if(var_last_last_type==="TK_START_BLOCK"&&!isNaN(var_end_count)){var_end_count+=1;}if(args.braces){if(last_type!=="TK_OPERATOR"){if(last_text==="return"){print_single_space();}else{print_newline();}}}else{if(functestval>1){flags.indentation_level+=1;var_var_test=true;comma_test=true;}if(last_type!=="TK_OPERATOR"&&last_type!=="TK_START_EXPR"){if(last_type==="TK_START_BLOCK"){print_newline();}else{print_single_space();}}else{if(is_array(flags.previous_mode)&&last_text===","){print_newline();}}}flags.indentation_level+=1;print_token();}else if(token_type==="TK_END_BLOCK"){n[4]+=1;restore_mode();functestval=0;if(var_var_test){pseudo_block=true;}else{pseudo_block=false;}if(var_end_count===0){var_end_count="x";}else if(var_end_count===-1&&var_var_test&&comma_test){flags.var_line_reindented=true;}else if(var_last_last_type==="TK_START_BLOCK"&&!isNaN(var_end_count)){var_end_count-=1;}else if(var_end_count==="a"){if(flags.var_line&&!flags.var_line_reindented){flags.var_line_reindented=true;var_end_count=-1;}}if(args.braces){if(last_text==="{"&&in_array(last_last_text,punct)){fix_object_own_line();}else{if(var_end_count==="y"){var_last_last_type="";var_end_count="a";}print_newline();if(var_end_count==="x"){if(flags.var_line&&!comma_test&&!var_var_test){flags.var_line_reindented=true;}var_end_count="y";}}print_token();}else{if(last_type==="TK_START_BLOCK"){if(just_added_newline){if(output.length&&output[output.length-1]===indent_string){output.pop();}}else{trim_output();}}else if(is_array(flags.mode)&&args.inarray){args.inarray=false;print_newline();args.inarray=true;}else{if(var_end_count==="y"){var_last_last_type="";var_end_count="a";}print_newline();if(var_end_count==="x"){if(flags.var_line&&!comma_test&&!var_var_test){flags.var_line_reindented=true;}var_end_count="y";}}if(!comma_test&&var_var_test&&!flags.var_line_reindented){if((flags.mode==="(EXPRESSION)"&&!flags.var_line)||(flags.mode==="BLOCK"&&flags.var_line)){if(last_text!=="}"&&var_end_count===-1&&flags.mode==="(EXPRESSION)"){output.push(indent_string);}var_var_test=false;}}print_token();}}else if(token_type==="TK_WORD"){if(token_text==="alert"){m[0]+=1;}else if(token_text==="break"){m[2]+=1;}else if(token_text==="case"){m[4]+=1;}else if(token_text==="catch"){m[48]+=1;}else if(token_text==="continue"){m[6]+=1;}else if(token_text==="default"){m[8]+=1;}else if(token_text==="delete"){m[10]+=1;}else if(token_text==="do"){m[12]+=1;}else if(token_text==="document"){m[44]+=1;}else if(token_text==="else"){m[14]+=1;}else if(token_text==="eval"){m[16]+=1;}else if(token_text==="for"){m[18]+=1;}else if(token_text==="function"){m[20]+=1;}else if(token_text==="if"){m[22]+=1;}else if(token_text==="in"){m[24]+=1;}else if(token_text==="label"){m[26]+=1;}else if(token_text==="new"){m[28]+=1;}else if(token_text==="return"){m[30]+=1;}else if(token_text==="switch"){m[32]+=1;}else if(token_text==="this"){m[34]+=1;}else if(token_text==="throw"){m[50]+=1;}else if(token_text==="try"){m[52]+=1;}else if(token_text==="typeof"){m[36]+=1;}else if(token_text==="var"){m[38]+=1;}else if(token_text==="while"){m[40]+=1;}else if(token_text==="with"){m[42]+=1;}else if(token_text==="window"){m[46]+=1;}else{o[0]+=1;o[1]+=token_text.length;}if(token_text!=="var"&&last_text===";"){comma_test=false;}if(last_text===";"&&last_last_text==="}"&&var_end_count==="y"){flags.indentation_level-=1;}if(last_text==="{"&&((last_last_text===":"&&comma_test)||(last_last_text===")"&&var_last_type==="TK_START_BLOCK"&&!comma_test))){output.push(indent_string);flags.indentation_level+=1;if(token_text!=="var"&&!isNaN(var_end_count)){var_end_count+=1;}}if(do_block_just_closed){print_single_space();print_token();print_single_space();do_block_just_closed=false;}else{if(token_text==="do"){print_newline();print_token();}else if(token_text==="case"||token_text==="default"){if(last_text===":"){if(output.length&&output[output.length-1]===indent_string){output.pop();}}else{flags.indentation_level-=1;print_newline();flags.indentation_level+=1;}print_token();flags.in_case=true;}else{if(token_text==="function"){if(comma_test&&(flags.var_line||(!flags.var_line&&last_last_word==="var"))){functestval+=1;}else if(!comma_test){functestval-=1;}if(comma_test&&flags.var_line&&last_last_word==="var"&&!var_var_test&&functestval===0){flags.var_line_reindented=true;}}prefix="NONE";if(last_type==="TK_END_BLOCK"){if(args.braces||(token_text!=="else"&&token_text!=="catch"&&token_text!=="finally")){prefix="NEWLINE";}else{prefix="SPACE";print_single_space();}}else if(last_type==="TK_STRING"||last_type==="TK_START_BLOCK"||(last_type==="TK_SEMICOLON"&&(flags.mode==="BLOCK"||flags.mode==="DO_BLOCK"))){prefix="NEWLINE";}else if(last_type==="TK_WORD"||(last_type==="TK_SEMICOLON"&&is_expression(flags.mode))){prefix="SPACE";}else if(last_type==="TK_END_EXPR"){print_single_space();prefix="NEWLINE";}if(flags.if_line&&last_type==="TK_END_EXPR"){flags.if_line=false;}if(token_text==="else"||token_text==="catch"||token_text==="finally"){if(last_type!=="TK_END_BLOCK"||args.braces){print_newline();}else{trim_output(true);print_single_space();}}else if(last_type!=="TK_START_EXPR"&&last_text!=="="&&last_text!==","&&(token_text==="continue"||token_text==="try"||token_text==="throw"||token_text==="return"||token_text==="var"||token_text==="if"||token_text==="switch"||token_text==="case"||token_text==="default"||token_text==="for"||token_text==="while"||token_text==="break"||token_text==="function"||prefix==="NEWLINE")){if(last_text==="return"||last_text==="throw"||(last_type!=="TK_END_EXPR"&&last_text!==":"&&(last_type!=="TK_START_EXPR"||token_text!=="var"))){if((token_text==="if"&&last_word==="else"&&last_text!=="{")||(token_text==="function"&&last_type==="TK_OPERATOR")){print_single_space();}else{print_newline();}}else if(last_text!==")"&&last_text!==":"&&(token_text==="continue"||token_text==="try"||token_text==="throw"||token_text==="return"||token_text==="var"||token_text==="if"||token_text==="switch"||token_text==="case"||token_text==="default"||token_text==="for"||token_text==="while"||token_text==="break"||token_text==="function")){print_newline();}}else if(prefix==="SPACE"){print_single_space();}else if(last_text===";"||(is_array(flags.mode)&&last_text===","&&last_last_text==="}")){print_newline();}if(token_text==="var"){if(!var_var_test&&last_type==="TK_START_BLOCK"&&comma_test){if(functestval>=0){var_var_test=true;}}else if(last_type==="TK_START_BLOCK"){if(var_last_type==="TK_START_BLOCK"){if(last_type==="TK_START_BLOCK"){var_last_type="";var_last_last_type="TK_START_BLOCK";var_end_count=0;}}else{var_last_type="TK_START_BLOCK";}}else if(last_type==="TK_START_BLOCK"&&var_last_type===""){var_last_type="TK_START_BLOCK";}flags.var_line=true;flags.var_line_reindented=false;comma_test=true;}print_token();if(token_text==="typeof"){print_single_space();}if(token_text==="if"){flags.if_line=true;}if(token_text==="else"){flags.if_line=false;}}last_last_word=last_word;last_word=token_text;}}else if(token_type==="TK_SEMICOLON"){n[3]+=1;if(last_text==="}"){comma_test=true;}print_token();flags.var_line=false;flags.var_line_reindented=false;if(functestval<2){var_var_test=false;}var_last_type="";}else if(token_type==="TK_STRING"){l[0]+=1;if((token_text.charAt(0)==="\""&&token_text.charAt(token_text.length-1)==="\"")||(token_text.charAt(0)==="'"&&token_text.charAt(token_text.length-1)==="'")){l[1]+=token_text.length-2;l[2]+=2;}else{l[1]+=token_text.length;}white_count(token_text);if(last_type==="TK_START_BLOCK"||last_type==="TK_END_BLOCK"||last_type==="TK_SEMICOLON"){print_newline();}else if(last_type==="TK_WORD"){print_single_space();}if(args.content){output.push(token_text.charAt(0)+"text"+token_text.charAt(0));}else{print_token();}}else if(token_type==="TK_EQUALS"){n[0]+=1;n[1]+=1;print_single_space();print_token();print_single_space();}else if(token_type==="TK_OPERATOR"){if(token_text!==","){n[0]+=1;n[1]+=token_text.length;}var_last_type="";if(token_text===","){if(var_end_count==="y"&&last_type!=="TK_END_BLOCK"){flags.indentation_level-=1;}if(commafix){commafix=false;if(last_text==="}"){flags.var_line_reindented=true;}}if(last_text==="}"&&last_last_text==="{"&&last_last_word==="var"&&flags.var_line){commafix=true;flags.var_line_reindented=true;}n[2]+=1;if(flags.mode!=="(EXPRESSION)"&&last_last_text!==":"){comma_test=false;}if(flags.var_line&&flags.mode!=="(EXPRESSION)"){flags.var_line_reindented=true;print_token();if(last_word!=="prettydiffvar"){print_newline();}}else if(last_type==="TK_END_BLOCK"&&flags.mode!=="(EXPRESSION)"){print_token();if(last_text==="}"){print_newline();}else{print_single_space();}}else if(flags.mode!=="(EXPRESSION)"&&(flags.mode==="BLOCK"||flags.mode==="OBJECT"||is_ternary_op())){print_token();print_newline();}else{print_token();print_single_space();}}else if(last_text==="return"||last_text==="throw"){print_single_space();print_token();}else if(token_text==="::"){print_token();}else if(token_text==="--"||token_text==="++"||token_text==="!"||((token_text==="-"||token_text==="+")&&(last_type==="TK_START_BLOCK"||last_type==="TK_START_EXPR"||last_type==="TK_EQUALS"||last_type==="TK_OPERATOR"||last_text==="continue"||last_text==="try"||last_text==="throw"||last_text==="return"||last_text==="var"||last_text==="if"||last_text==="switch"||last_text==="case"||last_text==="default"||last_text==="for"||last_text==="while"||last_text==="break"||last_text==="function"))){space_before=false;space_after=false;if(last_text===";"&&is_expression(flags.mode)){space_before=true;}if(last_type==="TK_WORD"&&(last_text==="continue"||last_text==="try"||last_text==="throw"||last_text==="return"||last_text==="var"||last_text==="if"||last_text==="switch"||last_text==="case"||last_text==="default"||last_text==="for"||last_text==="while"||last_text==="break"||last_text==="function")){space_before=true;}if(flags.mode==="BLOCK"&&(last_text==="{"||last_text===";")){print_newline();}}else if(token_text==="."){space_before=false;}if(token_text!==","&&token_text!==":"&&(token_text!=="-"||(token_text==="-"&&last_text!=="continue"&&last_text!=="try"&&last_text!=="throw"&&last_text!=="return"&&last_text!=="var"&&last_text!=="if"&&last_text!=="switch"&&last_text!=="case"&&last_text!=="default"&&last_text!=="for"&&last_text!=="while"&&last_text!=="break"&&last_text!=="function"))){if(space_before){print_single_space();}print_token();if(space_after){print_single_space();}}else if(token_text===":"){if(flags.in_case){print_token();print_newline();flags.in_case=false;}else if(is_ternary_op()){print_single_space();print_token();print_single_space();flags.mode="OBJECT";}else if(flags.in_case){print_single_space();print_token();print_single_space();}else if(last_last_text!=="case"&&last_last_text!=="default"&&last_text!=="case"&&last_text!=="default"){print_token();print_single_space();}}space_before=true;space_after=true;}else if(token_type==="TK_BLOCK_COMMENT"){j[0]+=1;j[1]+=token_text.length;white_count(token_text);if(args.comments){for(i=output.length-1;i>0;i-=1){if(output[i]===indent_string||output[i]===" "){output[i]="";}else{break;}}output.push("\n");print_token();output.push("\n");}else{block_comment(token_text);}}else if(token_type==="TK_INLINE_COMMENT"){j[0]+=1;j[1]+=token_text.length;white_count(token_text);print_token();if(is_expression(flags.mode)){print_single_space();}else if(args.comments){output.push("\n");}else{print_newline();}}else if(token_type==="TK_COMMENT"){k[0]+=1;k[1]+=token_text.length;white_count(token_text);if(args.comments){for(i=output.length-1;i>0;i-=1){if(output[i]===indent_string){output[i]="";}else{break;}}}else if(wanted_newline){print_newline();}else{print_single_space();}print_token();print_newline();}else if(token_type==="TK_UNKNOWN"){n[0]+=1;n[1]+=token_text.length;white_count(token_text);if(last_text==="return"||last_text==="throw"){print_single_space();}print_token();}last_last_text=last_text;last_type=token_type;last_text=token_text;}rvalue=output.join("").replace(/var prettydiffvar\,\s*/g,"var ").replace(/^(\s+)/,"").replace(/(\s+)$/,"").replace(/\s*\}\(function/g,funcfix).replace(/\n( |\t)+\n/g,"\n\n").replace(/ \n/g,"\n");(function(){var a=0,b=0,e=1,f=1,g=0,h=0,i=0,p=0,q=[],z=[],output,zero=function(x,y){if(y===0){return"0.00%";}else{return((x/y)*100).toFixed(2)+"%";}},drawRow=function(w,x,y,z,Z){var a=["<tr><th>Keyword '"];a.push(w);a.push("'</th><td ");a.push(x);a.push(">");a.push(y);a.push("</td><td>");a.push(zero(y,m[54]));a.push("</td><td>");a.push(zero(y,Z[0]));a.push("</td><td>");a.push(z);a.push("</td><td>");a.push(zero(z,m[55]));a.push("</td><td>");a.push(zero(z,Z[1]));a.push("</td></tr>");return a.join("");};if(rvalue.length<=input_length){b=input_length;}else{b=rvalue.length;}for(a=0;a<b;a+=1){if(args.source.charAt(a)===" "){g+=1;}else if(args.source.charAt(a)==="\t"){h+=1;}else if(args.source.charAt(a)==="\n"){e+=1;}else if(args.source.charAt(a)==="\r"||args.source.charAt(a)==="\f"||args.source.charAt(a)==="\v"){p+=1;}if(rvalue.charAt(a)==="\n"){f+=1;}}if(m[0]>0){q[0]=" class='bad'";}else{q[0]="";}if(m[6]>0){q[1]=" class='bad'";}else{q[1]="";}if(m[16]>0){q[2]=" class='bad'";}else{q[2]="";}if(m[42]>0){q[3]=" class='bad'";}else{q[3]="";}g=g-w[1];h=h-w[2];p=p-w[3];i=((e-1-w[0])+g+h+p);n.push(l[2]+n[0]+n[2]+n[3]+n[4]);n.push(l[2]+n[1]+n[2]+n[3]+n[4]);j.push(j[0]+k[0]);j.push(j[1]+k[1]);m[1]=m[0]*5;m[3]=m[2]*5;m[5]=m[4]*4;m[7]=m[6]*8;m[9]=m[8]*7;m[11]=m[10]*6;m[13]=m[12]*2;m[15]=m[14]*4;m[17]=m[16]*4;m[19]=m[18]*3;m[21]=m[20]*8;m[23]=m[22]*2;m[25]=m[24]*2;m[27]=m[26]*5;m[29]=m[28]*3;m[31]=m[30]*6;m[33]=m[32]*6;m[35]=m[34]*4;m[37]=m[36]*6;m[39]=m[38]*3;m[41]=m[40]*5;m[43]=m[42]*4;m[45]=m[44]*8;m[47]=m[46]*6;m[49]=m[48]*5;m[51]=m[50]*5;m[53]=m[52]*3;m[54]=m[0]+m[2]+m[4]+m[6]+m[8]+m[10]+m[12]+m[14]+m[16]+m[18]+m[20]+m[22]+m[24]+m[26]+m[28]+m[30]+m[32]+m[34]+m[36]+m[38]+m[40]+m[42]+m[44]+m[46]+m[48]+m[50]+m[52];m[55]=m[1]+m[3]+m[5]+m[7]+m[9]+m[11]+m[13]+m[15]+m[17]+m[19]+m[21]+m[23]+m[25]+m[27]+m[29]+m[31]+m[33]+m[35]+m[37]+m[39]+m[41]+m[43]+m[45]+m[47]+m[49]+m[51]+m[53];z.push(j[2]+l[0]+n[5]+m[54]+o[0]+i);z.push(j[3]+l[1]+n[6]+m[55]+o[1]+i);output=["<div id='doc'>"];output.push("<table class='analysis' summary='JavaScript character size comparison'><caption>JavaScript data report</caption><thead><tr><th>Data Label</th><th>Input</th><th>Output</th><th>Literal Increase</th><th>Percentage Increase</th></tr>");output.push("</thead><tbody><tr><th>Total Character Size</th><td>");output.push(input_length);output.push("</td><td>");output.push(rvalue.length);output.push("</td><td>");output.push(rvalue.length-input_length);output.push("</td><td>");output.push((((rvalue.length-input_length)/rvalue.length)*100).toFixed(2));output.push("%</td></tr><tr><th>Total Lines of Code</th><td>");output.push(e);output.push("</td><td>");output.push(f);output.push("</td><td>");output.push(f-e);output.push("</td><td>");output.push((((f-e)/e)*100).toFixed(2));output.push("%</td></tr></tbody></table>");output.push("<table class='analysis' summary='JavaScript component analysis'><caption>JavaScript component analysis</caption><thead><tr><th>JavaScript Component</th><th>Component Quantity</th><th>Percentage Quantity from Section</th>");output.push("<th>Percentage Qauntity from Total</th><th>Character Length</th><th>Percentage Length from Section</th><th>Percentage Length from Total</th></tr></thead><tbody>");output.push("<tr><th>Total Accounted</th><td>");output.push(z[0]);output.push("</td><td>100.00%</td><td>100.00%</td><td>");output.push(z[1]);output.push("</td><td>100.00%</td><td>100.00%</td></tr><tr><th colspan='7'>Comments</th></tr><tr><th>Block Comments</th><td>");output.push(j[0]);output.push("</td><td>");output.push(zero(j[0],j[2]));output.push("</td><td>");output.push(zero(j[0],z[0]));output.push("</td><td>");output.push(j[1]);output.push("</td><td>");output.push(zero(j[1],j[3]));output.push("</td><td>");output.push(zero(j[1],z[1]));output.push("</td></tr><tr><th>Inline Comments</th><td>");output.push(k[0]);output.push("</td><td>");output.push(zero(k[0],j[2]));output.push("</td><td>");output.push(zero(k[0],z[0]));output.push("</td><td>");output.push(k[1]);output.push("</td><td>");output.push(zero(k[1],j[3]));output.push("</td><td>");output.push(zero(k[1],z[1]));output.push("</td></tr><tr><th>Comment Total</th><td>");output.push(j[2]);output.push("</td><td>100.00%</td><td>");output.push(zero(j[2],z[0]));output.push("</td><td>");output.push(j[3]);output.push("</td><td>100.00%</td><td>");output.push(zero(j[3],z[1]));output.push("</td></tr><tr><th colspan='7'>Whitespace Outside of Strings and Comments</th></tr><tr><th>New Lines</th><td>");output.push(e-1-w[0]);output.push("</td><td>");output.push(zero(e-1-w[0],i));output.push("</td><td>");output.push(zero(e-1-w[0],z[0]));output.push("</td><td>");output.push(e-1-w[0]);output.push("</td><td>");output.push(zero(e-1-w[0],i));output.push("</td><td>");output.push(zero(e-1-w[0],z[1]));output.push("</td></tr><tr><th>Spaces</th><td>");output.push(g);output.push("</td><td>");output.push(zero(g,i));output.push("</td><td>");output.push(zero(g,z[0]));output.push("</td><td>");output.push(g);output.push("</td><td>");output.push(zero(g,i));output.push("</td><td>");output.push(zero(g,z[1]));output.push("</td></tr><tr><th>Tabs</th><td>");output.push(h);output.push("</td><td>");output.push(zero(h,i));output.push("</td><td>");output.push(zero(h,z[0]));output.push("</td><td>");output.push(h);output.push("</td><td>");output.push(zero(h,i));output.push("</td><td>");output.push(zero(h,z[1]));output.push("</td></tr><tr><th>Other Whitespace</th><td>");output.push(p);output.push("</td><td>");output.push(zero(p,i));output.push("</td><td>");output.push(zero(p,z[0]));output.push("</td><td>");output.push(p);output.push("</td><td>");output.push(zero(p,i));output.push("</td><td>");output.push(zero(p,z[1]));output.push("</td></tr><tr><th>Total Whitespace</th><td>");output.push(i);output.push("</td><td>100.00%</td><td>");output.push(zero(i,z[0]));output.push("</td><td>");output.push(i);output.push("</td><td>100.00%</td><td>");output.push(zero(i,z[1]));output.push("</td></tr><tr><th colspan='7'>Strings</th></tr><tr><th>Strings</th><td>");output.push(l[0]);output.push("</td><td>100.00%</td><td>");output.push(zero(l[0],z[0]));output.push("</td><td>");output.push(l[1]);output.push("</td><td>100.00%</td><td>");output.push(zero(l[1],z[1]));output.push("</td></tr><tr><th colspan='7'>Syntax Characters</th></tr><tr><th>Quote Characters</th><td>");output.push(l[2]);output.push("</td><td>");output.push(zero(l[2],n[5]));output.push("</td><td>");output.push(zero(l[2],z[0]));output.push("</td><td>");output.push(l[2]);output.push("</td><td>");output.push(zero(l[2],n[6]));output.push("</td><td>");output.push(zero(l[2],z[1]));output.push("</td></tr><tr><th>Commas</th><td>");output.push(n[2]);output.push("</td><td>");output.push(zero(n[2],n[5]));output.push("</td><td>");output.push(zero(n[2],z[0]));output.push("</td><td>");output.push(n[2]);output.push("</td><td>");output.push(zero(n[2],n[6]));output.push("</td><td>");output.push(zero(n[2],z[1]));output.push("</td></tr><tr><th>Containment Characters</th><td>");output.push(n[4]);output.push("</td><td>");output.push(zero(n[4],n[5]));output.push("</td><td>");output.push(zero(n[4],z[0]));output.push("</td><td>");output.push(n[4]);output.push("</td><td>");output.push(zero(n[4],n[6]));output.push("</td><td>");output.push(zero(n[4],z[1]));output.push("</td></tr><tr><th>Semicolons</th><td>");output.push(n[3]);output.push("</td><td>");output.push(zero(n[3],n[5]));output.push("</td><td>");output.push(zero(n[3],z[0]));output.push("</td><td>");output.push(n[3]);output.push("</td><td>");output.push(zero(n[3],n[6]));output.push("</td><td>");output.push(zero(n[3],z[1]));output.push("</td></tr><tr><th>Operators</th><td>");output.push(n[0]);output.push("</td><td>");output.push(zero(n[0],n[5]));output.push("</td><td>");output.push(zero(n[0],z[0]));output.push("</td><td>");output.push(n[1]);output.push("</td><td>");output.push(zero(n[1],n[6]));output.push("</td><td>");output.push(zero(n[1],z[1]));output.push("</td></tr><tr><th>Total Syntax Characters</th><td>");output.push(n[5]);output.push("</td><td>100.00%</td><td>");output.push(zero(n[5],z[0]));output.push("</td><td>");output.push(n[6]);output.push("</td><td>100.00%</td><td>");output.push(zero(n[6],z[1]));output.push("</td></tr>");output.push("<tr><th colspan='7'>Keywords</th></tr>");output.push(drawRow("alert",q[0],m[0],m[1],z));output.push(drawRow("break","",m[2],m[3],z));output.push(drawRow("case","",m[4],m[5],z));output.push(drawRow("catch","",m[48],m[49],z));output.push(drawRow("continue",q[1],m[6],m[7],z));output.push(drawRow("default","",m[8],m[9],z));output.push(drawRow("delete","",m[10],m[11],z));output.push(drawRow("do","",m[12],m[13],z));output.push(drawRow("document","",m[44],m[45],z));output.push(drawRow("else","",m[14],m[15],z));output.push(drawRow("eval",q[2],m[16],m[17],z));output.push(drawRow("for","",m[18],m[19],z));output.push(drawRow("function","",m[20],m[21],z));output.push(drawRow("if","",m[22],m[23],z));output.push(drawRow("in","",m[24],m[25],z));output.push(drawRow("label","",m[26],m[27],z));output.push(drawRow("new","",m[28],m[29],z));output.push(drawRow("return","",m[30],m[31],z));output.push(drawRow("switch","",m[32],m[33],z));output.push(drawRow("this","",m[34],m[35],z));output.push(drawRow("throw","",m[50],m[51],z));output.push(drawRow("typeof","",m[36],m[37],z));output.push(drawRow("var","",m[38],m[39],z));output.push(drawRow("while","",m[40],m[41],z));output.push(drawRow("with",q[3],m[42],m[43],z));output.push(drawRow("window","",m[46],m[47],z));output.push(drawRow("try","",m[52],m[53],z));output.push("<tr><th>Total Keywords</th><td>");output.push(m[54]);output.push("</td><td>100.00%</td><td>");output.push(zero(m[55],z[0]));output.push("</td><td>");output.push(m[55]);output.push("</td><td>100.00%</td><td>");output.push(zero(m[55],z[1]));output.push("</td></tr>");output.push("<tr><th colspan='7'>Variables and Other Keywords</th></tr><tr><th>Variable Instances</th><td>");output.push(o[0]);output.push("</td><td>100.00%</td><td>");output.push(zero(o[0],z[0]));output.push("</td><td>");output.push(o[1]);output.push("</td><td>100.00%</td><td>");output.push(zero(o[1],z[1]));output.push("</td></tr></tbody></table></div>");summary=output.join("");}());return rvalue;},markupmin=function(x,comments,presume_html,top_comments){var i,a,b,c,y,Y,verbose=(/^\s+$/),white=(/\s/),html=["br","meta","link","img","hr","base","basefont","area","col","frame","input","param"],markupspace=function(){var d="",Y=x.length;for(a=i;a<Y;a+=1){if(x[a]===">"){break;}else{d=d+x[a];x[a]="";}}d=d.replace(/\s+/g," ").replace(/\s*,\s+/g,", ").replace(/\s*\/\s*/g,"/").replace(/\s*=\s*/g,"=").replace(/\s*:\s*/g,":").replace(/ \="/g,"=\"").replace(/ \='/g,"='")+">";i=a;x[i]=d;},markupcomment=function(){var Y=x.length;c="";for(b=i;b<Y;b+=1){if(x[b]==="-"&&x[b+1]==="-"&&x[b+2]===">"){x[b]="";x[b+1]="";x[b+2]="";i=b+2;break;}else if(comments!=="comments"&&comments!=="beautify"){x[b]="";}else{c=c+x[b];x[b]="";}}if(comments==="comments"||comments==="beautify"){c=" "+c+"-->";x[i]=c;}},markupscript=function(z){var e=[],f,h="",j="</"+z,m,Y=x.length,cdataStart=(/^(\s*\/+<!\[+[A-Z]+\[+)/),cdataEnd=(/(\/+\]+>\s*)$/),scriptStart=(/^(\s*<\!\-\-)/),scriptEnd=(/(\/+\-\->\s*)$/),cs="",ce="";if(jsmin===undefined){return;}for(c=i;c<Y;c+=1){if((y.slice(c,c+j.length)).toLowerCase()===j){f=c;break;}}for(c=i;c<f;c+=1){if(x[c-1]!==">"){e.push(x[c]);x[c]="";}else{break;}}m=e[0];e.splice(0,1);if(white.test(e[0])){e.splice(0,1);}for(f;f<Y;f+=1){if(x[f]!==">"){h=h+x[f];x[f]="";}else{break;}}h=h+">";i=f;if(e.join("")===""){x[i]=m+h;return;}e=e.join("");if(comments!=="beautify"){if(cdataStart.test(e)){cs=e.match(cdataStart)[0];e=e.replace(cdataStart,"");}else if(scriptStart.test(e)){cs=e.match(scriptStart)[0];e=e.replace(scriptStart,"");}if(cdataEnd.test(e)){ce=e.match(cdataEnd)[0];e=e.replace(cdataEnd,"");}else if(scriptEnd.test(e)){ce=e.match(scriptEnd)[0];e=e.replace(scriptEnd,"");}if(z==="style"){e=cs+jsmin(e,3,"css",true,top_comments)+ce;}else{e=cs+jsmin(e,3,"javascript",false,top_comments)+ce;}}Y=e.length;for(c=0;c<Y;c+=1){if(white.test(e.charAt(c))){e=e.substr(c+1);}else{break;}}x[i]=m+e+h;},preserve=function(end){var Y=x.length;b="";for(c=i;c<Y;c+=1){if(x[c-1]+x[c]===end){break;}}for(a=i;a<c;a+=1){b+=x[a];x[a]="";}x[i]=b;i=c;},content=function(){var Y=x.length;b="";for(a=i;a<Y;a+=1){if(x[a]==="<"){break;}else{b=b+x[a];x[a]="";}}i=a-1;x[i]=b.replace(/\s+/g," ");},it=(function(){var a,b,c=x.length;y=x;x=x.split("");for(i=0;i<x.length;i+=1){if((y.slice(i,i+7)).toLowerCase()==="<script"){a=[];for(b=i+8;b<c;b+=1){if(y.charAt(b)===">"){break;}a.push(y.charAt(b));}a=a.join("").toLowerCase().replace(/'/g,"\"");if(comments!=="beautify"&&comments!=="diff"){markupspace();}if(a.indexOf("type=\"")===-1||a.indexOf("type=\"text/javascript\"")!==-1||a.indexOf("type=\"application/javascript\"")!==-1||a.indexOf("type=\"application/x-javascript\"")!==-1||a.indexOf("type=\"text/ecmascript\"")!==-1||a.indexOf("type=\"application/ecmascript\"")!==-1){markupscript("script");}}else if((y.slice(i,i+6)).toLowerCase()==="<style"){a=[];for(b=i+7;b<c;b+=1){if(y.charAt(b)===">"){break;}a.push(y.charAt(b));}a=a.join("").toLowerCase().replace(/'/g,"\"");if(comments!=="beautify"&&comments!=="diff"){markupspace();}if(a.indexOf("type=\"")===-1||a.indexOf("type=\"text/css\"")!==-1){markupscript("style");}}else if(y.slice(i,i+4)==="<!--"&&x[i+4]!=="#"){markupcomment();}else if(y.slice(i,i+5)==="<?php"){preserve("?>");}else if(y.slice(i,i+2)==="<%"){preserve("%>");}else if((x[i]==="<"&&x[i+1]!=="!")||(x[i]==="<"&&x[i+1]==="!"&&x[i+2]!=="-")){markupspace();}else if(x[i]===undefined){x[i]="";}else if(x[i-1]!==undefined&&x[i-1].charAt(x[i-1].length-1)===">"){content();}}}());i=[];Y=x.length;for(a=0;a<Y;a+=1){if(x[a]!==""){i.push(x[a]);}}x=[];Y=i.length;for(a=0;a<Y;a+=1){if(!verbose.test(i[a])||(verbose.test(i[a])&&!verbose.test(i[a+1]))){x.push(i[a]);}}Y=x.length;for(a=2;a<Y;a+=1){c=0;if(presume_html===true){b="";for(i=1;i<x[a].length;i+=1){if(/[a-z]/i.test(x[a].charAt(i))){b+=x[a].charAt(i);}else{break;}}for(i=0;i<html.length;i+=1){if(b===html[i]&&x[a].charAt(0)==="<"){c=1;break;}}}if(verbose.test(x[a-1])){if(c!==1&&(x[a].charAt(0)==="<"&&x[a].charAt(1)==="/"&&x[a-1]!==" "&&x[a-2].charAt(0)==="<"&&x[a-2].charAt(1)==="/"&&x[a-3].charAt(0)!=="<")&&(x[a].charAt(0)==="<"&&x[a].charAt(x[a].length-2)!=="/")&&(x[a].charAt(0)==="<"&&x[a].charAt(x[a].length-2)!=="/"&&x[a-2].charAt(0)==="<"&&x[a-2].charAt(1)==="/")){x[a-1]="";}}}x=x.join("").replace(/-->\s+/g,"--> ").replace(/\s+<\?php/g," <?php").replace(/\s+<%/g," <%").replace(/\s*>\s+/g,"> ").replace(/\s+<\s*/g," <").replace(/\s+\/>/g,"/>").replace(/\s+>/g,">");if(white.test(x.charAt(0))){x=x.slice(1,x.length);}return x;},markup_beauty=function(args){var tab="",token=[],build=[],cinfo=[],level=[],inner=[],sum=[],x=args.source,start=(function(){if(!args.source||typeof args.source!=="string"){args.source="";}if(args.insize===undefined||isNaN(args.insize)){args.insize=4;}if(typeof args.inchar!=="string"||args.inchar.length<1){args.inchar=" ";}if(!args.mode||args.mode!=="diff"){args.mode="beautify";}if(!args.comments||args.comments!=="indent"){args.comments="noindent";}if(!args.style||args.style!=="indent"){args.style="noindent";}if(typeof args.html!=="boolean"){args.html=false;}if(typeof args.content!=="boolean"){args.content=false;}if(typeof args.force_indent!=="boolean"){args.force_indent=false;}}()),cdatafix=(function(){var a=function(y){y=y.replace(/</g,"\nprettydiffcdatas");return y;},b=function(y){y=y.replace(/>/g,"\nprettydiffcdatae");return y;};x=x.replace(/\/+<!\[+[A-Z]+\[+/g,a).replace(/\/+\]+>/g,b);}()),innerset=(function(){var a,b,e,f,g,j,l,m,n,o,p,q=[">"],r=0,h=-1,i=0,k=-1,c=args.source.length,d=[];for(a=0;a<c;a+=1){if(x.substr(a,7).toLowerCase()==="<script"){for(b=a+7;b<c;b+=1){if(x.charAt(b)+x.charAt(b+1)+x.charAt(b+2).toLowerCase()+x.charAt(b+3).toLowerCase()+x.charAt(b+4).toLowerCase()+x.charAt(b+5).toLowerCase()+x.charAt(b+6).toLowerCase()+x.charAt(b+7).toLowerCase()+x.charAt(b+8)==="</script>"){if(/></.test(x.substr(a,b))){h+=2;}else{h+=3;}a=b+8;break;}}}else if(x.substr(a,6).toLowerCase()==="<style"){for(b=a+6;b<c;b+=1){if(x.charAt(b)+x.charAt(b+1)+x.charAt(b+2).toLowerCase()+x.charAt(b+3).toLowerCase()+x.charAt(b+4).toLowerCase()+x.charAt(b+5).toLowerCase()+x.charAt(b+6).toLowerCase()+x.charAt(b+7)==="</style>"){if(/></.test(x.substr(a,b))){h+=2;}else{h+=3;}a=b+7;break;}}}else if(x.substr(a,5)==="<?php"){for(b=a+5;b<c;b+=1){if(x.charAt(b-1)==="?"&&x.charAt(b)===">"){a=b;h+=1;break;}}}else if(x.charAt(a)==="<"&&x.charAt(a+1)==="%"){for(b=a+2;b<c;b+=1){if(x.charAt(b-1)==="%"&&x.charAt(b)===">"){a=b;h+=1;break;}}}else if(x.charAt(a)==="<"&&x.charAt(a+1)==="!"&&/[A-Z]|\[/.test(x.charAt(a+2))){for(b=a+3;b<c;b+=1){if(x.charAt(b)===">"&&q[q.length-1]===">"&&q.length===1){h+=1;if(r!==0){d.push([a,b,h,a]);}r=0;a=b;q=[">"];break;}else if(x.charAt(b)==="<"){q.push(">");r=b;}else if(x.charAt(b)===">"&&q.length>1){q.pop();r=b;}else if(x.charAt(b)==="["){q.push("]");}else if(x.charAt(b)==="]"){q.pop();}else if(x.charAt(b)==="\""){if(q[q.length-1]==="\""){q.pop();}else{q.push("\"");}}else if(x.charAt(b)==="'"){if(q[q.length-1]==="'"){q.pop();}else{q.push("'");}}}}else if(x.charAt(a)===x.charAt(a+1)&&(x.charAt(a)==="\""||x.charAt(a)==="'")){a+=1;}else if(x.charAt(a-1)==="="&&(x.charAt(a)==="\""||x.charAt(a)==="'")){o=-1;for(m=a-1;m>0;m-=1){if((x.charAt(m)==="\""&&x.charAt(a)==="\"")||(x.charAt(m)==="'"&&x.charAt(a)==="'")||x.charAt(m)==="<"){break;}else if(x.charAt(m)===">"){o=m;break;}}if(o===-1){n=0;for(b=a+1;b<c;b+=1){if(x.substr(b,7).toLowerCase()==="<script"){for(p=b+7;p<c;p+=1){if(x.charAt(p)+x.charAt(p+1)+x.charAt(p+2).toLowerCase()+x.charAt(p+3).toLowerCase()+x.charAt(p+4).toLowerCase()+x.charAt(p+5).toLowerCase()+x.charAt(p+6).toLowerCase()+x.charAt(p+7).toLowerCase()+x.charAt(p+8)==="</script>"){b=p+8;break;}}}else if(x.substr(b,6).toLowerCase()==="<style"){for(p=b+6;p<c;p+=1){if(x.charAt(p)+x.charAt(p+1)+x.charAt(p+2).toLowerCase()+x.charAt(p+3).toLowerCase()+x.charAt(p+4).toLowerCase()+x.charAt(p+5).toLowerCase()+x.charAt(p+6).toLowerCase()+x.charAt(p+7)==="</style>"){b=p+7;break;}}}else if(x.substr(b,5)==="<?php"){for(p=b+5;p<c;p+=1){if(x.charAt(p-1)==="?"&&x.charAt(p)===">"){b=p;break;}}}else if(x.charAt(b)==="<"&&x.charAt(b+1)==="%"){for(p=b+5;p<c;p+=1){if(x.charAt(p-1)==="%"&&x.charAt(p)===">"){b=p;break;}}}else if(x.charAt(b)===">"||x.charAt(b)==="<"){n=1;}else if((x.charAt(b-1)!=="\\"&&((x.charAt(a)==="\""&&x.charAt(b)==="\"")||(x.charAt(a)==="'"&&x.charAt(b)==="'")))||b===c-1){if(k!==h&&l===1){l=0;h-=1;k-=1;}else if(k===h){for(e=i+1;e>a;e+=1){if(!/\s/.test(x.charAt(e))){break;}}j=e;if(i<a&&l!==1){l=1;h+=1;k+=1;}}if(n===1){d.push([a,b,h,j]);}a=b;break;}}}}else if(x.charAt(a)==="<"){if(x.charAt(a+1)==="!"&&x.charAt(a+2)==="-"&&x.charAt(a+3)==="-"){for(b=a+4;b<x.length;b+=1){if(x.charAt(b)==="-"&&x.charAt(b+1)==="-"&&x.charAt(b+2)===">"){break;}}h+=1;a=b+2;}else{h+=1;j=a;}}else if(x.charAt(a+1)==="<"&&x.charAt(a)!==">"){for(b=a;b>0;b-=1){if(!/\s/.test(x.charAt(b))&&x.charAt(b)!==">"){h+=1;k+=1;j=a;break;}else if(x.charAt(b)===">"){if(h!==k){k+=1;i=a;}break;}}}else if(x.charAt(a)===">"){k+=1;i=a;}}c=d.length;x=x.split("");for(a=0;a<c;a+=1){i=d[a][0]+1;f=d[a][1];g=d[a][2];j=d[a][3];for(e=i;e<f;e+=1){h=0;if(x[e]==="<"){x[e]="[";for(b=e;b>j;b-=1){h+=1;if(/\s/.test(x[b])){for(k=b-1;k>j;k-=1){if(!/\s/.test(x[k])){if(x[k]!=="="){h+=1;}else if(/\s/.test(x[k-1])){h-=1;}b=k;break;}}}}if(/\s/.test(x[i])){h-=1;}inner.push(["<",h,g]);}else if(x[e]===">"){x[e]="]";for(b=e;b>j;b-=1){h+=1;if(/\s/.test(x[b])){for(k=b-1;k>j;k-=1){if(!/\s/.test(x[k])){if(x[k]!=="="){h+=1;}else if(/\s/.test(x[k-1])){h-=1;}b=k;break;}}}}if(/\s/.test(x[i])){h-=1;}inner.push([">",h,g]);}}}x=x.join("");}()),elements=(function(){var q,a,loop,i,Z,b=function(end){var c=i,d,e,f="",z=end.charAt(end.length-2),y=end.split("").reverse(),g=function(){for(c;c<loop;c+=1){if(z!=="-"&&z!=="?"&&z!=="%"&&x[c]===">"){break;}else if(x[c-1]+x[c]===z+">"){break;}}Z=y.length;for(d=0;d<Z;d+=1){if(x[c-d]!==y[d]){e=false;c+=1;break;}e=true;}};g();if(e!==true){do{g();}while(e!==true);}if(e===true){Z=c+1;for(d=i;d<Z;d+=1){f=f+x[d];}}if(x[i-2]===">"&&x[i-1]===" "){f=" "+f;}i=c-1;return f;},cgather=function(z){var c,d="",e;q="";for(c=i;c<loop;c+=1){if(q===""&&x[c-1]!=="\\"){if(x[c]==="/"&&x[c+1]&&x[c+1]==="/"){q="//";}else if(x[c]==="/"&&x[c+1]&&x[c+1]==="*"){q="/*";}else if(x[c]==="'"||x[c]==="\""||x[c]==="/"){if(x[c]==="/"){for(e=c-1;e>0;e-=1){if(!/\s/.test(x[e])){break;}}if(x[e]===")"||x[e]==="]"||x[e]==="}"||/\w/.test(x[e])){q="";}else{q="/";}}else{q=x[c];}}}else if(x[c-1]!=="\\"&&((q==="'"&&x[c]==="'")||(q==="\""&&x[c]==="\"")||(q==="/"&&x[c]==="/")||(q==="//"&&(x[c]==="\n"||(x[c-4]&&x[c-4]==="/"&&x[c-3]==="/"&&x[c-2]==="-"&&x[c-1]==="-"&&x[c]===">")))||(q==="/*"&&x[c-1]==="*"&&x[c]==="/"))){q="";}if(((z==="script"&&q==="")||z==="style")&&x[c]==="<"&&x[c+1]==="/"&&x[c+2].toLowerCase()==="s"){if(z==="script"&&(x[c+3].toLowerCase()==="c"&&x[c+4].toLowerCase()==="r"&&x[c+5].toLowerCase()==="i"&&x[c+6].toLowerCase()==="p"&&x[c+7].toLowerCase()==="t")){break;}else if(z==="style"&&(x[c+3].toLowerCase()==="t"&&x[c+4].toLowerCase()==="y"&&x[c+5].toLowerCase()==="l"&&x[c+6].toLowerCase()==="e")){break;}}else if(z==="other"&&x[c]==="<"){break;}else{d=d+x[c];}}i=c-1;if(args.content){if(d.charAt(0)===" "&&d.charAt(d.length-1)===" "){d=" text ";}else if(d.charAt(0)===" "){d=" text";}else if(d.charAt(d.length-1)===" "){d="text ";}else{d="text";}}return d;},type_define=(function(){var a;x=markupmin(x,args.mode,args.html).split("");loop=x.length;for(i=0;i<loop;i+=1){if(x[i]==="<"&&x[i+1]==="!"&&x[i+2]==="-"&&x[i+3]==="-"&&x[i+4]!=="#"&&token[token.length-1]!=="T_script"&&token[token.length-1]!=="T_style"){build.push(b("-->"));token.push("T_comment");}else if(x[i]==="<"&&x[i+1]==="!"&&x[i+2]==="-"&&x[i+3]==="-"&&x[i+4]==="#"){build.push(b("-->"));token.push("T_ssi");}else if(x[i]==="<"&&x[i+1]==="!"&&x[i+2]!=="-"&&token[token.length-1]!=="T_script"){build.push(b(">"));token.push("T_sgml");}else if(x[i]==="<"&&x[i+1]==="?"&&x[i+2].toLowerCase()==="x"&&x[i+3].toLowerCase()==="m"&&x[i+4].toLowerCase()==="l"){build.push(b("?>"));token.push("T_xml");}else if(x[i]==="<"&&x[i+1]==="?"&&x[i+2].toLowerCase()==="p"&&x[i+3].toLowerCase()==="h"&&x[i+4].toLowerCase()==="p"){build.push(b("?>"));token.push("T_php");}else if(x[i]==="<"&&x[i+1].toLowerCase()==="s"&&x[i+2].toLowerCase()==="c"&&x[i+3].toLowerCase()==="r"&&x[i+4].toLowerCase()==="i"&&x[i+5].toLowerCase()==="p"&&x[i+6].toLowerCase()==="t"){build.push(b(">"));a=build[build.length-1].toLowerCase().replace(/'/g,"\"");if(a.charAt(a.length-2)==="/"){token.push("T_singleton");}else if(a.indexOf(" type=\"")===-1||a.indexOf(" type=\"text/javascript\"")!==-1||a.indexOf(" type=\"application/javascript\"")!==-1||a.indexOf(" type=\"application/x-javascript\"")!==-1||a.indexOf(" type=\"text/ecmascript\"")!==-1||a.indexOf(" type=\"application/ecmascript\"")!==-1){token.push("T_script");}else{token.push("T_tag_start");}}else if(x[i]==="<"&&x[i+1].toLowerCase()==="s"&&x[i+2].toLowerCase()==="t"&&x[i+3].toLowerCase()==="y"&&x[i+4].toLowerCase()==="l"&&x[i+5].toLowerCase()==="e"){build.push(b(">"));a=build[build.length-1].toLowerCase().replace(/'/g,"\"");if(a.indexOf(" type=\"")===-1||a.indexOf(" type=\"text/css\"")!==-1){token.push("T_style");}else{token.push("T_tag_start");}}else if(x[i]==="<"&&x[i+1]==="%"){build.push(b("%>"));token.push("T_asp");}else if(x[i]==="<"&&x[i+1]==="/"){build.push(b(">"));token.push("T_tag_end");}else if(x[i]==="<"&&token[token.length-1]!=="T_script"&&token[token.length-1]!=="T_style"&&(x[i+1]!=="!"||x[i+1]!=="?"||x[i+1]!=="/"||x[i+1]!=="%")){for(a=i;a<loop;a+=1){if(x[a]!=="?"&&x[a]!=="%"){if(x[a]==="/"&&x[a+1]===">"){build.push(b("/>"));token.push("T_singleton");break;}else if(x[a+1]===">"){build.push(b(">"));token.push("T_tag_start");break;}}}}else if(x[i-1]===">"&&(x[i]!=="<"||(x[i]!==" "&&x[i+1]!=="<"))){if(token[token.length-1]==="T_script"){build.push(cgather("script"));token.push("T_content");}else if(token[token.length-1]==="T_style"){build.push(cgather("style"));token.push("T_content");}else if(x[i-1]+x[i]+x[i+1]!=="> <"){build.push(cgather("other"));token.push("T_content");}}}}());}()),code_type=(function(){var i,Z=token.length;for(i=0;i<Z;i+=1){build[i]=build[i].replace(/\s*prettydiffcdatas/g,"<").replace(/\s*prettydiffcdatae/g,">");if(token[i]==="T_sgml"||token[i]==="T_xml"){cinfo.push("parse");}else if(token[i]==="T_asp"||token[i]==="T_php"||token[i]==="T_ssi"){cinfo.push("singleton");}else if(token[i]==="T_comment"){cinfo.push("comment");}else if((token[i]==="T_content"&&build[i]!==" ")&&token[i-1]==="T_script"){cinfo.push("external");}else if(token[i]==="T_content"&&token[i-1]==="T_style"){cinfo.push("external");}else if(token[i]==="T_content"&&build[i].charAt(0)===" "&&build[i].charAt(build[i].length-1)===" "){cinfo.push("mixed_both");}else if(token[i]==="T_content"&&build[i].charAt(0)===" "&&build[i].charAt(build[i].length-1)!==" "){cinfo.push("mixed_start");}else if(token[i]==="T_content"&&build[i].charAt(0)!==" "&&build[i].charAt(build[i].length-1)===" "){cinfo.push("mixed_end");}else if(token[i]==="T_content"){cinfo.push("content");}else if(token[i]==="T_tag_start"){cinfo.push("start");}else if(token[i]==="T_style"){build[i]=build[i].replace(/\s+/g," ");cinfo.push("start");}else if(token[i]==="T_script"){build[i]=build[i].replace(/\s+/g," ");cinfo.push("start");}else if(token[i]==="T_singleton"){cinfo.push("singleton");}else if(token[i]==="T_tag_end"){cinfo.push("end");}}sum=sum.concat(build);}()),tab_check=(function(){var a,b=args.insize,c=args.inchar;for(a=0;a<b;a+=1){tab+=c;}return tab;}()),cheat=(function(){if(!args.html){return;}var a,b,i,loop=cinfo.length;for(i=0;i<loop;i+=1){if(cinfo[i]==="start"){a=build[i].indexOf(" ");if(build[i].length===3){b=build[i].charAt(1).toLowerCase();}else if(a===-1){b=build[i].slice(1,cinfo[i].length-2).toLowerCase();}else if(a===0){b=build[i].slice(1,build[i].length);a=b.indexOf(" ");b=b.slice(1,a).toLowerCase();}else{b=build[i].slice(1,a).toLowerCase();}if(b==="br"||b==="meta"||b==="link"||b==="img"||b==="hr"||b==="base"||b==="basefont"||b==="area"||b==="col"||b==="frame"||b==="input"||b==="param"){cinfo[i]="singleton";token[i]="T_singleton";}}}}()),tab_level=(function(){var i,loop=cinfo.length,a,c=function(x){var k,m=0;if(x==="start"){m+=1;}for(k=i-1;k>-1;k-=1){if(cinfo[k]==="start"&&level[k]==="x"){m+=1;}else if(cinfo[k]==="end"){m-=1;}else if(cinfo[k]==="start"&&level[k]!=="x"){return level.push(level[k]+m);}else if(k===0){if(cinfo[k]!=="start"){return level.push(0);}else if(cinfo[i]==="mixed_start"||cinfo[i]==="content"||(cinfo[i]==="singleton"&&build[i].charAt(0)!==" ")){return level.push("x");}else{return level.push(1);}}}},e=function(){var yy=1,z=function(y){for(y;y>0;y-=1){if(level[y]!=="x"){return level.push(level[y]+1);}}},w=function(){var k,q,y,u=function(){var t=function(){var s,l=0;for(s=i-1;s>0;s-=1){if((cinfo[s]==="start"&&cinfo[s+1]==="start"&&level[s]===level[s+1]-1)||(cinfo[s]==="start"&&cinfo[s-1]!=="start"&&level[s]===level[s-1])){break;}}for(k=s+1;k<i;k+=1){if(cinfo[k]==="mixed_start"&&cinfo[k+1]==="end"){l+=1;}}if(cinfo[s-1]==="end"&&level[s-1]!=="x"&&l===0){l+=1;}if(l!==0){if(level[i-1]==="x"){return l-1;}else{return l;}}else{for(s;s<i;s+=1){if(cinfo[s]==="start"){l+=1;}else if(cinfo[s]==="end"){l-=1;}}return l;}};for(y=i-1;y>0;y-=1){if(cinfo[y]!=="mixed_end"||(cinfo[y]==="start"&&level[y]!=="x")){if(cinfo[y-1]==="end"){q="r";if(cinfo[i-1]==="mixed_both"&&level[i-1]===level[y]-t()){return level.push(level[y]-(t()+1));}else if(cinfo[i-2]==="start"&&(cinfo[i-1]==="mixed_end"||cinfo[i-1]==="mixed_both")){return level.push(level[y]);}else if(level[y]!=="x"){if(cinfo[y]==="mixed_both"&&y!==i-t()){if(y===i-1){return level.push(level[y]-1);}else{return level.push(level[y]+t());}}else if(cinfo[i-1]==="mixed_end"&&t()===0){return level.push(level[y]-1);}else{if(level[i-1]==="x"&&(cinfo[i-2]!=="end"||(cinfo[i-2]==="end"&&level[i-2]!=="x"))){return level.push(level[y]+t());}else{return level.push(level[y]-t());}}}}else{q=y;return;}}}},r=function(){var l=0;for(k=i;k>0;k-=1){if(cinfo[k]==="end"){l+=1;}else if(cinfo[k]==="start"){l-=1;}if(l===0){return k;}}};if(cinfo[i-1]==="end"&&level[i-1]!=="x"){if(cinfo[i-2]==="start"&&level[i-2]==="x"){for(k=i-2;k>0;k-=1){if(level[k]!=="x"){break;}}if(cinfo[k]==="start"){return c("end");}else{return level.push(level[k]-1);}}else if(cinfo[i-2]==="start"&&level[i-2]!=="x"){return level.push(level[i-2]-1);}else{return level.push(level[i-1]-1);}}else{u();if(q==="r"){return;}else{y=0;for(q=r();q>0;q-=1){if(cinfo[q]==="start"){y+=1;}else if(cinfo[q]==="end"){y-=1;}if(level[q]!=="x"){if(cinfo[q]==="end"&&cinfo[q-1]==="start"&&level[q-1]!=="x"){return level.push(level[q]);}else if(level[i-1]==="x"&&build[i].charAt(0)!==" "&&cinfo[i-1]!=="mixed_end"&&(cinfo[i-2]!=="end"||level[i-2]!=="x")&&(cinfo[i-3]!=="end"||level[i-3]!=="x")){return level.push("x");}else{return level.push(level[q]+(y-1));}}}y=0;for(q=i;q>-1;q-=1){if(cinfo[q]==="start"){y+=1;}else if(cinfo[q]==="end"){y-=1;}}return level.push(y);}}};if(cinfo[i-1]==="end"||cinfo[i-1]==="mixed_both"||cinfo[i-1]==="mixed_end"){return w();}else if(cinfo[i-1]==="mixed_start"||cinfo[i-1]==="content"){return level.push("x");}else if(cinfo[i-1]==="external"){yy=-1;for(a=i-2;a>0;a-=1){if(cinfo[a]==="start"){yy+=1;}else if(cinfo[a]==="end"){yy-=1;}if(level[a]!=="x"){break;}}if(cinfo[a]==="end"){yy+=1;}return level.push(level[a]+yy);}else if(build[i].charAt(0)!==" "){if((cinfo[i-1]==="singleton"||cinfo[i-1]==="content")&&level[i-1]==="x"){return level.push("x");}yy=0;for(a=i-1;a>0;a-=1){if(cinfo[a]==="singleton"&&level[a]==="x"&&((cinfo[a-1]==="singleton"&&level[a-1]!=="x")||cinfo[a-1]!=="singleton")){yy+=1;}if(level[a]!==0&&level[a]!=="x"&&cinfo[i-1]!=="start"){if(cinfo[a]==="mixed_both"||cinfo[a]==="mixed_start"){return level.push(level[a]-yy);}else if(level[a]===yy||(cinfo[a]==="singleton"&&(cinfo[a-1]==="content"||cinfo[a-1]==="mixed_start"))){return level.push(level[a]);}else{return level.push(level[a]-1);}}else if(cinfo[a]==="start"&&level[a]==="x"){return z(a);}else if(cinfo[i-1]==="start"){return level.push(level[a]);}}return level.push(0);}else{return c("end");}},f=function(z){var k,l,m,n=(function(){var j;if(z===1){k=0;l=0;m=0;}else{for(j=z-1;j>0;j-=1){if(cinfo[j]!=="comment"){k=j;break;}}if(k===1){l=0;m=0;}else{for(j=k-1;j>0;j-=1){if(cinfo[j]!=="comment"){l=j;break;}}if(l===1){m=0;}else{for(j=l-1;j>0;j-=1){if(cinfo[j]!=="comment"){m=j;break;}}}}}}()),p=function(){var j,v=1,u=-1;for(j=k;j>0;j-=1){if(cinfo[j]==="start"){u-=1;if(level[j]==="x"){v+=1;}}else if(cinfo[j]==="end"){u+=1;v-=1;}if(level[j]===0){k=0;for(l=i-1;l>j;l-=1){if(cinfo[l]==="start"){k+=1;}else if(cinfo[l]==="end"){k-=1;}}if(k>0){if(level[j+1]==="x"){return level.push(((u)*-1)-1);}else if(cinfo[j]!=="external"&&(args.comments!=="noindent"||(args.comments==="noindent"&&cinfo[j]!=="comment"))){return level.push((u+1)*-1);}}else{for(k=i-1;k>0;k-=1){if(level[k]!=="x"){return level.push(level[k]);}}}}if(level[j]!=="x"&&level[i-1]!=="x"){if(cinfo[j]==="start"||cinfo[j]==="end"){return level.push(level[j]+v);}else{return level.push(level[j]+v-1);}}else if(u===-1&&level[j]==="x"){break;}else if(u===1&&level[j]!=="x"&&cinfo[j]!=="mixed_start"&&cinfo[j]!=="content"){if(cinfo[j-1]==="mixed_end"||(level[i-1]==="x"&&cinfo[i-1]==="end"&&cinfo[j]!=="end")){return level.push(level[j]-u-1);}else{return level.push(level[j]-u);}}else if(u===0&&level[j]!=="x"){return c("start");}}return c("start");};if(i-1===0&&cinfo[0]==="start"){return level.push(1);}else if(cinfo[k]==="mixed_start"||cinfo[k]==="content"||cinfo[i-1]==="mixed_start"||cinfo[i-1]==="content"||(cinfo[i]==="singleton"&&(cinfo[i-1]==="start"||cinfo[i-1]==="singleton")&&build[i].charAt(0)!==" ")){return level.push("x");}else if((cinfo[i-1]==="comment"&&level[i-1]===0)||((cinfo[m]==="mixed_start"||cinfo[m]==="content")&&cinfo[l]==="end"&&(cinfo[k]==="mixed_end"||cinfo[k]==="mixed_both"))){return c("start");}else if(cinfo[i-1]==="comment"&&level[i-1]!=="x"){return level.push(level[i-1]);}else if((cinfo[k]==="start"&&level[k]==="x")||(cinfo[k]!=="mixed_end"&&cinfo[k]!=="mixed_both"&&level[k]==="x")){if(level[i-1]==="x"&&build[i].charAt(0)!==" "&&cinfo[i-1]!=="start"&&build[i-1].charAt(build[i-1].length-1)!==" "){if((cinfo[i-1]==="end"&&cinfo[i-2]==="end")||(cinfo[i-1]==="end"&&cinfo[i]!=="end"&&cinfo[i+1]!=="mixed_start"&&cinfo[i+1]!=="content")){return c("start");}else{return level.push("x");}}else{return p();}}else if(cinfo[k]==="end"&&level[k]!=="x"&&(cinfo[k-1]!=="start"||(cinfo[k-1]==="start"&&level[k-1]!=="x"))){if(level[k]<0){return c("start");}else{return level.push(level[k]);}}else if(cinfo[m]!=="mixed_start"&&cinfo[m]!=="content"&&(cinfo[k]==="mixed_end"||cinfo[k]==="mixed_both")){l=0;p=0;m=0;for(a=k;a>0;a-=1){if(cinfo[a]==="end"){l+=1;}if(cinfo[a]==="start"){p+=1;}if(level[a]===0&&a!==0){m=a;}if(cinfo[k]==="mixed_both"&&level[a]!=="x"){return level.push(level[a]);}else if(cinfo[a]!=="comment"&&cinfo[a]!=="content"&&cinfo[a]!=="external"&&cinfo[a]!=="mixed_end"&&level[a]!=="x"){if(cinfo[a]==="start"&&level[a]!=="x"){if(cinfo[i-1]!=="end"){return level.push(level[a]+(p-l));}else if((level[a]===level[a-1]&&cinfo[a-1]!=="end"&&level[a+1]!=="x")||(cinfo[i-2]==="start"&&level[i-2]!=="x"&&level[i-1]==="x")){return level.push(level[a]+1);}else if(p<=1){return level.push(level[a]);}}else if(l>0){if(p>1){if(m!==0){return c("start");}else{return level.push(level[a]+1);}}else{return level.push(level[a]-l+1);}}else{return level.push(level[a]+p);}}}return c("start");}else if(cinfo[k]==="start"&&level[k]!=="x"){for(a=i-1;a>-1;a-=1){if(cinfo[a]!=="comment"&&cinfo[a]!=="content"&&cinfo[a]!=="external"&&cinfo[a]!=="mixed_end"){if(cinfo[i+1]&&build[i].charAt(0)!==" "&&(cinfo[i+1]==="content"||cinfo[i+1]==="mixed_end")){return level.push("x");}else{return level.push(level[a]+1);}}}return level.push(0);}else if(build[i].charAt(0)!==" "&&(cinfo[i-1]==="singleton"||cinfo[i-1]==="content"||cinfo[i-1]==="mixed_start")){return level.push("x");}else{return c("start");}},h=function(){var z;if(cinfo[i]!=="start"&&level[i-1]==="x"&&cinfo[i-1]!=="content"&&build[i].charAt(0)!==" "&&cinfo[i-1]!=="mixed_start"&&cinfo[i-1]!=="mixed_end"){return level.push("x");}else if(cinfo[i]!=="start"&&build[i]===" "){build[i]="";return level.push("x");}else{if(cinfo[i-1]!=="comment"){f(i);}else{for(z=i-1;z>0;z-=1){if(cinfo[z]!=="comment"){break;}}f(z+1);}}},innerfix=(function(){var a,b,c,d,e=inner.length;for(a=0;a<e;a+=1){b=inner[a][0];c=inner[a][1];d=inner[a][2];if(typeof build[d]!=="undefined"){if(build[d].charAt(0)===" "){c+=1;}build[d]=build[d].split("");if(b==="<"&&build[d][c]==="["){build[d][c]="<";}else if(b===">"&&build[d][c]==="]"){build[d][c]=">";}build[d]=build[d].join("");}}}()),algorithm=(function(){var test,test1,cdata,cdata1,cdataStart=(/^(\s*\/*<\!\[+[A-Z]+\[+)/),cdataEnd=(/(\/*\]+>\s*)$/),scriptStart=(/^(\s*<\!\-\-)/),scriptEnd=(/(\-\->\s*)$/),ops={};for(i=0;i<loop;i+=1){test=0;test1=0;cdata=[""];cdata1=[""];if(i===0){level.push(0);}else if(args.force_indent){if(cinfo[i]==="end"){if(cinfo[i-1]==="start"){level.push(level[i-1]);}else{level.push(level[i-1]-1);}}else{if(cinfo[i-1]==="start"){level.push(level[i-1]+1);}else{level.push(level[i-1]);}if(cinfo[i]==="mixed_end"){build[i]=build[i].slice(0,build[i].length-1);}}}else if(cinfo[i]==="external"){if(/\s*<\!\-\-\s*\-\->\s*/.test(build[i])){if(build[i].charAt(0)===" "){build[i]=build[i].substr(1);}if(build[i].charAt(build[i].length-1)===" "){build[i]=build[i].substr(0,build[i].length-1);}cinfo[i]="comment";token[i]="T_comment";if(args.comments!=="noindent"){h();}else{level.push(0);}}else if(token[i-1]==="T_script"){level.push(0);if(scriptStart.test(build[i])){test=1;build[i]=build[i].replace(scriptStart,"");}else if(cdataStart.test(build[i])){cdata=cdataStart.exec(build[i]);build[i]=build[i].replace(cdataStart,"");}if(scriptEnd.test(build[i])&&!/(\/\/\-\->\s*)$/.test(build[i])){test1=1;build[i]=build[i].replace(scriptEnd,"");}else if(cdataEnd.test(build[i])){cdata1=cdataEnd.exec(build[i]);build[i]=build[i].replace(cdataEnd,"");}ops.source=build[i];ops.insize=args.insize;ops.inchar=args.inchar;ops.preserve=true;ops.preserve_max=1;ops.inlevel=0;ops.space=true;ops.braces=args.indent;ops.inarray=false;ops.comments=args.comments;build[i]=js_beautify(ops);if(test===1){build[i]="<!--\n"+build[i];}else if(cdata!==""){build[i]=cdata[0]+"\n"+build[i];}if(test1===1){build[i]=build[i]+"\n-->";}else if(cdata1!==""){build[i]=build[i]+"\n"+cdata1[0];}build[i]=build[i].replace(/(\/\/(\s)+\-\->(\s)*)$/,"//-->").replace(/^\s*/,"").replace(/\s*$/,"");}else if(token[i-1]==="T_style"){level.push(0);if(scriptStart.test(build[i])){test=1;build[i]=build[i].replace(scriptStart,"");}else if(cdataStart.test(build[i])){cdata=cdataStart.exec(build[i]);build[i]=build[i].replace(cdataStart,"");}if(scriptEnd.test(build[i])&&!/(\/\/\-\->\s*)$/.test(build[i])){test1=1;build[i].replace(scriptEnd,"");}else if(cdataEnd.test(build[i])){cdata1=cdataEnd.exec(build[i]);build[i]=build[i].replace(cdataEnd,"");}build[i]=cleanCSS(build[i],args.insize,args.inchar,args.comments,true);if(test===1){build[i]="<!--\n"+build[i];}else if(cdata!==""){build[i]=cdata[0]+"\n"+build[i];}if(test1===1){build[i]=build[i]+"\n-->";}else if(cdata1!==""){build[i]=build[i]+"\n"+cdata1[0];}build[i]=build[i].replace(/^\s*/,"").replace(/\s*$/,"");}}else{if(cinfo[i]==="comment"&&args.comments!=="noindent"){h();}else if(cinfo[i]==="comment"&&args.comments==="noindent"){level.push(0);}else if(cinfo[i]==="content"){level.push("x");}else if(cinfo[i]==="parse"){h();}else if(cinfo[i]==="mixed_both"){h();}else if(cinfo[i]==="mixed_start"){h();}else if(cinfo[i]==="mixed_end"){build[i]=build[i].slice(0,build[i].length-1);level.push("x");}else if(cinfo[i]==="start"){h();}else if(cinfo[i]==="end"){e();}else if(cinfo[i]==="singleton"){h();}}}}());}()),write_tabs=(function(){var i,a,indent="",loop=build.length,tab_math=function(x){for(a=0;a<level[i];a+=1){indent+=tab;}if(cinfo[i]==="mixed_both"){x=x.slice(0,x.length-1);}x="\n"+indent+x;indent="";return x;},end_math=function(x){var b;if(cinfo[i-1]!=="start"){for(b=i;b>0;b-=1){if(level[b]!=="x"){break;}}for(a=1;a<level[b]+1;a+=1){indent+=tab;}x="\n"+indent+x;indent="";}return x;},script_math=function(x){var b,c;a=0;if(level[i-1]==="x"){for(b=i-1;b>0;b-=1){if(cinfo[b]==="start"){a+=1;}else if(cinfo[b]==="end"){a-=1;}if(level[b]!=="x"){break;}}if(cinfo[b]==="end"){a+=1;}for(c=0;c<level[b]+a;c+=1){indent+=tab;}}else{for(c=0;c<level[i-1]+1;c+=1){indent+=tab;}}x="\n"+indent+x.replace(/\n/g,"\n"+indent);indent="";return x;};for(i=1;i<loop;i+=1){if(cinfo[i]==="end"&&(args.force_indent||(cinfo[i-1]!=="content"&&cinfo[i-1]!=="mixed_start"))){if(build[i].charAt(0)===" "){build[i]=build[i].substr(1);}if(level[i]!=="x"){build[i]=end_math(build[i]);}}else if(cinfo[i]==="external"&&args.style==="indent"){build[i]=script_math(build[i]);}else if(level[i]!=="x"&&(cinfo[i-1]!=="content"&&(cinfo[i-1]!=="mixed_start"||args.force_indent))){if(build[i].charAt(0)===" "){build[i]=build[i].substr(1);}build[i]=tab_math(build[i]);}}}());(function(){var a,b=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],c=[],d=build.join("").length,e=args.source.length,f,g,h,i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],j,k,l,m=[],n=[],o=[],p=function(x){var u=function(x){if(j[x]===0){return"0.00%";}else{return"100.00%";}},v=function(x){if(f[x]===0){return"0.00%";}else{return"100.00%";}},w,y,z;switch(x){case 0:if((f[x]/cinfo.length)<0.7){y="bad";}else{y="good";}if((j[x]/sum.join("").length)>0.4){z="bad";}else{z="good";}break;case 1:if((f[x]/cinfo.length)<0.25){y="bad";}else{y="good";}if((j[x]/sum.join("").length)<0.6){z="bad";}else{z="good";}break;case 2:if((f[x]/cinfo.length)>0.05){y="bad";}else{y="good";}if((j[x]/sum.join("").length)>0.05){z="bad";}else{z="good";}break;}w=["</th><td>"];w.push(f[x]);w.push("</td><td>");w.push(v(x));w.push("</td><td class='");w.push(y);w.push("'>");w.push(((f[x]/cinfo.length)*100).toFixed(2));w.push("%</td><td>");w.push(j[x]);w.push("</td><td>");w.push(u(x));w.push("</td><td class='");w.push(z);w.push("'>");w.push(((j[x]/sum.join("").length)*100).toFixed(2));w.push("%</td></tr>");return w.join("");},q="",r,s=[],z=cinfo.length,insertComma=function(x){var z;if(typeof(x)==="number"){x=x.toString();}if(typeof(x)!=="string"){return x;}x=x.split("").reverse();z=x.length;for(a=2;a<z;a+=3){x[a]=","+x[a];}x=x.reverse().join("");if(x.charAt(0)===","){x=x.slice(1,x.length);}return x;},zipf=(function(){var a,b,k,w,z=cinfo.length,x="",h=[],g=[],i=[],l=[],j=0,punctuation=function(y){return y.replace(/(\,|\.|\?|\!|\:) /," ");};for(a=0;a<z;a+=1){if(cinfo[a]==="content"){l.push(" ");l.push(build[a]);}else if(cinfo[a]==="mixed_start"){l.push(build[a]);}else if(cinfo[a]==="mixed_both"){l.push(build[a].substr(0,build[a].length));}else if(cinfo[a]==="mixed_end"){l.push(" ");l.push(build[a].substr(0,build[a].length));}}x=l.join("");if(x.length===0){return"";}x=x.substr(1,x.length).toLowerCase();w=x.replace(/\ ?/gi," ").replace(/[a-z](\,|\.|\?|\!|\:) /gi,punctuation).replace(/(\(|\)|"|\{|\}|\[|\])/g,"").replace(/\s+/g," ").split(" ");z=w.length;for(a=0;a<z;a+=1){if(w[a]!==""){h.push([1,w[a]]);j+=1;for(b=a+1;b<z;b+=1){if(w[b]===w[a]){h[h.length-1][0]+=1;w[b]="";j+=1;}}}}z=h.length;for(a=0;a<z;a+=1){k=a;for(b=a+1;b<z;b+=1){if(h[b][0]>h[k][0]&&h[b][1]!==""){k=b;}}g.push(h[k]);if(h[k]!==h[a]){h[k]=h[a];}else{h[k]=[0,""];}if(g.length===11){break;}}if(g.length<2){return"";}else if(g.length>10){b=10;}else{b=g.length;}for(a=0;a<b;a+=1){h[a]=(g[a+1])?(g[a][0]/g[a+1][0]).toFixed(2):"1.00";g[a]="<tr><th>"+(a+1)+"</th><td>"+g[a][1].replace(/&/g,"&")+"</td><td>"+g[a][0]+"</td><td>"+h[a]+"</td><td>"+((g[a][0]/j)*100).toFixed(2)+"%</td></tr>";}if(g[10]){g[10]="";}if(b>10){g[g.length-1]="";}i.push("<table class='analysis' summary='Zipf's Law'><caption>This table demonstrates <em>Zipf's Law</em> by listing the 10 most occuring words in the content and the number of times they occurred.</caption>");i.push("<thead><tr><th>Word Rank</th><th>Most Occurring Word by Rank</th><th>Number of Instances</th><th>Ratio Increased Over Next Most Frequence Occurance</th><th>Percentage from ");i.push(insertComma(j));if(j>1){i.push(" Total");}i.push(" Word");if(j>1){i.push("s");}i.push("</th></tr></thead><tbody>");i.push(g.join(""));i.push("</tbody></table>");return i.join("");}());z=cinfo.length;for(a=0;a<z;a+=1){switch(cinfo[a]){case"end":b[1]+=1;i[1]+=sum[a].length;if(sum[a].charAt(0)===" "&&cinfo[a-1]==="singleton"){i[1]-=1;i[2]+=1;}break;case"singleton":b[2]+=1;i[2]+=sum[a].length;if(((build[a].indexOf("<embed ")!==-1||build[a].indexOf("<img ")!==-1||build[a].indexOf("<iframe ")!==-1)&&(build[a].indexOf("src")!==-1&&build[a].indexOf("src=\"\"")===-1&&build[a].indexOf("src=''")===-1))||(build[a].indexOf("<link ")!==-1&&build[a].indexOf("rel")!==-1&&build[a].indexOf("canonical")===-1)){m.push(build[a]);}break;case"comment":b[3]+=1;i[3]+=sum[a].length;break;case"content":b[4]+=1;i[4]+=sum[a].length;break;case"mixed_start":b[5]+=1;i[5]+=(sum[a].length-1);break;case"mixed_end":b[6]+=1;i[6]+=(sum[a].length-1);break;case"mixed_both":b[7]+=1;i[7]+=(sum[a].length-2);break;case"parse":b[10]+=1;i[10]+=sum[a].length;break;case"external":b[17]+=1;i[17]+=sum[a].length;if(((build[a].indexOf("<script")!==-1||build[a].indexOf("<embed ")!==-1||build[a].indexOf("<img ")!==-1||build[a].indexOf("<iframe ")!==-1)&&(build[a].indexOf("src")!==-1&&build[a].indexOf("src=\"\"")===-1&&build[a].indexOf("src=''")===-1))||(build[a].indexOf("<link ")!==-1&&build[a].indexOf("rel")!==-1&&build[a].indexOf("canonical")===-1)){m.push(build[a]);}break;default:switch(token[a]){case"T_tag_start":b[0]+=1;i[0]+=sum[a].length;if(((build[a].indexOf("<embed ")!==-1||build[a].indexOf("<img ")!==-1||build[a].indexOf("<iframe ")!==-1)&&(build[a].indexOf("src")!==-1&&build[a].indexOf("src=\"\"")===-1&&build[a].indexOf("src=''")===-1))||(build[a].indexOf("<link ")!==-1&&build[a].indexOf("rel")!==-1&&build[a].indexOf("canonical")===-1)){m.push(build[a]);}break;case"T_sgml":b[8]+=1;i[8]+=sum[a].length;break;case"T_xml":b[9]+=1;i[9]+=sum[a].length;break;case"T_ssi":b[11]+=1;i[11]+=sum[a].length;break;case"T_asp":b[12]+=1;i[12]+=sum[a].length;break;case"T_php":b[13]+=1;i[13]+=sum[a].length;break;case"T_script":b[15]+=1;i[15]+=sum[a].length;if(build[a].indexOf(" src")!==-1){m.push(build[a]);}break;case"T_style":b[16]+=1;i[16]+=sum[a].length;break;}}}f=[b[0]+b[1]+b[2]+b[3],b[4]+b[5]+b[6]+b[7],b[15]+b[16]+b[17],b[11]+b[12]+b[13]];j=[i[0]+i[1]+i[2]+i[3],i[4]+i[5]+i[6]+i[7],i[15]+i[16]+i[17],i[11]+i[12]+i[13]];g=[f[0],f[0],f[0],f[0],f[1],f[1],f[1],f[1],b[10],b[10],b[10],f[3],f[3],f[3],f[3],f[2],f[2],f[2]];k=[j[0],j[0],j[0],j[0],j[1],j[1],j[1],j[1],i[10],i[10],i[10],j[3],j[3],j[3],j[3],j[2],j[2],j[2]];b[2]=b[2]-f[3];i[2]=i[2]-j[3];s.push("<p><strong>");if(b[0]+b[15]+b[16]!==b[1]){q="s";a=(b[0]+b[15]+b[16])-b[1];if(a>0){if(a===1){q="";}s.push(a);s.push(" more start tag");s.push(q);s.push(" than end tag");s.push(q);s.push("!");}else{if(a===-1){q="";}s.push(a*-1);s.push(" more end tag");s.push(q);s.push(" than start tag");s.push(q);s.push("!");}s.push("</strong> The combined total number of start tags, script tags, and style tags should equal the number of end tags. For HTML this problem may be solved by selecting the '<em>Presume SGML type HTML</em>' option.</p>");}else{s=[""];}o.push("<div id='doc'>");o.push(zipf);o.push("<table class='analysis' summary='Analysis of markup pieces.'><caption>Analysis of markup pieces.</caption><thead><tr><th>Type</th><th>Quantity of Tags/Content</th><th>Percentage Quantity in Section</th><th>Percentage Quantity of Total</th><th>** Character Size</th><th>Percentage Size in Section</th><th>Percentage Size of Total</th></tr></thead><tbody><tr><th>Total Pieces</th><td>");o.push(cinfo.length);o.push("</td><td>100.00%</td><td>100.00%</td><td>");o.push(sum.join("").length);o.push("</td><td>100.00%</td><td>100.00%</td></tr><tr><th colspan='7'>Common Tags</th></tr>");c=["*** Start Tags","End Tags","Singleton Tags","Comments","Flat String","String with Space at Start","String with Space at End","String with Space at Start and End","SGML","XML","Total Parsing Declarations","SSI","ASP","PHP","Total Server Side Tags","*** Script Tags","*** Style Tags","JavaScript/CSS Code"];z=b.length;for(a=0;a<z;a+=1){if(g[a]===0){h="0.00%";}else if(b[a]===g[a]){h="100.00%";}else{h=((b[a]/g[a])*100).toFixed(2)+"%";}if(k[a]===0){l="0.00%";}else if(i[a]===k[a]){l="100.00%";}else{l=((i[a]/k[a])*100).toFixed(2)+"%";}c[a]=["<tr><th>"+c[a]];c[a].push("</th><td>");c[a].push(b[a]);c[a].push("</td><td>");c[a].push(h);c[a].push("</td><td>");c[a].push(((b[a]/cinfo.length)*100).toFixed(2));c[a].push("%</td><td>");c[a].push(i[a]);c[a].push("</td><td>");c[a].push(l);c[a].push("</td><td>");c[a].push(((i[a]/sum.join("").length)*100).toFixed(2));c[a].push("%</td></tr>");if(a===3){c[a].push("<tr><th>Total Common Tags");c[a].push(p(0));c[a].push("<tr><th colspan='7'>Content</th></tr>");}else if(a===7){c[a].push("<tr><th>Total Content");c[a].push(p(1));c[a].push("<tr><th colspan='7'>Parsing Declarations</th></tr>");}else if(a===10){c[a].push("<tr><th colspan='7'>Server Side Tags</th></tr>");}else if(a===14){c[a].push("<tr><th colspan='7'>Style and Script Code/Tags</th></tr>");}else if(a===17){c[a].push("<tr><th>Total Script and Style Tags/Code");c[a].push(p(2));}c[a]=c[a].join("");}o.push(c.join(""));z=m.length;n=[];for(a=0;a<z;a+=1){if(m[a]){n[a]=["<li>"];n[a].push(m[a].replace(/\&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,"""));n[a].push("</li>");n[a]=n[a].join("");}}if(n.length>0){q="<h4>HTML elements making HTTP requests:</h4><ul>"+n.join("")+"</ul>";}else{q="";}o.push("</tbody></table></div><p>* The number of requests is determined from the input submitted only and does not count the additional HTTP requests supplied from dynamically executed code, frames, iframes, css, or other external entities.</p><p>**");o.push("Character size is measured from the individual pieces of tags and content specifically between minification and beautification.</p><p>*** The number of starting <script> and <style> tags is subtracted from the total number of start tags.");o.push("The combination of those three values from the table above should equal the number of end tags or the code is in error.</p>");o.push(q);a=(sum.join("").length/7500).toFixed(0);if(a>0){a=(m.length-a)*4;}else{a=0;}if(j[1]===0){f[1]=0.00000001;j[1]=0.00000001;}b=(((f[0]+f[2]-a)/cinfo.length)/(f[1]/cinfo.length));r=function(x,y){return(((j[0]+x)/sum.join("").length)/((j[1]*y)/sum.join("").length));};k=(b/r(j[2],1)).toPrecision(2);l=(b/r(i[15],1)).toPrecision(2);g=(b/r(j[2],4)).toPrecision(2);h=(b/r(i[15],4)).toPrecision(2);if(k===l){l="";h="";}else{l=", or <strong>"+l+"</strong> if inline script code and style tags are removed";h=", or <strong>"+h+"</strong> if inline script code and style tags are removed";}e=insertComma(e);d=insertComma(d);n=["<p>If the input is content it receives an efficiency score of <strong>"];n.push(k);n.push("</strong>");n.push(l);n.push(". The efficiency score if this input is a large form or application is <strong>");n.push(g);n.push("</strong>");n.push(h);n.push(". Efficient markup achieves scores higher than 2.00 and excellent markup achieves scores higher than 4.00. The score reflects the highest number of tags to pieces of content where the weight of those tags is as small as possible compared to the weight of the content.");n.push("The score is a performance metric only and is not associated with validity or well-formedness, but semantic code typically achieves the highest scores. All values are rounded to the nearest hundreth.</p><p><strong>Total input size:</strong> <em>");n.push(e);n.push("</em> characters</p><p><strong>Total output size:</strong> <em>");n.push(d);n.push("</em> characters</p><p><strong>* Total number of HTTP requests in supplied HTML:</strong> <em>");n.push(m.length);n.push("</em></p>");summary=s.join("")+n.join("")+o.join("");}());return build.join("").replace(/\n(\s)+\n/g,"\n\n");},diffview=function(baseTextLines,newTextLines,baseTextName,newTextName,contextSize,inline){var thead="<table class='diff'><thead><tr>"+((inline===true)?"<th class='texttitle' colspan='3'>"+baseTextName+" vs. "+newTextName+"</th></tr></thead><tbody>":"<th class='texttitle' colspan='2'>"+baseTextName+"</th><th class='texttitle' colspan='2'>"+newTextName+"</th></tr></thead><tbody>"),tbody=[],tfoot="</tbody><tfoot><tr><th class='author' colspan='"+((inline===true)?"3":"4")+"'>Original diff view created as DOM objects by <a href='https://github.com/cemerick/jsdifflib'>jsdifflib</a>. Diff view recreated as a JavaScript array by <a href='http://prettydiff.com/'>Austin Cheney</a>.</th></tr></tfoot></table>",node=[],rows=[],idx,opcodes,opleng,change,code,b,be,n,ne,z,rowcnt,i,jump,errorout=0,diffline=0,difference=function(a,b){var junkdict={},isbjunk=function(key){if(junkdict.hasOwnProperty(key)){return junkdict[key];}},matching_blocks=[],b2j=[],opcodes=[],answer=[],get_matching_blocks=function(){var idx,alo,ahi,blo,bhi,qi,i,j,k,x,i2,j2,k2,la=a.length,lb=b.length,queue=[[0,la,0,lb]],block=0,k1=block,j1=k1,i1=j1,non_adjacent=[],ntuplecomp=function(a,b){var i,mlen=Math.max(a.length,b.length);for(i=0;i<mlen;i+=1){if(a[i]<b[i]){return-1;}if(a[i]>b[i]){return 1;}}return(a.length===b.length)?0:((a.length<b.length)?-1:1);},find_longest_match=function(alo,ahi,blo,bhi){var i,newj2len,jdict,jkey,k,besti=alo,bestj=blo,bestsize=0,j=null,j2len={},nothing=[],dictget=function(dict,key,defaultValue){return(dict&&dict[key])?dict[key]:defaultValue;};for(i=alo;i<ahi;i+=1){newj2len={};jdict=dictget(b2j,a[i],nothing);for(jkey in jdict){if(jdict.hasOwnProperty(jkey)){j=jdict[jkey];if(j>=blo){if(j>=bhi){break;}k=dictget(j2len,j-1,0)+1;newj2len[j]=k;if(k>bestsize){besti=i-k+1;bestj=j-k+1;bestsize=k;}}}}j2len=newj2len;}while(besti>alo&&bestj>blo&&!isbjunk(b[bestj-1])&&a[besti-1]===b[bestj-1]){besti-=1;bestj-=1;bestsize+=1;}while(besti+bestsize<ahi&&bestj+bestsize<bhi&&!isbjunk(b[bestj+bestsize])&&a[besti+bestsize]===b[bestj+bestsize]){bestsize+=1;}while(besti>alo&&bestj>blo&&isbjunk(b[bestj-1])&&a[besti-1]===b[bestj-1]){besti-=1;bestj-=1;bestsize+=1;}while(besti+bestsize<ahi&&bestj+bestsize<bhi&&isbjunk(b[bestj+bestsize])&&a[besti+bestsize]===b[bestj+bestsize]){bestsize+=1;}return[besti,bestj,bestsize];};while(queue.length){qi=queue.pop();alo=qi[0];ahi=qi[1];blo=qi[2];bhi=qi[3];x=find_longest_match(alo,ahi,blo,bhi);i=x[0];j=x[1];k=x[2];if(k){matching_blocks.push(x);if(alo<i&&blo<j){queue.push([alo,i,blo,j]);}if(i+k<ahi&&j+k<bhi){queue.push([i+k,ahi,j+k,bhi]);}}}matching_blocks.sort(ntuplecomp);for(idx in matching_blocks){if(matching_blocks.hasOwnProperty(idx)){block=matching_blocks[idx];i2=block[0];j2=block[1];k2=block[2];if(i1+k1===i2&&j1+k1===j2){k1+=k2;}else{if(k1){non_adjacent.push([i1,j1,k1]);}i1=i2;j1=j2;k1=k2;}}}if(k1){non_adjacent.push([i1,j1,k1]);}non_adjacent.push([la,lb,0]);matching_blocks=non_adjacent;return matching_blocks;},set_seq2=(function(){opcodes=null;var chain_b=(function(){var i,elt,indices,n=b.length,populardict={};for(i=0;i<b.length;i+=1){elt=b[i];if(b2j[elt]){indices=b2j[elt];if(n>=200&&indices.length*100>n){populardict[elt]=1;delete b2j[elt];}else{indices.push(i);}}else{b2j[elt]=[i];}}for(elt in populardict){if(populardict.hasOwnProperty(elt)){delete b2j[elt];}}}()),result=(function(){var idx,block,ai,bj,size,tag,i=0,j=0,blocks=get_matching_blocks();for(idx in blocks){if(blocks.hasOwnProperty(idx)){block=blocks[idx];ai=block[0];bj=block[1];size=block[2];tag="";if(i<ai&&j<bj){tag="replace";}else if(i<ai){tag="delete";}else if(j<bj){tag="insert";}if(tag){answer.push([tag,i,ai,j,bj]);}i=ai+size;j=bj+size;if(size){answer.push(["equal",ai,i,bj,j]);}}}}());}());return answer;},stringAsLines=function(str){var lfpos=str.indexOf("\n"),crpos=str.indexOf("\r"),linebreak=((lfpos>-1&&crpos>-1)||crpos<0)?"\n":"\r",lines=str.replace(/\&/g,"&").replace(/\$#lt;/g,"%#lt;").replace(/\$#gt;/g,"%#gt;").replace(/</g,"$#lt;").replace(/>/g,"$#gt;");if(linebreak==="\n"){str=str.replace(/\r/g,"");}else{str=str.replace(/\n/g,"");}return lines.split(linebreak);},addCells=function(row,tidx,tend,textLines,change){if(tidx<tend){textLines=textLines.replace(/\$#gt;/g,">").replace(/\$#lt;/g,"<");row.push("<th>"+(tidx+1).toString().replace(/\&/g,"&").replace(/>/g,">").replace(/</g,"<")+"</th>");row.push("<td class='"+change+"'>"+textLines+"</td>");return tidx+1;}else{row.push("<th></th><td class='empty'></td>");return tidx;}},addCellsInline=function(row,tidx,tidx2,textLines,change){row.push("<th>"+((tidx===null)?"":(tidx+1).toString().replace(/\&/g,"&").replace(/>/g,">").replace(/</g,"<"))+"</th>");row.push("<th>"+((tidx2===null)?"":(tidx2+1).toString().replace(/\&/g,"&").replace(/>/g,">").replace(/</g,"<"))+"</th>");if(tidx===null){tidx=tidx2;}row.push("<td class='"+change+"'>"+textLines[tidx].replace(/\$#gt;/g,">").replace(/\$#lt;/g,"<")+"</td></tr>");},charcomp=function(c,d){var i,j,k=0,n,p,r=0,ax,bx,zx,entity,compare,a=c.replace(/\'/g,"$#39;").replace(/\"/g,"$#34;").replace(/\ /g," ").replace(/\ /g," "),b=d.replace(/\'/g,"$#39;").replace(/\"/g,"$#34;").replace(/\ /g," ").replace(/\ /g," ");errorout-=1;if(a===b){return;}else{ax=a.split("");bx=b.split("");zx=Math.max(ax.length,bx.length);entity=function(z){var a=z.length,b=[];for(n=0;n<a;n+=1){if(z[n]+z[n+1]+z[n+2]+z[n+3]+z[n+4]==="$#gt;"){z[n]="$#gt;";z[n+1]="";z[n+2]="";z[n+3]="";z[n+4]="";}else if(z[n]+z[n+1]+z[n+2]+z[n+3]+z[n+4]==="$#lt;"){z[n]="$#lt;";z[n+1]="";z[n+2]="";z[n+3]="";z[n+4]="";}else if(z[n]+z[n+1]+z[n+2]+z[n+3]+z[n+4]==="&"){z[n]="&";z[n+1]="";z[n+2]="";z[n+3]="";z[n+4]="";}else if(z[n]+z[n+1]+z[n+2]+z[n+3]+z[n+4]==="$#34;"){z[n]=""";z[n+1]="";z[n+2]="";z[n+3]="";z[n+4]="";}else if(z[n]+z[n+1]+z[n+2]+z[n+3]+z[n+4]==="$#39;"){z[n]="'";z[n+1]="";z[n+2]="";z[n+3]="";z[n+4]="";}}for(n=0;n<a;n+=1){if(z[n]!==""&&z[n]!==undefined){b.push(z[n]);}}return b;};ax=entity(ax);bx=entity(bx);n=0;compare=function(){var em=/<em>/g,o,p;for(i=k;i<zx;i+=1){if(ax[i]===bx[i]){r=i;}else{if(n===0&&ax[i]!==bx[i]&&!em.test(ax[i])&&!em.test(bx[i])&&!em.test(ax[i-1])&&!em.test(bx[i-1])){if(typeof ax[i-2]==="string"&&/(<\/em>)$/.test(ax[i-2])&&ax[i-1]===" "){ax[i-2]=ax[i-2].replace(/(<\/em>)$/,"");bx[i-2]=bx[i-2].replace(/(<\/em>)$/,"");}else{if(ax[i]!==undefined&&bx[i]!==undefined){ax[i]="<em>"+ax[i];bx[i]="<em>"+bx[i];errorout+=1;}else if(ax[i]===undefined&&bx[i]!==undefined){ax[i]="<em>";bx[i]="<em>"+bx[i];errorout+=1;}else if(ax[i]!==undefined&&bx[i]===undefined){ax[i]="<em>"+ax[i];bx[i]="<em>";errorout+=1;}}n=1;}else if(ax[i]===undefined&&(bx[i]===""||bx[i]===" ")){ax[i]="";}else if(bx[i]===undefined&&(ax[i]===""||ax[i]===" ")){bx[i]="";}break;}}for(j=i+1;j<zx;j+=1){if(ax[j]!==undefined&&bx[j]===undefined){bx[j]="";}else if(ax[j]===undefined&&bx[j]!==undefined){ax[j]="";}else if(n===1){for(o=j;o<zx;o+=1){if(ax[j-1]==="<em>"+bx[o]&&em.test(bx[j-1])){ax[j-1]=ax[j-1].replace(em,"");ax.splice(j-1,0,"<em></em>");bx[o-1]=bx[o-1]+"</em>";n=0;k=o;if(o-j>0){p=[];for(o;o>j;o-=1){p.push("");}ax=p.concat(ax);}break;}else if(bx[j-1]==="<em>"+ax[o]&&em.test(ax[j-1])){bx[j-1]=bx[j-1].replace(em,"");bx.splice(j-1,0,"<em></em>");ax[o-1]=ax[o-1]+"</em>";n=0;k=o;if(o-j>0){p=[];for(o;o>j;o-=1){p.push("");}bx=p.concat(bx);}break;}else if(ax[o]===bx[j]){if(ax.length>bx.length&&ax[o-1].substr(4)===bx[j-1]){ax[o-2]=ax[o-2]+"</em>";bx[j-2]=bx[j-2]+"<em></em>";bx[j-1]=bx[j-1].replace(/<em>/,"");}else{ax[o-1]=ax[o-1]+"</em>";bx[j-1]=bx[j-1]+"</em>";}k=o;if(o-j>0){p=[];for(o;o>j;o-=1){p.push("");}bx=p.concat(bx);}n=0;break;}else if(bx[o]===ax[j]){if(bx.length>ax.length&&bx[o-1].substr(4)===ax[j-1]){bx[o-2]=bx[o-2]+"</em>";ax[j-2]=ax[j-2]+"<em></em>";ax[j-1]=ax[j-1].replace(/<em>/,"");}else{bx[o-1]=bx[o-1]+"</em>";ax[j-1]=ax[j-1]+"</em>";}k=o;if(o-j>0){p=[];for(o;o>j;o-=1){p.push("");}ax=p.concat(ax);}n=0;break;}}if(n===1){for(o=j+1;o<zx-1;o+=1){if(typeof ax[o-1]==="undefined"&&ax[j+1]===bx[o]){ax[j]+="</em>";bx[o-1]+="</em>";k=o+1;n=0;break;}else if(typeof bx[o-1]==="undefined"&&bx[j+1]===ax[o]){bx[j]+="</em>";ax[o-1]+="</em>";k=o+1;n=0;break;}else if(ax[o]===bx[o]){ax[o-1]=ax[o-1]+"</em>";bx[o-1]=bx[o-1]+"</em>";k=o;n=0;break;}}}}zx=Math.max(ax.length,bx.length);}};for(p=0;p<zx;p+=1){if(r+1!==zx){compare();}else{break;}}c=ax.join("").replace(/$#34;/g,"\"").replace(/$#39;/g,"'");d=bx.join("").replace(/$#34;/g,"\"").replace(/$#39;/g,"'");if(n===1){c+="</em>";d+="</em>";}}return[c,d];};if(baseTextLines===null){return"Error: Cannot build diff view; baseTextLines is not defined.";}if(newTextLines===null){return"Error: Cannot build diff view; newTextLines is not defined.";}baseTextLines=stringAsLines(baseTextLines);newTextLines=stringAsLines(newTextLines);opcodes=difference(baseTextLines,newTextLines);opleng=opcodes.length;for(idx=0;idx<opleng;idx+=1){code=opcodes[idx];change=code[0];b=code[1];be=code[2];n=code[3];ne=code[4];rowcnt=Math.max(be-b,ne-n);for(i=0;i<rowcnt;i+=1){if(contextSize&&opcodes.length>1&&((idx>0&&String(i)===contextSize)||(idx===0&&i===0))&&change==="equal"){jump=rowcnt-((idx===0?1:2)*contextSize);if(jump>1){node.push("<tr><th>...</th>"+((inline===true)?"":"<td class='skip'></td>")+"<th>...</th><td class='skip'></td></tr>");b+=jump;n+=jump;i+=jump-1;if(idx+1===opcodes.length){break;}}}if(change!=="equal"){diffline+=1;}if(inline===true){node.push("<tr>");if(change==="insert"){addCellsInline(node,null,n,newTextLines,change);}else if(change==="replace"){if(b<be&&n<ne&&baseTextLines[b]!==newTextLines[n]){z=charcomp(baseTextLines[b],newTextLines[n]);baseTextLines[b]=z[0];newTextLines[n]=z[1];}if(b<be){addCellsInline(node,b,null,baseTextLines,"delete");}if(b<be&&n<ne){node.push("<tr>");}if(n<ne){addCellsInline(node,null,n,newTextLines,"insert");}}else if(change==="delete"){addCellsInline(node,b,null,baseTextLines,change);}else if(b<be||n<ne){addCellsInline(node,b,n,baseTextLines,change);}b+=1;n+=1;}else{node.push("<tr>");if(change==="replace"){if(b<be&&n<ne&&baseTextLines[b]!==newTextLines[n]){z=charcomp(baseTextLines[b],newTextLines[n]);b=addCells(node,b,be,z[0],change);n=addCells(node,n,ne,z[1],change);}else if(baseTextLines[b]!==undefined&&newTextLines[n]!==undefined){if(b<be){b=addCells(node,b,be,baseTextLines[b],"delete");}else{b=addCells(node,b,be,baseTextLines[b],change);}if(n<ne){n=addCells(node,n,ne,newTextLines[n],"insert");}else{n=addCells(node,n,ne,newTextLines[n],change);}}else if(baseTextLines[b]===undefined||newTextLines[n]===undefined){z=[];if(baseTextLines[b]!==undefined){z[0]=baseTextLines[b];z[1]="";}else{z[1]=newTextLines[n];z[0]="";}b=addCells(node,b,be,z[0],change);n=addCells(node,n,ne,z[1],change);}}else{b=addCells(node,b,be,baseTextLines[b],change);n=addCells(node,n,ne,newTextLines[n],change);}node.push("</tr>");}}}rows.push(node.join(""));tbody.push(rows.join(""));return[(thead+tbody.join("")+tfoot).replace(/\%#lt;/g,"$#lt;").replace(/\%#gt;/g,"$#gt;"),errorout,diffline];},core=function(api){var start=(function(){if(!api.source||api.source===""){api.source="Source sample is missing.";}if(!api.mode||api.mode===""||(api.mode!=="minify"&&api.mode!=="diff")){api.mode="beautify";}if(api.mode==="diff"&&(!api.diff||api.diff==="")){api.diff="Diff sample is missing.";}if(!api.lang||api.lang===""||(api.lang!=="css"&&api.lang!=="markup"&&api.lang!=="csv"&&api.lang!=="text")){api.lang="auto";}if(typeof api.topcoms!=="boolean"){api.topcoms=false;}if(!api.csvchar||typeof api.csvchar!=="string"||api.csvchar===""){api.csvchar=",";}if(!api.comments||api.comments!=="noindent"){api.comments="indent";}if(typeof api.content!=="boolean"){api.content=false;}if(typeof api.force_indent!=="boolean"){api.force_indent=false;}if(!api.context||isNaN(api.context)){api.context="";}if(!api.diffview||api.diffview!=="inline"){api.diffview="sidebyside";}if(!api.html||typeof api.html!=="boolean"){if(api.html==="html-yes"){api.html=true;}else{api.html=false;}}if(api.insize===undefined||isNaN(api.insize)){api.insize=4;}if(typeof api.inchar!=="string"){api.inchar=" ";}if(!api.indent||api.indent!=="allman"){api.indent="";}if(typeof api.quote!=="boolean"){api.quote=false;}if(typeof api.semicolon!=="boolean"){api.semicolon=false;}if(!api.style||api.style!=="noindent"){api.style="indent";}if(typeof api.content!=="boolean"){api.content=false;}if(typeof api.sourcelabel!=="string"||api.sourcelabel.length<1){api.sourcelabel="base";}if(typeof api.difflabel!=="string"||api.difflabel.length<1){api.difflabel="base";}}()),a=[],s="s",t="s",sizediff=function(){return;},auto="",autotest=false,spacetest=(/^\s+$/g),apioutput="",apidiffout="",args={},proctime=function(){var d="",e="",f=0,h=0,g=new Date(),b=((g.getTime()-startTime)/1000),c=b.toFixed(3),plural=function(x,y){var a="";if(x>1){a=x+y+"s ";}else{a=x+y+" ";}return a;},minute=function(){d=(b/60).toFixed(1);f=Number(d.toString().split(".")[0]);c=(b-(f*60)).toFixed(3);d=plural(d," minute");};if(b>=60&&b<3600){minute();}else if(b>=3600){e=(b/3600).toFixed(1);h=Number(e.toString().split(".")[0]);b=b-(h*3600);e=plural(e," hour");minute();}return"<p><strong>Execution time:</strong> <em>"+e+d+c+"</em> seconds</p>";},pdcomment=function(){var a="",b=api.source.length,c=api.source.indexOf("/*prettydiff.com")+16,d=true,e=[],f=-1,g=0,h=[],i="";if(api.source.indexOf("/*prettydiff.com")===-1&&api.diff.indexOf("/*prettydiff.com")===-1){return;}if(c===15&&typeof api.diff!=="undefined"){c=api.diff.indexOf("/*prettydiff.com")+16;d=false;}else if(c===15){return;}for(c;c<b;c+=1){if(d){if(api.source.charAt(c)==="*"&&api.source.charAt(c+1)&&api.source.charAt(c+1)==="/"){break;}h.push(api.source.charAt(c));}else{if(api.diff.charAt(c)==="*"&&api.diff.charAt(c+1)&&api.diff.charAt(c+1)==="/"){break;}h.push(api.diff.charAt(c));}}a=h.join("").toLowerCase();b=a.length;for(c=0;c<b;c+=1){if((!a.charAt(c-1)||a.charAt(c-1)!=="\\")&&(a.charAt(c)==="\""||a.charAt(c)==="'")){if(i===""){i=a.charAt(c);}else{i="";}}if(i===""){if(a.charAt(c)===","){g=f+1;f=c;e.push(a.substring(g,f).replace(/^(\s*)/,"").replace(/(\s*)$/,""));}}}g=f+1;f=a.length;e.push(a.substring(g,f).replace(/^(\s*)/,"").replace(/(\s*)$/,""));i="";b=e.length;h=[];for(c=0;c<b;c+=1){a=e[c].length;for(g=0;g<a;g+=1){if(e[c].indexOf(":")===-1){e[c]="";break;}else{h=[];}if((!e[c].charAt(g-1)||e[c].charAt(g-1)!=="\\")&&(e[c].charAt(g)==="\""||e[c].charAt(g)==="'")){if(i===""){i=e[c].charAt(g);}else{i="";}}if(i===""){if(e[c].charAt(g)===":"){h.push(e[c].substring(0,g).replace(/(\s*)$/,""));h.push(e[c].substring(g+1).replace(/^(\s*)/,""));if(h[1].charAt(0)===h[1].charAt(h[1].length-1)&&h[1].charAt(h[1].length-2)!=="\\"&&(h[1].charAt(0)==="\""||h[1].charAt(0)==="'")){h[1]=h[1].substring(1,h[1].length-1);}e[c]=h;break;}}}}for(c=0;c<b;c+=1){if(e[c][1]){if(e[c][0]==="api.mode"){if(e[c][1]==="beautify"){api.mode="beautify";}else if(e[c][1]==="minify"){api.mode="minify";}else if(e[c][1]==="diff"){api.mode="diff";}}else if(e[c][0]==="api.lang"){if(e[c][1]==="auto"){api.lang="auto";}else if(e[c][1]==="javascript"){api.lang="javascript";}else if(e[c][1]==="css"){api.lang="csv";}else if(e[c][1]==="csv"){api.lang="csv";}else if(e[c][1]==="markup"){api.lang="markup";}else if(e[c][1]==="text"){api.lang="text";}}else if(e[c][0]==="api.csvchar"){api.csvchar=e[c][1];}else if(e[c][0]==="api.insize"&&!/\D/.test(e[c][1])){api.insize=e[c][1];}else if(e[c][0]==="api.inchar"){api.inchar=e[c][1];}else if(e[c][0]==="api.comments"){if(e[c][1]==="indent"){api.comments="indent";}else if(e[c][1]==="noindent"){api.comments="noindent";}}else if(e[c][0]==="api.indent"){if(e[c][1]==="knr"){api.indent="knr";}else if(e[c][1]==="allman"){api.indent="allman";}}else if(e[c][0]==="api.style"){if(e[c][1]==="indent"){api.style="indent";}else if(e[c][1]==="noindent"){api.style="noindent";}}else if(e[c][0]==="api.html"){if(e[c][1]==="html-no"){api.html="html-no";}else if(e[c][1]==="html-yes"){api.html="html-yes";}}else if(e[c][0]==="api.context"&&(!/\D/.test(e[c][1])||e[c][1]==="")){api.context=e[c][1];}else if(e[c][0]==="api.content"){if(e[c][1]==="true"){api.content=true;}else if(e[c][1]==="false"){api.content=false;}}else if(e[c][0]==="api.quote"){if(e[c][1]==="true"){api.quote=true;}else if(e[c][1]==="false"){api.quote=false;}}else if(e[c][0]==="api.semicolon"){if(e[c][1]==="true"){api.semicolon=true;}else if(e[c][1]==="false"){api.semicolon=false;}}else if(e[c][0]==="api.diffview"){if(e[c][1]==="sidebyside"){api.diffview="sidebyside";}else if(e[c][1]==="inline"){api.diffview="inline";}}else if(e[c][0]==="api.sourcelabel"){api.sourcelabel=e[c][1];}else if(e[c][0]==="api.difflabel"){api.difflabel=e[c][1];}else if(e[c][0]==="api.topcoms"){if(e[c][1]==="true"){api.topcoms=true;}else if(e[c][1]==="false"){api.topcoms=false;}}else if(e[c][0]==="api.force_indent"){if(e[c][1]==="true"){api.force_indent=true;}else if(e[c][1]==="false"){api.force_indent=false;}}}}};if(api.source==="Source sample is missing."){return["Error: Source sample is missing.",""];}else if(api.diff==="Diff sample is missing."&&api.mode==="diff"){return["Error: Diff sample is missing.",""];}if(api.lang==="auto"){(function(){var a=api.source,b=a.replace(/\[[a-zA-Z][\w\-]*\=("|')?[a-zA-Z][\w\-]*("|')?\]/g,"").split(""),c=b.length,d=0,e=false,f="",g=false;autotest=true;if(!/^(\s*<)/.test(a)&&!/(>\s*)$/.test(a)){for(d=1;d<c;d+=1){if(!e){if(b[d]==="*"&&b[d-1]==="/"){b[d-1]="";e=true;}else if(!g&&b[d]==="f"&&d<c-6&&b[d+1]==="i"&&b[d+2]==="l"&&b[d+3]==="t"&&b[d+4]==="e"&&b[d+5]==="r"&&b[d+6]===":"){g=true;}}else if(e&&b[d]==="*"&&d!==c-1&&b[d+1]==="/"){e=false;b[d]="";b[d+1]="";}else if(g&&b[d]===";"){g=false;b[d]="";}if(e||g){b[d]="";}}f=b.join("");if(/^(\s*\{)/.test(a)&&/(\}\s*)$/.test(a)&&a.indexOf(",")!==-1){api.lang="javascript";auto="JSON";}else if(/((\}?(\(\))?\)*;?\s*)|([a-z0-9]("|')?\)*);?(\s*\})*)$/i.test(a)&&(/var\s+[a-z]+[a-zA-Z0-9]*/.test(a)||/(\=\s*function)|(\s*function\s+[a-zA-Z])/.test(a)||a.indexOf("{")===-1)){if(api.mode==="diff"&&(a.indexOf("(")===-1||a.indexOf("=")===-1||(a.indexOf(";")===-1&&a.indexOf("{")===-1))){api.lang="text";auto="Plain Text";}else{api.lang="javascript";auto="JavaScript";}}else if(/^(\s*[\.#@a-z0-9])|^(\s*\/\*)|^(\s*\*\s*\{)/i.test(a)&&!/^(\s*if\s*\()/.test(a)&&a.indexOf("{")!==-1&&f.indexOf("=")===-1&&!(/function(\s+\w+)*\s*\(/).test(f)){api.lang="css";auto="CSS";}else if(api.mode==="diff"){api.lang="text";auto="unknown";}else{api.lang="javascript";auto="JavaScript";}}else if((/>([a-z0-9\s])*<\/?[a-z]+>/i.test(a)&&/^(\s*<)/.test(a)&&/(>\s*)$/.test(a))||(/^(\s*<s((cript)|(tyle)))/i.test(a)&&/(<\/s((cript)|(tyle))>\s*)$/i.test(a))){api.lang="markup";if(api.html===true){auto="HTML";}else{auto="markup";}}else if(api.mode==="diff"){api.lang="text";auto="unknown";}else{api.lang="javascript";auto="JavaScript";}if(auto==="unknown"){if(api.mode==="diff"){auto="Plain Text";}else{auto="JavaScript";}auto="<p>Language set to <strong>auto</strong>, but language could not be determined. Language defaulted to <em>"+auto+"</em>.</p>";}else{auto="<p>Language set to <strong>auto</strong>. Presumed language is <em>"+auto+"</em>.</p>";}}());}pdcomment();if(api.mode==="minify"){if(api.lang==="css"){apioutput=jsmin(api.source,3,"css",true,api.topcoms);}else if(api.lang==="csv"){apioutput=csvmin(api.source,api.csvchar);}else if(api.lang==="markup"){apioutput=markupmin(api.source,"",api.html,api.topcoms);}else if(api.lang==="text"){apioutput=api.source;}else{apioutput=jsmin(api.source,2,"javascript",true,api.topcoms);}sizediff=function(){var a,b=0,c=api.source,d=c.length,f=0,g=apioutput.length,h=d-g,i=0,j=0,k=((h/d)*100).toFixed(2)+"%",l="";for(a=0;a<d;a+=1){if(c.charAt(a)==="\n"){b+=1;}}f=api.source.length+b;i=f-g;j=f-d+1;l=((i/f)*100).toFixed(2)+"%";return"<div id='doc'><table class='analysis' summary='Minification efficiency report'><caption>Minification efficiency report</caption><thead><tr><th colspan='2'>Output Size</th><th colspan='2'>Number of Lines From Input</th></tr></thead><tbody><tr><td colspan='2'>"+g+"</td><td colspan='2'>"+(b+1)+"</td></tr><tr><th>Operating System</th><th>Input Size</th><th>Size Difference</th><th>Percentage of Decrease</th></tr><tr><th>Unix/Linux</th><td>"+d+"</td><td>"+h+"</td><td>"+k+"</td></tr><tr><th>Windows</th><td>"+f+"</td><td>"+i+"</td><td>"+l+"</td></tr></tbody></table></div>";};if(autotest===true){return[apioutput,proctime()+auto+sizediff()];}else{return[apioutput,proctime()+sizediff()];}}else if(api.mode==="beautify"){if(api.lang==="css"){apioutput=cleanCSS(api.source,api.insize,api.inchar,api.comments,true);apidiffout=summary;}else if(api.lang==="csv"){apioutput=csvbeauty(api.source,api.csvchar);apidiffout="";}else if(api.lang==="markup"){args={};args.source=api.source;args.insize=api.insize;args.inchar=api.inchar;args.mode="beautify";args.comments=api.comments;args.style=api.style;args.html=api.html;args.force_indent=api.force_indent;apioutput=markup_beauty(args);apidiffout=summary;if(api.inchar!=="\t"){apioutput=apioutput.replace(/\n[\t]* \/>/g,"");}}else if(api.lang==="text"){apioutput=api.source;apidiffout="";}else{args={};args.source=api.source;args.insize=api.insize;args.inchar=api.inchar;args.preserve=true;args.preserve_max=1;args.inlevel=0;args.space=true;args.braces=api.indent;args.inarray=false;args.comments=api.comments;apioutput=js_beautify(args);apidiffout=summary;}if(!apidiffout){apidiffout="";}if(autotest===true&&api.lang!=="csv"&&api.lang!=="text"){return[apioutput,proctime()+auto+apidiffout];}else{return[apioutput,proctime()+apidiffout];}}else if(api.mode==="diff"){if(api.lang==="css"){apioutput=jsmin(api.source,3,"css",false);apioutput=cleanCSS(apioutput,api.insize,api.inchar,api.comments,false);apidiffout=jsmin(api.diff,3,"css",false);apidiffout=cleanCSS(apidiffout,api.insize,api.inchar,api.comments,false);}else if(api.lang==="csv"){apioutput=csvbeauty(api.source,api.csvchar);apidiffout=csvbeauty(api.diff,api.csvchar);}else if(api.lang==="markup"){args={};args.source=api.source;args.insize=api.insize;args.inchar=api.inchar;args.mode="diff";args.comments=api.comments;args.style=api.style;args.html=api.html;args.content=api.content;args.force_indent=api.force_indent;apioutput=markup_beauty(args).replace(/\n[\t]* \/>/g,"");args.source=api.diff;apidiffout=markup_beauty(args).replace(/\n[\t]* \/>/g,"");}else if(api.lang==="text"){apioutput=api.source;apidiffout=api.diff;}else{args={};args.insize=api.insize;args.inchar=api.inchar;args.preserve=true;args.preserve_max=1;args.inlevel=0;args.space=true;args.braces=api.indent;args.inarray=false;args.comments=api.comments;args.content=api.content;apioutput=jsmin(api.source,3,"javascript",false);args.source=apioutput;apioutput=js_beautify(args);apidiffout=jsmin(api.diff,3,"javascript",false);args.source=apidiffout;apidiffout=js_beautify(args);}if(api.quote===true){apioutput=apioutput.replace(/'/g,"\"");apidiffout=apidiffout.replace(/'/g,"\"");}if(api.semicolon===true){apioutput=apioutput.replace(/;\n/g,"\n");apidiffout=apidiffout.replace(/;\n/g,"\n");}if(api.sourcelabel===""||spacetest.test(api.sourcelabel)){api.sourcelabel="Base Text";}if(api.difflabel===""||spacetest.test(api.difflabel)){api.difflabel="New Text";}if(api.diffview==="inline"){api.diffview=true;}if(apioutput==="Error: This does not appear to be JavaScript."||apidiffout==="Error: This does not appear to be JavaScript."){a[1]=["<p><strong>Error:</strong> Please try using the option labeled <em>Plain Text (diff only)</em>. <span style='display:block'>The input does not appear to be markup, CSS, or JavaScript.</span></p>",0,0];}else{a[1]=diffview(apioutput,apidiffout,api.sourcelabel,api.difflabel,api.context,api.diffview);if(a[1][2]===1){t="";if(a[1][1]===0){s="";}}}a[0]="<p><strong>Number of differences:</strong> <em>"+(a[1][1]+a[1][2])+"</em> difference"+s+" from <em>"+a[1][2]+"</em> line"+t+" of code.</p>";if(autotest===true){return[a[1][0],proctime()+auto+a[0]];}else{return[a[1][0],proctime()+a[0]];}}};return core(api);};