function igmm_a(a,b){if(!a)throw Error("createDismissibleMessage(msg, opt_callback): msg is undefined or null");a=this.b(a);var c=document.createElement("td");c.width=10;var d=c.appendChild(document.createElement("span"));d.className=this.c("mmlib_xlink");d.onclick=igmm_(a,b);d.innerHTML="[x]";a.rows[0].appendChild(c);return a}
function igmm_b(a,b,c){if(a){if(typeof b=="undefined"||isNaN(b))throw Error("createTimerMessage(msg, seconds, opt_callback): seconds is undefined or NaN");}else throw Error("createTimerMessage(msg, seconds, opt_callback): msg is undefined or null");a=this.b(a);window.setTimeout(igmm_(a,c),b*1E3);return a}function igmm_c(a){if(!a)throw Error("createStaticMessage(msg): msg is undefined or null");return this.b(a)}function igmm_d(a){typeof a!="undefined"&&a&&igmm_(a)()}
function igmm_(a,b){return function(){if(typeof b=="function")if(b()==false)return;try{a.parentNode.removeChild(a)}catch(c){}}}
function igmm_e(a){var b=document.createElement("table");b.id="mm_"+this.a+"_"+this.numMessages;b.className=this.c("mmlib_table");b.cellSpacing=0;b.cellPadding=0;this.numMessages++;var c=b.appendChild(document.createElement("tbody"));c=c.appendChild(document.createElement("tr"));c=c.appendChild(document.createElement("td"));if(typeof a=="object"&&a.parentNode&&a.parentNode.nodeType==1){var d=a.cloneNode(true);a.style.display="none";d.id="";c.appendChild(d);a.parentNode.insertBefore(b,a.nextSibling)}else{if(typeof a==
"object")c.appendChild(a);else c.innerHTML=a;this.d.appendChild(b)}return b}function igmm_f(){var a="mm_"+this.a,b=_gel(a);if(!b){b=document.createElement("div");b.id=a;a=_getGadgetContainer(this.a);if(!a)throw Error("Cannot locate gadget container.  Are you missing a <body> tag?");a.insertBefore(b,a.firstChild)}return b}function igmm_g(a){return a+" "+a+this.a}
function _IG_MiniMessage(a,b){this.numMessages=0;this.a=a;this.d=null;this.createDismissibleMessage=igmm_a;this.createTimerMessage=igmm_b;this.createStaticMessage=igmm_c;this.dismissMessage=igmm_d;this.b=igmm_e;this.e=igmm_f;this.c=igmm_g;this.d=typeof b=="object"?b:this.e()}_IG_LoadCss(".mmlib_table {width: 100%;font: bold 9px arial,sans-serif;background-color: #fff4c2;border-collapse: separate;border-spacing: 0px;padding: 1px 0px;}.mmlib_xlink {font: normal 1.1em arial,sans-serif;font-weight: bold;color: #0000cc;cursor: pointer;}");
_exportClass("google.gadgets","MiniMessage",_IG_MiniMessage,["createDismissibleMessage",igmm_a,"createTimerMessage",igmm_b,"createStaticMessage",igmm_c,"dismissMessage",igmm_d]);
function _IG_GetFlashMajorVersion(){var e=0;if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){var b=navigator.plugins["Shockwave Flash"];if(b&&b.description)e=parseInt(b.description.match(/[0-9]+/)[0],10)}else for(b=10;b>0;b--)try{new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+b);return b}catch(a){}return e}
function _IG_EmbedCachedFlash(e,b,a){var g=arguments;if(typeof g[0]=="string"){var h=a||{},f=[];_et&&f.push("et",_esc(_et));!isNaN(h.refreshInterval)&&h.refreshInterval>=0&&f.push("max_age",h.refreshInterval);g[0]="http://www.gmodules.com/ig/proxy/"+f.join(",")+"/"+g[0]}_IG_EmbedFlash.apply(this,g)}
function _IG_EmbedFlash(e,b,a){if(typeof e!="string")throw new Error("The first argument to _IG_EmbedFlash must be a string.");switch(typeof b){case "string":b=_gel(b);case "object":if(b&&typeof b.innerHTML=="string")break;default:throw new Error("The second argument to _IG_EmbedFlash must be an existing HTML element.");}switch(typeof a){case "undefined":a={};case "object":break;default:throw new Error("The third argument to _IG_EmbedFlash must be either an object or undefined.");}var g=_IG_GetFlashMajorVersion();
if(g){var h=parseInt(a.swf_version,10);if(isNaN(h))h=0;if(g>=h){for(var f in a){var k=f.toLowerCase();if(f!=k){a[k]=a[f];delete a[f]}}if(!a.allowscriptaccess)a.allowscriptaccess="always";if(!a.width)a.width="100%";if(!a.height)a.height="100%";if(typeof a.base!="string")a.base=e.match(/^[^?#]+\//)[0];if(typeof a.wmode!="string")a.wmode="opaque";if(typeof _IG_Prefs=="function"){var j=(new _IG_Prefs(a.swf_module_id)).getPreloadedString();if(j)a.flashvars=a.flashvars?a.flashvars+"&"+j:j}var l=Math.floor(Math.random()*
10000000);if(!window.name)window.name="gga_iframe"+l;if(!a.id)a.id="swfContainer"+l;a.flashvars=(a.flashvars?a.flashvars+"&":"")+"_IG_GadgetContainer="+_esc(window.name)+"&_ADS_GadgetContainer="+_esc(window.name);var d;if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){a.type="application/x-shockwave-flash";a.src=e;d="<embed";for(var c in a)/^swf_/.test(c)||(d+=" "+c+"='"+a[c]+"'");d+=" /></embed>"}else{a.movie=e;var i={width:a.width,height:a.height,classid:"clsid:D27CDB6E-AE6D-11CF-96B8-444553540000"};
if(a.id)i.id=a.id;d="<object";for(c in i)d+=" "+c+"='"+i[c]+"'";d+=">";for(c in a)if(!/^swf_/.test(c)&&!i[c])d+="<param name='"+c+"' value='"+a[c]+"' />";d+="</object>"}b.innerHTML=d;return true}}return false}_exportSymbols("google.gadgets.Flash",["getMajorVersion",_IG_GetFlashMajorVersion,"embedCachedFlash",_IG_EmbedCachedFlash,"embedFlash",_IG_EmbedFlash]);
function igRF_a(a){throw a;}var igRF_b=true,igRF_c=null,igRF_d=false,igRF_e=window.google||{};igRF_e.global=this;function igRF_f(a){a=a.split(".");for(var b=igRF_e.global,c;c=a.shift();)b=b[c]?b[c]:(b[c]={})};var igRF_g=igRF_d;function igRF_h(a){try{igRF_a(a)}catch(b){igRF_i(b)}}function igRF_i(a,b){b="Javascript exception: "+(b?b:"")+" "+a;if(igRF_j("msie")&&!window.opera)b+=" "+a.name+": "+a.message+" ("+a.number+")";var c="";if(typeof a=="string")c=a+"\n";else for(var d in a)try{c+=d+": "+a[d]+"\n"}catch(e){}c+=igRF_k(igRF_i.caller);igRF_l(b+"\n"+c,1)}var igRF_m=/function (\w+)/;function igRF_n(a){if(a=igRF_m.exec(String(a)))return a[1];return""}
function igRF_k(a){try{if(!(igRF_j("msie")&&!window.opera)&&!(igRF_j("safari")||igRF_j("konqueror"))&&igRF_j("mozilla"))return Error().stack;if(!a)return"";for(var b="- "+igRF_n(a)+"(",c=0;c<a.arguments.length;c++){if(c>0)b+=", ";var d=String(a.arguments[c]);if(d.length>40)d=d.substr(0,40)+"...";b+=d}b+=")\n";b+=igRF_k(a.caller);return b}catch(e){return"[Cannot get stack trace]: "+e+"\n"}}var igRF_o,igRF_p=igRF_c,igRF_q=igRF_d;
function igRF_r(){if((igRF_p==igRF_c||igRF_p.closed)&&!igRF_q)try{igRF_q=igRF_b;igRF_p=window.open("","debug","width=700,height=500,toolbar=no,resizable=yes,scrollbars=yes,left=16,top=16,screenx=16,screeny=16");igRF_p.blur();igRF_p.document.open();igRF_q=igRF_d;var a="<font color=#ff0000><b>To turn off this debugging window,hit 'D' inside the main caribou window, then close this window.</b></font><br>";igRF_s(a)}catch(b){}}
function igRF_l(a,b){if(igRF_g){try{var c=(new Date).getTime()-igRF_o,d="["+c+"] "+igRF_t(a).replace(/\n/g,"<br>")+"<br>";if(b==1){d="<font color=#ff0000><b>Error: "+d+"</b></font>";igRF_p.focus()}}catch(e){}igRF_s(d)}else typeof igRF_u!="undefined"&&igRF_u(igRF_t(a))}function igRF_s(a){if(igRF_g)try{igRF_r();igRF_p.document.write(a);igRF_p.scrollTo(0,1E6)}catch(b){}};function igRF_j(a){if(a in igRF_v)return igRF_v[a];return igRF_v[a]=navigator.userAgent.toLowerCase().indexOf(a)!=-1}var igRF_v={},igRF_w=/&/g,igRF_x=/</g,igRF_y=/>/g;function igRF_t(a){if(!a)return"";return a.replace(igRF_w,"&amp;").replace(igRF_x,"&lt;").replace(igRF_y,"&gt;").replace(igRF_z,"&quot;")}var igRF_z=/\"/g;function igRF_A(a){return document.getElementById(a)}function igRF_B(a){return document.all[a]}var igRF_C=document.getElementById?igRF_A:igRF_B;
function igRF_u(a){try{if(window.parent!=window&&window.parent.log){window.parent.log(window.name+"::"+a);return}}catch(b){}var c=igRF_C("log");if(c){a="<p class=logentry><span class=logdate>"+new Date+"</span><span class=logmsg>"+a+"</span></p>";c.innerHTML=a+c.innerHTML}else window.status=a};function igRF_D(){}igRF_D.raise=function(a){if(typeof Error!="undefined")igRF_a(new Error(a||"Assertion Failed"));else igRF_a(a)};igRF_D.fail=function(a){a=a||"Assertion failed";typeof igRF_h!="undefined"&&igRF_h(a+"\n");igRF_D.raise(a)};igRF_D.isTrue=function(a,b){if(!a){if(b===undefined)b="Assertion failed";igRF_D.fail(b)}};igRF_D.equals=function(a,b,c){if(a!=b){if(c===undefined)c="AS_Assert.equals failed: <"+a+"> != <"+b+">";igRF_D.fail(c)}};
igRF_D.typeOf=function(a,b,c){if(typeof a!=b){if(a||a=="")try{if(b==igRF_D.TYPE_MAP[typeof a]||a instanceof b)return}catch(d){}if(c===undefined){if(typeof b=="function")if(c=b.toString().match(/^\s*function\s+([^\s\{]+)/))b=c[1];c="AS_Assert.typeOf failed: <"+a+"> not typeof "+b}igRF_D.fail(c)}};igRF_D.TYPE_MAP={string:String,number:Number,"boolean":Boolean};
igRF_D.numArgs=function(a,b){var c=igRF_D.numArgs.caller;if(c&&c.arguments.length!=a){if(b===undefined)b=c.name+" expected "+a+" arguments  but received "+c.arguments.length;igRF_D.fail(b)}};var igRF_E;function igRF_F(){var a=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"];if(typeof XMLHttpRequest=="undefined"&&typeof ActiveXObject!="undefined"){for(var b=0;b<a.length;b++){var c=a[b];try{new ActiveXObject(c);igRF_E=c;break}catch(d){}}if(!igRF_E)igRF_a(Error("Could not create ActiveXObject. ActiveX might be disabled, or MSXML might not be installed."))}}igRF_F();function igRF_G(a,b,c){a.open("GET",b,igRF_b);a.onreadystatechange=c;igRF_H(a,igRF_c)}
function igRF_H(a,b){try{a.send(b)}catch(c){igRF_u("XMLHttpSend failed "+c.toString()+"<br>"+c.stack);igRF_a(c)}};if("undefined"==typeof igRF_u)igRF_u=function(){};var igRF_=igRF_||{};igRF_.global=this;igRF_.DEBUG=igRF_b;igRF_.LOCALE="en";igRF_.gc=igRF_c;igRF_.provide=function(a){igRF_.Ze(a)};igRF_.Ze=function(a,b,c){a=a.split(".");c=c||igRF_.global;!(a[0]in c)&&c.execScript&&c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)if(!a.length&&igRF_.isDef(b))c[d]=b;else c=c[d]?c[d]:(c[d]={})};igRF_.getObjectByName=function(a,b){a=a.split(".");b=b||igRF_.global;for(var c;c=a.shift();)if(b[c])b=b[c];else return igRF_c;return b};
igRF_.globalize=function(a,b){b=b||igRF_.global;for(var c in a)b[c]=a[c]};igRF_.addDependency=function(){};igRF_.require=function(){};igRF_.useStrictRequires=igRF_d;igRF_.basePath="";igRF_.nullFunction=function(){};igRF_.identityFunction=function(){return arguments[0]};igRF_.abstractMethod=function(){igRF_a(Error("unimplemented abstract method"))};igRF_.addSingletonGetter=function(a){a.getInstance=function(){return a.zh||(a.zh=new a)}};
igRF_.typeOf=function(a){var b=typeof a;if(b=="object")if(a){if(a instanceof Array||!(a instanceof Object)&&Object.prototype.toString.call(a)=="[object Array]"||typeof a.length=="number"&&typeof a.splice!="undefined"&&typeof a.propertyIsEnumerable!="undefined"&&!a.propertyIsEnumerable("splice"))return"array";if(!(a instanceof Object)&&(Object.prototype.toString.call(a)=="[object Function]"||typeof a.call!="undefined"&&typeof a.propertyIsEnumerable!="undefined"&&!a.propertyIsEnumerable("call")))return"function"}else return"null";
else if(b=="function"&&typeof a.call=="undefined")return"object";return b};igRF_.Hh=function(a,b){if(b in a)for(var c in a)if(c==b&&Object.prototype.hasOwnProperty.call(a,b))return igRF_b;return igRF_d};igRF_.Zh=function(a,b){return a instanceof Object?Object.prototype.propertyIsEnumerable.call(a,b):igRF_.Hh(a,b)};igRF_.isDef=function(a){return a!==undefined};igRF_.isNull=function(a){return a===igRF_c};igRF_.isDefAndNotNull=function(a){return a!=igRF_c};
igRF_.isArray=function(a){return igRF_.typeOf(a)=="array"};igRF_.isArrayLike=function(a){var b=igRF_.typeOf(a);return b=="array"||b=="object"&&typeof a.length=="number"};igRF_.isDateLike=function(a){return igRF_.isObject(a)&&typeof a.getFullYear=="function"};igRF_.isString=function(a){return typeof a=="string"};igRF_.isBoolean=function(a){return typeof a=="boolean"};igRF_.isNumber=function(a){return typeof a=="number"};igRF_.isFunction=function(a){return igRF_.typeOf(a)=="function"};
igRF_.isObject=function(a){a=igRF_.typeOf(a);return a=="object"||a=="array"||a=="function"};igRF_.getHashCode=function(a){if(a.hasOwnProperty&&a.hasOwnProperty(igRF_.Ha))return a[igRF_.Ha];a[igRF_.Ha]||(a[igRF_.Ha]=++igRF_.xh);return a[igRF_.Ha]};igRF_.removeHashCode=function(a){"removeAttribute"in a&&a.removeAttribute(igRF_.Ha);try{delete a[igRF_.Ha]}catch(b){}};igRF_.Ha="closure_hashCode_"+Math.floor(Math.random()*2147483648).toString(36);igRF_.xh=0;
igRF_.cloneObject=function(a){var b=igRF_.typeOf(a);if(b=="object"||b=="array"){if(a.clone)return a.clone.call(a);b=b=="array"?[]:{};for(var c in a)b[c]=igRF_.cloneObject(a[c]);return b}return a};igRF_.bind=function(a,b){var c=b||igRF_.global;if(arguments.length>2){var d=Array.prototype.slice.call(arguments,2);return function(){var e=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(e,d);return a.apply(c,e)}}else return function(){return a.apply(c,arguments)}};
igRF_.partial=function(a){var b=Array.prototype.slice.call(arguments,1);return function(){var c=Array.prototype.slice.call(arguments);c.unshift.apply(c,b);return a.apply(this,c)}};igRF_.mixin=function(a,b){for(var c in b)a[c]=b[c]};igRF_.now=Date.now||function(){return+new Date};
igRF_.globalEval=function(a){if(igRF_.global.execScript)igRF_.global.execScript(a,"JavaScript");else if(igRF_.global.eval){if(igRF_.gc==igRF_c){igRF_.global.eval("var _et_ = 1;");if(typeof igRF_.global._et_!="undefined"){delete igRF_.global._et_;igRF_.gc=igRF_b}else igRF_.gc=igRF_d}if(igRF_.gc)igRF_.global.eval(a);else{var b=igRF_.global.document,c=b.createElement("script");c.type="text/javascript";c.defer=igRF_d;c.appendChild(b.createTextNode(a));b.body.appendChild(c);b.body.removeChild(c)}}else igRF_a(Error("goog.globalEval not available"))};
igRF_.typedef=igRF_b;igRF_.getCssName=function(a,b){a=a+(b?"-"+b:"");return igRF_.Xc&&a in igRF_.Xc?igRF_.Xc[a]:a};igRF_.setCssNameMapping=function(a){igRF_.Xc=a};igRF_.getMsg=function(a,b){b=b||{};for(var c in b)a=a.replace(new RegExp("\\{\\$"+c+"\\}","gi"),b[c]);return a};igRF_.exportSymbol=function(a,b,c){igRF_.Ze(a,b,c)};igRF_.exportProperty=function(a,b,c){a[b]=c};igRF_.inherits=function(a,b){function c(){}c.prototype=b.prototype;a.aa=b.prototype;a.prototype=new c;a.prototype.constructor=a};
igRF_.base=function(a,b){var c=arguments.callee.caller;if(c.aa)return c.aa.constructor.apply(a,Array.prototype.slice.call(arguments,1));for(var d=Array.prototype.slice.call(arguments,2),e=igRF_d,f=a.constructor;f;f=f.aa&&f.aa.constructor)if(f.prototype[b]===c)e=igRF_b;else if(e)return f.prototype[b].apply(a,d);if(a[b]===c)return a.constructor.prototype[b].apply(a,d);else igRF_a(Error("goog.base called from a method of one name to a method of a different name"))};igRF_.MODIFY_FUNCTION_PROTOTYPES=igRF_b;
if(igRF_.MODIFY_FUNCTION_PROTOTYPES){Function.prototype.bind=function(a){if(arguments.length>1){var b=Array.prototype.slice.call(arguments,1);b.unshift(this,a);return igRF_.bind.apply(igRF_c,b)}else return igRF_.bind(this,a)};Function.prototype.partial=function(){var a=Array.prototype.slice.call(arguments);a.unshift(this,igRF_c);return igRF_.bind.apply(igRF_c,a)};Function.prototype.inherits=function(a){igRF_.inherits(this,a)};Function.prototype.mixin=function(a){igRF_.mixin(this.prototype,a)}};igRF_.array={};igRF_.array.ArrayLike=igRF_.typedef;igRF_.array.peek=function(a){return a[a.length-1]};igRF_.array.g=Array.prototype;igRF_.array.indexOf=igRF_.array.g.indexOf?function(a,b,c){return igRF_.array.g.indexOf.call(a,b,c)}:function(a,b,c){c=c==igRF_c?0:c<0?Math.max(0,a.length+c):c;if(igRF_.isString(a)){if(!igRF_.isString(b)||b.length!=1)return-1;return a.indexOf(b,c)}for(c=c;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1};
igRF_.array.lastIndexOf=igRF_.array.g.lastIndexOf?function(a,b,c){c=c==igRF_c?a.length-1:c;return igRF_.array.g.lastIndexOf.call(a,b,c)}:function(a,b,c){c=c==igRF_c?a.length-1:c;if(c<0)c=Math.max(0,a.length+c);if(igRF_.isString(a)){if(!igRF_.isString(b)||b.length!=1)return-1;return a.lastIndexOf(b,c)}for(c=c;c>=0;c--)if(c in a&&a[c]===b)return c;return-1};
igRF_.array.forEach=igRF_.array.g.forEach?function(a,b,c){igRF_.array.g.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=igRF_.isString(a)?a.split(""):a,f=0;f<d;f++)f in e&&b.call(c,e[f],f,a)};igRF_.array.forEachRight=function(a,b,c){var d=a.length,e=igRF_.isString(a)?a.split(""):a;for(d=d-1;d>=0;--d)d in e&&b.call(c,e[d],d,a)};
igRF_.array.filter=igRF_.array.g.filter?function(a,b,c){return igRF_.array.g.filter.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=[],f=0,g=igRF_.isString(a)?a.split(""):a,h=0;h<d;h++)if(h in g){var i=g[h];if(b.call(c,i,h,a))e[f++]=i}return e};igRF_.array.map=igRF_.array.g.map?function(a,b,c){return igRF_.array.g.map.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=new Array(d),f=igRF_.isString(a)?a.split(""):a,g=0;g<d;g++)if(g in f)e[g]=b.call(c,f[g],g,a);return e};
igRF_.array.reduce=function(a,b,c,d){if(a.reduce)return d?a.reduce(igRF_.bind(b,d),c):a.reduce(b,c);var e=c;igRF_.array.forEach(a,function(f,g){e=b.call(d,e,f,g,a)});return e};igRF_.array.reduceRight=function(a,b,c,d){if(a.reduceRight)return d?a.reduceRight(igRF_.bind(b,d),c):a.reduceRight(b,c);var e=c;igRF_.array.forEachRight(a,function(f,g){e=b.call(d,e,f,g,a)});return e};
igRF_.array.some=igRF_.array.g.some?function(a,b,c){return igRF_.array.g.some.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=igRF_.isString(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return igRF_b;return igRF_d};igRF_.array.every=igRF_.array.g.every?function(a,b,c){return igRF_.array.g.every.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=igRF_.isString(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&!b.call(c,e[f],f,a))return igRF_d;return igRF_b};
igRF_.array.find=function(a,b,c){b=igRF_.array.findIndex(a,b,c);return b<0?igRF_c:igRF_.isString(a)?a.charAt(b):a[b]};igRF_.array.findIndex=function(a,b,c){for(var d=a.length,e=igRF_.isString(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return f;return-1};igRF_.array.findRight=function(a,b,c){b=igRF_.array.findIndexRight(a,b,c);return b<0?igRF_c:igRF_.isString(a)?a.charAt(b):a[b]};
igRF_.array.findIndexRight=function(a,b,c){var d=a.length,e=igRF_.isString(a)?a.split(""):a;for(d=d-1;d>=0;d--)if(d in e&&b.call(c,e[d],d,a))return d;return-1};igRF_.array.contains=function(a,b){return igRF_.array.indexOf(a,b)>=0};igRF_.array.p=function(a){return a.length==0};igRF_.array.clear=function(a){if(!igRF_.isArray(a))for(var b=a.length-1;b>=0;b--)delete a[b];a.length=0};igRF_.array.insert=function(a,b){igRF_.array.contains(a,b)||a.push(b)};
igRF_.array.insertAt=function(a,b,c){igRF_.array.splice(a,c,0,b)};igRF_.array.insertArrayAt=function(a,b,c){igRF_.partial(igRF_.array.splice,a,c,0).apply(igRF_c,b)};igRF_.array.insertBefore=function(a,b,c){var d;arguments.length==2||(d=igRF_.array.indexOf(a,c))<0?a.push(b):igRF_.array.insertAt(a,b,d)};igRF_.array.remove=function(a,b){b=igRF_.array.indexOf(a,b);var c;if(c=b>=0)igRF_.array.removeAt(a,b);return c};igRF_.array.removeAt=function(a,b){return igRF_.array.g.splice.call(a,b,1).length==1};
igRF_.array.removeIf=function(a,b,c){b=igRF_.array.findIndex(a,b,c);if(b>=0){igRF_.array.removeAt(a,b);return igRF_b}return igRF_d};igRF_.array.concat=function(){return igRF_.array.g.concat.apply(igRF_.array.g,arguments)};igRF_.array.clone=function(a){if(igRF_.isArray(a))return igRF_.array.concat(a);else{for(var b=[],c=0,d=a.length;c<d;c++)b[c]=a[c];return b}};igRF_.array.toArray=function(a){if(igRF_.isArray(a))return igRF_.array.concat(a);return igRF_.array.clone(a)};
igRF_.array.extend=function(a){for(var b=1;b<arguments.length;b++){var c=arguments[b],d;if(igRF_.isArray(c)||(d=igRF_.isArrayLike(c))&&c.hasOwnProperty("callee"))a.push.apply(a,c);else if(d)for(var e=a.length,f=c.length,g=0;g<f;g++)a[e+g]=c[g];else a.push(c)}};igRF_.array.splice=function(a){return igRF_.array.g.splice.apply(a,igRF_.array.slice(arguments,1))};igRF_.array.slice=function(a,b,c){return arguments.length<=2?igRF_.array.g.slice.call(a,b):igRF_.array.g.slice.call(a,b,c)};
igRF_.array.removeDuplicates=function(a,b){b=b||a;for(var c={},d=0,e=0;e<a.length;){var f=a[e++],g=igRF_.isObject(f)?igRF_.getHashCode(f):f;if(!Object.prototype.hasOwnProperty.call(c,g)){c[g]=igRF_b;b[d++]=f}}b.length=d};igRF_.array.binarySearch=function(a,b,c){var d=0,e=a.length-1;for(c=c||igRF_.array.defaultCompare;d<=e;){var f=d+e>>1,g=c(b,a[f]);if(g>0)d=f+1;else if(g<0)e=f-1;else return f}return-(d+1)};igRF_.array.sort=function(a,b){igRF_.array.g.sort.call(a,b||igRF_.array.defaultCompare)};
igRF_.array.stableSort=function(a,b){function c(f,g){return e(f.value,g.value)||f.index-g.index}for(var d=0;d<a.length;d++)a[d]={index:d,value:a[d]};var e=b||igRF_.array.defaultCompare;igRF_.array.sort(a,c);for(d=0;d<a.length;d++)a[d]=a[d].value};igRF_.array.sortObjectsByKey=function(a,b,c){var d=c||igRF_.array.defaultCompare;igRF_.array.sort(a,function(e,f){return d(e[b],f[b])})};
igRF_.array.equals=function(a,b,c){if(!igRF_.isArrayLike(a)||!igRF_.isArrayLike(b)||a.length!=b.length)return igRF_d;var d=a.length;c=c||igRF_.array.defaultCompareEquality;for(var e=0;e<d;e++)if(!c(a[e],b[e]))return igRF_d;return igRF_b};igRF_.array.compare=function(a,b,c){return igRF_.array.equals(a,b,c)};igRF_.array.defaultCompare=function(a,b){return a>b?1:a<b?-1:0};igRF_.array.defaultCompareEquality=function(a,b){return a===b};
igRF_.array.binaryInsert=function(a,b,c){c=igRF_.array.binarySearch(a,b,c);if(c<0){igRF_.array.insertAt(a,b,-(c+1));return igRF_b}return igRF_d};igRF_.array.binaryRemove=function(a,b,c){b=igRF_.array.binarySearch(a,b,c);return b>=0?igRF_.array.removeAt(a,b):igRF_d};igRF_.array.bucket=function(a,b){for(var c={},d=0;d<a.length;d++){var e=a[d],f=b(e,d,a);if(igRF_.isDef(f)){f=c[f]||(c[f]=[]);f.push(e)}}return c};igRF_.array.repeat=function(a,b){for(var c=[],d=0;d<b;d++)c[d]=a;return c};
igRF_.array.flatten=function(){for(var a=[],b=0;b<arguments.length;b++){var c=arguments[b];igRF_.isArray(c)?a.push.apply(a,igRF_.array.flatten.apply(igRF_c,c)):a.push(c)}return a};igRF_.array.rotate=function(a,b){if(a.length){b%=a.length;if(b>0)igRF_.array.g.unshift.apply(a,a.splice(-b,b));else b<0&&igRF_.array.g.push.apply(a,a.splice(0,-b))}return a};igRF_.iter={};igRF_.iter.Iterable=igRF_.typedef;igRF_.iter.StopIteration="StopIteration"in igRF_.global?igRF_.global.StopIteration:Error("StopIteration");igRF_.iter.Iterator=function(){};igRF_.iter.Iterator.prototype.next=function(){igRF_a(igRF_.iter.StopIteration)};igRF_.iter.Iterator.prototype.__iterator__=function(){return this};
igRF_.iter.toIterator=function(a){if(a instanceof igRF_.iter.Iterator)return a;if(typeof a.__iterator__=="function")return a.__iterator__(igRF_d);if(igRF_.isArrayLike(a)){var b=0,c=new igRF_.iter.Iterator;c.next=function(){for(;;){if(b>=a.length)igRF_a(igRF_.iter.StopIteration);if(b in a)return a[b++];else b++}};return c}igRF_a(Error("Not implemented"))};
igRF_.iter.forEach=function(a,b,c){if(igRF_.isArrayLike(a))try{igRF_.array.forEach(a,b,c)}catch(d){if(d!==igRF_.iter.StopIteration)igRF_a(d)}else{a=igRF_.iter.toIterator(a);try{for(;;)b.call(c,a.next(),undefined,a)}catch(e){if(e!==igRF_.iter.StopIteration)igRF_a(e)}}};igRF_.iter.filter=function(a,b,c){a=igRF_.iter.toIterator(a);var d=new igRF_.iter.Iterator;d.next=function(){for(;;){var e=a.next();if(b.call(c,e,undefined,a))return e}};return d};
igRF_.iter.range=function(a,b,c){var d=0,e=a,f=c||1;if(arguments.length>1){d=a;e=b}if(f==0)igRF_a(Error("Range step argument must not be zero"));var g=new igRF_.iter.Iterator;g.next=function(){if(f>0&&d>=e||f<0&&d<=e)igRF_a(igRF_.iter.StopIteration);var h=d;d+=f;return h};return g};igRF_.iter.join=function(a,b){return igRF_.iter.toArray(a).join(b)};
igRF_.iter.map=function(a,b,c){a=igRF_.iter.toIterator(a);var d=new igRF_.iter.Iterator;d.next=function(){for(;;){var e=a.next();return b.call(c,e,undefined,a)}};return d};igRF_.iter.reduce=function(a,b,c,d){var e=c;igRF_.iter.forEach(a,function(f){e=b.call(d,e,f)});return e};igRF_.iter.some=function(a,b,c){a=igRF_.iter.toIterator(a);try{for(;;)if(b.call(c,a.next(),undefined,a))return igRF_b}catch(d){if(d!==igRF_.iter.StopIteration)igRF_a(d)}return igRF_d};
igRF_.iter.every=function(a,b,c){a=igRF_.iter.toIterator(a);try{for(;;)if(!b.call(c,a.next(),undefined,a))return igRF_d}catch(d){if(d!==igRF_.iter.StopIteration)igRF_a(d)}return igRF_b};igRF_.iter.chain=function(){var a=arguments,b=a.length,c=0,d=new igRF_.iter.Iterator;d.next=function(){try{if(c>=b)igRF_a(igRF_.iter.StopIteration);var e=igRF_.iter.toIterator(a[c]);return e.next()}catch(f){if(f!==igRF_.iter.StopIteration||c>=b)igRF_a(f);else{c++;return this.next()}}};return d};
igRF_.iter.dropWhile=function(a,b,c){a=igRF_.iter.toIterator(a);var d=new igRF_.iter.Iterator,e=igRF_b;d.next=function(){for(;;){var f=a.next();if(!(e&&b.call(c,f,undefined,a))){e=igRF_d;return f}}};return d};igRF_.iter.takeWhile=function(a,b,c){a=igRF_.iter.toIterator(a);var d=new igRF_.iter.Iterator,e=igRF_b;d.next=function(){for(;;)if(e){var f=a.next();if(b.call(c,f,undefined,a))return f;else e=igRF_d}else igRF_a(igRF_.iter.StopIteration)};return d};
igRF_.iter.toArray=function(a){if(igRF_.isArrayLike(a))return igRF_.array.toArray(a);a=igRF_.iter.toIterator(a);var b=[];igRF_.iter.forEach(a,function(c){b.push(c)});return b};
igRF_.iter.equals=function(a,b){a=igRF_.iter.toIterator(a);b=igRF_.iter.toIterator(b);var c,d;try{for(;;){c=d=igRF_d;var e=a.next();c=igRF_b;var f=b.next();d=igRF_b;if(e!=f)return igRF_d}}catch(g){if(g!==igRF_.iter.StopIteration)igRF_a(g);else{if(c&&!d)return igRF_d;if(!d)try{b.next();return igRF_d}catch(h){if(h!==igRF_.iter.StopIteration)igRF_a(h);return igRF_b}}}return igRF_d};
igRF_.iter.nextOrValue=function(a,b){try{return igRF_.iter.toIterator(a).next()}catch(c){if(c!=igRF_.iter.StopIteration)igRF_a(c);return b}};igRF_.string={};igRF_.string.Unicode={NBSP:"\u00a0"};igRF_.string.startsWith=function(a,b){return a.lastIndexOf(b,0)==0};igRF_.string.endsWith=function(a,b){var c=a.length-b.length;return c>=0&&a.indexOf(b,c)==c};igRF_.string.caseInsensitiveStartsWith=function(a,b){return igRF_.string.caseInsensitiveCompare(b,a.substr(0,b.length))==0};igRF_.string.caseInsensitiveEndsWith=function(a,b){return igRF_.string.caseInsensitiveCompare(b,a.substr(a.length-b.length,b.length))==0};
igRF_.string.subs=function(a){for(var b=1;b<arguments.length;b++){var c=String(arguments[b]).replace(/\$/g,"$$$$");a=a.replace(/\%s/,c)}return a};igRF_.string.collapseWhitespace=function(a){return a.replace(/[\s\xa0]+/g," ").replace(/^\s+|\s+$/g,"")};igRF_.string.p=function(a){return/^[\s\xa0]*$/.test(a)};igRF_.string.isEmptySafe=function(a){return igRF_.string.p(igRF_.string.makeSafe(a))};igRF_.string.isBreakingWhitespace=function(a){return!/[^\t\n\r ]/.test(a)};igRF_.string.isAlpha=function(a){return!/[^a-zA-Z]/.test(a)};
igRF_.string.isNumeric=function(a){return!/[^0-9]/.test(a)};igRF_.string.isAlphaNumeric=function(a){return!/[^a-zA-Z0-9]/.test(a)};igRF_.string.isSpace=function(a){return a==" "};igRF_.string.isUnicodeChar=function(a){return a.length==1&&a>=" "&&a<="~"||a>="\u0080"&&a<="\ufffd"};igRF_.string.stripNewlines=function(a){return a.replace(/(\r\n|\r|\n)+/g," ")};igRF_.string.canonicalizeNewlines=function(a){return a.replace(/(\r\n|\r|\n)/g,"\n")};
igRF_.string.normalizeWhitespace=function(a){return a.replace(/\xa0|\s/g," ")};igRF_.string.normalizeSpaces=function(a){return a.replace(/\xa0|[ \t]+/g," ")};igRF_.string.trim=function(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")};igRF_.string.trimLeft=function(a){return a.replace(/^[\s\xa0]+/,"")};igRF_.string.trimRight=function(a){return a.replace(/[\s\xa0]+$/,"")};igRF_.string.caseInsensitiveCompare=function(a,b){a=String(a).toLowerCase();b=String(b).toLowerCase();return a<b?-1:a==b?0:1};
igRF_.string.fg=/(\.\d+)|(\d+)|(\D+)/g;igRF_.string.numerateCompare=function(a,b){if(a==b)return 0;if(!a)return-1;if(!b)return 1;for(var c=a.toLowerCase().match(igRF_.string.fg),d=b.toLowerCase().match(igRF_.string.fg),e=Math.min(c.length,d.length),f=0;f<e;f++){var g=c[f],h=d[f];if(g!=h){a=parseInt(g,10);if(!isNaN(a)){b=parseInt(h,10);if(!isNaN(b)&&a-b)return a-b}return g<h?-1:1}}if(c.length!=d.length)return c.length-d.length;return a<b?-1:1};igRF_.string.uh=/^[a-zA-Z0-9\-_.!~*'()]*$/;
igRF_.string.urlEncode=function(a){a=String(a);if(!igRF_.string.uh.test(a))return encodeURIComponent(a);return a};igRF_.string.urlDecode=function(a){return decodeURIComponent(a.replace(/\+/g," "))};igRF_.string.newLineToBr=function(a,b){return a.replace(/(\r\n|\r|\n)/g,b?"<br />":"<br>")};
igRF_.string.htmlEscape=function(a,b){if(b)return a.replace(igRF_.string.Je,"&amp;").replace(igRF_.string.Uf,"&lt;").replace(igRF_.string.wf,"&gt;").replace(igRF_.string.og,"&quot;");else{if(!igRF_.string.gh.test(a))return a;if(a.indexOf("&")!=-1)a=a.replace(igRF_.string.Je,"&amp;");if(a.indexOf("<")!=-1)a=a.replace(igRF_.string.Uf,"&lt;");if(a.indexOf(">")!=-1)a=a.replace(igRF_.string.wf,"&gt;");if(a.indexOf('"')!=-1)a=a.replace(igRF_.string.og,"&quot;");return a}};igRF_.string.Je=/&/g;
igRF_.string.Uf=/</g;igRF_.string.wf=/>/g;igRF_.string.og=/\"/g;igRF_.string.gh=/[&<>\"]/;igRF_.string.unescapeEntities=function(a){if(igRF_.string.contains(a,"&"))return"document"in igRF_.global&&!igRF_.string.contains(a,"<")?igRF_.string.Qh(a):igRF_.string.Rh(a);return a};igRF_.string.Qh=function(a){var b=igRF_.global.document.createElement("a");b.innerHTML=a;b[igRF_.string.Ae]&&b[igRF_.string.Ae]();a=b.firstChild.nodeValue;b.innerHTML="";return a};
igRF_.string.Rh=function(a){return a.replace(/&([^;]+);/g,function(b,c){switch(c){case "amp":return"&";case "lt":return"<";case "gt":return">";case "quot":return'"';default:if(c.charAt(0)=="#"){c=Number("0"+c.substr(1));if(!isNaN(c))return String.fromCharCode(c)}return b}})};igRF_.string.Ae="normalize";igRF_.string.whitespaceEscape=function(a,b){return igRF_.string.newLineToBr(a.replace(/  /g," &#160;"),b)};
igRF_.string.stripQuotes=function(a,b){for(var c=b.length,d=0;d<c;d++){var e=c==1?b:b.charAt(d);if(a.charAt(0)==e&&a.charAt(a.length-1)==e)return a.substring(1,a.length-1)}return a};igRF_.string.truncate=function(a,b,c){if(c)a=igRF_.string.unescapeEntities(a);if(a.length>b)a=a.substring(0,b-3)+"...";if(c)a=igRF_.string.htmlEscape(a);return a};
igRF_.string.truncateMiddle=function(a,b,c){if(c)a=igRF_.string.unescapeEntities(a);if(a.length>b){var d=Math.floor(b/2),e=a.length-d;d+=b%2;a=a.substring(0,d)+"..."+a.substring(e)}if(c)a=igRF_.string.htmlEscape(a);return a};igRF_.string.Vd={"\u0008":"\\b","\u000c":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\u000b":"\\x0B",'"':'\\"',"'":"\\'","\\":"\\\\"};
igRF_.string.quote=function(a){a=String(a);if(a.quote)return a.quote();else{for(var b=['"'],c=0;c<a.length;c++)b[c+1]=igRF_.string.escapeChar(a.charAt(c));b.push('"');return b.join("")}};igRF_.string.escapeChar=function(a){if(a in igRF_.string.Vd)return igRF_.string.Vd[a];var b=a,c=a.charCodeAt(0);if(c>31&&c<127)b=a;else{if(c<256){b="\\x";if(c<16||c>256)b+="0"}else{b="\\u";if(c<4096)b+="0"}b+=c.toString(16).toUpperCase()}return igRF_.string.Vd[a]=b};
igRF_.string.toMap=function(a){for(var b={},c=0;c<a.length;c++)b[a.charAt(c)]=igRF_b;return b};igRF_.string.contains=function(a,b){return a.indexOf(b)!=-1};igRF_.string.removeAt=function(a,b,c){var d=a;if(b>=0&&b<a.length&&c>0)d=a.substr(0,b)+a.substr(b+c,a.length-b-c);return d};igRF_.string.remove=function(a,b){b=new RegExp(igRF_.string.regExpEscape(b),"");return a.replace(b,"")};igRF_.string.nb=function(a,b){b=new RegExp(igRF_.string.regExpEscape(b),"g");return a.replace(b,"")};
igRF_.string.regExpEscape=function(a){return String(a).replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")};igRF_.string.repeat=function(a,b){return(new Array(b+1)).join(a)};igRF_.string.padNumber=function(a,b,c){a=igRF_.isDef(c)?a.toFixed(c):String(a);c=a.indexOf(".");if(c==-1)c=a.length;return igRF_.string.repeat("0",Math.max(0,b-c))+a};igRF_.string.makeSafe=function(a){return a==igRF_c?"":String(a)};
igRF_.string.buildString=function(){return Array.prototype.join.call(arguments,"")};igRF_.string.getRandomString=function(){return Math.floor(Math.random()*2147483648).toString(36)+(Math.floor(Math.random()*2147483648)^igRF_.now()).toString(36)};
igRF_.string.compareVersions=function(a,b){var c=0;a=igRF_.string.trim(String(a)).split(".");b=igRF_.string.trim(String(b)).split(".");for(var d=Math.max(a.length,b.length),e=0;c==0&&e<d;e++){var f=a[e]||"",g=b[e]||"",h=new RegExp("(\\d*)(\\D*)","g"),i=new RegExp("(\\d*)(\\D*)","g");do{var j=h.exec(f)||["","",""],k=i.exec(g)||["","",""];if(j[0].length==0&&k[0].length==0)break;c=j[1].length==0?0:parseInt(j[1],10);var l=k[1].length==0?0:parseInt(k[1],10);c=igRF_.string.Vc(c,l)||igRF_.string.Vc(j[2].length==
0,k[2].length==0)||igRF_.string.Vc(j[2],k[2])}while(c==0)}return c};igRF_.string.Vc=function(a,b){if(a<b)return-1;else if(a>b)return 1;return 0};igRF_.string.bh=4294967296;igRF_.string.hashCode=function(a){for(var b=0,c=0;c<a.length;++c){b=31*b+a.charCodeAt(c);b%=igRF_.string.bh}return b};igRF_.string.Th=Math.random()*2147483648|0;igRF_.string.createUniqueString=function(){return"goog_"+igRF_.string.Th++};igRF_.string.toNumber=function(a){var b=Number(a);if(b==0&&igRF_.string.p(a))return NaN;return b};igRF_.debug={};igRF_.debug.errorHandlerWeakDep={protectEntryPoint:function(a){return a}};igRF_.object={};igRF_.object.forEach=function(a,b,c){for(var d in a)b.call(c,a[d],d,a)};igRF_.object.filter=function(a,b,c){var d={};for(var e in a)if(b.call(c,a[e],e,a))d[e]=a[e];return d};igRF_.object.map=function(a,b,c){var d={};for(var e in a)d[e]=b.call(c,a[e],e,a);return d};igRF_.object.some=function(a,b,c){for(var d in a)if(b.call(c,a[d],d,a))return igRF_b;return igRF_d};igRF_.object.every=function(a,b,c){for(var d in a)if(!b.call(c,a[d],d,a))return igRF_d;return igRF_b};
igRF_.object.ia=function(a){var b=0;for(var c in a)b++;return b};igRF_.object.getAnyKey=function(a){for(var b in a)return b};igRF_.object.getAnyValue=function(a){for(var b in a)return a[b]};igRF_.object.contains=function(a,b){return igRF_.object.Ca(a,b)};igRF_.object.j=function(a){var b=[],c=0;for(var d in a)b[c++]=a[d];return b};igRF_.object.l=function(a){var b=[],c=0;for(var d in a)b[c++]=d;return b};igRF_.object.na=function(a,b){return b in a};
igRF_.object.Ca=function(a,b){for(var c in a)if(a[c]==b)return igRF_b;return igRF_d};igRF_.object.findKey=function(a,b,c){for(var d in a)if(b.call(c,a[d],d,a))return d};igRF_.object.findValue=function(a,b,c){return(b=igRF_.object.findKey(a,b,c))&&a[b]};igRF_.object.p=function(a){for(var b in a)return igRF_d;return igRF_b};igRF_.object.clear=function(a){for(var b=igRF_.object.l(a),c=b.length-1;c>=0;c--)igRF_.object.remove(a,b[c])};igRF_.object.remove=function(a,b){var c;if(c=b in a)delete a[b];return c};
igRF_.object.add=function(a,b,c){if(b in a)igRF_a(Error('The object already contains the key "'+b+'"'));igRF_.object.set(a,b,c)};igRF_.object.get=function(a,b,c){if(b in a)return a[b];return c};igRF_.object.set=function(a,b,c){a[b]=c};igRF_.object.setIfUndefined=function(a,b,c){return b in a?a[b]:(a[b]=c)};igRF_.object.clone=function(a){var b={};for(var c in a)b[c]=a[c];return b};igRF_.object.transpose=function(a){var b={};for(var c in a)b[a[c]]=c;return b};
igRF_.object.Be=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"];igRF_.object.extend=function(a){for(var b,c,d=1;d<arguments.length;d++){c=arguments[d];for(b in c)a[b]=c[b];for(var e=0;e<igRF_.object.Be.length;e++){b=igRF_.object.Be[e];if(Object.prototype.hasOwnProperty.call(c,b))a[b]=c[b]}}};
igRF_.object.create=function(){var a=arguments.length;if(a==1&&igRF_.isArray(arguments[0]))return igRF_.object.create.apply(igRF_c,arguments[0]);if(a%2)igRF_a(Error("Uneven number of arguments"));for(var b={},c=0;c<a;c+=2)b[arguments[c]]=arguments[c+1];return b};igRF_.object.createSet=function(){var a=arguments.length;if(a==1&&igRF_.isArray(arguments[0]))return igRF_.object.createSet.apply(igRF_c,arguments[0]);for(var b={},c=0;c<a;c++)b[arguments[c]]=igRF_b;return b};igRF_.userAgent={};igRF_.userAgent.ASSUME_IE=igRF_d;igRF_.userAgent.ASSUME_GECKO=igRF_d;igRF_.userAgent.ASSUME_WEBKIT=igRF_d;igRF_.userAgent.ASSUME_MOBILE_WEBKIT=igRF_d;igRF_.userAgent.ASSUME_OPERA=igRF_d;igRF_.userAgent.Xa=igRF_.userAgent.ASSUME_IE||igRF_.userAgent.ASSUME_GECKO||igRF_.userAgent.ASSUME_MOBILE_WEBKIT||igRF_.userAgent.ASSUME_WEBKIT||igRF_.userAgent.ASSUME_OPERA;igRF_.userAgent.getUserAgentString=function(){return igRF_.global.navigator?igRF_.global.navigator.userAgent:igRF_c};
igRF_.userAgent.getNavigator=function(){return igRF_.global.navigator};
igRF_.userAgent.Sd=function(){igRF_.userAgent.wb=igRF_d;igRF_.userAgent.We=igRF_d;igRF_.userAgent.ec=igRF_d;igRF_.userAgent.Xe=igRF_d;igRF_.userAgent.Ve=igRF_d;var a;if(!igRF_.userAgent.Xa&&(a=igRF_.userAgent.getUserAgentString())){var b=igRF_.userAgent.getNavigator();igRF_.userAgent.wb=a.indexOf("Opera")==0;igRF_.userAgent.We=!igRF_.userAgent.wb&&a.indexOf("MSIE")!=-1;igRF_.userAgent.ec=!igRF_.userAgent.wb&&a.indexOf("WebKit")!=-1;igRF_.userAgent.Xe=igRF_.userAgent.ec&&a.indexOf("Mobile")!=-1;igRF_.userAgent.Ve=
!igRF_.userAgent.wb&&!igRF_.userAgent.ec&&b.product=="Gecko"}};igRF_.userAgent.Xa||igRF_.userAgent.Sd();igRF_.userAgent.OPERA=igRF_.userAgent.Xa?igRF_.userAgent.ASSUME_OPERA:igRF_.userAgent.wb;igRF_.userAgent.IE=igRF_.userAgent.Xa?igRF_.userAgent.ASSUME_IE:igRF_.userAgent.We;igRF_.userAgent.GECKO=igRF_.userAgent.Xa?igRF_.userAgent.ASSUME_GECKO:igRF_.userAgent.Ve;igRF_.userAgent.WEBKIT=igRF_.userAgent.Xa?igRF_.userAgent.ASSUME_WEBKIT||igRF_.userAgent.ASSUME_MOBILE_WEBKIT:igRF_.userAgent.ec;
igRF_.userAgent.MOBILE=igRF_.userAgent.ASSUME_MOBILE_WEBKIT||igRF_.userAgent.Xe;igRF_.userAgent.SAFARI=igRF_.userAgent.WEBKIT;igRF_.userAgent.ph=function(){var a=igRF_.userAgent.getNavigator();return a&&a.platform||""};igRF_.userAgent.PLATFORM=igRF_.userAgent.ph();igRF_.userAgent.ASSUME_MAC=igRF_d;igRF_.userAgent.ASSUME_WINDOWS=igRF_d;igRF_.userAgent.ASSUME_LINUX=igRF_d;igRF_.userAgent.ASSUME_X11=igRF_d;
igRF_.userAgent.tb=igRF_.userAgent.ASSUME_MAC||igRF_.userAgent.ASSUME_WINDOWS||igRF_.userAgent.ASSUME_LINUX||igRF_.userAgent.ASSUME_X11;
igRF_.userAgent.yh=function(){igRF_.userAgent.mh=igRF_.string.contains(igRF_.userAgent.PLATFORM,"Mac");igRF_.userAgent.nh=igRF_.string.contains(igRF_.userAgent.PLATFORM,"Win");igRF_.userAgent.lh=igRF_.string.contains(igRF_.userAgent.PLATFORM,"Linux");igRF_.userAgent.oh=!!igRF_.userAgent.getNavigator()&&igRF_.string.contains(igRF_.userAgent.getNavigator().appVersion||"","X11")};igRF_.userAgent.tb||igRF_.userAgent.yh();igRF_.userAgent.MAC=igRF_.userAgent.tb?igRF_.userAgent.ASSUME_MAC:igRF_.userAgent.mh;
igRF_.userAgent.WINDOWS=igRF_.userAgent.tb?igRF_.userAgent.ASSUME_WINDOWS:igRF_.userAgent.nh;igRF_.userAgent.LINUX=igRF_.userAgent.tb?igRF_.userAgent.ASSUME_LINUX:igRF_.userAgent.lh;igRF_.userAgent.X11=igRF_.userAgent.tb?igRF_.userAgent.ASSUME_X11:igRF_.userAgent.oh;
igRF_.userAgent.qh=function(){var a="",b;if(igRF_.userAgent.OPERA&&igRF_.global.opera){a=igRF_.global.opera.version;a=typeof a=="function"?a():a}else{if(igRF_.userAgent.GECKO)b=/rv\:([^\);]+)(\)|;)/;else if(igRF_.userAgent.IE)b=/MSIE\s+([^\);]+)(\)|;)/;else if(igRF_.userAgent.WEBKIT)b=/WebKit\/(\S+)/;if(b)a=(a=b.exec(igRF_.userAgent.getUserAgentString()))?a[1]:""}return a};igRF_.userAgent.VERSION=igRF_.userAgent.qh();igRF_.userAgent.compare=function(a,b){return igRF_.string.compareVersions(a,b)};
igRF_.userAgent.Mf={};igRF_.userAgent.isVersion=function(a){return igRF_.userAgent.Mf[a]||(igRF_.userAgent.Mf[a]=igRF_.string.compareVersions(igRF_.userAgent.VERSION,a)>=0)};igRF_.Disposable=function(){};igRF_.Disposable.prototype.bd=igRF_d;igRF_.Disposable.prototype.dispose=function(){if(!this.bd){this.bd=igRF_b;this.d()}};igRF_.Disposable.prototype.d=function(){};igRF_.dispose=function(a){a&&typeof a.dispose=="function"&&a.dispose()};igRF_.events={};igRF_.events.Event=function(a,b){this.type=a;this.currentTarget=this.target=b};igRF_.inherits(igRF_.events.Event,igRF_.Disposable);igRF_.events.Event.prototype.d=function(){delete this.type;delete this.target;delete this.currentTarget};igRF_.events.Event.prototype.Aa=igRF_d;igRF_.events.Event.prototype.Va=igRF_b;igRF_.events.Event.prototype.stopPropagation=function(){this.Aa=igRF_b};igRF_.events.Event.prototype.preventDefault=function(){this.Va=igRF_d};
igRF_.events.Event.stopPropagation=function(a){a.stopPropagation()};igRF_.events.Event.preventDefault=function(a){a.preventDefault()};igRF_.events.BrowserEvent=function(a,b){a&&this.init(a,b)};igRF_.inherits(igRF_.events.BrowserEvent,igRF_.events.Event);igRF_.events.BrowserEvent.MouseButton={LEFT:0,MIDDLE:1,RIGHT:2};igRF_.events.BrowserEvent.Wh=[1,4,2];igRF_.events.BrowserEvent.prototype.target=igRF_c;igRF_.events.BrowserEvent.prototype.relatedTarget=igRF_c;igRF_.events.BrowserEvent.prototype.offsetX=0;igRF_.events.BrowserEvent.prototype.offsetY=0;igRF_.events.BrowserEvent.prototype.clientX=0;
igRF_.events.BrowserEvent.prototype.clientY=0;igRF_.events.BrowserEvent.prototype.screenX=0;igRF_.events.BrowserEvent.prototype.screenY=0;igRF_.events.BrowserEvent.prototype.button=0;igRF_.events.BrowserEvent.prototype.keyCode=0;igRF_.events.BrowserEvent.prototype.charCode=0;igRF_.events.BrowserEvent.prototype.ctrlKey=igRF_d;igRF_.events.BrowserEvent.prototype.altKey=igRF_d;igRF_.events.BrowserEvent.prototype.shiftKey=igRF_d;igRF_.events.BrowserEvent.prototype.metaKey=igRF_d;
igRF_.events.BrowserEvent.prototype.kg=igRF_d;igRF_.events.BrowserEvent.prototype.Da=igRF_c;
igRF_.events.BrowserEvent.prototype.init=function(a,b){var c=this.type=a.type;this.target=a.target||a.srcElement;this.currentTarget=b;if(b=a.relatedTarget){if(igRF_.userAgent.GECKO)try{b=b.nodeName&&b}catch(d){b=igRF_c}}else if(c=="mouseover")b=a.fromElement;else if(c=="mouseout")b=a.toElement;this.relatedTarget=b;this.offsetX=a.offsetX!==undefined?a.offsetX:a.layerX;this.offsetY=a.offsetY!==undefined?a.offsetY:a.layerY;this.clientX=a.clientX!==undefined?a.clientX:a.pageX;this.clientY=a.clientY!==
undefined?a.clientY:a.pageY;this.screenX=a.screenX||0;this.screenY=a.screenY||0;this.button=a.button;this.keyCode=a.keyCode||0;this.charCode=a.charCode||(c=="keypress"?a.keyCode:0);this.ctrlKey=a.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;this.metaKey=a.metaKey;this.kg=igRF_.userAgent.MAC?a.metaKey:a.ctrlKey;this.Da=a;delete this.Va;delete this.Aa};
igRF_.events.BrowserEvent.prototype.stopPropagation=function(){this.Aa=igRF_b;if(this.Da.stopPropagation)this.Da.stopPropagation();else this.Da.cancelBubble=igRF_b};igRF_.events.BrowserEvent.dh=igRF_.userAgent.IE&&!igRF_.userAgent.isVersion("8");igRF_.events.BrowserEvent.prototype.preventDefault=function(){this.Va=igRF_d;var a=this.Da;if(a.preventDefault)a.preventDefault();else{a.returnValue=igRF_d;if(igRF_.events.BrowserEvent.dh)try{if(a.ctrlKey||a.keyCode>=112&&a.keyCode<=123)a.keyCode=-1}catch(b){}}};
igRF_.events.BrowserEvent.prototype.df=function(){return this.Da};igRF_.events.BrowserEvent.prototype.d=function(){igRF_.events.BrowserEvent.aa.d.call(this);this.relatedTarget=this.currentTarget=this.target=this.Da=igRF_c};igRF_.events.EventWrapper=function(){};igRF_.events.EventWrapper.prototype.listen=function(){};igRF_.events.EventWrapper.prototype.unlisten=function(){};igRF_.structs={};igRF_.structs.SimplePool=function(a,b){this.Yf=b;this.Oa=[];this.Se(a)};igRF_.inherits(igRF_.structs.SimplePool,igRF_.Disposable);igRF_.structs.SimplePool.prototype.cc=igRF_c;igRF_.structs.SimplePool.prototype.ad=igRF_c;igRF_.structs.SimplePool.prototype.ob=function(a){this.cc=a};igRF_.structs.SimplePool.prototype.ja=function(){if(this.Oa.length)return this.Oa.pop();return this.Wc()};igRF_.structs.SimplePool.prototype.la=function(a){this.Oa.length<this.Yf?this.Oa.push(a):this.$c(a)};
igRF_.structs.SimplePool.prototype.Se=function(a){if(a>this.Yf)igRF_a(Error("[goog.structs.SimplePool] Initial cannot be greater than max"));for(var b=0;b<a;b++)this.Oa.push(this.Wc())};igRF_.structs.SimplePool.prototype.Wc=function(){return this.cc?this.cc():{}};igRF_.structs.SimplePool.prototype.$c=function(a){if(this.ad)this.ad(a);else if(igRF_.isFunction(a.dispose))a.dispose();else for(var b in a)delete a[b]};
igRF_.structs.SimplePool.prototype.d=function(){igRF_.structs.SimplePool.aa.d.call(this);for(var a=this.Oa;a.length;)this.$c(a.pop());delete this.Oa};igRF_.userAgent.jscript={};igRF_.userAgent.jscript.ASSUME_NO_JSCRIPT=igRF_d;igRF_.userAgent.jscript.Sd=function(){var a="ScriptEngine"in igRF_.global;igRF_.userAgent.jscript.ye=a&&igRF_.global.ScriptEngine()=="JScript";igRF_.userAgent.jscript.ah=igRF_.userAgent.jscript.ye?igRF_.global.ScriptEngineMajorVersion()+"."+igRF_.global.ScriptEngineMinorVersion()+"."+igRF_.global.ScriptEngineBuildVersion():"0"};igRF_.userAgent.jscript.ASSUME_NO_JSCRIPT||igRF_.userAgent.jscript.Sd();
igRF_.userAgent.jscript.HAS_JSCRIPT=igRF_.userAgent.jscript.ASSUME_NO_JSCRIPT?igRF_d:igRF_.userAgent.jscript.ye;igRF_.userAgent.jscript.VERSION=igRF_.userAgent.jscript.ASSUME_NO_JSCRIPT?"0":igRF_.userAgent.jscript.ah;igRF_.userAgent.jscript.isVersion=function(a){return igRF_.string.compareVersions(igRF_.userAgent.jscript.VERSION,a)>=0};igRF_.events.Listener=function(){};igRF_.events.Listener.ih=0;igRF_.events.Listener.prototype.key=0;igRF_.events.Listener.prototype.removed=igRF_d;igRF_.events.Listener.prototype.vb=igRF_d;
igRF_.events.Listener.prototype.init=function(a,b,c,d,e,f){if(igRF_.isFunction(a))this.Jf=igRF_b;else if(a&&a.handleEvent&&igRF_.isFunction(a.handleEvent))this.Jf=igRF_d;else igRF_a(Error("Invalid listener argument"));this.listener=a;this.proxy=b;this.src=c;this.type=d;this.capture=!!e;this.handler=f;this.vb=igRF_d;this.key=++igRF_.events.Listener.ih;this.removed=igRF_d};
igRF_.events.Listener.prototype.handleEvent=function(a){if(this.Jf)return this.listener.call(this.handler||this.src,a);return this.listener.handleEvent.call(this.listener,a)};igRF_.events.pools={};
(function(){function a(){return{b:0,ma:0}}function b(){return[]}function c(){var m=function(o){return g.call(m.src,m.key,o)};return m}function d(){return new igRF_.events.Listener}function e(){return new igRF_.events.BrowserEvent}var f=igRF_.userAgent.jscript.HAS_JSCRIPT&&!igRF_.userAgent.jscript.isVersion("5.7"),g;igRF_.events.pools.setProxyCallbackFunction=function(m){g=m};if(f){igRF_.events.pools.ja=function(){return h.ja()};igRF_.events.pools.la=function(m){h.la(m)};igRF_.events.pools.getArray=function(){return i.ja()};
igRF_.events.pools.releaseArray=function(m){i.la(m)};igRF_.events.pools.getProxy=function(){return j.ja()};igRF_.events.pools.releaseProxy=function(){j.la(c())};igRF_.events.pools.getListener=function(){return k.ja()};igRF_.events.pools.releaseListener=function(m){k.la(m)};igRF_.events.pools.getEvent=function(){return l.ja()};igRF_.events.pools.releaseEvent=function(m){l.la(m)};var h=new igRF_.structs.SimplePool(0,600);h.ob(a);var i=new igRF_.structs.SimplePool(0,600);i.ob(b);var j=new igRF_.structs.SimplePool(0,
600);j.ob(c);var k=new igRF_.structs.SimplePool(0,600);k.ob(d);var l=new igRF_.structs.SimplePool(0,600);l.ob(e)}else{igRF_.events.pools.ja=a;igRF_.events.pools.la=igRF_.nullFunction;igRF_.events.pools.getArray=b;igRF_.events.pools.releaseArray=igRF_.nullFunction;igRF_.events.pools.getProxy=c;igRF_.events.pools.releaseProxy=igRF_.nullFunction;igRF_.events.pools.getListener=d;igRF_.events.pools.releaseListener=igRF_.nullFunction;igRF_.events.pools.getEvent=e;igRF_.events.pools.releaseEvent=igRF_.nullFunction}})();igRF_.events.v={};igRF_.events.s={};igRF_.events.ta={};igRF_.events.Fh="on";igRF_.events.he={};igRF_.events.Yh="_";
igRF_.events.listen=function(a,b,c,d,e){if(b)if(igRF_.isArray(b)){for(var f=0;f<b.length;f++)igRF_.events.listen(a,b[f],c,d,e);return igRF_c}else{d=!!d;var g=igRF_.events.s;b in g||(g[b]=igRF_.events.pools.ja());g=g[b];if(!(d in g)){g[d]=igRF_.events.pools.ja();g.b++}g=g[d];var h=igRF_.getHashCode(a),i;g.ma++;if(g[h]){i=g[h];for(f=0;f<i.length;f++){g=i[f];if(g.listener==c&&g.handler==e){if(g.removed)break;return i[f].key}}}else{i=g[h]=igRF_.events.pools.getArray();g.b++}f=igRF_.events.pools.getProxy();
f.src=a;g=igRF_.events.pools.getListener();g.init(c,f,a,b,d,e);c=g.key;f.key=c;i.push(g);igRF_.events.v[c]=g;igRF_.events.ta[h]||(igRF_.events.ta[h]=igRF_.events.pools.getArray());igRF_.events.ta[h].push(g);if(a.addEventListener){if(a==igRF_.global||!a.Yc)a.addEventListener(b,f,d)}else a.attachEvent(igRF_.events.qf(b),f);return c}else igRF_a(Error("Invalid event type"))};
igRF_.events.Hb=function(a,b,c,d,e){if(igRF_.isArray(b)){for(var f=0;f<b.length;f++)igRF_.events.Hb(a,b[f],c,d,e);return igRF_c}a=igRF_.events.listen(a,b,c,d,e);b=igRF_.events.v[a];b.vb=igRF_b;return a};igRF_.events.Sf=function(a,b,c,d,e){b.listen(a,c,d,e)};
igRF_.events.unlisten=function(a,b,c,d,e){if(igRF_.isArray(b)){for(var f=0;f<b.length;f++)igRF_.events.unlisten(a,b[f],c,d,e);return igRF_c}d=!!d;a=igRF_.events.rd(a,b,d);if(!a)return igRF_d;for(f=0;f<a.length;f++)if(a[f].listener==c&&a[f].capture==d&&a[f].handler==e)return igRF_.events.unlistenByKey(a[f].key);return igRF_d};
igRF_.events.unlistenByKey=function(a){if(!igRF_.events.v[a])return igRF_d;var b=igRF_.events.v[a];if(b.removed)return igRF_d;var c=b.src,d=b.type,e=b.proxy,f=b.capture;if(c.removeEventListener){if(c==igRF_.global||!c.Yc)c.removeEventListener(d,e,f)}else c.detachEvent&&c.detachEvent(igRF_.events.qf(d),e);c=igRF_.getHashCode(c);e=igRF_.events.s[d][f][c];if(igRF_.events.ta[c]){var g=igRF_.events.ta[c];igRF_.array.remove(g,b);g.length==0&&delete igRF_.events.ta[c]}b.removed=igRF_b;e.dg=igRF_b;igRF_.events.Oe(d,
f,c,e);delete igRF_.events.v[a];return igRF_b};igRF_.events.Vg=function(a,b,c,d,e){b.unlisten(a,c,d,e)};
igRF_.events.Oe=function(a,b,c,d){if(!d.Dc)if(d.dg){for(var e=0,f=0;e<d.length;e++)if(d[e].removed){var g=d[e].proxy;g.src=igRF_c;igRF_.events.pools.releaseProxy(g);igRF_.events.pools.releaseListener(d[e])}else{if(e!=f)d[f]=d[e];f++}d.length=f;d.dg=igRF_d;if(f==0){igRF_.events.pools.releaseArray(d);delete igRF_.events.s[a][b][c];igRF_.events.s[a][b].b--;if(igRF_.events.s[a][b].b==0){igRF_.events.pools.la(igRF_.events.s[a][b]);delete igRF_.events.s[a][b];igRF_.events.s[a].b--}if(igRF_.events.s[a].b==
0){igRF_.events.pools.la(igRF_.events.s[a]);delete igRF_.events.s[a]}}}};
igRF_.events.nb=function(a,b,c){var d=0,e=a==igRF_c,f=b==igRF_c,g=c==igRF_c;c=!!c;if(e)igRF_.object.forEach(igRF_.events.ta,function(i){for(var j=i.length-1;j>=0;j--){var k=i[j];if((f||b==k.type)&&(g||c==k.capture)){igRF_.events.unlistenByKey(k.key);d++}}});else{a=igRF_.getHashCode(a);if(igRF_.events.ta[a]){a=igRF_.events.ta[a];for(e=a.length-1;e>=0;e--){var h=a[e];if((f||b==h.type)&&(g||c==h.capture)){igRF_.events.unlistenByKey(h.key);d++}}}}return d};
igRF_.events.getListeners=function(a,b,c){return igRF_.events.rd(a,b,c)||[]};igRF_.events.rd=function(a,b,c){var d=igRF_.events.s;if(b in d){d=d[b];if(c in d){d=d[c];a=igRF_.getHashCode(a);if(d[a])return d[a]}}return igRF_c};igRF_.events.getListener=function(a,b,c,d,e){d=!!d;if(a=igRF_.events.rd(a,b,d))for(b=0;b<a.length;b++)if(a[b].listener==c&&a[b].capture==d&&a[b].handler==e)return a[b];return igRF_c};
igRF_.events.hasListener=function(a,b,c){a=igRF_.getHashCode(a);var d=igRF_.events.ta[a];if(d){var e=igRF_.isDef(b),f=igRF_.isDef(c);if(e&&f){d=igRF_.events.s[b];return!!d&&!!d[c]&&a in d[c]}else return e||f?igRF_.array.some(d,function(g){return e&&g.type==b||f&&g.capture==c}):igRF_b}return igRF_d};igRF_.events.expose=function(a){var b=[];for(var c in a)a[c]&&a[c].id?b.push(c+" = "+a[c]+" ("+a[c].id+")"):b.push(c+" = "+a[c]);return b.join("\n")};
igRF_.events.EventType={CLICK:"click",DBLCLICK:"dblclick",MOUSEDOWN:"mousedown",MOUSEUP:"mouseup",MOUSEOVER:"mouseover",MOUSEOUT:"mouseout",MOUSEMOVE:"mousemove",SELECTSTART:"selectstart",KEYPRESS:"keypress",KEYDOWN:"keydown",KEYUP:"keyup",BLUR:"blur",FOCUS:"focus",DEACTIVATE:"deactivate",FOCUSIN:igRF_.userAgent.IE?"focusin":"DOMFocusIn",FOCUSOUT:igRF_.userAgent.IE?"focusout":"DOMFocusOut",CHANGE:"change",SELECT:"select",SUBMIT:"submit",CONTEXTMENU:"contextmenu",DRAGSTART:"dragstart",ERROR:"error",
HASHCHANGE:"hashchange",HELP:"help",LOAD:"load",LOSECAPTURE:"losecapture",READYSTATECHANGE:"readystatechange",RESIZE:"resize",SCROLL:"scroll",UNLOAD:"unload"};igRF_.events.qf=function(a){if(a in igRF_.events.he)return igRF_.events.he[a];return igRF_.events.he[a]=igRF_.events.Fh+a};igRF_.events.fireListeners=function(a,b,c,d){var e=igRF_.events.s;if(b in e){e=e[b];if(c in e)return igRF_.events.cb(e[c],a,b,c,d)}return igRF_b};
igRF_.events.cb=function(a,b,c,d,e){var f=1;b=igRF_.getHashCode(b);if(a[b]){a.ma--;a=a[b];if(a.Dc)a.Dc++;else a.Dc=1;try{for(var g=a.length,h=0;h<g;h++){var i=a[h];if(i&&!i.removed)f&=igRF_.events.fireListener(i,e)!==igRF_d}}finally{a.Dc--;igRF_.events.Oe(c,d,b,a)}}return Boolean(f)};igRF_.events.fireListener=function(a,b){b=a.handleEvent(b);a.vb&&igRF_.events.unlistenByKey(a.key);return b};igRF_.events.getTotalListenerCount=function(){return igRF_.object.ia(igRF_.events.v)};
igRF_.events.dispatchEvent=function(a,b){if(igRF_.isString(b))b=new igRF_.events.Event(b,a);else if(b instanceof igRF_.events.Event)b.target=b.target||a;else{var c=b;b=new igRF_.events.Event(b.type,a);igRF_.object.extend(b,c)}c=1;var d,e=b.type,f=igRF_.events.s;if(!(e in f))return igRF_b;f=f[e];e=igRF_b in f;var g;if(e){d=[];for(g=a;g;g=g.wd())d.push(g);g=f[igRF_b];g.ma=g.b;for(var h=d.length-1;!b.Aa&&h>=0&&g.ma;h--){b.currentTarget=d[h];c&=igRF_.events.cb(g,d[h],b.type,igRF_b,b)&&b.Va!=igRF_d}}if(g=
igRF_d in f){g=f[igRF_d];g.ma=g.b;if(e)for(h=0;!b.Aa&&h<d.length&&g.ma;h++){b.currentTarget=d[h];c&=igRF_.events.cb(g,d[h],b.type,igRF_d,b)&&b.Va!=igRF_d}else for(a=a;!b.Aa&&a&&g.ma;a=a.wd()){b.currentTarget=a;c&=igRF_.events.cb(g,a,b.type,igRF_d,b)&&b.Va!=igRF_d}}return Boolean(c)};igRF_.events.protectBrowserEventEntryPoint=function(a,b){igRF_.events.uc=a.protectEntryPoint(igRF_.events.uc,b);igRF_.events.pools.setProxyCallbackFunction(igRF_.events.uc)};
igRF_.events.uc=function(a,b){if(!igRF_.events.v[a])return igRF_b;a=igRF_.events.v[a];var c=a.type,d=igRF_.events.s;if(!(c in d))return igRF_b;d=d[c];var e,f;if(igRF_.userAgent.IE){e=b||igRF_.getObjectByName("window.event");b=igRF_b in d;var g=igRF_d in d;if(b){if(igRF_.events.Bh(e))return igRF_b;igRF_.events.Dh(e)}var h=igRF_.events.pools.getEvent();h.init(e,this);e=igRF_b;try{if(b){for(var i=igRF_.events.pools.getArray(),j=h.currentTarget;j;j=j.parentNode)i.push(j);f=d[igRF_b];f.ma=f.b;for(var k=
i.length-1;!h.Aa&&k>=0&&f.ma;k--){h.currentTarget=i[k];e&=igRF_.events.cb(f,i[k],c,igRF_b,h)}if(g){f=d[igRF_d];f.ma=f.b;for(k=0;!h.Aa&&k<i.length&&f.ma;k++){h.currentTarget=i[k];e&=igRF_.events.cb(f,i[k],c,igRF_d,h)}}}else e=igRF_.events.fireListener(a,h)}finally{if(i){i.length=0;igRF_.events.pools.releaseArray(i)}h.dispose();igRF_.events.pools.releaseEvent(h)}return e}f=new igRF_.events.BrowserEvent(b,this);try{e=igRF_.events.fireListener(a,f)}finally{f.dispose()}return e};igRF_.events.pools.setProxyCallbackFunction(igRF_.events.uc);
igRF_.events.Dh=function(a){var b=igRF_d;if(a.keyCode==0)try{a.keyCode=-1;return}catch(c){b=igRF_b}if(b||a.returnValue==undefined)a.returnValue=igRF_b};igRF_.events.Bh=function(a){return a.keyCode<0||a.returnValue!=undefined};igRF_.events.Sh=0;igRF_.events.getUniqueId=function(a){return a+"_"+igRF_.events.Sh++};igRF_.events.EventTarget=function(){};igRF_.inherits(igRF_.events.EventTarget,igRF_.Disposable);igRF_.events.EventTarget.prototype.Yc=igRF_b;igRF_.events.EventTarget.prototype.je=igRF_c;igRF_.events.EventTarget.prototype.wd=function(){return this.je};igRF_.events.EventTarget.prototype.addEventListener=function(a,b,c,d){igRF_.events.listen(this,a,b,c,d)};igRF_.events.EventTarget.prototype.removeEventListener=function(a,b,c,d){igRF_.events.unlisten(this,a,b,c,d)};
igRF_.events.EventTarget.prototype.dispatchEvent=function(a){return igRF_.events.dispatchEvent(this,a)};igRF_.events.EventTarget.prototype.d=function(){igRF_.events.EventTarget.aa.d.call(this);igRF_.events.nb(this);this.je=igRF_c};igRF_.ui={};igRF_.ui.AutoComplete=function(a,b,c){this.Sa=a;this.Jc=c;this.ra=b;igRF_.events.listen(b,[igRF_.ui.AutoComplete.EventType.HILITE,igRF_.ui.AutoComplete.EventType.SELECT,igRF_.ui.AutoComplete.EventType.CANCEL_DISMISS,igRF_.ui.AutoComplete.EventType.DISMISS],this);this.ua=igRF_c;this.m=[];this.ea=-1;this.pa=0;this.Ja=this.u=igRF_c};igRF_.inherits(igRF_.ui.AutoComplete,igRF_.events.EventTarget);igRF_.ui.AutoComplete.prototype.Ib=10;igRF_.ui.AutoComplete.prototype.Rc=igRF_b;
igRF_.ui.AutoComplete.prototype.Ie=igRF_d;igRF_.ui.AutoComplete.prototype.Sg=igRF_d;igRF_.ui.AutoComplete.EventType={HILITE:"hilite",SELECT:"select",DISMISS:"dismiss",CANCEL_DISMISS:"canceldismiss",UPDATE:"update"};igRF_.ui.AutoComplete.prototype.qc=function(){return this.ra};
igRF_.ui.AutoComplete.prototype.handleEvent=function(a){if(a.target==this.ra)switch(a.type){case igRF_.ui.AutoComplete.EventType.HILITE:this.qa(a.row);break;case igRF_.ui.AutoComplete.EventType.SELECT:this.Nb();break;case igRF_.ui.AutoComplete.EventType.CANCEL_DISMISS:this.ac();break;case igRF_.ui.AutoComplete.EventType.DISMISS:this.Zc();break}};igRF_.ui.AutoComplete.prototype.ne=function(a){this.Ib=a};igRF_.ui.AutoComplete.prototype.zg=function(a){this.Rc=a};
igRF_.ui.AutoComplete.prototype.Ig=function(a,b){if(this.ua!=a){this.ua=a;this.Sa.Gc(this.ua,this.Ib,igRF_.bind(this.Xf,this),b);this.ac()}};igRF_.ui.AutoComplete.prototype.Hg=function(a){this.u=a};igRF_.ui.AutoComplete.prototype.isOpen=function(){return this.ra.Nf()};igRF_.ui.AutoComplete.prototype.Od=function(){if(this.ea>=this.pa&&this.ea<this.pa+this.m.length-1){this.qa(this.ea+1);return igRF_b}else if(this.ea==-1){this.qa(this.pa);return igRF_b}return igRF_d};
igRF_.ui.AutoComplete.prototype.Pd=function(){if(this.ea>this.pa){this.qa(this.ea-1);return igRF_b}else this.Ie&&this.ea==this.pa&&this.qa(-1);return igRF_d};igRF_.ui.AutoComplete.prototype.qa=function(a){this.ea=a;this.ra.qa(a);return this.nc(a)!=-1};
igRF_.ui.AutoComplete.prototype.Nb=function(){var a=this.nc(this.ea);if(a!=-1){a=this.m[a];var b=this.Jc.wg(a);this.dismiss();if(!b){this.dispatchEvent({type:igRF_.ui.AutoComplete.EventType.UPDATE,row:a});this.Sg&&this.Jc.update(igRF_b)}return igRF_b}else{this.dismiss();this.dispatchEvent({type:igRF_.ui.AutoComplete.EventType.UPDATE,row:igRF_c});return igRF_d}};
igRF_.ui.AutoComplete.prototype.dismiss=function(){this.ea=-1;this.ua=igRF_c;this.pa+=this.m.length;this.m=[];window.clearTimeout(this.Ja);this.Ja=igRF_c;this.ra.dismiss()};igRF_.ui.AutoComplete.prototype.Zc=function(){if(!this.Ja)this.Ja=window.setTimeout(igRF_.bind(this.dismiss,this),100)};igRF_.ui.AutoComplete.prototype.ac=function(){window.setTimeout(igRF_.bind(function(){if(this.Ja){window.clearTimeout(this.Ja);this.Ja=igRF_c}},this),10)};
igRF_.ui.AutoComplete.prototype.d=function(){igRF_.ui.AutoComplete.aa.d.call(this);this.ra.dispose();this.Jc.dispose();this.Sa=igRF_c};igRF_.ui.AutoComplete.prototype.Xf=function(a,b,c){if(this.ua==a){a=c?this.nc(this.ea):igRF_c;this.pa+=this.m.length;this.m=b;c=[];for(var d=0;d<b.length;++d)c.push({id:this.pd(d),data:b[d]});this.ra.ug(c,this.ua,this.u);if(this.Rc&&c.length!=0){b=a!=igRF_c?this.pd(a):this.pa;this.qa(b)}else this.ea=-1}};
igRF_.ui.AutoComplete.prototype.nc=function(a){a=a-this.pa;if(a<0||a>=this.m.length)return-1;return a};igRF_.ui.AutoComplete.prototype.pd=function(a){return this.pa+a};igRF_.ui.AutoComplete.prototype.Ya=function(){var a=this.Jc;a.Ya.apply(a,arguments)};igRF_.ui.AutoComplete.ArrayMatcher=function(a,b){this.m=a;this.Uh=!b};igRF_.ui.AutoComplete.ArrayMatcher.prototype.Gc=function(a,b,c){var d=this.sf(a,b);if(d.length==0&&this.Uh)d=this.tf(a,b);c(a,d)};igRF_.ui.AutoComplete.ArrayMatcher.prototype.sf=function(a,b){var c=[];if(a!=""){a=igRF_.string.regExpEscape(a);var d=new RegExp("(^|\\W+)"+a,"i");igRF_.iter.some(this.m,function(e){String(e).match(d)&&c.push(e);return c.length>=b})}return c};
igRF_.ui.AutoComplete.ArrayMatcher.prototype.tf=function(a,b){var c=[];igRF_.iter.forEach(this.m,function(f,g){var h=a.toLowerCase(),i=String(f).toLowerCase(),j=0;if(i.indexOf(h)!=-1)j=parseInt((i.indexOf(h)/4).toString(),10);else for(var k=h.split(""),l=-1,m=10,o=0,n;n=k[o];o++){n=i.indexOf(n);if(n>l){l=n-l-1;if(l>m-5)l=m-5;j+=l;l=n}else{j+=m;m+=5}}j<h.length*6&&c.push({str:f,score:j,index:g})});c.sort(function(f,g){var h=f.score-g.score;if(h!=0)return h;return f.index-g.index});for(var d=[],e=0;e<
b&&e<c.length;e++)d.push(c[e].str);return d};igRF_.math={};igRF_.math.Coordinate=function(a,b){this.x=igRF_.isDef(a)?a:0;this.y=igRF_.isDef(b)?b:0};igRF_.math.Coordinate.prototype.clone=function(){return new igRF_.math.Coordinate(this.x,this.y)};if(igRF_.DEBUG)igRF_.math.Coordinate.prototype.toString=function(){return"("+this.x+", "+this.y+")"};igRF_.math.Coordinate.equals=function(a,b){if(a==b)return igRF_b;if(!a||!b)return igRF_d;return a.x==b.x&&a.y==b.y};
igRF_.math.Coordinate.distance=function(a,b){var c=a.x-b.x;a=a.y-b.y;return Math.sqrt(c*c+a*a)};igRF_.math.Coordinate.squaredDistance=function(a,b){var c=a.x-b.x;a=a.y-b.y;return c*c+a*a};igRF_.math.Coordinate.difference=function(a,b){return new igRF_.math.Coordinate(a.x-b.x,a.y-b.y)};igRF_.math.Coordinate.sum=function(a,b){return new igRF_.math.Coordinate(a.x+b.x,a.y+b.y)};igRF_.math.Size=function(a,b){this.width=a;this.height=b};igRF_.math.Size.equals=function(a,b){if(a==b)return igRF_b;if(!a||!b)return igRF_d;return a.width==b.width&&a.height==b.height};igRF_.math.Size.prototype.clone=function(){return new igRF_.math.Size(this.width,this.height)};if(igRF_.DEBUG)igRF_.math.Size.prototype.toString=function(){return"("+this.width+" x "+this.height+")"};igRF_.math.Size.prototype.area=function(){return this.width*this.height};igRF_.math.Size.prototype.p=function(){return!this.area()};
igRF_.math.Size.prototype.ceil=function(){this.width=Math.ceil(this.width);this.height=Math.ceil(this.height);return this};igRF_.math.Size.prototype.floor=function(){this.width=Math.floor(this.width);this.height=Math.floor(this.height);return this};igRF_.math.Size.prototype.round=function(){this.width=Math.round(this.width);this.height=Math.round(this.height);return this};igRF_.math.Size.prototype.scale=function(a){this.width*=a;this.height*=a;return this};igRF_.dom={};igRF_.dom.classes={};igRF_.dom.classes.set=function(a,b){a.className=b};igRF_.dom.classes.get=function(a){return(a=a.className)&&typeof a.split=="function"?a.split(/\s+/):[]};igRF_.dom.classes.add=function(a){var b=igRF_.dom.classes.get(a),c=igRF_.array.slice(arguments,1);c=igRF_.dom.classes.Ge(b,c);a.className=b.join(" ");return c};
igRF_.dom.classes.remove=function(a){var b=igRF_.dom.classes.get(a),c=igRF_.array.slice(arguments,1);c=igRF_.dom.classes.rg(b,c);a.className=b.join(" ");return c};igRF_.dom.classes.Ge=function(a,b){for(var c=0,d=0;d<b.length;d++)if(!igRF_.array.contains(a,b[d])){a.push(b[d]);c++}return c==b.length};igRF_.dom.classes.rg=function(a,b){for(var c=0,d=0;d<a.length;d++)if(igRF_.array.contains(b,a[d])){igRF_.array.splice(a,d--,1);c++}return c==b.length};
igRF_.dom.classes.swap=function(a,b,c){for(var d=igRF_.dom.classes.get(a),e=igRF_d,f=0;f<d.length;f++)if(d[f]==b){igRF_.array.splice(d,f--,1);e=igRF_b}if(e){d.push(c);a.className=d.join(" ")}return e};igRF_.dom.classes.addRemove=function(a,b,c){var d=igRF_.dom.classes.get(a);if(igRF_.isString(b))igRF_.array.remove(d,b);else igRF_.isArray(b)&&igRF_.dom.classes.rg(d,b);if(igRF_.isString(c)&&!igRF_.array.contains(d,c))d.push(c);else igRF_.isArray(c)&&igRF_.dom.classes.Ge(d,c);a.className=d.join(" ")};
igRF_.dom.classes.has=function(a,b){return igRF_.array.contains(igRF_.dom.classes.get(a),b)};igRF_.dom.classes.enable=function(a,b,c){c?igRF_.dom.classes.add(a,b):igRF_.dom.classes.remove(a,b)};igRF_.dom.classes.toggle=function(a,b){var c=!igRF_.dom.classes.has(a,b);igRF_.dom.classes.enable(a,b,c);return c};igRF_.dom.TagName={A:"A",ABBR:"ABBR",ACRONYM:"ACRONYM",ADDRESS:"ADDRESS",APPLET:"APPLET",AREA:"AREA",B:"B",BASE:"BASE",BASEFONT:"BASEFONT",BDO:"BDO",BIG:"BIG",BLOCKQUOTE:"BLOCKQUOTE",BODY:"BODY",BR:"BR",BUTTON:"BUTTON",CAPTION:"CAPTION",CENTER:"CENTER",CITE:"CITE",CODE:"CODE",COL:"COL",COLGROUP:"COLGROUP",DD:"DD",DEL:"DEL",DFN:"DFN",DIR:"DIR",DIV:"DIV",DL:"DL",DT:"DT",EM:"EM",FIELDSET:"FIELDSET",FONT:"FONT",FORM:"FORM",FRAME:"FRAME",FRAMESET:"FRAMESET",H1:"H1",H2:"H2",H3:"H3",H4:"H4",H5:"H5",H6:"H6",
HEAD:"HEAD",HR:"HR",HTML:"HTML",I:"I",IFRAME:"IFRAME",IMG:"IMG",INPUT:"INPUT",INS:"INS",ISINDEX:"ISINDEX",KBD:"KBD",LABEL:"LABEL",LEGEND:"LEGEND",LI:"LI",LINK:"LINK",MAP:"MAP",MENU:"MENU",META:"META",NOFRAMES:"NOFRAMES",NOSCRIPT:"NOSCRIPT",OBJECT:"OBJECT",OL:"OL",OPTGROUP:"OPTGROUP",OPTION:"OPTION",P:"P",PARAM:"PARAM",PRE:"PRE",Q:"Q",S:"S",SAMP:"SAMP",SCRIPT:"SCRIPT",SELECT:"SELECT",SMALL:"SMALL",SPAN:"SPAN",STRIKE:"STRIKE",STRONG:"STRONG",STYLE:"STYLE",SUB:"SUB",SUP:"SUP",TABLE:"TABLE",TBODY:"TBODY",
TD:"TD",TEXTAREA:"TEXTAREA",TFOOT:"TFOOT",TH:"TH",THEAD:"THEAD",TITLE:"TITLE",TR:"TR",TT:"TT",U:"U",UL:"UL",VAR:"VAR"};igRF_.dom.ASSUME_QUIRKS_MODE=igRF_d;igRF_.dom.ASSUME_STANDARDS_MODE=igRF_d;igRF_.dom.Zg=igRF_.dom.ASSUME_QUIRKS_MODE||igRF_.dom.ASSUME_STANDARDS_MODE;igRF_.dom.NodeType={ELEMENT:1,ATTRIBUTE:2,TEXT:3,CDATA_SECTION:4,ENTITY_REFERENCE:5,ENTITY:6,PROCESSING_INSTRUCTION:7,COMMENT:8,DOCUMENT:9,DOCUMENT_TYPE:10,DOCUMENT_FRAGMENT:11,NOTATION:12};igRF_.dom.$=function(a){return a?new igRF_.dom.DomHelper(igRF_.dom.o(a)):igRF_.dom.jh||(igRF_.dom.jh=new igRF_.dom.DomHelper)};igRF_.dom.da=function(){return document};
igRF_.dom.wa=function(a){return igRF_.isString(a)?document.getElementById(a):a};igRF_.dom.ve=igRF_.dom.wa;igRF_.dom.Pa=function(a,b,c){return igRF_.dom.lf(document,a,b,c)};
igRF_.dom.lf=function(a,b,c,d){d=d||a;b=b&&b!="*"?b.toUpperCase():"";if(d.querySelectorAll&&(b||c)&&(!igRF_.userAgent.WEBKIT||igRF_.dom.kb(a)||igRF_.userAgent.isVersion("528"))){c=b+(c?"."+c:"");return d.querySelectorAll(c)}if(c&&d.getElementsByClassName){a=d.getElementsByClassName(c);if(b){d={};for(var e=0,f=0,g;g=a[f];f++)if(b==g.nodeName)d[e++]=g;d.length=e;return d}else return a}a=d.getElementsByTagName(b||"*");if(c){d={};for(f=e=0;g=a[f];f++){b=g.className;if(typeof b.split=="function"&&igRF_.array.contains(b.split(/\s+/),
c))d[e++]=g}d.length=e;return d}else return a};igRF_.dom.we=igRF_.dom.Pa;igRF_.dom.Kc=function(a,b){igRF_.object.forEach(b,function(c,d){if(d=="style")a.style.cssText=c;else if(d=="class")a.className=c;else if(d=="for")a.htmlFor=c;else if(d in igRF_.dom.ze)a.setAttribute(igRF_.dom.ze[d],c);else a[d]=c})};igRF_.dom.ze={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",rowspan:"rowSpan",valign:"vAlign",height:"height",width:"width",usemap:"useMap",frameborder:"frameBorder",type:"type"};
igRF_.dom.tc=function(a){return igRF_.dom.vf(a||window)};
igRF_.dom.vf=function(a){var b=a.document;if(igRF_.userAgent.WEBKIT&&!igRF_.userAgent.isVersion("500")&&!igRF_.userAgent.MOBILE){if(typeof a.innerHeight=="undefined")a=window;b=a.innerHeight;var c=a.document.documentElement.scrollHeight;if(a==a.top)if(c<b)b-=15;return new igRF_.math.Size(a.innerWidth,b)}a=igRF_.dom.kb(b)&&(!igRF_.userAgent.OPERA||igRF_.userAgent.OPERA&&igRF_.userAgent.isVersion("9.50"))?b.documentElement:b.body;return new igRF_.math.Size(a.clientWidth,a.clientHeight)};
igRF_.dom.gf=function(){return igRF_.dom.hf(window)};igRF_.dom.hf=function(a){var b=a.document,c=0;if(b){a=igRF_.dom.vf(a).height;c=b.body;var d=b.documentElement;if(igRF_.dom.kb(b)&&d.scrollHeight)c=d.scrollHeight!=a?d.scrollHeight:d.offsetHeight;else{b=d.scrollHeight;var e=d.offsetHeight;if(d.clientHeight!=e){b=c.scrollHeight;e=c.offsetHeight}c=b>a?b>e?b:e:b<e?b:e}}return c};igRF_.dom.getPageScroll=function(a){a=a||igRF_.global||window;return igRF_.dom.$(a.document).eb()};igRF_.dom.eb=function(){return igRF_.dom.jf(document)};
igRF_.dom.jf=function(a){a=igRF_.dom.ld(a);return new igRF_.math.Coordinate(a.scrollLeft,a.scrollTop)};igRF_.dom.kd=function(){return igRF_.dom.ld(document)};igRF_.dom.ld=function(a){return!igRF_.userAgent.WEBKIT&&igRF_.dom.kb(a)?a.documentElement:a.body};igRF_.dom.ib=function(a){return a?igRF_.dom.Fd(a):window};igRF_.dom.Fd=function(a){return a.parentWindow||a.defaultView};igRF_.dom.oa=function(){return igRF_.dom.Re(document,arguments)};
igRF_.dom.Re=function(a,b){var c=b[0],d=b[1];if(igRF_.userAgent.IE&&d&&(d.name||d.type)){c=["<",c];d.name&&c.push(' name="',igRF_.string.htmlEscape(d.name),'"');if(d.type){c.push(' type="',igRF_.string.htmlEscape(d.type),'"');d=igRF_.cloneObject(d);delete d.type}c.push(">");c=c.join("")}var e=a.createElement(c);if(d)if(igRF_.isString(d))e.className=d;else igRF_.dom.Kc(e,d);if(b.length>2){d=function(g){if(g)e.appendChild(igRF_.isString(g)?a.createTextNode(g):g)};for(c=2;c<b.length;c++){var f=b[c];
igRF_.isArrayLike(f)&&!igRF_.dom.zc(f)?igRF_.array.forEach(igRF_.dom.isNodeList(f)?igRF_.array.clone(f):f,d):d(f)}}return e};igRF_.dom.xe=igRF_.dom.oa;igRF_.dom.createElement=function(a){return document.createElement(a)};igRF_.dom.createTextNode=function(a){return document.createTextNode(a)};igRF_.dom.Te=function(a,b,c){return igRF_.dom.Ue(document,a,b,!!c)};
igRF_.dom.Ue=function(a,b,c,d){for(var e=["<tr>"],f=0;f<c;f++)e.push(d?"<td>&nbsp;</td>":"<td></td>");e.push("</tr>");e=e.join("");c=["<table>"];for(f=0;f<b;f++)c.push(e);c.push("</table>");a=a.createElement(igRF_.dom.TagName.DIV);a.innerHTML=c.join("");return a.removeChild(a.firstChild)};igRF_.dom.Gf=function(a){return igRF_.dom.Hf(document,a)};
igRF_.dom.Hf=function(a,b){var c=a.createElement("div");c.innerHTML=b;if(c.childNodes.length==1)return c.removeChild(c.firstChild);else{for(a=a.createDocumentFragment();c.firstChild;)a.appendChild(c.firstChild);return a}};igRF_.dom.ef=function(){return igRF_.dom.xa()?"CSS1Compat":"BackCompat"};igRF_.dom.xa=function(){return igRF_.dom.kb(document)};igRF_.dom.kb=function(a){if(igRF_.dom.Zg)return igRF_.dom.ASSUME_STANDARDS_MODE;return a.compatMode=="CSS1Compat"};
igRF_.dom.canHaveChildren=function(a){if(a.nodeType!=igRF_.dom.NodeType.ELEMENT)return igRF_d;if("canHaveChildren"in a)return a.canHaveChildren;switch(a.tagName){case igRF_.dom.TagName.APPLET:case igRF_.dom.TagName.AREA:case igRF_.dom.TagName.BASE:case igRF_.dom.TagName.BR:case igRF_.dom.TagName.COL:case igRF_.dom.TagName.FRAME:case igRF_.dom.TagName.HR:case igRF_.dom.TagName.IMG:case igRF_.dom.TagName.INPUT:case igRF_.dom.TagName.IFRAME:case igRF_.dom.TagName.ISINDEX:case igRF_.dom.TagName.LINK:case igRF_.dom.TagName.NOFRAMES:case igRF_.dom.TagName.NOSCRIPT:case igRF_.dom.TagName.META:case igRF_.dom.TagName.OBJECT:case igRF_.dom.TagName.PARAM:case igRF_.dom.TagName.SCRIPT:case igRF_.dom.TagName.STYLE:return igRF_d}return igRF_b};
igRF_.dom.appendChild=function(a,b){a.appendChild(b)};igRF_.dom.Kb=function(a){for(var b;b=a.firstChild;)a.removeChild(b)};igRF_.dom.Ud=function(a,b){b.parentNode&&b.parentNode.insertBefore(a,b)};igRF_.dom.Td=function(a,b){b.parentNode&&b.parentNode.insertBefore(a,b.nextSibling)};igRF_.dom.removeNode=function(a){return a&&a.parentNode?a.parentNode.removeChild(a):igRF_c};igRF_.dom.replaceNode=function(a,b){var c=b.parentNode;c&&c.replaceChild(a,b)};
igRF_.dom.gd=function(a){var b,c=a.parentNode;if(c&&c.nodeType!=igRF_.dom.NodeType.DOCUMENT_FRAGMENT)if(a.removeNode)return a.removeNode(igRF_d);else{for(;b=a.firstChild;)c.insertBefore(b,a);return igRF_.dom.removeNode(a)}};igRF_.dom.nd=function(a){return igRF_.dom.oc(a.firstChild,igRF_b)};igRF_.dom.qd=function(a){return igRF_.dom.oc(a.lastChild,igRF_d)};igRF_.dom.sd=function(a){return igRF_.dom.oc(a.nextSibling,igRF_b)};igRF_.dom.yd=function(a){return igRF_.dom.oc(a.previousSibling,igRF_d)};
igRF_.dom.oc=function(a,b){for(;a&&a.nodeType!=igRF_.dom.NodeType.ELEMENT;)a=b?a.nextSibling:a.previousSibling;return a};igRF_.dom.td=function(a){if(!a)return igRF_c;if(a.firstChild)return a.firstChild;for(;a&&!a.nextSibling;)a=a.parentNode;return a?a.nextSibling:igRF_c};igRF_.dom.zd=function(a){if(!a)return igRF_c;if(!a.previousSibling)return a.parentNode;for(a=a.previousSibling;a&&a.lastChild;)a=a.lastChild;return a};igRF_.dom.zc=function(a){return igRF_.isObject(a)&&a.nodeType>0};
igRF_.dom.contains=function(a,b){if(a.contains&&b.nodeType==igRF_.dom.NodeType.ELEMENT)return a==b||a.contains(b);if(typeof a.compareDocumentPosition!="undefined")return a==b||Boolean(a.compareDocumentPosition(b)&16);for(;b&&a!=b;)b=b.parentNode;return b==a};
igRF_.dom.compareNodeOrder=function(a,b){if(a==b)return 0;if(a.compareDocumentPosition)return a.compareDocumentPosition(b)&2?1:-1;if("sourceIndex"in a||a.parentNode&&"sourceIndex"in a.parentNode){var c=a.nodeType==igRF_.dom.NodeType.ELEMENT,d=b.nodeType==igRF_.dom.NodeType.ELEMENT;if(c&&d)return a.sourceIndex-b.sourceIndex;else{var e=a.parentNode,f=b.parentNode;if(e==f)return igRF_.dom.Qe(a,b);if(!c&&igRF_.dom.contains(e,b))return-1*igRF_.dom.Pe(a,b);if(!d&&igRF_.dom.contains(f,a))return igRF_.dom.Pe(b,
a);return(c?a.sourceIndex:e.sourceIndex)-(d?b.sourceIndex:f.sourceIndex)}}d=igRF_.dom.o(a);c=d.createRange();c.selectNode(a);c.collapse(igRF_b);a=d.createRange();a.selectNode(b);a.collapse(igRF_b);return c.compareBoundaryPoints(igRF_.global.Range.START_TO_END,a)};igRF_.dom.Pe=function(a,b){var c=a.parentNode;if(c==b)return-1;for(b=b;b.parentNode!=c;)b=b.parentNode;return igRF_.dom.Qe(b,a)};igRF_.dom.Qe=function(a,b){for(b=b;b=b.previousSibling;)if(b==a)return-1;return 1};
igRF_.dom.findCommonAncestor=function(){var a,b=arguments.length;if(b){if(b==1)return arguments[0]}else return igRF_c;var c=[],d=Infinity;for(a=0;a<b;a++){for(var e=[],f=arguments[a];f;){e.unshift(f);f=f.parentNode}c.push(e);d=Math.min(d,e.length)}e=igRF_c;for(a=0;a<d;a++){f=c[0][a];for(var g=1;g<b;g++)if(f!=c[g][a])return e;e=f}return e};igRF_.dom.o=function(a){return a.nodeType==igRF_.dom.NodeType.DOCUMENT?a:a.ownerDocument||a.document};
igRF_.dom.kc=function(a){return a=igRF_.userAgent.WEBKIT?a.document||a.contentWindow.document:a.contentDocument||a.contentWindow.document};igRF_.dom.od=function(a){return a.contentWindow||igRF_.dom.Fd(igRF_.dom.kc(a))};igRF_.dom.pe=function(a,b){if("textContent"in a)a.textContent=b;else if(a.firstChild&&a.firstChild.nodeType==igRF_.dom.NodeType.TEXT){for(;a.lastChild!=a.firstChild;)a.removeChild(a.lastChild);a.firstChild.data=b}else{igRF_.dom.Kb(a);var c=igRF_.dom.o(a);a.appendChild(c.createTextNode(b))}};
igRF_.dom.getOuterHtml=function(a){if("outerHTML"in a)return a.outerHTML;else{var b=igRF_.dom.o(a);b=b.createElement("div");b.appendChild(a.cloneNode(igRF_b));return b.innerHTML}};igRF_.dom.dd=function(a,b){var c=[];return(a=igRF_.dom.fd(a,b,c,igRF_b))?c[0]:undefined};igRF_.dom.ed=function(a,b){var c=[];igRF_.dom.fd(a,b,c,igRF_d);return c};igRF_.dom.fd=function(a,b,c,d){if(a!=igRF_c)for(var e=0,f;f=a.childNodes[e];e++){if(b(f)){c.push(f);if(d)return igRF_b}if(igRF_.dom.fd(f,b,c,d))return igRF_b}return igRF_d};
igRF_.dom.Ce={SCRIPT:1,STYLE:1,HEAD:1,IFRAME:1,OBJECT:1};igRF_.dom.Xb={IMG:" ",BR:"\n"};igRF_.dom.isFocusableTabIndex=function(a){var b=a.getAttributeNode("tabindex");if(b&&b.specified){a=a.tabIndex;return igRF_.isNumber(a)&&a>=0}return igRF_d};igRF_.dom.setFocusableTabIndex=function(a,b){if(b)a.tabIndex=0;else a.removeAttribute("tabIndex")};
igRF_.dom.Bb=function(a){if(igRF_.userAgent.IE&&"innerText"in a)a=igRF_.string.canonicalizeNewlines(a.innerText);else{var b=[];igRF_.dom.Dd(a,b,igRF_b);a=b.join("")}a=a.replace(/\xAD/g,"");a=a.replace(/ +/g," ");if(a!=" ")a=a.replace(/^\s*/,"");return a};igRF_.dom.getRawTextContent=function(a){var b=[];igRF_.dom.Dd(a,b,igRF_d);return b.join("")};
igRF_.dom.Dd=function(a,b,c){if(!(a.nodeName in igRF_.dom.Ce))if(a.nodeType==igRF_.dom.NodeType.TEXT)c?b.push(String(a.nodeValue).replace(/(\r\n|\r|\n)/g,"")):b.push(a.nodeValue);else if(a.nodeName in igRF_.dom.Xb)b.push(igRF_.dom.Xb[a.nodeName]);else for(a=a.firstChild;a;){igRF_.dom.Dd(a,b,c);a=a.nextSibling}};igRF_.dom.ud=function(a){return igRF_.dom.Bb(a).length};
igRF_.dom.vd=function(a,b){b=b||igRF_.dom.o(a).body;for(var c=[];a&&a!=b;){for(var d=a;d=d.previousSibling;)c.unshift(igRF_.dom.Bb(d));a=a.parentNode}return igRF_.string.trimLeft(c.join("")).replace(/ +/g," ").length};
igRF_.dom.getNodeAtOffset=function(a,b,c){a=[a];for(var d=0,e;a.length>0&&d<b;){e=a.pop();if(!(e.nodeName in igRF_.dom.Ce))if(e.nodeType==igRF_.dom.NodeType.TEXT){var f=e.nodeValue.replace(/(\r\n|\r|\n)/g,"").replace(/ +/g," ");d+=f.length}else if(e.nodeName in igRF_.dom.Xb)d+=igRF_.dom.Xb[e.nodeName].length;else for(f=e.childNodes.length-1;f>=0;f--)a.push(e.childNodes[f])}if(igRF_.isObject(c)){c.remainder=e?e.nodeValue.length+b-d-1:0;c.node=e}return e};
igRF_.dom.isNodeList=function(a){if(a&&typeof a.length=="number")if(igRF_.isObject(a))return typeof a.item=="function"||typeof a.item=="string";else if(igRF_.isFunction(a))return typeof a.item=="function";return igRF_d};igRF_.dom.hd=function(a,b,c){var d=b?b.toUpperCase():igRF_c;return igRF_.dom.ic(a,function(e){return(!d||e.nodeName==d)&&(!c||igRF_.dom.classes.has(e,c))},igRF_b)};
igRF_.dom.ic=function(a,b,c,d){if(!c)a=a.parentNode;c=d==igRF_c;for(var e=0;a&&(c||e<=d);){if(b(a))return a;a=a.parentNode;e++}return igRF_c};igRF_.dom.DomHelper=function(a){this.ba=a||igRF_.global.document||document};igRF_.dom.DomHelper.prototype.$=igRF_.dom.$;igRF_.dom.DomHelper.prototype.da=function(){return this.ba};igRF_.dom.DomHelper.prototype.wa=function(a){return igRF_.isString(a)?this.ba.getElementById(a):a};igRF_.dom.DomHelper.prototype.ve=igRF_.dom.DomHelper.prototype.wa;
igRF_.dom.DomHelper.prototype.Pa=function(a,b,c){return igRF_.dom.lf(this.ba,a,b,c)};igRF_.dom.DomHelper.prototype.we=igRF_.dom.DomHelper.prototype.Pa;igRF_.dom.DomHelper.prototype.Kc=igRF_.dom.Kc;igRF_.dom.DomHelper.prototype.tc=function(a){return igRF_.dom.tc(a||this.ib())};igRF_.dom.DomHelper.prototype.gf=function(){return igRF_.dom.hf(this.ib())};igRF_.dom.DomHelper.prototype.oa=function(){return igRF_.dom.Re(this.ba,arguments)};igRF_.dom.DomHelper.prototype.xe=igRF_.dom.DomHelper.prototype.oa;
igRF_.dom.DomHelper.prototype.createElement=function(a){return this.ba.createElement(a)};igRF_.dom.DomHelper.prototype.createTextNode=function(a){return this.ba.createTextNode(a)};igRF_.dom.DomHelper.prototype.Te=function(a,b,c){return igRF_.dom.Ue(this.ba,a,b,!!c)};igRF_.dom.DomHelper.prototype.Gf=function(a){return igRF_.dom.Hf(this.ba,a)};igRF_.dom.DomHelper.prototype.ef=function(){return this.xa()?"CSS1Compat":"BackCompat"};igRF_.dom.DomHelper.prototype.xa=function(){return igRF_.dom.kb(this.ba)};
igRF_.dom.DomHelper.prototype.ib=function(){return igRF_.dom.Fd(this.ba)};igRF_.dom.DomHelper.prototype.kd=function(){return igRF_.dom.ld(this.ba)};igRF_.dom.DomHelper.prototype.eb=function(){return igRF_.dom.jf(this.ba)};igRF_.dom.DomHelper.prototype.appendChild=igRF_.dom.appendChild;igRF_.dom.DomHelper.prototype.Kb=igRF_.dom.Kb;igRF_.dom.DomHelper.prototype.Ud=igRF_.dom.Ud;igRF_.dom.DomHelper.prototype.Td=igRF_.dom.Td;igRF_.dom.DomHelper.prototype.removeNode=igRF_.dom.removeNode;
igRF_.dom.DomHelper.prototype.replaceNode=igRF_.dom.replaceNode;igRF_.dom.DomHelper.prototype.gd=igRF_.dom.gd;igRF_.dom.DomHelper.prototype.nd=igRF_.dom.nd;igRF_.dom.DomHelper.prototype.qd=igRF_.dom.qd;igRF_.dom.DomHelper.prototype.sd=igRF_.dom.sd;igRF_.dom.DomHelper.prototype.yd=igRF_.dom.yd;igRF_.dom.DomHelper.prototype.td=igRF_.dom.td;igRF_.dom.DomHelper.prototype.zd=igRF_.dom.zd;igRF_.dom.DomHelper.prototype.zc=igRF_.dom.zc;igRF_.dom.DomHelper.prototype.contains=igRF_.dom.contains;
igRF_.dom.DomHelper.prototype.o=igRF_.dom.o;igRF_.dom.DomHelper.prototype.kc=igRF_.dom.kc;igRF_.dom.DomHelper.prototype.od=igRF_.dom.od;igRF_.dom.DomHelper.prototype.pe=igRF_.dom.pe;igRF_.dom.DomHelper.prototype.dd=igRF_.dom.dd;igRF_.dom.DomHelper.prototype.ed=igRF_.dom.ed;igRF_.dom.DomHelper.prototype.Bb=igRF_.dom.Bb;igRF_.dom.DomHelper.prototype.ud=igRF_.dom.ud;igRF_.dom.DomHelper.prototype.vd=igRF_.dom.vd;igRF_.dom.DomHelper.prototype.hd=igRF_.dom.hd;igRF_.dom.DomHelper.prototype.ic=igRF_.dom.ic;igRF_.dom.a11y={};igRF_.dom.a11y.State={ACTIVEDESCENDANT:"activedescendant",AUTOCOMPLETE:"autocomplete",CHECKED:"checked",DISABLED:"disabled",EXPANDED:"expanded",HASPOPUP:"haspopup",LABELLEDBY:"labelledby",LEVEL:"level",PRESSED:"pressed",SELECTED:"selected",VALUEMAX:"valuemax",VALUEMIN:"valuemin",VALUENOW:"valuenow",VALUETEXT:"valuetext"};
igRF_.dom.a11y.Role={BUTTON:"button",CHECKBOX:"checkbox",COMBOBOX:"combobox",DIALOG:"dialog",LINK:"link",LISTBOX:"listbox",MAIN:"main",MENU:"menu",MENUBAR:"menubar",MENU_ITEM:"menuitem",MENU_ITEM_CHECKBOX:"menuitemcheckbox",MENU_ITEM_RADIO:"menuitemradio",NAVIGATION:"navigation",OPTION:"option",GROUP:"group",SLIDER:"slider",TAB:"tab",TAB_LIST:"tablist",TAB_PANEL:"tabpanel",TOOLBAR:"toolbar"};
igRF_.dom.a11y.setRole=function(a,b){if(igRF_.userAgent.GECKO||igRF_.dom.a11y.ae){a.setAttribute("role",b);a.roleName=b}};igRF_.dom.a11y.getRole=function(a){return a.roleName||""};igRF_.dom.a11y.setState=function(a,b,c){if(igRF_.userAgent.GECKO||igRF_.dom.a11y.ae)a.setAttribute("aria-"+b,c)};igRF_.dom.a11y.getState=function(a,b){return a.getAttribute("aria-"+b)||""};igRF_.dom.a11y.getNoBrowserCheck=function(){return!!igRF_.dom.a11y.ae};
igRF_.dom.a11y.setNoBrowserCheck=function(a){igRF_.dom.a11y.ae=a};igRF_.dom.a11y.getActiveDescendant=function(a){var b=igRF_.dom.a11y.getState(a,igRF_.dom.a11y.State.ACTIVEDESCENDANT);return igRF_.dom.o(a).getElementById(b)};igRF_.dom.a11y.setActiveDescendant=function(a,b){igRF_.dom.a11y.setState(a,igRF_.dom.a11y.State.ACTIVEDESCENDANT,b?b.id:"")};igRF_.dom.selection={};igRF_.dom.selection.setStart=function(a,b){if(igRF_.dom.selection.pb(a))a.selectionStart=b;else if(igRF_.userAgent.IE){var c=igRF_.dom.selection.Ab(a),d=c[0];c=c[1];if(d.inRange(c)){b=igRF_.dom.selection.bc(a,b);d.collapse(igRF_b);d.move("character",b);d.select()}}};igRF_.dom.selection.getStart=function(a){return igRF_.dom.selection.md(a,igRF_b)[0]};
igRF_.dom.selection.vh=function(a,b,c){b=b.duplicate();for(var d=a.text,e=d,f=b.text,g=f,h=igRF_d;!h;)if(a.compareEndPoints("StartToEnd",a)==0)h=igRF_b;else{a.moveEnd("character",-1);if(a.text==d)e+="\r\n";else h=igRF_b}if(c)return[e.length,-1];for(a=igRF_d;!a;)if(b.compareEndPoints("StartToEnd",b)==0)a=igRF_b;else{b.moveEnd("character",-1);if(b.text==f)g+="\r\n";else a=igRF_b}return[e.length,e.length+g.length]};igRF_.dom.selection.getEndPoints=function(a){return igRF_.dom.selection.md(a,igRF_d)};
igRF_.dom.selection.md=function(a,b){var c=0,d=0;if(igRF_.dom.selection.pb(a)){c=a.selectionStart;d=b?-1:a.selectionEnd}else if(igRF_.userAgent.IE){var e=igRF_.dom.selection.Ab(a),f=e[0];e=e[1];if(f.inRange(e)){f.setEndPoint("EndToStart",e);if(a.type=="textarea")return igRF_.dom.selection.vh(f,e,b);c=f.text.length;d=b?-1:f.text.length+e.text.length}}return[c,d]};
igRF_.dom.selection.setEnd=function(a,b){if(igRF_.dom.selection.pb(a))a.selectionEnd=b;else if(igRF_.userAgent.IE){var c=igRF_.dom.selection.Ab(a),d=c[0];c=c[1];if(d.inRange(c)){b=igRF_.dom.selection.bc(a,b);a=igRF_.dom.selection.bc(a,igRF_.dom.selection.getStart(a));c.collapse(igRF_b);c.moveEnd("character",b-a);c.select()}}};igRF_.dom.selection.getEnd=function(a){return igRF_.dom.selection.md(a,igRF_d)[1]};
igRF_.dom.selection.me=function(a,b){if(igRF_.dom.selection.pb(a)){a.selectionStart=b;a.selectionEnd=b}else if(igRF_.userAgent.IE){b=igRF_.dom.selection.bc(a,b);a=a.createTextRange();a.collapse(igRF_b);a.move("character",b);a.select()}};
igRF_.dom.selection.setText=function(a,b){if(igRF_.dom.selection.pb(a)){var c=a.value,d=a.selectionStart,e=c.substr(0,d);c=c.substr(a.selectionEnd);a.value=e+b+c;a.selectionStart=d;a.selectionEnd=d+b.length}else if(igRF_.userAgent.IE){d=igRF_.dom.selection.Ab(a);a=d[0];d=d[1];if(a.inRange(d)){a=d.duplicate();d.text=b;d.setEndPoint("StartToStart",a);d.select()}}else igRF_a(Error("Cannot set the selection end"))};
igRF_.dom.selection.getText=function(a){if(igRF_.dom.selection.pb(a)){var b=a.value;return b.substring(a.selectionStart,a.selectionEnd)}if(igRF_.userAgent.IE){var c=igRF_.dom.selection.Ab(a);b=c[0];c=c[1];if(b.inRange(c)){if(a.type=="textarea")return igRF_.dom.selection.wh(c)}else return"";return c.text}igRF_a(Error("Cannot get the selection text"))};
igRF_.dom.selection.wh=function(a){a=a.duplicate();for(var b=a.text,c=b,d=igRF_d;!d;)if(a.compareEndPoints("StartToEnd",a)==0)d=igRF_b;else{a.moveEnd("character",-1);if(a.text==b)c+="\r\n";else d=igRF_b}return c};igRF_.dom.selection.Ab=function(a){var b=a.ownerDocument||a.document,c=b.selection.createRange();if(a.type=="textarea"){b=b.body.createTextRange();b.moveToElementText(a)}else b=a.createTextRange();return[b,c]};
igRF_.dom.selection.bc=function(a,b){if(a.type=="textarea"){a=a.value.substring(0,b);b=igRF_.string.canonicalizeNewlines(a).length}return b};igRF_.dom.selection.pb=function(a){try{return typeof a.selectionStart=="number"}catch(b){return igRF_d}};igRF_.events.EventHandler=function(a){this.Cb=a};igRF_.inherits(igRF_.events.EventHandler,igRF_.Disposable);igRF_.events.EventHandler.KEY_POOL_INITIAL_COUNT=0;igRF_.events.EventHandler.KEY_POOL_MAX_COUNT=100;igRF_.events.EventHandler.Pf=new igRF_.structs.SimplePool(igRF_.events.EventHandler.KEY_POOL_INITIAL_COUNT,igRF_.events.EventHandler.KEY_POOL_MAX_COUNT);igRF_.events.EventHandler.a=igRF_c;igRF_.events.EventHandler.ya=igRF_c;
igRF_.events.EventHandler.prototype.listen=function(a,b,c,d,e){if(igRF_.isArray(b))for(var f=0;f<b.length;f++)this.listen(a,b[f],c,d,e);else{a=igRF_.events.listen(a,b,c||this,d||igRF_d,e||this.Cb||this);this.le(a)}return this};igRF_.events.EventHandler.prototype.Hb=function(a,b,c,d,e){if(igRF_.isArray(b))for(var f=0;f<b.length;f++)this.Hb(a,b[f],c,d,e);else{a=igRF_.events.Hb(a,b,c||this,d||igRF_d,e||this.Cb||this);this.le(a)}return this};
igRF_.events.EventHandler.prototype.Sf=function(a,b,c,d,e){b.listen(a,c,d,e||this.Cb,this);return this};igRF_.events.EventHandler.prototype.le=function(a){if(this.a)this.a[a]=igRF_b;else if(this.ya){this.a=igRF_.events.EventHandler.Pf.ja();this.a[this.ya]=igRF_b;this.ya=igRF_c;this.a[a]=igRF_b}else this.ya=a};
igRF_.events.EventHandler.prototype.unlisten=function(a,b,c,d,e){if(this.ya||this.a)if(igRF_.isArray(b))for(var f=0;f<b.length;f++)this.unlisten(a,b[f],c,d,e);else if(a=igRF_.events.getListener(a,b,c||this,d||igRF_d,e||this.Cb||this)){a=a.key;igRF_.events.unlistenByKey(a);if(this.a)igRF_.object.remove(this.a,a);else if(this.ya==a)this.ya=igRF_c}return this};igRF_.events.EventHandler.prototype.Vg=function(a,b,c,d,e){b.unlisten(a,c,d,e||this.Cb,this);return this};
igRF_.events.EventHandler.prototype.nb=function(){if(this.a){for(var a in this.a){igRF_.events.unlistenByKey(a);delete this.a[a]}igRF_.events.EventHandler.Pf.la(this.a);this.a=igRF_c}else this.ya&&igRF_.events.unlistenByKey(this.ya)};igRF_.events.EventHandler.prototype.d=function(){igRF_.events.EventHandler.aa.d.call(this);this.nb()};igRF_.events.EventHandler.prototype.handleEvent=function(){igRF_a(Error("EventHandler.handleEvent not implemented"))};igRF_.events.KeyCodes={MAC_ENTER:3,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,QUESTION_MARK:63,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,CONTEXT_MENU:93,NUM_ZERO:96,
NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUMLOCK:144,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,PERIOD:190,SLASH:191,APOSTROPHE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,WIN_KEY:224,MAC_FF_META:224,WIN_IME:229};
igRF_.events.KeyCodes.isTextModifyingKeyEvent=function(a){if(a.altKey&&!a.ctrlKey||a.metaKey||a.keyCode>=igRF_.events.KeyCodes.F1&&a.keyCode<=igRF_.events.KeyCodes.F12)return igRF_d;switch(a.keyCode){case igRF_.events.KeyCodes.ALT:case igRF_.events.KeyCodes.SHIFT:case igRF_.events.KeyCodes.CTRL:case igRF_.events.KeyCodes.PAUSE:case igRF_.events.KeyCodes.CAPS_LOCK:case igRF_.events.KeyCodes.ESC:case igRF_.events.KeyCodes.PAGE_UP:case igRF_.events.KeyCodes.PAGE_DOWN:case igRF_.events.KeyCodes.HOME:case igRF_.events.KeyCodes.END:case igRF_.events.KeyCodes.LEFT:case igRF_.events.KeyCodes.RIGHT:case igRF_.events.KeyCodes.UP:case igRF_.events.KeyCodes.DOWN:case igRF_.events.KeyCodes.INSERT:case igRF_.events.KeyCodes.NUMLOCK:case igRF_.events.KeyCodes.CONTEXT_MENU:case igRF_.events.KeyCodes.PRINT_SCREEN:return igRF_d;
default:return igRF_b}};igRF_.events.KeyCodes.firesKeyPressEvent=function(a,b,c,d,e){if(!igRF_.userAgent.IE&&!(igRF_.userAgent.WEBKIT&&igRF_.userAgent.isVersion("525")))return igRF_b;if(igRF_.userAgent.MAC&&e)return igRF_.events.KeyCodes.isCharacterKey(a);if(e&&!d)return igRF_d;if(igRF_.userAgent.IE&&!c&&(b==igRF_.events.KeyCodes.CTRL||b==igRF_.events.KeyCodes.ALT))return igRF_d;if(igRF_.userAgent.IE&&d&&b==a)return igRF_d;switch(a){case igRF_.events.KeyCodes.ENTER:return igRF_b;case igRF_.events.KeyCodes.ESC:return!igRF_.userAgent.WEBKIT}return igRF_.events.KeyCodes.isCharacterKey(a)};
igRF_.events.KeyCodes.isCharacterKey=function(a){if(a>=igRF_.events.KeyCodes.ZERO&&a<=igRF_.events.KeyCodes.NINE)return igRF_b;if(a>=igRF_.events.KeyCodes.NUM_ZERO&&a<=igRF_.events.KeyCodes.NUM_MULTIPLY)return igRF_b;if(a>=igRF_.events.KeyCodes.A&&a<=igRF_.events.KeyCodes.Z)return igRF_b;switch(a){case igRF_.events.KeyCodes.SPACE:case igRF_.events.KeyCodes.QUESTION_MARK:case igRF_.events.KeyCodes.NUM_PLUS:case igRF_.events.KeyCodes.NUM_MINUS:case igRF_.events.KeyCodes.NUM_PERIOD:case igRF_.events.KeyCodes.NUM_DIVISION:case igRF_.events.KeyCodes.SEMICOLON:case igRF_.events.KeyCodes.DASH:case igRF_.events.KeyCodes.EQUALS:case igRF_.events.KeyCodes.COMMA:case igRF_.events.KeyCodes.PERIOD:case igRF_.events.KeyCodes.SLASH:case igRF_.events.KeyCodes.APOSTROPHE:case igRF_.events.KeyCodes.SINGLE_QUOTE:case igRF_.events.KeyCodes.OPEN_SQUARE_BRACKET:case igRF_.events.KeyCodes.BACKSLASH:case igRF_.events.KeyCodes.CLOSE_SQUARE_BRACKET:return igRF_b;
default:return igRF_d}};igRF_.events.KeyHandler=function(a){a&&this.attach(a)};igRF_.inherits(igRF_.events.KeyHandler,igRF_.events.EventTarget);igRF_.events.KeyHandler.prototype.c=igRF_c;igRF_.events.KeyHandler.prototype.Fb=igRF_c;igRF_.events.KeyHandler.prototype.Ac=igRF_c;igRF_.events.KeyHandler.prototype.Gb=igRF_c;igRF_.events.KeyHandler.prototype.lb=-1;igRF_.events.KeyHandler.prototype.Ra=-1;igRF_.events.KeyHandler.EventType={KEY:"key"};
igRF_.events.KeyHandler.vg={"3":igRF_.events.KeyCodes.ENTER,"12":igRF_.events.KeyCodes.NUMLOCK,"63232":igRF_.events.KeyCodes.UP,"63233":igRF_.events.KeyCodes.DOWN,"63234":igRF_.events.KeyCodes.LEFT,"63235":igRF_.events.KeyCodes.RIGHT,"63236":igRF_.events.KeyCodes.F1,"63237":igRF_.events.KeyCodes.F2,"63238":igRF_.events.KeyCodes.F3,"63239":igRF_.events.KeyCodes.F4,"63240":igRF_.events.KeyCodes.F5,"63241":igRF_.events.KeyCodes.F6,"63242":igRF_.events.KeyCodes.F7,"63243":igRF_.events.KeyCodes.F8,"63244":igRF_.events.KeyCodes.F9,
"63245":igRF_.events.KeyCodes.F10,"63246":igRF_.events.KeyCodes.F11,"63247":igRF_.events.KeyCodes.F12,"63248":igRF_.events.KeyCodes.PRINT_SCREEN,"63272":igRF_.events.KeyCodes.DELETE,"63273":igRF_.events.KeyCodes.HOME,"63275":igRF_.events.KeyCodes.END,"63276":igRF_.events.KeyCodes.PAGE_UP,"63277":igRF_.events.KeyCodes.PAGE_DOWN,"63289":igRF_.events.KeyCodes.NUMLOCK,"63302":igRF_.events.KeyCodes.INSERT};
igRF_.events.KeyHandler.Of={Up:igRF_.events.KeyCodes.UP,Down:igRF_.events.KeyCodes.DOWN,Left:igRF_.events.KeyCodes.LEFT,Right:igRF_.events.KeyCodes.RIGHT,Enter:igRF_.events.KeyCodes.ENTER,F1:igRF_.events.KeyCodes.F1,F2:igRF_.events.KeyCodes.F2,F3:igRF_.events.KeyCodes.F3,F4:igRF_.events.KeyCodes.F4,F5:igRF_.events.KeyCodes.F5,F6:igRF_.events.KeyCodes.F6,F7:igRF_.events.KeyCodes.F7,F8:igRF_.events.KeyCodes.F8,F9:igRF_.events.KeyCodes.F9,F10:igRF_.events.KeyCodes.F10,F11:igRF_.events.KeyCodes.F11,F12:igRF_.events.KeyCodes.F12,
"U+007F":igRF_.events.KeyCodes.DELETE,Home:igRF_.events.KeyCodes.HOME,End:igRF_.events.KeyCodes.END,PageUp:igRF_.events.KeyCodes.PAGE_UP,PageDown:igRF_.events.KeyCodes.PAGE_DOWN,Insert:igRF_.events.KeyCodes.INSERT};igRF_.events.KeyHandler.bg={61:187,59:186};igRF_.events.KeyHandler.fh=igRF_.userAgent.IE||igRF_.userAgent.WEBKIT&&igRF_.userAgent.isVersion("525");
igRF_.events.KeyHandler.prototype.xf=function(a){if(igRF_.events.KeyHandler.fh&&!igRF_.events.KeyCodes.firesKeyPressEvent(a.keyCode,this.lb,a.shiftKey,a.ctrlKey,a.altKey))this.handleEvent(a);else this.Ra=igRF_.userAgent.GECKO&&a.keyCode in igRF_.events.KeyHandler.bg?igRF_.events.KeyHandler.bg[a.keyCode]:a.keyCode};igRF_.events.KeyHandler.prototype.zf=function(){this.Ra=this.lb=-1};
igRF_.events.KeyHandler.prototype.handleEvent=function(a){var b=a.df(),c,d;if(igRF_.userAgent.IE&&a.type==igRF_.events.EventType.KEYPRESS){c=this.Ra;d=c!=igRF_.events.KeyCodes.ENTER&&c!=igRF_.events.KeyCodes.ESC?b.keyCode:0}else if(igRF_.userAgent.WEBKIT&&a.type==igRF_.events.EventType.KEYPRESS){c=this.Ra;d=b.charCode>=0&&b.charCode<63232&&igRF_.events.KeyCodes.isCharacterKey(c)?b.charCode:0}else if(igRF_.userAgent.OPERA){c=this.Ra;d=igRF_.events.KeyCodes.isCharacterKey(c)?b.keyCode:0}else{c=b.keyCode||
this.Ra;d=b.charCode||0;if(igRF_.userAgent.MAC&&d==igRF_.events.KeyCodes.QUESTION_MARK&&!c)c=igRF_.events.KeyCodes.SLASH}var e=c,f=b.keyIdentifier;if(c)if(c>=63232&&c in igRF_.events.KeyHandler.vg)e=igRF_.events.KeyHandler.vg[c];else{if(c==25&&a.shiftKey)e=9}else if(f&&f in igRF_.events.KeyHandler.Of)e=igRF_.events.KeyHandler.Of[f];a=e==this.lb;this.lb=e;b=new igRF_.events.KeyEvent(e,d,a,b);try{this.dispatchEvent(b)}finally{b.dispose()}};igRF_.events.KeyHandler.prototype.wa=function(){return this.c};
igRF_.events.KeyHandler.prototype.attach=function(a){this.Gb&&this.detach();this.c=a;this.Fb=igRF_.events.listen(this.c,igRF_.events.EventType.KEYPRESS,this);this.Ac=igRF_.events.listen(this.c,igRF_.events.EventType.KEYDOWN,this.xf,igRF_d,this);this.Gb=igRF_.events.listen(this.c,igRF_.events.EventType.KEYUP,this.zf,igRF_d,this)};
igRF_.events.KeyHandler.prototype.detach=function(){if(this.Fb){igRF_.events.unlistenByKey(this.Fb);igRF_.events.unlistenByKey(this.Ac);igRF_.events.unlistenByKey(this.Gb);this.Gb=this.Ac=this.Fb=igRF_c}this.c=igRF_c;this.lb=-1};igRF_.events.KeyHandler.prototype.d=function(){igRF_.events.KeyHandler.aa.d.call(this);this.detach()};
igRF_.events.KeyEvent=function(a,b,c,d){igRF_.events.BrowserEvent.call(this,d);this.type=igRF_.events.KeyHandler.EventType.KEY;this.keyCode=a;this.charCode=b;this.repeat=c};igRF_.inherits(igRF_.events.KeyEvent,igRF_.events.BrowserEvent);igRF_.Timer=function(a,b){this.Eb=a||1;this.Vb=b||igRF_.Timer.defaultTimerObject;this.Sc=igRF_.bind(this.Og,this);this.Yd=igRF_.now()};igRF_.inherits(igRF_.Timer,igRF_.events.EventTarget);igRF_.Timer.eh=2147483647;igRF_.Timer.prototype.enabled=igRF_d;igRF_.Timer.defaultTimerObject=igRF_.global.window;igRF_.Timer.intervalScale=0.8;igRF_.Timer.prototype.k=igRF_c;igRF_.Timer.prototype.setInterval=function(a){this.Eb=a;if(this.k&&this.enabled){this.stop();this.start()}else this.k&&this.stop()};
igRF_.Timer.prototype.Og=function(){if(this.enabled){var a=igRF_.now()-this.Yd;if(a>0&&a<this.Eb*igRF_.Timer.intervalScale)this.k=this.Vb.setTimeout(this.Sc,this.Eb-a);else{this.Ye();if(this.enabled){this.k=this.Vb.setTimeout(this.Sc,this.Eb);this.Yd=igRF_.now()}}}};igRF_.Timer.prototype.Ye=function(){this.dispatchEvent(igRF_.Timer.TICK)};igRF_.Timer.prototype.start=function(){this.enabled=igRF_b;if(!this.k){this.k=this.Vb.setTimeout(this.Sc,this.Eb);this.Yd=igRF_.now()}};
igRF_.Timer.prototype.stop=function(){this.enabled=igRF_d;if(this.k){this.Vb.clearTimeout(this.k);this.k=igRF_c}};igRF_.Timer.prototype.d=function(){igRF_.Timer.aa.d.call(this);this.stop();delete this.Vb};igRF_.Timer.TICK="tick";
igRF_.Timer.vb=function(a,b,c){if(igRF_.isFunction(a)){if(c)a=igRF_.bind(a,c)}else if(a&&typeof a.handleEvent=="function")a=igRF_.bind(a.handleEvent,a);else igRF_a(Error("Invalid listener argument"));return b>igRF_.Timer.eh?-1:igRF_.Timer.defaultTimerObject.setTimeout(a,b||0)};igRF_.Timer.clear=function(a){igRF_.Timer.defaultTimerObject.clearTimeout(a)};igRF_.ui.AutoComplete.InputHandler=function(a,b,c,d){d=d||150;this.Fg(igRF_.isDefAndNotNull(a)?a:igRF_.ui.AutoComplete.InputHandler.STANDARD_LIST_SEPARATORS);this.Tf=b||"";this.Gh=this.mb=c!=igRF_c?c:igRF_b;this.k=d>0?new igRF_.Timer(d):igRF_c;this.q=new igRF_.events.EventHandler(this);this.Yb=new igRF_.events.EventHandler(this);this.Bc=new igRF_.events.KeyHandler;this.Qf=-1};igRF_.inherits(igRF_.ui.AutoComplete.InputHandler,igRF_.Disposable);
igRF_.ui.AutoComplete.InputHandler.STANDARD_LIST_SEPARATORS=",;";igRF_.ui.AutoComplete.InputHandler.QUOTE_LITERALS='"';igRF_.ui.AutoComplete.InputHandler.prototype.Xg=igRF_b;igRF_.ui.AutoComplete.InputHandler.prototype.af=igRF_b;igRF_.ui.AutoComplete.InputHandler.prototype.Oc=igRF_d;igRF_.ui.AutoComplete.InputHandler.prototype.yg=igRF_b;igRF_.ui.AutoComplete.InputHandler.prototype.xg=igRF_b;igRF_.ui.AutoComplete.InputHandler.prototype.h=igRF_c;igRF_.ui.AutoComplete.InputHandler.prototype.Cc="";
igRF_.ui.AutoComplete.InputHandler.prototype.Ba=igRF_d;igRF_.ui.AutoComplete.InputHandler.prototype.Ic=igRF_d;igRF_.ui.AutoComplete.InputHandler.prototype.Wg=igRF_b;igRF_.ui.AutoComplete.InputHandler.prototype.Qc=function(a){this.i=a};igRF_.ui.AutoComplete.InputHandler.prototype.Fa=function(){return this.h.value};igRF_.ui.AutoComplete.InputHandler.prototype.Lg=function(a){this.h.value=a};igRF_.ui.AutoComplete.InputHandler.prototype.jd=function(){return igRF_.dom.selection.getStart(this.h)};
igRF_.ui.AutoComplete.InputHandler.prototype.me=function(a){igRF_.dom.selection.setStart(this.h,a);igRF_.dom.selection.setEnd(this.h,a)};igRF_.ui.AutoComplete.InputHandler.prototype.Le=function(a){igRF_.dom.a11y.setState(a,"haspopup",igRF_b);this.q.listen(a,igRF_.events.EventType.FOCUS,this.ce);this.q.listen(a,igRF_.events.EventType.BLUR,this.gg);this.h||this.Yb.listen(a,igRF_.events.EventType.KEYDOWN,this.hg)};igRF_.ui.AutoComplete.InputHandler.prototype.Ya=function(){for(var a=0;a<arguments.length;a++)this.Le(arguments[a])};
igRF_.ui.AutoComplete.InputHandler.prototype.wg=function(a,b){if(igRF_.isDef(b)?b:this.mb){b=this.Ed(this.Fa(),this.jd());var c=this.Mc(this.Fa());a=a.toString();this.Nh.test(a)||(a=igRF_.string.trimRight(a)+this.kh);if(this.Xg){if(b!=0&&!igRF_.string.p(c[b-1]))a=" "+a;if(b<c.length&&!igRF_.string.p(c[b+1]))a+=" "}if(a!=c[b]){c[b]=a;a=this.h;igRF_.userAgent.GECKO&&a.blur();a.value=c.join("");for(var d=0,e=0;e<=b;e++)d+=c[e].length;a.focus();this.me(d)}}else this.Lg(a.toString());this.Ic=igRF_b;return igRF_d};
igRF_.ui.AutoComplete.InputHandler.prototype.d=function(){igRF_.ui.AutoComplete.InputHandler.aa.d.call(this);this.q.dispose();delete this.q;this.Yb.dispose();this.Yb=igRF_c};igRF_.ui.AutoComplete.InputHandler.prototype.Fg=function(a){this.Ob=a;this.kh=this.Ob.substring(0,1);a=this.mb?"[\\s"+this.Ob+"]+":"[\\s]+";this.Ug=new RegExp("^"+a+"|"+a+"$","g");this.Nh=new RegExp("\\s*["+this.Ob+"]$")};igRF_.ui.AutoComplete.InputHandler.prototype.Kg=function(a){this.Oc=a};
igRF_.ui.AutoComplete.InputHandler.prototype.yf=function(a){switch(a.keyCode){case igRF_.events.KeyCodes.DOWN:if(this.i.isOpen()){this.$f();a.preventDefault();return igRF_b}else if(!this.mb){this.update(igRF_b);a.preventDefault();return igRF_b}break;case igRF_.events.KeyCodes.UP:if(this.i.isOpen()){this.ag();a.preventDefault();return igRF_b}break;case igRF_.events.KeyCodes.TAB:if(this.i.isOpen()){this.update();if(this.i.Nb()&&this.Gh){a.preventDefault();return igRF_b}}else this.i.dismiss();break;
case igRF_.events.KeyCodes.ENTER:this.update();if(this.i.Nb()){a.preventDefault();return igRF_b}break;case igRF_.events.KeyCodes.ESC:if(this.i.isOpen()){this.i.dismiss();return igRF_b}break;case igRF_.events.KeyCodes.WIN_IME:if(!this.Ba){this.Ng();return igRF_b}break;default:if(this.k&&!this.Wg){this.k.stop();this.k.start()}}return this.Ld(a)};
igRF_.ui.AutoComplete.InputHandler.prototype.Ld=function(a){var b=this.mb&&a.charCode&&this.Ob.indexOf(String.fromCharCode(a.charCode))!=-1;this.yg&&b&&this.update();if(this.xg&&b)if(this.i.Nb()){a.preventDefault();return igRF_b}return igRF_d};igRF_.ui.AutoComplete.InputHandler.prototype.cg=function(){return igRF_d};igRF_.ui.AutoComplete.InputHandler.prototype.Id=function(){return igRF_d};
igRF_.ui.AutoComplete.InputHandler.prototype.Fe=function(){this.Bc.attach(this.h);this.q.listen(this.Bc,igRF_.events.KeyHandler.EventType.KEY,this.ge);this.cg()&&this.q.listen(this.h,igRF_.events.EventType.KEYUP,this.Id);igRF_.userAgent.IE&&this.q.listen(this.h,igRF_.events.EventType.KEYPRESS,this.de)};
igRF_.ui.AutoComplete.InputHandler.prototype.qg=function(){this.q.unlisten(this.Bc,igRF_.events.KeyHandler.EventType.KEY,this.ge);this.Bc.detach();this.q.unlisten(this.h,igRF_.events.EventType.KEYUP,this.Id);igRF_.userAgent.IE&&this.q.unlisten(this.h,igRF_.events.EventType.KEYPRESS,this.de);this.Ba&&this.Nc()};
igRF_.ui.AutoComplete.InputHandler.prototype.ce=function(a){this.Yb.nb();this.i&&this.i.ac();if(a.target!=this.h){this.h=a.target||igRF_c;if(this.k){this.k.start();this.q.listen(this.k,igRF_.Timer.TICK,this.ie)}this.Cc=this.Fa();this.Fe()}};igRF_.ui.AutoComplete.InputHandler.prototype.gg=function(){if(this.h){this.qg();this.h=igRF_c;if(this.k){this.k.stop();this.q.unlisten(this.k,igRF_.Timer.TICK,this.ie)}this.i&&this.i.Zc()}};igRF_.ui.AutoComplete.InputHandler.prototype.ie=function(){this.update()};
igRF_.ui.AutoComplete.InputHandler.prototype.hg=function(a){this.ce(a)};igRF_.ui.AutoComplete.InputHandler.prototype.ge=function(a){this.Qf=a.keyCode;this.i&&this.yf(a)};igRF_.ui.AutoComplete.InputHandler.prototype.ee=function(){this.Ba&&this.Qf!=igRF_.events.KeyCodes.WIN_IME&&this.Nc()};igRF_.ui.AutoComplete.InputHandler.prototype.fe=function(a){if(this.Ba&&(a.keyCode==igRF_.events.KeyCodes.ENTER||a.keyCode==igRF_.events.KeyCodes.M&&a.ctrlKey))this.Nc()};
igRF_.ui.AutoComplete.InputHandler.prototype.Ng=function(){if(!this.Ba){this.q.listen(this.h,igRF_.events.EventType.KEYUP,this.fe);this.q.listen(this.h,igRF_.events.EventType.KEYPRESS,this.ee);this.Ba=igRF_b}};igRF_.ui.AutoComplete.InputHandler.prototype.Nc=function(){if(this.Ba){this.Ba=igRF_d;this.q.unlisten(this.h,igRF_.events.EventType.KEYPRESS,this.ee);this.q.unlisten(this.h,igRF_.events.EventType.KEYUP,this.fe)}};igRF_.ui.AutoComplete.InputHandler.prototype.de=function(a){this.Ld(a)};
igRF_.ui.AutoComplete.InputHandler.prototype.update=function(a){if(a||this.h&&this.Fa()!=this.Cc){if(a||!this.Ic){a=this.ig();if(this.i){this.i.Hg(this.h);this.i.Ig(a,this.Fa())}}this.Cc=this.Fa()}this.Ic=igRF_d};igRF_.ui.AutoComplete.InputHandler.prototype.ig=function(){return this.jg()};igRF_.ui.AutoComplete.InputHandler.prototype.ag=function(){return this.Oc?this.i.Od():this.i.Pd()};igRF_.ui.AutoComplete.InputHandler.prototype.$f=function(){return this.Oc?this.i.Pd():this.i.Od()};
igRF_.ui.AutoComplete.InputHandler.prototype.jg=function(){var a=this.jd(),b=this.Fa();return this.Tg(this.Mc(b)[this.Ed(b,a)])};igRF_.ui.AutoComplete.InputHandler.prototype.Tg=function(a){return this.Ug?String(a).replace(this.Ug,""):a};igRF_.ui.AutoComplete.InputHandler.prototype.Ed=function(a,b){var c=this.Mc(a);if(b==a.length)return c.length-1;for(var d=a=0,e=0;d<c.length&&e<b;d++){e+=c[d].length;a=d}return a};
igRF_.ui.AutoComplete.InputHandler.prototype.Mc=function(a){if(!this.mb)return[a];a=String(a).split("");for(var b=[],c=[],d=0,e=igRF_d;d<a.length;d++)if(this.Tf&&this.Tf.indexOf(a[d])!=-1){if(this.af&&!e){b.push(c.join(""));c.length=0}c.push(a[d]);e=!e}else if(!e&&this.Ob.indexOf(a[d])!=-1){c.push(a[d]);b.push(c.join(""));c.length=0}else c.push(a[d]);b.push(c.join(""));return b};igRF_.math.Box=function(a,b,c,d){this.top=a;this.right=b;this.bottom=c;this.left=d};igRF_.math.Box.boundingBox=function(){for(var a=new igRF_.math.Box(arguments[0].y,arguments[0].x,arguments[0].y,arguments[0].x),b=1;b<arguments.length;b++){var c=arguments[b];a.top=Math.min(a.top,c.y);a.right=Math.max(a.right,c.x);a.bottom=Math.max(a.bottom,c.y);a.left=Math.min(a.left,c.x)}return a};igRF_.math.Box.prototype.clone=function(){return new igRF_.math.Box(this.top,this.right,this.bottom,this.left)};
if(igRF_.DEBUG)igRF_.math.Box.prototype.toString=function(){return"("+this.top+"t, "+this.right+"r, "+this.bottom+"b, "+this.left+"l)"};igRF_.math.Box.prototype.contains=function(a){return igRF_.math.Box.contains(this,a)};igRF_.math.Box.prototype.expand=function(a,b,c,d){if(igRF_.isObject(a)){this.top-=a.top;this.right+=a.right;this.bottom+=a.bottom;this.left-=a.left}else{this.top-=a;this.right+=b;this.bottom+=c;this.left-=d}return this};
igRF_.math.Box.equals=function(a,b){if(a==b)return igRF_b;if(!a||!b)return igRF_d;return a.top==b.top&&a.right==b.right&&a.bottom==b.bottom&&a.left==b.left};igRF_.math.Box.contains=function(a,b){if(!a||!b)return igRF_d;if(b instanceof igRF_.math.Box)return b.left>=a.left&&b.right<=a.right&&b.top>=a.top&&b.bottom<=a.bottom;return b.x>=a.left&&b.x<=a.right&&b.y>=a.top&&b.y<=a.bottom};
igRF_.math.Box.distance=function(a,b){if(b.x>=a.left&&b.x<=a.right){if(b.y>=a.top&&b.y<=a.bottom)return 0;return b.y<a.top?a.top-b.y:b.y-a.bottom}if(b.y>=a.top&&b.y<=a.bottom)return b.x<a.left?a.left-b.x:b.x-a.right;return igRF_.math.Coordinate.distance(b,new igRF_.math.Coordinate(b.x<a.left?a.left:a.right,b.y<a.top?a.top:a.bottom))};igRF_.math.Box.intersects=function(a,b){return a.left<=b.right&&b.left<=a.right&&a.top<=b.bottom&&b.top<=a.bottom};igRF_.math.Rect=function(a,b,c,d){this.left=a;this.top=b;this.width=c;this.height=d};igRF_.math.Rect.prototype.clone=function(){return new igRF_.math.Rect(this.left,this.top,this.width,this.height)};igRF_.math.Rect.createFromBox=function(a){return new igRF_.math.Rect(a.left,a.top,a.right-a.left,a.bottom-a.top)};if(igRF_.DEBUG)igRF_.math.Rect.prototype.toString=function(){return"("+this.left+", "+this.top+" - "+this.width+"w x "+this.height+"h)"};
igRF_.math.Rect.equals=function(a,b){if(a==b)return igRF_b;if(!a||!b)return igRF_d;return a.left==b.left&&a.width==b.width&&a.top==b.top&&a.height==b.height};igRF_.math.Rect.prototype.intersection=function(a){var b=Math.max(this.left,a.left),c=Math.min(this.left+this.width,a.left+a.width);if(b<=c){var d=Math.max(this.top,a.top);a=Math.min(this.top+this.height,a.top+a.height);if(d<=a){this.left=b;this.top=d;this.width=c-b;this.height=a-d;return igRF_b}}return igRF_d};
igRF_.math.Rect.intersection=function(a,b){var c=Math.max(a.left,b.left),d=Math.min(a.left+a.width,b.left+b.width);if(c<=d){var e=Math.max(a.top,b.top);a=Math.min(a.top+a.height,b.top+b.height);if(e<=a)return new igRF_.math.Rect(c,e,d-c,a-e)}return igRF_c};igRF_.math.Rect.intersects=function(a,b){return a.left<=b.left+b.width&&b.left<=a.left+a.width&&a.top<=b.top+b.height&&b.top<=a.top+a.height};igRF_.math.Rect.prototype.intersects=function(a){return igRF_.math.Rect.intersects(this,a)};
igRF_.math.Rect.difference=function(a,b){var c=igRF_.math.Rect.intersection(a,b);if(!c||!c.height||!c.width)return[a.clone()];c=[];var d=a.top,e=a.height,f=a.left+a.width,g=a.top+a.height,h=b.left+b.width,i=b.top+b.height;if(b.top>a.top){c.push(new igRF_.math.Rect(a.left,a.top,a.width,b.top-a.top));d=b.top;e-=b.top-a.top}if(i<g){c.push(new igRF_.math.Rect(a.left,i,a.width,g-i));e=i-d}b.left>a.left&&c.push(new igRF_.math.Rect(a.left,d,b.left-a.left,e));h<f&&c.push(new igRF_.math.Rect(h,d,f-h,e));return c};
igRF_.math.Rect.prototype.difference=function(a){return igRF_.math.Rect.difference(this,a)};igRF_.math.Rect.prototype.Tc=function(a){var b=Math.max(this.left+this.width,a.left+a.width),c=Math.max(this.top+this.height,a.top+a.height);this.left=Math.min(this.left,a.left);this.top=Math.min(this.top,a.top);this.width=b-this.left;this.height=c-this.top};igRF_.math.Rect.Tc=function(a,b){if(!a||!b)return igRF_c;a=a.clone();a.Tc(b);return a};
igRF_.math.Rect.prototype.contains=function(a){return a instanceof igRF_.math.Rect?this.left<=a.left&&this.left+this.width>=a.left+a.width&&this.top<=a.top&&this.top+this.height>=a.top+a.height:a.x>=this.left&&a.x<=this.left+this.width&&a.y>=this.top&&a.y<=this.top+this.height};igRF_.math.Rect.prototype.hb=function(){return new igRF_.math.Size(this.width,this.height)};igRF_.style={};igRF_.style.setStyle=function(a,b,c){igRF_.isString(b)?igRF_.style.Gg(a,c,b):igRF_.object.forEach(b,igRF_.partial(igRF_.style.Gg,a))};igRF_.style.Gg=function(a,b,c){a.style[igRF_.style.toCamelCase(c)]=b};igRF_.style.getStyle=function(a,b){return a.style[igRF_.style.toCamelCase(b)]};igRF_.style.getComputedStyle=function(a,b){var c=igRF_.dom.o(a);if(c.defaultView&&c.defaultView.getComputedStyle)if(a=c.defaultView.getComputedStyle(a,""))return a[b];return igRF_c};
igRF_.style.getCascadedStyle=function(a,b){return a.currentStyle?a.currentStyle[b]:igRF_c};igRF_.style.r=function(a,b){return igRF_.style.getComputedStyle(a,b)||igRF_.style.getCascadedStyle(a,b)||a.style[b]};igRF_.style.getComputedPosition=function(a){return igRF_.style.r(a,"position")};igRF_.style.getBackgroundColor=function(a){return igRF_.style.r(a,"backgroundColor")};igRF_.style.getComputedOverflowX=function(a){return igRF_.style.r(a,"overflowX")};
igRF_.style.getComputedOverflowY=function(a){return igRF_.style.r(a,"overflowY")};igRF_.style.getComputedZIndex=function(a){return igRF_.style.r(a,"zIndex")};igRF_.style.getComputedTextAlign=function(a){return igRF_.style.r(a,"textAlign")};igRF_.style.getComputedCursor=function(a){return igRF_.style.r(a,"cursor")};
igRF_.style.setPosition=function(a,b,c){var d,e=igRF_.userAgent.GECKO&&(igRF_.userAgent.MAC||igRF_.userAgent.X11)&&igRF_.userAgent.isVersion("1.9");if(b instanceof igRF_.math.Coordinate){d=b.x;b=b.y}else{d=b;b=c}a.style.left=typeof d=="number"?(e?Math.round(d):d)+"px":d;a.style.top=typeof b=="number"?(e?Math.round(b):b)+"px":b};igRF_.style.getPosition=function(a){return new igRF_.math.Coordinate(a.offsetLeft,a.offsetTop)};
igRF_.style.getClientViewportElement=function(a){a=a?a.nodeType==igRF_.dom.NodeType.DOCUMENT?a:igRF_.dom.o(a):igRF_.dom.da();if(igRF_.userAgent.IE&&!igRF_.dom.$(a).xa())return a.body;return a.documentElement};igRF_.style.bf=function(a){var b=a.getBoundingClientRect();if(igRF_.userAgent.IE){a=a.ownerDocument;b.left-=a.documentElement.clientLeft+a.body.clientLeft;b.top-=a.documentElement.clientTop+a.body.clientTop}return b};
igRF_.style.getOffsetParent=function(a){if(igRF_.userAgent.IE)return a.offsetParent;var b=igRF_.dom.o(a),c=igRF_.style.r(a,"position"),d=c=="fixed"||c=="absolute";for(a=a.parentNode;a&&a!=b;a=a.parentNode){c=igRF_.style.r(a,"position");d=d&&c=="static"&&a!=b.documentElement&&a!=b.body;if(!d&&(a.scrollWidth>a.clientWidth||a.scrollHeight>a.clientHeight||c=="fixed"||c=="absolute"))return a}return igRF_c};
igRF_.style.getVisibleRectForElement=function(a){var b=new igRF_.math.Box(0,Infinity,Infinity,0),c=igRF_.dom.$(a),d=c.da().body,e=c.kd(),f;for(a=a;a=igRF_.style.getOffsetParent(a);)if((!igRF_.userAgent.IE||a.clientWidth!=0)&&(!igRF_.userAgent.WEBKIT||a.clientHeight!=0||a!=d)&&(a.scrollWidth!=a.clientWidth||a.scrollHeight!=a.clientHeight)&&igRF_.style.r(a,"overflow")!="visible"){var g=igRF_.style.getPageOffset(a),h=igRF_.style.getClientLeftTop(a);g.x+=h.x;g.y+=h.y;b.top=Math.max(b.top,g.y);b.right=
Math.min(b.right,g.x+a.clientWidth);b.bottom=Math.min(b.bottom,g.y+a.clientHeight);b.left=Math.max(b.left,g.x);f=f||a!=e}d=e.scrollLeft;e=e.scrollTop;if(igRF_.userAgent.WEBKIT){b.left+=d;b.top+=e}else{b.left=Math.max(b.left,d);b.top=Math.max(b.top,e)}if(!f||igRF_.userAgent.WEBKIT){b.right+=d;b.bottom+=e}c=c.tc();b.right=Math.min(b.right,d+c.width);b.bottom=Math.min(b.bottom,e+c.height);return b.top>=0&&b.left>=0&&b.bottom>b.top&&b.right>b.left?b:igRF_c};
igRF_.style.scrollIntoContainerView=function(a,b,c){var d=igRF_.style.getPageOffset(a),e=igRF_.style.getPageOffset(b),f=igRF_.style.getBorderBox(b),g=d.x-e.x-f.left;d=d.y-e.y-f.top;e=b.clientWidth-a.offsetWidth;a=b.clientHeight-a.offsetHeight;if(c){b.scrollLeft+=g-e/2;b.scrollTop+=d-a/2}else{b.scrollLeft+=Math.min(g,Math.max(g-e,0));b.scrollTop+=Math.min(d,Math.max(d-a,0))}};
igRF_.style.getClientLeftTop=function(a){if(igRF_.userAgent.GECKO&&!igRF_.userAgent.isVersion("1.9")){var b=parseFloat(igRF_.style.getComputedStyle(a,"borderLeftWidth"));if(igRF_.style.isRightToLeft(a)){var c=a.offsetWidth-a.clientWidth-b-parseFloat(igRF_.style.getComputedStyle(a,"borderRightWidth"));b+=c}return new igRF_.math.Coordinate(b,parseFloat(igRF_.style.getComputedStyle(a,"borderTopWidth")))}return new igRF_.math.Coordinate(a.clientLeft,a.clientTop)};
igRF_.style.getPageOffset=function(a){var b,c=igRF_.dom.o(a),d=igRF_.style.r(a,"position"),e=igRF_.userAgent.GECKO&&c.getBoxObjectFor&&!a.getBoundingClientRect&&d=="absolute"&&(b=c.getBoxObjectFor(a))&&(b.screenX<0||b.screenY<0),f=new igRF_.math.Coordinate(0,0),g=igRF_.style.getClientViewportElement(c);if(a==g)return f;if(a.getBoundingClientRect){b=igRF_.style.bf(a);a=igRF_.dom.$(c).eb();f.x=b.left+a.x;f.y=b.top+a.y}else if(c.getBoxObjectFor&&!e){b=c.getBoxObjectFor(a);a=c.getBoxObjectFor(g);f.x=
b.screenX-a.screenX;f.y=b.screenY-a.screenY}else{b=a;do{f.x+=b.offsetLeft;f.y+=b.offsetTop;if(b!=a){f.x+=b.clientLeft||0;f.y+=b.clientTop||0}if(igRF_.userAgent.WEBKIT&&igRF_.style.getComputedPosition(b)=="fixed"){f.x+=c.body.scrollLeft;f.y+=c.body.scrollTop;break}b=b.offsetParent}while(b&&b!=a);if(igRF_.userAgent.OPERA||igRF_.userAgent.WEBKIT&&d=="absolute")f.y-=c.body.offsetTop;for(b=a;(b=igRF_.style.getOffsetParent(b))&&b!=c.body&&b!=g;){f.x-=b.scrollLeft;if(!igRF_.userAgent.OPERA||b.tagName!="TR")f.y-=
b.scrollTop}}return f};igRF_.style.getPageOffsetLeft=function(a){return igRF_.style.getPageOffset(a).x};igRF_.style.getPageOffsetTop=function(a){return igRF_.style.getPageOffset(a).y};igRF_.style.getFramedPageOffset=function(a,b){var c=new igRF_.math.Coordinate(0,0),d=igRF_.dom.ib(igRF_.dom.o(a));a=a;do{var e=d==b?igRF_.style.getPageOffset(a):igRF_.style.getClientPosition(a);c.x+=e.x;c.y+=e.y}while(d&&d!=b&&(a=d.frameElement)&&(d=d.parent));return c};
igRF_.style.translateRectForAnotherFrame=function(a,b,c){if(b.da()!=c.da()){var d=b.da().body;c=igRF_.style.getFramedPageOffset(d,c.ib());c=igRF_.math.Coordinate.difference(c,igRF_.style.getPageOffset(d));if(igRF_.userAgent.IE&&!b.xa())c=igRF_.math.Coordinate.difference(c,b.eb());a.left+=c.x;a.top+=c.y}};igRF_.style.getRelativePosition=function(a,b){a=igRF_.style.getClientPosition(a);b=igRF_.style.getClientPosition(b);return new igRF_.math.Coordinate(a.x-b.x,a.y-b.y)};
igRF_.style.getClientPosition=function(a){var b=new igRF_.math.Coordinate;if(a.nodeType==igRF_.dom.NodeType.ELEMENT)if(a.getBoundingClientRect){var c=igRF_.style.bf(a);b.x=c.left;b.y=c.top}else{c=igRF_.dom.$(a).eb();a=igRF_.style.getPageOffset(a);b.x=a.x-c.x;b.y=a.y-c.y}else{b.x=a.clientX;b.y=a.clientY}return b};
igRF_.style.setPageOffset=function(a,b,c){var d=igRF_.style.getPageOffset(a);if(b instanceof igRF_.math.Coordinate){c=b.y;b=b.x}b=b-d.x;c=c-d.y;igRF_.style.setPosition(a,a.offsetLeft+b,a.offsetTop+c)};igRF_.style.setSize=function(a,b,c){if(b instanceof igRF_.math.Size){c=b.height;b=b.width}else{if(c==undefined)igRF_a(Error("missing height argument"));c=c}a.style.width=typeof b=="number"?Math.round(b)+"px":b;a.style.height=typeof c=="number"?Math.round(c)+"px":c};
igRF_.style.hb=function(a){var b=igRF_.userAgent.OPERA&&!igRF_.userAgent.isVersion("10");if(igRF_.style.r(a,"display")!="none")return b?new igRF_.math.Size(a.offsetWidth||a.clientWidth,a.offsetHeight||a.clientHeight):new igRF_.math.Size(a.offsetWidth,a.offsetHeight);var c=a.style,d=c.display,e=c.visibility,f=c.position;c.visibility="hidden";c.position="absolute";c.display="inline";if(b){b=a.offsetWidth||a.clientWidth;a=a.offsetHeight||a.clientHeight}else{b=a.offsetWidth;a=a.offsetHeight}c.display=
d;c.position=f;c.visibility=e;return new igRF_.math.Size(b,a)};igRF_.style.getBounds=function(a){var b=igRF_.style.getPageOffset(a);a=igRF_.style.hb(a);return new igRF_.math.Rect(b.x,b.y,a.width,a.height)};igRF_.style.Pg={};igRF_.style.toCamelCase=function(a){return igRF_.style.Pg[a]||(igRF_.style.Pg[a]=String(a).replace(/\-([a-z])/g,function(b,c){return c.toUpperCase()}))};igRF_.style.Rg={};igRF_.style.toSelectorCase=function(a){return igRF_.style.Rg[a]||(igRF_.style.Rg[a]=a.replace(/([A-Z])/g,"-$1").toLowerCase())};
igRF_.style.getOpacity=function(a){var b=a.style;a="";if("opacity"in b)a=b.opacity;else if("MozOpacity"in b)a=b.MozOpacity;else if("filter"in b)if(b=b.filter.match(/alpha\(opacity=([\d.]+)\)/))a=String(b[1]/100);return a==""?a:Number(a)};igRF_.style.setOpacity=function(a,b){a=a.style;if("opacity"in a)a.opacity=b;else if("MozOpacity"in a)a.MozOpacity=b;else if("filter"in a)a.filter=b===""?"":"alpha(opacity="+b*100+")"};
igRF_.style.setTransparentBackgroundImage=function(a,b){a=a.style;if(igRF_.userAgent.IE&&!igRF_.userAgent.isVersion("8"))a.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+b+'", sizingMethod="crop")';else{a.backgroundImage="url("+b+")";a.backgroundPosition="top left";a.backgroundRepeat="no-repeat"}};igRF_.style.clearTransparentBackgroundImage=function(a){a=a.style;if("filter"in a)a.filter="";else a.backgroundImage="none"};
igRF_.style.showElement=function(a,b){a.style.display=b?"":"none"};igRF_.style.isElementShown=function(a){return a.style.display!="none"};igRF_.style.installStyles=function(a,b){b=igRF_.dom.$(b);var c=igRF_c;if(igRF_.userAgent.IE){c=b.da().createStyleSheet();igRF_.style.setStyles(c,a)}else{var d=b.Pa("head")[0];if(!d){c=b.Pa("body")[0];d=b.oa("head");c.parentNode.insertBefore(d,c)}c=b.oa("style");igRF_.style.setStyles(c,a);b.appendChild(d,c)}return c};
igRF_.style.uninstallStyles=function(a){a=a.ownerNode||a.owningElement||a;igRF_.dom.removeNode(a)};igRF_.style.setStyles=function(a,b){if(igRF_.userAgent.IE)a.cssText=b;else{var c=igRF_.userAgent.WEBKIT?"innerText":"innerHTML";a[c]=b}};igRF_.style.setPreWrap=function(a){a=a.style;if(igRF_.userAgent.IE&&!igRF_.userAgent.isVersion("8")){a.whiteSpace="pre";a.wordWrap="break-word"}else a.whiteSpace=igRF_.userAgent.GECKO?"-moz-pre-wrap":igRF_.userAgent.OPERA?"-o-pre-wrap":"pre-wrap"};
igRF_.style.setInlineBlock=function(a){a=a.style;a.position="relative";if(igRF_.userAgent.IE&&!igRF_.userAgent.isVersion("8")){a.zoom="1";a.display="inline"}else a.display=igRF_.userAgent.GECKO?igRF_.userAgent.isVersion("1.9a")?"inline-block":"-moz-inline-box":"inline-block"};igRF_.style.isRightToLeft=function(a){return"rtl"==igRF_.style.r(a,"direction")};igRF_.style.te=igRF_.userAgent.GECKO?"MozUserSelect":igRF_.userAgent.WEBKIT?"WebkitUserSelect":igRF_c;
igRF_.style.isUnselectable=function(a){if(igRF_.style.te)return a.style[igRF_.style.te].toLowerCase()=="none";else if(igRF_.userAgent.IE||igRF_.userAgent.OPERA)return a.getAttribute("unselectable")=="on";return igRF_d};
igRF_.style.setUnselectable=function(a,b,c){c=!c?a.getElementsByTagName("*"):igRF_c;var d=igRF_.style.te;if(d){b=b?"none":"";a.style[d]=b;if(c){a=0;for(var e;e=c[a];a++)e.style[d]=b}}else if(igRF_.userAgent.IE||igRF_.userAgent.OPERA){b=b?"on":"";a.setAttribute("unselectable",b);if(c)for(a=0;e=c[a];a++)e.setAttribute("unselectable",b)}};igRF_.style.getBorderBoxSize=function(a){return new igRF_.math.Size(a.offsetWidth,a.offsetHeight)};
igRF_.style.setBorderBoxSize=function(a,b){var c=igRF_.dom.o(a),d=igRF_.dom.$(c).xa();if(igRF_.userAgent.IE&&(!d||!igRF_.userAgent.isVersion("8"))){c=a.style;if(d){d=igRF_.style.getPaddingBox(a);a=igRF_.style.getBorderBox(a);c.pixelWidth=b.width-a.left-d.left-d.right-a.right;c.pixelHeight=b.height-a.top-d.top-d.bottom-a.bottom}else{c.pixelWidth=b.width;c.pixelHeight=b.height}}else igRF_.style.Ag(a,b,"border-box")};
igRF_.style.getContentBoxSize=function(a){var b=igRF_.dom.o(a),c=igRF_.userAgent.IE&&a.currentStyle;if(c&&igRF_.dom.$(b).xa()&&c.width!="auto"&&c.height!="auto"&&!c.boxSizing){b=igRF_.style.fb(a,c.width,"width","pixelWidth");a=igRF_.style.fb(a,c.height,"height","pixelHeight");return new igRF_.math.Size(b,a)}else{c=igRF_.style.getBorderBoxSize(a);b=igRF_.style.getPaddingBox(a);a=igRF_.style.getBorderBox(a);return new igRF_.math.Size(c.width-a.left-b.left-b.right-a.right,c.height-a.top-b.top-b.bottom-
a.bottom)}};igRF_.style.setContentBoxSize=function(a,b){var c=igRF_.dom.o(a),d=igRF_.dom.$(c).xa();if(igRF_.userAgent.IE&&(!d||!igRF_.userAgent.isVersion("8"))){c=a.style;if(d){c.pixelWidth=b.width;c.pixelHeight=b.height}else{d=igRF_.style.getPaddingBox(a);a=igRF_.style.getBorderBox(a);c.pixelWidth=b.width+a.left+d.left+d.right+a.right;c.pixelHeight=b.height+a.top+d.top+d.bottom+a.bottom}}else igRF_.style.Ag(a,b,"content-box")};
igRF_.style.Ag=function(a,b,c){a=a.style;if(igRF_.userAgent.GECKO)a.MozBoxSizing=c;else if(igRF_.userAgent.WEBKIT)a.WebkitBoxSizing=c;else if(igRF_.userAgent.OPERA&&!igRF_.userAgent.isVersion("9.50"))c?a.setProperty("box-sizing",c):a.removeProperty("box-sizing");else a.boxSizing=c;a.width=b.width+"px";a.height=b.height+"px"};
igRF_.style.fb=function(a,b,c,d){if(/^\d+px?$/.test(b))return parseInt(b,10);else{var e=a.style[c],f=a.runtimeStyle[c];a.runtimeStyle[c]=a.currentStyle[c];a.style[c]=b;b=a.style[d];a.style[c]=e;a.runtimeStyle[c]=f;return b}};igRF_.style.mc=function(a,b){return igRF_.style.fb(a,igRF_.style.getCascadedStyle(a,b),"left","pixelLeft")};
igRF_.style.cf=function(a,b){if(igRF_.userAgent.IE){var c=igRF_.style.mc(a,b+"Left"),d=igRF_.style.mc(a,b+"Right"),e=igRF_.style.mc(a,b+"Top");a=igRF_.style.mc(a,b+"Bottom");return new igRF_.math.Box(e,d,a,c)}else{c=igRF_.style.getComputedStyle(a,b+"Left");d=igRF_.style.getComputedStyle(a,b+"Right");e=igRF_.style.getComputedStyle(a,b+"Top");a=igRF_.style.getComputedStyle(a,b+"Bottom");return new igRF_.math.Box(parseFloat(e),parseFloat(d),parseFloat(a),parseFloat(c))}};
igRF_.style.getPaddingBox=function(a){return igRF_.style.cf(a,"padding")};igRF_.style.getMarginBox=function(a){return igRF_.style.cf(a,"margin")};igRF_.style.If={thin:2,medium:4,thick:6};igRF_.style.lc=function(a,b){if(igRF_.style.getCascadedStyle(a,b+"Style")=="none")return 0;b=igRF_.style.getCascadedStyle(a,b+"Width");if(b in igRF_.style.If)return igRF_.style.If[b];return igRF_.style.fb(a,b,"left","pixelLeft")};
igRF_.style.getBorderBox=function(a){if(igRF_.userAgent.IE){var b=igRF_.style.lc(a,"borderLeft"),c=igRF_.style.lc(a,"borderRight"),d=igRF_.style.lc(a,"borderTop");a=igRF_.style.lc(a,"borderBottom");return new igRF_.math.Box(d,c,a,b)}else{b=igRF_.style.getComputedStyle(a,"borderLeftWidth");c=igRF_.style.getComputedStyle(a,"borderRightWidth");d=igRF_.style.getComputedStyle(a,"borderTopWidth");a=igRF_.style.getComputedStyle(a,"borderBottomWidth");return new igRF_.math.Box(parseFloat(d),parseFloat(c),
parseFloat(a),parseFloat(b))}};igRF_.style.getFontFamily=function(a){var b=igRF_.dom.o(a),c="";if(b.createTextRange){c=b.body.createTextRange();c.moveToElementText(a);c=c.queryCommandValue("FontName")}if(!c){c=igRF_.style.r(a,"fontFamily");if(igRF_.userAgent.OPERA&&igRF_.userAgent.LINUX)c=c.replace(/ \[[^\]]*\]/,"")}a=c.split(",");if(a.length>1)c=a[0];return igRF_.string.stripQuotes(c,"\"'")};igRF_.style.Ch=/[^\d]+$/;
igRF_.style.getLengthUnits=function(a){return(a=a.match(igRF_.style.Ch))&&a[0]||igRF_c};igRF_.style.Yg={cm:1,"in":1,mm:1,pc:1,pt:1};igRF_.style.$g={em:1,ex:1};
igRF_.style.getFontSize=function(a){var b=igRF_.style.r(a,"fontSize"),c=igRF_.style.getLengthUnits(b);if(b&&"px"==c)return parseInt(b,10);if(igRF_.userAgent.IE)if(c in igRF_.style.Yg)return igRF_.style.fb(a,b,"left","pixelLeft");else if(a.parentNode&&a.parentNode.nodeType==igRF_.dom.NodeType.ELEMENT&&c in igRF_.style.$g){a=a.parentNode;c=igRF_.style.r(a,"fontSize");return igRF_.style.fb(a,b==c?"1em":b,"left","pixelLeft")}c=igRF_.dom.oa("span",{style:"visibility:hidden;position:absolute;line-height:0;padding:0;margin:0;border:0;height:1em;"});
igRF_.dom.appendChild(a,c);b=c.offsetHeight;igRF_.dom.removeNode(c);return b};igRF_.style.parseStyleAttribute=function(a){var b={};igRF_.array.forEach(a.split(/\s*;\s*/),function(c){c=c.split(/\s*:\s*/);if(c.length==2)b[igRF_.style.toCamelCase(c[0].toLowerCase())]=c[1]});return b};igRF_.style.toStyleAttribute=function(a){var b=[];igRF_.object.forEach(a,function(c,d){b.push(igRF_.style.toSelectorCase(d),":",c,";")});return b.join("")};
igRF_.style.setFloat=function(a,b){a.style[igRF_.userAgent.IE?"styleFloat":"cssFloat"]=b};igRF_.style.getFloat=function(a){return a.style[igRF_.userAgent.IE?"styleFloat":"cssFloat"]||""};igRF_.style.getScrollbarWidth=function(){var a=igRF_.dom.createElement("div");a.style.cssText="visibility:hidden;overflow:scroll;position:absolute;top:0;width:100px;height:100px";igRF_.dom.appendChild(igRF_.dom.da().body,a);var b=a.offsetWidth-a.clientWidth;igRF_.dom.removeNode(a);return b};igRF_.ui.AutoComplete.Renderer=function(a,b,c,d){this.ke=a||igRF_.dom.da().body;this.ca=igRF_.dom.$(this.ke);this.Lh=!a;this.c=igRF_c;this.ua="";this.m=[];this.Mg=this.xc=-1;this.rb=igRF_d;this.className="ac-renderer";this.rowClassName="ac-row";this.Rf="active";this.activeClassName="ac-active";this.highlightedClassName="ac-highlighted";this.ab=b||igRF_c;this.Vh=d!=igRF_c?d:igRF_b;this.Mh=c!=igRF_c?c:igRF_d;this.Xd=igRF_c;this.Wb=igRF_d};igRF_.inherits(igRF_.ui.AutoComplete.Renderer,igRF_.events.EventTarget);
igRF_.ui.AutoComplete.Renderer.eg=0;igRF_.ui.AutoComplete.Renderer.DELAY_BEFORE_MOUSEOVER=300;igRF_.ui.AutoComplete.Renderer.prototype.wa=function(){return this.c};igRF_.ui.AutoComplete.Renderer.prototype.Jg=function(a){this.Wb=a};igRF_.ui.AutoComplete.Renderer.prototype.ug=function(a,b,c){this.ua=b;this.m=a;this.xc=0;this.Mg=igRF_.now();this.u=c;this.Mb=[];this.redraw()};
igRF_.ui.AutoComplete.Renderer.prototype.dismiss=function(){this.u&&igRF_.dom.a11y.setActiveDescendant(this.u,igRF_c);if(this.rb){this.rb=igRF_d;igRF_.style.showElement(this.c,igRF_d)}};igRF_.ui.AutoComplete.Renderer.prototype.show=function(){if(!this.rb){this.rb=igRF_b;igRF_.style.showElement(this.c,igRF_b)}};igRF_.ui.AutoComplete.Renderer.prototype.Nf=function(){return this.rb};
igRF_.ui.AutoComplete.Renderer.prototype.Qd=function(a){this.Ff();this.xc=a;if(a>=0&&a<this.c.childNodes.length){a=this.Mb[a];igRF_.dom.classes.add(a,this.activeClassName,this.Rf);this.u&&igRF_.dom.a11y.setActiveDescendant(this.u,a);igRF_.style.scrollIntoContainerView(a,this.c)}};igRF_.ui.AutoComplete.Renderer.prototype.Ff=function(){this.xc>=0&&igRF_.dom.classes.remove(this.Mb[this.xc],this.activeClassName,this.Rf)};
igRF_.ui.AutoComplete.Renderer.prototype.qa=function(a){if(a==-1)this.Qd(-1);else for(var b=0;b<this.m.length;b++)if(this.m[b].id==a){this.Qd(b);return}};igRF_.ui.AutoComplete.Renderer.prototype.Dg=function(a){igRF_.dom.classes.add(a,this.className)};
igRF_.ui.AutoComplete.Renderer.prototype.Zf=function(){if(!this.c){var a=this.ca.oa("div",{style:"display:none"});this.c=a;this.Dg(a);igRF_.dom.a11y.setRole(a,igRF_.dom.a11y.Role.LISTBOX);a.id="goog-acr-"+igRF_.ui.AutoComplete.Renderer.eg++;if(this.u){igRF_.dom.a11y.setRole(this.u,igRF_.dom.a11y.Role.COMBOBOX);igRF_.dom.a11y.setState(this.u,igRF_.dom.a11y.State.AUTOCOMPLETE,"list");igRF_.dom.a11y.setState(this.u,igRF_.dom.a11y.State.HASPOPUP,igRF_b)}this.ca.appendChild(this.ke,a);igRF_.events.listen(a,
igRF_.events.EventType.CLICK,this.Gd,igRF_d,this);igRF_.events.listen(a,igRF_.events.EventType.MOUSEDOWN,this.Jd,igRF_d,this);igRF_.events.listen(this.ca.da(),igRF_.events.EventType.CLICK,this.Hd,igRF_d,this);igRF_.events.listen(a,igRF_.events.EventType.MOUSEOVER,this.Kd,igRF_d,this)}};
igRF_.ui.AutoComplete.Renderer.prototype.redraw=function(){this.Zf();if(this.Wb)this.c.style.visibility="hidden";this.Mb.length=0;this.ca.Kb(this.c);if(this.ab&&this.ab.render)this.ab.render(this,this.c,this.m,this.ua);else{var a=igRF_c;igRF_.iter.forEach(this.m,function(b){b=this.tg(b,this.ua);this.Wb?this.c.insertBefore(b,a):this.ca.appendChild(this.c,b);a=b},this)}if(this.m.length==0)this.dismiss();else{this.show();this.mg(this.c);this.reposition();igRF_.style.setUnselectable(this.c,igRF_b)}};
igRF_.ui.AutoComplete.Renderer.prototype.reposition=function(){if(this.u&&this.Lh){var a=igRF_.style.getPageOffset(this.u),b=igRF_.style.hb(this.u),c=igRF_.style.hb(igRF_.style.getClientViewportElement(this.u)),d=igRF_.style.hb(this.c);a.y=this.Wb?a.y-d.height:a.y+b.height;if((this.Mh||a.x+d.width>c.width)&&this.Xd!="LEFT"){a.x=a.x+b.width-d.width;this.Xd="RIGHT"}else this.Xd="LEFT";igRF_.style.setPageOffset(this.c,a);if(this.Wb)this.c.style.visibility="visible"}};
igRF_.ui.AutoComplete.Renderer.prototype.d=function(){igRF_.ui.AutoComplete.Renderer.aa.d.call(this);if(this.c){igRF_.events.unlisten(this.c,igRF_.events.EventType.CLICK,this.Gd,igRF_d,this);igRF_.events.unlisten(this.c,igRF_.events.EventType.MOUSEDOWN,this.Jd,igRF_d,this);igRF_.events.unlisten(this.ca.da(),igRF_.events.EventType.CLICK,this.Hd,igRF_d,this);igRF_.events.unlisten(this.c,igRF_.events.EventType.MOUSEOVER,this.Kd,igRF_d,this);this.ca.removeNode(this.c);this.c=igRF_c;this.rb=igRF_d}delete this.ke};
igRF_.ui.AutoComplete.Renderer.prototype.mg=function(a){if(igRF_.userAgent.GECKO&&igRF_.userAgent.MAC){a.style.width="";a.style.overflow="visible";a.style.width=a.offsetWidth;a.style.overflow="auto"}};igRF_.ui.AutoComplete.Renderer.prototype.sg=function(a,b,c){c.innerHTML=igRF_.string.htmlEscape(a.data.toString())};
igRF_.ui.AutoComplete.Renderer.prototype.wc=function(a,b){if(a.nodeType==igRF_.dom.NodeType.TEXT){var c,d=igRF_c;if(igRF_.isArray(b)){c=b.length>0?b[0]:"";if(b.length>1)d=igRF_.array.slice(b,1)}else c=b;if(c.length!=0){var e=a.nodeValue;c=igRF_.string.regExpEscape(c);c=new RegExp("(.*?)(^|\\W+)("+c+")","gi");b=[];for(var f=0,g=c.exec(e);g;){b.push(g[1]);b.push(g[2]);b.push(g[3]);f=c.lastIndex;g=c.exec(e)}b.push(e.substring(f));if(b.length>1){a.nodeValue=b[0]+b[1];d=this.ca.createElement("b");d.className=
this.highlightedClassName;this.ca.appendChild(d,this.ca.createTextNode(b[2]));d=a.parentNode.insertBefore(d,a.nextSibling);for(e=b.length-1;e>=3;e--)a.parentNode.insertBefore(this.ca.createTextNode(b[e]),d.nextSibling)}else d&&this.wc(a,d)}}else for(a=a.firstChild;a;){d=a.nextSibling;this.wc(a,b);a=d}};
igRF_.ui.AutoComplete.Renderer.prototype.tg=function(a,b){var c=this.ca.oa("div",{className:this.rowClassName,id:"goog-acri-"+igRF_.ui.AutoComplete.Renderer.eg++});igRF_.dom.a11y.setRole(c,igRF_.dom.a11y.Role.OPTION);this.ab&&this.ab.Lb?this.ab.Lb(a,b,c):this.sg(a,b,c);b&&this.Vh&&this.wc(c,b);igRF_.dom.classes.add(c,this.rowClassName);this.Mb.push(c);return c};
igRF_.ui.AutoComplete.Renderer.prototype.Cd=function(a){for(;a&&a!=this.c&&!igRF_.dom.classes.has(a,this.rowClassName);)a=a.parentNode;return a?igRF_.array.indexOf(this.Mb,a):-1};igRF_.ui.AutoComplete.Renderer.prototype.Gd=function(a){var b=this.Cd(a.target);b>=0&&this.dispatchEvent({type:igRF_.ui.AutoComplete.EventType.SELECT,row:this.m[b].id});a.stopPropagation()};
igRF_.ui.AutoComplete.Renderer.prototype.Jd=function(a){this.dispatchEvent(igRF_.ui.AutoComplete.EventType.CANCEL_DISMISS);a.stopPropagation();a.preventDefault()};igRF_.ui.AutoComplete.Renderer.prototype.Hd=function(){this.dispatchEvent(igRF_.ui.AutoComplete.EventType.DISMISS)};
igRF_.ui.AutoComplete.Renderer.prototype.Kd=function(a){a=this.Cd(a.target);if(a>=0)igRF_.now()-this.Mg<igRF_.ui.AutoComplete.Renderer.DELAY_BEFORE_MOUSEOVER||this.dispatchEvent({type:igRF_.ui.AutoComplete.EventType.HILITE,row:this.m[a].id})};igRF_.ui.AutoComplete.Renderer.CustomRenderer=function(){};igRF_.ui.AutoComplete.Renderer.CustomRenderer.prototype.render=function(){};igRF_.ui.AutoComplete.Renderer.CustomRenderer.prototype.Lb=function(){};igRF_.ui.AutoComplete.Basic=function(a,b,c,d){a=new igRF_.ui.AutoComplete.ArrayMatcher(a,!d);d=new igRF_.ui.AutoComplete.Renderer;c=new igRF_.ui.AutoComplete.InputHandler(igRF_c,igRF_c,!!c);igRF_.ui.AutoComplete.call(this,a,d,c);c.Qc(this);c.Ya(b)};igRF_.inherits(igRF_.ui.AutoComplete.Basic,igRF_.ui.AutoComplete);igRF_.structs.ia=function(a){if(typeof a.ia=="function")return a.ia();if(igRF_.isArrayLike(a)||igRF_.isString(a))return a.length;return igRF_.object.ia(a)};igRF_.structs.j=function(a){if(typeof a.j=="function")return a.j();if(igRF_.isString(a))return a.split("");if(igRF_.isArrayLike(a)){for(var b=[],c=a.length,d=0;d<c;d++)b.push(a[d]);return b}return igRF_.object.j(a)};
igRF_.structs.l=function(a){if(typeof a.l=="function")return a.l();if(typeof a.j!="function"){if(igRF_.isArrayLike(a)||igRF_.isString(a)){var b=[];a=a.length;for(var c=0;c<a;c++)b.push(c);return b}return igRF_.object.l(a)}};igRF_.structs.contains=function(a,b){if(typeof a.contains=="function")return a.contains(b);if(typeof a.Ca=="function")return a.Ca(b);if(igRF_.isArrayLike(a)||igRF_.isString(a))return igRF_.array.contains(a,b);return igRF_.object.Ca(a,b)};
igRF_.structs.p=function(a){if(typeof a.p=="function")return a.p();if(igRF_.isArrayLike(a)||igRF_.isString(a))return igRF_.array.p(a);return igRF_.object.p(a)};igRF_.structs.clear=function(a){if(typeof a.clear=="function")a.clear();else igRF_.isArrayLike(a)?igRF_.array.clear(a):igRF_.object.clear(a)};
igRF_.structs.forEach=function(a,b,c){if(typeof a.forEach=="function")a.forEach(b,c);else if(igRF_.isArrayLike(a)||igRF_.isString(a))igRF_.array.forEach(a,b,c);else for(var d=igRF_.structs.l(a),e=igRF_.structs.j(a),f=e.length,g=0;g<f;g++)b.call(c,e[g],d&&d[g],a)};
igRF_.structs.filter=function(a,b,c){if(typeof a.filter=="function")return a.filter(b,c);if(igRF_.isArrayLike(a)||igRF_.isString(a))return igRF_.array.filter(a,b,c);var d,e=igRF_.structs.l(a),f=igRF_.structs.j(a),g=f.length;if(e){d={};for(var h=0;h<g;h++)if(b.call(c,f[h],e[h],a))d[e[h]]=f[h]}else{d=[];for(h=0;h<g;h++)b.call(c,f[h],undefined,a)&&d.push(f[h])}return d};
igRF_.structs.map=function(a,b,c){if(typeof a.map=="function")return a.map(b,c);if(igRF_.isArrayLike(a)||igRF_.isString(a))return igRF_.array.map(a,b,c);var d,e=igRF_.structs.l(a),f=igRF_.structs.j(a),g=f.length;if(e){d={};for(var h=0;h<g;h++)d[e[h]]=b.call(c,f[h],e[h],a)}else{d=[];for(h=0;h<g;h++)d[h]=b.call(c,f[h],undefined,a)}return d};
igRF_.structs.some=function(a,b,c){if(typeof a.some=="function")return a.some(b,c);if(igRF_.isArrayLike(a)||igRF_.isString(a))return igRF_.array.some(a,b,c);for(var d=igRF_.structs.l(a),e=igRF_.structs.j(a),f=e.length,g=0;g<f;g++)if(b.call(c,e[g],d&&d[g],a))return igRF_b;return igRF_d};
igRF_.structs.every=function(a,b,c){if(typeof a.every=="function")return a.every(b,c);if(igRF_.isArrayLike(a)||igRF_.isString(a))return igRF_.array.every(a,b,c);for(var d=igRF_.structs.l(a),e=igRF_.structs.j(a),f=e.length,g=0;g<f;g++)if(!b.call(c,e[g],d&&d[g],a))return igRF_d;return igRF_b};igRF_.structs.Map=function(a){this.w={};this.a=[];var b=arguments.length;if(b>1){if(b%2)igRF_a(Error("Uneven number of arguments"));for(var c=0;c<b;c+=2)this.set(arguments[c],arguments[c+1])}else a&&this.Ee(a)};igRF_.structs.Map.prototype.b=0;igRF_.structs.Map.prototype.qb=0;igRF_.structs.Map.prototype.ia=function(){return this.b};igRF_.structs.Map.prototype.j=function(){this.$a();for(var a=[],b=0;b<this.a.length;b++){var c=this.a[b];a.push(this.w[c])}return a};
igRF_.structs.Map.prototype.l=function(){this.$a();return this.a.concat()};igRF_.structs.Map.prototype.na=function(a){return igRF_.structs.Map.Qa(this.w,a)};igRF_.structs.Map.prototype.Ca=function(a){for(var b=0;b<this.a.length;b++){var c=this.a[b];if(igRF_.structs.Map.Qa(this.w,c)&&this.w[c]==a)return igRF_b}return igRF_d};
igRF_.structs.Map.prototype.equals=function(a,b){if(this===a)return igRF_b;if(this.b!=a.ia())return igRF_d;b=b||igRF_.structs.Map.defaultEquals;this.$a();for(var c,d=0;c=this.a[d];d++)if(!b(this.get(c),a.get(c)))return igRF_d;return igRF_b};igRF_.structs.Map.defaultEquals=function(a,b){return a===b};igRF_.structs.Map.prototype.p=function(){return this.b==0};igRF_.structs.Map.prototype.clear=function(){this.w={};this.qb=this.b=this.a.length=0};
igRF_.structs.Map.prototype.remove=function(a){if(igRF_.structs.Map.Qa(this.w,a)){delete this.w[a];this.b--;this.qb++;this.a.length>2*this.b&&this.$a();return igRF_b}return igRF_d};
igRF_.structs.Map.prototype.$a=function(){if(this.b!=this.a.length){for(var a=0,b=0;a<this.a.length;){var c=this.a[a];if(igRF_.structs.Map.Qa(this.w,c))this.a[b++]=c;a++}this.a.length=b}if(this.b!=this.a.length){var d={};for(b=a=0;a<this.a.length;){c=this.a[a];if(!igRF_.structs.Map.Qa(d,c)){this.a[b++]=c;d[c]=1}a++}this.a.length=b}};igRF_.structs.Map.prototype.get=function(a,b){if(igRF_.structs.Map.Qa(this.w,a))return this.w[a];return b};
igRF_.structs.Map.prototype.set=function(a,b){if(!igRF_.structs.Map.Qa(this.w,a)){this.b++;this.a.push(a);this.qb++}this.w[a]=b};igRF_.structs.Map.prototype.Ee=function(a){var b;if(a instanceof igRF_.structs.Map){b=a.l();a=a.j()}else{b=igRF_.object.l(a);a=igRF_.object.j(a)}for(var c=0;c<b.length;c++)this.set(b[c],a[c])};igRF_.structs.Map.prototype.clone=function(){return new igRF_.structs.Map(this)};
igRF_.structs.Map.prototype.transpose=function(){for(var a=new igRF_.structs.Map,b=0;b<this.a.length;b++){var c=this.a[b],d=this.w[c];a.set(d,c)}return a};igRF_.structs.Map.prototype.__iterator__=function(a){this.$a();var b=0,c=this.a,d=this.w,e=this.qb,f=this,g=new igRF_.iter.Iterator;g.next=function(){for(;;){if(e!=f.qb)igRF_a(Error("The map has changed since the iterator was created"));if(b>=c.length)igRF_a(igRF_.iter.StopIteration);var h=c[b++];return a?h:d[h]}};return g};
igRF_.structs.Map.Qa=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)};igRF_.debug.Error=function(a){this.stack=(new Error).stack||"";if(a)this.message=String(a)};igRF_.inherits(igRF_.debug.Error,Error);igRF_.debug.Error.prototype.name="CustomError";igRF_.asserts={};igRF_.asserts.ENABLE_ASSERTS=igRF_.DEBUG;igRF_.asserts.AssertionError=function(a,b){b.unshift(a);igRF_.debug.Error.call(this,igRF_.string.subs.apply(igRF_c,b));b.shift();this.messagePattern=a};igRF_.inherits(igRF_.asserts.AssertionError,igRF_.debug.Error);igRF_.asserts.AssertionError.prototype.name="AssertionError";igRF_.asserts.Ka=function(a,b,c,d){var e="Assertion failed";if(c){e+=": "+c;var f=d}else if(a){e+=": "+a;f=b}igRF_a(new igRF_.asserts.AssertionError(""+e,f||[]))};
igRF_.asserts.assert=function(a,b){igRF_.asserts.ENABLE_ASSERTS&&!a&&igRF_.asserts.Ka("",igRF_c,b,Array.prototype.slice.call(arguments,2))};igRF_.asserts.fail=function(a){if(igRF_.asserts.ENABLE_ASSERTS)igRF_a(new igRF_.asserts.AssertionError("Failure"+(a?": "+a:""),Array.prototype.slice.call(arguments,1)))};igRF_.asserts.assertNumber=function(a,b){igRF_.asserts.ENABLE_ASSERTS&&!igRF_.isNumber(a)&&igRF_.asserts.Ka("Expected number but got %s.",[a],b,Array.prototype.slice.call(arguments,2));return a};
igRF_.asserts.assertString=function(a,b){igRF_.asserts.ENABLE_ASSERTS&&!igRF_.isString(a)&&igRF_.asserts.Ka("Expected string but got %s.",[a],b,Array.prototype.slice.call(arguments,2));return a};igRF_.asserts.assertFunction=function(a,b){igRF_.asserts.ENABLE_ASSERTS&&!igRF_.isFunction(a)&&igRF_.asserts.Ka("Expected function but got %s.",[a],b,Array.prototype.slice.call(arguments,2));return a};
igRF_.asserts.assertObject=function(a,b){igRF_.asserts.ENABLE_ASSERTS&&!igRF_.isObject(a)&&igRF_.asserts.Ka("Expected object but got %s.",[a],b,Array.prototype.slice.call(arguments,2));return a};igRF_.asserts.assertArray=function(a,b){igRF_.asserts.ENABLE_ASSERTS&&!igRF_.isArray(a)&&igRF_.asserts.Ka("Expected array but got %s.",[a],b,Array.prototype.slice.call(arguments,2));return a};
igRF_.asserts.assertInstanceof=function(a,b,c){igRF_.asserts.ENABLE_ASSERTS&&!(a instanceof b)&&igRF_.asserts.Ka("instanceof check failed.",igRF_c,c,Array.prototype.slice.call(arguments,3))};igRF_.uri={};igRF_.uri.utils={};igRF_.uri.utils.sb={AMPERSAND:38,EQUAL:61,HASH:35,QUESTION:63};igRF_.uri.utils.buildFromEncodedParts=function(a,b,c,d,e,f,g){var h=[];a&&h.push(a,":");if(c){h.push("//");b&&h.push(b,"@");h.push(c);d&&h.push(":",d)}e&&h.push(e);f&&h.push("?",f);g&&h.push("#",g);return h.join("")};igRF_.uri.utils.Oh=new RegExp("^(?:([^:/?#.]+):)?(?://(?:([^/?#]*)@)?([\\w\\d\\-\\u0100-\\uffff.%]*)(?::([0-9]+))?)?([^?#]+)?(?:\\?([^#]*))?(?:#(.*))?$");
igRF_.uri.utils.ComponentIndex={SCHEME:1,USER_INFO:2,DOMAIN:3,PORT:4,PATH:5,QUERY_DATA:6,FRAGMENT:7};igRF_.uri.utils.split=function(a){return a.match(igRF_.uri.utils.Oh)};igRF_.uri.utils.dc=function(a){return a&&decodeURIComponent(a)};igRF_.uri.utils.db=function(a,b){return igRF_.uri.utils.split(b)[a]||igRF_c};igRF_.uri.utils.rc=function(a){return igRF_.uri.utils.db(igRF_.uri.utils.ComponentIndex.SCHEME,a)};
igRF_.uri.utils.getUserInfoEncoded=function(a){return igRF_.uri.utils.db(igRF_.uri.utils.ComponentIndex.USER_INFO,a)};igRF_.uri.utils.sc=function(a){return igRF_.uri.utils.dc(igRF_.uri.utils.getUserInfoEncoded(a))};igRF_.uri.utils.getDomainEncoded=function(a){return igRF_.uri.utils.db(igRF_.uri.utils.ComponentIndex.DOMAIN,a)};igRF_.uri.utils.yb=function(a){return igRF_.uri.utils.dc(igRF_.uri.utils.getDomainEncoded(a))};
igRF_.uri.utils.zb=function(a){return Number(igRF_.uri.utils.db(igRF_.uri.utils.ComponentIndex.PORT,a))||igRF_c};igRF_.uri.utils.getPathEncoded=function(a){return igRF_.uri.utils.db(igRF_.uri.utils.ComponentIndex.PATH,a)};igRF_.uri.utils.gb=function(a){return igRF_.uri.utils.dc(igRF_.uri.utils.getPathEncoded(a))};igRF_.uri.utils.Ad=function(a){return igRF_.uri.utils.db(igRF_.uri.utils.ComponentIndex.QUERY_DATA,a)};
igRF_.uri.utils.getFragmentEncoded=function(a){var b=a.indexOf("#");return b<0?igRF_c:a.substr(b+1)};igRF_.uri.utils.jc=function(a){return igRF_.uri.utils.dc(igRF_.uri.utils.getFragmentEncoded(a))};igRF_.uri.utils.getHost=function(a){a=igRF_.uri.utils.split(a);return igRF_.uri.utils.buildFromEncodedParts(a[igRF_.uri.utils.ComponentIndex.SCHEME],a[igRF_.uri.utils.ComponentIndex.USER_INFO],a[igRF_.uri.utils.ComponentIndex.DOMAIN],a[igRF_.uri.utils.ComponentIndex.PORT])};
igRF_.uri.utils.getPathAndAfter=function(a){a=igRF_.uri.utils.split(a);return igRF_.uri.utils.buildFromEncodedParts(igRF_c,igRF_c,igRF_c,igRF_c,a[igRF_.uri.utils.ComponentIndex.PATH],a[igRF_.uri.utils.ComponentIndex.QUERY_DATA],a[igRF_.uri.utils.ComponentIndex.FRAGMENT])};igRF_.uri.utils.removeFragment=function(a){var b=a.indexOf("#");return b<0?a:a.substr(0,b)};
igRF_.uri.utils.haveSameDomain=function(a,b){a=igRF_.uri.utils.split(a);b=igRF_.uri.utils.split(b);return a[igRF_.uri.utils.ComponentIndex.DOMAIN]==b[igRF_.uri.utils.ComponentIndex.DOMAIN]&&a[igRF_.uri.utils.ComponentIndex.SCHEME]==b[igRF_.uri.utils.ComponentIndex.SCHEME]&&a[igRF_.uri.utils.ComponentIndex.PORT]==b[igRF_.uri.utils.ComponentIndex.PORT]};
igRF_.uri.utils.hh=function(a){if(igRF_.DEBUG&&(a.indexOf("#")>=0||a.indexOf("?")>=0))igRF_a(Error("goog.uri.utils: Fragment or query identifiers are not supported: ["+a+"]"))};igRF_.uri.utils.QueryValue=igRF_.typedef;igRF_.uri.utils.QueryArray=igRF_.typedef;igRF_.uri.utils.Pc=function(a){if(a[1]){var b=a[0],c=b.indexOf("#");if(c>=0){a.push(b.substr(c));a[0]=b=b.substr(0,c)}c=b.indexOf("?");if(c<0)a[1]="?";else if(c==b.length-1)a[1]=undefined}return a.join("")};
igRF_.uri.utils.Ke=function(a,b,c){if(igRF_.isArray(b)){b=b;for(var d=0;d<b.length;d++)c.push("&",a,"=",igRF_.string.urlEncode(b[d]))}else b!=igRF_c&&c.push("&",a,"=",igRF_.string.urlEncode(b))};igRF_.uri.utils.Uc=function(a,b,c){igRF_.asserts.assert(Math.max(b.length-(c||0),0)%2==0,"goog.uri.utils: Key/value lists must be even in length.");for(c=c||0;c<b.length;c+=2)igRF_.uri.utils.Ke(b[c],b[c+1],a);return a};igRF_.uri.utils.buildQueryData=function(a,b){a=igRF_.uri.utils.Uc([],a,b);a[0]="";return a.join("")};
igRF_.uri.utils.Me=function(a,b){for(var c in b)igRF_.uri.utils.Ke(c,b[c],a);return a};igRF_.uri.utils.buildQueryDataFromMap=function(a){a=igRF_.uri.utils.Me([],a);a[0]="";return a.join("")};igRF_.uri.utils.appendParams=function(a){return igRF_.uri.utils.Pc(arguments.length==2?igRF_.uri.utils.Uc([a],arguments[1],0):igRF_.uri.utils.Uc([a],arguments,1))};igRF_.uri.utils.appendParamsFromMap=function(a,b){return igRF_.uri.utils.Pc(igRF_.uri.utils.Me([a],b))};
igRF_.uri.utils.appendParam=function(a,b,c){return igRF_.uri.utils.Pc([a,"&",b,"=",igRF_.string.urlEncode(c)])};igRF_.uri.utils.hc=function(a,b,c,d){b=b;for(var e=c.length;(b=a.indexOf(c,b))>=0&&b<d;){var f=a.charCodeAt(b-1);if(f==igRF_.uri.utils.sb.AMPERSAND||f==igRF_.uri.utils.sb.QUESTION){f=a.charCodeAt(b+e);if(!f||f==igRF_.uri.utils.sb.EQUAL||f==igRF_.uri.utils.sb.AMPERSAND||f==igRF_.uri.utils.sb.HASH)return b}b+=e+1}return-1};igRF_.uri.utils.vc=/#|$/;
igRF_.uri.utils.hasParam=function(a,b){return igRF_.uri.utils.hc(a,0,b,a.search(igRF_.uri.utils.vc))>=0};igRF_.uri.utils.getParamValue=function(a,b){var c=a.search(igRF_.uri.utils.vc),d=igRF_.uri.utils.hc(a,0,b,c);if(d<0)return igRF_c;else{var e=a.indexOf("&",d);if(e<0||e>c)e=c;d+=b.length+1;return igRF_.string.urlDecode(a.substr(d,e-d))}};
igRF_.uri.utils.getParamValues=function(a,b){for(var c=a.search(igRF_.uri.utils.vc),d=0,e,f=[];(e=igRF_.uri.utils.hc(a,d,b,c))>=0;){d=a.indexOf("&",e);if(d<0||d>c)d=c;e+=b.length+1;f.push(igRF_.string.urlDecode(a.substr(e,d-e)))}return f};igRF_.uri.utils.Ph=/[?&]($|#)/;
igRF_.uri.utils.removeParam=function(a,b){for(var c=a.search(igRF_.uri.utils.vc),d=0,e,f=[];(e=igRF_.uri.utils.hc(a,d,b,c))>=0;){f.push(a.substring(d,e));d=Math.min(a.indexOf("&",e)+1||c,c)}f.push(a.substr(d));return f.join("").replace(igRF_.uri.utils.Ph,"$1")};igRF_.uri.utils.setParam=function(a,b,c){return igRF_.uri.utils.appendParam(igRF_.uri.utils.removeParam(a,b),b,c)};
igRF_.uri.utils.appendPath=function(a,b){igRF_.uri.utils.hh(a);if(igRF_.string.endsWith(a,"/"))a=a.substr(0,a.length-1);if(igRF_.string.startsWith(b,"/"))b=b.substr(1);return igRF_.string.buildString(a,"/",b)};igRF_.uri.utils.StandardQueryParam={RANDOM:"zx"};igRF_.uri.utils.Vf=function(a){return igRF_.uri.utils.setParam(a,igRF_.uri.utils.StandardQueryParam.RANDOM,igRF_.string.getRandomString())};igRF_.Uri=function(a,b){var c;if(a instanceof igRF_.Uri){this.Ga(b==igRF_c?a.mf():b);this.Tb(a.rc());this.Ub(a.sc());this.Pb(a.yb());this.Sb(a.zb());this.Rb(a.gb());this.Lc(a.Ad().clone());this.Qb(a.jc())}else if(a&&(c=igRF_.uri.utils.split(String(a)))){this.Ga(!!b);this.Tb(c[igRF_.uri.utils.ComponentIndex.SCHEME]||"",igRF_b);this.Ub(c[igRF_.uri.utils.ComponentIndex.USER_INFO]||"",igRF_b);this.Pb(c[igRF_.uri.utils.ComponentIndex.DOMAIN]||"",igRF_b);this.Sb(c[igRF_.uri.utils.ComponentIndex.PORT]);
this.Rb(c[igRF_.uri.utils.ComponentIndex.PATH]||"",igRF_b);this.oe(c[igRF_.uri.utils.ComponentIndex.QUERY_DATA]||"",igRF_b);this.Qb(c[igRF_.uri.utils.ComponentIndex.FRAGMENT]||"",igRF_b)}else{this.Ga(!!b);this.z=new igRF_.Uri.QueryData(igRF_c,this,this.ka)}};igRF_.Uri.RANDOM_PARAM=igRF_.uri.utils.StandardQueryParam.RANDOM;igRF_.Uri.prototype.sa="";igRF_.Uri.prototype.Wa="";igRF_.Uri.prototype.Ma="";igRF_.Uri.prototype.Ua=igRF_c;igRF_.Uri.prototype.Ta="";igRF_.Uri.prototype.Na="";
igRF_.Uri.prototype.Lf=igRF_d;igRF_.Uri.prototype.ka=igRF_d;
igRF_.Uri.prototype.toString=function(){if(this.fa)return this.fa;var a=[];this.sa&&a.push(igRF_.Uri.xb(this.sa,igRF_.Uri.pg),":");if(this.Ma){a.push("//");this.Wa&&a.push(igRF_.Uri.xb(this.Wa,igRF_.Uri.pg),"@");a.push(igRF_.Uri.th(this.Ma));this.Ua!=igRF_c&&a.push(":",String(this.zb()))}this.Ta&&a.push(igRF_.Uri.xb(this.Ta,igRF_.Uri.Jh));var b=String(this.z);b&&a.push("?",b);this.Na&&a.push("#",igRF_.Uri.xb(this.Na,igRF_.Uri.Ih));return this.fa=a.join("")};
igRF_.Uri.prototype.resolve=function(a){var b=this.clone(),c=a.Df();if(c)b.Tb(a.rc());else c=a.Ef();if(c)b.Ub(a.sc());else c=a.Md();if(c)b.Pb(a.yb());else c=a.Bf();var d=a.gb();if(c)b.Sb(a.zb());else if(c=a.Nd()){if(d.charAt(0)!="/")if(this.Md()&&!this.Nd())d="/"+d;else{var e=b.gb().lastIndexOf("/");if(e!=-1)d=b.gb().substr(0,e+1)+d}d=igRF_.Uri.removeDotSegments(d)}if(c)b.Rb(d);else c=a.Cf();if(c)b.oe(a.ff());else c=a.Af();c&&b.Qb(a.jc());return b};
igRF_.Uri.prototype.clone=function(){return igRF_.Uri.create(this.sa,this.Wa,this.Ma,this.Ua,this.Ta,this.z.clone(),this.Na,this.ka)};igRF_.Uri.prototype.rc=function(){return this.sa};igRF_.Uri.prototype.Tb=function(a,b){this.ga();delete this.fa;if(this.sa=b?igRF_.Uri.bb(a):a)this.sa=this.sa.replace(/:$/,"");return this};igRF_.Uri.prototype.Df=function(){return!!this.sa};igRF_.Uri.prototype.sc=function(){return this.Wa};
igRF_.Uri.prototype.Ub=function(a,b){this.ga();delete this.fa;this.Wa=b?igRF_.Uri.bb(a):a;return this};igRF_.Uri.prototype.Ef=function(){return!!this.Wa};igRF_.Uri.prototype.yb=function(){return this.Ma};igRF_.Uri.prototype.Pb=function(a,b){this.ga();delete this.fa;this.Ma=b?igRF_.Uri.bb(a):a;return this};igRF_.Uri.prototype.Md=function(){return!!this.Ma};igRF_.Uri.prototype.zb=function(){return this.Ua};
igRF_.Uri.prototype.Sb=function(a){this.ga();delete this.fa;if(a){a=Number(a);if(isNaN(a)||a<0)igRF_a(Error("Bad port number "+a));this.Ua=a}else this.Ua=igRF_c;return this};igRF_.Uri.prototype.Bf=function(){return this.Ua!=igRF_c};igRF_.Uri.prototype.gb=function(){return this.Ta};igRF_.Uri.prototype.Rb=function(a,b){this.ga();delete this.fa;this.Ta=b?igRF_.Uri.bb(a):a;return this};igRF_.Uri.prototype.Nd=function(){return!!this.Ta};igRF_.Uri.prototype.Cf=function(){return this.z.toString()!==""};
igRF_.Uri.prototype.Lc=function(a,b){this.ga();delete this.fa;if(a instanceof igRF_.Uri.QueryData){this.z=a;this.z.ue=this;this.z.Ga(this.ka)}else{b||(a=igRF_.Uri.xb(a,igRF_.Uri.Kh));this.z=new igRF_.Uri.QueryData(a,this,this.ka)}return this};igRF_.Uri.prototype.oe=function(a,b){return this.Lc(a,b)};igRF_.Uri.prototype.ff=function(){return this.z.Qg()};igRF_.Uri.prototype.Ad=function(){return this.z};igRF_.Uri.prototype.Eg=function(a,b){this.ga();delete this.fa;this.z.set(a,b);return this};
igRF_.Uri.prototype.rf=function(a){return this.z.get(a)};igRF_.Uri.prototype.jc=function(){return this.Na};igRF_.Uri.prototype.Qb=function(a,b){this.ga();delete this.fa;this.Na=b?igRF_.Uri.bb(a):a;return this};igRF_.Uri.prototype.Af=function(){return!!this.Na};igRF_.Uri.prototype.Vf=function(){this.ga();this.Eg(igRF_.Uri.RANDOM_PARAM,igRF_.string.getRandomString());return this};igRF_.Uri.prototype.removeParameter=function(a){this.ga();this.z.remove(a);return this};igRF_.Uri.prototype.ga=function(){if(this.Lf)igRF_a(Error("Tried to modify a read-only Uri"))};
igRF_.Uri.prototype.Ga=function(a){this.ka=a;this.z&&this.z.Ga(a)};igRF_.Uri.prototype.mf=function(){return this.ka};igRF_.Uri.parse=function(a,b){return a instanceof igRF_.Uri?a.clone():new igRF_.Uri(a,b)};igRF_.Uri.create=function(a,b,c,d,e,f,g,h){h=new igRF_.Uri(igRF_c,h);a&&h.Tb(a);b&&h.Ub(b);c&&h.Pb(c);d&&h.Sb(d);e&&h.Rb(e);f&&h.Lc(f);g&&h.Qb(g);return h};igRF_.Uri.resolve=function(a,b){a instanceof igRF_.Uri||(a=igRF_.Uri.parse(a));b instanceof igRF_.Uri||(b=igRF_.Uri.parse(b));return a.resolve(b)};
igRF_.Uri.removeDotSegments=function(a){if(a==".."||a==".")return"";else if(!igRF_.string.contains(a,"./")&&!igRF_.string.contains(a,"/."))return a;else{var b=igRF_.string.startsWith(a,"/");a=a.split("/");for(var c=[],d=0;d<a.length;){var e=a[d++];if(e==".")b&&d==a.length&&c.push("");else if(e==".."){if(c.length>1||c.length==1&&c[0]!="")c.pop();b&&d==a.length&&c.push("")}else{c.push(e);b=igRF_b}}return c.join("/")}};igRF_.Uri.bb=function(a){return a?decodeURIComponent(a):""};
igRF_.Uri.th=function(a){if(igRF_.isString(a))return encodeURIComponent(a);return igRF_c};igRF_.Uri.sh=/^[a-zA-Z0-9\-_.!~*'():\/;?]*$/;igRF_.Uri.xb=function(a,b){var c=igRF_c;if(igRF_.isString(a)){c=a;igRF_.Uri.sh.test(c)||(c=encodeURI(a));if(c.search(b)>=0)c=c.replace(b,igRF_.Uri.rh)}return c};igRF_.Uri.rh=function(a){a=a.charCodeAt(0);return"%"+(a>>4&15).toString(16)+(a&15).toString(16)};igRF_.Uri.pg=/[#\/\?@]/g;igRF_.Uri.Jh=/[\#\?]/g;igRF_.Uri.Kh=/[\#\?@]/g;igRF_.Uri.Ih=/#/g;
igRF_.Uri.haveSameDomain=function(a,b){a=igRF_.uri.utils.split(a);b=igRF_.uri.utils.split(b);return a[igRF_.uri.utils.ComponentIndex.DOMAIN]==b[igRF_.uri.utils.ComponentIndex.DOMAIN]&&a[igRF_.uri.utils.ComponentIndex.PORT]==b[igRF_.uri.utils.ComponentIndex.PORT]};igRF_.Uri.QueryData=function(a,b,c){this.va=a||igRF_c;this.ue=b||igRF_c;this.ka=!!c};
igRF_.Uri.QueryData.prototype.ha=function(){if(!this.f){this.f=new igRF_.structs.Map;if(this.va)for(var a=this.va.split("&"),b=0;b<a.length;b++){var c=a[b].indexOf("="),d=igRF_c,e=igRF_c;if(c>=0){d=a[b].substring(0,c);e=a[b].substring(c+1)}else d=a[b];d=igRF_.string.urlDecode(d);d=this.Ea(d);this.add(d,e?igRF_.string.urlDecode(e):"")}}};
igRF_.Uri.QueryData.createFromMap=function(a,b,c){var d=igRF_.structs.l(a);if(typeof d=="undefined")igRF_a(Error("Keys are undefined"));return igRF_.Uri.QueryData.createFromKeysValues(d,igRF_.structs.j(a),b,c)};igRF_.Uri.QueryData.createFromKeysValues=function(a,b,c,d){if(a.length!=b.length)igRF_a(Error("Mismatched lengths for keys/values"));c=new igRF_.Uri.QueryData(igRF_c,c,d);for(d=0;d<a.length;d++)c.add(a[d],b[d]);return c};igRF_.Uri.QueryData.prototype.f=igRF_c;
igRF_.Uri.QueryData.prototype.b=igRF_c;igRF_.Uri.QueryData.Ia=igRF_c;igRF_.Uri.QueryData.prototype.ia=function(){this.ha();return this.b};igRF_.Uri.QueryData.prototype.add=function(a,b){this.ha();this.jb();a=this.Ea(a);if(this.na(a)){var c=this.f.get(a);igRF_.isArray(c)?c.push(b):this.f.set(a,[c,b])}else this.f.set(a,b);this.b++;return this};
igRF_.Uri.QueryData.prototype.remove=function(a){this.ha();a=this.Ea(a);if(this.f.na(a)){this.jb();var b=this.f.get(a);if(igRF_.isArray(b))this.b-=b.length;else this.b--;return this.f.remove(a)}return igRF_d};igRF_.Uri.QueryData.prototype.clear=function(){this.jb();this.f&&this.f.clear();this.b=0};igRF_.Uri.QueryData.prototype.p=function(){this.ha();return this.b==0};igRF_.Uri.QueryData.prototype.na=function(a){this.ha();a=this.Ea(a);return this.f.na(a)};
igRF_.Uri.QueryData.prototype.Ca=function(a){var b=this.j();return igRF_.array.contains(b,a)};igRF_.Uri.QueryData.prototype.l=function(){this.ha();for(var a=this.f.j(),b=this.f.l(),c=[],d=0;d<b.length;d++){var e=a[d];if(igRF_.isArray(e))for(var f=0;f<e.length;f++)c.push(b[d]);else c.push(b[d])}return c};
igRF_.Uri.QueryData.prototype.j=function(a){this.ha();if(a){a=this.Ea(a);if(this.na(a)){var b=this.f.get(a);if(igRF_.isArray(b))return b;else{a=[];a.push(b)}}else a=[]}else{b=this.f.j();a=[];for(var c=0;c<b.length;c++){var d=b[c];igRF_.isArray(d)?igRF_.array.extend(a,d):a.push(d)}}return a};igRF_.Uri.QueryData.prototype.set=function(a,b){this.ha();this.jb();a=this.Ea(a);if(this.na(a)){var c=this.f.get(a);if(igRF_.isArray(c))this.b-=c.length;else this.b--}this.f.set(a,b);this.b++;return this};
igRF_.Uri.QueryData.prototype.get=function(a,b){this.ha();a=this.Ea(a);if(this.na(a)){a=this.f.get(a);return igRF_.isArray(a)?a[0]:a}else return b};
igRF_.Uri.QueryData.prototype.toString=function(){if(this.va)return this.va;if(!this.f)return"";for(var a=[],b=0,c=this.f.l(),d=0;d<c.length;d++){var e=c[d],f=igRF_.string.urlEncode(e);e=this.f.get(e);if(igRF_.isArray(e))for(var g=0;g<e.length;g++){b>0&&a.push("&");a.push(f,"=",igRF_.string.urlEncode(e[g]));b++}else{b>0&&a.push("&");a.push(f,"=",igRF_.string.urlEncode(e));b++}}return this.va=a.join("")};
igRF_.Uri.QueryData.prototype.Qg=function(){if(!this.Ia)this.Ia=igRF_.Uri.bb(this.toString());return this.Ia};igRF_.Uri.QueryData.prototype.jb=function(){delete this.Ia;delete this.va;this.ue&&delete this.ue.fa};igRF_.Uri.QueryData.prototype.clone=function(){var a=new igRF_.Uri.QueryData;if(this.Ia)a.Ia=this.Ia;if(this.va)a.va=this.va;if(this.f)a.f=this.f.clone();return a};igRF_.Uri.QueryData.prototype.Ea=function(a){a=String(a);if(this.ka)a=a.toLowerCase();return a};
igRF_.Uri.QueryData.prototype.Ga=function(a){var b=a&&!this.ka;if(b){this.ha();this.jb();igRF_.structs.forEach(this.f,function(c,d){var e=d.toLowerCase();if(d!=e){this.remove(d);this.add(e,c)}},this)}this.ka=a};igRF_.Uri.QueryData.prototype.extend=function(){for(var a=0;a<arguments.length;a++){var b=arguments[a];igRF_.structs.forEach(b,function(c,d){this.add(d,c)},this)}};igRF_.finance={};igRF_.finance.autocomplete={};igRF_.finance.autocomplete.Matcher={};
(function(){var a=igRF_.finance.autocomplete;a.Matcher=function(b,c){this.Eh=b;this.Ah=c;this.Wf=function(){};this.$e="";if(c)this.$e="www.google."+this.uf(window.location.href);this.za=[];this.ub={};this.Hc()};a.Matcher.prototype.uf=function(b){b=new igRF_.Uri(b);b=b.rf("parent");return(b=igRF_.Uri.parse(b).yb().match(/google\.(.+)/i))&&b.length>1&&b[1]?b[1]:"com"};a.Matcher.prototype._clearCache=function(){this.ub={}};a.Matcher.prototype._DIVIDER="\u000c";a.Matcher.prototype.Hc=function(){this.He=
igRF_d;this.Ec=this.$b=""};a.Matcher.prototype.Gc=function(b,c,d){this.Wf=d;this.Ib=c;this.pf(b,c)};a.Matcher.prototype.xd=function(b){this.cachedPatternToken=this.cachedPatternToken||"";this.cachedPattern=this.cachedPattern||igRF_c;if(b=="")return igRF_c;if(b!=this.cachedPatternToken){var c=b.replace(/([\^*+\-\$\\\{\}\(\)\[\]\#?\.])/g,"\\$1");c=new RegExp("(.*?[\\s])??([.]?"+c+")(.*)","i");this.cachedPatternToken=b;this.cachedPattern={re:c,preTokenIndex:1,tokenIndex:2,postTokenIndex:3}}return this.cachedPattern};
a.Matcher.prototype.be=function(b){for(var c=this.xd(b),d=[],e=0;e<this.za.length;e++){var f=this.za[e];if(f.sugg)for(var g=1;g<f.sugg.length;++g)if(f.sugg[g].match(c.re)){d.push(f);break}if(d.length>=this.Ib)break}this.Wf(b,d)};a.Matcher.prototype.pf=function(b){if(b==""){this.Hc();this.za=[]}else if(b!=this.Ec)if(this.He&&b.substring(0,this.$b.length)==this.$b)this.za=this.ub[this.$b];else if(this.ub[b])this.za=this.ub[b];else{this.Hc();this.ng(b);this.Ec=b;return}this.Ec=b;this.be(b)};a.Matcher.prototype.ng=
function(b){if(b.length==0)this.za=[];else{var c=this.of(b),d=this;if(this.Ah){var e=function(g){d.Wd(b,g)};_IG_FetchContent("http://"+this.$e+c,e)}else{var f=igRF_E?new ActiveXObject(igRF_E):new XMLHttpRequest;igRF_G(f,c,function(){d.De(b,f)})}}};a.Matcher.prototype.of=function(b){return b="/finance/match?matchtype="+this.Eh+"&q="+escape(b)+"&basetkr="+escape(this.baseTicker)};a.Matcher.prototype.De=function(b,c){c.readyState==4&&c.status==200&&this.Wd(b,c.responseText)};a.Matcher.prototype.Wd=function(b,
c){try{if(b==this.Ec){var d=eval("("+c+")");this.za=[];for(c=0;c<d.matches.length;c++){var e=d.matches[c],f=e.e&&e.t?e.e+":"+e.t:e.t;e.matchValue=f&&f.length>0?f:e.n;e.toString=function(){return this.matchValue};this.za.push(e)}this.ub[b]=this.za;this.He=d.all;this.$b=b;this.be(b)}}catch(g){}}})();igRF_.finance.autocomplete.InputHandler={};(function(){var a=igRF_.finance.autocomplete;a.InputHandler=function(b,c,d){igRF_.ui.AutoComplete.InputHandler.call(this,b,c,d)};igRF_.inherits(igRF_.finance.autocomplete.InputHandler,igRF_.ui.AutoComplete.InputHandler)})();igRF_.finance.autocomplete.Renderer={};
(function(){var a=igRF_.finance.autocomplete;a.Renderer=function(b){this.render=igRF_c;this.Sa=b};igRF_.inherits(igRF_.finance.autocomplete.Renderer,igRF_.ui.AutoComplete.Renderer.CustomRenderer);a.Renderer.prototype.Lb=function(b,c,d){c=this.Sa.xd(c);if(!c||!c.re)d.innerHTML="";else{b=b.data;for(var e=["tick","cname","local","pinyin","isin","altname"],f=b.sugg[0].split(","),g="",h=igRF_d,i=1;i<b.sugg.length;++i){var j=e[f[i-1]-1];if(j=="cname"&&i!=b.sugg.length-1)j+="_w";j="<span class="+j+">";var k=
b.sugg[i],l=k.match(c.re);if(l){k=(l[1]||"")+"<b>"+l[2]+"</b>"+l[3];h=igRF_b}g+=j+" "+k+"</span>"}d.innerHTML=h?g:""}}})();igRF_.finance.autocomplete.AutoComplete={};igRF_f("google.finance.autocomplete");
(function(){function a(f,g){if(!igRF_.global.Db)igRF_.global.Db=[];f=new d.AutoComplete(f,g,igRF_b);e[g.id]=f;igRF_.global.Db.push(f)}function b(f,g){if(!igRF_.global.Db)igRF_.global.Db=[];f=new d.AutoComplete(f,g,igRF_b);f.qc().Jg(igRF_b);f.nf().Kg(igRF_b);f.ne.call(f,4);e[g.id]=f;igRF_.global.Db.push(f)}var c=igRF_e.global,d=igRF_.finance.autocomplete,e={};d.MATCH_PUBLIC="matchpublic";d.MATCH_ALL="matchall";d.MATCH_PORTFOLIO="matchportfolio";d.AutoComplete=function(f,g,h){this.Sa=new d.Matcher(f,
h);f=new d.Renderer(this.Sa);this.ra=new igRF_.ui.AutoComplete.Renderer(igRF_c,f,igRF_d,igRF_d);this.yc=new d.InputHandler(igRF_c,igRF_c,igRF_d);igRF_.ui.AutoComplete.call(this,this.Sa,this.ra,this.yc);this.yc.Qc(this);this.yc.Ya(g);this.ne.call(this,10);this.zg.call(this,igRF_d)};d.AutoComplete.inherits(igRF_.ui.AutoComplete);d.AutoComplete.prototype.qc=function(){return this.ra};d.AutoComplete.prototype.nf=function(){return this.yc};igRF_.exportProperty(c.google.finance,"InitAutoComplete",a);igRF_.exportProperty(c.google.finance,
"InitAutoCompleteTopAlign",b);igRF_.exportProperty(c.google.finance.autocomplete,"MATCH_PUBLIC",d.MATCH_PUBLIC);igRF_.exportProperty(c.google.finance.autocomplete,"MATCH_ALL",d.MATCH_ALL);igRF_.exportProperty(c.google.finance.autocomplete,"MATCH_PORTFOLIO",d.MATCH_PORTFOLIO)})();igRF_.finance.quote={};
(function(){var a=igRF_e.global.google.finance;a.OPEN="op";a.HIGH="hi";a.LOW="lo";a.SYMBOL="s";a.TICKER="t";a.EXCHANGE="e";a.LAST="l";a.VOLUME="vo";a.AVG_VOLUME="avvo";a.HIGH_52W="hi52";a.LOW_52W="lo52";a.CHANGE="c";a.CHANGE_PCT="cp";a.LAST_TRADE_TIME="ltt";a.LAST_TRADE_DATETIME="lt";a.LAST_TRADE_DATE="ltd";a.EXT_LAST="el";a.EXT_VOLUME="evo";a.EXT_CHANGE="ec";a.EXT_CHANGE_PCT="ecp";a.EXT_LAST_TRADE_TIME="elt";a.MARKET_CAP="mc";a.PE="pe";a.FORWARD_PE="fwpe";a.BETA="beta";a.EPS="eps"})();igRF_.finance.quote.DOMQuoteListener={};
(function(){var a=igRF_.finance.quote,b=igRF_e.global.google.finance;a.QUOTE_KEYS=[b.OPEN,b.HIGH,b.LOW,b.SYMBOL,b.EXCHANGE,b.LAST,b.VOLUME,b.CHANGE,b.CHANGE_PCT,b.TICKER,b.LAST_TRADE_TIME,b.LAST_TRADE_DATETIME,b.LAST_TRADE_DATE,b.EXT_LAST,b.EXT_VOLUME,b.EXT_CHANGE,b.EXT_CHANGE_PCT,b.EXT_LAST_TRADE_TIME,b.AVG_VOLUME,b.HIGH_52W,b.LOW_52W,b.MARKET_CAP,b.PE,b.FORWARD_PE,b.BETA,b.EPS];a.DOMQuoteListener=function(){this.Jb=igRF_c;this.Rd=[];this.Za={chg:"financelib_up",chr:"financelib_down"}};a.DOMQuoteListener.prototype.Bg=
function(c,d){this.Za.chg=c;this.Za.chr=d};a.DOMQuoteListener.prototype.Cg=function(c){this.Rd=c};a.DOMQuoteListener.prototype.Ne=function(c,d,e){var f=this.Jb[c];if(!f){f={};this.Jb[c]=f}c=f[d];if(!c){c=[];f[d]=c}c.push(e)};a.DOMQuoteListener.prototype.kf=function(c,d){return(c=this.Jb[c])?c[d]:igRF_c};a.DOMQuoteListener.prototype.lg=function(){if(!this.Jb){this.Jb={};if(document.getElementsByTagName)for(var c=document.getElementsByTagName("span"),d=0;d<c.length;++d){var e=c[d];if(e.id&&e.id.length>
2)for(var f=0;f<this.Rd.length;++f){var g=this.Rd[f];if(e.id.substring(0,g.length)==g){var h=e.id.substring(g.length+1);h&&this.Ne(g,h,e)}}}}};a.DOMQuoteListener.prototype.listen=function(c,d){this.lg();for(var e=0;e<a.QUOTE_KEYS.length;++e){var f=a.QUOTE_KEYS[e],g=c[f];if(g){var h=this.kf(d,f);if(h){var i=igRF_c,j=f==b.CHANGE||f==b.CHANGE_PCT,k=f==b.EXT_CHANGE||f==b.EXT_CHANGE_PCT;if(j||k){if(j&&c.ccol)i=this.Za[c.ccol];else if(k&&c.eccol)i=this.Za[c.eccol];if(!i&&g.length&&g.length>0)i="-"==g.charAt(0)?
this.Za.chr:this.Za.chg}if(f==b.CHANGE_PCT||f==b.EXT_CHANGE_PCT)g="("+g+"%)";for(f=0;f<h.length;++f)if(j=h[f]){if(i)j.className=i;j.innerHTML=g}}}}}})();igRF_.finance.quote.QuotePoller={};
(function(){function a(d,e){d="("+d.substring(d.indexOf("["))+")";try{var f=eval(d);if(igRF_.isObject(f))for(d=0;d<f.length;++d){var g=f[d],h=g[c.TICKER];if(h){var i=g[c.EXCHANGE];g[c.SYMBOL]=i?i+":"+h:h;var j=e.qe[g[c.SYMBOL]];j||(j=e.qe[h]);for(var k=0;k<e.v.length;++k)e.v[k](g,j)}}}catch(l){}}var b=igRF_.finance.quote,c=igRF_e.global.google.finance;b.QuotePoller=function(d){this.se=[];this.v=[];this.Xh=igRF_b;this.fc=this.La=igRF_c;this.Zd=d;this.$d=b.QuotePoller.getModuleSettings(d);this.qe=""};
b.QuotePoller.getModuleSettings=function(d){if(!igRF_.isDefAndNotNull(d))for(var e in c.modules)if(igRF_.isDefAndNotNull(c.modules[e].token)){d=e;break}e={token:"",synd:"",msh:""};if(igRF_.isDefAndNotNull(d)&&igRF_.isDefAndNotNull(c.modules[d]))e=c.modules[d];return e};b.QuotePoller.prototype.Zb=function(d){igRF_.array.contains(this.v,d)||this.v.push(d)};b.QuotePoller.prototype.Fc=function(d){igRF_.array.remove(this.v,d)};b.QuotePoller.prototype.cd=function(d){if(this.fc!=igRF_c){this.Fc(this.fc);
this.La=igRF_c}if(this.La==igRF_c){this.La=new igRF_.finance.quote.DOMQuoteListener;this.fc=igRF_.bind(this.La.listen,this.La);var e=igRF_.structs.j(d);this.La.Cg(e);igRF_.isDefAndNotNull(this.Zd)&&this.La.Bg("financelib_up financelib_up"+this.Zd,"financelib_down financelib_down"+this.Zd)}this.qe=d;this.Zb(this.fc)};b.QuotePoller.prototype.Kf=function(d){return d=!this.se||this.se.join(",")!=d.join(",")};b.QuotePoller.prototype.Bd=function(d,e,f){e||(e="en");f||(f="us");igRF_.isArray(d)||(d=[d.toString()]);
if(igRF_.object.ia(d)>0){var g=this.Kf(d),h=d.join(",");this.se=d;d=[c.getApiHost(),"/finance/api?q=",h,g?"&infotype=infoquoteall":"",c.isNewRequest(h)?"":"&auto=1","&client=ig","&token=",this.$d.token,"&synd=",this.$d.synd,"&msh=",this.$d.locked_domain,"&hl=",e,"&gl=",f];_IG_FetchContent(d.join(""),_IG_Callback(a,this,g),{refreshInterval:5})}}})();igRF_f("google.finance");
(function(){function a(f){var g=igRF_d,h=igRF_.now();if(f!=e.query&&h-e.time>1E3){e.query=f;e.time=h;g=igRF_b}return g}function b(){return c.host?c.host:"http://www.google.com"}var c=igRF_e.global.google.finance,d={},e={query:"",time:0};igRF_.exportSymbol("google.finance.Quote",igRF_.finance.quote.QuotePoller);igRF_.exportSymbol("google.finance.Quote.prototype.enableDomUpdates",igRF_.finance.quote.QuotePoller.prototype.cd);igRF_.exportSymbol("google.finance.Quote.prototype.getQuotes",igRF_.finance.quote.QuotePoller.prototype.Bd);
igRF_.exportSymbol("google.finance.Quote.prototype.addListener",igRF_.finance.quote.QuotePoller.prototype.Zb);igRF_.exportSymbol("google.finance.Quote.prototype.removeListener",igRF_.finance.quote.QuotePoller.prototype.Fc);igRF_.exportSymbol("google.finance.isNewRequest",a);igRF_.exportSymbol("google.finance.getApiHost",b);igRF_.exportProperty(c,"modules",d)})();
function igFI_a(a){throw a;}var igFI_b=true,igFI_c=null,igFI_d=false,igFI_e=window.google||{};igFI_e.global=this;function igFI_f(a){a=a.split(".");for(var b=igFI_e.global,c;c=a.shift();)b=b[c]?b[c]:(b[c]={})};var igFI_=igFI_||{};igFI_.global=this;igFI_.DEBUG=igFI_b;igFI_.LOCALE="en";igFI_.hc=igFI_c;igFI_.provide=function(a){igFI_.Jf(a)};igFI_.Jf=function(a,b,c){a=a.split(".");c=c||igFI_.global;!(a[0]in c)&&c.execScript&&c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)if(!a.length&&igFI_.isDef(b))c[d]=b;else c=c[d]?c[d]:(c[d]={})};igFI_.getObjectByName=function(a,b){a=a.split(".");b=b||igFI_.global;for(var c;c=a.shift();)if(b[c])b=b[c];else return igFI_c;return b};
igFI_.globalize=function(a,b){b=b||igFI_.global;for(var c in a)b[c]=a[c]};igFI_.addDependency=function(){};igFI_.require=function(){};igFI_.useStrictRequires=igFI_d;igFI_.basePath="";igFI_.nullFunction=function(){};igFI_.identityFunction=function(){return arguments[0]};igFI_.abstractMethod=function(){igFI_a(Error("unimplemented abstract method"))};igFI_.addSingletonGetter=function(a){a.getInstance=function(){return a.ii||(a.ii=new a)}};
igFI_.typeOf=function(a){var b=typeof a;if(b=="object")if(a){if(a instanceof Array||!(a instanceof Object)&&Object.prototype.toString.call(a)=="[object Array]"||typeof a.length=="number"&&typeof a.splice!="undefined"&&typeof a.propertyIsEnumerable!="undefined"&&!a.propertyIsEnumerable("splice"))return"array";if(!(a instanceof Object)&&(Object.prototype.toString.call(a)=="[object Function]"||typeof a.call!="undefined"&&typeof a.propertyIsEnumerable!="undefined"&&!a.propertyIsEnumerable("call")))return"function"}else return"null";
else if(b=="function"&&typeof a.call=="undefined")return"object";return b};igFI_.xi=function(a,b){if(b in a)for(var c in a)if(c==b&&Object.prototype.hasOwnProperty.call(a,b))return igFI_b;return igFI_d};igFI_.Oi=function(a,b){return a instanceof Object?Object.prototype.propertyIsEnumerable.call(a,b):igFI_.xi(a,b)};igFI_.isDef=function(a){return a!==undefined};igFI_.isNull=function(a){return a===igFI_c};igFI_.isDefAndNotNull=function(a){return a!=igFI_c};
igFI_.isArray=function(a){return igFI_.typeOf(a)=="array"};igFI_.isArrayLike=function(a){var b=igFI_.typeOf(a);return b=="array"||b=="object"&&typeof a.length=="number"};igFI_.isDateLike=function(a){return igFI_.isObject(a)&&typeof a.getFullYear=="function"};igFI_.isString=function(a){return typeof a=="string"};igFI_.isBoolean=function(a){return typeof a=="boolean"};igFI_.isNumber=function(a){return typeof a=="number"};igFI_.isFunction=function(a){return igFI_.typeOf(a)=="function"};
igFI_.isObject=function(a){a=igFI_.typeOf(a);return a=="object"||a=="array"||a=="function"};igFI_.getHashCode=function(a){if(a.hasOwnProperty&&a.hasOwnProperty(igFI_.Ga))return a[igFI_.Ga];a[igFI_.Ga]||(a[igFI_.Ga]=++igFI_.fi);return a[igFI_.Ga]};igFI_.removeHashCode=function(a){"removeAttribute"in a&&a.removeAttribute(igFI_.Ga);try{delete a[igFI_.Ga]}catch(b){}};igFI_.Ga="closure_hashCode_"+Math.floor(Math.random()*2147483648).toString(36);igFI_.fi=0;
igFI_.cloneObject=function(a){var b=igFI_.typeOf(a);if(b=="object"||b=="array"){if(a.clone)return a.clone.call(a);b=b=="array"?[]:{};for(var c in a)b[c]=igFI_.cloneObject(a[c]);return b}return a};igFI_.bind=function(a,b){var c=b||igFI_.global;if(arguments.length>2){var d=Array.prototype.slice.call(arguments,2);return function(){var e=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(e,d);return a.apply(c,e)}}else return function(){return a.apply(c,arguments)}};
igFI_.partial=function(a){var b=Array.prototype.slice.call(arguments,1);return function(){var c=Array.prototype.slice.call(arguments);c.unshift.apply(c,b);return a.apply(this,c)}};igFI_.mixin=function(a,b){for(var c in b)a[c]=b[c]};igFI_.now=Date.now||function(){return+new Date};
igFI_.globalEval=function(a){if(igFI_.global.execScript)igFI_.global.execScript(a,"JavaScript");else if(igFI_.global.eval){if(igFI_.hc==igFI_c){igFI_.global.eval("var _et_ = 1;");if(typeof igFI_.global._et_!="undefined"){delete igFI_.global._et_;igFI_.hc=igFI_b}else igFI_.hc=igFI_d}if(igFI_.hc)igFI_.global.eval(a);else{var b=igFI_.global.document,c=b.createElement("script");c.type="text/javascript";c.defer=igFI_d;c.appendChild(b.createTextNode(a));b.body.appendChild(c);b.body.removeChild(c)}}else igFI_a(Error("goog.globalEval not available"))};
igFI_.typedef=igFI_b;igFI_.getCssName=function(a,b){a=a+(b?"-"+b:"");return igFI_.jd&&a in igFI_.jd?igFI_.jd[a]:a};igFI_.setCssNameMapping=function(a){igFI_.jd=a};igFI_.getMsg=function(a,b){b=b||{};for(var c in b)a=a.replace(new RegExp("\\{\\$"+c+"\\}","gi"),b[c]);return a};igFI_.exportSymbol=function(a,b,c){igFI_.Jf(a,b,c)};igFI_.exportProperty=function(a,b,c){a[b]=c};igFI_.inherits=function(a,b){function c(){}c.prototype=b.prototype;a.j=b.prototype;a.prototype=new c;a.prototype.constructor=a};
igFI_.base=function(a,b){var c=arguments.callee.caller;if(c.j)return c.j.constructor.apply(a,Array.prototype.slice.call(arguments,1));for(var d=Array.prototype.slice.call(arguments,2),e=igFI_d,f=a.constructor;f;f=f.j&&f.j.constructor)if(f.prototype[b]===c)e=igFI_b;else if(e)return f.prototype[b].apply(a,d);if(a[b]===c)return a.constructor.prototype[b].apply(a,d);else igFI_a(Error("goog.base called from a method of one name to a method of a different name"))};igFI_.MODIFY_FUNCTION_PROTOTYPES=igFI_b;
if(igFI_.MODIFY_FUNCTION_PROTOTYPES){Function.prototype.bind=function(a){if(arguments.length>1){var b=Array.prototype.slice.call(arguments,1);b.unshift(this,a);return igFI_.bind.apply(igFI_c,b)}else return igFI_.bind(this,a)};Function.prototype.partial=function(){var a=Array.prototype.slice.call(arguments);a.unshift(this,igFI_c);return igFI_.bind.apply(igFI_c,a)};Function.prototype.inherits=function(a){igFI_.inherits(this,a)};Function.prototype.mixin=function(a){igFI_.mixin(this.prototype,a)}};igFI_.Disposable=function(){};igFI_.Disposable.prototype.nd=igFI_d;igFI_.Disposable.prototype.dispose=function(){if(!this.nd){this.nd=igFI_b;this.b()}};igFI_.Disposable.prototype.b=function(){};igFI_.dispose=function(a){a&&typeof a.dispose=="function"&&a.dispose()};igFI_.array={};igFI_.array.ArrayLike=igFI_.typedef;igFI_.array.peek=function(a){return a[a.length-1]};igFI_.array.k=Array.prototype;igFI_.array.indexOf=igFI_.array.k.indexOf?function(a,b,c){return igFI_.array.k.indexOf.call(a,b,c)}:function(a,b,c){c=c==igFI_c?0:c<0?Math.max(0,a.length+c):c;if(igFI_.isString(a)){if(!igFI_.isString(b)||b.length!=1)return-1;return a.indexOf(b,c)}for(c=c;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1};
igFI_.array.lastIndexOf=igFI_.array.k.lastIndexOf?function(a,b,c){c=c==igFI_c?a.length-1:c;return igFI_.array.k.lastIndexOf.call(a,b,c)}:function(a,b,c){c=c==igFI_c?a.length-1:c;if(c<0)c=Math.max(0,a.length+c);if(igFI_.isString(a)){if(!igFI_.isString(b)||b.length!=1)return-1;return a.lastIndexOf(b,c)}for(c=c;c>=0;c--)if(c in a&&a[c]===b)return c;return-1};
igFI_.array.forEach=igFI_.array.k.forEach?function(a,b,c){igFI_.array.k.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=igFI_.isString(a)?a.split(""):a,f=0;f<d;f++)f in e&&b.call(c,e[f],f,a)};igFI_.array.forEachRight=function(a,b,c){var d=a.length,e=igFI_.isString(a)?a.split(""):a;for(d=d-1;d>=0;--d)d in e&&b.call(c,e[d],d,a)};
igFI_.array.filter=igFI_.array.k.filter?function(a,b,c){return igFI_.array.k.filter.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=[],f=0,g=igFI_.isString(a)?a.split(""):a,j=0;j<d;j++)if(j in g){var i=g[j];if(b.call(c,i,j,a))e[f++]=i}return e};igFI_.array.map=igFI_.array.k.map?function(a,b,c){return igFI_.array.k.map.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=new Array(d),f=igFI_.isString(a)?a.split(""):a,g=0;g<d;g++)if(g in f)e[g]=b.call(c,f[g],g,a);return e};
igFI_.array.reduce=function(a,b,c,d){if(a.reduce)return d?a.reduce(igFI_.bind(b,d),c):a.reduce(b,c);var e=c;igFI_.array.forEach(a,function(f,g){e=b.call(d,e,f,g,a)});return e};igFI_.array.reduceRight=function(a,b,c,d){if(a.reduceRight)return d?a.reduceRight(igFI_.bind(b,d),c):a.reduceRight(b,c);var e=c;igFI_.array.forEachRight(a,function(f,g){e=b.call(d,e,f,g,a)});return e};
igFI_.array.some=igFI_.array.k.some?function(a,b,c){return igFI_.array.k.some.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=igFI_.isString(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return igFI_b;return igFI_d};igFI_.array.every=igFI_.array.k.every?function(a,b,c){return igFI_.array.k.every.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=igFI_.isString(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&!b.call(c,e[f],f,a))return igFI_d;return igFI_b};
igFI_.array.find=function(a,b,c){b=igFI_.array.findIndex(a,b,c);return b<0?igFI_c:igFI_.isString(a)?a.charAt(b):a[b]};igFI_.array.findIndex=function(a,b,c){for(var d=a.length,e=igFI_.isString(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return f;return-1};igFI_.array.findRight=function(a,b,c){b=igFI_.array.findIndexRight(a,b,c);return b<0?igFI_c:igFI_.isString(a)?a.charAt(b):a[b]};
igFI_.array.findIndexRight=function(a,b,c){var d=a.length,e=igFI_.isString(a)?a.split(""):a;for(d=d-1;d>=0;d--)if(d in e&&b.call(c,e[d],d,a))return d;return-1};igFI_.array.contains=function(a,b){return igFI_.array.indexOf(a,b)>=0};igFI_.array.C=function(a){return a.length==0};igFI_.array.clear=function(a){if(!igFI_.isArray(a))for(var b=a.length-1;b>=0;b--)delete a[b];a.length=0};igFI_.array.insert=function(a,b){igFI_.array.contains(a,b)||a.push(b)};
igFI_.array.insertAt=function(a,b,c){igFI_.array.splice(a,c,0,b)};igFI_.array.insertArrayAt=function(a,b,c){igFI_.partial(igFI_.array.splice,a,c,0).apply(igFI_c,b)};igFI_.array.insertBefore=function(a,b,c){var d;arguments.length==2||(d=igFI_.array.indexOf(a,c))<0?a.push(b):igFI_.array.insertAt(a,b,d)};igFI_.array.remove=function(a,b){b=igFI_.array.indexOf(a,b);var c;if(c=b>=0)igFI_.array.removeAt(a,b);return c};igFI_.array.removeAt=function(a,b){return igFI_.array.k.splice.call(a,b,1).length==1};
igFI_.array.removeIf=function(a,b,c){b=igFI_.array.findIndex(a,b,c);if(b>=0){igFI_.array.removeAt(a,b);return igFI_b}return igFI_d};igFI_.array.concat=function(){return igFI_.array.k.concat.apply(igFI_.array.k,arguments)};igFI_.array.clone=function(a){if(igFI_.isArray(a))return igFI_.array.concat(a);else{for(var b=[],c=0,d=a.length;c<d;c++)b[c]=a[c];return b}};igFI_.array.toArray=function(a){if(igFI_.isArray(a))return igFI_.array.concat(a);return igFI_.array.clone(a)};
igFI_.array.extend=function(a){for(var b=1;b<arguments.length;b++){var c=arguments[b],d;if(igFI_.isArray(c)||(d=igFI_.isArrayLike(c))&&c.hasOwnProperty("callee"))a.push.apply(a,c);else if(d)for(var e=a.length,f=c.length,g=0;g<f;g++)a[e+g]=c[g];else a.push(c)}};igFI_.array.splice=function(a){return igFI_.array.k.splice.apply(a,igFI_.array.slice(arguments,1))};igFI_.array.slice=function(a,b,c){return arguments.length<=2?igFI_.array.k.slice.call(a,b):igFI_.array.k.slice.call(a,b,c)};
igFI_.array.removeDuplicates=function(a,b){b=b||a;for(var c={},d=0,e=0;e<a.length;){var f=a[e++],g=igFI_.isObject(f)?igFI_.getHashCode(f):f;if(!Object.prototype.hasOwnProperty.call(c,g)){c[g]=igFI_b;b[d++]=f}}b.length=d};igFI_.array.binarySearch=function(a,b,c){var d=0,e=a.length-1;for(c=c||igFI_.array.defaultCompare;d<=e;){var f=d+e>>1,g=c(b,a[f]);if(g>0)d=f+1;else if(g<0)e=f-1;else return f}return-(d+1)};igFI_.array.sort=function(a,b){igFI_.array.k.sort.call(a,b||igFI_.array.defaultCompare)};
igFI_.array.stableSort=function(a,b){function c(f,g){return e(f.value,g.value)||f.index-g.index}for(var d=0;d<a.length;d++)a[d]={index:d,value:a[d]};var e=b||igFI_.array.defaultCompare;igFI_.array.sort(a,c);for(d=0;d<a.length;d++)a[d]=a[d].value};igFI_.array.sortObjectsByKey=function(a,b,c){var d=c||igFI_.array.defaultCompare;igFI_.array.sort(a,function(e,f){return d(e[b],f[b])})};
igFI_.array.equals=function(a,b,c){if(!igFI_.isArrayLike(a)||!igFI_.isArrayLike(b)||a.length!=b.length)return igFI_d;var d=a.length;c=c||igFI_.array.defaultCompareEquality;for(var e=0;e<d;e++)if(!c(a[e],b[e]))return igFI_d;return igFI_b};igFI_.array.compare=function(a,b,c){return igFI_.array.equals(a,b,c)};igFI_.array.defaultCompare=function(a,b){return a>b?1:a<b?-1:0};igFI_.array.defaultCompareEquality=function(a,b){return a===b};
igFI_.array.binaryInsert=function(a,b,c){c=igFI_.array.binarySearch(a,b,c);if(c<0){igFI_.array.insertAt(a,b,-(c+1));return igFI_b}return igFI_d};igFI_.array.binaryRemove=function(a,b,c){b=igFI_.array.binarySearch(a,b,c);return b>=0?igFI_.array.removeAt(a,b):igFI_d};igFI_.array.bucket=function(a,b){for(var c={},d=0;d<a.length;d++){var e=a[d],f=b(e,d,a);if(igFI_.isDef(f)){f=c[f]||(c[f]=[]);f.push(e)}}return c};igFI_.array.repeat=function(a,b){for(var c=[],d=0;d<b;d++)c[d]=a;return c};
igFI_.array.flatten=function(){for(var a=[],b=0;b<arguments.length;b++){var c=arguments[b];igFI_.isArray(c)?a.push.apply(a,igFI_.array.flatten.apply(igFI_c,c)):a.push(c)}return a};igFI_.array.rotate=function(a,b){if(a.length){b%=a.length;if(b>0)igFI_.array.k.unshift.apply(a,a.splice(-b,b));else b<0&&igFI_.array.k.push.apply(a,a.splice(0,-b))}return a};igFI_.debug={};igFI_.debug.errorHandlerWeakDep={protectEntryPoint:function(a){return a}};igFI_.object={};igFI_.object.forEach=function(a,b,c){for(var d in a)b.call(c,a[d],d,a)};igFI_.object.filter=function(a,b,c){var d={};for(var e in a)if(b.call(c,a[e],e,a))d[e]=a[e];return d};igFI_.object.map=function(a,b,c){var d={};for(var e in a)d[e]=b.call(c,a[e],e,a);return d};igFI_.object.some=function(a,b,c){for(var d in a)if(b.call(c,a[d],d,a))return igFI_b;return igFI_d};igFI_.object.every=function(a,b,c){for(var d in a)if(!b.call(c,a[d],d,a))return igFI_d;return igFI_b};
igFI_.object.ca=function(a){var b=0;for(var c in a)b++;return b};igFI_.object.getAnyKey=function(a){for(var b in a)return b};igFI_.object.getAnyValue=function(a){for(var b in a)return a[b]};igFI_.object.contains=function(a,b){return igFI_.object.ya(a,b)};igFI_.object.q=function(a){var b=[],c=0;for(var d in a)b[c++]=a[d];return b};igFI_.object.s=function(a){var b=[],c=0;for(var d in a)b[c++]=d;return b};igFI_.object.aa=function(a,b){return b in a};
igFI_.object.ya=function(a,b){for(var c in a)if(a[c]==b)return igFI_b;return igFI_d};igFI_.object.findKey=function(a,b,c){for(var d in a)if(b.call(c,a[d],d,a))return d};igFI_.object.findValue=function(a,b,c){return(b=igFI_.object.findKey(a,b,c))&&a[b]};igFI_.object.C=function(a){for(var b in a)return igFI_d;return igFI_b};igFI_.object.clear=function(a){for(var b=igFI_.object.s(a),c=b.length-1;c>=0;c--)igFI_.object.remove(a,b[c])};igFI_.object.remove=function(a,b){var c;if(c=b in a)delete a[b];return c};
igFI_.object.add=function(a,b,c){if(b in a)igFI_a(Error('The object already contains the key "'+b+'"'));igFI_.object.set(a,b,c)};igFI_.object.get=function(a,b,c){if(b in a)return a[b];return c};igFI_.object.set=function(a,b,c){a[b]=c};igFI_.object.setIfUndefined=function(a,b,c){return b in a?a[b]:(a[b]=c)};igFI_.object.clone=function(a){var b={};for(var c in a)b[c]=a[c];return b};igFI_.object.transpose=function(a){var b={};for(var c in a)b[a[c]]=c;return b};
igFI_.object.Ze=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"];igFI_.object.extend=function(a){for(var b,c,d=1;d<arguments.length;d++){c=arguments[d];for(b in c)a[b]=c[b];for(var e=0;e<igFI_.object.Ze.length;e++){b=igFI_.object.Ze[e];if(Object.prototype.hasOwnProperty.call(c,b))a[b]=c[b]}}};
igFI_.object.create=function(){var a=arguments.length;if(a==1&&igFI_.isArray(arguments[0]))return igFI_.object.create.apply(igFI_c,arguments[0]);if(a%2)igFI_a(Error("Uneven number of arguments"));for(var b={},c=0;c<a;c+=2)b[arguments[c]]=arguments[c+1];return b};igFI_.object.createSet=function(){var a=arguments.length;if(a==1&&igFI_.isArray(arguments[0]))return igFI_.object.createSet.apply(igFI_c,arguments[0]);for(var b={},c=0;c<a;c++)b[arguments[c]]=igFI_b;return b};igFI_.string={};igFI_.string.Unicode={NBSP:"\u00a0"};igFI_.string.startsWith=function(a,b){return a.lastIndexOf(b,0)==0};igFI_.string.endsWith=function(a,b){var c=a.length-b.length;return c>=0&&a.indexOf(b,c)==c};igFI_.string.caseInsensitiveStartsWith=function(a,b){return igFI_.string.caseInsensitiveCompare(b,a.substr(0,b.length))==0};igFI_.string.caseInsensitiveEndsWith=function(a,b){return igFI_.string.caseInsensitiveCompare(b,a.substr(a.length-b.length,b.length))==0};
igFI_.string.subs=function(a){for(var b=1;b<arguments.length;b++){var c=String(arguments[b]).replace(/\$/g,"$$$$");a=a.replace(/\%s/,c)}return a};igFI_.string.collapseWhitespace=function(a){return a.replace(/[\s\xa0]+/g," ").replace(/^\s+|\s+$/g,"")};igFI_.string.C=function(a){return/^[\s\xa0]*$/.test(a)};igFI_.string.isEmptySafe=function(a){return igFI_.string.C(igFI_.string.makeSafe(a))};igFI_.string.isBreakingWhitespace=function(a){return!/[^\t\n\r ]/.test(a)};igFI_.string.isAlpha=function(a){return!/[^a-zA-Z]/.test(a)};
igFI_.string.isNumeric=function(a){return!/[^0-9]/.test(a)};igFI_.string.isAlphaNumeric=function(a){return!/[^a-zA-Z0-9]/.test(a)};igFI_.string.isSpace=function(a){return a==" "};igFI_.string.isUnicodeChar=function(a){return a.length==1&&a>=" "&&a<="~"||a>="\u0080"&&a<="\ufffd"};igFI_.string.stripNewlines=function(a){return a.replace(/(\r\n|\r|\n)+/g," ")};igFI_.string.canonicalizeNewlines=function(a){return a.replace(/(\r\n|\r|\n)/g,"\n")};
igFI_.string.normalizeWhitespace=function(a){return a.replace(/\xa0|\s/g," ")};igFI_.string.normalizeSpaces=function(a){return a.replace(/\xa0|[ \t]+/g," ")};igFI_.string.trim=function(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")};igFI_.string.trimLeft=function(a){return a.replace(/^[\s\xa0]+/,"")};igFI_.string.trimRight=function(a){return a.replace(/[\s\xa0]+$/,"")};igFI_.string.caseInsensitiveCompare=function(a,b){a=String(a).toLowerCase();b=String(b).toLowerCase();return a<b?-1:a==b?0:1};
igFI_.string.Sg=/(\.\d+)|(\d+)|(\D+)/g;igFI_.string.numerateCompare=function(a,b){if(a==b)return 0;if(!a)return-1;if(!b)return 1;for(var c=a.toLowerCase().match(igFI_.string.Sg),d=b.toLowerCase().match(igFI_.string.Sg),e=Math.min(c.length,d.length),f=0;f<e;f++){var g=c[f],j=d[f];if(g!=j){a=parseInt(g,10);if(!isNaN(a)){b=parseInt(j,10);if(!isNaN(b)&&a-b)return a-b}return g<j?-1:1}}if(c.length!=d.length)return c.length-d.length;return a<b?-1:1};igFI_.string.di=/^[a-zA-Z0-9\-_.!~*'()]*$/;
igFI_.string.urlEncode=function(a){a=String(a);if(!igFI_.string.di.test(a))return encodeURIComponent(a);return a};igFI_.string.urlDecode=function(a){return decodeURIComponent(a.replace(/\+/g," "))};igFI_.string.newLineToBr=function(a,b){return a.replace(/(\r\n|\r|\n)/g,b?"<br />":"<br>")};
igFI_.string.htmlEscape=function(a,b){if(b)return a.replace(igFI_.string.hf,"&amp;").replace(igFI_.string.Gg,"&lt;").replace(igFI_.string.hg,"&gt;").replace(igFI_.string.fh,"&quot;");else{if(!igFI_.string.Ph.test(a))return a;if(a.indexOf("&")!=-1)a=a.replace(igFI_.string.hf,"&amp;");if(a.indexOf("<")!=-1)a=a.replace(igFI_.string.Gg,"&lt;");if(a.indexOf(">")!=-1)a=a.replace(igFI_.string.hg,"&gt;");if(a.indexOf('"')!=-1)a=a.replace(igFI_.string.fh,"&quot;");return a}};igFI_.string.hf=/&/g;
igFI_.string.Gg=/</g;igFI_.string.hg=/>/g;igFI_.string.fh=/\"/g;igFI_.string.Ph=/[&<>\"]/;igFI_.string.unescapeEntities=function(a){if(igFI_.string.contains(a,"&"))return"document"in igFI_.global&&!igFI_.string.contains(a,"<")?igFI_.string.Fi(a):igFI_.string.Gi(a);return a};igFI_.string.Fi=function(a){var b=igFI_.global.document.createElement("a");b.innerHTML=a;b[igFI_.string.Ye]&&b[igFI_.string.Ye]();a=b.firstChild.nodeValue;b.innerHTML="";return a};
igFI_.string.Gi=function(a){return a.replace(/&([^;]+);/g,function(b,c){switch(c){case "amp":return"&";case "lt":return"<";case "gt":return">";case "quot":return'"';default:if(c.charAt(0)=="#"){c=Number("0"+c.substr(1));if(!isNaN(c))return String.fromCharCode(c)}return b}})};igFI_.string.Ye="normalize";igFI_.string.whitespaceEscape=function(a,b){return igFI_.string.newLineToBr(a.replace(/  /g," &#160;"),b)};
igFI_.string.stripQuotes=function(a,b){for(var c=b.length,d=0;d<c;d++){var e=c==1?b:b.charAt(d);if(a.charAt(0)==e&&a.charAt(a.length-1)==e)return a.substring(1,a.length-1)}return a};igFI_.string.truncate=function(a,b,c){if(c)a=igFI_.string.unescapeEntities(a);if(a.length>b)a=a.substring(0,b-3)+"...";if(c)a=igFI_.string.htmlEscape(a);return a};
igFI_.string.truncateMiddle=function(a,b,c){if(c)a=igFI_.string.unescapeEntities(a);if(a.length>b){var d=Math.floor(b/2),e=a.length-d;d+=b%2;a=a.substring(0,d)+"..."+a.substring(e)}if(c)a=igFI_.string.htmlEscape(a);return a};igFI_.string.ee={"\u0008":"\\b","\u000c":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\u000b":"\\x0B",'"':'\\"',"'":"\\'","\\":"\\\\"};
igFI_.string.quote=function(a){a=String(a);if(a.quote)return a.quote();else{for(var b=['"'],c=0;c<a.length;c++)b[c+1]=igFI_.string.escapeChar(a.charAt(c));b.push('"');return b.join("")}};igFI_.string.escapeChar=function(a){if(a in igFI_.string.ee)return igFI_.string.ee[a];var b=a,c=a.charCodeAt(0);if(c>31&&c<127)b=a;else{if(c<256){b="\\x";if(c<16||c>256)b+="0"}else{b="\\u";if(c<4096)b+="0"}b+=c.toString(16).toUpperCase()}return igFI_.string.ee[a]=b};
igFI_.string.toMap=function(a){for(var b={},c=0;c<a.length;c++)b[a.charAt(c)]=igFI_b;return b};igFI_.string.contains=function(a,b){return a.indexOf(b)!=-1};igFI_.string.removeAt=function(a,b,c){var d=a;if(b>=0&&b<a.length&&c>0)d=a.substr(0,b)+a.substr(b+c,a.length-b-c);return d};igFI_.string.remove=function(a,b){b=new RegExp(igFI_.string.regExpEscape(b),"");return a.replace(b,"")};igFI_.string.Da=function(a,b){b=new RegExp(igFI_.string.regExpEscape(b),"g");return a.replace(b,"")};
igFI_.string.regExpEscape=function(a){return String(a).replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")};igFI_.string.repeat=function(a,b){return(new Array(b+1)).join(a)};igFI_.string.padNumber=function(a,b,c){a=igFI_.isDef(c)?a.toFixed(c):String(a);c=a.indexOf(".");if(c==-1)c=a.length;return igFI_.string.repeat("0",Math.max(0,b-c))+a};igFI_.string.makeSafe=function(a){return a==igFI_c?"":String(a)};
igFI_.string.buildString=function(){return Array.prototype.join.call(arguments,"")};igFI_.string.getRandomString=function(){return Math.floor(Math.random()*2147483648).toString(36)+(Math.floor(Math.random()*2147483648)^igFI_.now()).toString(36)};
igFI_.string.compareVersions=function(a,b){var c=0;a=igFI_.string.trim(String(a)).split(".");b=igFI_.string.trim(String(b)).split(".");for(var d=Math.max(a.length,b.length),e=0;c==0&&e<d;e++){var f=a[e]||"",g=b[e]||"",j=new RegExp("(\\d*)(\\D*)","g"),i=new RegExp("(\\d*)(\\D*)","g");do{var l=j.exec(f)||["","",""],m=i.exec(g)||["","",""];if(l[0].length==0&&m[0].length==0)break;c=l[1].length==0?0:parseInt(l[1],10);var p=m[1].length==0?0:parseInt(m[1],10);c=igFI_.string.fd(c,p)||igFI_.string.fd(l[2].length==
0,m[2].length==0)||igFI_.string.fd(l[2],m[2])}while(c==0)}return c};igFI_.string.fd=function(a,b){if(a<b)return-1;else if(a>b)return 1;return 0};igFI_.string.Lh=4294967296;igFI_.string.hashCode=function(a){for(var b=0,c=0;c<a.length;++c){b=31*b+a.charCodeAt(c);b%=igFI_.string.Lh}return b};igFI_.string.Ii=Math.random()*2147483648|0;igFI_.string.createUniqueString=function(){return"goog_"+igFI_.string.Ii++};igFI_.string.toNumber=function(a){var b=Number(a);if(b==0&&igFI_.string.C(a))return NaN;return b};igFI_.userAgent={};igFI_.userAgent.ASSUME_IE=igFI_d;igFI_.userAgent.ASSUME_GECKO=igFI_d;igFI_.userAgent.ASSUME_WEBKIT=igFI_d;igFI_.userAgent.ASSUME_MOBILE_WEBKIT=igFI_d;igFI_.userAgent.ASSUME_OPERA=igFI_d;igFI_.userAgent.Za=igFI_.userAgent.ASSUME_IE||igFI_.userAgent.ASSUME_GECKO||igFI_.userAgent.ASSUME_MOBILE_WEBKIT||igFI_.userAgent.ASSUME_WEBKIT||igFI_.userAgent.ASSUME_OPERA;igFI_.userAgent.getUserAgentString=function(){return igFI_.global.navigator?igFI_.global.navigator.userAgent:igFI_c};
igFI_.userAgent.getNavigator=function(){return igFI_.global.navigator};
igFI_.userAgent.ae=function(){igFI_.userAgent.vb=igFI_d;igFI_.userAgent.Ef=igFI_d;igFI_.userAgent.fc=igFI_d;igFI_.userAgent.Ff=igFI_d;igFI_.userAgent.Df=igFI_d;var a;if(!igFI_.userAgent.Za&&(a=igFI_.userAgent.getUserAgentString())){var b=igFI_.userAgent.getNavigator();igFI_.userAgent.vb=a.indexOf("Opera")==0;igFI_.userAgent.Ef=!igFI_.userAgent.vb&&a.indexOf("MSIE")!=-1;igFI_.userAgent.fc=!igFI_.userAgent.vb&&a.indexOf("WebKit")!=-1;igFI_.userAgent.Ff=igFI_.userAgent.fc&&a.indexOf("Mobile")!=-1;igFI_.userAgent.Df=
!igFI_.userAgent.vb&&!igFI_.userAgent.fc&&b.product=="Gecko"}};igFI_.userAgent.Za||igFI_.userAgent.ae();igFI_.userAgent.OPERA=igFI_.userAgent.Za?igFI_.userAgent.ASSUME_OPERA:igFI_.userAgent.vb;igFI_.userAgent.IE=igFI_.userAgent.Za?igFI_.userAgent.ASSUME_IE:igFI_.userAgent.Ef;igFI_.userAgent.GECKO=igFI_.userAgent.Za?igFI_.userAgent.ASSUME_GECKO:igFI_.userAgent.Df;igFI_.userAgent.WEBKIT=igFI_.userAgent.Za?igFI_.userAgent.ASSUME_WEBKIT||igFI_.userAgent.ASSUME_MOBILE_WEBKIT:igFI_.userAgent.fc;
igFI_.userAgent.MOBILE=igFI_.userAgent.ASSUME_MOBILE_WEBKIT||igFI_.userAgent.Ff;igFI_.userAgent.SAFARI=igFI_.userAgent.WEBKIT;igFI_.userAgent.Yh=function(){var a=igFI_.userAgent.getNavigator();return a&&a.platform||""};igFI_.userAgent.PLATFORM=igFI_.userAgent.Yh();igFI_.userAgent.ASSUME_MAC=igFI_d;igFI_.userAgent.ASSUME_WINDOWS=igFI_d;igFI_.userAgent.ASSUME_LINUX=igFI_d;igFI_.userAgent.ASSUME_X11=igFI_d;
igFI_.userAgent.sb=igFI_.userAgent.ASSUME_MAC||igFI_.userAgent.ASSUME_WINDOWS||igFI_.userAgent.ASSUME_LINUX||igFI_.userAgent.ASSUME_X11;
igFI_.userAgent.hi=function(){igFI_.userAgent.Vh=igFI_.string.contains(igFI_.userAgent.PLATFORM,"Mac");igFI_.userAgent.Wh=igFI_.string.contains(igFI_.userAgent.PLATFORM,"Win");igFI_.userAgent.Uh=igFI_.string.contains(igFI_.userAgent.PLATFORM,"Linux");igFI_.userAgent.Xh=!!igFI_.userAgent.getNavigator()&&igFI_.string.contains(igFI_.userAgent.getNavigator().appVersion||"","X11")};igFI_.userAgent.sb||igFI_.userAgent.hi();igFI_.userAgent.MAC=igFI_.userAgent.sb?igFI_.userAgent.ASSUME_MAC:igFI_.userAgent.Vh;
igFI_.userAgent.WINDOWS=igFI_.userAgent.sb?igFI_.userAgent.ASSUME_WINDOWS:igFI_.userAgent.Wh;igFI_.userAgent.LINUX=igFI_.userAgent.sb?igFI_.userAgent.ASSUME_LINUX:igFI_.userAgent.Uh;igFI_.userAgent.X11=igFI_.userAgent.sb?igFI_.userAgent.ASSUME_X11:igFI_.userAgent.Xh;
igFI_.userAgent.Zh=function(){var a="",b;if(igFI_.userAgent.OPERA&&igFI_.global.opera){a=igFI_.global.opera.version;a=typeof a=="function"?a():a}else{if(igFI_.userAgent.GECKO)b=/rv\:([^\);]+)(\)|;)/;else if(igFI_.userAgent.IE)b=/MSIE\s+([^\);]+)(\)|;)/;else if(igFI_.userAgent.WEBKIT)b=/WebKit\/(\S+)/;if(b)a=(a=b.exec(igFI_.userAgent.getUserAgentString()))?a[1]:""}return a};igFI_.userAgent.VERSION=igFI_.userAgent.Zh();igFI_.userAgent.compare=function(a,b){return igFI_.string.compareVersions(a,b)};
igFI_.userAgent.Cg={};igFI_.userAgent.isVersion=function(a){return igFI_.userAgent.Cg[a]||(igFI_.userAgent.Cg[a]=igFI_.string.compareVersions(igFI_.userAgent.VERSION,a)>=0)};igFI_.events={};igFI_.events.Event=function(a,b){this.type=a;this.currentTarget=this.target=b};igFI_.inherits(igFI_.events.Event,igFI_.Disposable);igFI_.events.Event.prototype.b=function(){delete this.type;delete this.target;delete this.currentTarget};igFI_.events.Event.prototype.ua=igFI_d;igFI_.events.Event.prototype.Wa=igFI_b;igFI_.events.Event.prototype.stopPropagation=function(){this.ua=igFI_b};igFI_.events.Event.prototype.preventDefault=function(){this.Wa=igFI_d};
igFI_.events.Event.stopPropagation=function(a){a.stopPropagation()};igFI_.events.Event.preventDefault=function(a){a.preventDefault()};igFI_.events.BrowserEvent=function(a,b){a&&this.init(a,b)};igFI_.inherits(igFI_.events.BrowserEvent,igFI_.events.Event);igFI_.events.BrowserEvent.MouseButton={LEFT:0,MIDDLE:1,RIGHT:2};igFI_.events.BrowserEvent.Nh=[1,4,2];igFI_.events.BrowserEvent.prototype.target=igFI_c;igFI_.events.BrowserEvent.prototype.relatedTarget=igFI_c;igFI_.events.BrowserEvent.prototype.offsetX=0;igFI_.events.BrowserEvent.prototype.offsetY=0;igFI_.events.BrowserEvent.prototype.clientX=0;
igFI_.events.BrowserEvent.prototype.clientY=0;igFI_.events.BrowserEvent.prototype.screenX=0;igFI_.events.BrowserEvent.prototype.screenY=0;igFI_.events.BrowserEvent.prototype.button=0;igFI_.events.BrowserEvent.prototype.keyCode=0;igFI_.events.BrowserEvent.prototype.charCode=0;igFI_.events.BrowserEvent.prototype.ctrlKey=igFI_d;igFI_.events.BrowserEvent.prototype.altKey=igFI_d;igFI_.events.BrowserEvent.prototype.shiftKey=igFI_d;igFI_.events.BrowserEvent.prototype.metaKey=igFI_d;
igFI_.events.BrowserEvent.prototype.dh=igFI_d;igFI_.events.BrowserEvent.prototype.na=igFI_c;
igFI_.events.BrowserEvent.prototype.init=function(a,b){var c=this.type=a.type;this.target=a.target||a.srcElement;this.currentTarget=b;if(b=a.relatedTarget){if(igFI_.userAgent.GECKO)try{b=b.nodeName&&b}catch(d){b=igFI_c}}else if(c=="mouseover")b=a.fromElement;else if(c=="mouseout")b=a.toElement;this.relatedTarget=b;this.offsetX=a.offsetX!==undefined?a.offsetX:a.layerX;this.offsetY=a.offsetY!==undefined?a.offsetY:a.layerY;this.clientX=a.clientX!==undefined?a.clientX:a.pageX;this.clientY=a.clientY!==
undefined?a.clientY:a.pageY;this.screenX=a.screenX||0;this.screenY=a.screenY||0;this.button=a.button;this.keyCode=a.keyCode||0;this.charCode=a.charCode||(c=="keypress"?a.keyCode:0);this.ctrlKey=a.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;this.metaKey=a.metaKey;this.dh=igFI_.userAgent.MAC?a.metaKey:a.ctrlKey;this.na=a;delete this.Wa;delete this.ua};
igFI_.events.BrowserEvent.prototype.wg=function(a){return igFI_.userAgent.IE?this.type=="click"?a==igFI_.events.BrowserEvent.MouseButton.LEFT:!!(this.na.button&igFI_.events.BrowserEvent.Nh[a]):this.na.button==a};igFI_.events.BrowserEvent.prototype.stopPropagation=function(){this.ua=igFI_b;if(this.na.stopPropagation)this.na.stopPropagation();else this.na.cancelBubble=igFI_b};igFI_.events.BrowserEvent.Mh=igFI_.userAgent.IE&&!igFI_.userAgent.isVersion("8");
igFI_.events.BrowserEvent.prototype.preventDefault=function(){this.Wa=igFI_d;var a=this.na;if(a.preventDefault)a.preventDefault();else{a.returnValue=igFI_d;if(igFI_.events.BrowserEvent.Mh)try{if(a.ctrlKey||a.keyCode>=112&&a.keyCode<=123)a.keyCode=-1}catch(b){}}};igFI_.events.BrowserEvent.prototype.b=function(){igFI_.events.BrowserEvent.j.b.call(this);this.relatedTarget=this.currentTarget=this.target=this.na=igFI_c};igFI_.events.EventWrapper=function(){};igFI_.events.EventWrapper.prototype.listen=function(){};igFI_.events.EventWrapper.prototype.unlisten=function(){};igFI_.structs={};igFI_.structs.SimplePool=function(a,b){this.Ig=b;this.Na=[];this.xf(a)};igFI_.inherits(igFI_.structs.SimplePool,igFI_.Disposable);igFI_.structs.SimplePool.prototype.cc=igFI_c;igFI_.structs.SimplePool.prototype.md=igFI_c;igFI_.structs.SimplePool.prototype.pb=function(a){this.cc=a};igFI_.structs.SimplePool.prototype.X=function(){if(this.Na.length)return this.Na.pop();return this.hd()};igFI_.structs.SimplePool.prototype.Z=function(a){this.Na.length<this.Ig?this.Na.push(a):this.ld(a)};
igFI_.structs.SimplePool.prototype.xf=function(a){if(a>this.Ig)igFI_a(Error("[goog.structs.SimplePool] Initial cannot be greater than max"));for(var b=0;b<a;b++)this.Na.push(this.hd())};igFI_.structs.SimplePool.prototype.hd=function(){return this.cc?this.cc():{}};igFI_.structs.SimplePool.prototype.ld=function(a){if(this.md)this.md(a);else if(igFI_.isFunction(a.dispose))a.dispose();else for(var b in a)delete a[b]};
igFI_.structs.SimplePool.prototype.b=function(){igFI_.structs.SimplePool.j.b.call(this);for(var a=this.Na;a.length;)this.ld(a.pop());delete this.Na};igFI_.userAgent.jscript={};igFI_.userAgent.jscript.ASSUME_NO_JSCRIPT=igFI_d;igFI_.userAgent.jscript.ae=function(){var a="ScriptEngine"in igFI_.global;igFI_.userAgent.jscript.We=a&&igFI_.global.ScriptEngine()=="JScript";igFI_.userAgent.jscript.Jh=igFI_.userAgent.jscript.We?igFI_.global.ScriptEngineMajorVersion()+"."+igFI_.global.ScriptEngineMinorVersion()+"."+igFI_.global.ScriptEngineBuildVersion():"0"};igFI_.userAgent.jscript.ASSUME_NO_JSCRIPT||igFI_.userAgent.jscript.ae();
igFI_.userAgent.jscript.HAS_JSCRIPT=igFI_.userAgent.jscript.ASSUME_NO_JSCRIPT?igFI_d:igFI_.userAgent.jscript.We;igFI_.userAgent.jscript.VERSION=igFI_.userAgent.jscript.ASSUME_NO_JSCRIPT?"0":igFI_.userAgent.jscript.Jh;igFI_.userAgent.jscript.isVersion=function(a){return igFI_.string.compareVersions(igFI_.userAgent.jscript.VERSION,a)>=0};igFI_.events.Listener=function(){};igFI_.events.Listener.Sh=0;igFI_.events.Listener.prototype.key=0;igFI_.events.Listener.prototype.removed=igFI_d;igFI_.events.Listener.prototype.tb=igFI_d;
igFI_.events.Listener.prototype.init=function(a,b,c,d,e,f){if(igFI_.isFunction(a))this.xg=igFI_b;else if(a&&a.handleEvent&&igFI_.isFunction(a.handleEvent))this.xg=igFI_d;else igFI_a(Error("Invalid listener argument"));this.listener=a;this.proxy=b;this.src=c;this.type=d;this.capture=!!e;this.handler=f;this.tb=igFI_d;this.key=++igFI_.events.Listener.Sh;this.removed=igFI_d};
igFI_.events.Listener.prototype.handleEvent=function(a){if(this.xg)return this.listener.call(this.handler||this.src,a);return this.listener.handleEvent.call(this.listener,a)};igFI_.events.pools={};
(function(){function a(){return{g:0,$:0}}function b(){return[]}function c(){var r=function(y){return g.call(r.src,r.key,y)};return r}function d(){return new igFI_.events.Listener}function e(){return new igFI_.events.BrowserEvent}var f=igFI_.userAgent.jscript.HAS_JSCRIPT&&!igFI_.userAgent.jscript.isVersion("5.7"),g;igFI_.events.pools.setProxyCallbackFunction=function(r){g=r};if(f){igFI_.events.pools.X=function(){return j.X()};igFI_.events.pools.Z=function(r){j.Z(r)};igFI_.events.pools.getArray=function(){return i.X()};
igFI_.events.pools.releaseArray=function(r){i.Z(r)};igFI_.events.pools.getProxy=function(){return l.X()};igFI_.events.pools.releaseProxy=function(){l.Z(c())};igFI_.events.pools.getListener=function(){return m.X()};igFI_.events.pools.releaseListener=function(r){m.Z(r)};igFI_.events.pools.getEvent=function(){return p.X()};igFI_.events.pools.releaseEvent=function(r){p.Z(r)};var j=new igFI_.structs.SimplePool(0,600);j.pb(a);var i=new igFI_.structs.SimplePool(0,600);i.pb(b);var l=new igFI_.structs.SimplePool(0,
600);l.pb(c);var m=new igFI_.structs.SimplePool(0,600);m.pb(d);var p=new igFI_.structs.SimplePool(0,600);p.pb(e)}else{igFI_.events.pools.X=a;igFI_.events.pools.Z=igFI_.nullFunction;igFI_.events.pools.getArray=b;igFI_.events.pools.releaseArray=igFI_.nullFunction;igFI_.events.pools.getProxy=c;igFI_.events.pools.releaseProxy=igFI_.nullFunction;igFI_.events.pools.getListener=d;igFI_.events.pools.releaseListener=igFI_.nullFunction;igFI_.events.pools.getEvent=e;igFI_.events.pools.releaseEvent=igFI_.nullFunction}})();igFI_.events.Ba={};igFI_.events.D={};igFI_.events.ga={};igFI_.events.vi="on";igFI_.events.le={};igFI_.events.Ni="_";
igFI_.events.listen=function(a,b,c,d,e){if(b)if(igFI_.isArray(b)){for(var f=0;f<b.length;f++)igFI_.events.listen(a,b[f],c,d,e);return igFI_c}else{d=!!d;var g=igFI_.events.D;b in g||(g[b]=igFI_.events.pools.X());g=g[b];if(!(d in g)){g[d]=igFI_.events.pools.X();g.g++}g=g[d];var j=igFI_.getHashCode(a),i;g.$++;if(g[j]){i=g[j];for(f=0;f<i.length;f++){g=i[f];if(g.listener==c&&g.handler==e){if(g.removed)break;return i[f].key}}}else{i=g[j]=igFI_.events.pools.getArray();g.g++}f=igFI_.events.pools.getProxy();
f.src=a;g=igFI_.events.pools.getListener();g.init(c,f,a,b,d,e);c=g.key;f.key=c;i.push(g);igFI_.events.Ba[c]=g;igFI_.events.ga[j]||(igFI_.events.ga[j]=igFI_.events.pools.getArray());igFI_.events.ga[j].push(g);if(a.addEventListener){if(a==igFI_.global||!a.kd)a.addEventListener(b,f,d)}else a.attachEvent(igFI_.events.ag(b),f);return c}else igFI_a(Error("Invalid event type"))};
igFI_.events.Jb=function(a,b,c,d,e){if(igFI_.isArray(b)){for(var f=0;f<b.length;f++)igFI_.events.Jb(a,b[f],c,d,e);return igFI_c}a=igFI_.events.listen(a,b,c,d,e);b=igFI_.events.Ba[a];b.tb=igFI_b;return a};igFI_.events.Fg=function(a,b,c,d,e){b.listen(a,c,d,e)};
igFI_.events.unlisten=function(a,b,c,d,e){if(igFI_.isArray(b)){for(var f=0;f<b.length;f++)igFI_.events.unlisten(a,b[f],c,d,e);return igFI_c}d=!!d;a=igFI_.events.Id(a,b,d);if(!a)return igFI_d;for(f=0;f<a.length;f++)if(a[f].listener==c&&a[f].capture==d&&a[f].handler==e)return igFI_.events.unlistenByKey(a[f].key);return igFI_d};
igFI_.events.unlistenByKey=function(a){if(!igFI_.events.Ba[a])return igFI_d;var b=igFI_.events.Ba[a];if(b.removed)return igFI_d;var c=b.src,d=b.type,e=b.proxy,f=b.capture;if(c.removeEventListener){if(c==igFI_.global||!c.kd)c.removeEventListener(d,e,f)}else c.detachEvent&&c.detachEvent(igFI_.events.ag(d),e);c=igFI_.getHashCode(c);e=igFI_.events.D[d][f][c];if(igFI_.events.ga[c]){var g=igFI_.events.ga[c];igFI_.array.remove(g,b);g.length==0&&delete igFI_.events.ga[c]}b.removed=igFI_b;e.Qg=igFI_b;igFI_.events.nf(d,
f,c,e);delete igFI_.events.Ba[a];return igFI_b};igFI_.events.Bh=function(a,b,c,d,e){b.unlisten(a,c,d,e)};
igFI_.events.nf=function(a,b,c,d){if(!d.Ic)if(d.Qg){for(var e=0,f=0;e<d.length;e++)if(d[e].removed){var g=d[e].proxy;g.src=igFI_c;igFI_.events.pools.releaseProxy(g);igFI_.events.pools.releaseListener(d[e])}else{if(e!=f)d[f]=d[e];f++}d.length=f;d.Qg=igFI_d;if(f==0){igFI_.events.pools.releaseArray(d);delete igFI_.events.D[a][b][c];igFI_.events.D[a][b].g--;if(igFI_.events.D[a][b].g==0){igFI_.events.pools.Z(igFI_.events.D[a][b]);delete igFI_.events.D[a][b];igFI_.events.D[a].g--}if(igFI_.events.D[a].g==
0){igFI_.events.pools.Z(igFI_.events.D[a]);delete igFI_.events.D[a]}}}};
igFI_.events.Da=function(a,b,c){var d=0,e=a==igFI_c,f=b==igFI_c,g=c==igFI_c;c=!!c;if(e)igFI_.object.forEach(igFI_.events.ga,function(i){for(var l=i.length-1;l>=0;l--){var m=i[l];if((f||b==m.type)&&(g||c==m.capture)){igFI_.events.unlistenByKey(m.key);d++}}});else{a=igFI_.getHashCode(a);if(igFI_.events.ga[a]){a=igFI_.events.ga[a];for(e=a.length-1;e>=0;e--){var j=a[e];if((f||b==j.type)&&(g||c==j.capture)){igFI_.events.unlistenByKey(j.key);d++}}}}return d};
igFI_.events.getListeners=function(a,b,c){return igFI_.events.Id(a,b,c)||[]};igFI_.events.Id=function(a,b,c){var d=igFI_.events.D;if(b in d){d=d[b];if(c in d){d=d[c];a=igFI_.getHashCode(a);if(d[a])return d[a]}}return igFI_c};igFI_.events.getListener=function(a,b,c,d,e){d=!!d;if(a=igFI_.events.Id(a,b,d))for(b=0;b<a.length;b++)if(a[b].listener==c&&a[b].capture==d&&a[b].handler==e)return a[b];return igFI_c};
igFI_.events.hasListener=function(a,b,c){a=igFI_.getHashCode(a);var d=igFI_.events.ga[a];if(d){var e=igFI_.isDef(b),f=igFI_.isDef(c);if(e&&f){d=igFI_.events.D[b];return!!d&&!!d[c]&&a in d[c]}else return e||f?igFI_.array.some(d,function(g){return e&&g.type==b||f&&g.capture==c}):igFI_b}return igFI_d};igFI_.events.expose=function(a){var b=[];for(var c in a)a[c]&&a[c].id?b.push(c+" = "+a[c]+" ("+a[c].id+")"):b.push(c+" = "+a[c]);return b.join("\n")};
igFI_.events.EventType={CLICK:"click",DBLCLICK:"dblclick",MOUSEDOWN:"mousedown",MOUSEUP:"mouseup",MOUSEOVER:"mouseover",MOUSEOUT:"mouseout",MOUSEMOVE:"mousemove",SELECTSTART:"selectstart",KEYPRESS:"keypress",KEYDOWN:"keydown",KEYUP:"keyup",BLUR:"blur",FOCUS:"focus",DEACTIVATE:"deactivate",FOCUSIN:igFI_.userAgent.IE?"focusin":"DOMFocusIn",FOCUSOUT:igFI_.userAgent.IE?"focusout":"DOMFocusOut",CHANGE:"change",SELECT:"select",SUBMIT:"submit",CONTEXTMENU:"contextmenu",DRAGSTART:"dragstart",ERROR:"error",
HASHCHANGE:"hashchange",HELP:"help",LOAD:"load",LOSECAPTURE:"losecapture",READYSTATECHANGE:"readystatechange",RESIZE:"resize",SCROLL:"scroll",UNLOAD:"unload"};igFI_.events.ag=function(a){if(a in igFI_.events.le)return igFI_.events.le[a];return igFI_.events.le[a]=igFI_.events.vi+a};igFI_.events.fireListeners=function(a,b,c,d){var e=igFI_.events.D;if(b in e){e=e[b];if(c in e)return igFI_.events.fb(e[c],a,b,c,d)}return igFI_b};
igFI_.events.fb=function(a,b,c,d,e){var f=1;b=igFI_.getHashCode(b);if(a[b]){a.$--;a=a[b];if(a.Ic)a.Ic++;else a.Ic=1;try{for(var g=a.length,j=0;j<g;j++){var i=a[j];if(i&&!i.removed)f&=igFI_.events.fireListener(i,e)!==igFI_d}}finally{a.Ic--;igFI_.events.nf(c,d,b,a)}}return Boolean(f)};igFI_.events.fireListener=function(a,b){b=a.handleEvent(b);a.tb&&igFI_.events.unlistenByKey(a.key);return b};igFI_.events.getTotalListenerCount=function(){return igFI_.object.ca(igFI_.events.Ba)};
igFI_.events.dispatchEvent=function(a,b){if(igFI_.isString(b))b=new igFI_.events.Event(b,a);else if(b instanceof igFI_.events.Event)b.target=b.target||a;else{var c=b;b=new igFI_.events.Event(b.type,a);igFI_.object.extend(b,c)}c=1;var d,e=b.type,f=igFI_.events.D;if(!(e in f))return igFI_b;f=f[e];e=igFI_b in f;var g;if(e){d=[];for(g=a;g;g=g.Pd())d.push(g);g=f[igFI_b];g.$=g.g;for(var j=d.length-1;!b.ua&&j>=0&&g.$;j--){b.currentTarget=d[j];c&=igFI_.events.fb(g,d[j],b.type,igFI_b,b)&&b.Wa!=igFI_d}}if(g=
igFI_d in f){g=f[igFI_d];g.$=g.g;if(e)for(j=0;!b.ua&&j<d.length&&g.$;j++){b.currentTarget=d[j];c&=igFI_.events.fb(g,d[j],b.type,igFI_d,b)&&b.Wa!=igFI_d}else for(a=a;!b.ua&&a&&g.$;a=a.Pd()){b.currentTarget=a;c&=igFI_.events.fb(g,a,b.type,igFI_d,b)&&b.Wa!=igFI_d}}return Boolean(c)};igFI_.events.protectBrowserEventEntryPoint=function(a,b){igFI_.events.zc=a.protectEntryPoint(igFI_.events.zc,b);igFI_.events.pools.setProxyCallbackFunction(igFI_.events.zc)};
igFI_.events.zc=function(a,b){if(!igFI_.events.Ba[a])return igFI_b;a=igFI_.events.Ba[a];var c=a.type,d=igFI_.events.D;if(!(c in d))return igFI_b;d=d[c];var e,f;if(igFI_.userAgent.IE){e=b||igFI_.getObjectByName("window.event");b=igFI_b in d;var g=igFI_d in d;if(b){if(igFI_.events.ji(e))return igFI_b;igFI_.events.ni(e)}var j=igFI_.events.pools.getEvent();j.init(e,this);e=igFI_b;try{if(b){for(var i=igFI_.events.pools.getArray(),l=j.currentTarget;l;l=l.parentNode)i.push(l);f=d[igFI_b];f.$=f.g;for(var m=
i.length-1;!j.ua&&m>=0&&f.$;m--){j.currentTarget=i[m];e&=igFI_.events.fb(f,i[m],c,igFI_b,j)}if(g){f=d[igFI_d];f.$=f.g;for(m=0;!j.ua&&m<i.length&&f.$;m++){j.currentTarget=i[m];e&=igFI_.events.fb(f,i[m],c,igFI_d,j)}}}else e=igFI_.events.fireListener(a,j)}finally{if(i){i.length=0;igFI_.events.pools.releaseArray(i)}j.dispose();igFI_.events.pools.releaseEvent(j)}return e}f=new igFI_.events.BrowserEvent(b,this);try{e=igFI_.events.fireListener(a,f)}finally{f.dispose()}return e};igFI_.events.pools.setProxyCallbackFunction(igFI_.events.zc);
igFI_.events.ni=function(a){var b=igFI_d;if(a.keyCode==0)try{a.keyCode=-1;return}catch(c){b=igFI_b}if(b||a.returnValue==undefined)a.returnValue=igFI_b};igFI_.events.ji=function(a){return a.keyCode<0||a.returnValue!=undefined};igFI_.events.Hi=0;igFI_.events.getUniqueId=function(a){return a+"_"+igFI_.events.Hi++};igFI_.events.EventTarget=function(){};igFI_.inherits(igFI_.events.EventTarget,igFI_.Disposable);igFI_.events.EventTarget.prototype.kd=igFI_b;igFI_.events.EventTarget.prototype.Lc=igFI_c;igFI_.events.EventTarget.prototype.Pd=function(){return this.Lc};igFI_.events.EventTarget.prototype.Qb=function(a){this.Lc=a};igFI_.events.EventTarget.prototype.addEventListener=function(a,b,c,d){igFI_.events.listen(this,a,b,c,d)};
igFI_.events.EventTarget.prototype.removeEventListener=function(a,b,c,d){igFI_.events.unlisten(this,a,b,c,d)};igFI_.events.EventTarget.prototype.dispatchEvent=function(a){return igFI_.events.dispatchEvent(this,a)};igFI_.events.EventTarget.prototype.b=function(){igFI_.events.EventTarget.j.b.call(this);igFI_.events.Da(this);this.Lc=igFI_c};igFI_.math={};igFI_.math.Coordinate=function(a,b){this.x=igFI_.isDef(a)?a:0;this.y=igFI_.isDef(b)?b:0};igFI_.math.Coordinate.prototype.clone=function(){return new igFI_.math.Coordinate(this.x,this.y)};if(igFI_.DEBUG)igFI_.math.Coordinate.prototype.toString=function(){return"("+this.x+", "+this.y+")"};igFI_.math.Coordinate.equals=function(a,b){if(a==b)return igFI_b;if(!a||!b)return igFI_d;return a.x==b.x&&a.y==b.y};
igFI_.math.Coordinate.distance=function(a,b){var c=a.x-b.x;a=a.y-b.y;return Math.sqrt(c*c+a*a)};igFI_.math.Coordinate.squaredDistance=function(a,b){var c=a.x-b.x;a=a.y-b.y;return c*c+a*a};igFI_.math.Coordinate.difference=function(a,b){return new igFI_.math.Coordinate(a.x-b.x,a.y-b.y)};igFI_.math.Coordinate.sum=function(a,b){return new igFI_.math.Coordinate(a.x+b.x,a.y+b.y)};igFI_.math.Box=function(a,b,c,d){this.top=a;this.right=b;this.bottom=c;this.left=d};igFI_.math.Box.boundingBox=function(){for(var a=new igFI_.math.Box(arguments[0].y,arguments[0].x,arguments[0].y,arguments[0].x),b=1;b<arguments.length;b++){var c=arguments[b];a.top=Math.min(a.top,c.y);a.right=Math.max(a.right,c.x);a.bottom=Math.max(a.bottom,c.y);a.left=Math.min(a.left,c.x)}return a};igFI_.math.Box.prototype.clone=function(){return new igFI_.math.Box(this.top,this.right,this.bottom,this.left)};
if(igFI_.DEBUG)igFI_.math.Box.prototype.toString=function(){return"("+this.top+"t, "+this.right+"r, "+this.bottom+"b, "+this.left+"l)"};igFI_.math.Box.prototype.contains=function(a){return igFI_.math.Box.contains(this,a)};igFI_.math.Box.prototype.expand=function(a,b,c,d){if(igFI_.isObject(a)){this.top-=a.top;this.right+=a.right;this.bottom+=a.bottom;this.left-=a.left}else{this.top-=a;this.right+=b;this.bottom+=c;this.left-=d}return this};
igFI_.math.Box.equals=function(a,b){if(a==b)return igFI_b;if(!a||!b)return igFI_d;return a.top==b.top&&a.right==b.right&&a.bottom==b.bottom&&a.left==b.left};igFI_.math.Box.contains=function(a,b){if(!a||!b)return igFI_d;if(b instanceof igFI_.math.Box)return b.left>=a.left&&b.right<=a.right&&b.top>=a.top&&b.bottom<=a.bottom;return b.x>=a.left&&b.x<=a.right&&b.y>=a.top&&b.y<=a.bottom};
igFI_.math.Box.distance=function(a,b){if(b.x>=a.left&&b.x<=a.right){if(b.y>=a.top&&b.y<=a.bottom)return 0;return b.y<a.top?a.top-b.y:b.y-a.bottom}if(b.y>=a.top&&b.y<=a.bottom)return b.x<a.left?a.left-b.x:b.x-a.right;return igFI_.math.Coordinate.distance(b,new igFI_.math.Coordinate(b.x<a.left?a.left:a.right,b.y<a.top?a.top:a.bottom))};igFI_.math.Box.intersects=function(a,b){return a.left<=b.right&&b.left<=a.right&&a.top<=b.bottom&&b.top<=a.bottom};igFI_.math.Range=function(a,b){a=Number(a);b=Number(b);this.start=a<b?a:b;this.end=a<b?b:a};igFI_.math.Range.prototype.clone=function(){return new igFI_.math.Range(this.start,this.end)};if(igFI_.DEBUG)igFI_.math.Range.prototype.toString=function(){return"["+this.start+", "+this.end+"]"};igFI_.math.Range.equals=function(a,b){if(a==b)return igFI_b;if(!a||!b)return igFI_d;return a.start==b.start&&a.end==b.end};
igFI_.math.Range.intersection=function(a,b){var c=Math.max(a.start,b.start);a=Math.min(a.end,b.end);return c<=a?new igFI_.math.Range(c,a):igFI_c};igFI_.math.Range.hasIntersection=function(a,b){return Math.max(a.start,b.start)<=Math.min(a.end,b.end)};igFI_.math.Range.boundingRange=function(a,b){return new igFI_.math.Range(Math.min(a.start,b.start),Math.max(a.end,b.end))};igFI_.math.Range.contains=function(a,b){return a.start<=b.start&&a.end>=b.end};
igFI_.math.Range.containsPoint=function(a,b){return a.start<=b&&a.end>=b};igFI_.math.Size=function(a,b){this.width=a;this.height=b};igFI_.math.Size.equals=function(a,b){if(a==b)return igFI_b;if(!a||!b)return igFI_d;return a.width==b.width&&a.height==b.height};igFI_.math.Size.prototype.clone=function(){return new igFI_.math.Size(this.width,this.height)};if(igFI_.DEBUG)igFI_.math.Size.prototype.toString=function(){return"("+this.width+" x "+this.height+")"};igFI_.math.Size.prototype.area=function(){return this.width*this.height};igFI_.math.Size.prototype.C=function(){return!this.area()};
igFI_.math.Size.prototype.ceil=function(){this.width=Math.ceil(this.width);this.height=Math.ceil(this.height);return this};igFI_.math.Size.prototype.floor=function(){this.width=Math.floor(this.width);this.height=Math.floor(this.height);return this};igFI_.math.Size.prototype.round=function(){this.width=Math.round(this.width);this.height=Math.round(this.height);return this};igFI_.math.Size.prototype.scale=function(a){this.width*=a;this.height*=a;return this};igFI_.math.Rect=function(a,b,c,d){this.left=a;this.top=b;this.width=c;this.height=d};igFI_.math.Rect.prototype.clone=function(){return new igFI_.math.Rect(this.left,this.top,this.width,this.height)};igFI_.math.Rect.createFromBox=function(a){return new igFI_.math.Rect(a.left,a.top,a.right-a.left,a.bottom-a.top)};if(igFI_.DEBUG)igFI_.math.Rect.prototype.toString=function(){return"("+this.left+", "+this.top+" - "+this.width+"w x "+this.height+"h)"};
igFI_.math.Rect.equals=function(a,b){if(a==b)return igFI_b;if(!a||!b)return igFI_d;return a.left==b.left&&a.width==b.width&&a.top==b.top&&a.height==b.height};igFI_.math.Rect.prototype.intersection=function(a){var b=Math.max(this.left,a.left),c=Math.min(this.left+this.width,a.left+a.width);if(b<=c){var d=Math.max(this.top,a.top);a=Math.min(this.top+this.height,a.top+a.height);if(d<=a){this.left=b;this.top=d;this.width=c-b;this.height=a-d;return igFI_b}}return igFI_d};
igFI_.math.Rect.intersection=function(a,b){var c=Math.max(a.left,b.left),d=Math.min(a.left+a.width,b.left+b.width);if(c<=d){var e=Math.max(a.top,b.top);a=Math.min(a.top+a.height,b.top+b.height);if(e<=a)return new igFI_.math.Rect(c,e,d-c,a-e)}return igFI_c};igFI_.math.Rect.intersects=function(a,b){return a.left<=b.left+b.width&&b.left<=a.left+a.width&&a.top<=b.top+b.height&&b.top<=a.top+a.height};igFI_.math.Rect.prototype.intersects=function(a){return igFI_.math.Rect.intersects(this,a)};
igFI_.math.Rect.difference=function(a,b){var c=igFI_.math.Rect.intersection(a,b);if(!c||!c.height||!c.width)return[a.clone()];c=[];var d=a.top,e=a.height,f=a.left+a.width,g=a.top+a.height,j=b.left+b.width,i=b.top+b.height;if(b.top>a.top){c.push(new igFI_.math.Rect(a.left,a.top,a.width,b.top-a.top));d=b.top;e-=b.top-a.top}if(i<g){c.push(new igFI_.math.Rect(a.left,i,a.width,g-i));e=i-d}b.left>a.left&&c.push(new igFI_.math.Rect(a.left,d,b.left-a.left,e));j<f&&c.push(new igFI_.math.Rect(j,d,f-j,e));return c};
igFI_.math.Rect.prototype.difference=function(a){return igFI_.math.Rect.difference(this,a)};igFI_.math.Rect.prototype.ad=function(a){var b=Math.max(this.left+this.width,a.left+a.width),c=Math.max(this.top+this.height,a.top+a.height);this.left=Math.min(this.left,a.left);this.top=Math.min(this.top,a.top);this.width=b-this.left;this.height=c-this.top};igFI_.math.Rect.ad=function(a,b){if(!a||!b)return igFI_c;a=a.clone();a.ad(b);return a};
igFI_.math.Rect.prototype.contains=function(a){return a instanceof igFI_.math.Rect?this.left<=a.left&&this.left+this.width>=a.left+a.width&&this.top<=a.top&&this.top+this.height>=a.top+a.height:a.x>=this.left&&a.x<=this.left+this.width&&a.y>=this.top&&a.y<=this.top+this.height};igFI_.math.Rect.prototype.qa=function(){return new igFI_.math.Size(this.width,this.height)};igFI_.math.randomInt=function(a){return Math.floor(Math.random()*a)};igFI_.math.uniformRandom=function(a,b){return a+Math.random()*(b-a)};igFI_.math.clamp=function(a,b,c){return Math.min(Math.max(a,b),c)};igFI_.math.modulo=function(a,b){a=a%b;return a*b<0?a+b:a};igFI_.math.lerp=function(a,b,c){return a+c*(b-a)};igFI_.math.nearlyEquals=function(a,b,c){return Math.abs(a-b)<=(c||1.0E-6)};igFI_.math.standardAngle=function(a){return igFI_.math.modulo(a,360)};
igFI_.math.toRadians=function(a){return a*Math.PI/180};igFI_.math.toDegrees=function(a){return a*180/Math.PI};igFI_.math.angleDx=function(a,b){return b*Math.cos(igFI_.math.toRadians(a))};igFI_.math.angleDy=function(a,b){return b*Math.sin(igFI_.math.toRadians(a))};igFI_.math.angle=function(a,b,c,d){return igFI_.math.standardAngle(igFI_.math.toDegrees(Math.atan2(d-b,c-a)))};
igFI_.math.angleDifference=function(a,b){a=igFI_.math.standardAngle(b)-igFI_.math.standardAngle(a);if(a>180)a-=360;else if(a<=-180)a=360+a;return a};igFI_.math.sign=function(a){return a==0?0:a<0?-1:1};
igFI_.math.longestCommonSubsequence=function(a,b,c,d){c=c||function(m,p){return m==p};d=d||function(m){return a[m]};for(var e=a.length,f=b.length,g=[],j=0;j<e+1;j++){g[j]=[];g[j][0]=0}for(var i=0;i<f+1;i++)g[0][i]=0;for(j=1;j<=e;j++)for(i=1;i<=e;i++)g[j][i]=c(a[j-1],b[i-1])?g[j-1][i-1]+1:Math.max(g[j-1][i],g[j][i-1]);var l=[];j=e;for(i=f;j>0&&i>0;)if(c(a[j-1],b[i-1])){l.unshift(d(j-1,i-1));j--;i--}else if(g[j-1][i]>g[j][i-1])j--;else i--;return l};
igFI_.math.sum=function(){return igFI_.array.reduce(arguments,function(a,b){return a+b},0)};igFI_.math.average=function(){return igFI_.math.sum.apply(igFI_c,arguments)/arguments.length};igFI_.math.standardDeviation=function(){var a=arguments.length;if(a<2)return 0;var b=igFI_.math.average.apply(igFI_c,arguments);a=igFI_.math.sum.apply(igFI_c,igFI_.array.map(arguments,function(c){return Math.pow(c-b,2)}))/(a-1);return Math.sqrt(a)};igFI_.math.isInt=function(a){return isFinite(a)&&a%1==0};
igFI_.math.isFiniteNumber=function(a){return isFinite(a)&&!isNaN(a)};igFI_.color={};
igFI_.color.names={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",
darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",
ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",
lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",
moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",
seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};igFI_.color.parse=function(a){var b={};a=String(a);var c=igFI_.color.wi(a);if(igFI_.color.Ag(c)){b.hex=igFI_.color.normalizeHex(c);b.type="hex";return b}else{c=igFI_.color.Bg(a);if(c.length){b.hex=igFI_.color.rgbArrayToHex(c);b.type="rgb";return b}else if(igFI_.color.names)if(c=igFI_.color.names[a.toLowerCase()]){b.hex=c;b.type="named";return b}}igFI_a(Error(a+" is not a valid color string"))};
igFI_.color.parseRgb=function(a){var b=igFI_.color.Bg(a);if(!b.length)igFI_a(Error(a+" is not a valid RGB color"));return b};igFI_.color.hexToRgbStyle=function(a){return igFI_.color.Ci(igFI_.color.hexToRgb(a))};igFI_.color.gi=/#(.)(.)(.)/;igFI_.color.normalizeHex=function(a){if(!igFI_.color.Ag(a))igFI_a(Error("'"+a+"' is not a valid hex color"));if(a.length==4)a=a.replace(igFI_.color.gi,"#$1$1$2$2$3$3");return a.toLowerCase()};
igFI_.color.hexToRgb=function(a){a=igFI_.color.normalizeHex(a);var b=parseInt(a.substr(1,2),16),c=parseInt(a.substr(3,2),16);a=parseInt(a.substr(5,2),16);return[b,c,a]};igFI_.color.rgbToHex=function(a,b,c){a=Number(a);b=Number(b);c=Number(c);if(isNaN(a)||a<0||a>255||isNaN(b)||b<0||b>255||isNaN(c)||c<0||c>255)igFI_a(Error('"('+a+","+b+","+c+'") is not a valid RGB color'));a=igFI_.color.ne(a.toString(16));b=igFI_.color.ne(b.toString(16));c=igFI_.color.ne(c.toString(16));return"#"+a+b+c};
igFI_.color.rgbArrayToHex=function(a){return igFI_.color.rgbToHex(a[0],a[1],a[2])};igFI_.color.rgbToHsl=function(a,b,c){a=a/255;b=b/255;c=c/255;var d=Math.max(a,b,c),e=Math.min(a,b,c),f=0,g=0,j=0.5*(d+e);if(d!=e){if(d==a)f=60*(b-c)/(d-e);else if(d==b)f=60*(c-a)/(d-e)+120;else if(d==c)f=60*(a-b)/(d-e)+240;g=0<j&&j<=0.5?(d-e)/(2*j):(d-e)/(2-2*j)}return[Math.round(f+360)%360,g,j]};igFI_.color.rgbArrayToHsl=function(a){return igFI_.color.rgbToHsl(a[0],a[1],a[2])};
igFI_.color.Zd=function(a,b,c){if(c<0)c+=1;else if(c>1)c-=1;if(6*c<1)return a+(b-a)*6*c;else if(2*c<1)return b;else if(3*c<2)return a+(b-a)*(2/3-c)*6;return a};igFI_.color.hslToRgb=function(a,b,c){var d=0,e=0,f=0;a=a/360;if(b==0)d=e=f=c*255;else{var g=f=0;g=c<0.5?c*(1+b):c+b-b*c;f=2*c-g;d=255*igFI_.color.Zd(f,g,a+1/3);e=255*igFI_.color.Zd(f,g,a);f=255*igFI_.color.Zd(f,g,a-1/3)}return[Math.round(d),Math.round(e),Math.round(f)]};
igFI_.color.hslArrayToRgb=function(a){return igFI_.color.hslToRgb(a[0],a[1],a[2])};igFI_.color.Ji=/^#(?:[0-9a-f]{3}){1,2}$/i;igFI_.color.Ag=function(a){return igFI_.color.Ji.test(a)};igFI_.color.ti=/^#[0-9a-f]{6}$/;igFI_.color.Mi=function(a){return igFI_.color.ti.test(a)};igFI_.color.Bi=/^(?:rgb)?\((0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2})\)$/i;
igFI_.color.Bg=function(a){var b=a.match(igFI_.color.Bi);if(b){a=Number(b[1]);var c=Number(b[2]);b=Number(b[3]);if(a>=0&&a<=255&&c>=0&&c<=255&&b>=0&&b<=255)return[a,c,b]}return[]};igFI_.color.ne=function(a){return a.length==1?"0"+a:a};igFI_.color.wi=function(a){return a.charAt(0)=="#"?a:"#"+a};igFI_.color.Ci=function(a){return"rgb("+a.join(",")+")"};
igFI_.color.hsvToRgb=function(a,b,c){var d=0,e=0,f=0;if(b==0)f=e=d=c;else{var g=Math.floor(a/60),j=a/60-g;a=c*(1-b);var i=c*(1-b*j);b=c*(1-b*(1-j));switch(g){case 1:d=i;e=c;f=a;break;case 2:d=a;e=c;f=b;break;case 3:d=a;e=i;f=c;break;case 4:d=b;e=a;f=c;break;case 5:d=c;e=a;f=i;break;case 6:case 0:d=c;e=b;f=a;break}}return[Math.floor(d),Math.floor(e),Math.floor(f)]};
igFI_.color.rgbToHsv=function(a,b,c){var d=Math.max(Math.max(a,b),c),e=Math.min(Math.min(a,b),c),f=d;if(e==d)e=a=0;else{var g=d-e;e=g/d;a=a==d?(b-c)/g:b==d?2+(c-a)/g:4+(a-b)/g;a*=60;if(a<0)a+=360;if(a>360)a-=360}return[a,e,f]};igFI_.color.rgbArrayToHsv=function(a){return igFI_.color.rgbToHsv(a[0],a[1],a[2])};igFI_.color.hsvArrayToRgb=function(a){return igFI_.color.hsvToRgb(a[0],a[1],a[2])};igFI_.color.hexToHsl=function(a){a=igFI_.color.hexToRgb(a);return igFI_.color.rgbToHsl(a[0],a[1],a[2])};
igFI_.color.hslToHex=function(a,b,c){return igFI_.color.rgbArrayToHex(igFI_.color.hslToRgb(a,b,c))};igFI_.color.hslArrayToHex=function(a){return igFI_.color.rgbArrayToHex(igFI_.color.hslToRgb(a[0],a[1],a[2]))};igFI_.color.hexToHsv=function(a){return igFI_.color.rgbArrayToHsv(igFI_.color.hexToRgb(a))};igFI_.color.hsvToHex=function(a,b,c){return igFI_.color.rgbArrayToHex(igFI_.color.hsvToRgb(a,b,c))};igFI_.color.hsvArrayToHex=function(a){return igFI_.color.hsvToHex(a[0],a[1],a[2])};
igFI_.color.hslDistance=function(a,b){var c,d;c=a[2]<=0.5?a[1]*a[2]:a[1]*(1-a[2]);d=b[2]<=0.5?b[1]*b[2]:b[1]*(1-b[2]);var e=a[0]/360,f=b[0]/360;e=(e-f)*2*Math.PI;return(a[2]-b[2])*(a[2]-b[2])+c*c+d*d-2*c*d*Math.cos(e)};igFI_.color.blend=function(a,b,c){c=igFI_.math.clamp(c,0,1);return[Math.round(c*a[0]+(1-c)*b[0]),Math.round(c*a[1]+(1-c)*b[1]),Math.round(c*a[2]+(1-c)*b[2])]};igFI_.color.darken=function(a,b){var c=[0,0,0];return igFI_.color.blend(c,a,b)};
igFI_.color.lighten=function(a,b){var c=[255,255,255];return igFI_.color.blend(c,a,b)};igFI_.color.highContrast=function(a,b){for(var c=[],d=0;d<b.length;d++)c.push({color:b[d],diff:igFI_.color.Ki(b[d],a)+igFI_.color.Rh(b[d],a)});c.sort(function(e,f){return f.diff-e.diff});return c[0].color};igFI_.color.Fh=function(a){return Math.round((a[0]*299+a[1]*587+a[2]*114)/1E3)};igFI_.color.Ki=function(a,b){return Math.abs(igFI_.color.Fh(a)-igFI_.color.Fh(b))};
igFI_.color.Rh=function(a,b){return Math.abs(a[0]-b[0])+Math.abs(a[1]-b[1])+Math.abs(a[2]-b[2])};igFI_.dom={};igFI_.dom.classes={};igFI_.dom.classes.set=function(a,b){a.className=b};igFI_.dom.classes.get=function(a){return(a=a.className)&&typeof a.split=="function"?a.split(/\s+/):[]};igFI_.dom.classes.add=function(a){var b=igFI_.dom.classes.get(a),c=igFI_.array.slice(arguments,1);c=igFI_.dom.classes.ff(b,c);a.className=b.join(" ");return c};
igFI_.dom.classes.remove=function(a){var b=igFI_.dom.classes.get(a),c=igFI_.array.slice(arguments,1);c=igFI_.dom.classes.lh(b,c);a.className=b.join(" ");return c};igFI_.dom.classes.ff=function(a,b){for(var c=0,d=0;d<b.length;d++)if(!igFI_.array.contains(a,b[d])){a.push(b[d]);c++}return c==b.length};igFI_.dom.classes.lh=function(a,b){for(var c=0,d=0;d<a.length;d++)if(igFI_.array.contains(b,a[d])){igFI_.array.splice(a,d--,1);c++}return c==b.length};
igFI_.dom.classes.swap=function(a,b,c){for(var d=igFI_.dom.classes.get(a),e=igFI_d,f=0;f<d.length;f++)if(d[f]==b){igFI_.array.splice(d,f--,1);e=igFI_b}if(e){d.push(c);a.className=d.join(" ")}return e};igFI_.dom.classes.addRemove=function(a,b,c){var d=igFI_.dom.classes.get(a);if(igFI_.isString(b))igFI_.array.remove(d,b);else igFI_.isArray(b)&&igFI_.dom.classes.lh(d,b);if(igFI_.isString(c)&&!igFI_.array.contains(d,c))d.push(c);else igFI_.isArray(c)&&igFI_.dom.classes.ff(d,c);a.className=d.join(" ")};
igFI_.dom.classes.has=function(a,b){return igFI_.array.contains(igFI_.dom.classes.get(a),b)};igFI_.dom.classes.enable=function(a,b,c){c?igFI_.dom.classes.add(a,b):igFI_.dom.classes.remove(a,b)};igFI_.dom.classes.toggle=function(a,b){var c=!igFI_.dom.classes.has(a,b);igFI_.dom.classes.enable(a,b,c);return c};igFI_.dom.TagName={A:"A",ABBR:"ABBR",ACRONYM:"ACRONYM",ADDRESS:"ADDRESS",APPLET:"APPLET",AREA:"AREA",B:"B",BASE:"BASE",BASEFONT:"BASEFONT",BDO:"BDO",BIG:"BIG",BLOCKQUOTE:"BLOCKQUOTE",BODY:"BODY",BR:"BR",BUTTON:"BUTTON",CAPTION:"CAPTION",CENTER:"CENTER",CITE:"CITE",CODE:"CODE",COL:"COL",COLGROUP:"COLGROUP",DD:"DD",DEL:"DEL",DFN:"DFN",DIR:"DIR",DIV:"DIV",DL:"DL",DT:"DT",EM:"EM",FIELDSET:"FIELDSET",FONT:"FONT",FORM:"FORM",FRAME:"FRAME",FRAMESET:"FRAMESET",H1:"H1",H2:"H2",H3:"H3",H4:"H4",H5:"H5",H6:"H6",
HEAD:"HEAD",HR:"HR",HTML:"HTML",I:"I",IFRAME:"IFRAME",IMG:"IMG",INPUT:"INPUT",INS:"INS",ISINDEX:"ISINDEX",KBD:"KBD",LABEL:"LABEL",LEGEND:"LEGEND",LI:"LI",LINK:"LINK",MAP:"MAP",MENU:"MENU",META:"META",NOFRAMES:"NOFRAMES",NOSCRIPT:"NOSCRIPT",OBJECT:"OBJECT",OL:"OL",OPTGROUP:"OPTGROUP",OPTION:"OPTION",P:"P",PARAM:"PARAM",PRE:"PRE",Q:"Q",S:"S",SAMP:"SAMP",SCRIPT:"SCRIPT",SELECT:"SELECT",SMALL:"SMALL",SPAN:"SPAN",STRIKE:"STRIKE",STRONG:"STRONG",STYLE:"STYLE",SUB:"SUB",SUP:"SUP",TABLE:"TABLE",TBODY:"TBODY",
TD:"TD",TEXTAREA:"TEXTAREA",TFOOT:"TFOOT",TH:"TH",THEAD:"THEAD",TITLE:"TITLE",TR:"TR",TT:"TT",U:"U",UL:"UL",VAR:"VAR"};igFI_.dom.ASSUME_QUIRKS_MODE=igFI_d;igFI_.dom.ASSUME_STANDARDS_MODE=igFI_d;igFI_.dom.Hh=igFI_.dom.ASSUME_QUIRKS_MODE||igFI_.dom.ASSUME_STANDARDS_MODE;igFI_.dom.NodeType={ELEMENT:1,ATTRIBUTE:2,TEXT:3,CDATA_SECTION:4,ENTITY_REFERENCE:5,ENTITY:6,PROCESSING_INSTRUCTION:7,COMMENT:8,DOCUMENT:9,DOCUMENT_TYPE:10,DOCUMENT_FRAGMENT:11,NOTATION:12};igFI_.dom.r=function(a){return a?new igFI_.dom.DomHelper(igFI_.dom.p(a)):igFI_.dom.Th||(igFI_.dom.Th=new igFI_.dom.DomHelper)};igFI_.dom.W=function(){return document};
igFI_.dom.pa=function(a){return igFI_.isString(a)?document.getElementById(a):a};igFI_.dom.Te=igFI_.dom.pa;igFI_.dom.Oa=function(a,b,c){return igFI_.dom.Xf(document,a,b,c)};
igFI_.dom.Xf=function(a,b,c,d){d=d||a;b=b&&b!="*"?b.toUpperCase():"";if(d.querySelectorAll&&(b||c)&&(!igFI_.userAgent.WEBKIT||igFI_.dom.lb(a)||igFI_.userAgent.isVersion("528"))){c=b+(c?"."+c:"");return d.querySelectorAll(c)}if(c&&d.getElementsByClassName){a=d.getElementsByClassName(c);if(b){d={};for(var e=0,f=0,g;g=a[f];f++)if(b==g.nodeName)d[e++]=g;d.length=e;return d}else return a}a=d.getElementsByTagName(b||"*");if(c){d={};for(f=e=0;g=a[f];f++){b=g.className;if(typeof b.split=="function"&&igFI_.array.contains(b.split(/\s+/),
c))d[e++]=g}d.length=e;return d}else return a};igFI_.dom.Ue=igFI_.dom.Oa;igFI_.dom.Rc=function(a,b){igFI_.object.forEach(b,function(c,d){if(d=="style")a.style.cssText=c;else if(d=="class")a.className=c;else if(d=="for")a.htmlFor=c;else if(d in igFI_.dom.Xe)a.setAttribute(igFI_.dom.Xe[d],c);else a[d]=c})};igFI_.dom.Xe={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",rowspan:"rowSpan",valign:"vAlign",height:"height",width:"width",usemap:"useMap",frameborder:"frameBorder",type:"type"};
igFI_.dom.xc=function(a){return igFI_.dom.eg(a||window)};
igFI_.dom.eg=function(a){var b=a.document;if(igFI_.userAgent.WEBKIT&&!igFI_.userAgent.isVersion("500")&&!igFI_.userAgent.MOBILE){if(typeof a.innerHeight=="undefined")a=window;b=a.innerHeight;var c=a.document.documentElement.scrollHeight;if(a==a.top)if(c<b)b-=15;return new igFI_.math.Size(a.innerWidth,b)}a=igFI_.dom.lb(b)&&(!igFI_.userAgent.OPERA||igFI_.userAgent.OPERA&&igFI_.userAgent.isVersion("9.50"))?b.documentElement:b.body;return new igFI_.math.Size(a.clientWidth,a.clientHeight)};
igFI_.dom.Rf=function(){return igFI_.dom.Sf(window)};igFI_.dom.Sf=function(a){var b=a.document,c=0;if(b){a=igFI_.dom.eg(a).height;c=b.body;var d=b.documentElement;if(igFI_.dom.lb(b)&&d.scrollHeight)c=d.scrollHeight!=a?d.scrollHeight:d.offsetHeight;else{b=d.scrollHeight;var e=d.offsetHeight;if(d.clientHeight!=e){b=c.scrollHeight;e=c.offsetHeight}c=b>a?b>e?b:e:b<e?b:e}}return c};igFI_.dom.getPageScroll=function(a){a=a||igFI_.global||window;return igFI_.dom.r(a.document).oa()};igFI_.dom.oa=function(){return igFI_.dom.Tf(document)};
igFI_.dom.Tf=function(a){a=igFI_.dom.Ed(a);return new igFI_.math.Coordinate(a.scrollLeft,a.scrollTop)};igFI_.dom.Dd=function(){return igFI_.dom.Ed(document)};igFI_.dom.Ed=function(a){return!igFI_.userAgent.WEBKIT&&igFI_.dom.lb(a)?a.documentElement:a.body};igFI_.dom.Pa=function(a){return a?igFI_.dom.Wd(a):window};igFI_.dom.Wd=function(a){return a.parentWindow||a.defaultView};igFI_.dom.o=function(){return igFI_.dom.uf(document,arguments)};
igFI_.dom.uf=function(a,b){var c=b[0],d=b[1];if(igFI_.userAgent.IE&&d&&(d.name||d.type)){c=["<",c];d.name&&c.push(' name="',igFI_.string.htmlEscape(d.name),'"');if(d.type){c.push(' type="',igFI_.string.htmlEscape(d.type),'"');d=igFI_.cloneObject(d);delete d.type}c.push(">");c=c.join("")}var e=a.createElement(c);if(d)if(igFI_.isString(d))e.className=d;else igFI_.dom.Rc(e,d);if(b.length>2){d=function(g){if(g)e.appendChild(igFI_.isString(g)?a.createTextNode(g):g)};for(c=2;c<b.length;c++){var f=b[c];
igFI_.isArrayLike(f)&&!igFI_.dom.Dc(f)?igFI_.array.forEach(igFI_.dom.isNodeList(f)?igFI_.array.clone(f):f,d):d(f)}}return e};igFI_.dom.Ve=igFI_.dom.o;igFI_.dom.createElement=function(a){return document.createElement(a)};igFI_.dom.createTextNode=function(a){return document.createTextNode(a)};igFI_.dom.yf=function(a,b,c){return igFI_.dom.zf(document,a,b,!!c)};
igFI_.dom.zf=function(a,b,c,d){for(var e=["<tr>"],f=0;f<c;f++)e.push(d?"<td>&nbsp;</td>":"<td></td>");e.push("</tr>");e=e.join("");c=["<table>"];for(f=0;f<b;f++)c.push(e);c.push("</table>");a=a.createElement(igFI_.dom.TagName.DIV);a.innerHTML=c.join("");return a.removeChild(a.firstChild)};igFI_.dom.og=function(a){return igFI_.dom.pg(document,a)};
igFI_.dom.pg=function(a,b){var c=a.createElement("div");c.innerHTML=b;if(c.childNodes.length==1)return c.removeChild(c.firstChild);else{for(a=a.createDocumentFragment();c.firstChild;)a.appendChild(c.firstChild);return a}};igFI_.dom.Of=function(){return igFI_.dom.ra()?"CSS1Compat":"BackCompat"};igFI_.dom.ra=function(){return igFI_.dom.lb(document)};igFI_.dom.lb=function(a){if(igFI_.dom.Hh)return igFI_.dom.ASSUME_STANDARDS_MODE;return a.compatMode=="CSS1Compat"};
igFI_.dom.canHaveChildren=function(a){if(a.nodeType!=igFI_.dom.NodeType.ELEMENT)return igFI_d;if("canHaveChildren"in a)return a.canHaveChildren;switch(a.tagName){case igFI_.dom.TagName.APPLET:case igFI_.dom.TagName.AREA:case igFI_.dom.TagName.BASE:case igFI_.dom.TagName.BR:case igFI_.dom.TagName.COL:case igFI_.dom.TagName.FRAME:case igFI_.dom.TagName.HR:case igFI_.dom.TagName.IMG:case igFI_.dom.TagName.INPUT:case igFI_.dom.TagName.IFRAME:case igFI_.dom.TagName.ISINDEX:case igFI_.dom.TagName.LINK:case igFI_.dom.TagName.NOFRAMES:case igFI_.dom.TagName.NOSCRIPT:case igFI_.dom.TagName.META:case igFI_.dom.TagName.OBJECT:case igFI_.dom.TagName.PARAM:case igFI_.dom.TagName.SCRIPT:case igFI_.dom.TagName.STYLE:return igFI_d}return igFI_b};
igFI_.dom.appendChild=function(a,b){a.appendChild(b)};igFI_.dom.ob=function(a){for(var b;b=a.firstChild;)a.removeChild(b)};igFI_.dom.de=function(a,b){b.parentNode&&b.parentNode.insertBefore(a,b)};igFI_.dom.Bc=function(a,b){b.parentNode&&b.parentNode.insertBefore(a,b.nextSibling)};igFI_.dom.removeNode=function(a){return a&&a.parentNode?a.parentNode.removeChild(a):igFI_c};igFI_.dom.replaceNode=function(a,b){var c=b.parentNode;c&&c.replaceChild(a,b)};
igFI_.dom.yd=function(a){var b,c=a.parentNode;if(c&&c.nodeType!=igFI_.dom.NodeType.DOCUMENT_FRAGMENT)if(a.removeNode)return a.removeNode(igFI_d);else{for(;b=a.firstChild;)c.insertBefore(b,a);return igFI_.dom.removeNode(a)}};igFI_.dom.Fd=function(a){return igFI_.dom.sc(a.firstChild,igFI_b)};igFI_.dom.Hd=function(a){return igFI_.dom.sc(a.lastChild,igFI_d)};igFI_.dom.Kd=function(a){return igFI_.dom.sc(a.nextSibling,igFI_b)};igFI_.dom.Qd=function(a){return igFI_.dom.sc(a.previousSibling,igFI_d)};
igFI_.dom.sc=function(a,b){for(;a&&a.nodeType!=igFI_.dom.NodeType.ELEMENT;)a=b?a.nextSibling:a.previousSibling;return a};igFI_.dom.Ld=function(a){if(!a)return igFI_c;if(a.firstChild)return a.firstChild;for(;a&&!a.nextSibling;)a=a.parentNode;return a?a.nextSibling:igFI_c};igFI_.dom.Rd=function(a){if(!a)return igFI_c;if(!a.previousSibling)return a.parentNode;for(a=a.previousSibling;a&&a.lastChild;)a=a.lastChild;return a};igFI_.dom.Dc=function(a){return igFI_.isObject(a)&&a.nodeType>0};
igFI_.dom.contains=function(a,b){if(a.contains&&b.nodeType==igFI_.dom.NodeType.ELEMENT)return a==b||a.contains(b);if(typeof a.compareDocumentPosition!="undefined")return a==b||Boolean(a.compareDocumentPosition(b)&16);for(;b&&a!=b;)b=b.parentNode;return b==a};
igFI_.dom.compareNodeOrder=function(a,b){if(a==b)return 0;if(a.compareDocumentPosition)return a.compareDocumentPosition(b)&2?1:-1;if("sourceIndex"in a||a.parentNode&&"sourceIndex"in a.parentNode){var c=a.nodeType==igFI_.dom.NodeType.ELEMENT,d=b.nodeType==igFI_.dom.NodeType.ELEMENT;if(c&&d)return a.sourceIndex-b.sourceIndex;else{var e=a.parentNode,f=b.parentNode;if(e==f)return igFI_.dom.rf(a,b);if(!c&&igFI_.dom.contains(e,b))return-1*igFI_.dom.qf(a,b);if(!d&&igFI_.dom.contains(f,a))return igFI_.dom.qf(b,
a);return(c?a.sourceIndex:e.sourceIndex)-(d?b.sourceIndex:f.sourceIndex)}}d=igFI_.dom.p(a);c=d.createRange();c.selectNode(a);c.collapse(igFI_b);a=d.createRange();a.selectNode(b);a.collapse(igFI_b);return c.compareBoundaryPoints(igFI_.global.Range.START_TO_END,a)};igFI_.dom.qf=function(a,b){var c=a.parentNode;if(c==b)return-1;for(b=b;b.parentNode!=c;)b=b.parentNode;return igFI_.dom.rf(b,a)};igFI_.dom.rf=function(a,b){for(b=b;b=b.previousSibling;)if(b==a)return-1;return 1};
igFI_.dom.findCommonAncestor=function(){var a,b=arguments.length;if(b){if(b==1)return arguments[0]}else return igFI_c;var c=[],d=Infinity;for(a=0;a<b;a++){for(var e=[],f=arguments[a];f;){e.unshift(f);f=f.parentNode}c.push(e);d=Math.min(d,e.length)}e=igFI_c;for(a=0;a<d;a++){f=c[0][a];for(var g=1;g<b;g++)if(f!=c[g][a])return e;e=f}return e};igFI_.dom.p=function(a){return a.nodeType==igFI_.dom.NodeType.DOCUMENT?a:a.ownerDocument||a.document};
igFI_.dom.oc=function(a){return a=igFI_.userAgent.WEBKIT?a.document||a.contentWindow.document:a.contentDocument||a.contentWindow.document};igFI_.dom.Gd=function(a){return a.contentWindow||igFI_.dom.Wd(igFI_.dom.oc(a))};igFI_.dom.xe=function(a,b){if("textContent"in a)a.textContent=b;else if(a.firstChild&&a.firstChild.nodeType==igFI_.dom.NodeType.TEXT){for(;a.lastChild!=a.firstChild;)a.removeChild(a.lastChild);a.firstChild.data=b}else{igFI_.dom.ob(a);var c=igFI_.dom.p(a);a.appendChild(c.createTextNode(b))}};
igFI_.dom.getOuterHtml=function(a){if("outerHTML"in a)return a.outerHTML;else{var b=igFI_.dom.p(a);b=b.createElement("div");b.appendChild(a.cloneNode(igFI_b));return b.innerHTML}};igFI_.dom.vd=function(a,b){var c=[];return(a=igFI_.dom.xd(a,b,c,igFI_b))?c[0]:undefined};igFI_.dom.wd=function(a,b){var c=[];igFI_.dom.xd(a,b,c,igFI_d);return c};igFI_.dom.xd=function(a,b,c,d){if(a!=igFI_c)for(var e=0,f;f=a.childNodes[e];e++){if(b(f)){c.push(f);if(d)return igFI_b}if(igFI_.dom.xd(f,b,c,d))return igFI_b}return igFI_d};
igFI_.dom.$e={SCRIPT:1,STYLE:1,HEAD:1,IFRAME:1,OBJECT:1};igFI_.dom.$b={IMG:" ",BR:"\n"};igFI_.dom.isFocusableTabIndex=function(a){var b=a.getAttributeNode("tabindex");if(b&&b.specified){a=a.tabIndex;return igFI_.isNumber(a)&&a>=0}return igFI_d};igFI_.dom.setFocusableTabIndex=function(a,b){if(b)a.tabIndex=0;else a.removeAttribute("tabIndex")};
igFI_.dom.Cb=function(a){if(igFI_.userAgent.IE&&"innerText"in a)a=igFI_.string.canonicalizeNewlines(a.innerText);else{var b=[];igFI_.dom.Td(a,b,igFI_b);a=b.join("")}a=a.replace(/\xAD/g,"");a=a.replace(/ +/g," ");if(a!=" ")a=a.replace(/^\s*/,"");return a};igFI_.dom.getRawTextContent=function(a){var b=[];igFI_.dom.Td(a,b,igFI_d);return b.join("")};
igFI_.dom.Td=function(a,b,c){if(!(a.nodeName in igFI_.dom.$e))if(a.nodeType==igFI_.dom.NodeType.TEXT)c?b.push(String(a.nodeValue).replace(/(\r\n|\r|\n)/g,"")):b.push(a.nodeValue);else if(a.nodeName in igFI_.dom.$b)b.push(igFI_.dom.$b[a.nodeName]);else for(a=a.firstChild;a;){igFI_.dom.Td(a,b,c);a=a.nextSibling}};igFI_.dom.Md=function(a){return igFI_.dom.Cb(a).length};
igFI_.dom.Nd=function(a,b){b=b||igFI_.dom.p(a).body;for(var c=[];a&&a!=b;){for(var d=a;d=d.previousSibling;)c.unshift(igFI_.dom.Cb(d));a=a.parentNode}return igFI_.string.trimLeft(c.join("")).replace(/ +/g," ").length};
igFI_.dom.getNodeAtOffset=function(a,b,c){a=[a];for(var d=0,e;a.length>0&&d<b;){e=a.pop();if(!(e.nodeName in igFI_.dom.$e))if(e.nodeType==igFI_.dom.NodeType.TEXT){var f=e.nodeValue.replace(/(\r\n|\r|\n)/g,"").replace(/ +/g," ");d+=f.length}else if(e.nodeName in igFI_.dom.$b)d+=igFI_.dom.$b[e.nodeName].length;else for(f=e.childNodes.length-1;f>=0;f--)a.push(e.childNodes[f])}if(igFI_.isObject(c)){c.remainder=e?e.nodeValue.length+b-d-1:0;c.node=e}return e};
igFI_.dom.isNodeList=function(a){if(a&&typeof a.length=="number")if(igFI_.isObject(a))return typeof a.item=="function"||typeof a.item=="string";else if(igFI_.isFunction(a))return typeof a.item=="function";return igFI_d};igFI_.dom.Ad=function(a,b,c){var d=b?b.toUpperCase():igFI_c;return igFI_.dom.lc(a,function(e){return(!d||e.nodeName==d)&&(!c||igFI_.dom.classes.has(e,c))},igFI_b)};
igFI_.dom.lc=function(a,b,c,d){if(!c)a=a.parentNode;c=d==igFI_c;for(var e=0;a&&(c||e<=d);){if(b(a))return a;a=a.parentNode;e++}return igFI_c};igFI_.dom.DomHelper=function(a){this.w=a||igFI_.global.document||document};igFI_.dom.DomHelper.prototype.r=igFI_.dom.r;igFI_.dom.DomHelper.prototype.W=function(){return this.w};igFI_.dom.DomHelper.prototype.pa=function(a){return igFI_.isString(a)?this.w.getElementById(a):a};igFI_.dom.DomHelper.prototype.Te=igFI_.dom.DomHelper.prototype.pa;
igFI_.dom.DomHelper.prototype.Oa=function(a,b,c){return igFI_.dom.Xf(this.w,a,b,c)};igFI_.dom.DomHelper.prototype.Ue=igFI_.dom.DomHelper.prototype.Oa;igFI_.dom.DomHelper.prototype.Rc=igFI_.dom.Rc;igFI_.dom.DomHelper.prototype.xc=function(a){return igFI_.dom.xc(a||this.Pa())};igFI_.dom.DomHelper.prototype.Rf=function(){return igFI_.dom.Sf(this.Pa())};igFI_.dom.DomHelper.prototype.o=function(){return igFI_.dom.uf(this.w,arguments)};igFI_.dom.DomHelper.prototype.Ve=igFI_.dom.DomHelper.prototype.o;
igFI_.dom.DomHelper.prototype.createElement=function(a){return this.w.createElement(a)};igFI_.dom.DomHelper.prototype.createTextNode=function(a){return this.w.createTextNode(a)};igFI_.dom.DomHelper.prototype.yf=function(a,b,c){return igFI_.dom.zf(this.w,a,b,!!c)};igFI_.dom.DomHelper.prototype.og=function(a){return igFI_.dom.pg(this.w,a)};igFI_.dom.DomHelper.prototype.Of=function(){return this.ra()?"CSS1Compat":"BackCompat"};igFI_.dom.DomHelper.prototype.ra=function(){return igFI_.dom.lb(this.w)};
igFI_.dom.DomHelper.prototype.Pa=function(){return igFI_.dom.Wd(this.w)};igFI_.dom.DomHelper.prototype.Dd=function(){return igFI_.dom.Ed(this.w)};igFI_.dom.DomHelper.prototype.oa=function(){return igFI_.dom.Tf(this.w)};igFI_.dom.DomHelper.prototype.appendChild=igFI_.dom.appendChild;igFI_.dom.DomHelper.prototype.ob=igFI_.dom.ob;igFI_.dom.DomHelper.prototype.de=igFI_.dom.de;igFI_.dom.DomHelper.prototype.Bc=igFI_.dom.Bc;igFI_.dom.DomHelper.prototype.removeNode=igFI_.dom.removeNode;
igFI_.dom.DomHelper.prototype.replaceNode=igFI_.dom.replaceNode;igFI_.dom.DomHelper.prototype.yd=igFI_.dom.yd;igFI_.dom.DomHelper.prototype.Fd=igFI_.dom.Fd;igFI_.dom.DomHelper.prototype.Hd=igFI_.dom.Hd;igFI_.dom.DomHelper.prototype.Kd=igFI_.dom.Kd;igFI_.dom.DomHelper.prototype.Qd=igFI_.dom.Qd;igFI_.dom.DomHelper.prototype.Ld=igFI_.dom.Ld;igFI_.dom.DomHelper.prototype.Rd=igFI_.dom.Rd;igFI_.dom.DomHelper.prototype.Dc=igFI_.dom.Dc;igFI_.dom.DomHelper.prototype.contains=igFI_.dom.contains;
igFI_.dom.DomHelper.prototype.p=igFI_.dom.p;igFI_.dom.DomHelper.prototype.oc=igFI_.dom.oc;igFI_.dom.DomHelper.prototype.Gd=igFI_.dom.Gd;igFI_.dom.DomHelper.prototype.xe=igFI_.dom.xe;igFI_.dom.DomHelper.prototype.vd=igFI_.dom.vd;igFI_.dom.DomHelper.prototype.wd=igFI_.dom.wd;igFI_.dom.DomHelper.prototype.Cb=igFI_.dom.Cb;igFI_.dom.DomHelper.prototype.Md=igFI_.dom.Md;igFI_.dom.DomHelper.prototype.Nd=igFI_.dom.Nd;igFI_.dom.DomHelper.prototype.Ad=igFI_.dom.Ad;igFI_.dom.DomHelper.prototype.lc=igFI_.dom.lc;igFI_.style={};igFI_.style.setStyle=function(a,b,c){igFI_.isString(b)?igFI_.style.rh(a,c,b):igFI_.object.forEach(b,igFI_.partial(igFI_.style.rh,a))};igFI_.style.rh=function(a,b,c){a.style[igFI_.style.toCamelCase(c)]=b};igFI_.style.getStyle=function(a,b){return a.style[igFI_.style.toCamelCase(b)]};igFI_.style.getComputedStyle=function(a,b){var c=igFI_.dom.p(a);if(c.defaultView&&c.defaultView.getComputedStyle)if(a=c.defaultView.getComputedStyle(a,""))return a[b];return igFI_c};
igFI_.style.getCascadedStyle=function(a,b){return a.currentStyle?a.currentStyle[b]:igFI_c};igFI_.style.v=function(a,b){return igFI_.style.getComputedStyle(a,b)||igFI_.style.getCascadedStyle(a,b)||a.style[b]};igFI_.style.getComputedPosition=function(a){return igFI_.style.v(a,"position")};igFI_.style.getBackgroundColor=function(a){return igFI_.style.v(a,"backgroundColor")};igFI_.style.getComputedOverflowX=function(a){return igFI_.style.v(a,"overflowX")};
igFI_.style.getComputedOverflowY=function(a){return igFI_.style.v(a,"overflowY")};igFI_.style.getComputedZIndex=function(a){return igFI_.style.v(a,"zIndex")};igFI_.style.getComputedTextAlign=function(a){return igFI_.style.v(a,"textAlign")};igFI_.style.getComputedCursor=function(a){return igFI_.style.v(a,"cursor")};
igFI_.style.setPosition=function(a,b,c){var d,e=igFI_.userAgent.GECKO&&(igFI_.userAgent.MAC||igFI_.userAgent.X11)&&igFI_.userAgent.isVersion("1.9");if(b instanceof igFI_.math.Coordinate){d=b.x;b=b.y}else{d=b;b=c}a.style.left=typeof d=="number"?(e?Math.round(d):d)+"px":d;a.style.top=typeof b=="number"?(e?Math.round(b):b)+"px":b};igFI_.style.getPosition=function(a){return new igFI_.math.Coordinate(a.offsetLeft,a.offsetTop)};
igFI_.style.getClientViewportElement=function(a){a=a?a.nodeType==igFI_.dom.NodeType.DOCUMENT?a:igFI_.dom.p(a):igFI_.dom.W();if(igFI_.userAgent.IE&&!igFI_.dom.r(a).ra())return a.body;return a.documentElement};igFI_.style.Kf=function(a){var b=a.getBoundingClientRect();if(igFI_.userAgent.IE){a=a.ownerDocument;b.left-=a.documentElement.clientLeft+a.body.clientLeft;b.top-=a.documentElement.clientTop+a.body.clientTop}return b};
igFI_.style.getOffsetParent=function(a){if(igFI_.userAgent.IE)return a.offsetParent;var b=igFI_.dom.p(a),c=igFI_.style.v(a,"position"),d=c=="fixed"||c=="absolute";for(a=a.parentNode;a&&a!=b;a=a.parentNode){c=igFI_.style.v(a,"position");d=d&&c=="static"&&a!=b.documentElement&&a!=b.body;if(!d&&(a.scrollWidth>a.clientWidth||a.scrollHeight>a.clientHeight||c=="fixed"||c=="absolute"))return a}return igFI_c};
igFI_.style.getVisibleRectForElement=function(a){var b=new igFI_.math.Box(0,Infinity,Infinity,0),c=igFI_.dom.r(a),d=c.W().body,e=c.Dd(),f;for(a=a;a=igFI_.style.getOffsetParent(a);)if((!igFI_.userAgent.IE||a.clientWidth!=0)&&(!igFI_.userAgent.WEBKIT||a.clientHeight!=0||a!=d)&&(a.scrollWidth!=a.clientWidth||a.scrollHeight!=a.clientHeight)&&igFI_.style.v(a,"overflow")!="visible"){var g=igFI_.style.getPageOffset(a),j=igFI_.style.getClientLeftTop(a);g.x+=j.x;g.y+=j.y;b.top=Math.max(b.top,g.y);b.right=
Math.min(b.right,g.x+a.clientWidth);b.bottom=Math.min(b.bottom,g.y+a.clientHeight);b.left=Math.max(b.left,g.x);f=f||a!=e}d=e.scrollLeft;e=e.scrollTop;if(igFI_.userAgent.WEBKIT){b.left+=d;b.top+=e}else{b.left=Math.max(b.left,d);b.top=Math.max(b.top,e)}if(!f||igFI_.userAgent.WEBKIT){b.right+=d;b.bottom+=e}c=c.xc();b.right=Math.min(b.right,d+c.width);b.bottom=Math.min(b.bottom,e+c.height);return b.top>=0&&b.left>=0&&b.bottom>b.top&&b.right>b.left?b:igFI_c};
igFI_.style.scrollIntoContainerView=function(a,b,c){var d=igFI_.style.getPageOffset(a),e=igFI_.style.getPageOffset(b),f=igFI_.style.getBorderBox(b),g=d.x-e.x-f.left;d=d.y-e.y-f.top;e=b.clientWidth-a.offsetWidth;a=b.clientHeight-a.offsetHeight;if(c){b.scrollLeft+=g-e/2;b.scrollTop+=d-a/2}else{b.scrollLeft+=Math.min(g,Math.max(g-e,0));b.scrollTop+=Math.min(d,Math.max(d-a,0))}};
igFI_.style.getClientLeftTop=function(a){if(igFI_.userAgent.GECKO&&!igFI_.userAgent.isVersion("1.9")){var b=parseFloat(igFI_.style.getComputedStyle(a,"borderLeftWidth"));if(igFI_.style.Ec(a)){var c=a.offsetWidth-a.clientWidth-b-parseFloat(igFI_.style.getComputedStyle(a,"borderRightWidth"));b+=c}return new igFI_.math.Coordinate(b,parseFloat(igFI_.style.getComputedStyle(a,"borderTopWidth")))}return new igFI_.math.Coordinate(a.clientLeft,a.clientTop)};
igFI_.style.getPageOffset=function(a){var b,c=igFI_.dom.p(a),d=igFI_.style.v(a,"position"),e=igFI_.userAgent.GECKO&&c.getBoxObjectFor&&!a.getBoundingClientRect&&d=="absolute"&&(b=c.getBoxObjectFor(a))&&(b.screenX<0||b.screenY<0),f=new igFI_.math.Coordinate(0,0),g=igFI_.style.getClientViewportElement(c);if(a==g)return f;if(a.getBoundingClientRect){b=igFI_.style.Kf(a);a=igFI_.dom.r(c).oa();f.x=b.left+a.x;f.y=b.top+a.y}else if(c.getBoxObjectFor&&!e){b=c.getBoxObjectFor(a);a=c.getBoxObjectFor(g);f.x=
b.screenX-a.screenX;f.y=b.screenY-a.screenY}else{b=a;do{f.x+=b.offsetLeft;f.y+=b.offsetTop;if(b!=a){f.x+=b.clientLeft||0;f.y+=b.clientTop||0}if(igFI_.userAgent.WEBKIT&&igFI_.style.getComputedPosition(b)=="fixed"){f.x+=c.body.scrollLeft;f.y+=c.body.scrollTop;break}b=b.offsetParent}while(b&&b!=a);if(igFI_.userAgent.OPERA||igFI_.userAgent.WEBKIT&&d=="absolute")f.y-=c.body.offsetTop;for(b=a;(b=igFI_.style.getOffsetParent(b))&&b!=c.body&&b!=g;){f.x-=b.scrollLeft;if(!igFI_.userAgent.OPERA||b.tagName!="TR")f.y-=
b.scrollTop}}return f};igFI_.style.getPageOffsetLeft=function(a){return igFI_.style.getPageOffset(a).x};igFI_.style.getPageOffsetTop=function(a){return igFI_.style.getPageOffset(a).y};igFI_.style.getFramedPageOffset=function(a,b){var c=new igFI_.math.Coordinate(0,0),d=igFI_.dom.Pa(igFI_.dom.p(a));a=a;do{var e=d==b?igFI_.style.getPageOffset(a):igFI_.style.getClientPosition(a);c.x+=e.x;c.y+=e.y}while(d&&d!=b&&(a=d.frameElement)&&(d=d.parent));return c};
igFI_.style.translateRectForAnotherFrame=function(a,b,c){if(b.W()!=c.W()){var d=b.W().body;c=igFI_.style.getFramedPageOffset(d,c.Pa());c=igFI_.math.Coordinate.difference(c,igFI_.style.getPageOffset(d));if(igFI_.userAgent.IE&&!b.ra())c=igFI_.math.Coordinate.difference(c,b.oa());a.left+=c.x;a.top+=c.y}};igFI_.style.getRelativePosition=function(a,b){a=igFI_.style.getClientPosition(a);b=igFI_.style.getClientPosition(b);return new igFI_.math.Coordinate(a.x-b.x,a.y-b.y)};
igFI_.style.getClientPosition=function(a){var b=new igFI_.math.Coordinate;if(a.nodeType==igFI_.dom.NodeType.ELEMENT)if(a.getBoundingClientRect){var c=igFI_.style.Kf(a);b.x=c.left;b.y=c.top}else{c=igFI_.dom.r(a).oa();a=igFI_.style.getPageOffset(a);b.x=a.x-c.x;b.y=a.y-c.y}else{b.x=a.clientX;b.y=a.clientY}return b};
igFI_.style.setPageOffset=function(a,b,c){var d=igFI_.style.getPageOffset(a);if(b instanceof igFI_.math.Coordinate){c=b.y;b=b.x}b=b-d.x;c=c-d.y;igFI_.style.setPosition(a,a.offsetLeft+b,a.offsetTop+c)};igFI_.style.we=function(a,b,c){if(b instanceof igFI_.math.Size){c=b.height;b=b.width}else{if(c==undefined)igFI_a(Error("missing height argument"));c=c}a.style.width=typeof b=="number"?Math.round(b)+"px":b;a.style.height=typeof c=="number"?Math.round(c)+"px":c};
igFI_.style.qa=function(a){var b=igFI_.userAgent.OPERA&&!igFI_.userAgent.isVersion("10");if(igFI_.style.v(a,"display")!="none")return b?new igFI_.math.Size(a.offsetWidth||a.clientWidth,a.offsetHeight||a.clientHeight):new igFI_.math.Size(a.offsetWidth,a.offsetHeight);var c=a.style,d=c.display,e=c.visibility,f=c.position;c.visibility="hidden";c.position="absolute";c.display="inline";if(b){b=a.offsetWidth||a.clientWidth;a=a.offsetHeight||a.clientHeight}else{b=a.offsetWidth;a=a.offsetHeight}c.display=
d;c.position=f;c.visibility=e;return new igFI_.math.Size(b,a)};igFI_.style.getBounds=function(a){var b=igFI_.style.getPageOffset(a);a=igFI_.style.qa(a);return new igFI_.math.Rect(b.x,b.y,a.width,a.height)};igFI_.style.yh={};igFI_.style.toCamelCase=function(a){return igFI_.style.yh[a]||(igFI_.style.yh[a]=String(a).replace(/\-([a-z])/g,function(b,c){return c.toUpperCase()}))};igFI_.style.Ah={};igFI_.style.toSelectorCase=function(a){return igFI_.style.Ah[a]||(igFI_.style.Ah[a]=a.replace(/([A-Z])/g,"-$1").toLowerCase())};
igFI_.style.getOpacity=function(a){var b=a.style;a="";if("opacity"in b)a=b.opacity;else if("MozOpacity"in b)a=b.MozOpacity;else if("filter"in b)if(b=b.filter.match(/alpha\(opacity=([\d.]+)\)/))a=String(b[1]/100);return a==""?a:Number(a)};igFI_.style.setOpacity=function(a,b){a=a.style;if("opacity"in a)a.opacity=b;else if("MozOpacity"in a)a.MozOpacity=b;else if("filter"in a)a.filter=b===""?"":"alpha(opacity="+b*100+")"};
igFI_.style.setTransparentBackgroundImage=function(a,b){a=a.style;if(igFI_.userAgent.IE&&!igFI_.userAgent.isVersion("8"))a.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+b+'", sizingMethod="crop")';else{a.backgroundImage="url("+b+")";a.backgroundPosition="top left";a.backgroundRepeat="no-repeat"}};igFI_.style.clearTransparentBackgroundImage=function(a){a=a.style;if("filter"in a)a.filter="";else a.backgroundImage="none"};
igFI_.style.showElement=function(a,b){a.style.display=b?"":"none"};igFI_.style.isElementShown=function(a){return a.style.display!="none"};igFI_.style.installStyles=function(a,b){b=igFI_.dom.r(b);var c=igFI_c;if(igFI_.userAgent.IE){c=b.W().createStyleSheet();igFI_.style.setStyles(c,a)}else{var d=b.Oa("head")[0];if(!d){c=b.Oa("body")[0];d=b.o("head");c.parentNode.insertBefore(d,c)}c=b.o("style");igFI_.style.setStyles(c,a);b.appendChild(d,c)}return c};
igFI_.style.uninstallStyles=function(a){a=a.ownerNode||a.owningElement||a;igFI_.dom.removeNode(a)};igFI_.style.setStyles=function(a,b){if(igFI_.userAgent.IE)a.cssText=b;else{var c=igFI_.userAgent.WEBKIT?"innerText":"innerHTML";a[c]=b}};igFI_.style.setPreWrap=function(a){a=a.style;if(igFI_.userAgent.IE&&!igFI_.userAgent.isVersion("8")){a.whiteSpace="pre";a.wordWrap="break-word"}else a.whiteSpace=igFI_.userAgent.GECKO?"-moz-pre-wrap":igFI_.userAgent.OPERA?"-o-pre-wrap":"pre-wrap"};
igFI_.style.setInlineBlock=function(a){a=a.style;a.position="relative";if(igFI_.userAgent.IE&&!igFI_.userAgent.isVersion("8")){a.zoom="1";a.display="inline"}else a.display=igFI_.userAgent.GECKO?igFI_.userAgent.isVersion("1.9a")?"inline-block":"-moz-inline-box":"inline-block"};igFI_.style.Ec=function(a){return"rtl"==igFI_.style.v(a,"direction")};igFI_.style.Re=igFI_.userAgent.GECKO?"MozUserSelect":igFI_.userAgent.WEBKIT?"WebkitUserSelect":igFI_c;
igFI_.style.isUnselectable=function(a){if(igFI_.style.Re)return a.style[igFI_.style.Re].toLowerCase()=="none";else if(igFI_.userAgent.IE||igFI_.userAgent.OPERA)return a.getAttribute("unselectable")=="on";return igFI_d};
igFI_.style.setUnselectable=function(a,b,c){c=!c?a.getElementsByTagName("*"):igFI_c;var d=igFI_.style.Re;if(d){b=b?"none":"";a.style[d]=b;if(c){a=0;for(var e;e=c[a];a++)e.style[d]=b}}else if(igFI_.userAgent.IE||igFI_.userAgent.OPERA){b=b?"on":"";a.setAttribute("unselectable",b);if(c)for(a=0;e=c[a];a++)e.setAttribute("unselectable",b)}};igFI_.style.getBorderBoxSize=function(a){return new igFI_.math.Size(a.offsetWidth,a.offsetHeight)};
igFI_.style.setBorderBoxSize=function(a,b){var c=igFI_.dom.p(a),d=igFI_.dom.r(c).ra();if(igFI_.userAgent.IE&&(!d||!igFI_.userAgent.isVersion("8"))){c=a.style;if(d){d=igFI_.style.getPaddingBox(a);a=igFI_.style.getBorderBox(a);c.pixelWidth=b.width-a.left-d.left-d.right-a.right;c.pixelHeight=b.height-a.top-d.top-d.bottom-a.bottom}else{c.pixelWidth=b.width;c.pixelHeight=b.height}}else igFI_.style.nh(a,b,"border-box")};
igFI_.style.getContentBoxSize=function(a){var b=igFI_.dom.p(a),c=igFI_.userAgent.IE&&a.currentStyle;if(c&&igFI_.dom.r(b).ra()&&c.width!="auto"&&c.height!="auto"&&!c.boxSizing){b=igFI_.style.hb(a,c.width,"width","pixelWidth");a=igFI_.style.hb(a,c.height,"height","pixelHeight");return new igFI_.math.Size(b,a)}else{c=igFI_.style.getBorderBoxSize(a);b=igFI_.style.getPaddingBox(a);a=igFI_.style.getBorderBox(a);return new igFI_.math.Size(c.width-a.left-b.left-b.right-a.right,c.height-a.top-b.top-b.bottom-
a.bottom)}};igFI_.style.setContentBoxSize=function(a,b){var c=igFI_.dom.p(a),d=igFI_.dom.r(c).ra();if(igFI_.userAgent.IE&&(!d||!igFI_.userAgent.isVersion("8"))){c=a.style;if(d){c.pixelWidth=b.width;c.pixelHeight=b.height}else{d=igFI_.style.getPaddingBox(a);a=igFI_.style.getBorderBox(a);c.pixelWidth=b.width+a.left+d.left+d.right+a.right;c.pixelHeight=b.height+a.top+d.top+d.bottom+a.bottom}}else igFI_.style.nh(a,b,"content-box")};
igFI_.style.nh=function(a,b,c){a=a.style;if(igFI_.userAgent.GECKO)a.MozBoxSizing=c;else if(igFI_.userAgent.WEBKIT)a.WebkitBoxSizing=c;else if(igFI_.userAgent.OPERA&&!igFI_.userAgent.isVersion("9.50"))c?a.setProperty("box-sizing",c):a.removeProperty("box-sizing");else a.boxSizing=c;a.width=b.width+"px";a.height=b.height+"px"};
igFI_.style.hb=function(a,b,c,d){if(/^\d+px?$/.test(b))return parseInt(b,10);else{var e=a.style[c],f=a.runtimeStyle[c];a.runtimeStyle[c]=a.currentStyle[c];a.style[c]=b;b=a.style[d];a.style[c]=e;a.runtimeStyle[c]=f;return b}};igFI_.style.rc=function(a,b){return igFI_.style.hb(a,igFI_.style.getCascadedStyle(a,b),"left","pixelLeft")};
igFI_.style.Lf=function(a,b){if(igFI_.userAgent.IE){var c=igFI_.style.rc(a,b+"Left"),d=igFI_.style.rc(a,b+"Right"),e=igFI_.style.rc(a,b+"Top");a=igFI_.style.rc(a,b+"Bottom");return new igFI_.math.Box(e,d,a,c)}else{c=igFI_.style.getComputedStyle(a,b+"Left");d=igFI_.style.getComputedStyle(a,b+"Right");e=igFI_.style.getComputedStyle(a,b+"Top");a=igFI_.style.getComputedStyle(a,b+"Bottom");return new igFI_.math.Box(parseFloat(e),parseFloat(d),parseFloat(a),parseFloat(c))}};
igFI_.style.getPaddingBox=function(a){return igFI_.style.Lf(a,"padding")};igFI_.style.getMarginBox=function(a){return igFI_.style.Lf(a,"margin")};igFI_.style.rg={thin:2,medium:4,thick:6};igFI_.style.qc=function(a,b){if(igFI_.style.getCascadedStyle(a,b+"Style")=="none")return 0;b=igFI_.style.getCascadedStyle(a,b+"Width");if(b in igFI_.style.rg)return igFI_.style.rg[b];return igFI_.style.hb(a,b,"left","pixelLeft")};
igFI_.style.getBorderBox=function(a){if(igFI_.userAgent.IE){var b=igFI_.style.qc(a,"borderLeft"),c=igFI_.style.qc(a,"borderRight"),d=igFI_.style.qc(a,"borderTop");a=igFI_.style.qc(a,"borderBottom");return new igFI_.math.Box(d,c,a,b)}else{b=igFI_.style.getComputedStyle(a,"borderLeftWidth");c=igFI_.style.getComputedStyle(a,"borderRightWidth");d=igFI_.style.getComputedStyle(a,"borderTopWidth");a=igFI_.style.getComputedStyle(a,"borderBottomWidth");return new igFI_.math.Box(parseFloat(d),parseFloat(c),
parseFloat(a),parseFloat(b))}};igFI_.style.getFontFamily=function(a){var b=igFI_.dom.p(a),c="";if(b.createTextRange){c=b.body.createTextRange();c.moveToElementText(a);c=c.queryCommandValue("FontName")}if(!c){c=igFI_.style.v(a,"fontFamily");if(igFI_.userAgent.OPERA&&igFI_.userAgent.LINUX)c=c.replace(/ \[[^\]]*\]/,"")}a=c.split(",");if(a.length>1)c=a[0];return igFI_.string.stripQuotes(c,"\"'")};igFI_.style.li=/[^\d]+$/;
igFI_.style.getLengthUnits=function(a){return(a=a.match(igFI_.style.li))&&a[0]||igFI_c};igFI_.style.Gh={cm:1,"in":1,mm:1,pc:1,pt:1};igFI_.style.Ih={em:1,ex:1};
igFI_.style.getFontSize=function(a){var b=igFI_.style.v(a,"fontSize"),c=igFI_.style.getLengthUnits(b);if(b&&"px"==c)return parseInt(b,10);if(igFI_.userAgent.IE)if(c in igFI_.style.Gh)return igFI_.style.hb(a,b,"left","pixelLeft");else if(a.parentNode&&a.parentNode.nodeType==igFI_.dom.NodeType.ELEMENT&&c in igFI_.style.Ih){a=a.parentNode;c=igFI_.style.v(a,"fontSize");return igFI_.style.hb(a,b==c?"1em":b,"left","pixelLeft")}c=igFI_.dom.o("span",{style:"visibility:hidden;position:absolute;line-height:0;padding:0;margin:0;border:0;height:1em;"});
igFI_.dom.appendChild(a,c);b=c.offsetHeight;igFI_.dom.removeNode(c);return b};igFI_.style.parseStyleAttribute=function(a){var b={};igFI_.array.forEach(a.split(/\s*;\s*/),function(c){c=c.split(/\s*:\s*/);if(c.length==2)b[igFI_.style.toCamelCase(c[0].toLowerCase())]=c[1]});return b};igFI_.style.toStyleAttribute=function(a){var b=[];igFI_.object.forEach(a,function(c,d){b.push(igFI_.style.toSelectorCase(d),":",c,";")});return b.join("")};
igFI_.style.setFloat=function(a,b){a.style[igFI_.userAgent.IE?"styleFloat":"cssFloat"]=b};igFI_.style.getFloat=function(a){return a.style[igFI_.userAgent.IE?"styleFloat":"cssFloat"]||""};igFI_.style.getScrollbarWidth=function(){var a=igFI_.dom.createElement("div");a.style.cssText="visibility:hidden;overflow:scroll;position:absolute;top:0;width:100px;height:100px";igFI_.dom.appendChild(igFI_.dom.W().body,a);var b=a.offsetWidth-a.clientWidth;igFI_.dom.removeNode(a);return b};igFI_.Timer=function(a,b){this.Fb=a||1;this.Zb=b||igFI_.Timer.defaultTimerObject;this.$c=igFI_.bind(this.wh,this);this.fe=igFI_.now()};igFI_.inherits(igFI_.Timer,igFI_.events.EventTarget);igFI_.Timer.Oh=2147483647;igFI_.Timer.prototype.enabled=igFI_d;igFI_.Timer.defaultTimerObject=igFI_.global.window;igFI_.Timer.intervalScale=0.8;igFI_.Timer.prototype.ha=igFI_c;igFI_.Timer.prototype.setInterval=function(a){this.Fb=a;if(this.ha&&this.enabled){this.stop();this.start()}else this.ha&&this.stop()};
igFI_.Timer.prototype.wh=function(){if(this.enabled){var a=igFI_.now()-this.fe;if(a>0&&a<this.Fb*igFI_.Timer.intervalScale)this.ha=this.Zb.setTimeout(this.$c,this.Fb-a);else{this.Gf();if(this.enabled){this.ha=this.Zb.setTimeout(this.$c,this.Fb);this.fe=igFI_.now()}}}};igFI_.Timer.prototype.Gf=function(){this.dispatchEvent(igFI_.Timer.TICK)};igFI_.Timer.prototype.start=function(){this.enabled=igFI_b;if(!this.ha){this.ha=this.Zb.setTimeout(this.$c,this.Fb);this.fe=igFI_.now()}};
igFI_.Timer.prototype.stop=function(){this.enabled=igFI_d;if(this.ha){this.Zb.clearTimeout(this.ha);this.ha=igFI_c}};igFI_.Timer.prototype.b=function(){igFI_.Timer.j.b.call(this);this.stop();delete this.Zb};igFI_.Timer.TICK="tick";
igFI_.Timer.tb=function(a,b,c){if(igFI_.isFunction(a)){if(c)a=igFI_.bind(a,c)}else if(a&&typeof a.handleEvent=="function")a=igFI_.bind(a.handleEvent,a);else igFI_a(Error("Invalid listener argument"));return b>igFI_.Timer.Oh?-1:igFI_.Timer.defaultTimerObject.setTimeout(a,b||0)};igFI_.Timer.clear=function(a){igFI_.Timer.defaultTimerObject.clearTimeout(a)};igFI_.fx={};igFI_.fx.easing={};igFI_.fx.TIMEOUT=20;igFI_.fx.easing.easeIn=function(a){return a*a*a};igFI_.fx.easing.easeOut=function(a){return 1-Math.pow(1-a,3)};igFI_.fx.easing.inAndOut=function(a){return 3*a*a-2*a*a*a};
igFI_.fx.Animation=function(a,b,c,d){if(!igFI_.isArray(a)||!igFI_.isArray(b))igFI_a(Error("Start and end parameters must be arrays"));if(a.length!=b.length)igFI_a(Error("Start and end points must be the same length"));this.startPoint=a;this.endPoint=b;this.duration=c;this.af=d;this.coords=[]};igFI_.inherits(igFI_.fx.Animation,igFI_.events.EventTarget);igFI_.fx.Animation.EventType={PLAY:"play",BEGIN:"begin",RESUME:"resume",END:"end",STOP:"stop",FINISH:"finish",PAUSE:"pause",ANIMATE:"animate",DESTROY:"destroy"};
igFI_.fx.Animation.State={STOPPED:0,PAUSED:-1,PLAYING:1};igFI_.fx.Animation.Ha={};igFI_.fx.Animation.Qa=igFI_c;igFI_.fx.Animation.Af=function(){igFI_.Timer.defaultTimerObject.clearTimeout(igFI_.fx.Animation.Qa);var a=igFI_.now();for(var b in igFI_.fx.Animation.Ha)igFI_.fx.Animation.Ha[b].cycle(a);igFI_.fx.Animation.Qa=igFI_.object.C(igFI_.fx.Animation.Ha)?igFI_c:igFI_.Timer.defaultTimerObject.setTimeout(igFI_.fx.Animation.Af,igFI_.fx.TIMEOUT)};
igFI_.fx.Animation.registerAnimation=function(a){var b=igFI_.getHashCode(a);b in igFI_.fx.Animation.Ha||(igFI_.fx.Animation.Ha[b]=a);if(!igFI_.fx.Animation.Qa)igFI_.fx.Animation.Qa=igFI_.Timer.defaultTimerObject.setTimeout(igFI_.fx.Animation.Af,igFI_.fx.TIMEOUT)};
igFI_.fx.Animation.unregisterAnimation=function(a){a=igFI_.getHashCode(a);delete igFI_.fx.Animation.Ha[a];if(igFI_.fx.Animation.Qa&&igFI_.object.C(igFI_.fx.Animation.Ha)){igFI_.Timer.defaultTimerObject.clearTimeout(igFI_.fx.Animation.Qa);igFI_.fx.Animation.Qa=igFI_c}};igFI_.fx.Animation.prototype.M=igFI_.fx.Animation.State.STOPPED;igFI_.fx.Animation.prototype.zd=0;igFI_.fx.Animation.prototype.progress=0;igFI_.fx.Animation.prototype.Fa=igFI_c;igFI_.fx.Animation.prototype.td=igFI_c;
igFI_.fx.Animation.prototype.Hc=igFI_c;
igFI_.fx.Animation.prototype.play=function(a){if(a||this.M==igFI_.fx.Animation.State.STOPPED){this.progress=0;this.coords=this.startPoint}else if(this.M==igFI_.fx.Animation.State.PLAYING)return igFI_d;igFI_.fx.Animation.unregisterAnimation(this);this.Fa=igFI_.now();if(this.M==igFI_.fx.Animation.State.PAUSED)this.Fa-=this.duration*this.progress;this.td=this.Fa+this.duration;this.Hc=this.Fa;this.progress||this.H();this.Wg();this.M==igFI_.fx.Animation.State.PAUSED&&this.Xg();this.M=igFI_.fx.Animation.State.PLAYING;
igFI_.fx.Animation.registerAnimation(this);this.cycle(this.Fa);return igFI_b};igFI_.fx.Animation.prototype.stop=function(a){igFI_.fx.Animation.unregisterAnimation(this);this.M=igFI_.fx.Animation.State.STOPPED;if(a)this.progress=1;this.Vc(this.progress);this.Zg();this.ta()};igFI_.fx.Animation.prototype.pause=function(){if(this.M==igFI_.fx.Animation.State.PLAYING){igFI_.fx.Animation.unregisterAnimation(this);this.M=igFI_.fx.Animation.State.PAUSED;this.Vg()}};
igFI_.fx.Animation.prototype.b=function(){this.M!=igFI_.fx.Animation.State.STOPPED&&this.stop(igFI_d);this.Tg();igFI_.fx.Animation.j.b.call(this)};
igFI_.fx.Animation.prototype.cycle=function(a){this.progress=(a-this.Fa)/(this.td-this.Fa);if(this.progress>=1)this.progress=1;this.zd=1E3/(a-this.Hc);this.Hc=a;igFI_.isFunction(this.af)?this.Vc(this.af(this.progress)):this.Vc(this.progress);if(this.progress==1){this.M=igFI_.fx.Animation.State.STOPPED;igFI_.fx.Animation.unregisterAnimation(this);this.Ug();this.ta()}else this.M==igFI_.fx.Animation.State.PLAYING&&this.Lb()};
igFI_.fx.Animation.prototype.Vc=function(a){this.coords=new Array(this.startPoint.length);for(var b=0;b<this.startPoint.length;b++)this.coords[b]=(this.endPoint[b]-this.startPoint[b])*a+this.startPoint[b]};igFI_.fx.Animation.prototype.Lb=function(){this.ba(igFI_.fx.Animation.EventType.ANIMATE)};igFI_.fx.Animation.prototype.H=function(){this.ba(igFI_.fx.Animation.EventType.BEGIN)};igFI_.fx.Animation.prototype.Tg=function(){this.ba(igFI_.fx.Animation.EventType.DESTROY)};
igFI_.fx.Animation.prototype.ta=function(){this.ba(igFI_.fx.Animation.EventType.END)};igFI_.fx.Animation.prototype.Ug=function(){this.ba(igFI_.fx.Animation.EventType.FINISH)};igFI_.fx.Animation.prototype.Vg=function(){this.ba(igFI_.fx.Animation.EventType.PAUSE)};igFI_.fx.Animation.prototype.Wg=function(){this.ba(igFI_.fx.Animation.EventType.PLAY)};igFI_.fx.Animation.prototype.Xg=function(){this.ba(igFI_.fx.Animation.EventType.RESUME)};igFI_.fx.Animation.prototype.Zg=function(){this.ba(igFI_.fx.Animation.EventType.STOP)};
igFI_.fx.Animation.prototype.ba=function(a){this.dispatchEvent(new igFI_.fx.AnimationEvent(a,this))};igFI_.fx.AnimationEvent=function(a,b){igFI_.events.Event.call(this,a);this.coords=b.coords;this.x=b.coords[0];this.y=b.coords[1];this.z=b.coords[2];this.duration=b.duration;this.progress=b.progress;this.fps=b.zd;this.state=b.M;this.anim=b};igFI_.inherits(igFI_.fx.AnimationEvent,igFI_.events.Event);igFI_.fx.dom={};igFI_.fx.dom.PredefinedEffect=function(a,b,c,d,e){igFI_.fx.Animation.call(this,b,c,d,e);this.element=a};igFI_.inherits(igFI_.fx.dom.PredefinedEffect,igFI_.fx.Animation);igFI_.fx.dom.PredefinedEffect.prototype.n=igFI_.nullFunction;igFI_.fx.dom.PredefinedEffect.prototype.Lb=function(){this.n();igFI_.fx.dom.PredefinedEffect.j.Lb.call(this)};igFI_.fx.dom.PredefinedEffect.prototype.ta=function(){this.n();igFI_.fx.dom.PredefinedEffect.j.ta.call(this)};
igFI_.fx.dom.PredefinedEffect.prototype.H=function(){this.n();igFI_.fx.dom.PredefinedEffect.j.H.call(this)};igFI_.fx.dom.Slide=function(a,b,c){if(b.length!=2||c.length!=2)igFI_a(Error("Start and end points must be 2D"));igFI_.fx.dom.PredefinedEffect.apply(this,arguments)};igFI_.inherits(igFI_.fx.dom.Slide,igFI_.fx.dom.PredefinedEffect);igFI_.fx.dom.Slide.prototype.n=function(){this.element.style.left=Math.round(this.coords[0])+"px";this.element.style.top=Math.round(this.coords[1])+"px"};
igFI_.fx.dom.SlideFrom=function(a,b,c,d){var e=[a.offsetLeft,a.offsetTop];igFI_.fx.dom.Slide.call(this,a,e,b,c,d)};igFI_.inherits(igFI_.fx.dom.SlideFrom,igFI_.fx.dom.Slide);igFI_.fx.dom.SlideFrom.prototype.H=function(){this.startPoint=[this.element.offsetLeft,this.element.offsetTop];igFI_.fx.dom.SlideFrom.j.H.call(this)};
igFI_.fx.dom.Swipe=function(a,b,c){if(b.length!=2||c.length!=2)igFI_a(Error("Start and end points must be 2D"));igFI_.fx.dom.PredefinedEffect.apply(this,arguments);this.Kg=Math.max(this.endPoint[0],this.startPoint[0]);this.Jg=Math.max(this.endPoint[1],this.startPoint[1])};igFI_.inherits(igFI_.fx.dom.Swipe,igFI_.fx.dom.PredefinedEffect);
igFI_.fx.dom.Swipe.prototype.n=function(){var a=this.coords[0],b=this.coords[1];this.of(Math.round(a),Math.round(b),this.Kg,this.Jg);this.element.style.width=Math.round(a)+"px";this.element.style.marginLeft=Math.round(a)-this.Kg+"px";this.element.style.marginTop=Math.round(b)-this.Jg+"px"};igFI_.fx.dom.Swipe.prototype.of=function(a,b,c,d){this.element.style.clip="rect("+(d-b)+"px "+c+"px "+d+"px "+(c-a)+"px)"};
igFI_.fx.dom.Scroll=function(a,b,c){if(b.length!=2||c.length!=2)igFI_a(Error("Start and end points must be 2D"));igFI_.fx.dom.PredefinedEffect.apply(this,arguments)};igFI_.inherits(igFI_.fx.dom.Scroll,igFI_.fx.dom.PredefinedEffect);igFI_.fx.dom.Scroll.prototype.n=function(){this.element.scrollLeft=Math.round(this.coords[0]);this.element.scrollTop=Math.round(this.coords[1])};
igFI_.fx.dom.Resize=function(a,b,c){if(b.length!=2||c.length!=2)igFI_a(Error("Start and end points must be 2D"));igFI_.fx.dom.PredefinedEffect.apply(this,arguments)};igFI_.inherits(igFI_.fx.dom.Resize,igFI_.fx.dom.PredefinedEffect);igFI_.fx.dom.Resize.prototype.n=function(){this.element.style.width=Math.round(this.coords[0])+"px";this.element.style.height=Math.round(this.coords[1])+"px"};igFI_.fx.dom.ResizeWidth=function(a,b,c,d,e){igFI_.fx.dom.PredefinedEffect.call(this,a,[b],[c],d,e)};
igFI_.inherits(igFI_.fx.dom.ResizeWidth,igFI_.fx.dom.PredefinedEffect);igFI_.fx.dom.ResizeWidth.prototype.n=function(){this.element.style.width=Math.round(this.coords[0])+"px"};igFI_.fx.dom.ResizeHeight=function(a,b,c,d,e){igFI_.fx.dom.PredefinedEffect.call(this,a,[b],[c],d,e)};igFI_.inherits(igFI_.fx.dom.ResizeHeight,igFI_.fx.dom.PredefinedEffect);igFI_.fx.dom.ResizeHeight.prototype.n=function(){this.element.style.height=Math.round(this.coords[0])+"px"};
igFI_.fx.dom.Fade=function(a,b,c,d,e){if(igFI_.isNumber(b))b=[b];if(igFI_.isNumber(c))c=[c];igFI_.fx.dom.PredefinedEffect.call(this,a,b,c,d,e);if(b.length!=1||c.length!=1)igFI_a(Error("Start and end points must be 1D"))};igFI_.inherits(igFI_.fx.dom.Fade,igFI_.fx.dom.PredefinedEffect);igFI_.fx.dom.Fade.prototype.n=function(){igFI_.style.setOpacity(this.element,this.coords[0])};igFI_.fx.dom.Fade.prototype.show=function(){this.element.style.display=""};
igFI_.fx.dom.Fade.prototype.hide=function(){this.element.style.display="none"};igFI_.fx.dom.FadeOut=function(a,b,c){igFI_.fx.dom.Fade.call(this,a,1,0,b,c)};igFI_.inherits(igFI_.fx.dom.FadeOut,igFI_.fx.dom.Fade);igFI_.fx.dom.FadeIn=function(a,b,c){igFI_.fx.dom.Fade.call(this,a,0,1,b,c)};igFI_.inherits(igFI_.fx.dom.FadeIn,igFI_.fx.dom.Fade);igFI_.fx.dom.FadeOutAndHide=function(a,b,c){igFI_.fx.dom.Fade.call(this,a,1,0,b,c)};igFI_.inherits(igFI_.fx.dom.FadeOutAndHide,igFI_.fx.dom.Fade);
igFI_.fx.dom.FadeOutAndHide.prototype.H=function(){this.show();igFI_.fx.dom.FadeOutAndHide.j.H.call(this)};igFI_.fx.dom.FadeOutAndHide.prototype.ta=function(){this.hide();igFI_.fx.dom.FadeOutAndHide.j.ta.call(this)};igFI_.fx.dom.FadeInAndShow=function(a,b,c){igFI_.fx.dom.Fade.call(this,a,0,1,b,c)};igFI_.inherits(igFI_.fx.dom.FadeInAndShow,igFI_.fx.dom.Fade);igFI_.fx.dom.FadeInAndShow.prototype.H=function(){this.show();igFI_.fx.dom.FadeInAndShow.j.H.call(this)};
igFI_.fx.dom.BgColorTransform=function(a,b,c){if(b.length!=3||c.length!=3)igFI_a(Error("Start and end points must be 3D"));igFI_.fx.dom.PredefinedEffect.apply(this,arguments)};igFI_.inherits(igFI_.fx.dom.BgColorTransform,igFI_.fx.dom.PredefinedEffect);igFI_.fx.dom.BgColorTransform.prototype.oh=function(){for(var a=[],b=0;b<this.coords.length;b++)a[b]=Math.round(this.coords[b]);a="rgb("+a.join(",")+")";this.element.style.backgroundColor=a};igFI_.fx.dom.BgColorTransform.prototype.n=function(){this.oh()};
igFI_.fx.dom.bgColorFadeIn=function(a,b,c){var d=a.style.backgroundColor||"",e=igFI_.style.getBackgroundColor(a);e=e!="transparent"&&e!="rgba(0, 0, 0, 0)"?igFI_.color.hexToRgb(igFI_.color.parse(e).hex):[255,255,255];b=new igFI_.fx.dom.BgColorTransform(a,b,e,c);igFI_.events.listen(b,igFI_.fx.Animation.EventType.END,function(){a.style.backgroundColor=d});b.play()};
igFI_.fx.dom.ColorTransform=function(a,b,c){if(b.length!=3||c.length!=3)igFI_a(Error("Start and end points must be 3D"));igFI_.fx.dom.PredefinedEffect.apply(this,arguments)};igFI_.inherits(igFI_.fx.dom.ColorTransform,igFI_.fx.dom.PredefinedEffect);igFI_.fx.dom.ColorTransform.prototype.n=function(){for(var a=[],b=0;b<this.coords.length;b++)a[b]=Math.round(this.coords[b]);a="rgb("+a.join(",")+")";this.element.style.color=a};igFI_.debug.Error=function(a){this.stack=(new Error).stack||"";if(a)this.message=String(a)};igFI_.inherits(igFI_.debug.Error,Error);igFI_.debug.Error.prototype.name="CustomError";igFI_.asserts={};igFI_.asserts.ENABLE_ASSERTS=igFI_.DEBUG;igFI_.asserts.AssertionError=function(a,b){b.unshift(a);igFI_.debug.Error.call(this,igFI_.string.subs.apply(igFI_c,b));b.shift();this.messagePattern=a};igFI_.inherits(igFI_.asserts.AssertionError,igFI_.debug.Error);igFI_.asserts.AssertionError.prototype.name="AssertionError";igFI_.asserts.Ka=function(a,b,c,d){var e="Assertion failed";if(c){e+=": "+c;var f=d}else if(a){e+=": "+a;f=b}igFI_a(new igFI_.asserts.AssertionError(""+e,f||[]))};
igFI_.asserts.assert=function(a,b){igFI_.asserts.ENABLE_ASSERTS&&!a&&igFI_.asserts.Ka("",igFI_c,b,Array.prototype.slice.call(arguments,2))};igFI_.asserts.fail=function(a){if(igFI_.asserts.ENABLE_ASSERTS)igFI_a(new igFI_.asserts.AssertionError("Failure"+(a?": "+a:""),Array.prototype.slice.call(arguments,1)))};igFI_.asserts.assertNumber=function(a,b){igFI_.asserts.ENABLE_ASSERTS&&!igFI_.isNumber(a)&&igFI_.asserts.Ka("Expected number but got %s.",[a],b,Array.prototype.slice.call(arguments,2));return a};
igFI_.asserts.assertString=function(a,b){igFI_.asserts.ENABLE_ASSERTS&&!igFI_.isString(a)&&igFI_.asserts.Ka("Expected string but got %s.",[a],b,Array.prototype.slice.call(arguments,2));return a};igFI_.asserts.assertFunction=function(a,b){igFI_.asserts.ENABLE_ASSERTS&&!igFI_.isFunction(a)&&igFI_.asserts.Ka("Expected function but got %s.",[a],b,Array.prototype.slice.call(arguments,2));return a};
igFI_.asserts.assertObject=function(a,b){igFI_.asserts.ENABLE_ASSERTS&&!igFI_.isObject(a)&&igFI_.asserts.Ka("Expected object but got %s.",[a],b,Array.prototype.slice.call(arguments,2));return a};igFI_.asserts.assertArray=function(a,b){igFI_.asserts.ENABLE_ASSERTS&&!igFI_.isArray(a)&&igFI_.asserts.Ka("Expected array but got %s.",[a],b,Array.prototype.slice.call(arguments,2));return a};
igFI_.asserts.assertInstanceof=function(a,b,c){igFI_.asserts.ENABLE_ASSERTS&&!(a instanceof b)&&igFI_.asserts.Ka("instanceof check failed.",igFI_c,c,Array.prototype.slice.call(arguments,3))};igFI_.iter={};igFI_.iter.Iterable=igFI_.typedef;igFI_.iter.StopIteration="StopIteration"in igFI_.global?igFI_.global.StopIteration:Error("StopIteration");igFI_.iter.Iterator=function(){};igFI_.iter.Iterator.prototype.next=function(){igFI_a(igFI_.iter.StopIteration)};igFI_.iter.Iterator.prototype.__iterator__=function(){return this};
igFI_.iter.toIterator=function(a){if(a instanceof igFI_.iter.Iterator)return a;if(typeof a.__iterator__=="function")return a.__iterator__(igFI_d);if(igFI_.isArrayLike(a)){var b=0,c=new igFI_.iter.Iterator;c.next=function(){for(;;){if(b>=a.length)igFI_a(igFI_.iter.StopIteration);if(b in a)return a[b++];else b++}};return c}igFI_a(Error("Not implemented"))};
igFI_.iter.forEach=function(a,b,c){if(igFI_.isArrayLike(a))try{igFI_.array.forEach(a,b,c)}catch(d){if(d!==igFI_.iter.StopIteration)igFI_a(d)}else{a=igFI_.iter.toIterator(a);try{for(;;)b.call(c,a.next(),undefined,a)}catch(e){if(e!==igFI_.iter.StopIteration)igFI_a(e)}}};igFI_.iter.filter=function(a,b,c){a=igFI_.iter.toIterator(a);var d=new igFI_.iter.Iterator;d.next=function(){for(;;){var e=a.next();if(b.call(c,e,undefined,a))return e}};return d};
igFI_.iter.range=function(a,b,c){var d=0,e=a,f=c||1;if(arguments.length>1){d=a;e=b}if(f==0)igFI_a(Error("Range step argument must not be zero"));var g=new igFI_.iter.Iterator;g.next=function(){if(f>0&&d>=e||f<0&&d<=e)igFI_a(igFI_.iter.StopIteration);var j=d;d+=f;return j};return g};igFI_.iter.join=function(a,b){return igFI_.iter.toArray(a).join(b)};
igFI_.iter.map=function(a,b,c){a=igFI_.iter.toIterator(a);var d=new igFI_.iter.Iterator;d.next=function(){for(;;){var e=a.next();return b.call(c,e,undefined,a)}};return d};igFI_.iter.reduce=function(a,b,c,d){var e=c;igFI_.iter.forEach(a,function(f){e=b.call(d,e,f)});return e};igFI_.iter.some=function(a,b,c){a=igFI_.iter.toIterator(a);try{for(;;)if(b.call(c,a.next(),undefined,a))return igFI_b}catch(d){if(d!==igFI_.iter.StopIteration)igFI_a(d)}return igFI_d};
igFI_.iter.every=function(a,b,c){a=igFI_.iter.toIterator(a);try{for(;;)if(!b.call(c,a.next(),undefined,a))return igFI_d}catch(d){if(d!==igFI_.iter.StopIteration)igFI_a(d)}return igFI_b};igFI_.iter.chain=function(){var a=arguments,b=a.length,c=0,d=new igFI_.iter.Iterator;d.next=function(){try{if(c>=b)igFI_a(igFI_.iter.StopIteration);var e=igFI_.iter.toIterator(a[c]);return e.next()}catch(f){if(f!==igFI_.iter.StopIteration||c>=b)igFI_a(f);else{c++;return this.next()}}};return d};
igFI_.iter.dropWhile=function(a,b,c){a=igFI_.iter.toIterator(a);var d=new igFI_.iter.Iterator,e=igFI_b;d.next=function(){for(;;){var f=a.next();if(!(e&&b.call(c,f,undefined,a))){e=igFI_d;return f}}};return d};igFI_.iter.takeWhile=function(a,b,c){a=igFI_.iter.toIterator(a);var d=new igFI_.iter.Iterator,e=igFI_b;d.next=function(){for(;;)if(e){var f=a.next();if(b.call(c,f,undefined,a))return f;else e=igFI_d}else igFI_a(igFI_.iter.StopIteration)};return d};
igFI_.iter.toArray=function(a){if(igFI_.isArrayLike(a))return igFI_.array.toArray(a);a=igFI_.iter.toIterator(a);var b=[];igFI_.iter.forEach(a,function(c){b.push(c)});return b};
igFI_.iter.equals=function(a,b){a=igFI_.iter.toIterator(a);b=igFI_.iter.toIterator(b);var c,d;try{for(;;){c=d=igFI_d;var e=a.next();c=igFI_b;var f=b.next();d=igFI_b;if(e!=f)return igFI_d}}catch(g){if(g!==igFI_.iter.StopIteration)igFI_a(g);else{if(c&&!d)return igFI_d;if(!d)try{b.next();return igFI_d}catch(j){if(j!==igFI_.iter.StopIteration)igFI_a(j);return igFI_b}}}return igFI_d};
igFI_.iter.nextOrValue=function(a,b){try{return igFI_.iter.toIterator(a).next()}catch(c){if(c!=igFI_.iter.StopIteration)igFI_a(c);return b}};igFI_.structs.ca=function(a){if(typeof a.ca=="function")return a.ca();if(igFI_.isArrayLike(a)||igFI_.isString(a))return a.length;return igFI_.object.ca(a)};igFI_.structs.q=function(a){if(typeof a.q=="function")return a.q();if(igFI_.isString(a))return a.split("");if(igFI_.isArrayLike(a)){for(var b=[],c=a.length,d=0;d<c;d++)b.push(a[d]);return b}return igFI_.object.q(a)};
igFI_.structs.s=function(a){if(typeof a.s=="function")return a.s();if(typeof a.q!="function"){if(igFI_.isArrayLike(a)||igFI_.isString(a)){var b=[];a=a.length;for(var c=0;c<a;c++)b.push(c);return b}return igFI_.object.s(a)}};igFI_.structs.contains=function(a,b){if(typeof a.contains=="function")return a.contains(b);if(typeof a.ya=="function")return a.ya(b);if(igFI_.isArrayLike(a)||igFI_.isString(a))return igFI_.array.contains(a,b);return igFI_.object.ya(a,b)};
igFI_.structs.C=function(a){if(typeof a.C=="function")return a.C();if(igFI_.isArrayLike(a)||igFI_.isString(a))return igFI_.array.C(a);return igFI_.object.C(a)};igFI_.structs.clear=function(a){if(typeof a.clear=="function")a.clear();else igFI_.isArrayLike(a)?igFI_.array.clear(a):igFI_.object.clear(a)};
igFI_.structs.forEach=function(a,b,c){if(typeof a.forEach=="function")a.forEach(b,c);else if(igFI_.isArrayLike(a)||igFI_.isString(a))igFI_.array.forEach(a,b,c);else for(var d=igFI_.structs.s(a),e=igFI_.structs.q(a),f=e.length,g=0;g<f;g++)b.call(c,e[g],d&&d[g],a)};
igFI_.structs.filter=function(a,b,c){if(typeof a.filter=="function")return a.filter(b,c);if(igFI_.isArrayLike(a)||igFI_.isString(a))return igFI_.array.filter(a,b,c);var d,e=igFI_.structs.s(a),f=igFI_.structs.q(a),g=f.length;if(e){d={};for(var j=0;j<g;j++)if(b.call(c,f[j],e[j],a))d[e[j]]=f[j]}else{d=[];for(j=0;j<g;j++)b.call(c,f[j],undefined,a)&&d.push(f[j])}return d};
igFI_.structs.map=function(a,b,c){if(typeof a.map=="function")return a.map(b,c);if(igFI_.isArrayLike(a)||igFI_.isString(a))return igFI_.array.map(a,b,c);var d,e=igFI_.structs.s(a),f=igFI_.structs.q(a),g=f.length;if(e){d={};for(var j=0;j<g;j++)d[e[j]]=b.call(c,f[j],e[j],a)}else{d=[];for(j=0;j<g;j++)d[j]=b.call(c,f[j],undefined,a)}return d};
igFI_.structs.some=function(a,b,c){if(typeof a.some=="function")return a.some(b,c);if(igFI_.isArrayLike(a)||igFI_.isString(a))return igFI_.array.some(a,b,c);for(var d=igFI_.structs.s(a),e=igFI_.structs.q(a),f=e.length,g=0;g<f;g++)if(b.call(c,e[g],d&&d[g],a))return igFI_b;return igFI_d};
igFI_.structs.every=function(a,b,c){if(typeof a.every=="function")return a.every(b,c);if(igFI_.isArrayLike(a)||igFI_.isString(a))return igFI_.array.every(a,b,c);for(var d=igFI_.structs.s(a),e=igFI_.structs.q(a),f=e.length,g=0;g<f;g++)if(!b.call(c,e[g],d&&d[g],a))return igFI_d;return igFI_b};igFI_.structs.Map=function(a){this.G={};this.d=[];var b=arguments.length;if(b>1){if(b%2)igFI_a(Error("Uneven number of arguments"));for(var c=0;c<b;c+=2)this.set(arguments[c],arguments[c+1])}else a&&this.cf(a)};igFI_.structs.Map.prototype.g=0;igFI_.structs.Map.prototype.qb=0;igFI_.structs.Map.prototype.ca=function(){return this.g};igFI_.structs.Map.prototype.q=function(){this.$a();for(var a=[],b=0;b<this.d.length;b++){var c=this.d[b];a.push(this.G[c])}return a};
igFI_.structs.Map.prototype.s=function(){this.$a();return this.d.concat()};igFI_.structs.Map.prototype.aa=function(a){return igFI_.structs.Map.Ra(this.G,a)};igFI_.structs.Map.prototype.ya=function(a){for(var b=0;b<this.d.length;b++){var c=this.d[b];if(igFI_.structs.Map.Ra(this.G,c)&&this.G[c]==a)return igFI_b}return igFI_d};
igFI_.structs.Map.prototype.equals=function(a,b){if(this===a)return igFI_b;if(this.g!=a.ca())return igFI_d;b=b||igFI_.structs.Map.defaultEquals;this.$a();for(var c,d=0;c=this.d[d];d++)if(!b(this.get(c),a.get(c)))return igFI_d;return igFI_b};igFI_.structs.Map.defaultEquals=function(a,b){return a===b};igFI_.structs.Map.prototype.C=function(){return this.g==0};igFI_.structs.Map.prototype.clear=function(){this.G={};this.qb=this.g=this.d.length=0};
igFI_.structs.Map.prototype.remove=function(a){if(igFI_.structs.Map.Ra(this.G,a)){delete this.G[a];this.g--;this.qb++;this.d.length>2*this.g&&this.$a();return igFI_b}return igFI_d};
igFI_.structs.Map.prototype.$a=function(){if(this.g!=this.d.length){for(var a=0,b=0;a<this.d.length;){var c=this.d[a];if(igFI_.structs.Map.Ra(this.G,c))this.d[b++]=c;a++}this.d.length=b}if(this.g!=this.d.length){var d={};for(b=a=0;a<this.d.length;){c=this.d[a];if(!igFI_.structs.Map.Ra(d,c)){this.d[b++]=c;d[c]=1}a++}this.d.length=b}};igFI_.structs.Map.prototype.get=function(a,b){if(igFI_.structs.Map.Ra(this.G,a))return this.G[a];return b};
igFI_.structs.Map.prototype.set=function(a,b){if(!igFI_.structs.Map.Ra(this.G,a)){this.g++;this.d.push(a);this.qb++}this.G[a]=b};igFI_.structs.Map.prototype.cf=function(a){var b;if(a instanceof igFI_.structs.Map){b=a.s();a=a.q()}else{b=igFI_.object.s(a);a=igFI_.object.q(a)}for(var c=0;c<b.length;c++)this.set(b[c],a[c])};igFI_.structs.Map.prototype.clone=function(){return new igFI_.structs.Map(this)};
igFI_.structs.Map.prototype.transpose=function(){for(var a=new igFI_.structs.Map,b=0;b<this.d.length;b++){var c=this.d[b],d=this.G[c];a.set(d,c)}return a};igFI_.structs.Map.prototype.__iterator__=function(a){this.$a();var b=0,c=this.d,d=this.G,e=this.qb,f=this,g=new igFI_.iter.Iterator;g.next=function(){for(;;){if(e!=f.qb)igFI_a(Error("The map has changed since the iterator was created"));if(b>=c.length)igFI_a(igFI_.iter.StopIteration);var j=c[b++];return a?j:d[j]}};return g};
igFI_.structs.Map.Ra=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)};igFI_.uri={};igFI_.uri.utils={};igFI_.uri.utils.rb={AMPERSAND:38,EQUAL:61,HASH:35,QUESTION:63};igFI_.uri.utils.buildFromEncodedParts=function(a,b,c,d,e,f,g){var j=[];a&&j.push(a,":");if(c){j.push("//");b&&j.push(b,"@");j.push(c);d&&j.push(":",d)}e&&j.push(e);f&&j.push("?",f);g&&j.push("#",g);return j.join("")};igFI_.uri.utils.Di=new RegExp("^(?:([^:/?#.]+):)?(?://(?:([^/?#]*)@)?([\\w\\d\\-\\u0100-\\uffff.%]*)(?::([0-9]+))?)?([^?#]+)?(?:\\?([^#]*))?(?:#(.*))?$");
igFI_.uri.utils.ComponentIndex={SCHEME:1,USER_INFO:2,DOMAIN:3,PORT:4,PATH:5,QUERY_DATA:6,FRAGMENT:7};igFI_.uri.utils.split=function(a){return a.match(igFI_.uri.utils.Di)};igFI_.uri.utils.dc=function(a){return a&&decodeURIComponent(a)};igFI_.uri.utils.gb=function(a,b){return igFI_.uri.utils.split(b)[a]||igFI_c};igFI_.uri.utils.vc=function(a){return igFI_.uri.utils.gb(igFI_.uri.utils.ComponentIndex.SCHEME,a)};
igFI_.uri.utils.getUserInfoEncoded=function(a){return igFI_.uri.utils.gb(igFI_.uri.utils.ComponentIndex.USER_INFO,a)};igFI_.uri.utils.wc=function(a){return igFI_.uri.utils.dc(igFI_.uri.utils.getUserInfoEncoded(a))};igFI_.uri.utils.getDomainEncoded=function(a){return igFI_.uri.utils.gb(igFI_.uri.utils.ComponentIndex.DOMAIN,a)};igFI_.uri.utils.yb=function(a){return igFI_.uri.utils.dc(igFI_.uri.utils.getDomainEncoded(a))};
igFI_.uri.utils.Ab=function(a){return Number(igFI_.uri.utils.gb(igFI_.uri.utils.ComponentIndex.PORT,a))||igFI_c};igFI_.uri.utils.getPathEncoded=function(a){return igFI_.uri.utils.gb(igFI_.uri.utils.ComponentIndex.PATH,a)};igFI_.uri.utils.jb=function(a){return igFI_.uri.utils.dc(igFI_.uri.utils.getPathEncoded(a))};igFI_.uri.utils.Sd=function(a){return igFI_.uri.utils.gb(igFI_.uri.utils.ComponentIndex.QUERY_DATA,a)};
igFI_.uri.utils.getFragmentEncoded=function(a){var b=a.indexOf("#");return b<0?igFI_c:a.substr(b+1)};igFI_.uri.utils.nc=function(a){return igFI_.uri.utils.dc(igFI_.uri.utils.getFragmentEncoded(a))};igFI_.uri.utils.getHost=function(a){a=igFI_.uri.utils.split(a);return igFI_.uri.utils.buildFromEncodedParts(a[igFI_.uri.utils.ComponentIndex.SCHEME],a[igFI_.uri.utils.ComponentIndex.USER_INFO],a[igFI_.uri.utils.ComponentIndex.DOMAIN],a[igFI_.uri.utils.ComponentIndex.PORT])};
igFI_.uri.utils.getPathAndAfter=function(a){a=igFI_.uri.utils.split(a);return igFI_.uri.utils.buildFromEncodedParts(igFI_c,igFI_c,igFI_c,igFI_c,a[igFI_.uri.utils.ComponentIndex.PATH],a[igFI_.uri.utils.ComponentIndex.QUERY_DATA],a[igFI_.uri.utils.ComponentIndex.FRAGMENT])};igFI_.uri.utils.removeFragment=function(a){var b=a.indexOf("#");return b<0?a:a.substr(0,b)};
igFI_.uri.utils.haveSameDomain=function(a,b){a=igFI_.uri.utils.split(a);b=igFI_.uri.utils.split(b);return a[igFI_.uri.utils.ComponentIndex.DOMAIN]==b[igFI_.uri.utils.ComponentIndex.DOMAIN]&&a[igFI_.uri.utils.ComponentIndex.SCHEME]==b[igFI_.uri.utils.ComponentIndex.SCHEME]&&a[igFI_.uri.utils.ComponentIndex.PORT]==b[igFI_.uri.utils.ComponentIndex.PORT]};
igFI_.uri.utils.Qh=function(a){if(igFI_.DEBUG&&(a.indexOf("#")>=0||a.indexOf("?")>=0))igFI_a(Error("goog.uri.utils: Fragment or query identifiers are not supported: ["+a+"]"))};igFI_.uri.utils.QueryValue=igFI_.typedef;igFI_.uri.utils.QueryArray=igFI_.typedef;igFI_.uri.utils.Zc=function(a){if(a[1]){var b=a[0],c=b.indexOf("#");if(c>=0){a.push(b.substr(c));a[0]=b=b.substr(0,c)}c=b.indexOf("?");if(c<0)a[1]="?";else if(c==b.length-1)a[1]=undefined}return a.join("")};
igFI_.uri.utils.jf=function(a,b,c){if(igFI_.isArray(b)){b=b;for(var d=0;d<b.length;d++)c.push("&",a,"=",igFI_.string.urlEncode(b[d]))}else b!=igFI_c&&c.push("&",a,"=",igFI_.string.urlEncode(b))};igFI_.uri.utils.cd=function(a,b,c){igFI_.asserts.assert(Math.max(b.length-(c||0),0)%2==0,"goog.uri.utils: Key/value lists must be even in length.");for(c=c||0;c<b.length;c+=2)igFI_.uri.utils.jf(b[c],b[c+1],a);return a};igFI_.uri.utils.buildQueryData=function(a,b){a=igFI_.uri.utils.cd([],a,b);a[0]="";return a.join("")};
igFI_.uri.utils.mf=function(a,b){for(var c in b)igFI_.uri.utils.jf(c,b[c],a);return a};igFI_.uri.utils.buildQueryDataFromMap=function(a){a=igFI_.uri.utils.mf([],a);a[0]="";return a.join("")};igFI_.uri.utils.appendParams=function(a){return igFI_.uri.utils.Zc(arguments.length==2?igFI_.uri.utils.cd([a],arguments[1],0):igFI_.uri.utils.cd([a],arguments,1))};igFI_.uri.utils.appendParamsFromMap=function(a,b){return igFI_.uri.utils.Zc(igFI_.uri.utils.mf([a],b))};
igFI_.uri.utils.appendParam=function(a,b,c){return igFI_.uri.utils.Zc([a,"&",b,"=",igFI_.string.urlEncode(c)])};igFI_.uri.utils.jc=function(a,b,c,d){b=b;for(var e=c.length;(b=a.indexOf(c,b))>=0&&b<d;){var f=a.charCodeAt(b-1);if(f==igFI_.uri.utils.rb.AMPERSAND||f==igFI_.uri.utils.rb.QUESTION){f=a.charCodeAt(b+e);if(!f||f==igFI_.uri.utils.rb.EQUAL||f==igFI_.uri.utils.rb.AMPERSAND||f==igFI_.uri.utils.rb.HASH)return b}b+=e+1}return-1};igFI_.uri.utils.Ac=/#|$/;
igFI_.uri.utils.hasParam=function(a,b){return igFI_.uri.utils.jc(a,0,b,a.search(igFI_.uri.utils.Ac))>=0};igFI_.uri.utils.getParamValue=function(a,b){var c=a.search(igFI_.uri.utils.Ac),d=igFI_.uri.utils.jc(a,0,b,c);if(d<0)return igFI_c;else{var e=a.indexOf("&",d);if(e<0||e>c)e=c;d+=b.length+1;return igFI_.string.urlDecode(a.substr(d,e-d))}};
igFI_.uri.utils.getParamValues=function(a,b){for(var c=a.search(igFI_.uri.utils.Ac),d=0,e,f=[];(e=igFI_.uri.utils.jc(a,d,b,c))>=0;){d=a.indexOf("&",e);if(d<0||d>c)d=c;e+=b.length+1;f.push(igFI_.string.urlDecode(a.substr(e,d-e)))}return f};igFI_.uri.utils.Ei=/[?&]($|#)/;
igFI_.uri.utils.removeParam=function(a,b){for(var c=a.search(igFI_.uri.utils.Ac),d=0,e,f=[];(e=igFI_.uri.utils.jc(a,d,b,c))>=0;){f.push(a.substring(d,e));d=Math.min(a.indexOf("&",e)+1||c,c)}f.push(a.substr(d));return f.join("").replace(igFI_.uri.utils.Ei,"$1")};igFI_.uri.utils.setParam=function(a,b,c){return igFI_.uri.utils.appendParam(igFI_.uri.utils.removeParam(a,b),b,c)};
igFI_.uri.utils.appendPath=function(a,b){igFI_.uri.utils.Qh(a);if(igFI_.string.endsWith(a,"/"))a=a.substr(0,a.length-1);if(igFI_.string.startsWith(b,"/"))b=b.substr(1);return igFI_.string.buildString(a,"/",b)};igFI_.uri.utils.StandardQueryParam={RANDOM:"zx"};igFI_.uri.utils.Hg=function(a){return igFI_.uri.utils.setParam(a,igFI_.uri.utils.StandardQueryParam.RANDOM,igFI_.string.getRandomString())};igFI_.Uri=function(a,b){var c;if(a instanceof igFI_.Uri){this.Ea(b==igFI_c?a.Zf():b);this.Tb(a.vc());this.Ub(a.wc());this.Nb(a.yb());this.Sb(a.Ab());this.Rb(a.jb());this.Sc(a.Sd().clone());this.Ob(a.nc())}else if(a&&(c=igFI_.uri.utils.split(String(a)))){this.Ea(!!b);this.Tb(c[igFI_.uri.utils.ComponentIndex.SCHEME]||"",igFI_b);this.Ub(c[igFI_.uri.utils.ComponentIndex.USER_INFO]||"",igFI_b);this.Nb(c[igFI_.uri.utils.ComponentIndex.DOMAIN]||"",igFI_b);this.Sb(c[igFI_.uri.utils.ComponentIndex.PORT]);
this.Rb(c[igFI_.uri.utils.ComponentIndex.PATH]||"",igFI_b);this.ue(c[igFI_.uri.utils.ComponentIndex.QUERY_DATA]||"",igFI_b);this.Ob(c[igFI_.uri.utils.ComponentIndex.FRAGMENT]||"",igFI_b)}else{this.Ea(!!b);this.J=new igFI_.Uri.QueryData(igFI_c,this,this.Y)}};igFI_.Uri.RANDOM_PARAM=igFI_.uri.utils.StandardQueryParam.RANDOM;igFI_.Uri.prototype.fa="";igFI_.Uri.prototype.Ya="";igFI_.Uri.prototype.La="";igFI_.Uri.prototype.Va=igFI_c;igFI_.Uri.prototype.Ua="";igFI_.Uri.prototype.Ma="";
igFI_.Uri.prototype.zg=igFI_d;igFI_.Uri.prototype.Y=igFI_d;
igFI_.Uri.prototype.toString=function(){if(this.R)return this.R;var a=[];this.fa&&a.push(igFI_.Uri.xb(this.fa,igFI_.Uri.gh),":");if(this.La){a.push("//");this.Ya&&a.push(igFI_.Uri.xb(this.Ya,igFI_.Uri.gh),"@");a.push(igFI_.Uri.ci(this.La));this.Va!=igFI_c&&a.push(":",String(this.Ab()))}this.Ua&&a.push(igFI_.Uri.xb(this.Ua,igFI_.Uri.zi));var b=String(this.J);b&&a.push("?",b);this.Ma&&a.push("#",igFI_.Uri.xb(this.Ma,igFI_.Uri.yi));return this.R=a.join("")};
igFI_.Uri.prototype.resolve=function(a){var b=this.clone(),c=a.mg();if(c)b.Tb(a.vc());else c=a.ng();if(c)b.Ub(a.wc());else c=a.Xd();if(c)b.Nb(a.yb());else c=a.kg();var d=a.jb();if(c)b.Sb(a.Ab());else if(c=a.Yd()){if(d.charAt(0)!="/")if(this.Xd()&&!this.Yd())d="/"+d;else{var e=b.jb().lastIndexOf("/");if(e!=-1)d=b.jb().substr(0,e+1)+d}d=igFI_.Uri.removeDotSegments(d)}if(c)b.Rb(d);else c=a.lg();if(c)b.ue(a.Qf());else c=a.jg();c&&b.Ob(a.nc());return b};
igFI_.Uri.prototype.clone=function(){return igFI_.Uri.create(this.fa,this.Ya,this.La,this.Va,this.Ua,this.J.clone(),this.Ma,this.Y)};igFI_.Uri.prototype.vc=function(){return this.fa};igFI_.Uri.prototype.Tb=function(a,b){this.T();delete this.R;if(this.fa=b?igFI_.Uri.bb(a):a)this.fa=this.fa.replace(/:$/,"");return this};igFI_.Uri.prototype.mg=function(){return!!this.fa};igFI_.Uri.prototype.wc=function(){return this.Ya};
igFI_.Uri.prototype.Ub=function(a,b){this.T();delete this.R;this.Ya=b?igFI_.Uri.bb(a):a;return this};igFI_.Uri.prototype.ng=function(){return!!this.Ya};igFI_.Uri.prototype.yb=function(){return this.La};igFI_.Uri.prototype.Nb=function(a,b){this.T();delete this.R;this.La=b?igFI_.Uri.bb(a):a;return this};igFI_.Uri.prototype.Xd=function(){return!!this.La};igFI_.Uri.prototype.Ab=function(){return this.Va};
igFI_.Uri.prototype.Sb=function(a){this.T();delete this.R;if(a){a=Number(a);if(isNaN(a)||a<0)igFI_a(Error("Bad port number "+a));this.Va=a}else this.Va=igFI_c;return this};igFI_.Uri.prototype.kg=function(){return this.Va!=igFI_c};igFI_.Uri.prototype.jb=function(){return this.Ua};igFI_.Uri.prototype.Rb=function(a,b){this.T();delete this.R;this.Ua=b?igFI_.Uri.bb(a):a;return this};igFI_.Uri.prototype.Yd=function(){return!!this.Ua};igFI_.Uri.prototype.lg=function(){return this.J.toString()!==""};
igFI_.Uri.prototype.Sc=function(a,b){this.T();delete this.R;if(a instanceof igFI_.Uri.QueryData){this.J=a;this.J.u=this;this.J.Ea(this.Y)}else{b||(a=igFI_.Uri.xb(a,igFI_.Uri.Ai));this.J=new igFI_.Uri.QueryData(a,this,this.Y)}return this};igFI_.Uri.prototype.ue=function(a,b){return this.Sc(a,b)};igFI_.Uri.prototype.Qf=function(){return this.J.zh()};igFI_.Uri.prototype.Sd=function(){return this.J};igFI_.Uri.prototype.L=function(a,b){this.T();delete this.R;this.J.set(a,b);return this};
igFI_.Uri.prototype.ib=function(a){return this.J.get(a)};igFI_.Uri.prototype.nc=function(){return this.Ma};igFI_.Uri.prototype.Ob=function(a,b){this.T();delete this.R;this.Ma=b?igFI_.Uri.bb(a):a;return this};igFI_.Uri.prototype.jg=function(){return!!this.Ma};igFI_.Uri.prototype.Hg=function(){this.T();this.L(igFI_.Uri.RANDOM_PARAM,igFI_.string.getRandomString());return this};igFI_.Uri.prototype.removeParameter=function(a){this.T();this.J.remove(a);return this};igFI_.Uri.prototype.T=function(){if(this.zg)igFI_a(Error("Tried to modify a read-only Uri"))};
igFI_.Uri.prototype.Ea=function(a){this.Y=a;this.J&&this.J.Ea(a)};igFI_.Uri.prototype.Zf=function(){return this.Y};igFI_.Uri.parse=function(a,b){return a instanceof igFI_.Uri?a.clone():new igFI_.Uri(a,b)};igFI_.Uri.create=function(a,b,c,d,e,f,g,j){j=new igFI_.Uri(igFI_c,j);a&&j.Tb(a);b&&j.Ub(b);c&&j.Nb(c);d&&j.Sb(d);e&&j.Rb(e);f&&j.Sc(f);g&&j.Ob(g);return j};igFI_.Uri.resolve=function(a,b){a instanceof igFI_.Uri||(a=igFI_.Uri.parse(a));b instanceof igFI_.Uri||(b=igFI_.Uri.parse(b));return a.resolve(b)};
igFI_.Uri.removeDotSegments=function(a){if(a==".."||a==".")return"";else if(!igFI_.string.contains(a,"./")&&!igFI_.string.contains(a,"/."))return a;else{var b=igFI_.string.startsWith(a,"/");a=a.split("/");for(var c=[],d=0;d<a.length;){var e=a[d++];if(e==".")b&&d==a.length&&c.push("");else if(e==".."){if(c.length>1||c.length==1&&c[0]!="")c.pop();b&&d==a.length&&c.push("")}else{c.push(e);b=igFI_b}}return c.join("/")}};igFI_.Uri.bb=function(a){return a?decodeURIComponent(a):""};
igFI_.Uri.ci=function(a){if(igFI_.isString(a))return encodeURIComponent(a);return igFI_c};igFI_.Uri.bi=/^[a-zA-Z0-9\-_.!~*'():\/;?]*$/;igFI_.Uri.xb=function(a,b){var c=igFI_c;if(igFI_.isString(a)){c=a;igFI_.Uri.bi.test(c)||(c=encodeURI(a));if(c.search(b)>=0)c=c.replace(b,igFI_.Uri.ai)}return c};igFI_.Uri.ai=function(a){a=a.charCodeAt(0);return"%"+(a>>4&15).toString(16)+(a&15).toString(16)};igFI_.Uri.gh=/[#\/\?@]/g;igFI_.Uri.zi=/[\#\?]/g;igFI_.Uri.Ai=/[\#\?@]/g;igFI_.Uri.yi=/#/g;
igFI_.Uri.haveSameDomain=function(a,b){a=igFI_.uri.utils.split(a);b=igFI_.uri.utils.split(b);return a[igFI_.uri.utils.ComponentIndex.DOMAIN]==b[igFI_.uri.utils.ComponentIndex.DOMAIN]&&a[igFI_.uri.utils.ComponentIndex.PORT]==b[igFI_.uri.utils.ComponentIndex.PORT]};igFI_.Uri.QueryData=function(a,b,c){this.ka=a||igFI_c;this.u=b||igFI_c;this.Y=!!c};
igFI_.Uri.QueryData.prototype.V=function(){if(!this.i){this.i=new igFI_.structs.Map;if(this.ka)for(var a=this.ka.split("&"),b=0;b<a.length;b++){var c=a[b].indexOf("="),d=igFI_c,e=igFI_c;if(c>=0){d=a[b].substring(0,c);e=a[b].substring(c+1)}else d=a[b];d=igFI_.string.urlDecode(d);d=this.Aa(d);this.add(d,e?igFI_.string.urlDecode(e):"")}}};
igFI_.Uri.QueryData.createFromMap=function(a,b,c){var d=igFI_.structs.s(a);if(typeof d=="undefined")igFI_a(Error("Keys are undefined"));return igFI_.Uri.QueryData.createFromKeysValues(d,igFI_.structs.q(a),b,c)};igFI_.Uri.QueryData.createFromKeysValues=function(a,b,c,d){if(a.length!=b.length)igFI_a(Error("Mismatched lengths for keys/values"));c=new igFI_.Uri.QueryData(igFI_c,c,d);for(d=0;d<a.length;d++)c.add(a[d],b[d]);return c};igFI_.Uri.QueryData.prototype.i=igFI_c;
igFI_.Uri.QueryData.prototype.g=igFI_c;igFI_.Uri.QueryData.Ja=igFI_c;igFI_.Uri.QueryData.prototype.ca=function(){this.V();return this.g};igFI_.Uri.QueryData.prototype.add=function(a,b){this.V();this.kb();a=this.Aa(a);if(this.aa(a)){var c=this.i.get(a);igFI_.isArray(c)?c.push(b):this.i.set(a,[c,b])}else this.i.set(a,b);this.g++;return this};
igFI_.Uri.QueryData.prototype.remove=function(a){this.V();a=this.Aa(a);if(this.i.aa(a)){this.kb();var b=this.i.get(a);if(igFI_.isArray(b))this.g-=b.length;else this.g--;return this.i.remove(a)}return igFI_d};igFI_.Uri.QueryData.prototype.clear=function(){this.kb();this.i&&this.i.clear();this.g=0};igFI_.Uri.QueryData.prototype.C=function(){this.V();return this.g==0};igFI_.Uri.QueryData.prototype.aa=function(a){this.V();a=this.Aa(a);return this.i.aa(a)};
igFI_.Uri.QueryData.prototype.ya=function(a){var b=this.q();return igFI_.array.contains(b,a)};igFI_.Uri.QueryData.prototype.s=function(){this.V();for(var a=this.i.q(),b=this.i.s(),c=[],d=0;d<b.length;d++){var e=a[d];if(igFI_.isArray(e))for(var f=0;f<e.length;f++)c.push(b[d]);else c.push(b[d])}return c};
igFI_.Uri.QueryData.prototype.q=function(a){this.V();if(a){a=this.Aa(a);if(this.aa(a)){var b=this.i.get(a);if(igFI_.isArray(b))return b;else{a=[];a.push(b)}}else a=[]}else{b=this.i.q();a=[];for(var c=0;c<b.length;c++){var d=b[c];igFI_.isArray(d)?igFI_.array.extend(a,d):a.push(d)}}return a};igFI_.Uri.QueryData.prototype.set=function(a,b){this.V();this.kb();a=this.Aa(a);if(this.aa(a)){var c=this.i.get(a);if(igFI_.isArray(c))this.g-=c.length;else this.g--}this.i.set(a,b);this.g++;return this};
igFI_.Uri.QueryData.prototype.get=function(a,b){this.V();a=this.Aa(a);if(this.aa(a)){a=this.i.get(a);return igFI_.isArray(a)?a[0]:a}else return b};
igFI_.Uri.QueryData.prototype.toString=function(){if(this.ka)return this.ka;if(!this.i)return"";for(var a=[],b=0,c=this.i.s(),d=0;d<c.length;d++){var e=c[d],f=igFI_.string.urlEncode(e);e=this.i.get(e);if(igFI_.isArray(e))for(var g=0;g<e.length;g++){b>0&&a.push("&");a.push(f,"=",igFI_.string.urlEncode(e[g]));b++}else{b>0&&a.push("&");a.push(f,"=",igFI_.string.urlEncode(e));b++}}return this.ka=a.join("")};
igFI_.Uri.QueryData.prototype.zh=function(){if(!this.Ja)this.Ja=igFI_.Uri.bb(this.toString());return this.Ja};igFI_.Uri.QueryData.prototype.kb=function(){delete this.Ja;delete this.ka;this.u&&delete this.u.R};igFI_.Uri.QueryData.prototype.clone=function(){var a=new igFI_.Uri.QueryData;if(this.Ja)a.Ja=this.Ja;if(this.ka)a.ka=this.ka;if(this.i)a.i=this.i.clone();return a};igFI_.Uri.QueryData.prototype.Aa=function(a){a=String(a);if(this.Y)a=a.toLowerCase();return a};
igFI_.Uri.QueryData.prototype.Ea=function(a){var b=a&&!this.Y;if(b){this.V();this.kb();igFI_.structs.forEach(this.i,function(c,d){var e=d.toLowerCase();if(d!=e){this.remove(d);this.add(e,c)}},this)}this.Y=a};igFI_.Uri.QueryData.prototype.extend=function(){for(var a=0;a<arguments.length;a++){var b=arguments[a];igFI_.structs.forEach(b,function(c,d){this.add(d,c)},this)}};igFI_.events.EventHandler=function(a){this.Db=a};igFI_.inherits(igFI_.events.EventHandler,igFI_.Disposable);igFI_.events.EventHandler.KEY_POOL_INITIAL_COUNT=0;igFI_.events.EventHandler.KEY_POOL_MAX_COUNT=100;igFI_.events.EventHandler.Dg=new igFI_.structs.SimplePool(igFI_.events.EventHandler.KEY_POOL_INITIAL_COUNT,igFI_.events.EventHandler.KEY_POOL_MAX_COUNT);igFI_.events.EventHandler.d=igFI_c;igFI_.events.EventHandler.sa=igFI_c;
igFI_.events.EventHandler.prototype.listen=function(a,b,c,d,e){if(igFI_.isArray(b))for(var f=0;f<b.length;f++)this.listen(a,b[f],c,d,e);else{a=igFI_.events.listen(a,b,c||this,d||igFI_d,e||this.Db||this);this.oe(a)}return this};igFI_.events.EventHandler.prototype.Jb=function(a,b,c,d,e){if(igFI_.isArray(b))for(var f=0;f<b.length;f++)this.Jb(a,b[f],c,d,e);else{a=igFI_.events.Jb(a,b,c||this,d||igFI_d,e||this.Db||this);this.oe(a)}return this};
igFI_.events.EventHandler.prototype.Fg=function(a,b,c,d,e){b.listen(a,c,d,e||this.Db,this);return this};igFI_.events.EventHandler.prototype.oe=function(a){if(this.d)this.d[a]=igFI_b;else if(this.sa){this.d=igFI_.events.EventHandler.Dg.X();this.d[this.sa]=igFI_b;this.sa=igFI_c;this.d[a]=igFI_b}else this.sa=a};
igFI_.events.EventHandler.prototype.unlisten=function(a,b,c,d,e){if(this.sa||this.d)if(igFI_.isArray(b))for(var f=0;f<b.length;f++)this.unlisten(a,b[f],c,d,e);else if(a=igFI_.events.getListener(a,b,c||this,d||igFI_d,e||this.Db||this)){a=a.key;igFI_.events.unlistenByKey(a);if(this.d)igFI_.object.remove(this.d,a);else if(this.sa==a)this.sa=igFI_c}return this};igFI_.events.EventHandler.prototype.Bh=function(a,b,c,d,e){b.unlisten(a,c,d,e||this.Db,this);return this};
igFI_.events.EventHandler.prototype.Da=function(){if(this.d){for(var a in this.d){igFI_.events.unlistenByKey(a);delete this.d[a]}igFI_.events.EventHandler.Dg.Z(this.d);this.d=igFI_c}else this.sa&&igFI_.events.unlistenByKey(this.sa)};igFI_.events.EventHandler.prototype.b=function(){igFI_.events.EventHandler.j.b.call(this);this.Da()};igFI_.events.EventHandler.prototype.handleEvent=function(){igFI_a(Error("EventHandler.handleEvent not implemented"))};igFI_.ui={};igFI_.ui.IdGenerator=function(){};igFI_.addSingletonGetter(igFI_.ui.IdGenerator);igFI_.ui.IdGenerator.prototype.Rg=0;igFI_.ui.IdGenerator.prototype.$f=function(){return":"+(this.Rg++).toString(36)};igFI_.ui.IdGenerator.instance=igFI_.ui.IdGenerator.getInstance();igFI_.ui.Component=function(a){this.eb=a||igFI_.dom.r();this.Mb=igFI_.ui.Component.Cf};igFI_.inherits(igFI_.ui.Component,igFI_.events.EventTarget);igFI_.ui.Component.prototype.qg=igFI_.ui.IdGenerator.getInstance();igFI_.ui.Component.Cf=igFI_c;
igFI_.ui.Component.EventType={BEFORE_SHOW:"beforeshow",SHOW:"show",HIDE:"hide",DISABLE:"disable",ENABLE:"enable",HIGHLIGHT:"highlight",UNHIGHLIGHT:"unhighlight",ACTIVATE:"activate",DEACTIVATE:"deactivate",SELECT:"select",UNSELECT:"unselect",CHECK:"check",UNCHECK:"uncheck",FOCUS:"focus",BLUR:"blur",OPEN:"open",CLOSE:"close",ENTER:"enter",LEAVE:"leave",ACTION:"action",CHANGE:"change"};
igFI_.ui.Component.Error={NOT_SUPPORTED:"Method not supported",DECORATE_INVALID:"Invalid element to decorate",ALREADY_RENDERED:"Component already rendered",PARENT_UNABLE_TO_BE_SET:"Unable to set parent component",CHILD_INDEX_OUT_OF_BOUNDS:"Child component index out of bounds",NOT_OUR_CHILD:"Child is not in parent component",NOT_IN_DOCUMENT:"Operation not supported while component is not in document",STATE_INVALID:"Invalid component state"};
igFI_.ui.Component.State={ALL:255,DISABLED:1,HOVER:2,ACTIVE:4,SELECTED:8,CHECKED:16,FOCUSED:32,OPENED:64};
igFI_.ui.Component.getStateTransitionEvent=function(a,b){switch(a){case igFI_.ui.Component.State.DISABLED:return b?igFI_.ui.Component.EventType.DISABLE:igFI_.ui.Component.EventType.ENABLE;case igFI_.ui.Component.State.HOVER:return b?igFI_.ui.Component.EventType.HIGHLIGHT:igFI_.ui.Component.EventType.UNHIGHLIGHT;case igFI_.ui.Component.State.ACTIVE:return b?igFI_.ui.Component.EventType.ACTIVATE:igFI_.ui.Component.EventType.DEACTIVATE;case igFI_.ui.Component.State.SELECTED:return b?igFI_.ui.Component.EventType.SELECT:
igFI_.ui.Component.EventType.UNSELECT;case igFI_.ui.Component.State.CHECKED:return b?igFI_.ui.Component.EventType.CHECK:igFI_.ui.Component.EventType.UNCHECK;case igFI_.ui.Component.State.FOCUSED:return b?igFI_.ui.Component.EventType.FOCUS:igFI_.ui.Component.EventType.BLUR;case igFI_.ui.Component.State.OPENED:return b?igFI_.ui.Component.EventType.OPEN:igFI_.ui.Component.EventType.CLOSE;default:}igFI_a(Error(igFI_.ui.Component.Error.STATE_INVALID))};
igFI_.ui.Component.setDefaultRightToLeft=function(a){igFI_.ui.Component.Cf=a};igFI_.ui.Component.prototype.Eb=igFI_c;igFI_.ui.Component.prototype.eb=igFI_c;igFI_.ui.Component.prototype.Sa=igFI_d;igFI_.ui.Component.prototype.f=igFI_c;igFI_.ui.Component.prototype.Mb=igFI_c;igFI_.ui.Component.prototype.Ng=igFI_c;igFI_.ui.Component.prototype.K=igFI_c;igFI_.ui.Component.prototype.ia=igFI_c;igFI_.ui.Component.prototype.ub=igFI_c;igFI_.ui.Component.prototype.Eh=igFI_d;
igFI_.ui.Component.prototype.Yf=function(){return this.Eb||(this.Eb=this.qg.$f())};igFI_.ui.Component.prototype.pa=function(){return this.f};igFI_.ui.Component.prototype.ph=function(a){this.f=a};igFI_.ui.Component.prototype.Pb=function(a){if(this==a)igFI_a(Error(igFI_.ui.Component.Error.PARENT_UNABLE_TO_BE_SET));if(a&&this.K&&this.Eb&&this.K.Bd(this.Eb)&&this.K!=a)igFI_a(Error(igFI_.ui.Component.Error.PARENT_UNABLE_TO_BE_SET));this.K=a;igFI_.ui.Component.j.Qb.call(this,a)};
igFI_.ui.Component.prototype.Qb=function(a){if(this.K&&this.K!=a)igFI_a(Error(igFI_.ui.Component.Error.NOT_SUPPORTED));igFI_.ui.Component.j.Qb.call(this,a)};igFI_.ui.Component.prototype.r=function(){return this.eb};igFI_.ui.Component.prototype.Cc=function(){return this.Sa};igFI_.ui.Component.prototype.o=function(){this.f=this.eb.createElement("div")};igFI_.ui.Component.prototype.render=function(a){this.mh(a)};
igFI_.ui.Component.prototype.mh=function(a,b){if(this.Sa)igFI_a(Error(igFI_.ui.Component.Error.ALREADY_RENDERED));this.f||this.o();a?a.insertBefore(this.f,b||igFI_c):this.eb.W().body.appendChild(this.f);if(!this.K||this.K.Cc())this.ud()};igFI_.ui.Component.prototype.ud=function(){this.Sa=igFI_b;this.kc(function(a){!a.Cc()&&a.pa()&&a.ud()})};igFI_.ui.Component.prototype.ic=function(){this.kc(function(a){a.Cc()&&a.ic()});this.yc&&this.yc.Da();this.Sa=igFI_d};
igFI_.ui.Component.prototype.b=function(){igFI_.ui.Component.j.b.call(this);this.Sa&&this.ic();if(this.yc){this.yc.dispose();delete this.yc}this.kc(function(a){a.dispose()});!this.Eh&&this.f&&igFI_.dom.removeNode(this.f);this.K=this.Ng=this.f=this.ub=this.ia=igFI_c};igFI_.ui.Component.prototype.Ec=function(){if(this.Mb==igFI_c)this.Mb=igFI_.style.Ec(this.Sa?this.f:this.eb.W().body);return this.Mb};igFI_.ui.Component.prototype.ig=function(){return!!this.ia&&this.ia.length!=0};
igFI_.ui.Component.prototype.Bd=function(a){return this.ub&&a?igFI_.object.get(this.ub,a)||igFI_c:igFI_c};igFI_.ui.Component.prototype.Nf=function(a){return this.ia?this.ia[a]||igFI_c:igFI_c};igFI_.ui.Component.prototype.kc=function(a,b){this.ia&&igFI_.array.forEach(this.ia,a,b)};
igFI_.ui.Component.prototype.removeChild=function(a,b){if(a){var c=igFI_.isString(a)?a:a.Yf();a=this.Bd(c);if(c&&a){igFI_.object.remove(this.ub,c);igFI_.array.remove(this.ia,a);if(b){a.ic();a.f&&igFI_.dom.removeNode(a.f)}a.Pb(igFI_c)}}if(!a)igFI_a(Error(igFI_.ui.Component.Error.NOT_OUR_CHILD));return a};igFI_.ui.Component.prototype.ih=function(a,b){return this.removeChild(this.Nf(a),b)};igFI_.ui.Component.prototype.ob=function(a){for(;this.ig();)this.ih(0,a)};igFI_.ui.ServerChart=function(a,b,c,d,e){igFI_.ui.Component.call(this,d);this.u=new igFI_.Uri(e||igFI_.ui.ServerChart.CHART_SERVER_URI);this.sd=igFI_.ui.ServerChart.EncodingType.AUTOMATIC;this.Ia=[];this.se=[];this.Qc=[];this.Se=[];this.ki=[];this.pe=[];this.si=[];this.qi={};this.oi={};this.ri={};this.pi={};this.sh(a);this.we(b,c);this.Jc=this.yg()?0:Infinity};igFI_.inherits(igFI_.ui.ServerChart,igFI_.ui.Component);igFI_.ui.ServerChart.CHART_SERVER_URI="http://chart.apis.google.com/chart";
igFI_.ui.ServerChart.CHART_SERVER_HTTPS_URI="https://www.google.com/chart";igFI_.ui.ServerChart.DEFAULT_NORMALIZATION=0.5;igFI_.ui.ServerChart.prototype.Ch=2048;igFI_.ui.ServerChart.prototype.fg=0;igFI_.ui.ServerChart.prototype.gg=0;igFI_.ui.ServerChart.prototype.Kb=-Infinity;igFI_.ui.ServerChart.prototype.xh=igFI_c;igFI_.ui.ServerChart.prototype.Eg=igFI_c;igFI_.ui.ServerChart.prototype.ke=igFI_c;
igFI_.ui.ServerChart.prototype.o=function(){var a=this.qa();this.ph(this.r().o("img",{src:this.Vd(),"class":"goog-serverchart-image",width:a[0],height:a[1]}))};igFI_.ui.ServerChart.prototype.Vd=function(){this.sf();return this.u};igFI_.ui.ServerChart.EncodingType={AUTOMATIC:"",EXTENDED:"e",SIMPLE:"s",TEXT:"t"};
igFI_.ui.ServerChart.ChartType={BAR:"br",CLOCK:"cf",CONCENTRIC_PIE:"pc",FILLEDLINE:"lr",FINANCE:"lfi",GOOGLEOMETER:"gom",HORIZONTAL_GROUPED_BAR:"bhg",HORIZONTAL_STACKED_BAR:"bhs",LINE:"lc",MAP:"t",MAPUSA:"tuss",MAPWORLD:"twoc",PIE:"p",PIE3D:"p3",RADAR:"rs",SCATTER:"s",SPARKLINE:"ls",VENN:"v",VERTICAL_GROUPED_BAR:"bvg",VERTICAL_STACKED_BAR:"bvs",XYLINE:"lxy"};igFI_.ui.ServerChart.MultiAxisType={X_AXIS:"x",LEFT_Y_AXIS:"y",RIGHT_Y_AXIS:"r",TOP_AXIS:"t"};
igFI_.ui.ServerChart.MultiAxisAlignment={ALIGN_LEFT:-1,ALIGN_CENTER:0,ALIGN_RIGHT:1};igFI_.ui.ServerChart.LegendPosition={TOP:"t",BOTTOM:"b",LEFT:"l",RIGHT:"r"};igFI_.ui.ServerChart.AxisDisplayType={LINE_AND_TICKS:"lt",LINE:"l",TICKS:"t"};igFI_.ui.ServerChart.MaximumValue={WIDTH:1E3,HEIGHT:1E3,MAP_WIDTH:440,MAP_HEIGHT:220,TOTAL_AREA:3E5};
igFI_.ui.ServerChart.UriParam={TYPE:"cht",SIZE:"chs",DATA:"chd",X_LABELS:"chl",LEFT_Y_LABELS:"chly",DATA_LABELS:"chld",RIGHT_LABELS:"chlr",RIGHT_LABEL_POSITIONS:"chlrp",MISC_PARAMS:"chp",DATA_COLORS:"chco",DATA_SCALING:"chds",LEGEND_TEXTS:"chdl",LEGEND_POSITION:"chdlp",LABEL_COLORS:"chlc",BAR_HEIGHT:"chbh",LINE_STYLES:"chls",GRID:"chg",X_AXIS_STYLE:"chx",MARKERS:"chm",BACKGROUND_FILL:"chf",DIGITAL_SIGNATURE:"sig",TITLE:"chtt",TITLE_FORMAT:"chts",LEGEND:"chdl",MULTI_AXIS_TYPES:"chxt",MULTI_AXIS_LABEL_TEXT:"chxl",
MULTI_AXIS_LABEL_POSITION:"chxp",MULTI_AXIS_RANGE:"chxr",MULTI_AXIS_STYLE:"chxs",GEOGRAPHICAL_REGION:"chtm"};igFI_.ui.ServerChart.prototype.sh=function(a){this.u.L(igFI_.ui.ServerChart.UriParam.TYPE,a)};igFI_.ui.ServerChart.prototype.Ud=function(){return this.u.ib(igFI_.ui.ServerChart.UriParam.TYPE)};igFI_.ui.ServerChart.prototype.we=function(a,b){a=[a||300,b||150].join("x");this.u.L(igFI_.ui.ServerChart.UriParam.SIZE,a)};
igFI_.ui.ServerChart.prototype.qa=function(){var a=this.u.ib(igFI_.ui.ServerChart.UriParam.SIZE);return a.split("x")};igFI_.ui.ServerChart.prototype.th=function(a){this.Se=a;this.u.L(igFI_.ui.ServerChart.UriParam.X_LABELS,this.Se.join("|"))};igFI_.ui.ServerChart.prototype.yg=function(){var a=this.Ud();return a==igFI_.ui.ServerChart.ChartType.PIE||a==igFI_.ui.ServerChart.ChartType.PIE3D||a==igFI_.ui.ServerChart.ChartType.CONCENTRIC_PIE};
igFI_.ui.ServerChart.prototype.isMap=function(){var a=this.Ud();return a==igFI_.ui.ServerChart.ChartType.MAP||a==igFI_.ui.ServerChart.ChartType.MAPUSA||a==igFI_.ui.ServerChart.ChartType.MAPWORLD};igFI_.ui.ServerChart.prototype.L=function(a,b){this.u.L(a,b)};igFI_.ui.ServerChart.prototype.removeParameter=function(a){this.u.removeParameter(a)};igFI_.ui.ServerChart.prototype.qh=function(a){this.pe=a;this.u.L(igFI_.ui.ServerChart.UriParam.RIGHT_LABELS,this.pe.reverse().join("|"))};
igFI_.ui.ServerChart.prototype.df=function(a,b,c){var d=this.lf(a);if(d<this.Jc)this.Jc=d;d=this.kf(a);if(d>this.Kb)this.Kb=d;if(igFI_.isDef(c)){if(this.Qc.length<this.Ia.length)igFI_a(Error("Cannot start adding legends text after first element."));this.Qc.push(c);this.u.L(igFI_.ui.ServerChart.UriParam.LEGEND_TEXTS,this.Qc.join("|"))}this.Ia.push(a);this.se.push(b);this.u.L(igFI_.ui.ServerChart.UriParam.DATA_COLORS,this.se.join(","))};
igFI_.ui.ServerChart.prototype.getData=function(a){if(igFI_.isDef(a))return this.Ia[a];return this.Ia};igFI_.ui.ServerChart.prototype.sf=function(){var a;if(this.sd!=igFI_.ui.ServerChart.EncodingType.AUTOMATIC)a=this.ac(this.sd);else(a=this.ac(igFI_.ui.ServerChart.EncodingType.EXTENDED))||(a=this.ac(igFI_.ui.ServerChart.EncodingType.SIMPLE));a||this.dispatchEvent(new igFI_.ui.ServerChart.UriTooLongEvent(this.u.toString()))};
igFI_.ui.ServerChart.prototype.ac=function(a){for(var b=[],c=0,d=this.Ia.length;c<d;++c)b[c]=this.Mf(this.Ia[c],this.Jc,this.Kb,a);c=a==igFI_.ui.ServerChart.EncodingType.TEXT?"|":",";b=b.join(c);a=this.ke==igFI_c?igFI_.string.buildString(a,":",b):igFI_.string.buildString(a,this.ke,":",b);this.u.L(igFI_.ui.ServerChart.UriParam.DATA,a);return this.u.toString().length<this.Ch};igFI_.ui.ServerChart.CHART_VALUES="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
igFI_.ui.ServerChart.CHART_VALUES_EXTENDED=igFI_.ui.ServerChart.CHART_VALUES+"-.";igFI_.ui.ServerChart.EXTENDED_UPPER_BOUND=Math.pow(igFI_.ui.ServerChart.CHART_VALUES_EXTENDED.length,2)-1;
igFI_.ui.ServerChart.prototype.Pf=function(a,b,c,d){if(b>c)igFI_a(Error("minValue is greater than maxValue"));var e=d==igFI_.ui.ServerChart.EncodingType.EXTENDED;if(!igFI_.isDefAndNotNull(a)||isNaN(a))return e?"__":"_";if(d==igFI_.ui.ServerChart.EncodingType.TEXT)return String(a);d=igFI_.ui.ServerChart.DEFAULT_NORMALIZATION;if(c>b)d=(a-b)/(c-b);if(e){b=igFI_.ui.ServerChart.CHART_VALUES_EXTENDED.length;c=igFI_.ui.ServerChart.EXTENDED_UPPER_BOUND;a=Math.floor(d*c/b);d=Math.floor(d*c%b);b=igFI_.ui.ServerChart.CHART_VALUES_EXTENDED;
return b.charAt(a)+b.charAt(d)}d=Math.round(d*(igFI_.ui.ServerChart.CHART_VALUES.length-1));return igFI_.ui.ServerChart.CHART_VALUES.charAt(d)};igFI_.ui.ServerChart.prototype.Mf=function(a,b,c,d){for(var e=[],f=0,g=a.length;f<g;++f)e.push(this.Pf(a[f],b,c,d));return e.join(this.sd==igFI_.ui.ServerChart.EncodingType.TEXT?",":"")};igFI_.ui.ServerChart.prototype.lf=function(a){for(var b=Infinity,c=0,d=a.length;c<d;++c){var e=a[c];if(e!=igFI_c&&e<b)b=e}return b};
igFI_.ui.ServerChart.prototype.kf=function(a){for(var b=-Infinity,c=0,d=a.length;c<d;++c){var e=a[c];if(e!=igFI_c&&e>b)b=e}return b};igFI_.ui.ServerChart.prototype.b=function(){igFI_.ui.ServerChart.j.b.call(this);delete this.Se;delete this.ki;delete this.pe;delete this.fg;delete this.gg;delete this.se;delete this.Qc;delete this.Ia;this.u=igFI_c;delete this.Jc;delete this.Kb;this.xh=igFI_c;delete this.si;delete this.qi;delete this.oi;delete this.ri;delete this.pi;this.Eg=igFI_c};
igFI_.ui.ServerChart.Event={URI_TOO_LONG:"uritoolong"};igFI_.ui.ServerChart.UriTooLongEvent=function(a){igFI_.events.Event.call(this,igFI_.ui.ServerChart.Event.URI_TOO_LONG);this.uri=a};igFI_.inherits(igFI_.ui.ServerChart.UriTooLongEvent,igFI_.events.Event);igFI_.finance={};igFI_.finance.util={};igFI_.exportSymbol("google.finance.util",igFI_.finance.util);igFI_.finance.util.MSG_NOJSON="Invalid request";igFI_.finance.util.MSG_NOCONTENT="No matches found";igFI_.finance.util.MSG_LINKTIP="Tip: You can click on a row to synchronize gadgets";igFI_.finance.util.MSG_TURN_SYNC_OFF_TIP="Turn gadget syncing off";igFI_.finance.util.MSG_TURN_SYNC_ON_TIP="Turn gadget syncing on";igFI_.finance.util.MSG_SYNC="Sync";igFI_.finance.util.MSG_SYNC_ON="On";
igFI_.finance.util.MSG_SYNC_OFF="Off";igFI_.finance.util.renderChart=function(a,b,c,d,e,f,g,j){if(b=new igFI_.ui.ServerChart(igFI_.ui.ServerChart.ChartType.LINE,b,c)){b.df(d,"0066dd");b.th([e]);b.qh([g,j]);b.render(a);return b.Vd()}};igFI_.finance.util.startPubSubVisual=function(a,b){if(b){a=[118,164,251];var c=[255,255,255],d=2E3;b=new igFI_.fx.dom.BgColorTransform(b,a,c,d);b.play()}};
igFI_.finance.util.parseJSON=function(a){if(a==igFI_c)return igFI_c;var b=a.indexOf("// [");if(b==-1)return a;return a.substring(b+3)};igFI_.finance.util.evalJSON=function(a){try{return eval(a)}catch(b){}return igFI_c};igFI_.finance.util.isValidSymbol=function(a){return a&&a.length>0&&a.match(/^[A-Za-z0-9\:\.\/]+$/)==a};igFI_.finance.util.makeFullTicker=function(a,b){var c="";if(a&&a.length)c=b&&b.length?a+":"+b:a;else if(b&&b.length)c=b;return c};igFI_.finance.util.getCompanyTruncateLength=function(){return 20};
igFI_.finance.util.loadDefaultSymbol=function(a,b){if(!a)return igFI_.finance.util.getDefaultSymbol();if(!b)return igFI_.finance.util.getDefaultSymbol();a=new _IG_Prefs(a);b=a.getString(b);if(!b)return igFI_.finance.util.getDefaultSymbol();return b};igFI_.finance.util.saveDefaultSymbol=function(a,b,c){if(c)if(c.length){a=new _IG_Prefs(a);a.set(b,c)}};igFI_.finance.util.getDefaultSymbol=function(){return"GOOG"};
igFI_.finance.util.makeURL=function(a,b,c,d){if(!d||!a)return[igFI_e.global.google.finance.getApiHost(),b,"?client=ig&",c].join("");else{(a=igFI_e.global.google.finance.modules[a])||(a={token:"",synd:"",locked_domain:""});a=["&client=ig&token=",a.token,"&synd=",a.synd,"&msh=",a.locked_domain].join("");b=new igFI_.Uri([igFI_e.global.google.finance.getApiHost(),b,"?",c,a].join(""));c=b.ib("auto");if(!c){c=b.ib("q");igFI_e.global.google.finance.isNewRequest(c)||b.L("auto","1")}return b.toString()}};
igFI_.finance.util.doRequest=function(a,b,c,d,e,f,g){f||(f="en");g||(g="us");b=igFI_.finance.util.makeURL(a,b,[c,"&hl=",f,"&gl=",g].join(""),d);_IG_FetchContent(b,function(j){j=igFI_e.finance.util.parseJSON(j);j=igFI_e.finance.util.evalJSON(j);e(j)})};igFI_.finance.util.getRefreshInterval=function(){return 60};igFI_.finance.util.truncateString=function(a,b){if(a.length>b)a=a.substring(0,b)+"...";return a};
igFI_.finance.util.parseFloat=function(a){if(a==igFI_c)return a;if(typeof a=="string"){a=a.replace(/,/g,"");a=a.replace(/\+/g,"")}return parseFloat(a)};igFI_.finance.util.getChangeClass=function(a){var b="financelib_unchanged";a=igFI_.finance.util.parseFloat(a);if(a>0)b="financelib_up";else if(a<0)b="financelib_down";return b};igFI_.finance.util.getHideZippyImgTag=function(){return'<img src="http://www.google.com/finance/images/triangle.gif">'};igFI_.finance.util.getShowZippyImgTag=function(){return'<img src="http://www.google.com/finance/images/open_triangle.gif">'};
igFI_.finance.util.getWaitingImgTag=function(){return'&nbsp;&nbsp;<img src="/ig/modules/finance/spin_16.gif">'};igFI_.finance.util.getLinkOnImgTag=function(){return'<img src="/ig/modules/finance/sync_rowon.gif">'};igFI_.finance.util.getLinkOffImgTag=function(){return'<img src="/ig/modules/finance/sync_rowoff.gif">'};igFI_.finance.util.getLinkOnImgSrc=function(){return"/ig/modules/finance/sync_rowon.gif"};igFI_.finance.util.getLinkOffImgSrc=function(){return"/ig/modules/finance/sync_rowoff.gif"};
igFI_.finance.util.getLinkRowOnImgTag=function(){return'<img src="/ig/modules/finance/sync_rowon.gif">'};igFI_.finance.util.getLinkRowOffImgTag=function(){return'<img src="/ig/modules/finance/sync_rowoff.gif">'};igFI_.finance.util.getLinkRowOnImgSrc=function(){return"/ig/modules/finance/sync_rowon.gif"};igFI_.finance.util.getLinkRowOffImgSrc=function(){return"/ig/modules/finance/sync_rowoff.gif"};
igFI_.finance.util.getLinkTip=function(){return['<span class="financelib_disc">',igFI_.finance.util.MSG_LINKTIP,igFI_.finance.util.getLinkRowOffImgTag(),"</span>"].join("")};igFI_.finance.util.getCompanyURL=function(a,b){var c="";if(a&&a.length)c=b&&b.length?a+":"+b:a;else if(b&&b.length)c=b;return igFI_.finance.util.makeURL(igFI_c,"/finance","q="+c,igFI_d)};igFI_.finance.util.getCategoryURL=function(a){return igFI_.finance.util.makeURL(igFI_c,"/finance","catid="+a,igFI_d)};
igFI_.finance.util.getJSONField=function(a,b){return a&&a[b]?a[b]:""};
igFI_.finance.util.showLinkingState=function(a,b,c){if(c=_gel(c))if(a=a.getInt(b)){c.title=igFI_.finance.util.MSG_TURN_SYNC_OFF_TIP;c.innerHTML=[igFI_.finance.util.MSG_SYNC,"<br><b>",igFI_.finance.util.MSG_SYNC_ON,'</b> | <a href="javascript:;">',igFI_.finance.util.MSG_SYNC_OFF,"</a>"].join("")}else{c.title=igFI_.finance.util.MSG_TURN_SYNC_ON_TIP;c.innerHTML=[igFI_.finance.util.MSG_SYNC,'<br><a href="javascript:;">',igFI_.finance.util.MSG_SYNC_ON,"</a> | <b>",igFI_.finance.util.MSG_SYNC_OFF,"</b>"].join("")}};
igFI_.finance.util.MSG_SYNC_OFF_TEXT="Off";igFI_.finance.util.toggleLinkingState=function(a,b,c){var d=a.getInt(b);if(d==0)d=1;else if(d==1)d=0;a.set(b,d);igFI_e.finance.util.showLinkingState(a,b,c)};igFI_.finance.Table=function(a,b,c,d,e){this.nb=a;this.eh=d;this.Ca=b;this.Pe=c;this.Xb=e;this.xa=[]};igFI_.finance.Table.MSG_FULLVIEW="Full View";igFI_.finance.Table.MSG_EMPTYTABLE="No data available";igFI_.finance.Table.prototype.Mc=igFI_c;igFI_.finance.Table.prototype.ze=igFI_d;igFI_.finance.Table.prototype.Be=igFI_b;igFI_.finance.Table.prototype.De=igFI_b;igFI_.finance.Table.prototype.Fe=igFI_b;igFI_.finance.Table.prototype.He=igFI_d;igFI_.finance.Table.prototype.Vb=igFI_d;
igFI_.finance.Table.prototype.Ae=function(a){this.Be=a};igFI_.finance.Table.prototype.Ie=function(a){this.Vb=a};igFI_.finance.Table.prototype.Ge=function(a){this.He=a};igFI_.finance.Table.prototype.ve=function(a){this.Mc=a};igFI_.finance.Table.prototype.ye=function(a){this.ze=a};igFI_.finance.Table.prototype.Ee=function(a){this.Fe=a};igFI_.finance.Table.prototype.Ce=function(a){this.De=a};
igFI_.finance.Table.hilightRow=function(a,b,c){if(a){var d=igFI_c;if(a.cells.length){var e=a.cells[a.cells.length-1];if(e&&e.id=="GF_syncicon")d=e.firstChild}a.style.cursor="pointer";if(b){a.style.backgroundColor="#fff4c2";if(d)d.src=igFI_e.finance.util.getLinkRowOnImgSrc()}else{a.style.backgroundColor=c;if(d)d.src=igFI_e.finance.util.getLinkRowOffImgSrc()}}};
igFI_.finance.Table.onHideShowClick=function(a,b,c){if(c){var d=new _IG_Prefs(a),e=_gel("GF"+a+"box_"+b),f=_gel("GF"+a+"showhide_"+b);a=d.getString(c).split(",");if(e.className=="financelib_hide"){e.className="financelib_show";f.innerHTML=igFI_e.finance.util.getShowZippyImgTag();for(e=0;e<a.length;e++)if(a[e]==b){a.splice(e,1);break}}else{e.className="financelib_hide";f.innerHTML=igFI_e.finance.util.getHideZippyImgTag();f=igFI_d;for(e=0;e<a.length;e++)if(a[e]==b){f=igFI_b;break}f||a.push(b)}d.set(c,
a.join(","));window._IG_AdjustIFrameHeight&&window._IG_AdjustIFrameHeight()}};igFI_.finance.Table.prototype.Yc=function(a,b,c,d){if(c)c.length||(c="left");else c="left";a={columnName:a,colorCode:igFI_d,assocName:b,columnAlign:c,assocUrl:d,valueIfBlank:"&nbsp;",renderHtml:igFI_c,renderUrl:igFI_c,truncateLength:igFI_c,columnAttr:""};this.xa.push(a);return a};igFI_.finance.Table.prototype.tc=function(){var a="";a=this.eh?this.eh+"_"+this.Pe:this.Pe;return a.replace(/ /g,"")};
igFI_.finance.Table.prototype.Uc=function(a){var b=[],c="",d=this.tc();if(this.De)c=' style="border:1px solid #cccccc; padding: 2px; " ';if(this.ze)if(this.Ca){for(var e=new _IG_Prefs(this.nb),f=e.getString(this.Ca).split(","),g=igFI_d,j=0;j<f.length;j++)if(f[j]==d){g=igFI_b;break}g||f.push(d);e.set(this.Ca,f.join(","))}this.Gb(d)?b.push("<div id=GF",this.nb,"box_",d," class=financelib_hide>"):b.push("<div id=GF",this.nb,"box_",d," class=financelib_show>");b.push("<table ",c," width=100% ><tr><td>");
if(this.Ca){b.push("&nbsp;",this.Bb(d,igFI_c));a&&b.push(this.Bb(d,a));this.Xb&&b.push('&nbsp;(<a target=_blank href="',this.Xb,'">',igFI_.finance.Table.MSG_FULLVIEW,"</a>)")}else{this.Xb&&b.push('<a target=_blank href="',this.Xb,'">');a&&b.push(a);this.Xb&&b.push("</a>")}b.push("</td></tr><tr class=financelib_hideable >","<td><table cellspacing=0 width=100%>");return b.join("")};igFI_.finance.Table.prototype.gc=function(){return"</table></td></tr></table></div>"};
igFI_.finance.Table.prototype.Je=function(a,b){a=[this.Uc(a),"<tr><td>",b,"</td></tr>",this.gc()];return a.join("")};igFI_.finance.Table.prototype.dd=function(a){if(!a)return igFI_.finance.Table.MSG_EMPTYTABLE+"<br>";if(!a.length)return igFI_.finance.Table.MSG_EMPTYTABLE+"<br>";if(!this.xa.length)return igFI_.finance.Table.MSG_EMPTYTABLE+"<br>";a=[this.Uc(this.Pe),this.od(a,igFI_b),this.gc()];return a.join("")};
igFI_.finance.Table.prototype.bd=function(a,b){if(!b)return igFI_.finance.Table.MSG_EMPTYTABLE+"<br>";if(!b.length)return igFI_.finance.Table.MSG_EMPTYTABLE+"<br>";if(!this.xa.length)return igFI_.finance.Table.MSG_EMPTYTABLE+"<br>";var c=[];c.push(this.Uc(igFI_c));for(var d=0;d<b.length;d++){var e=b[d],f=a[d];if(f){var g=this.xa.length;this.Vb&&g++;d&&c.push("<tr width=100%><td colspan=",g,">&nbsp;</td></tr>");c.push("<tr width=100%><td colspan=",g,">",f,"</td></tr>")}c.push(this.od(e,d==0))}c.push(this.gc());
return c.join("")};
igFI_.finance.Table.prototype.od=function(a,b){var c=[];if(this.Fe&&b){c.push("<tr>");for(var d=0;d<this.xa.length;d++){var e=this.xa[d];c.push("<td ",e.columnAattr,' align="',e.columnAlign,'" nowrap>',e.columnName,"</td>")}this.Vb&&c.push("<td width=16></td>");c.push("</tr>")}for(b=0;b<a.length;b++){var f=a[b];d="";e="#FFFFFF";if(this.Be&&b%2==0)e="#f7f7f7";if(this.He)d+=[" onMouseOver=\"google.finance.Table.hilightRow(this, true, '",e,"')\" onMouseOut=\"google.finance.Table.hilightRow(this, false, '",e,
"')\" "].join("");if(this.Mc){var g=this.Mc(f);if(g)d+=[' onClick="',g,'"'].join("")}c.push("<tr bgcolor=",e,d,">");for(d=0;d<this.xa.length;d++){e=this.xa[d];g=f[e.assocName];if(e.colorCode){var j=igFI_.finance.util.parseFloat(g);if(j&&j>0)c.push("<td ",e.columnAttr,' class="financelib_td financelib_up" align="',e.columnAlign,'" >');else j&&j<0?c.push("<td ",e.columnAttr,' class="financelib_td financelib_down" align="',e.columnAlign,'" >'):c.push("<td class=financelib_td ",e.columnAttr,' align="',
e.columnAlign,'" >')}else c.push("<td class=financelib_td ",e.columnAttr,' align="',e.columnAlign,'" >');if(e.renderHtml)c.push(e.renderHtml(f));else{j=igFI_c;if(e.assocUrl)j=f[e.assocUrl];else if(e.renderUrl)j=e.renderUrl(f);var i="&nbsp;";if(e.valueIfBlank)i=e.valueIfBlank;if(g&&g.length){j&&c.push('<a target=_blank href="',j,'">');if(e.truncateLength)g=igFI_.finance.util.truncateString(g,e.truncateLength);c.push(g);j&&c.push("</a>")}else c.push(i)}c.push("</td>")}this.Vb&&c.push('<td id="GF_syncicon" align=right>',
igFI_.finance.util.getLinkRowOffImgTag(),"</td>");c.push("</tr>")}return c.join("")};igFI_.finance.Table.prototype.uc=function(){if(!this.Ca)return"";var a=new _IG_Prefs(this.nb);return a.getString(this.Ca)};igFI_.finance.Table.prototype.Gb=function(a){if(!this.Ca)return igFI_d;if(!a)return igFI_d;for(var b=this.uc().split(","),c=0;c<b.length;c++)if(b[c]==a)return igFI_b;return igFI_d};
igFI_.finance.Table.prototype.Bb=function(a,b){var c="";if(b)c="label";c=["<span id=GF",this.nb,"showhide_",c,a,' onClick=google.finance.Table.onHideShowClick("',this.nb,'","',a,'","',this.Ca,'") class="financelib_showhidespan">'];if(b)c.push(b);else this.Gb(a)?c.push(igFI_.finance.util.getHideZippyImgTag()):c.push(igFI_.finance.util.getShowZippyImgTag());c.push("</span>");return c.join("")};igFI_.exportSymbol("google.finance.Table",igFI_.finance.Table);
igFI_.exportSymbol("google.finance.Table.prototype.addColumn",igFI_.finance.Table.prototype.Yc);igFI_.exportSymbol("google.finance.Table.prototype.showAccordion",igFI_.finance.Table.prototype.ye);igFI_.exportSymbol("google.finance.Table.prototype.showAltRows",igFI_.finance.Table.prototype.Ae);igFI_.exportSymbol("google.finance.Table.prototype.showBorder",igFI_.finance.Table.prototype.Ce);igFI_.exportSymbol("google.finance.Table.prototype.showHeaders",igFI_.finance.Table.prototype.Ee);
igFI_.exportSymbol("google.finance.Table.prototype.showHilightRows",igFI_.finance.Table.prototype.Ge);igFI_.exportSymbol("google.finance.Table.prototype.showLinkIcons",igFI_.finance.Table.prototype.Ie);igFI_.exportSymbol("google.finance.Table.prototype.setRenderPubSub",igFI_.finance.Table.prototype.ve);igFI_.exportSymbol("google.finance.Table.prototype.buildTable",igFI_.finance.Table.prototype.dd);igFI_.exportSymbol("google.finance.Table.prototype.buildMultipleTables",igFI_.finance.Table.prototype.bd);
igFI_.exportSymbol("google.finance.Table.prototype.simpleTable",igFI_.finance.Table.prototype.Je);igFI_.exportSymbol("google.finance.Table.prototype.getPreferenceId",igFI_.finance.Table.prototype.tc);igFI_.exportSymbol("google.finance.Table.prototype.getPrefs",igFI_.finance.Table.prototype.uc);igFI_.exportSymbol("google.finance.Table.prototype.getShowHideLinkHTML",igFI_.finance.Table.prototype.Bb);igFI_.exportSymbol("google.finance.Table.hilightRow",igFI_.finance.Table.hilightRow);
igFI_.exportSymbol("google.finance.Table.prototype.isHidden",igFI_.finance.Table.prototype.Gb);igFI_.exportSymbol("google.finance.Table.onHideShowClick",igFI_.finance.Table.onHideShowClick);igFI_.fx.Dragger=function(a,b,c){this.target=a;this.handle=b||a;this.limits=c||new igFI_.math.Rect(NaN,NaN,NaN,NaN);this.w=igFI_.dom.p(a);this.ma=new igFI_.events.EventHandler(this);igFI_.events.listen(this.handle,igFI_.events.EventType.MOUSEDOWN,this.Xa,igFI_d,this)};igFI_.inherits(igFI_.fx.Dragger,igFI_.events.EventTarget);igFI_.fx.Dragger.Xc=igFI_.userAgent.IE||igFI_.userAgent.GECKO&&igFI_.userAgent.isVersion("1.9.3");
igFI_.fx.Dragger.EventType={START:"start",BEFOREDRAG:"beforedrag",DRAG:"drag",END:"end"};igFI_.fx.Dragger.prototype.screenX=0;igFI_.fx.Dragger.prototype.screenY=0;igFI_.fx.Dragger.prototype.Me=0;igFI_.fx.Dragger.prototype.Ne=0;igFI_.fx.Dragger.prototype.cb=0;igFI_.fx.Dragger.prototype.db=0;igFI_.fx.Dragger.prototype.rd=igFI_b;igFI_.fx.Dragger.prototype.ja=igFI_d;igFI_.fx.Dragger.prototype.$d=0;igFI_.fx.Dragger.prototype.Og=0;igFI_.fx.Dragger.prototype.sg=igFI_d;
igFI_.fx.Dragger.prototype.Tc=function(a){this.Nc=a};igFI_.fx.Dragger.prototype.b=function(){igFI_.fx.Dragger.j.b.call(this);igFI_.events.unlisten(this.handle,igFI_.events.EventType.MOUSEDOWN,this.Xa,igFI_d,this);this.ma.dispose();delete this.target;delete this.handle;delete this.ma};
igFI_.fx.Dragger.prototype.Xa=function(a){if(this.rd&&!this.ja&&(a.type!=igFI_.events.EventType.MOUSEDOWN||a.wg(igFI_.events.BrowserEvent.MouseButton.LEFT))){if(this.$d==0){this.be(a);if(this.ja)a.preventDefault();else return}else a.preventDefault();this.uh();this.screenX=this.Me=a.screenX;this.screenY=this.Ne=a.screenY;this.cb=this.target.offsetLeft;this.db=this.target.offsetTop;this.pageScroll=igFI_.dom.r(this.w).oa();this.Og=igFI_.now()}};
igFI_.fx.Dragger.prototype.uh=function(){var a=this.w,b=a.documentElement,c=!igFI_.fx.Dragger.Xc;this.ma.listen(a,igFI_.events.EventType.MOUSEMOVE,this.Pg,c);this.ma.listen(a,igFI_.events.EventType.MOUSEUP,this.la,c);if(igFI_.fx.Dragger.Xc){b.setCapture(igFI_d);this.ma.listen(b,igFI_.events.EventType.LOSECAPTURE,this.la)}else this.ma.listen(igFI_.dom.Pa(a),igFI_.events.EventType.BLUR,this.la);igFI_.userAgent.IE&&this.sg&&this.ma.listen(a,igFI_.events.EventType.DRAGSTART,igFI_.events.Event.preventDefault);
this.Nc&&this.ma.listen(this.Nc,igFI_.events.EventType.SCROLL,this.Yg,c)};igFI_.fx.Dragger.prototype.be=function(a){a=this.dispatchEvent(new igFI_.fx.DragEvent(igFI_.fx.Dragger.EventType.START,this,a.clientX,a.clientY,a));if(a!==igFI_d)this.ja=igFI_b};
igFI_.fx.Dragger.prototype.la=function(a,b){this.ma.Da();igFI_.fx.Dragger.Xc&&this.w.releaseCapture();if(this.ja){this.ja=igFI_d;var c=this.ge(this.cb),d=this.he(this.db);this.dispatchEvent(new igFI_.fx.DragEvent(igFI_.fx.Dragger.EventType.END,this,a.clientX,a.clientY,a,c,d,b))}};
igFI_.fx.Dragger.prototype.Pg=function(a){if(this.rd){var b=a.screenX-this.screenX,c=a.screenY-this.screenY;this.screenX=a.screenX;this.screenY=a.screenY;if(!this.ja){var d=this.Me-this.screenX,e=this.Ne-this.screenY;d=d*d+e*e;if(d>this.$d){this.be(a);if(!this.ja){this.la(a);return}}}c=this.ed(b,c);b=c.x;c=c.y;if(this.ja){d=this.dispatchEvent(new igFI_.fx.DragEvent(igFI_.fx.Dragger.EventType.BEFOREDRAG,this,a.clientX,a.clientY,a,b,c));if(d!==igFI_d){this.pd(a,b,c,igFI_d);a.preventDefault()}}}};
igFI_.fx.Dragger.prototype.ed=function(a,b){var c=igFI_.dom.r(this.w).oa();a+=c.x-this.pageScroll.x;b+=c.y-this.pageScroll.y;this.pageScroll=c;this.cb+=a;this.db+=b;a=this.ge(this.cb);b=this.he(this.db);return new igFI_.math.Coordinate(a,b)};igFI_.fx.Dragger.prototype.Yg=function(a){var b=this.ed(0,0);a.clientX=this.pageScroll.x-this.screenX;a.clientY=this.pageScroll.x-this.screenY;this.pd(a,b.x,b.y,igFI_b)};
igFI_.fx.Dragger.prototype.pd=function(a,b,c){this.Bf(b,c);this.dispatchEvent(new igFI_.fx.DragEvent(igFI_.fx.Dragger.EventType.DRAG,this,a.clientX,a.clientY,a,b,c))};igFI_.fx.Dragger.prototype.ge=function(a){var b=this.limits,c=!isNaN(b.left)?b.left:igFI_c;b=!isNaN(b.width)?b.width:0;b=c!=igFI_c?c+b:Infinity;c=c!=igFI_c?c:-Infinity;return Math.min(b,Math.max(c,a))};
igFI_.fx.Dragger.prototype.he=function(a){var b=this.limits,c=!isNaN(b.top)?b.top:igFI_c;b=!isNaN(b.height)?b.height:0;b=c!=igFI_c?c+b:Infinity;c=c!=igFI_c?c:-Infinity;return Math.min(b,Math.max(c,a))};igFI_.fx.Dragger.prototype.Bf=function(a,b){this.target.style.left=a+"px";this.target.style.top=b+"px"};
igFI_.fx.DragEvent=function(a,b,c,d,e,f,g,j){igFI_.events.Event.call(this,a);this.clientX=c;this.clientY=d;this.browserEvent=e;this.left=igFI_.isDef(f)?f:b.cb;this.top=igFI_.isDef(g)?g:b.db;this.dragger=b;this.dragCanceled=!!j};igFI_.inherits(igFI_.fx.DragEvent,igFI_.events.Event);igFI_.fx.AbstractDragDrop=function(){this.Ib=[];this.vh=[];this.Pc=[]};igFI_.inherits(igFI_.fx.AbstractDragDrop,igFI_.events.EventTarget);igFI_.fx.AbstractDragDrop.Kh=10;igFI_.fx.AbstractDragDrop.prototype.Fc=igFI_d;igFI_.fx.AbstractDragDrop.prototype.Gc=igFI_d;igFI_.fx.AbstractDragDrop.prototype.ce=igFI_d;igFI_.fx.AbstractDragDrop.EventType={DRAGOVER:"dragover",DRAGOUT:"dragout",DRAG:"drag",DROP:"drop",DRAGSTART:"dragstart",DRAGEND:"dragend"};igFI_.fx.AbstractDragDrop.initDragDistanceThreshold=5;
igFI_.fx.AbstractDragDrop.prototype.addTarget=function(a){this.vh.push(a);this.Fc=a.Gc=igFI_b};igFI_.fx.AbstractDragDrop.prototype.Tc=function(a){this.Nc=a};igFI_.fx.AbstractDragDrop.prototype.init=function(){if(!this.ce){for(var a,b=0;a=this.Ib[b];b++)this.tg(a);this.ce=igFI_b}};
igFI_.fx.AbstractDragDrop.prototype.tg=function(a){if(this.Fc){igFI_.events.listen(a.element,igFI_.events.EventType.MOUSEDOWN,a.ie,igFI_d,a);this.Ke&&igFI_.dom.classes.add(a.element,this.Ke)}this.Gc&&this.Qe&&igFI_.dom.classes.add(a.element,this.Qe)};
igFI_.fx.AbstractDragDrop.prototype.kh=function(){for(var a,b=0;a=this.Ib[b];b++){if(this.Fc){igFI_.events.unlisten(a.element,igFI_.events.EventType.MOUSEDOWN,a.ie,igFI_d,a);this.Ke&&igFI_.dom.classes.remove(a.element,this.Ke)}this.Gc&&this.Qe&&igFI_.dom.classes.remove(a.element,this.Qe)}this.Ib.length=0};
igFI_.fx.AbstractDragDrop.prototype.Xa=function(a,b){if(!this.O){this.O=b;var c=new igFI_.fx.DragDropEvent(igFI_.fx.AbstractDragDrop.EventType.DRAGSTART,this,this.O);if(this.dispatchEvent(c)==igFI_d){c.dispose();this.O=igFI_c}else{c.dispose();b=b.Cd();this.wb=this.vf(b);c=igFI_.dom.p(b);c.body.appendChild(this.wb);this.za=this.wf(b,this.wb,a);this.za.Tc(this.Nc);igFI_.events.listen(this.za,igFI_.fx.Dragger.EventType.DRAG,this.je,igFI_d,this);igFI_.events.listen(this.za,igFI_.fx.Dragger.EventType.END,
this.la,igFI_d,this);igFI_.events.listen(c.body,igFI_.events.EventType.SELECTSTART,this.Oe);this.hh();this.wa=igFI_c;this.ug();this.za.Xa(a);a.preventDefault()}}};igFI_.fx.AbstractDragDrop.prototype.hh=function(){this.Yb=[];for(var a,b=0;a=this.vh[b];b++)for(var c,d=0;c=a.Ib[d];d++)this.ef(a,c);if(!this.va)this.va=new igFI_.math.Box(0,0,0,0)};igFI_.fx.AbstractDragDrop.prototype.wf=function(a,b,c){a=this.Uf(a,b,c);b.style.position="absolute";b.style.left=a.x+"px";b.style.top=a.y+"px";return new igFI_.fx.Dragger(b)};
igFI_.fx.AbstractDragDrop.prototype.la=function(a){var b=a.dragCanceled?igFI_c:this.wa;if(b&&b.N){var c=a.clientX;a=a.clientY;var d=this.Od(),e=c+d.x;d=a+d.y;var f;if(this.Wb)f=this.Wb(b.ea,b.F,e,d);var g=new igFI_.fx.DragDropEvent(igFI_.fx.AbstractDragDrop.EventType.DRAG,this,this.O,b.N,b.ea,b.f,c,a,e,d);this.dispatchEvent(g);g.dispose();c=new igFI_.fx.DragDropEvent(igFI_.fx.AbstractDragDrop.EventType.DROP,this,this.O,b.N,b.ea,b.f,c,a,e,d,f);b.N.dispatchEvent(c);c.dispose()}b=new igFI_.fx.DragDropEvent(igFI_.fx.AbstractDragDrop.EventType.DRAGEND,
this,this.O);this.dispatchEvent(b);b.dispose();igFI_.events.unlisten(this.za,igFI_.fx.Dragger.EventType.DRAG,this.je,igFI_d,this);igFI_.events.unlisten(this.za,igFI_.fx.Dragger.EventType.END,this.la,igFI_d,this);b=igFI_.dom.p(this.O.Cd());igFI_.events.unlisten(b.body,igFI_.events.EventType.SELECTSTART,this.Oe);this.gf(this.wa?this.wa.ea:igFI_c)};igFI_.fx.AbstractDragDrop.prototype.gf=function(){this.Hf()};
igFI_.fx.AbstractDragDrop.prototype.Hf=function(){this.If();this.za.dispose();igFI_.dom.removeNode(this.wb);delete this.O;delete this.wb;delete this.za;delete this.Yb;delete this.wa};
igFI_.fx.AbstractDragDrop.prototype.je=function(a){var b=a.clientX,c=a.clientY,d=this.Od();b+=d.x;c+=d.y;d=this.wa;var e;if(d){if(this.Wb&&d.N)e=this.Wb(d.ea,d.F,b,c);if(this.Hb(b,c,d.F)&&e==this.bf)return;if(d.N){var f=new igFI_.fx.DragDropEvent(igFI_.fx.AbstractDragDrop.EventType.DRAGOUT,this,this.O,d.N,d.ea,d.f);this.dispatchEvent(f);f.dispose();f=new igFI_.fx.DragDropEvent(igFI_.fx.AbstractDragDrop.EventType.DRAGOUT,this,this.O,d.N,d.ea,d.f,undefined,undefined,undefined,undefined,this.bf);d.N.dispatchEvent(f);
f.dispose()}this.bf=e;this.wa=igFI_c}if(this.Hb(b,c,this.va))if((d=this.wa=this.cg(b,c))&&d.N){if(this.Wb)e=this.Wb(d.ea,d.F,b,c);b=new igFI_.fx.DragDropEvent(igFI_.fx.AbstractDragDrop.EventType.DRAGOVER,this,this.O,d.N,d.ea,d.f);b.subtarget=e;this.dispatchEvent(b);b.dispose();a=new igFI_.fx.DragDropEvent(igFI_.fx.AbstractDragDrop.EventType.DRAGOVER,this,this.O,d.N,d.ea,d.f,a.clientX,a.clientY,undefined,undefined,e);d.N.dispatchEvent(a);a.dispose()}else if(!d)this.wa=this.Lg(b,c)};
igFI_.fx.AbstractDragDrop.prototype.Oe=function(){return igFI_d};igFI_.fx.AbstractDragDrop.prototype.ug=function(){var a,b,c,d;for(b=0;a=this.Pc[b];b++){igFI_.events.listen(a.f,igFI_.events.EventType.SCROLL,this.gd,igFI_d,this);a.bc=[];a.qe=a.f.scrollLeft;a.re=a.f.scrollTop;c=igFI_.style.getPageOffset(a.f);d=igFI_.style.qa(a.f);a.F=new igFI_.math.Box(c.y,c.x+d.width,c.y+d.height,c.x)}for(b=0;d=this.Yb[b];b++)for(c=0;a=this.Pc[c];c++)if(igFI_.dom.contains(a.f,d.f)){a.bc.push(d);d.Oc=a}};
igFI_.fx.AbstractDragDrop.prototype.If=function(){for(var a=0,b;b=this.Pc[a];a++){igFI_.events.unlisten(b.f,"scroll",this.gd,igFI_d,this);b.bc=[]}};igFI_.fx.AbstractDragDrop.prototype.gd=function(a){for(var b=0,c;c=this.Pc[b];b++)if(a.target==c.f){var d=c.re-c.f.scrollTop,e=c.qe-c.f.scrollLeft;c.re=c.f.scrollTop;c.qe=c.f.scrollLeft;for(var f=0,g;g=c.bc[f];f++){g.F.top+=d;g.F.left+=e;g.F.bottom+=d;g.F.right+=e}}};
igFI_.fx.AbstractDragDrop.prototype.vf=function(a){a=this.pf(a);this.$h&&igFI_.dom.classes.add(a,this.$h);return a};igFI_.fx.AbstractDragDrop.prototype.Uf=function(a){var b=igFI_.style.getPageOffset(a);b.x+=(parseInt(igFI_.style.v(a,"marginLeft"),10)||0)*2;b.y+=(parseInt(igFI_.style.v(a,"marginTop"),10)||0)*2;return b};
igFI_.fx.AbstractDragDrop.prototype.pf=function(a){var b=a.cloneNode(igFI_b);switch(a.tagName.toLowerCase()){case "tr":return igFI_.dom.o("table",igFI_c,igFI_.dom.o("tbody",igFI_c,b));case "td":case "th":return igFI_.dom.o("table",igFI_c,igFI_.dom.o("tbody",igFI_c,igFI_.dom.o("tr",igFI_c,b)));default:return b}};
igFI_.fx.AbstractDragDrop.prototype.ef=function(a,b){for(var c=b.Wf(),d=this.Yb,e=0;e<c.length;e++){var f=c[e],g=igFI_.style.getPageOffset(f),j=igFI_.style.qa(f);g=new igFI_.math.Box(g.y,g.x+j.width,g.y+j.height,g.x);d.push(new igFI_.fx.Wc(g,a,b,f));if(d.length==1)this.va=new igFI_.math.Box(g.top,g.right,g.bottom,g.left);else{f=this.va;f.left=Math.min(g.left,f.left);f.right=Math.max(g.right,f.right);f.top=Math.min(g.top,f.top);f.bottom=Math.max(g.bottom,f.bottom)}}};
igFI_.fx.AbstractDragDrop.prototype.Lg=function(a,b){if(!this.qd)this.qd=new igFI_.fx.Wc(this.va.clone());var c=this.qd.F;c.top=this.va.top;c.right=this.va.right;c.bottom=this.va.bottom;c.left=this.va.left;for(var d=0,e;e=this.Yb[d];d++){e=e.F;var f=-1;if(a>=e.right)f=e.right>c.left?e.right:c.left;else if(a<e.left)f=e.left<c.right?e.left:c.right;var g=-1;if(b>=e.bottom)g=e.bottom>c.top?e.bottom:c.top;else if(b<e.top)g=e.top<c.bottom?e.top:c.bottom;if(f>=0&&g>=0)if(Math.abs(f-a)>Math.abs(g-b))g=-1;
else f=-1;if(f>=0)if(f<=a)c.left=f;else c.right=f;else if(g>=0)if(g<=b)c.top=g;else c.bottom=g}return(c.right-c.left)*(c.bottom-c.top)>=igFI_.fx.AbstractDragDrop.Kh?this.qd:igFI_c};igFI_.fx.AbstractDragDrop.prototype.cg=function(a,b){for(var c,d=0;c=this.Yb[d];d++)if(this.Hb(a,b,c.F))if(c.Oc){var e=c.Oc.F;if(this.Hb(a,b,e))return c}else return c;return igFI_c};igFI_.fx.AbstractDragDrop.prototype.Hb=function(a,b,c){return a>=c.left&&a<c.right&&b>=c.top&&b<c.bottom};
igFI_.fx.AbstractDragDrop.prototype.Od=function(){return igFI_.dom.r(this.wb).oa()};igFI_.fx.AbstractDragDrop.prototype.b=function(){igFI_.fx.AbstractDragDrop.j.b.call(this);this.kh()};igFI_.fx.DragDropEvent=function(a,b,c,d,e,f,g,j,i,l,m){igFI_.events.Event.call(this,a);this.dragSource=b;this.dragSourceItem=c;this.dropTarget=d;this.dropTargetItem=e;this.dropTargetElement=f;this.clientX=g;this.clientY=j;this.viewportX=i;this.viewportY=l;this.subtarget=m};igFI_.inherits(igFI_.fx.DragDropEvent,igFI_.events.Event);
igFI_.fx.DragDropEvent.prototype.b=function(){igFI_.fx.DragDropEvent.j.b.call(this);delete this.dragSource;delete this.dragSourceItem;delete this.dropTarget;delete this.dropTargetItem;delete this.dropTargetElement};igFI_.fx.DragDropItem=function(a,b){this.element=igFI_.dom.pa(a);this.data=b;this.K=igFI_c;if(!this.element)igFI_a(Error("Invalid argument"))};igFI_.inherits(igFI_.fx.DragDropItem,igFI_.events.EventTarget);igFI_.fx.DragDropItem.prototype.ab=igFI_c;
igFI_.fx.DragDropItem.prototype.getData=function(){return this.data};igFI_.fx.DragDropItem.prototype.Vf=function(a){return a};igFI_.fx.DragDropItem.prototype.Cd=function(){return this.ab};igFI_.fx.DragDropItem.prototype.Wf=function(){return[this.element]};igFI_.fx.DragDropItem.prototype.ie=function(a){var b=this.Vf(a.target);b&&this.Mg(a,b)};igFI_.fx.DragDropItem.prototype.Pb=function(a){this.K=a};
igFI_.fx.DragDropItem.prototype.Mg=function(a,b){igFI_.events.listen(b,igFI_.events.EventType.MOUSEMOVE,this.Ta,igFI_d,this);igFI_.events.listen(b,igFI_.events.EventType.MOUSEOUT,this.Ta,igFI_d,this);igFI_.events.listen(b,igFI_.events.EventType.MOUSEUP,this.Kc,igFI_d,this);this.ab=b;this.Le=new igFI_.math.Coordinate(a.clientX,a.clientY);a.preventDefault()};
igFI_.fx.DragDropItem.prototype.Ta=function(a){var b=Math.abs(a.clientX-this.Le.x)+Math.abs(a.clientY-this.Le.y);if(b>igFI_.fx.AbstractDragDrop.initDragDistanceThreshold){b=this.ab;igFI_.events.unlisten(b,igFI_.events.EventType.MOUSEMOVE,this.Ta,igFI_d,this);igFI_.events.unlisten(b,igFI_.events.EventType.MOUSEOUT,this.Ta,igFI_d,this);igFI_.events.unlisten(b,igFI_.events.EventType.MOUSEUP,this.Kc,igFI_d,this);this.K.Xa(a,this)}};
igFI_.fx.DragDropItem.prototype.Kc=function(){var a=this.ab;igFI_.events.unlisten(a,igFI_.events.EventType.MOUSEMOVE,this.Ta,igFI_d,this);igFI_.events.unlisten(a,igFI_.events.EventType.MOUSEOUT,this.Ta,igFI_d,this);igFI_.events.unlisten(a,igFI_.events.EventType.MOUSEUP,this.Kc,igFI_d,this);delete this.Le;this.ab=igFI_c};igFI_.fx.Wc=function(a,b,c,d){this.F=a;this.N=b;this.ea=c;this.f=d};igFI_.fx.Wc.prototype.Oc=igFI_c;igFI_.fx.Li=function(a){this.bc=[];this.f=a;this.re=this.qe=0;this.F=igFI_c};igFI_.fx.DragDrop=function(a,b){igFI_.fx.AbstractDragDrop.call(this);a=new igFI_.fx.DragDropItem(a,b);a.Pb(this);this.Ib.push(a)};igFI_.inherits(igFI_.fx.DragDrop,igFI_.fx.AbstractDragDrop);igFI_.fx.DragDropGroup=function(){igFI_.fx.AbstractDragDrop.call(this)};igFI_.inherits(igFI_.fx.DragDropGroup,igFI_.fx.AbstractDragDrop);igFI_.finance.portfolios={};igFI_.finance.portfolios.MarketIndex={};
(function(){var a=igFI_.finance.portfolios,b=new Object({".DJI":"Dow",".IXIC":"Nasdaq",".INX":"S&amp;P&nbsp;500",".GSPTSE":"TSX",".FTSE":"FTSE 100",".FTMC":"FTSE 250",".FTAS":"FTSE All Share",".FTT1X":"techMARK 100","SHA:000001":"Shanghai Index","SHE:399001":"Shenzhen Index","INDEXHANGSENG:.HSI":"HSI","INDEXHANGSENG:.HSCE":"HSCE"});a.MarketIndex=function(){this.tf=""};a.MarketIndex.prototype.te=function(c){this.tf=c};a.MarketIndex.prototype.Jd=function(){var c=igFI_c;switch(this.tf){case "USA":c=
[".DJI",".IXIC",".INX"];break;case "Canada":c=[".GSPTSE",".DJI",".IXIC",".INX"];break;case "UK":c=[".FTSE",".FTMC",".FTAS",".FTT1X"];break;case "China":c=["SHA:000001","SHE:399001"];break;case "HK":c=["INDEXHANGSENG:.HSI","INDEXHANGSENG:.HSCE"];break;default:}return c};a.MarketIndex.prototype.zb=function(c){return b[c]}})();igFI_.finance.portfolios.PortList={};
(function(){function a(i,l,m,p,r,y,C,D,v){m={pid:l,name:igFI_.finance.util.truncateString(m,30),userPortfolio:l!="m",visible:igFI_b,hasStats:r&&r!="0.00",costBasis:p,marketValue:r,gain:y,gainToday:D,gainTodayPct:C,gainClass:igFI_.finance.util.getChangeClass(D),url:v,editUrl:v?v.replace("action=view","action=edit_portfolio"):v,items:[]};i[l]=m;++j}function b(i,l,m,p,r,y,C,D,v,B,F,L,M,G,z,H,N,E){l={cid:l,cname:m,lname:p,symbol:r,ticker:y,url:"http://"+f+"/finance?client=ig&q="+y,last:C,holdings:D,profit:v,
change:B,percChange:F,type:L,ecnLast:M,ecnChange:G,ecnPercChange:z,marketCap:H?H:"-",changeClass:N,dotImgClass:E};i.push(l)}function c(i,l){var m=i.getElementsByTagName(l);if(m&&m[0])if(i.getElementsByTagName(l)[0].firstChild!=igFI_c)return i.getElementsByTagName(l)[0].firstChild.nodeValue;return igFI_c}function d(i){return i.replace(/&/g,"&amp;").replace(/>/g,"&gt;").replace(/</g,"&lt;").replace(/"/g,"&quot;")}var e=igFI_c,f="",g=igFI_.finance.portfolios,j=0;g.FIRST_PIVOT="__first_marker__";g.PortList=
function(i,l){e=i;f=l;this.h={};this.mb=new igFI_.finance.portfolios.MarketIndex;this.mb.te(i.getString("country"));this.ei=igFI_d;this.mi=igFI_b;this.Dh="";this.me=igFI_d;j=0};g.PortList.prototype.dg=function(){return this.Dh};g.PortList.prototype.da=function(){return this.h};g.PortList.prototype.bg=function(){return this.me};g.PortList.prototype.ah=function(i){var l=eval(i);a(this.h,"m",e.getMsg("market_summary"),igFI_c,igFI_c,igFI_c,igFI_c,igFI_c,"http://"+f+"/finance?client=ig");if(l)for(i=0;i<
l.length;i++){var m=l[i].lname;m||(m=this.mb.zb(l[i].t));m||(m=this.mb.zb(l[i].e+":"+l[i].t));var p=igFI_c;if(i<2)p="m_"+i;b(this.h.m.items,l[i].id,m,l[i].lname,l[i].t,l[i].e+":"+l[i].t,l[i].l,igFI_c,igFI_c,l[i].c,l[i].cp,igFI_c,igFI_c,igFI_c,igFI_c,igFI_c,l[i].ccol,p)}else{l=this.mb.Jd();for(i=0;i<l.length;i++)b(this.h.m.items,i,this.mb.zb(l[i]),this.mb.zb(l[i]),l[i],l[i],"0.00",igFI_c,igFI_c,"0.00","0.00",igFI_c,igFI_c,igFI_c,igFI_c,igFI_c,igFI_c,igFI_c)}};g.PortList.prototype.bh=function(i){if(typeof i!=
"object")this.ei=igFI_b;else{var l=i.getElementsByTagName("Portfolio");if(l.length==0)this.mi=igFI_d;else{this.Dh=c(i,"HashValue");for(i=0;i<l.length;i++){var m=c(l[i],"NetCurrentValue"),p=c(l[i],"NetInvestment"),r=c(l[i],"NetProfit"),y=c(l[i],"GainTodayPercentage"),C=c(l[i],"GainToday"),D=c(l[i],"ID");a(this.h,D,d(c(l[i],"Name")),p,m,r,y,C,"http://"+f+"/finance/portfolio?client=ig&action=view&pid="+D);m=l[i].getElementsByTagName("Item");if(m.length>0)for(p=0;p<m.length;p++){var v=igFI_c;var B=r=
igFI_c,F=igFI_c,L=igFI_c,M=igFI_c,G=y=igFI_c,z=igFI_c,H=C=igFI_c,N=igFI_c,E=igFI_c,R=igFI_c,V=igFI_c;v=c(m[p],"Symbol");if(v!=igFI_c){B=v.indexOf(":");if(B==-1)v=v;else{r=v.substring(0,B);v=v.substring(B+1)}z=m[p].getElementsByTagName("StockInfo")[0];B=c(z,"LastPrice");F=c(z,"ChangeToday");L=c(z,"PercentageChange");M=igFI_.finance.util.getChangeClass(F),G=c(m[p],"Type");if(G=="Company"){C=c(z,"ECNLast");H=c(z,"ECNChange");N=c(z,"ECNPercentageChange");y=c(z,"MarketCap")}E=c(m[p],"TotalHoldings");z=
c(m[p],"Profit");R=G=="Mutual Fund"?v:r=="NASDAQ"||r=="NYSE"||r=="AMEX"?v:r+":"+v;b(this.h[D].items,c(m[p],"ID"),c(m[p],"Name"),igFI_c,v,R,B,E,z,F,L,G,C,H,N,y,M,V)}}}}}};g.PortList.prototype.$g=function(i){var l;if(this.h.a)l=this.h.a.items;a(this.h,"a",e.getMsg("my_portfolios"),igFI_c,igFI_c,igFI_c,igFI_c,igFI_c,igFI_c);if(l)this.h.a.items=l.concat(this.h.a.items);l=igFI_d;try{var m=eval(i);if(typeof m=="object"){var p;for(i=0;i<m.length;i++){p=m[i].type=="Mutual Fund"?m[i].t:m[i].e=="NASDAQ"||m[i].e==
"NYSE"||m[i].e=="AMEX"?m[i].t:m[i].e+":"+m[i].t;l=igFI_d;for(var r=0;r<this.h.a.items.length;++r)if(p==this.h.a.items[r].ticker){l=igFI_b;break}r=igFI_c;if(i<2)r="a_"+i;l||b(this.h.a.items,m[i].id,m[i].name,m[i].lname,m[i].t,p,m[i].l,igFI_c,igFI_c,m[i].c,m[i].cp,m[i].type,m[i].el,m[i].ec,m[i].ecp,m[i].mc,m[i].ccol,r)}}else this.me=igFI_b}catch(y){this.me=igFI_b}};g.PortList.prototype.vg=function(i,l,m){if(l==g.FIRST_PIVOT)this.h[i].items=m.concat(this.h[i].items);else for(var p=0;p<this.h[i].items.length;p++)if(this.h[i].items[p].ticker==
l){l=this.h[i].items.slice(0,p+1);p=this.h[i].items.slice(p+1);this.h[i].items=l.concat(m).concat(p);break}};g.PortList.prototype.insertBefore=function(i,l,m){if(l!=g.FIRST_PIVOT)for(var p=0;p<this.h[i].items.length;p++)if(this.h[i].items[p].ticker==l){l=this.h[i].items.slice(0,p);p=this.h[i].items.slice(p);this.h[i].items=l.concat(m).concat(p);break}};g.PortList.prototype.jh=function(i,l){for(var m=igFI_c,p=0;p<this.h[i].items.length;p++)if(this.h[i].items[p].ticker==l){m=this.h[i].items[p];this.h[i].items.splice(p,
1);break}return m};g.PortList.prototype.indexOf=function(i,l){for(var m=-1,p=0;p<this.h[i].items.length;p++)if(this.h[i].items[p].ticker==l){m=p;break}return m};g.PortList.makeItemFromJSON=function(i){var l;l=i.type=="Mutual Fund"?i.t:i.e=="NASDAQ"||i.e=="NYSE"||i.e=="AMEX"?i.t:i.e+":"+i.t;return i={cid:i.id,cname:i.name,lname:i.lname,symbol:i.t,ticker:l,last:i.l,holdings:igFI_c,profit:igFI_c,change:i.c,percChange:i.cp,type:i.type,ecnLast:i.el,ecnChange:i.ec,ecnPercChange:i.ecp,marketCap:i.mc,changeClass:i.ccol}}})();igFI_.finance.portfolios.Regions={};
(function(){var a=igFI_.finance.portfolios.Regions;a.EN_US={};a.EN_US.MESSAGES={REMOVE_CONFIRM:"Transaction exists! Do you really want to delete it?",EMPTY_PORTFOLIO:"This portfolio is empty",REQUEST_PORTFOLIO_ERROR:"Information is temporarily unavailable.",LOGIN:'You can use Google Finance to maintain your portfolios. <a href="http://www.google.com/accounts/ServiceLogin?hl=en&service=finance&nui=1&continue=http://www.google.com/ig">Sign in</a>.',DISCLAIMER:'Quotes delayed up to 20 minutes.&nbsp;<a href ="http://www.google.com/help/stock_disclaimer.html" style="color:#7777cc;">Disclaimer</a>',MARKET_CAP:"Mkt&nbsp;Cap",
VALUE:"Value:"};a.EN_US.COLOR={SHARE_UP:"#008000",SHARE_DOWN:"#AA0033",SHARE_EQUAL:"#676767"}})();igFI_f("google.finance.Portfolios");
(function(){function a(){if(w){var h=_gel(q+w.inputId);igFI_.events.unlisten(h,"focus",c);igFI_.events.unlisten(h,"blur",c);(h=_gel(q+w.id))&&h.parentNode.removeChild(h);w=igFI_c}}function b(h,k){if(h!="m")if(!I){a();w={id:"insert_"+h+"_"+k,inputId:"tickerToAdd_"+h+"_"+k,pid:h,tickerId:k,images:O};var n=igFI_.dom.o("tr",{id:q+w.id}),o=igFI_.dom.o("td",{"class":q+"add",colspan:"6"});igFI_.dom.appendChild(n,o);igFI_.dom.Bc(n,_gel(q+"ticker_"+h+"_"+k));o.innerHTML=ba.Expand(w);h=_gel(q+w.inputId);igFI_.events.listen(h,
"focus",c);igFI_.events.listen(h,"blur",d);h.focus()}}function c(h){h=h.target;if(h.style.color!="black"){h.style.color="black";h.defaultValue=h.value;h.value="";if(I&&h.id==q+"bottomInput")_gel(q+"addFormPortfolios").style.color="black"}}function d(h){h=h.target;if(h.value==""&&h.defaultValue){h.value=h.defaultValue;h.style.color="#999";if(I&&h.id==q+"bottomInput")_gel(q+"addFormPortfolios").style.color="#999";h.blur()}}function e(h){var k=h.target;if(h.keyCode==27){k.value="";d(h)}}function f(){var h=
_gel(q+"bottomInput").value;if(h&&h.length>0){if(I){var k=_gel(q+"addForm");k.add_symbols_1.value=h;k.submit()}else{k="";h=h.replace(/\s+/gi,",");h=h.split(",");for(var n=0;n<h.length;++n)if(h[n])k+=","+t.prependExchanges(h[n]);E(k)}S=igFI_b}}function g(){}function j(h){var k=_gel(q+"editForm");k.pid.value=h;k.watchlist.value=W(h);k.submit()}function i(h){T=W(h);u.set("stocks_app",T)}function l(h){h=igFI_.finance.util.parseJSON(h);var k=igFI_c;try{k=eval(h)}catch(n){alert(u.getMsg("invalid_tickers"));
if(w)if(k=_gel(q+w.inputId))k.value="";return}h=[];var o=W(w.pid);if(typeof k=="object")for(var s=0;s<k.length;s++){var P=igFI_.finance.portfolios.PortList.makeItemFromJSON(k[s]),X=["^",P.ticker,"$|^",P.ticker,J,"|",J,P.ticker,J,"|",J,P.ticker,"$"];X=new RegExp(X.join(""),"i");X.test(o)||h.push(P)}if(h.length>0){x.vg(w.pid,w.tickerId,h);g(w.pid);k={pid:w.pid,inputId:w.inputId,tickerId:w.tickerId};a();r();b(k.pid,k.tickerId);_gel(q+k.inputId).focus()}else _gel(q+w.inputId).value=""}function m(){for(var h=
igFI_.cloneObject(x.da()),k=u.getString("port_order").split(","),n=[],o,s=0;s<k.length;s++)for(o in h)if(igFI_.isDef(h[o].pid))if(h[o].pid==k[s]){n.push(k[s]);delete h[o];break}for(o in h)igFI_.isDef(h[o].pid)&&n.push(h[o].pid);u.set("port_order",n.join(","));return n}function p(){var h=u.getString("stockIdFromOnebox");if(!ca&&h){var k=_gel(q+"bottomInput");if(k){k.defaultValue=k.value;k.value=h;k.style.color="black";ca=igFI_b;f()}}}function r(){if(Y&&Q){for(var h={financeDomain:U,hash:x.dg(),portfolios:[],
images:O,useSFEPortfolios:I,showMarketCap:da,showLocalName:ea,openNewWindow:fa},k=x.da(),n=m(),o=0;o<n.length;++o){var s=n[o];if(igFI_.isDef(k[s].pid)){k[s].visible=!ia(u.getString("contracted"),k[s].pid);h.portfolios.push(k[s])}}_gel(q+"Main").innerHTML=ga.Expand(h);_IG_AdjustIFrameHeight();igFI_.events.Da();C();G();p()}}function y(h){for(var k=x.da()[h],n=q+"greybg",o=0;o<k.items.length;++o){var s=["ticker_",h,"_",k.items[o].ticker].join("");(s=_gel(q+s))&&igFI_.dom.classes.enable(s,n,o%2==0)}}
function C(){var h=x.da();for(var k in h)typeof h[k].pid!="undefined"&&y(h[k].pid)}function D(h,k,n){if(!ha){n=n.currentTarget;if(!n.isHighlighted){n.isHighlighted=igFI_b;var o=igFI_.style.getClientPosition(n),s=igFI_.style.qa(n).height;A={minY:o.y+(s-5),maxY:o.y+s,pid:h,tickerId:k,insertRow:igFI_d};igFI_.events.listen(n,"mousemove",B);igFI_.events.listen(n,"click",F);igFI_.dom.classes.add(n,q+"hoverbg");if(h!="m"){h=_gel(q+"remove_"+h+"_"+k);h.style.visibility="visible"}}}}function v(h,k,n){n=n.currentTarget;
if(n.isHighlighted){n.isHighlighted=igFI_d;igFI_.events.unlisten(n,"mousemove",B);igFI_.events.unlisten(n,"click",F);igFI_.dom.classes.swap(n,q+"insertRow",q+"pointer");igFI_.dom.classes.remove(n,q+"hoverbg");if(h!="m"){h=_gel(q+"remove_"+h+"_"+k);h.style.visibility="hidden"}}}function B(h){if(A){var k=h.currentTarget;if(A&&h.clientY>A.minY&&h.clientY<A.maxY){A.insertRow=igFI_b;igFI_.dom.classes.add(k,q+"insertRow")}else{A.insertRow=igFI_d;igFI_.dom.classes.remove(k,q+"insertRow")}}}function F(){A&&
A.insertRow&&b(A.pid,A.tickerId)}function L(h,k){var n=["ticker_",h,"_",k].join("");if(n=_gel(q+n)){igFI_.events.listen(n,"mouseover",igFI_.bind(D,igFI_c,h,k));igFI_.events.listen(n,"mouseout",igFI_.bind(v,igFI_c,h,k))}}function M(h){for(var k=x.da()[h],n=0;n<k.items.length;++n)L(h,k.items[n].ticker)}function G(){var h=x.da();for(var k in h)typeof h[k].pid!="undefined"&&M(h[k].pid);h=_gel(q+"bottomInput");igFI_.events.listen(h,"focus",c);igFI_.events.listen(h,"blur",d);igFI_.events.listen(h,"keydown",
e)}function z(){var h="/finance/info?oe=utf8&client=ig&infotype=infoquoteall&q=",k=Z.Jd();h+=k.join(",");h+="&zx="+(new Date).getTime();_sendx(h,ja,igFI_d)}function H(){var h=["/finance/portfolio?","client=ig&action=view&output=xml"];$||h.push("&auto=1");_sendx(h.join(""),R,igFI_b)}function N(h){if(h){h=["/finance/info?oe=utf8&client=ig&q=",h,"&infotype=infoquoteall&zx=",(new Date).getTime()];_sendx(h.join(""),V,igFI_d)}else{Q=igFI_b;r()}}function E(){}function R(h){x.bh(h);Q=igFI_b;r()}function V(h){h=
h.substring(h.indexOf("["));x.$g(h);x.bg()&&alert(u.getMsg("invalid_tickers"));g("a");Q=igFI_b;r()}function ja(h){h=h.substring(h.indexOf("["));x.ah(h);Y=igFI_b;r()}function ia(h,k){if(!k)return igFI_d;k=","+k+",";if(h&&h.search(k)!=-1)return igFI_b;return igFI_d}function W(h){h=x.da()[h];for(var k=[],n=0;n<h.items.length;n++)k.push(h.items[n].ticker);return k.join(J)}function ka(h){var k={cn:".name { width: 25% } .last { width: 15% } .change { width: 15% } .perc_change { width: 10% } .remove { width: 5% }"};
k[h]&&igFI_.style.installStyles(k[h])}var t=igFI_e.global.google.finance.Portfolios,u=igFI_c,T="",x=igFI_c,q="",Y=igFI_d,Q=igFI_d,$=igFI_b,aa="",Z=igFI_c,A=igFI_c,w=igFI_c,J="",la=igFI_c,ha=igFI_d,ma=igFI_d,na=igFI_c,oa=igFI_c,pa=igFI_c,qa=igFI_c,ga=igFI_c,ba=igFI_c,O={},S=igFI_d,I=igFI_b,da=igFI_b,ea=igFI_d,K="",U="",fa=igFI_d,ca=igFI_d;t.init=function(h,k,n,o,s){u=h;aa=n;q=o;O=s;Z=new igFI_.finance.portfolios.MarketIndex;$=igFI_b;la=igFI_.finance.portfolios.Regions[k];ga=new _IG_Template(o+"template");
ba=new _IG_Template(o+"addTemplate");K=t.getTopLevelDomain(window.location.href);if(!(aa!="/accounts"?igFI_d:igFI_b)||K=="cn"){da=I=igFI_d;fa=ea=igFI_b}ka(K);U="www.google."+K;Z.te(t.determineMarketCountry(u.getString("country"),K));if((aa!="/accounts"?igFI_d:igFI_b)&&I){J="  ";E=H;g=j}else{J=",";E=N;g=i}t.refresh();$=igFI_d};t.refresh=function(){Q=Y=S=igFI_d;x=new igFI_.finance.portfolios.PortList(u,U);T=u.getString("stocks_app");a();na=A=igFI_c;ma=igFI_d;qa=pa=oa=igFI_c;ha=igFI_d;z();E(T)};t.remove=
function(h,k){for(var n=x.da()[h],o=0;o<n.items.length;o++)if(n.items[o].ticker==k)if(n.items[o].holdings!=0&&n.items[o].holdings!=igFI_c)if(o=confirm(u.getMsg("remove_confirm")))break;else return;else break;x.jh(h,k);g(h);k=_gel(q+"ticker_"+h+"_"+k);k.parentNode.removeChild(k);if(n.items.length==0){k=_gel(q+"portfolioStatus_"+h);k.innerHTML=u.getMsg("empty_portfolio")}_IG_AdjustIFrameHeight()};t.onIFrameLoaded=function(){S&&t.refresh()};t.resetSelectedAddDiv=a;t.getTopLevelDomain=function(h){h=new igFI_.Uri(h);
h=h.ib("parent");return(h=igFI_.Uri.parse(h).yb().match(/google\.(.+)/i))&&h.length>1&&h[1]?h[1]:"com"};t.prependExchanges=function(h){var k=h;if(h.match(/^[0-9]{6}$/)){k="sha:"+h;k+=",she:"+h;k+=",mutf_cn:"+h;if(K!="cn")k+=",bom:"+h}else if(h.match(/^[0-9]{4,5}$/)){k="hkg:"+h;k+=",tpe:"+h}return k};t.submitInputBoxValue=function(){f()};t.onKeyDownTickerToAdd=function(h,k,n){if(h.keyCode==13)t.addStock(k,n);else h.keyCode==27&&a()};t.addStock=function(h,k){k=_gel(q+"tickerToAdd_"+h+"_"+k).value;h=
"";k=k.replace(/\s+/gi,",");k=k.split(",");for(var n=0;n<k.length;++n)h+=","+t.prependExchanges(k[n]);h=["http://",U,"/finance/info?oe=utf8&q=",h,"&client=ig&infotype=infoquoteall"];_IG_FetchContent(h.join(""),l)};t.hide=function(h){var k=_gel(q+"box_"+h),n=_gel(q+"pzippy_"+h),o=u.getString("contracted"),s="";if(k.className==q+"hide"){k.className=q+"show";n.src=O.open_triangle;s=","+h+",";k=o.indexOf(s);if(k==o.length-3)o=o.substring(0,k+1);else{h=o.substring(0,k+1);o=o.substring(k+3);o=h+o}}else{k.className=
q+"hide";n.src=O.triangle;s=","+h+",";if(o.search(s)==-1)o+=h+","}u.set("contracted",o);_IG_AdjustIFrameHeight()};t.determineMarketCountry=function(h,k){if(h=="AutoSelect")switch(k){case "ca":return"Canada";case "co.uk":return"UK";case "cn":return"China";case "com.hk":return"HK";default:return"USA"}else return h};t.onIFrameLoadedCn=function(){S&&t.refresh();var h=u.getString("stock_tickers"),k=u.getString("stock_names"),n=u.getString("last_country"),o=u.getString("country");if(h&&k&&n==o)t.showChart(h,
k);else{t.showIndexChart();u.set("last_country",o)}h=new Object({Canada:"",China:"_ccn",HK:"_hk",UK:"_uk",USA:""});o=t.determineMarketCountry(o,K);if(k=_gel(q+"time_axis"))k.src="/ig/modules/finance/time_axis_labels"+h[o]+".gif";if(o=_gel(q+"update_box")){h=new Date;h=[u.getMsg("last_updated_time"),":",h.getMonth()+1,u.getMsg("month"),h.getDate(),u.getMsg("day"),h.getHours(),":",Math.floor(h.getMinutes()/10),h.getMinutes()%10];k=["&nbsp;&nbsp",'<a href="" onclick="init();return !1;">',u.getMsg("refresh"),
"</a>"];o.innerHTML=h.join("")+k.join("")}};t.showIndexChart=function(){var h=x.da(),k=[],n=[];if(h=h.m)for(var o=0,s=h.items.length;o<s&&o<4;o++){k.push(h.items[o].ticker);n.push(h.items[o].cname)}t.showChart(k.join(","),n.join(","))};t.showChart=function(h,k){var n=_gel(q+"chart_img");if(n)n.src="/finance/chart?cht=c&chlc="+u.getMsg("chart_color")+"&q="+h;u.set("stock_tickers",h);u.set("stock_names",k);k=k.split(",");h=0;for(n=k.length;h<4;h++)if(h<n){var o=_gel(q+"label_div_"+h);if(o)o.style.display=
"block";if(o=_gel(q+"label_name_"+h))o.innerHTML=k[h]}else if(o=_gel(q+"label_div_"+h))o.style.display="none"}})();
