(function(w,A){"function"===typeof define&&define.amd?define("orion/Deferred",A):"object"===typeof exports?module.exports=A():(w.orion=w.orion||{},w.orion.Deferred=A())})(this,function(){function w(){for(var e;e=M.shift();)e();c=!1}function A(e){M.push(e);c||(c=!0,f())}function E(c){return function(f){c(f)}}function I(){function c(){for(var e;e=s.shift();){var f=e.deferred,h="fulfilled"===l?"resolve":"reject";e=e[h];if("function"===typeof e)try{var t=e(b),v=t&&("object"===typeof t||"function"===typeof t)&&
t.then;if("function"===typeof v)if(t===f.promise)f.reject(new TypeError);else{var D=t.cancel;"function"===typeof D?f._parentCancel=D.bind(t):delete f._parentCancel;v.call(t,E(f.resolve),E(f.reject),E(f.progress))}else f.resolve(t)}catch(A){f.reject(A)}else f[h](b)}}function f(y){delete h._parentCancel;l="rejected";b=y;s.length&&A(c)}function t(y){function v(b){return function(c){(!l||"assumed"===l)&&b(c)}}delete h._parentCancel;try{var x=y&&("object"===typeof y||"function"===typeof y)&&y.then;if("function"===
typeof x)if(y===h)f(new TypeError);else{l="assumed";var w=y&&y.cancel;if("function"!==typeof w){var F=new I;y=F.promise;try{x(F.resolve,F.reject,F.progress)}catch(E){F.reject(E)}w=y.cancel;x=y.then}b=y;x.call(y,v(t),v(f));h._parentCancel=w.bind(y)}else l="fulfilled",b=y,s.length&&A(c)}catch(C){v(f)(C)}}function v(){var b=h._parentCancel;b?(delete h._parentCancel,b()):l||(b=Error("Cancel"),b.name="Cancel",f(b))}var b,l,s=[],h=this;this.resolve=function(b){l||t(b);return h};this.reject=function(b){l||
f(b);return h};this.progress=function(b){l||s.forEach(function(c){if(c.progress)try{c.progress(b)}catch(e){}});return h.promise};this.cancel=function(){h._parentCancel?setTimeout(v,0):v();return h};this.then=function(b,f,t){var v=new I;v._parentCancel=h.promise.cancel;s.push({resolve:b,reject:f,progress:t,deferred:v});("fulfilled"===l||"rejected"===l)&&A(c);return v.promise};this.promise={then:h.then,cancel:h.cancel}}var M=[],c=!1,f=function(){if("undefined"!==typeof process&&"function"===typeof process.nextTick){var c=
process.nextTick;return function(){c(w)}}if("function"===typeof MutationObserver){var f=document.createElement("div");(new MutationObserver(w)).observe(f,{attributes:!0});return function(){f.setAttribute("class","_tick")}}return function(){setTimeout(w,0)}}();I.all=function(c,f){function t(c,e){s||(l[c]=e,0===--b&&h.resolve(l))}function v(b,c){if(!s){if(f)try{t(b,f(c));return}catch(e){c=e}h.reject(c)}}var b=c.length,l=[],s=!1,h=new I;h.then(void 0,function(){s=!0;c.forEach(function(b){b.cancel&&b.cancel()})});
0===b?h.resolve(l):c.forEach(function(b,c){b.then(t.bind(void 0,c),v.bind(void 0,c))});return h.promise};I.when=function(c,f,t,v){var b;c&&"function"===typeof c.then||(b=new I,b.resolve(c),c=b.promise);return c.then(f,t,v)};return I});
(function(w,A){"function"===typeof define&&define.amd?define("orion/plugin",["orion/Deferred"],A):"object"===typeof exports?module.exports=A(require("orion/Deferred")):(w.orion=w.orion||{},w.orion.PluginProvider=A(w.orion.Deferred))})(this,function(w){function A(A,w){this.__objectId=A;this.__methods=w}return function(E){function I(b){s&&("undefined"===typeof ArrayBuffer&&(b=JSON.stringify(b)),s===self?s.postMessage(b):s.postMessage(b,"*"))}function M(){var c=[];Object.keys(T).forEach(function(b){var e=
T[b];c.push({serviceId:b,names:e.names,methods:e.methods,properties:e.properties})});return{headers:b||{},services:c}}function c(b,c){if(c&&c instanceof XMLHttpRequest){var e,f;try{e=c.status,f=c.statusText}catch(l){e=0,f=""}return{status:e||0,statusText:f}}return c}function f(b){var e=b?JSON.parse(JSON.stringify(b,c)):b;b instanceof Error&&(e.__isError=!0,e.message=e.message||b.message,e.name=e.name||b.name);return e}function e(b){if(!s)return(new w).reject(Error("plugin not connected"));b.id=String(h++);
var c=new w;S[b.id]=c;c.then(null,function(c){l&&c instanceof Error&&"Cancel"===c.name&&C({requestId:b.id,method:"cancel",params:c.message?[c.message]:[]})});var e=Object.prototype.toString;b.params.forEach(function(f,l){if("[object Object]"===e.call(f)&&!(f instanceof A)){var s,t;for(s in f)"[object Function]"===e.call(f[s])&&(t=t||[],t.push(s));if(t){var h=y++;F[h]=f;s=function(){delete F[h]};c.then(s,s);b.params[l]=new A(h,t)}}});C(b);return c.promise}function D(b,c){b||0===b?C({id:b,result:null,
error:c}):console.log(c)}function t(b,c,l,s){s.forEach(function(b,c){if(b&&"undefined"!==typeof b.__objectId){var f={};b.__methods.forEach(function(c){f[c]=function(){return e({objectId:b.__objectId,method:c,params:Array.prototype.slice.call(arguments)})}});s[c]=f}});var t=void 0===typeof b?null:{id:b,result:null,error:null};try{var h=l.apply(c,s);t&&(h&&"function"===typeof h.then?(x[b]=h,h.then(function(c){delete x[b];t.result=c;C(t)},function(c){x[b]&&(delete x[b],t.error=f(c),C(t))},function(){C({responseId:b,
method:"progress",params:Array.prototype.slice.call(arguments)})})):(t.result=h,C(t)))}catch(v){t&&(t.error=f(v),C(t))}}function v(b){if(!(b.source!==s&&"undefined"!==typeof window)){b="string"!==typeof b.data?b.data:JSON.parse(b.data);try{if(b.method){var c=b.method,e=b.params||[];if("serviceId"in b){var f=T[b.serviceId];f||D(b.id,"service not found");f=f.implementation;c in f?t(b.id,f,f[c],e):D(b.id,"method not found")}else if("objectId"in b){var l=F[b.objectId];l||D(b.id,"object not found");!c in
l?t(b.id,l,l[c],e):D(b.id,"method not found")}else if("requestId"in b){var h=x[b.requestId];h&&"cancel"===c&&h.cancel&&h.cancel.apply(h,e)}else if("responseId"in b){var v=S[b.responseId];v&&"progress"===c&&v.progress&&v.progress.apply(v,e)}else throw Error("Bad method: "+b.method);}else{var y=S[String(b.id)];delete S[String(b.id)];b.error?y.reject(b.error):y.resolve(b.result)}}catch(A){console.log("Plugin._messageHandler "+A)}}}var b=E,l=!1,s=null,h=0,y=0,xa=0,x={},S={},F={},T={},C=I;this.updateHeaders=
function(c){if(l)throw Error("Cannot update headers. Plugin Provider is connected");b=c};this.registerServiceProvider=this.registerService=function(b,c,e){if(l)throw Error("Cannot register service. Plugin Provider is connected");"string"===typeof b?b=[b]:Array.isArray(b)||(b=[]);var f=null,t=[];for(f in c)"function"===typeof c[f]&&t.push(f);T[xa++]={names:b,methods:t,implementation:c,properties:e||{},listeners:{}}};this.connect=function(b,c){if(!l){if("undefined"===typeof window)s=self;else if(window!==
window.parent)s=window.parent;else if(null!==window.opener)s=window.opener;else{c&&c("No valid plugin target");return}addEventListener("message",v,!1);var e={method:"plugin",params:[M()]};I(e);l=!0}b&&b()};this.disconnect=function(){l&&(removeEventListener("message",v),s=null,l=!1)}}});this.JSON||(this.JSON={});
(function(){function w(c){return 10>c?"0"+c:c}function A(c){M.lastIndex=0;return M.test(c)?'"'+c.replace(M,function(c){var b=e[c];return"string"===typeof b?b:"\\u"+("0000"+c.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+c+'"'}function E(e,v){var b,l,s,h,y=c,w,x=v[e];x&&"object"===typeof x&&"function"===typeof x.toJSON&&(x=x.toJSON(e));"function"===typeof D&&(x=D.call(v,e,x));switch(typeof x){case "string":return A(x);case "number":return isFinite(x)?String(x):"null";case "boolean":case "null":return String(x);
case "object":if(!x)return"null";c+=f;w=[];if("[object Array]"===Object.prototype.toString.apply(x)){h=x.length;for(b=0;b<h;b+=1)w[b]=E(b,x)||"null";s=0===w.length?"[]":c?"[\n"+c+w.join(",\n"+c)+"\n"+y+"]":"["+w.join(",")+"]";c=y;return s}if(D&&"object"===typeof D){h=D.length;for(b=0;b<h;b+=1)l=D[b],"string"===typeof l&&(s=E(l,x))&&w.push(A(l)+(c?": ":":")+s)}else for(l in x)Object.hasOwnProperty.call(x,l)&&(s=E(l,x))&&w.push(A(l)+(c?": ":":")+s);s=0===w.length?"{}":c?"{\n"+c+w.join(",\n"+c)+"\n"+
y+"}":"{"+w.join(",")+"}";c=y;return s}}"function"!==typeof Date.prototype.toJSON&&(Date.prototype.toJSON=function(c){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+w(this.getUTCMonth()+1)+"-"+w(this.getUTCDate())+"T"+w(this.getUTCHours())+":"+w(this.getUTCMinutes())+":"+w(this.getUTCSeconds())+"Z":null},String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(c){return this.valueOf()});var I=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
M=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,c,f,e={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},D;"function"!==typeof JSON.stringify&&(JSON.stringify=function(e,v,b){var l;f=c="";if("number"===typeof b)for(l=0;l<b;l+=1)f+=" ";else"string"===typeof b&&(f=b);if((D=v)&&"function"!==typeof v&&("object"!==typeof v||"number"!==typeof v.length))throw Error("JSON.stringify");return E("",{"":e})});
"function"!==typeof JSON.parse&&(JSON.parse=function(c,e){function b(c,f){var l,t,x=c[f];if(x&&"object"===typeof x)for(l in x)Object.hasOwnProperty.call(x,l)&&(t=b(x,l),void 0!==t?x[l]=t:delete x[l]);return e.call(c,f,x)}var f;c=String(c);I.lastIndex=0;I.test(c)&&(c=c.replace(I,function(b){return"\\u"+("0000"+b.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(c.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return f=eval("("+c+")"),"function"===typeof e?b({"":f},""):f;throw new SyntaxError("JSON.parse");})})();
var JSLINT=function(){function w(){}function A(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function E(a,b){for(var d in b)A(b,d)&&(a[d]=b[d])}function I(){m.safe||(m.rhino&&E(K,sb),m.devel&&E(K,tb),m.browser&&E(K,ub),m.node&&E(K,vb),m.windows&&E(K,wb),m.widget&&E(K,xb))}function M(a,b,d){throw{name:"JSLintError",line:b,character:d,message:a+" ("+Math.floor(100*(b/oa.length))+"% scanned)."};}function c(n,b,d,c,Aa,r){var e;b=b||a;"(end)"===b.id&&(b=g);e=b.line||0;b=b.from||0;d={id:"(error)",
raw:n,evidence:oa[e-1]||"",line:e,character:b,a:d,b:c,c:Aa,d:r};d.reason=n.supplant(d);JSLINT.errors.push(d);m.passfail&&M("Stopping. ",e,b);Ba+=1;Ba>=m.maxerr&&M("Too many errors.",e,b);return d}function f(a,b,d,B,g,e,m){return c(a,{line:b,from:d},B,g,e,m)}function e(a,b,d,B,g,e){a=c(a,b,d,B,g,e);M("Stopping, unable to continue.",a.line,a.character)}function D(a,b,d,c,g,r,m){return e(a,{line:b,from:d},c,g,r,m)}function t(n,b){m.safe&&p["(global)"]&&"boolean"!==typeof K[n]?c("ADsafe global: "+n+".",
g):"hasOwnProperty"===n&&c("'hasOwnProperty' is a really bad name.");A(p,n)&&!p["(global)"]&&c(!0===p[n]?"'{a}' was used before it was defined.":"'{a}' is already defined.",a,n);p[n]=b;p["(global)"]?(hb[n]=p,A(ca,n)&&(c("'{a}' was used before it was defined.",a,n),delete ca[n])):L[n]=p}function v(a){a=a||0;for(var b=0,d;b<=a;)(d=Ca[b])||(d=Ca[b]=Y.token()),b+=1;return d}function b(b,k){switch(g.id){case "(number)":"."===a.id&&c("A dot following a number can be confused with a decimal point.",g);break;
case "-":("-"===a.id||"--"===a.id)&&c("Confusing minusses.");break;case "+":("+"===a.id||"++"===a.id)&&c("Confusing plusses.")}if("(string)"===g.type||g.identifier)Oa=g.value;b&&a.id!==b&&(k?"(end)"===a.id?c("Unmatched '{a}'.",k,k.id):c("Expected '{a}' to match '{b}' from line {c} and instead saw '{d}'.",a,b,k.id,k.line,a.value):("(identifier)"!==a.type||a.value!==b)&&c("Expected '{a}' and instead saw '{b}'.",a,b,a.value));O=g;for(g=a;;){a=Ca.shift()||Y.token();if("(end)"===a.id||"(error)"===a.id)break;
if("special"===a.type){var d=void 0,B=void 0,Aa=void 0,r=a.value,f=void 0;switch(r){case "*/":e("Unbegun comment.");break;case "/*members":case "/*member":r="/*members";da||(da={});B=da;break;case "/*jslint":m.safe&&c("ADsafe restriction.");B=m;Aa=yb;break;case "/*global":m.safe&&c("ADsafe restriction."),B=K}d=Y.token();a:for(;;){for(;;){if("special"===d.type&&"*/"===d.value)break a;if("(endline)"!==d.id&&","!==d.id)break;d=Y.token()}"(string)"!==d.type&&"(identifier)"!==d.type&&"/*members"!==r&&
e("Bad option.",d);f=Y.token();":"===f.id?(f=Y.token(),B===da&&e("Expected '{a}' and instead saw '{b}'.",d,"*/",":"),"indent"===d.value&&"/*jslint"===r?(d=+f.value,("number"!==typeof d||!isFinite(d)||0>=d||Math.floor(d)!==d)&&e("Expected a small integer and instead saw '{a}'.",f,f.value),B.white=!0,B.indent=d):"maxerr"===d.value&&"/*jslint"===r?(d=+f.value,("number"!==typeof d||!isFinite(d)||0>=d||Math.floor(d)!==d)&&e("Expected a small integer and instead saw '{a}'.",f,f.value),B.maxerr=d):"maxlen"===
d.value&&"/*jslint"===r?(d=+f.value,("number"!==typeof d||!isFinite(d)||0>=d||Math.floor(d)!==d)&&e("Expected a small integer and instead saw '{a}'.",f,f.value),B.maxlen=d):"true"===f.value?B[d.value]=!0:"false"===f.value?B[d.value]=!1:e("Bad option value.",f),d=Y.token()):("/*jslint"===r&&e("Missing option value.",d),B[d.value]=!1,d=f)}Aa&&I()}else if("(endline)"!==a.id)break}}function l(n,k){var d;"(end)"===a.id&&e("Unexpected early end of program.",g);b();m.safe&&"boolean"===typeof K[g.value]&&
"("!==a.id&&"."!==a.id&&c("ADsafe violation.",g);k&&(Oa="anonymous",p["(verb)"]=g.value);if(!0===k&&g.fud)d=g.fud();else{if(g.nud)d=g.nud();else{if("(number)"===a.type&&"."===g.id)return c("A leading decimal point can be confused with a dot: '.{a}'.",g,a.value),b(),g;e("Expected an identifier and instead saw '{a}'.",g,g.id)}for(;n<a.lbp;)b(),g.led?d=g.led(d):e("Expected an operator and instead saw '{a}'.",g,g.id)}return d}function s(b,k){b=b||g;k=k||a;(m.white||"styleproperty"===z||"style"===z)&&
b.character!==k.from&&b.line===k.line&&c("Unexpected space after '{a}'.",k,b.value)}function h(b,c){b=b||g;c=c||a;m.white&&!b.comment&&b.line===c.line&&s(b,c)}function y(b,k){m.white&&(b=b||g,k=k||a,b.line===k.line&&b.character===k.from&&c("Missing space after '{a}'.",a,b.value))}function xa(b,k){b=b||g;k=k||a;!m.laxbreak&&b.line!==k.line?c("Bad line breaking before '{a}'.",k,k.id):m.white&&(b=b||g,k=k||a,b.character===k.from&&c("Missing space after '{a}'.",a,b.value))}function x(b){m.white&&"(end)"!==
a.id&&(b=G+(b||0),a.from!==b&&c("Expected '{a}' to have an indentation at {b} instead at {c}.",a,a.value,b,a.from))}function S(b){b=b||g;b.line!==a.line&&c("Line breaking error '{a}'.",b,b.value)}function F(){g.line!==a.line?m.laxbreak||c("Bad line breaking before '{a}'.",g,a.id):g.character!==a.from&&m.white&&c("Unexpected space after '{a}'.",a,g.value);b(",");y(g,a)}function T(a,b){var d=Q[a];if(!d||"object"!==typeof d)Q[a]=d={id:a,lbp:b,value:a};return d}function C(a){return T(a,0)}function aa(a,
b){var d=C(a);d.identifier=d.reserved=!0;d.fud=b;return d}function ga(a,b){var d=aa(a,b);d.block=!0;return d}function Na(a){var b=a.id.charAt(0);if("a"<=b&&"z">=b||"A"<=b&&"Z">=b)a.identifier=a.reserved=!0;return a}function V(a,b){var d=T(a,150);Na(d);d.nud="function"===typeof b?b:function(){this.right=l(150);this.arity="unary";if("++"===this.id||"--"===this.id)m.plusplus?c("Unexpected use of '{a}'.",this,this.id):(!this.right.identifier||this.right.reserved)&&"."!==this.right.id&&"["!==this.right.id&&
c("Bad operand.",this);return this};return d}function ya(a,b){var d=C(a);d.type=a;d.nud=b;return d}function J(a,b){var d=ya(a,b);d.identifier=d.reserved=!0;return d}function X(a,b){return J(a,function(){if("this"===this.id||"arguments"===this.id||"eval"===this.id)Pa&&p["(global)"]?c("Strict violation.",this):m.safe&&c("ADsafe violation.",this);return this})}function P(b,c,d,B){b=T(b,d);Na(b);b.led=function(b){B||(xa(O,g),y(g,a));if("function"===typeof c)return c(b,this);this.left=b;this.right=l(d);
return this};return b}function ba(b,k){var d=T(b,100);d.led=function(b){xa(O,g);y(g,a);var d=l(100);b&&"NaN"===b.id||d&&"NaN"===d.id?c("Use the isNaN function to compare with NaN.",this):k&&k.apply(this,[b,d]);"!"===b.id&&c("Confusing use of '{a}'.",b,"!");"!"===d.id&&c("Confusing use of '{a}'.",b,"!");this.left=b;this.right=d;return this};return d}function za(a){return a&&("(number)"===a.type&&0===+a.value||"(string)"===a.type&&" "===a.value||"true"===a.type||"false"===a.type||"undefined"===a.type||
"null"===a.type)}function ha(a,b){T(a,20).exps=!0;return P(a,function(a,b){var n;b.left=a;!1===K[a.value]&&!0===L[a.value]["(global)"]&&c("Read only.",a);if(m.safe){n=a;do"boolean"===typeof K[n.value]&&c("ADsafe violation.",n),n=n.left;while(n)}if(a){if("."===a.id||"["===a.id)return(!a.left||"arguments"===a.left.value)&&c("Bad assignment.",b),b.right=l(19),b;if(a.identifier&&!a.reserved)return"exception"===p[a.value]&&c("Do not assign to the exception parameter.",a),b.right=l(19),b;a===Q["function"]&&
c("Expected an identifier in an assignment and instead saw a function invocation.",g)}e("Bad assignment.",b)},20)}function ia(a,b,d){a=T(a,d);Na(a);a.led="function"===typeof b?b:function(a){m.bitwise&&c("Unexpected use of '{a}'.",this,this.id);this.left=a;this.right=l(d);return this};return a}function ja(b){T(b,20).exps=!0;return P(b,function(b,d){m.bitwise&&c("Unexpected use of '{a}'.",d,d.id);y(O,g);y(g,a);if(b){if("."===b.id||"["===b.id||b.identifier&&!b.reserved)return l(19),d;b===Q["function"]&&
c("Expected an identifier in an assignment, and instead saw a function invocation.",g);return d}e("Bad assignment.",d)},20)}function ib(a,b){var d=T(a,150);d.led=function(a){m.plusplus?c("Unexpected use of '{a}'.",this,this.id):(!a.identifier||a.reserved)&&"."!==a.id&&"["!==a.id&&c("Bad operand.",this);this.left=a;return this};return d}function Qa(){if(a.identifier)return b(),m.safe&&Ra[g.value]?c("ADsafe violation: '{a}'.",g,g.value):g.reserved&&!m.es5&&c("Expected an identifier and instead saw '{a}' (a reserved word).",
g,g.id),g.value}function pa(){var b=Qa();if(b)return b;"function"===g.id&&"("===a.id?c("Missing name in function statement."):e("Expected an identifier and instead saw '{a}'.",a,a.value)}function Da(b){var k=0,d;if(!(";"!==a.id||Sa))for(;;){d=v(k);if(d.reach)break;if("(endline)"!==d.id){if("function"===d.id){c("Inner functions should be listed at the top of the outer function.",d);break}c("Unreachable '{a}' after '{b}'.",d,d.value,b);break}k+=1}}function Ta(n){var k=G,d=L,B=a;if(";"===B.id)c("Unnecessary semicolon.",
B),b(";");else return B.identifier&&!B.reserved&&":"===v().id&&(b(),b(":"),L=Object.create(d),t(B.value,"label"),a.labelled||c("Label '{a}' on {b} statement.",a,B.value,a.value),Ua.test(B.value+":")&&c("Label '{a}' looks like a javascript url.",B,B.value),a.label=B.value,B=a),n||x(),n=l(0,!0),B.block||(!n||!n.exps?c("Expected an assignment or function call and instead saw an expression.",g):"("===n.id&&"new"===n.left.id&&c("Do not use 'new' for side effects."),";"!==a.id?f("Missing semicolon.",g.line,
g.from+g.value.length):(s(g,a),b(";"),y(g,a))),G=k,L=d,n}function jb(){return"use strict"===a.value?(b(),b(";"),Pa=!0):!1}function qa(n){var k=[],d;n&&!jb()&&m.strict&&c('Missing "use strict" statement.',a);if(m.adsafe)switch(n){case "script":ka||("ADSAFE"!==a.value||"."!==v(0).id||"id"!==v(1).value&&"go"!==v(1).value)&&e("ADsafe violation: Missing ADSAFE.id or ADSAFE.go.",a);"ADSAFE"===a.value&&"."===v(0).id&&"id"===v(1).value&&(ka&&e("ADsafe violation.",a),b("ADSAFE"),b("."),b("id"),b("("),a.value!==
U&&e("ADsafe violation: id does not match.",a),b("(string)"),b(")"),b(";"),ka=!0);break;case "lib":if("ADSAFE"===a.value)return b("ADSAFE"),b("."),b("lib"),b("("),b("(string)"),F(),n=l(0),"function"!==n.id&&e("The second argument to lib must be a function.",n),(d=(d=n.funct["(params)"])&&d.join(", "))&&"lib"!==d&&e("Expected '{a}' and instead saw '{b}'.",n,"(lib)","("+d+")"),b(")"),b(";"),k;e("ADsafe lib violation.")}for(;!a.reach&&"(end)"!==a.id;)";"===a.id?(c("Unnecessary semicolon."),b(";")):k.push(Ta());
return k}function W(n){var k,d=ra,B=G,e=L,f;ra=n;L=Object.create(L);y(g,a);f=a;if("{"===a.id){b("{");if("}"!==a.id||g.line!==a.line){for(G+=m.indent;!n&&a.from>G;)G+=m.indent;n||jb();k=qa();G-=m.indent;x()}b("}",f);G=B}else c("Expected '{a}' and instead saw '{b}'.",a,"{",a.value),Sa=!0,k=[Ta()],Sa=!1;p["(verb)"]=null;L=e;ra=d;return k}function kb(){return this}function Ea(a){da&&"boolean"!==typeof da[a]&&c("Unexpected /*member '{a}'.",g,a);ea[a]="number"===typeof ea[a]?ea[a]+1:1}function Va(a){var b=
a.value;a=a.line;var d=ca[b];"function"===typeof d&&(d=!1);d?d[d.length-1]!==a&&d.push(a):(d=[a],ca[b]=d)}function Wa(){if(a.identifier)return b(),!0}function Fa(){"-"===a.id&&(b("-"),s(),S());if("(number)"===a.type)return b("(number)"),!0}function Xa(){if("(string)"===a.type)return b(),!0}function Z(){var n,k,d;if(a.identifier){d=a.value;if("rgb"===d||"rgba"===d){b();b("(");for(n=0;3>n;n+=1)n&&b(","),k=a.value,"(number)"!==a.type||0>k?(c("Expected a positive number and instead saw '{a}'",a,k),b()):
(b(),"%"===a.id?(b("%"),100<k&&c("Expected a percentage and instead saw '{a}'",g,k)):255<k&&c("Expected a small number and instead saw '{a}'",g,k));"rgba"===d&&(b(","),k=+a.value,("(number)"!==a.type||0>k||1<k)&&c("Expected a number between 0 and 1 and instead saw '{a}'",a,k),b(),"%"===a.id&&(c("Unexpected '%'."),b("%")));b(")");return!0}if(!0===zb[a.value])return b(),!0}else if("(color)"===a.type)return b(),!0;return!1}function H(){"-"===a.id&&(b("-"),s(),S());return"(number)"===a.type?(b(),"(string)"!==
a.type&&!0===lb[a.value]?(s(),b()):0!==+g.value&&c("Expected a linear unit and instead saw '{a}'.",a,a.value),!0):!1}function la(){if(a.identifier)switch(a.value){case "thin":case "medium":case "thick":return b(),!0}else return H()}function sa(){if(a.identifier){if("auto"===a.value)return b(),!0}else return H()}function fa(){var n,k;if(a.identifier&&"url"===a.value){a=Y.range("(",")");k=a.value;n=k.charAt(0);if('"'===n||"'"===n)k.slice(-1)!==n?c("Bad url string."):(k=k.slice(1,-1),0<=k.indexOf(n)&&
c("Bad url string."));k||c("Missing url.");b();m.safe&&mb.test(k)&&e("ADsafe URL violation.");ta.push(k);return!0}return!1}function Ya(c){var k=0,d,B,g,e=0;switch(typeof c){case "function":return c();case "string":return a.identifier&&a.value===c?(b(),!0):!1}for(;;){if(k>=c.length)return!1;g=c[k];k+=1;if(!0===g)break;else"number"===typeof g?(d=g,g=c[k],k+=1):d=1;for(B=!1;0<d;)if(Ya(g))B=!0,d-=1;else break;if(B)return!0}e=k;for(d=[];;){g=!1;for(k=e;k<c.length;k+=1)if(!d[k]&&Ya(Ga[c[k]])){g=B=!0;d[k]=
!0;break}if(!g)return B}}function nb(){for(var n;!("}"===a.id||"(end)"===a.id||R&&a.id===R);){for(;";"===a.id;)c("Misplaced ';'."),b(";");for(n=void 0;"*"===a.id||"#"===a.id||"_"===a.value;)m.css||c("Unexpected '{a}'.",a,a.value),b();"-"===a.id?(m.css||c("Unexpected '{a}'.",a,a.value),b("-"),a.identifier||c("Expected a non-standard style attribute and instead saw '{a}'.",a,a.value),b(),n=Za):(a.identifier?A(Ga,a.value)?n=Ga[a.value]:(n=Za,m.css||c("Unrecognized style attribute '{a}'.",a,a.value)):
c("Excepted a style attribute, and instead saw '{a}'.",a,a.value),b());b(":");a.identifier&&"inherit"===a.value?b():Ya(n)||(c("Unexpected token '{a}'.",a,a.value),b());"!"===a.id&&(b("!"),s(),a.identifier&&"important"===a.value?b():c("Expected '{a}' and instead saw '{b}'.",a,"important",a.value));"}"===a.id||a.id===R?c("Missing '{a}'.",a,";"):b(";")}}function $a(){if(a.identifier)A(ab,a.value)||c("Expected a tagName, and instead saw {a}.",a,a.value),b();else switch(a.id){case "\x3e":case "+":b();
$a();break;case ":":b(":");switch(a.value){case "active":case "after":case "before":case "checked":case "disabled":case "empty":case "enabled":case "first-child":case "first-letter":case "first-line":case "first-of-type":case "focus":case "hover":case "last-of-type":case "link":case "only-of-type":case "root":case "target":case "visited":b();break;case "lang":b();b("(");a.identifier||c("Expected a lang code, and instead saw :{a}.",a,a.value);b(")");break;case "nth-child":case "nth-last-child":case "nth-last-of-type":case "nth-of-type":b();
b("(");a:if("(number)"===a.id)b(),"n"===a.value&&a.identifier&&(s(),b(),"+"===a.id&&(s(),b("+"),s(),b("(number)")));else{switch(a.value){case "odd":case "even":if(a.identifier){b();break a}}c("Unexpected token '{a}'.",a,a.value)}b(")");break;case "not":b();b("(");":"===a.id&&"not"===v(0).value&&c("Nested not.");$a();b(")");break;default:c("Expected a pseudo, and instead saw :{a}.",a,a.value)}break;case "#":b("#");a.identifier||c("Expected an id, and instead saw #{a}.",a,a.value);b();break;case "*":b("*");
break;case ".":b(".");a.identifier||c("Expected a class, and instead saw #.{a}.",a,a.value);b();break;case "[":b("[");a.identifier||c("Expected an attribute, and instead saw [{a}].",a,a.value);b();if("\x3d"===a.id||"~\x3d"===a.value||"$\x3d"===a.value||"|\x3d"===a.value||"*\x3d"===a.id||"^\x3d"===a.id)b(),"(string)"!==a.type&&c("Expected a string, and instead saw {a}.",a,a.value),b();b("]");break;default:e("Expected a CSS selector, and instead saw {a}.",a,a.value)}}function ob(){for(var n;"@"===a.id;)if(n=
v(),n.identifier&&"import"===n.value)b("@"),b(),fa()||(c("Expected '{a}' and instead saw '{b}'.",a,"url",a.value),b()),b(";");else break;for(;"\x3c/"!==a.id&&"(end)"!==a.id;){a:{if("{"===a.id)c("Expected a style pattern, and instead saw '{a}'.",a,a.id);else if("@"===a.id){b("@");n=a.value;if(a.identifier&&!0===Ab[n]){b();break a}c("Expected an at-rule, and instead saw @{a}.",a,n)}for(;;){$a();if("\x3c/"===a.id||"{"===a.id||"(end)"===a.id)break a;","===a.id&&F()}}z="styleproperty";";"===a.id?b(";"):
(b("{"),nb(),z="style",b("}"))}}function bb(){var c=Qa(!0);c||("(string)"===a.id?(c=a.value,b()):"(number)"===a.id&&(c=a.value.toString(),b()));return c}function Ha(c){var k,d=L;L=Object.create(d);k=p={"(name)":c||'"'+Oa+'"',"(line)":a.line,"(context)":p,"(breakage)":0,"(loopage)":0,"(scope)":L};g.funct=p;ua.push(p);c&&t(c,"function");c=p;var B;a:{var e=a,f=[];b("(");h();if(")"===a.id)b(")"),h(O,g);else for(;;)if(B=pa(),f.push(B),t(B,"parameter"),","===a.id)F();else{b(")",e);h(O,g);B=f;break a}B=
void 0}c["(params)"]=B;W(!1);L=d;p["(last)"]=g.line;p=p["(context)"];return k}function cb(n){var k,d;p["(onevar)"]&&m.onevar?c("Too many var statements."):p["(global)"]||(p["(onevar)"]=!0);for(this.first=[];;){y(g,a);k=pa();p["(global)"]&&!1===K[k]&&c("Redefinition of '{a}'.",g,k);t(k,"unused");if(n)break;d=g;this.first.push(g);"\x3d"===a.id&&(y(g,a),b("\x3d"),y(g,a),"undefined"===a.id&&c("It is not necessary to initialize '{a}' to 'undefined'.",g,k),"\x3d"===v(0).id&&a.identifier&&e("Variable {a} was not declared correctly.",
a,a.value),k=l(0),d.first=k);if(","!==a.id)break;F()}return this}function db(){function n(){var d={},n=a;b("{");if("}"!==a.id)for(;;){if("(end)"===a.id)e("Missing '}' to match '{' from line {a}.",a,n.line);else if("}"===a.id){c("Unexpected comma.",g);break}else","===a.id?e("Unexpected comma.",a):"(string)"!==a.id&&c("Expected a string and instead saw {a}.",a,a.value);!0===d[a.value]?c("Duplicate key '{a}'.",a,a.value):"__proto__"===a.value?c("Stupid key '{a}'.",a,a.value):d[a.value]=!0;b();b(":");
db();if(","!==a.id)break;b(",")}b("}")}function k(){var d=a;b("[");if("]"!==a.id)for(;;){if("(end)"===a.id)e("Missing ']' to match '[' from line {a}.",a,d.line);else if("]"===a.id){c("Unexpected comma.",g);break}else","===a.id&&e("Unexpected comma.",a);db();if(","!==a.id)break;b(",")}b("]")}switch(a.id){case "{":n();break;case "[":k();break;case "true":case "false":case "null":case "(number)":case "(string)":b();break;case "-":b("-");g.character!==a.from&&c("Unexpected space after '-'.",g);s(g,a);
b("(number)");break;default:e("Expected a JSON value.",a)}}function pb(a){var b=[],d;for(d in a)A(a,d)&&b.push(d);return b}var U,ka,va,Oa,Ia,Ab={media:!0,"font-face":!0,page:!0},Bb={"\x3c":!0,"\x3c\x3d":!0,"\x3d\x3d":!0,"\x3d\x3d\x3d":!0,"!\x3d\x3d":!0,"!\x3d":!0,"\x3e":!0,"\x3e\x3d":!0,"+":!0,"-":!0,"*":!0,"/":!0,"%":!0},Ra={arguments:!0,callee:!0,caller:!0,constructor:!0,eval:!0,prototype:!0,stack:!0,unwatch:!0,valueOf:!0,watch:!0},yb={adsafe:!0,bitwise:!0,browser:!0,cap:!0,css:!0,debug:!0,devel:!0,
eqeqeq:!0,es5:!0,evil:!0,forin:!0,fragment:!0,immed:!0,laxbreak:!0,newcap:!0,node:!0,nomen:!0,on:!0,onevar:!0,passfail:!0,plusplus:!0,regexp:!0,rhino:!0,undef:!0,safe:!0,windows:!0,strict:!0,sub:!0,white:!0,widget:!0},ub={addEventListener:!1,blur:!1,clearInterval:!1,clearTimeout:!1,close:!1,closed:!1,defaultStatus:!1,document:!1,event:!1,focus:!1,frames:!1,getComputedStyle:!1,history:!1,Image:!1,length:!1,location:!1,moveBy:!1,moveTo:!1,name:!1,navigator:!1,onbeforeunload:!0,onblur:!0,onerror:!0,
onfocus:!0,onload:!0,onresize:!0,onunload:!0,open:!1,opener:!1,Option:!1,parent:!1,print:!1,removeEventListener:!1,resizeBy:!1,resizeTo:!1,screen:!1,scroll:!1,scrollBy:!1,scrollTo:!1,setInterval:!1,setTimeout:!1,status:!1,top:!1,window:!1,XMLHttpRequest:!1},Ga,Za,zb={aliceblue:!0,antiquewhite:!0,aqua:!0,aquamarine:!0,azure:!0,beige:!0,bisque:!0,black:!0,blanchedalmond:!0,blue:!0,blueviolet:!0,brown:!0,burlywood:!0,cadetblue:!0,chartreuse:!0,chocolate:!0,coral:!0,cornflowerblue:!0,cornsilk:!0,crimson:!0,
cyan:!0,darkblue:!0,darkcyan:!0,darkgoldenrod:!0,darkgray:!0,darkgreen:!0,darkkhaki:!0,darkmagenta:!0,darkolivegreen:!0,darkorange:!0,darkorchid:!0,darkred:!0,darksalmon:!0,darkseagreen:!0,darkslateblue:!0,darkslategray:!0,darkturquoise:!0,darkviolet:!0,deeppink:!0,deepskyblue:!0,dimgray:!0,dodgerblue:!0,firebrick:!0,floralwhite:!0,forestgreen:!0,fuchsia:!0,gainsboro:!0,ghostwhite:!0,gold:!0,goldenrod:!0,gray:!0,green:!0,greenyellow:!0,honeydew:!0,hotpink:!0,indianred:!0,indigo:!0,ivory:!0,khaki:!0,
lavender:!0,lavenderblush:!0,lawngreen:!0,lemonchiffon:!0,lightblue:!0,lightcoral:!0,lightcyan:!0,lightgoldenrodyellow:!0,lightgreen:!0,lightpink:!0,lightsalmon:!0,lightseagreen:!0,lightskyblue:!0,lightslategray:!0,lightsteelblue:!0,lightyellow:!0,lime:!0,limegreen:!0,linen:!0,magenta:!0,maroon:!0,mediumaquamarine:!0,mediumblue:!0,mediumorchid:!0,mediumpurple:!0,mediumseagreen:!0,mediumslateblue:!0,mediumspringgreen:!0,mediumturquoise:!0,mediumvioletred:!0,midnightblue:!0,mintcream:!0,mistyrose:!0,
moccasin:!0,navajowhite:!0,navy:!0,oldlace:!0,olive:!0,olivedrab:!0,orange:!0,orangered:!0,orchid:!0,palegoldenrod:!0,palegreen:!0,paleturquoise:!0,palevioletred:!0,papayawhip:!0,peachpuff:!0,peru:!0,pink:!0,plum:!0,powderblue:!0,purple:!0,red:!0,rosybrown:!0,royalblue:!0,saddlebrown:!0,salmon:!0,sandybrown:!0,seagreen:!0,seashell:!0,sienna:!0,silver:!0,skyblue:!0,slateblue:!0,slategray:!0,snow:!0,springgreen:!0,steelblue:!0,tan:!0,teal:!0,thistle:!0,tomato:!0,turquoise:!0,violet:!0,wheat:!0,white:!0,
whitesmoke:!0,yellow:!0,yellowgreen:!0},ma,eb,lb={"%":!0,cm:!0,em:!0,ex:!0,"in":!0,mm:!0,pc:!0,pt:!0,px:!0},Ja,tb={alert:!1,confirm:!1,console:!1,Debug:!1,opera:!1,prompt:!1},Cb={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"/":"\\/","\\":"\\\\"},p,wa="closure exception global label outer unused var".split(" "),ua,hb,ab={a:{},abbr:{},acronym:{},address:{},applet:{},area:{empty:!0,parent:" map "},article:{},aside:{},audio:{},b:{},base:{empty:!0,parent:" head "},bdo:{},big:{},blockquote:{},
body:{parent:" html noframes "},br:{empty:!0},button:{},canvas:{parent:" body p div th td "},caption:{parent:" table "},center:{},cite:{},code:{},col:{empty:!0,parent:" table colgroup "},colgroup:{parent:" table "},command:{parent:" menu "},datalist:{},dd:{parent:" dl "},del:{},details:{},dialog:{},dfn:{},dir:{},div:{},dl:{},dt:{parent:" dl "},em:{},embed:{},fieldset:{},figure:{},font:{},footer:{},form:{},frame:{empty:!0,parent:" frameset "},frameset:{parent:" html frameset "},h1:{},h2:{},h3:{},h4:{},
h5:{},h6:{},head:{parent:" html "},header:{},hgroup:{},html:{parent:"*"},hr:{empty:!0},i:{},iframe:{},img:{empty:!0},input:{empty:!0},ins:{},kbd:{},keygen:{},label:{},legend:{parent:" details fieldset figure "},li:{parent:" dir menu ol ul "},link:{empty:!0,parent:" head "},map:{},mark:{},menu:{},meta:{empty:!0,parent:" head noframes noscript "},meter:{},nav:{},noframes:{parent:" html body "},noscript:{parent:" body head noframes "},object:{},ol:{},optgroup:{parent:" select "},option:{parent:" optgroup select "},
output:{},p:{},param:{empty:!0,parent:" applet object "},pre:{},progress:{},q:{},rp:{},rt:{},ruby:{},samp:{},script:{empty:!0,parent:" body div frame head iframe p pre span "},section:{},select:{},small:{},span:{},source:{},strong:{},style:{parent:" head ",empty:!0},sub:{},sup:{},table:{},tbody:{parent:" table "},td:{parent:" tr "},textarea:{},tfoot:{parent:" table "},th:{parent:" tr "},thead:{parent:" table "},time:{},title:{parent:" head "},tr:{parent:" table tbody thead tfoot "},tt:{},u:{},ul:{},
"var":{},video:{}},Ka,ca,ra,G,na,oa,Ca,ea,da,vb={Buffer:!1,clearInterval:!1,clearTimeout:!1,console:!1,exports:!1,global:!1,module:!1,process:!1,require:!1,setInterval:!1,setTimeout:!1,__filename:!1,__dirname:!1},a,Sa,m,K,fb,O,sb={defineClass:!1,deserialize:!1,gc:!1,help:!1,load:!1,loadClass:!1,print:!1,quit:!1,readFile:!1,readUrl:!1,runCommand:!1,seal:!1,serialize:!1,spawn:!1,sync:!1,toint32:!1,version:!1},L,wb={ActiveXObject:!1,CScript:!1,Debug:!1,Enumerator:!1,System:!1,VBArray:!1,WScript:!1},
La,N,Db={Array:!1,Boolean:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,eval:!1,EvalError:!1,Function:!1,hasOwnProperty:!1,isFinite:!1,isNaN:!1,JSON:!1,Math:!1,Number:!1,Object:!1,parseInt:!1,parseFloat:!1,RangeError:!1,ReferenceError:!1,RegExp:!1,String:!1,SyntaxError:!1,TypeError:!1,URIError:!1},Eb={E:!0,LN2:!0,LN10:!0,LOG2E:!0,LOG10E:!0,PI:!0,SQRT1_2:!0,SQRT2:!0,MAX_VALUE:!0,MIN_VALUE:!0,NEGATIVE_INFINITY:!0,POSITIVE_INFINITY:!0},Pa,Q={},Ma,g,ta,Ba,xb=
{alert:!0,animator:!0,appleScript:!0,beep:!0,bytesToUIString:!0,Canvas:!0,chooseColor:!0,chooseFile:!0,chooseFolder:!0,closeWidget:!0,COM:!0,convertPathToHFS:!0,convertPathToPlatform:!0,CustomAnimation:!0,escape:!0,FadeAnimation:!0,filesystem:!0,Flash:!0,focusWidget:!0,form:!0,FormField:!0,Frame:!0,HotKey:!0,Image:!0,include:!0,isApplicationRunning:!0,iTunes:!0,konfabulatorVersion:!0,log:!0,md5:!0,MenuItem:!0,MoveAnimation:!0,openURL:!0,play:!0,Point:!0,popupMenu:!0,preferenceGroups:!0,preferences:!0,
print:!0,prompt:!0,random:!0,Rectangle:!0,reloadWidget:!0,ResizeAnimation:!0,resolvePath:!0,resumeUpdates:!0,RotateAnimation:!0,runCommand:!0,runCommandInBg:!0,saveAs:!0,savePreferences:!0,screen:!0,ScrollBar:!0,showWidgetPreferences:!0,sleep:!0,speak:!0,Style:!0,suppressUpdates:!0,system:!0,tellWidget:!0,Text:!0,TextArea:!0,Timer:!0,unescape:!0,updateNow:!0,URL:!0,Web:!0,widget:!0,Window:!0,XMLDOM:!0,XMLHttpRequest:!0,yahooCheckLogin:!0,yahooLogin:!0,yahooLogout:!0},z,R,gb=/@cc|<\/?|script|\]*s\]|<\s*!|&lt/i,
Fb=/[\u0000-\u001f\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/,Gb=/^\s*([(){}\[.,:;'"~\?\]#@]|==?=?|\/(\*(jslint|members?|global)?|=|\/)?|\*[\/=]?|\+[+=]?|-[\-=]?|%=?|&[&=]?|\|[|=]?|>>?>?=?|<([\/=!]|\!(\[|--)?|<=?)?|\^=?|\!=?=?|[a-zA-Z_$][a-zA-Z0-9_$]*|[0-9]+([xX][0-9a-fA-F]+|\.[0-9]*)?([eE][+\-]?[0-9]+)?)/,qb=/^\s*(['"=>\/&#]|<(?:\/|\!(?:--)?)?|[a-zA-Z][a-zA-Z0-9_\-]*|[0-9]+|--)/,Hb=/[\u0000-\u001f&<"\/\\\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/,
Ib=/[\u0000-\u001f&<"\/\\\u007f-\u009f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,Jb=/[>&]|<[\/!]?|--/,Kb=/\*\/|\/\*/,rb=/^([a-zA-Z_$][a-zA-Z0-9_$]*)$/,Ua=/^(?:javascript|jscript|ecmascript|vbscript|mocha|livescript)\s*:/i,mb=/&|\+|\u00AD|\.\.|\/\*|%[^;]|base64|url|expression|data|mailto/i,Lb=/[^a-zA-Z0-9+\-_\/ ]/,Mb=/[\[\]\/\\"'*<>.&:(){}+=#]/,Nb={outer:qb,html:qb,style:/^\s*([{:#%.=,>+\[\]@()"';]|\*=?|\$=|\|=|\^=|~=|[a-zA-Z_][a-zA-Z0-9_\-]*|[0-9]+|<\/|\/\*)/,
styleproperty:/^\s*([@#!"'};:\-%.=,+\[\]()*_]|[a-zA-Z][a-zA-Z0-9._\-]*|\/\*?|\d+(?:\.\d+)?|<\/)/};"function"!==typeof Object.create&&(Object.create=function(a){w.prototype=a;return new w});String.prototype.entityify=function(){return this.replace(/&/g,"\x26amp;").replace(/</g,"\x26lt;").replace(/>/g,"\x26gt;")};String.prototype.isAlpha=function(){return"a"<=this&&"z\uffff">=this||"A"<=this&&"Z\uffff">=this};String.prototype.isDigit=function(){return"0"<=this&&"9">=this};String.prototype.supplant=
function(a){return this.replace(/\{([^{}]*)\}/g,function(b,d){var c=a[d];return"string"===typeof c||"number"===typeof c?c:b})};String.prototype.name=function(){return rb.test(this)?this:Hb.test(this)?'"'+this.replace(Ib,function(a){var b=Cb[a];return b?b:"\\u"+("0000"+a.charCodeAt().toString(16)).slice(-4)})+'"':'"'+this+'"'};var Y=function(){function a(){var b;if(e>=oa.length)return!1;d=1;r=oa[e];e+=1;b=r.search(/ \t/);0<=b&&f("Mixed spaces and tabs.",e,b+1);r=r.replace(/\t/g,Ma);b=r.search(Fb);
0<=b&&f("Unsafe character.",e,b);m.maxlen&&m.maxlen<r.length&&f("Line too long.",e,r.length);return!0}function b(a,n){var k,g;g="(color)"===a?{type:a}:"(punctuator)"===a||"(identifier)"===a&&A(Q,n)?Q[n]||Q["(error)"]:Q[a];g=Object.create(g);("(string)"===a||"(range)"===a)&&Ua.test(n)&&f("Script URL.",e,c);"(identifier)"===a&&(g.identifier=!0,"__iterator__"===n||"__proto__"===n?D("Reserved name '{a}'.",e,c,n):m.nomen&&("_"===n.charAt(0)||"_"===n.charAt(n.length-1))&&f("Unexpected {a} in '{b}'.",e,
c,"dangling '_'",n));g.value=n;g.line=e;g.character=d;g.from=c;k=g.id;"(endline)"!==k&&(fb=k&&(0<="(,\x3d:[!\x26|?{};".indexOf(k.charAt(k.length-1))||"return"===k));return g}var d,c,e,r;return{init:function(b){oa="string"===typeof b?b.replace(/\r\n/g,"\n").replace(/\r/g,"\n").split("\n"):b;e=0;a();c=1},range:function(a,n){var g,m="";c=d;for(r.charAt(0)!==a&&D("Expected '{a}' and instead saw '{b}'.",e,d,a,r.charAt(0));;){r=r.slice(1);d+=1;g=r.charAt(0);switch(g){case "":D("Missing '{a}'.",e,d,g);break;
case n:return r=r.slice(1),d+=1,b("(range)",m);case R:case "\\":f("Unexpected '{a}'.",e,d,g)}m+=g}},token:function(){function l(a){if(a=a.exec(r))return q=a[0].length,a=a[1],u=a.charAt(0),r=r.substr(q),c=d+q-a.length,d+=q,a}function s(g){function p(a){var b=parseInt(r.substr(l+1,a),16);l+=a;32<=b&&126>=b&&34!==b&&92!==b&&39!==b&&f("Unnecessary escapement.",e,d);d+=a;h=String.fromCharCode(b)}var h,l,q="";na&&'"'!==g&&f("Strings must use doublequote.",e,d);if(R===g||"scriptstring"===z&&!R)return b("(punctuator)",
g);for(l=0;;){for(;l>=r.length;)l=0,("html"!==z||!a())&&D("Unclosed string.",e,c);h=r.charAt(l);if(h===g)return d+=1,r=r.substr(l+1),b("(string)",q,g);if(" ">h){if("\n"===h||"\r"===h)break;f("Control character in string: {a}.",e,d+l,r.slice(0,l))}else if(h===R)f("Bad HTML string",e,d+l);else if("\x3c"===h)m.safe&&"html"===z?f("ADsafe string violation.",e,d+l):"/"===r.charAt(l+1)&&(z||m.safe)?f("Expected '\x3c\\/' and instead saw '\x3c/'.",e,d):"!"===r.charAt(l+1)&&(z||m.safe)&&f("Unexpected '\x3c!' in a string.",
e,d);else if("\\"===h)if("html"===z)m.safe&&f("ADsafe string violation.",e,d+l);else if("styleproperty"===z)l+=1,d+=1,h=r.charAt(l),h!==g&&f("Escapement in style string.",e,d+l);else switch(l+=1,d+=1,h=r.charAt(l),h){case R:f("Bad HTML string",e,d+l);break;case "\\":case "'":case '"':case "/":break;case "b":h="\b";break;case "f":h="\f";break;case "n":h="\n";break;case "r":h="\r";break;case "t":h="\t";break;case "u":p(4);break;case "v":h="\v";break;case "x":na&&f("Avoid \\x-.",e,d);p(2);break;default:f("Bad escapement.",
e,d)}q+=h;d+=1;l+=1}}for(var h,u,p,q,t;;){if(!r)return b(a()?"(endline)":"(end)","");for(;"outer"===z&&!(h=r.search(Jb),0===h);)if(0<h){d+=1;r=r.slice(h);break}else if(!a())return b("(end)","");if(p=l(Nb[z]||Gb)){if(u.isAlpha()||"_"===u||"$"===u)return b("(identifier)",p);if(u.isDigit())return"style"!==z&&!isFinite(Number(p))&&f("Bad number '{a}'.",e,d,p),"style"!==z&&"styleproperty"!==z&&r.substr(0,1).isAlpha()&&f("Missing space after '{a}'.",e,d,p),"0"===u&&(h=p.substr(1,1),h.isDigit()?"."!==g.id&&
"styleproperty"!==z&&f("Don't use extra leading zeros '{a}'.",e,d,p):na&&("x"===h||"X"===h)&&f("Avoid 0x-. '{a}'.",e,d,p)),"."===p.substr(p.length-1)&&f("A trailing decimal point can be confused with a dot '{a}'.",e,d,p),b("(number)",p);switch(p){case '"':case "'":return s(p);case "//":La||z&&"script"!==z?f("Unexpected comment.",e,d):"script"===z&&/<\s*\//i.test(r)?f("Unexpected \x3c/ in comment.",e,d):(m.safe||"script"===z)&&gb.test(r)&&f("Dangerous comment.",e,d);r="";g.comment=!0;break;case "/*":(La||
z&&"script"!==z&&"style"!==z&&"styleproperty"!==z)&&f("Unexpected comment.",e,d);for(m.safe&&gb.test(r)&&f("ADsafe comment violation.",e,d);;){h=r.search(Kb);if(0<=h)break;a()?m.safe&&gb.test(r)&&f("ADsafe comment violation.",e,d):D("Unclosed comment.",e,d)}d+=h+2;"/"===r.substr(h,1)&&D("Nested comment.",e,d);r=r.substr(h+2);g.comment=!0;break;case "/*members":case "/*member":case "/*jslint":case "/*global":case "*/":return{value:p,type:"special",line:e,character:d,from:c};case "":break;case "/":"/\x3d"===
g.id&&D("A regular expression literal can be confused with '/\x3d'.",e,c);if(fb){for(q=p=0;;){h=!0;u=r.charAt(q);q+=1;switch(u){case "":D("Unclosed regular expression.",e,c);return;case "/":0<p&&f("Unescaped '{a}'.",e,c+q,"/");u=r.substr(0,q-1);for(t={g:!0,i:!0,m:!0};!0===t[r.charAt(q)];)t[r.charAt(q)]=!1,q+=1;d+=q;r=r.substr(q);t=r.charAt(0);("/"===t||"*"===t)&&D("Confusing regular expression.",e,c);return b("(regexp)",u);case "\\":u=r.charAt(q);" ">u?f("Unexpected control character in regular expression.",
e,c+q):"\x3c"===u&&f("Unexpected escaped character '{a}' in regular expression.",e,c+q,u);q+=1;break;case "(":p+=1;h=!1;if("?"===r.charAt(q))switch(q+=1,r.charAt(q)){case ":":case "\x3d":case "!":q+=1;break;default:f("Expected '{a}' and instead saw '{b}'.",e,c+q,":",r.charAt(q))}break;case "|":h=!1;break;case ")":0===p?f("Unescaped '{a}'.",e,c+q,")"):p-=1;break;case " ":for(t=1;" "===r.charAt(q);)q+=1,t+=1;1<t&&f("Spaces are hard to count. Use {{a}}.",e,c+q,t);break;case "[":u=r.charAt(q);"^"===u&&
(q+=1,m.regexp&&f("Insecure '{a}'.",e,c+q,u));t=!1;"]"===u&&(f("Empty class.",e,c+q-1),t=!0);a:do switch(u=r.charAt(q),q+=1,u){case "[":case "^":f("Unescaped '{a}'.",e,c+q,u);t=!0;break;case "-":t?t=!1:(f("Unescaped '{a}'.",e,c+q,"-"),t=!0);break;case "]":t||f("Unescaped '{a}'.",e,c+q-1,"-");break a;case "\\":u=r.charAt(q);" ">u?f("Unexpected control character in regular expression.",e,c+q):"\x3c"===u&&f("Unexpected escaped character '{a}' in regular expression.",e,c+q,u);q+=1;t=!0;break;case "/":f("Unescaped '{a}'.",
e,c+q-1,"/");t=!0;break;case "\x3c":"script"===z&&(u=r.charAt(q),("!"===u||"/"===u)&&f("HTML confusion in regular expression '\x3c{a}'.",e,c+q,u));t=!0;break;default:t=!0}while(u);break;case ".":m.regexp&&f("Insecure '{a}'.",e,c+q,u);break;case "]":case "?":case "{":case "}":case "+":case "*":f("Unescaped '{a}'.",e,c+q,u);break;case "\x3c":"script"===z&&(u=r.charAt(q),("!"===u||"/"===u)&&f("HTML confusion in regular expression '\x3c{a}'.",e,c+q,u))}if(h)switch(r.charAt(q)){case "?":case "+":case "*":q+=
1;"?"===r.charAt(q)&&(q+=1);break;case "{":q+=1;u=r.charAt(q);("0">u||"9"<u)&&f("Expected a number and instead saw '{a}'.",e,c+q,u);q+=1;for(t=+u;;){u=r.charAt(q);if("0">u||"9"<u)break;q+=1;t=+u+10*t}h=t;if(","===u&&(q+=1,h=Infinity,u=r.charAt(q),"0"<=u&&"9">=u)){q+=1;for(h=+u;;){u=r.charAt(q);if("0">u||"9"<u)break;q+=1;h=+u+10*h}}"}"!==r.charAt(q)?f("Expected '{a}' and instead saw '{b}'.",e,c+q,"}",u):q+=1;"?"===r.charAt(q)&&(q+=1);t>h&&f("'{a}' should not be greater than '{b}'.",e,c+q,t,h)}}u=r.substr(0,
q-1);d+=q;r=r.substr(q);return b("(regexp)",u)}return b("(punctuator)",p);case "\x3c!--":q=e;for(u=d;;){h=r.indexOf("--");if(0<=h)break;h=r.indexOf("\x3c!");0<=h&&D("Nested HTML comment.",e,d+h);a()||D("Unclosed HTML comment.",q,u)}q=r.indexOf("\x3c!");0<=q&&q<h&&D("Nested HTML comment.",e,d+q);d+=h;"\x3e"!==r[h+2]&&D("Expected --\x3e.",e,d);d+=3;r=r.slice(h+3);break;case "#":if("html"===z||"styleproperty"===z){for(;;){u=r.charAt(0);if(("0">u||"9"<u)&&("a">u||"f"<u)&&("A">u||"F"<u))break;d+=1;r=r.substr(1);
p+=u}4!==p.length&&7!==p.length&&f("Bad hex color '{a}'.",e,c+q,p);return b("(color)",p)}return b("(punctuator)",p);default:if("outer"===z&&"\x26"===u){d+=1;for(r=r.substr(1);;){u=r.charAt(0);d+=1;r=r.substr(1);if(";"===u)break;"0"<=u&&"9">=u||"a"<=u&&"z">=u||"#"===u||D("Bad entity",e,c+q,d)}break}return b("(punctuator)",p)}}else{for(u=p="";r&&"!">r;)r=r.substr(1);if(r){if("html"===z)return p=r.charAt(0),r=r.substr(1),b("(error)",p);D("Unexpected '{a}'.",e,d,r.substr(0,1))}}}}}}();Za=[fa,function(){for(;;)if(a.identifier)switch(a.value.toLowerCase()){case "url":fa();
break;case "expression":c("Unexpected expression '{a}'.",a,a.value);b();break;default:b()}else{if(";"===a.id||"!"===a.id||"(end)"===a.id||"}"===a.id)return!0;b()}}];ma="none hidden dotted dashed solid double ridge inset outset".split(" ");eb=["auto","always","avoid","left","right"];Ja=["auto","hidden","scroll","visible"];Ga={background:[!0,"background-attachment","background-color","background-image","background-position","background-repeat"],"background-attachment":["scroll","fixed"],"background-color":["transparent",
Z],"background-image":["none",fa],"background-position":[2,[H,"top","bottom","left","right","center"]],"background-repeat":["repeat","repeat-x","repeat-y","no-repeat"],border:[!0,"border-color","border-style","border-width"],"border-bottom":[!0,"border-bottom-color","border-bottom-style","border-bottom-width"],"border-bottom-color":Z,"border-bottom-style":ma,"border-bottom-width":la,"border-collapse":["collapse","separate"],"border-color":["transparent",4,Z],"border-left":[!0,"border-left-color",
"border-left-style","border-left-width"],"border-left-color":Z,"border-left-style":ma,"border-left-width":la,"border-right":[!0,"border-right-color","border-right-style","border-right-width"],"border-right-color":Z,"border-right-style":ma,"border-right-width":la,"border-spacing":[2,H],"border-style":[4,ma],"border-top":[!0,"border-top-color","border-top-style","border-top-width"],"border-top-color":Z,"border-top-style":ma,"border-top-width":la,"border-width":[4,la],bottom:[H,"auto"],"caption-side":["bottom",
"left","right","top"],clear:["both","left","none","right"],clip:[function(){var n;if(a.identifier&&"rect"===a.value){b();b("(");for(n=0;4>n;n+=1)if(!H()){c("Expected a number and instead saw '{a}'.",a,a.value);break}b(")");return!0}return!1},"auto"],color:Z,content:["open-quote","close-quote","no-open-quote","no-close-quote",Xa,fa,function(){return a.identifier&&"counter"===a.value?(b(),b("("),b(),","===a.id&&(F(),"(string)"!==a.type&&c("Expected a string and instead saw '{a}'.",a,a.value),b()),b(")"),
!0):a.identifier&&"counters"===a.value?(b(),b("("),a.identifier||c("Expected a name and instead saw '{a}'.",a,a.value),b(),","===a.id&&(F(),"(string)"!==a.type&&c("Expected a string and instead saw '{a}'.",a,a.value),b()),","===a.id&&(F(),"(string)"!==a.type&&c("Expected a string and instead saw '{a}'.",a,a.value),b()),b(")"),!0):!1},function(){return a.identifier&&"attr"===a.value?(b(),b("("),a.identifier||c("Expected a name and instead saw '{a}'.",a,a.value),b(),b(")"),!0):!1}],"counter-increment":[Wa,
"none"],"counter-reset":[Wa,"none"],cursor:[fa,"auto","crosshair","default","e-resize","help","move","n-resize","ne-resize","nw-resize","pointer","s-resize","se-resize","sw-resize","w-resize","text","wait"],direction:["ltr","rtl"],display:"block compact inline inline-block inline-table list-item marker none run-in table table-caption table-cell table-column table-column-group table-footer-group table-header-group table-row table-row-group".split(" "),"empty-cells":["show","hide"],"float":["left",
"none","right"],font:["caption","icon","menu","message-box","small-caption","status-bar",!0,"font-size","font-style","font-weight","font-family"],"font-family":function(){for(;";"!==a.id;){!Wa()&&!Xa()&&c("Expected a name and instead saw '{a}'.",a,a.value);if(","!==a.id)return!0;F()}},"font-size":["xx-small","x-small","small","medium","large","x-large","xx-large","larger","smaller",H],"font-size-adjust":["none",Fa],"font-stretch":"normal wider narrower ultra-condensed extra-condensed condensed semi-condensed semi-expanded expanded extra-expanded".split(" "),
"font-style":["normal","italic","oblique"],"font-variant":["normal","small-caps"],"font-weight":["normal","bold","bolder","lighter",Fa],height:[H,"auto"],left:[H,"auto"],"letter-spacing":["normal",H],"line-height":["normal",function(){"-"===a.id&&(b("-"),s());return"(number)"===a.type?(b(),"(string)"!==a.type&&!0===lb[a.value]&&(s(),b()),!0):!1}],"list-style":[!0,"list-style-image","list-style-position","list-style-type"],"list-style-image":["none",fa],"list-style-position":["inside","outside"],"list-style-type":"circle disc square decimal decimal-leading-zero lower-roman upper-roman lower-greek lower-alpha lower-latin upper-alpha upper-latin hebrew katakana hiragana-iroha katakana-oroha none".split(" "),
margin:[4,sa],"margin-bottom":sa,"margin-left":sa,"margin-right":sa,"margin-top":sa,"marker-offset":[H,"auto"],"max-height":[H,"none"],"max-width":[H,"none"],"min-height":H,"min-width":H,opacity:Fa,outline:[!0,"outline-color","outline-style","outline-width"],"outline-color":["invert",Z],"outline-style":"dashed dotted double groove inset none outset ridge solid".split(" "),"outline-width":la,overflow:Ja,"overflow-x":Ja,"overflow-y":Ja,padding:[4,H],"padding-bottom":H,"padding-left":H,"padding-right":H,
"padding-top":H,"page-break-after":eb,"page-break-before":eb,position:["absolute","fixed","relative","static"],quotes:[8,Xa],right:[H,"auto"],"table-layout":["auto","fixed"],"text-align":["center","justify","left","right"],"text-decoration":["none","underline","overline","line-through","blink"],"text-indent":H,"text-shadow":["none",4,[Z,H]],"text-transform":["capitalize","uppercase","lowercase","none"],top:[H,"auto"],"unicode-bidi":["normal","embed","bidi-override"],"vertical-align":["baseline","bottom",
"sub","super","top","text-top","middle","text-bottom",H],visibility:["visible","hidden","collapse"],"white-space":"normal nowrap pre pre-line pre-wrap inherit".split(" "),width:[H,"auto"],"word-spacing":["normal",H],"word-wrap":["break-word","normal"],"z-index":["auto",Fa]};ya("(number)",kb);ya("(string)",kb);Q["(identifier)"]={type:"(identifier)",lbp:0,identifier:!0,nud:function(){var a=this.value,b=L[a],d;"function"===typeof b?b=void 0:"boolean"===typeof b&&(d=p,p=ua[0],t(a,"var"),b=p,p=d);if(p===
b)switch(p[a]){case "unused":p[a]="var";break;case "label":c("'{a}' is a statement label.",g,a)}else if(p["(global)"])m.undef&&"boolean"!==K[a]&&c("'{a}' is not defined.",g,a),Va(g);else switch(p[a]){case "closure":case "function":case "var":case "unused":c("'{a}' used out of scope.",g,a);break;case "label":c("'{a}' is a statement label.",g,a);break;case "outer":case "global":break;default:if(!0===b)p[a]=!0;else if(null===b)c("'{a}' is not allowed.",g,a),Va(g);else if("object"!==typeof b)m.undef?
c("'{a}' is not defined.",g,a):p[a]=!0,Va(g);else switch(b[a]){case "function":case "var":case "unused":b[a]="closure";p[a]=b["(global)"]?"global":"outer";break;case "closure":case "parameter":p[a]=b["(global)"]?"global":"outer";break;case "label":c("'{a}' is a statement label.",g,a)}}return this},led:function(){e("Expected an operator and instead saw '{a}'.",a,a.value)}};ya("(regexp)",function(){return this});C("(endline)");C("(begin)");C("(end)").reach=!0;C("\x3c/").reach=!0;C("\x3c!");C("\x3c!--");
C("--\x3e");C("(error)").reach=!0;C("}").reach=!0;C(")");C("]");C('"').reach=!0;C("'").reach=!0;C(";");C(":").reach=!0;C(",");C("#");C("@");J("else");J("case").reach=!0;J("catch");J("default").reach=!0;J("finally");X("arguments");X("eval");X("false");X("Infinity");X("NaN");X("null");X("this");X("true");X("undefined");ha("\x3d","assign",20);ha("+\x3d","assignadd",20);ha("-\x3d","assignsub",20);ha("*\x3d","assignmult",20);ha("/\x3d","assigndiv",20).nud=function(){e("A regular expression literal can be confused with '/\x3d'.")};
ha("%\x3d","assignmod",20);ja("\x26\x3d","assignbitand",20);ja("|\x3d","assignbitor",20);ja("^\x3d","assignbitxor",20);ja("\x3c\x3c\x3d","assignshiftleft",20);ja("\x3e\x3e\x3d","assignshiftright",20);ja("\x3e\x3e\x3e\x3d","assignshiftrightunsigned",20);P("?",function(a,c){c.left=a;c.right=l(10);b(":");c["else"]=l(10);return c},30);P("||","or",40);P("\x26\x26","and",50);ia("|","bitor",70);ia("^","bitxor",80);ia("\x26","bitand",90);ba("\x3d\x3d",function(a,b){m.eqeqeq?c("Expected '{a}' and instead saw '{b}'.",
this,"\x3d\x3d\x3d","\x3d\x3d"):za(a)?c("Use '{a}' to compare with '{b}'.",this,"\x3d\x3d\x3d",a.value):za(b)&&c("Use '{a}' to compare with '{b}'.",this,"\x3d\x3d\x3d",b.value);return this});ba("\x3d\x3d\x3d");ba("!\x3d",function(a,b){m.eqeqeq?c("Expected '{a}' and instead saw '{b}'.",this,"!\x3d\x3d","!\x3d"):za(a)?c("Use '{a}' to compare with '{b}'.",this,"!\x3d\x3d",a.value):za(b)&&c("Use '{a}' to compare with '{b}'.",this,"!\x3d\x3d",b.value);return this});ba("!\x3d\x3d");ba("\x3c");ba("\x3e");
ba("\x3c\x3d");ba("\x3e\x3d");ia("\x3c\x3c","shiftleft",120);ia("\x3e\x3e","shiftright",120);ia("\x3e\x3e\x3e","shiftrightunsigned",120);P("in","in",120);P("instanceof","instanceof",120);P("+",function(a,b){var d=l(130);if(a&&d&&"(string)"===a.id&&"(string)"===d.id)return a.value+=d.value,a.character=d.character,Ua.test(a.value)&&c("JavaScript URL.",a),a;b.left=a;b.right=d;return b},130);V("+","num");P("-","sub",130);V("-","neg");P("*","mult",140);P("/","div",140);P("%","mod",140);ib("++","postinc");
V("++","preinc");Q["++"].exps=!0;ib("--","postdec");V("--","predec");Q["--"].exps=!0;V("delete",function(){var b=l(0);(!b||"."!==b.id&&"["!==b.id)&&c("Expected '{a}' and instead saw '{b}'.",a,".",a.value);this.first=b;return this}).exps=!0;V("~",function(){m.bitwise&&c("Unexpected '{a}'.",this,"~");l(150);return this});V("!",function(){this.right=l(150);this.arity="unary";!0===Bb[this.right.id]&&c("Confusing use of '{a}'.",this,"!");return this});V("typeof","typeof");V("new",function(){var n=l(155),
k;if(n&&"function"!==n.id)if(n.identifier)switch(n["new"]=!0,n.value){case "Object":c("Use the object literal notation {}.",g);break;case "Array":return"("!==a.id?c("Use the array literal notation [].",g):(b("("),")"===a.id?c("Use the array literal notation [].",g):(k=l(0),n.dimension=k,("(number)"===k.id&&/[.+\-Ee]/.test(k.value)||"-"===k.id&&!k.right||"(string)"===k.id||"["===k.id||"{"===k.id||"true"===k.id||"false"===k.id||"null"===k.id||"undefined"===k.id||"Infinity"===k.id)&&c("Use the array literal notation [].",
g),")"!==a.id&&e("Use the array literal notation [].",g)),b(")")),this.first=n,this;case "Number":case "String":case "Boolean":case "Math":case "JSON":c("Do not use {a} as a constructor.",g,n.value);break;case "Function":m.evil||c("The Function constructor is eval.");break;case "Date":case "RegExp":break;default:"function"!==n.id&&(k=n.value.substr(0,1),m.newcap&&("A">k||"Z"<k)&&c("A constructor name should start with an uppercase letter.",g))}else"."!==n.id&&"["!==n.id&&"("!==n.id&&c("Bad constructor.",
g);else c("Weird construction. Delete 'new'.",this);s(g,a);"("!==a.id&&c("Missing '()' invoking a constructor.");this.first=n;return this});Q["new"].exps=!0;P(".",function(n,k){s(O,g);var d=pa();"string"===typeof d&&Ea(d);k.left=n;k.right=d;!m.evil&&n&&"document"===n.value&&("write"===d||"writeln"===d)?c("document.write can be a form of eval.",n):m.adsafe&&n&&"ADSAFE"===n.value&&("id"===d||"lib"===d?c("ADsafe violation.",k):"go"===d&&("script"!==z?c("ADsafe violation.",k):(va||"("!==a.id||"(string)"!==
v(0).id||v(0).value!==U||","!==v(1).id)&&e("ADsafe violation: go.",k),va=!0,ka=!1));if(!m.evil&&("eval"===d||"execScript"===d))c("eval is evil.");else if(m.safe)for(;;){!0===Ra[d]&&c("ADsafe restricted word '{a}'.",g,d);if("boolean"!==typeof K[n.value]||"("===a.id)break;if(!0===Eb[d]){"."===a.id&&c("ADsafe violation.",k);break}if("."!==a.id){c("ADsafe violation.",k);break}b(".");g.left=k;g.right=d;k=g;d=pa();"string"===typeof d&&Ea(d)}return k},160,!0);P("(",function(e,k){s(O,g);h();var d=0,f=[];
e&&("(identifier)"===e.type?e.value.match(/^[A-Z]([A-Z0-9_$]*[a-z][A-Za-z0-9_$]*)?$/)&&"Number"!==e.value&&"String"!==e.value&&"Boolean"!==e.value&&"Date"!==e.value&&("Math"===e.value?c("Math is not a function.",e):m.newcap&&c("Missing 'new' prefix when invoking a constructor.",e)):"."===e.id&&m.safe&&"Math"===e.left.value&&"random"===e.right&&c("ADsafe violation.",e));if(")"!==a.id)for(;;){f[f.length]=l(10);d+=1;if(","!==a.id)break;F()}b(")");m.immed&&"function"===e.id&&")"!==a.id&&c("Wrap the entire immediate function invocation in parens.",
k);h(O,g);"object"===typeof e&&("parseInt"===e.value&&1===d&&c("Missing radix parameter.",e),m.evil||("eval"===e.value||"Function"===e.value||"execScript"===e.value?c("eval is evil.",e):f[0]&&"(string)"===f[0].id&&("setTimeout"===e.value||"setInterval"===e.value)&&c("Implied eval is evil. Pass a function instead of a string.",e)),!e.identifier&&"."!==e.id&&"["!==e.id&&"("!==e.id&&"\x26\x26"!==e.id&&"||"!==e.id&&"?"!==e.id&&c("Bad invocation.",e));k.left=e;return k},155,!0).exps=!0;V("(",function(){h();
var e=l(0);b(")",this);h(O,g);m.immed&&"function"===e.id&&("("===a.id?c("Move the invocation into the parens that contain the function.",a):c("Do not wrap function literals in parens unless they are to be immediately invoked.",this));return e});P("[",function(a,e){h();var d=l(0),f;d&&"(string)"===d.type?(m.safe&&!0===Ra[d.value]?c("ADsafe restricted word '{a}'.",e,d.value):!m.evil&&("eval"===d.value||"execScript"===d.value)?c("eval is evil.",e):m.safe&&("_"===d.value.charAt(0)||"-"===d.value.charAt(0))&&
c("ADsafe restricted subscript '{a}'.",e,d.value),Ea(d.value),!m.sub&&rb.test(d.value)&&(f=Q[d.value],(!f||!f.reserved)&&c("['{a}'] is better written in dot notation.",d,d.value))):(!d||"(number)"!==d.type||0>d.value)&&m.safe&&c("ADsafe subscripting.");b("]",e);h(O,g);e.left=a;e.right=d;return e},160,!0);V("[",function(){var e=g.line!==a.line;this.first=[];for(e&&(G+=m.indent,a.from===G+m.indent&&(G+=m.indent));"(end)"!==a.id;){for(;","===a.id;)c("Extra comma."),b(",");if("]"===a.id)break;e&&g.line!==
a.line&&x();this.first.push(l(10));if(","===a.id){if(F(),"]"===a.id){c("Extra comma.",g);break}}else break}e&&(G-=m.indent,x());b("]",this);return this},160);(function(n){n.nud=function(){var k,d,n,f,h={};if(k=g.line!==a.line)G+=m.indent,a.from===G+m.indent&&(G+=m.indent);for(;"}"!==a.id;){k&&x();if("get"===a.value&&":"!==v().id)b("get"),m.es5||e("get/set are ES5 features."),(n=bb())||e("Missing property name."),f=a,s(g,a),d=Ha(n),p["(loopage)"]&&c("Don't make functions within a loop.",f),(d=d["(params)"])&&
c("Unexpected parameter '{a}' in get {b} function.",f,d[0],n),s(g,a),b(","),x(),b("set"),f=bb(),n!==f&&e("Expected {a} and instead saw {b}.",g,n,f),f=a,s(g,a),d=Ha(n),d=d["(params)"],(!d||1!==d.length||"value"!==d[0])&&c("Expected (value) in set {a} function.",f,n);else{n=bb();if("string"!==typeof n)break;b(":");y(g,a);l(10)}!0===h[n]&&c("Duplicate member '{a}'.",a,n);h[n]=!0;Ea(n);if(","===a.id)F(),","===a.id?c("Extra comma.",g):"}"===a.id&&c("Extra comma.",g);else break}k&&(G-=m.indent,x());b("}",
this);return this};n.fud=function(){e("Expected to see a statement and instead saw a block.",g)}})(C("{"));aa("var",cb).exps=!0;ga("function",function(){ra&&c("Function statements cannot be placed in blocks. Use a function expression or move the statement to the top of the outer function.",g);var b=pa();s(g,a);t(b,"unused");Ha(b);"("===a.id&&a.line===g.line&&e("Function statements are not invocable. Wrap the whole function invocation in parens.");return this});V("function",function(){var b=Qa();b?
s(g,a):y(g,a);Ha(b);p["(loopage)"]&&c("Don't make functions within a loop.");return this});ga("if",function(){var e=a;b("(");y(this,e);h();l(20);"\x3d"===a.id&&(c("Expected a conditional expression and instead saw an assignment."),b("\x3d"),l(20));b(")",e);h(O,g);W(!0);"else"===a.id&&(y(g,a),b("else"),"if"===a.id||"switch"===a.id?Ta(!0):W(!0));return this});ga("try",function(){var n,k;m.adsafe&&c("ADsafe try violation.",this);W(!1);"catch"===a.id&&(b("catch"),y(g,a),b("("),k=L,L=Object.create(k),
n=a.value,"(identifier)"!==a.type?c("Expected an identifier and instead saw '{a}'.",a,n):t(n,"exception"),b(),b(")"),W(!1),n=!0,L=k);if("finally"===a.id)b("finally"),W(!1);else return n||e("Expected '{a}' and instead saw '{b}'.",a,"catch",a.value),this});ga("while",function(){var e=a;p["(breakage)"]+=1;p["(loopage)"]+=1;b("(");y(this,e);h();l(20);"\x3d"===a.id&&(c("Expected a conditional expression and instead saw an assignment."),b("\x3d"),l(20));b(")",e);h(O,g);W(!0);p["(breakage)"]-=1;p["(loopage)"]-=
1;return this}).labelled=!0;J("with");ga("switch",function(){var n=a,k=!1;p["(breakage)"]+=1;b("(");y(this,n);h();this.condition=l(20);b(")",n);h(O,g);y(g,a);n=a;b("{");y(g,a);G+=m.indent;for(this.cases=[];;)switch(a.id){case "case":switch(p["(verb)"]){case "break":case "case":case "continue":case "return":case "switch":case "throw":break;default:c("Expected a 'break' statement before 'case'.",g)}x(-m.indent);b("case");this.cases.push(l(20));k=!0;b(":");p["(verb)"]="case";break;case "default":switch(p["(verb)"]){case "break":case "continue":case "return":case "throw":break;
default:c("Expected a 'break' statement before 'default'.",g)}x(-m.indent);b("default");k=!0;b(":");break;case "}":G-=m.indent;x();b("}",n);(1===this.cases.length||"true"===this.condition.id||"false"===this.condition.id)&&c("This 'switch' should be an 'if'.",this);p["(breakage)"]-=1;p["(verb)"]=void 0;return;case "(end)":e("Missing '{a}'.",a,"}");return;default:if(k)switch(g.id){case ",":e("Each value should have its own case label.");return;case ":":qa();break;default:e("Missing ':' on a case clause.",
g)}else e("Expected '{a}' and instead saw '{b}'.",a,"case",a.value)}}).labelled=!0;aa("debugger",function(){m.debug||c("All 'debugger' statements should be removed.");return this}).exps=!0;(function(){var e=aa("do",function(){p["(breakage)"]+=1;p["(loopage)"]+=1;this.first=W(!0);b("while");var e=a;y(g,e);b("(");h();l(20);"\x3d"===a.id&&(c("Expected a conditional expression and instead saw an assignment."),b("\x3d"),l(20));b(")",e);h(O,g);p["(breakage)"]-=1;p["(loopage)"]-=1;return this});e.labelled=
!0;e.exps=!0})();ga("for",function(){var n=m.forin,k;k=a;p["(breakage)"]+=1;p["(loopage)"]+=1;b("(");y(this,k);h();if("in"===v("var"===a.id?1:0).id){if("var"===a.id)b("var"),cb(!0);else{switch(p[a.value]){case "unused":p[a.value]="var";break;case "var":break;default:c("Bad for in variable '{a}'.",a,a.value)}b()}b("in");l(20);b(")",k);k=W(!0);!n&&(1<k.length||"object"!==typeof k[0]||"if"!==k[0].value)&&c("The body of a for in should be wrapped in an if statement to filter unwanted properties from the prototype.",
this)}else{if(";"!==a.id)if("var"===a.id)b("var"),cb();else for(;;){l(0,"for");if(","!==a.id)break;F()}S(g);b(";");";"!==a.id&&(l(20),"\x3d"===a.id&&(c("Expected a conditional expression and instead saw an assignment."),b("\x3d"),l(20)));S(g);b(";");";"===a.id&&e("Expected '{a}' and instead saw '{b}'.",a,")",";");if(")"!==a.id)for(;;){l(0,"for");if(","!==a.id)break;F()}b(")",k);h(O,g);W(!0)}p["(breakage)"]-=1;p["(loopage)"]-=1;return this}).labelled=!0;aa("break",function(){var e=a.value;0===p["(breakage)"]&&
c("Unexpected '{a}'.",a,this.value);S(this);";"!==a.id&&g.line===a.line&&("label"!==p[e]?c("'{a}' is not a statement label.",a,e):L[e]!==p&&c("'{a}' is out of scope.",a,e),this.first=a,b());Da("break");return this}).exps=!0;aa("continue",function(){var e=a.value;0===p["(breakage)"]&&c("Unexpected '{a}'.",a,this.value);S(this);";"!==a.id?g.line===a.line&&("label"!==p[e]?c("'{a}' is not a statement label.",a,e):L[e]!==p&&c("'{a}' is out of scope.",a,e),this.first=a,b()):p["(loopage)"]||c("Unexpected '{a}'.",
a,this.value);Da("continue");return this}).exps=!0;aa("return",function(){S(this);"(regexp)"===a.id&&c("Wrap the /regexp/ literal in parens to disambiguate the slash operator.");";"!==a.id&&!a.reach&&(y(g,a),this.first=l(20));Da("return");return this}).exps=!0;aa("throw",function(){S(this);y(g,a);this.first=l(20);Da("throw");return this}).exps=!0;J("void");J("class");J("const");J("enum");J("export");J("extends");J("import");J("super");J("let");J("yield");J("implements");J("interface");J("package");
J("private");J("protected");J("public");J("static");var $=function(n,k){var d,f;JSLINT.errors=[];K=Object.create(Db);if(k){d=k.predef;if(d instanceof Array)for(f=0;f<d.length;f+=1)K[d[f]]=!0;k.adsafe&&(k.safe=!0);k.safe&&(k.browser=!1,k.css=!1,k.debug=!1,k.devel=!1,k.eqeqeq=!0,k.evil=!1,k.forin=!1,k.nomen=!0,k.on=!1,k.rhino=!1,k.safe=!0,k.windows=!1,k.strict=!0,k.sub=!1,k.undef=!0,k.widget=!1,K.Date=null,K.eval=null,K.Function=null,K.Object=null,K.ADSAFE=!1,K.lib=!1);m=k}else m={};m.indent=m.indent||
4;m.maxerr=m.maxerr||50;U="";va=ka=!1;Ia={};if(m.approved)for(f=0;f<m.approved.length;f+=1)Ia[m.approved[f]]=m.approved[f];else Ia.test="test";Ma="";for(f=0;f<m.indent;f+=1)Ma+=" ";G=1;L=hb=Object.create(K);p={"(global)":!0,"(name)":"(global)","(scope)":L,"(breakage)":0,"(loopage)":0};ua=[p];Ka={};ta=[];z=La=!1;N=null;ea={};da=null;ca={};ra=!1;Ca=[];na=!1;Ba=0;Y.init(n);fb=!0;Pa=!1;O=g=a=Q["(begin)"];I();try{b();if("\x3c"===a.value.charAt(0)){a:{var h,l,t,s,v,u,x,q=m.white,w;z="html";R="";for(N=null;;){switch(a.value){case "\x3c":z=
"html";b("\x3c");l={};u=a;u.identifier||c("Bad identifier {a}.",u,u.value);s=u.value;m.cap&&(s=s.toLowerCase());u.name=s;b();N||(N=[],d=s,"html"!==d&&!m.fragment&&("div"===d&&m.adsafe?e("ADSAFE: Use the fragment option."):e("Expected '{a}' and instead saw '{b}'.",g,"html",d)),m.adsafe&&("html"===d&&e("Currently, ADsafe does not operate on whole HTML documents. It operates on \x3cdiv\x3e fragments and .js files.",g),m.fragment?"div"!==d&&e("ADsafe violation: Wrap the widget in a div.",g):e("Use the fragment option.",
g)),m.browser=!0,I());x=ab[s];"object"!==typeof x&&e("Unrecognized tag '\x3c{a}\x3e'.",u,s);t=x.empty;for(u.type=s;;){if("/"===a.id){b("/");"\x3e"!==a.id&&c("Expected '{a}' and instead saw '{b}'.",a,"\x3e",a.value);break}if(a.id&&"\x3e"===a.id.substr(0,1))break;a.identifier||(("(end)"===a.id||"(error)"===a.id)&&e("Missing '\x3e'.",a),c("Bad identifier."));m.white=!0;y(g,a);h=a.value;m.white=q;b();!m.cap&&h!==h.toLowerCase()&&c("Attribute '{a}' not all lower case.",a,h);h=h.toLowerCase();R="";A(l,
h)&&c("Attribute '{a}' repeated.",a,h);"on"===h.slice(0,2)?(m.on||c("Avoid HTML event handlers."),z="scriptstring",b("\x3d"),v=a.id,'"'!==v&&"'"!==v&&e("Missing quote."),R=v,w=m.white,m.white=!1,b(v),qa("on"),m.white=w,a.id!==v&&e("Missing close quote on script attribute."),z="html",R="",b(v),x=!1):"style"===h?(z="scriptstring",b("\x3d"),v=a.id,'"'!==v&&"'"!==v&&e("Missing quote."),z="styleproperty",R=v,b(v),nb(),z="html",R="",b(v),x=!1):"\x3d"===a.id?(b("\x3d"),x=a.value,!a.identifier&&'"'!==a.id&&
"'"!==a.id&&"(string)"!==a.type&&"(number)"!==a.type&&"(color)"!==a.type&&c("Expected an attribute value and instead saw '{a}'.",g,h),b()):x=!0;l[h]=x;d=h;f=x;var D=void 0,C=void 0;"id"===d?(D="string"===typeof f?f.toUpperCase():"",!0===Ka[D]&&c("Duplicate id\x3d'{a}'.",a,f),/^[A-Za-z][A-Za-z0-9._:\-]*$/.test(f)?m.adsafe&&(U?f.slice(0,U.length)!==U?c("ADsafe violation: An id must have a '{a}' prefix",a,U):/^[A-Z]+_[A-Z]+$/.test(f)||c("ADSAFE violation: bad id."):(U=f,/^[A-Z]+_$/.test(f)||c("ADSAFE violation: bad id."))):
c("Bad id: '{a}'.",a,f),C=f.search(Mb),0<=C&&c("Unexpected character '{a}' in {b}.",g,f.charAt(C),d),Ka[D]=!0):"class"===d||"type"===d||"name"===d?(C=f.search(Lb),0<=C&&c("Unexpected character '{a}' in {b}.",g,f.charAt(C),d),Ka[D]=!0):"href"===d||"background"===d||"content"===d||"data"===d||0<=d.indexOf("src")||0<=d.indexOf("url")?(m.safe&&mb.test(f)&&e("ADsafe URL violation."),ta.push(f)):"for"===d?m.adsafe&&(U?f.slice(0,U.length)!==U?c("ADsafe violation: An id must have a '{a}' prefix",a,U):/^[A-Z]+_[A-Z]+$/.test(f)||
c("ADSAFE violation: bad id."):c("ADSAFE violation: bad id.")):"name"===d&&m.adsafe&&0<=f.indexOf("_")&&c("ADsafe name violation.")}d=s;f=l;var D=void 0,F=ab[d],C=void 0;La=!1;F||e("Unrecognized tag '\x3c{a}\x3e'.",a,d===d.toLowerCase()?d:d+" (capitalization error)");if(0<N.length)if("html"===d&&e("Too many \x3chtml\x3e tags.",g),C=F.parent)0>C.indexOf(" "+N[N.length-1].name+" ")&&e("A '\x3c{a}\x3e' must be within '\x3c{b}\x3e'.",g,d,C);else if(!m.adsafe&&!m.fragment){D=N.length;do 0>=D&&e("A '\x3c{a}\x3e' must be within '\x3c{b}\x3e'.",
g,d,"body"),D-=1;while("body"!==N[D].name)}switch(d){case "div":m.adsafe&&1===N.length&&!U&&c("ADSAFE violation: missing ID_.");break;case "script":z="script";b("\x3e");G=a.from;f.lang&&c("lang is deprecated.",g);m.adsafe&&1!==N.length&&c("ADsafe script placement violation.",g);f.src?(m.adsafe&&(!ka||!Ia[f.src])&&c("ADsafe unapproved script source.",g),f.type&&c("type is unnecessary.",g)):(va&&e("ADsafe script violation.",g),qa("script"));z="html";b("\x3c/");!a.identifier&&"script"!==a.value&&c("Expected '{a}' and instead saw '{b}'.",
a,"script",a.value);b();z="outer";break;case "style":z="style";b("\x3e");ob();z="html";b("\x3c/");!a.identifier&&"style"!==a.value&&c("Expected '{a}' and instead saw '{b}'.",a,"style",a.value);b();z="outer";break;case "input":switch(f.type){case "radio":case "checkbox":case "button":case "reset":case "submit":break;case "text":case "password":case "file":case "hidden":case "image":m.adsafe&&"off"!==f.autocomplete&&c("ADsafe autocomplete violation.");break;default:c("Bad input type.")}break;case "applet":case "body":case "embed":case "frame":case "frameset":case "head":case "iframe":case "noembed":case "noframes":case "object":case "param":m.adsafe&&
c("ADsafe violation: Disallowed tag: "+d)}t||N.push(u);z="outer";b("\x3e");break;case "\x3c/":z="html";b("\x3c/");a.identifier||c("Bad identifier.");s=a.value;m.cap&&(s=s.toLowerCase());b();N||e("Unexpected '{a}'.",a,"\x3c/"+s+"\x3e");(u=N.pop())||e("Unexpected '{a}'.",a,"\x3c/"+s+"\x3e");u.name!==s&&e("Expected '{a}' and instead saw '{b}'.",a,"\x3c/"+u.name+"\x3e","\x3c/"+s+"\x3e");"\x3e"!==a.id&&e("Missing '{a}'.",a,"\x3e");z="outer";b("\x3e");break;case "\x3c!":m.safe&&c("ADsafe HTML violation.");
for(z="html";;){b();if("\x3e"===a.id||"(end)"===a.id)break;0<=a.value.indexOf("--")&&c("Unexpected --.");0<=a.value.indexOf("\x3c")&&c("Unexpected \x3c.");0<=a.value.indexOf("\x3e")&&c("Unexpected \x3e.")}z="outer";b("\x3e");break;case "(end)":break a;default:"(end)"===a.id?e("Missing '{a}'.",a,"\x3c/"+N[N.length-1].value+"\x3e"):b()}if(N&&0===N.length&&(m.adsafe||!m.fragment||"(end)"===a.id))break}"(end)"!==a.id&&e("Unexpected material after the end.")}m.adsafe&&!va&&c("ADsafe violation: Missing ADSAFE.go.",
this)}else switch(a.id){case "{":case "[":na=m.laxbreak=!0;db();break;case "@":case "*":case "#":case ".":case ":":z="style";b();("@"!==g.id||!a.identifier||"charset"!==a.value||1!==g.line||1!==g.from)&&e('A css file should begin with @charset "UTF-8";');b();"(string)"!==a.type&&"UTF-8"!==a.value&&e('A css file should begin with @charset "UTF-8";');b();b(";");ob();break;default:m.adsafe&&m.fragment&&e("Expected '{a}' and instead saw '{b}'.",a,"\x3cdiv\x3e",a.value),qa("lib")}b("(end)")}catch(E){E&&
JSLINT.errors.push({reason:E.message,line:E.line||a.line,character:E.character||a.from},null)}return 0===JSLINT.errors.length};$.data=function(){var a={functions:[]},b;b=[];var c,e,f,g,h=[];$.errors.length&&(a.errors=$.errors);na&&(a.json=!0);for(g in ca)A(ca,g)&&b.push({name:g,line:ca[g]});0<b.length&&(a.implieds=b);0<ta.length&&(a.urls=ta);b=pb(L);0<b.length&&(a.globals=b);for(e=1;e<ua.length;e+=1){c=ua[e];b={};for(f=0;f<wa.length;f+=1)b[wa[f]]=[];for(g in c)A(c,g)&&"("!==g.charAt(0)&&(f=c[g],"[object Array]"===
Object.prototype.toString.apply(b[f])&&(b[f].push(g),"unused"===f&&h.push({name:g,line:c["(line)"],"function":c["(name)"]})));for(f=0;f<wa.length;f+=1)0===b[wa[f]].length&&delete b[wa[f]];b.name=c["(name)"];b.param=c["(params)"];b.line=c["(line)"];b.last=c["(last)"];a.functions.push(b)}0<h.length&&(a.unused=h);for(g in ea)if("number"===typeof ea[g]){a.member=ea;break}return a};$.report=function(a){function b(a,c){var d,e,f;if(c){l.push("\x3cdiv\x3e\x3ci\x3e"+a+"\x3c/i\x3e ");c=c.sort();for(e=0;e<
c.length;e+=1)c[e]!==f&&(f=c[e],l.push((d?", ":"")+f),d=!0);l.push("\x3c/div\x3e")}}var c=$.data(),e=[],f,g,h;f="";var m,l=[];if(c.errors||c.implieds||c.unused){g=!0;l.push("\x3cdiv id\x3derrors\x3e\x3ci\x3eError:\x3c/i\x3e");if(c.errors)for(h=0;h<c.errors.length;h+=1)if(e=c.errors[h])f=e.evidence||"",l.push("\x3cp\x3eProblem"+(isFinite(e.line)?" at line "+e.line+" character "+e.character:"")+": "+e.reason.entityify()+"\x3c/p\x3e\x3cp class\x3devidence\x3e"+(f&&(80<f.length?f.slice(0,77)+"...":f).entityify())+
"\x3c/p\x3e");if(c.implieds){e=[];for(h=0;h<c.implieds.length;h+=1)e[h]="\x3ccode\x3e"+c.implieds[h].name+"\x3c/code\x3e\x26nbsp;\x3ci\x3e"+c.implieds[h].line+"\x3c/i\x3e";l.push("\x3cp\x3e\x3ci\x3eImplied global:\x3c/i\x3e "+e.join(", ")+"\x3c/p\x3e")}if(c.unused){e=[];for(h=0;h<c.unused.length;h+=1)e[h]="\x3ccode\x3e\x3cu\x3e"+c.unused[h].name+"\x3c/u\x3e\x3c/code\x3e\x26nbsp;\x3ci\x3e"+c.unused[h].line+"\x3c/i\x3e \x3ccode\x3e"+c.unused[h]["function"]+"\x3c/code\x3e";l.push("\x3cp\x3e\x3ci\x3eUnused variable:\x3c/i\x3e "+
e.join(", ")+"\x3c/p\x3e")}c.json&&l.push("\x3cp\x3eJSON: bad.\x3c/p\x3e");l.push("\x3c/div\x3e")}if(!a){l.push("\x3cbr\x3e\x3cdiv id\x3dfunctions\x3e");c.urls&&b("URLs\x3cbr\x3e",c.urls,"\x3cbr\x3e");"style"===z?l.push("\x3cp\x3eCSS.\x3c/p\x3e"):c.json&&!g?l.push("\x3cp\x3eJSON: good.\x3c/p\x3e"):c.globals?l.push("\x3cdiv\x3e\x3ci\x3eGlobal\x3c/i\x3e "+c.globals.sort().join(", ")+"\x3c/div\x3e"):l.push("\x3cdiv\x3e\x3ci\x3eNo new global variables introduced.\x3c/i\x3e\x3c/div\x3e");for(h=0;h<c.functions.length;h+=
1)a=c.functions[h],l.push("\x3cbr\x3e\x3cdiv class\x3dfunction\x3e\x3ci\x3e"+a.line+"-"+a.last+"\x3c/i\x3e "+(a.name||"")+"("+(a.param?a.param.join(", "):"")+")\x3c/div\x3e"),b("\x3cbig\x3e\x3cb\x3eUnused\x3c/b\x3e\x3c/big\x3e",a.unused),b("Closure",a.closure),b("Variable",a["var"]),b("Exception",a.exception),b("Outer",a.outer),b("Global",a.global),b("Label",a.label);if(c.member){e=pb(c.member);if(e.length){e=e.sort();f="\x3cbr\x3e\x3cpre id\x3dmembers\x3e/*members ";g=10;for(h=0;h<e.length;h+=1)a=
e[h],m=a.name(),72<g+m.length&&(l.push(f+"\x3cbr\x3e"),f="    ",g=1),g+=m.length+2,1===c.member[a]&&(m="\x3ci\x3e"+m+"\x3c/i\x3e"),h<e.length-1&&(m+=", "),f+=m;l.push(f+"\x3cbr\x3e*/\x3c/pre\x3e")}l.push("\x3c/div\x3e")}}return l.join("")};$.jslint=$;$.edition="2010-04-06";return $}();define("orion/jslintworker",[],function(){});
define("orion/objects",[],function(){function w(w){for(var E=1;E<arguments.length;E++){var I=arguments[E],M;for(M in I)Object.prototype.hasOwnProperty.call(I,M)&&(w[M]=I[M])}return w}return{clone:function(A){if(Array.isArray(A))return Array.prototype.slice.call(A);var E=Object.create(Object.getPrototypeOf(A));w(E,A);return E},mixin:w,toArray:function(w){return Array.isArray(w)?w:[w]}}});
define("built-jslintPlugin.js",["orion/plugin","orion/jslintworker","orion/objects"],function(w,A,E){function I(c){function f(t,v,b){for(var l=c.description,s=0;s<t.length;s++){var h=t[s],w="string"===typeof h?null:h[1],h=-1!==l.indexOf("string"===typeof h?h:h[0]);if(b||h)c.severity=v;h&&w&&(c.description=w)}}f([["Expected '{'","Statement body should be inside '{ }' braces."]],"warning",!0);f("Missing semicolon;Extra comma;Missing property name;Unmatched ; and instead saw; is not defined;Unclosed string;Stopping, unable to continue".split(";"),
"error");return function(){for(var f=["Dangerous comment"],v=c.description,b=0;b<f.length;b++)if(-1!==v.indexOf(f[b]))return!0;return!1}(c)?null:c}function M(c,w){var t;JSLINT(w,f);t=JSLINT.data();var v=[],b;if(t.errors){var l=t.errors;for(b=0;b<l.length;b++){var s=l[b];if(s){var h=s.character-1,y=h+1;s.evidence&&(h=s.evidence.substring(h).search(/.\b/),-1<h&&(y+=h));s.description=s.reason;s.start=s.character;s.end=y;(s=I(s))&&v.push(s)}}}if(t.functions){t=t.functions;var A;for(b=0;b<t.length;b++)if(l=
t[b],(s=l.unused)&&0!==s.length){A||(A=w.split(/\r?\n/));for(var h=(y='"'===l.name[0])?l.name.substring(1,l.name.length-1):l.name,x=A[l.line-1],E=0;E<s.length;E++){var F=x.indexOf(h),F=y?x.indexOf("function",F):x.lastIndexOf("function",F);-1!==F&&v.push({reason:"Function declares unused variable '"+s[E]+"'.",line:l.line,character:F+1,end:F+8,severity:"warning"})}}}return{problems:v}}var c={bitwise:!1,eqeqeq:!0,es5:!0,immed:!0,indent:1,maxerr:300,newcap:!0,nomen:!1,onevar:!1,plusplus:!1,regexp:!0,
strict:!1,undef:!0,white:!1},f=c;w=new w({name:"Orion JSLint Service",version:"1.0",description:"This plugin provides JSLint functionality for validating JSON."});w.registerService(["orion.edit.validator","orion.cm.managedservice"],{updated:function(e){if(e&&"string"===typeof e.options&&(e=e.options,!/^\s*$/.test(e))){var w={},t=!1;e.split(/,/).forEach(function(c){var b=/\s*(\w+)\s*:\s*(\w+)\s*/.exec(c);null===b?console.log("JSLint ignoring bad option: "+c):(w[b[1]]=b[2],t=!0)});f={};E.mixin(f,c,
w);t&&console.log("JSLint using user-provided options: {"+Object.keys(w).map(function(c){return c+":"+w[c]}).join(",")+"}")}},computeProblems:function(c,f){return c.getText().then(M.bind(null,f))}},{contentType:["application/json"],pid:"jslint.config"});w.registerService("orion.core.setting",{},{settings:[{pid:"jslint.config",name:"JSLint Validator",tags:["validation","HTML","JSON","jslint"],category:"validation",properties:[{id:"options",name:"Options to pass to JSLint (/*jslint ..*/)",type:"string"}]}]});
w.connect()});
//@ sourceMappingURL=built-jslintPlugin.js.map