/* Copyright 2007 Google Inc. */ (function() { var GLOBAL_Error=Error,GLOBAL_Boolean=Boolean,GLOBAL_undefined=undefined,GLOBAL_encodeURIComponent=encodeURIComponent,GLOBAL_parseInt=parseInt,GLOBAL_parseFloat=parseFloat,GLOBAL_String=String,GLOBAL_window=window,GLOBAL_Number=Number,GLOBAL_Function=Function,GLOBAL_Object=Object,GLOBAL_document=document,GLOBAL_decodeURIComponent=decodeURIComponent,GLOBAL_Math=Math;function SETPROP_filter(b,c){return b.filter=c}function SETPROP_toString(b,c){return b.toString=c} function SETPROP_length(b,c){return b.length=c}function SETPROP_className(b,c){return b.className=c}function SETPROP_width(b,c){return b.width=c}function SETPROP_pixelWidth(b,c){return b.pixelWidth=c}function SETPROP_innerHTML(b,c){return b.innerHTML=c}function SETPROP_currentTarget(b,c){return b.currentTarget=c}function SETPROP_left(b,c){return b.left=c}function SETPROP_target(b,c){return b.target=c}function SETPROP_pixelHeight(b,c){return b.pixelHeight=c} function SETPROP_remove(b,c){return b.remove=c}function SETPROP_some(b,c){return b.some=c}function SETPROP_keyCode(b,c){return b.keyCode=c}function SETPROP_forEach(b,c){return b.forEach=c}function SETPROP_bottom(b,c){return b.bottom=c}function SETPROP_every(b,c){return b.every=c}function SETPROP_type(b,c){return b.type=c}function SETPROP_contains(b,c){return b.contains=c}function SETPROP_clear(b,c){return b.clear=c}function SETPROP_display(b,c){return b.display=c} function SETPROP_height(b,c){return b.height=c}function SETPROP_right(b,c){return b.right=c}function SETPROP_visibility(b,c){return b.visibility=c} var $$PROP_appendChild="appendChild",$$PROP_scrollTop="scrollTop",$$PROP_previousSibling="previousSibling",$$PROP_push="push",$$PROP_object="object",$$PROP_filter="filter",$$PROP_toString="toString",$$PROP_global="global",$$PROP_length="length",$$PROP_propertyIsEnumerable="propertyIsEnumerable",$$PROP_getBoundingClientRect="getBoundingClientRect",$$PROP_prototype="prototype",$$PROP_test="test",$$PROP_sourceIndex="sourceIndex",$$PROP_relatedTarget="relatedTarget",$$PROP_exec="exec",$$PROP_width="width", $$PROP_clientWidth="clientWidth",$$PROP_round="round",$$PROP_slice="slice",$$PROP_setTimeout="setTimeout",$$PROP_replace="replace",$$PROP_nodeType="nodeType",$$PROP_document="document",$$PROP_split="split",$$PROP_floor="floor",$$PROP_offsetWidth="offsetWidth",$$PROP_charAt="charAt",$$PROP_createTextNode="createTextNode",$$PROP_userAgent="userAgent",$$PROP_stack="stack",$$PROP_callee="callee",$$PROP_value="value",$$PROP_product="product",$$PROP_insertBefore="insertBefore",$$PROP_caller="caller",$$PROP_indexOf= "indexOf",$$PROP_hasOwnProperty="hasOwnProperty",$$PROP_getComputedStyle="getComputedStyle",$$PROP_compareDocumentPosition="compareDocumentPosition",$$PROP_dispatchEvent="dispatchEvent",$$PROP_style="style",$$PROP_nodeName="nodeName",$$PROP_body="body",$$PROP_left="left",$$PROP_removeChild="removeChild",$$PROP_search="search",$$PROP_target="target",$$PROP_screenX="screenX",$$PROP_screenY="screenY",$$PROP_call="call",$$PROP_match="match",$$PROP_getBoxObjectFor="getBoxObjectFor",$$PROP_remove="remove", $$PROP_some="some",$$PROP_lastIndexOf="lastIndexOf",$$PROP_focus="focus",$$PROP_createElement="createElement",$$PROP_scrollHeight="scrollHeight",$$PROP_keyCode="keyCode",$$PROP_firstChild="firstChild",$$PROP_forEach="forEach",$$PROP_clientHeight="clientHeight",$$PROP_scrollLeft="scrollLeft",$$PROP_charCodeAt="charCodeAt",$$PROP_clientLeft="clientLeft",$$PROP_bottom="bottom",$$PROP_currentStyle="currentStyle",$$PROP_substring="substring",$$PROP_clientTop="clientTop",$$PROP_handleEvent="handleEvent", $$PROP_removeNode="removeNode",$$PROP_every="every",$$PROP_type="type",$$PROP_contains="contains",$$PROP_apply="apply",$$PROP_clear="clear",$$PROP_childNodes="childNodes",$$PROP_tagName="tagName",$$PROP_defaultView="defaultView",$$PROP_name="name",$$PROP_parentNode="parentNode",$$PROP_fileName="fileName",$$PROP_nextSibling="nextSibling",$$PROP_offsetTop="offsetTop",$$PROP_height="height",$$PROP_splice="splice",$$PROP_offsetHeight="offsetHeight",$$PROP_join="join",$$PROP_unshift="unshift",$$PROP_execScript= "execScript",$$PROP_nodeValue="nodeValue",$$PROP_toLowerCase="toLowerCase",$$PROP_clientX="clientX",$$PROP_clientY="clientY",$$PROP_documentElement="documentElement",$$PROP_substr="substr",$$PROP_right="right",a,goog=goog||{};goog.global=this;goog.DEBUG=true;goog.LOCALE="en_US";goog.evalWorksForGlobals_=null;goog.provide=function(b){goog.exportPath_(b)}; goog.exportPath_=function(b,c,d){b=b[$$PROP_split](".");d=d||goog[$$PROP_global];!(b[0]in d)&&d[$$PROP_execScript]&&d[$$PROP_execScript]("var "+b[0]);for(var e;b[$$PROP_length]&&(e=b.shift());)if(!b[$$PROP_length]&&goog.isDef(c))d[e]=c;else d=d[e]?d[e]:(d[e]={})};goog.getObjectByName=function(b,c){b=b[$$PROP_split](".");c=c||goog[$$PROP_global];for(var d;d=b.shift();)if(c[d])c=c[d];else return null;return c};goog.globalize=function(b,c){c=c||goog[$$PROP_global];for(var d in b)c[d]=b[d]}; goog.addDependency=function(){};goog.require=function(){};goog.useStrictRequires=false;goog.basePath="";goog.nullFunction=function(){};goog.identityFunction=function(){return arguments[0]};goog.abstractMethod=function(){throw GLOBAL_Error("unimplemented abstract method");};goog.addSingletonGetter=function(b){b.getInstance=function(){return b.instance_||(b.instance_=new b)}}; goog.typeOf=function(b){var c=typeof b;if(c=="object")if(b){if(b instanceof Array||!(b instanceof GLOBAL_Object)&&GLOBAL_Object[$$PROP_prototype][$$PROP_toString][$$PROP_call](b)=="[object Array]"||typeof b[$$PROP_length]=="number"&&typeof b[$$PROP_splice]!="undefined"&&typeof b[$$PROP_propertyIsEnumerable]!="undefined"&&!b[$$PROP_propertyIsEnumerable]("splice"))return"array";if(!(b instanceof GLOBAL_Object)&&(GLOBAL_Object[$$PROP_prototype][$$PROP_toString][$$PROP_call](b)=="[object Function]"|| typeof b[$$PROP_call]!="undefined"&&typeof b[$$PROP_propertyIsEnumerable]!="undefined"&&!b[$$PROP_propertyIsEnumerable]("call")))return"function"}else return"null";else if(c=="function"&&typeof b[$$PROP_call]=="undefined")return"object";return c};goog.propertyIsEnumerableCustom_=function(b,c){if(c in b)for(var d in b)if(d==c&&GLOBAL_Object[$$PROP_prototype][$$PROP_hasOwnProperty][$$PROP_call](b,c))return true;return false}; goog.propertyIsEnumerable_=function(b,c){return b instanceof GLOBAL_Object?GLOBAL_Object[$$PROP_prototype][$$PROP_propertyIsEnumerable][$$PROP_call](b,c):goog.propertyIsEnumerableCustom_(b,c)};goog.isDef=function(b){return b!==GLOBAL_undefined};goog.isNull=function(b){return b===null};goog.isDefAndNotNull=function(b){return b!=null};goog.isArray=function(b){return goog.typeOf(b)=="array"};goog.isArrayLike=function(b){var c=goog.typeOf(b);return c=="array"||c=="object"&&typeof b[$$PROP_length]=="number"}; goog.isDateLike=function(b){return goog.isObject(b)&&typeof b.getFullYear=="function"};goog.isString=function(b){return typeof b=="string"};goog.isBoolean=function(b){return typeof b=="boolean"};goog.isNumber=function(b){return typeof b=="number"};goog.isFunction=function(b){return goog.typeOf(b)=="function"};goog.isObject=function(b){b=goog.typeOf(b);return b=="object"||b=="array"||b=="function"}; goog.getHashCode=function(b){if(b[$$PROP_hasOwnProperty]&&b[$$PROP_hasOwnProperty](goog.HASH_CODE_PROPERTY_))return b[goog.HASH_CODE_PROPERTY_];b[goog.HASH_CODE_PROPERTY_]||(b[goog.HASH_CODE_PROPERTY_]=++goog.hashCodeCounter_);return b[goog.HASH_CODE_PROPERTY_]};goog.removeHashCode=function(b){"removeAttribute"in b&&b.removeAttribute(goog.HASH_CODE_PROPERTY_);try{delete b[goog.HASH_CODE_PROPERTY_]}catch(c){}}; goog.HASH_CODE_PROPERTY_="closure_hashCode_"+GLOBAL_Math[$$PROP_floor](GLOBAL_Math.random()*2147483648)[$$PROP_toString](36);goog.hashCodeCounter_=0;goog.cloneObject=function(b){var c=goog.typeOf(b);if(c=="object"||c=="array"){if(b.clone)return b.clone[$$PROP_call](b);c=c=="array"?[]:{};for(var d in b)c[d]=goog.cloneObject(b[d]);return c}return b}; goog.bind=function(b,c){var d=b.boundArgs_;if(arguments[$$PROP_length]>2){var e=Array[$$PROP_prototype][$$PROP_slice][$$PROP_call](arguments,2);d&&e[$$PROP_unshift][$$PROP_apply](e,d);d=e}c=b.boundSelf_||c;b=b.boundFn_||b;var f=c||goog[$$PROP_global];e=d?function(){var g=Array[$$PROP_prototype][$$PROP_slice][$$PROP_call](arguments);g[$$PROP_unshift][$$PROP_apply](g,d);return b[$$PROP_apply](f,g)}:function(){return b[$$PROP_apply](f,arguments)};e.boundArgs_=d;e.boundSelf_=c;e.boundFn_=b;return e}; goog.partial=function(b){var c=Array[$$PROP_prototype][$$PROP_slice][$$PROP_call](arguments,1);c[$$PROP_unshift](b,null);return goog.bind[$$PROP_apply](null,c)};goog.mixin=function(b,c){for(var d in c)b[d]=c[d]};goog.now=Date.now||function(){return(new Date).getTime()}; goog.globalEval=function(b){if(goog[$$PROP_global][$$PROP_execScript])goog[$$PROP_global][$$PROP_execScript](b,"JavaScript");else if(goog[$$PROP_global].eval){if(goog.evalWorksForGlobals_==null){goog[$$PROP_global].eval("var _et_ = 1;");if(typeof goog[$$PROP_global]._et_!="undefined"){delete goog[$$PROP_global]._et_;goog.evalWorksForGlobals_=true}else goog.evalWorksForGlobals_=false}if(goog.evalWorksForGlobals_)goog[$$PROP_global].eval(b);else{var c=goog[$$PROP_global][$$PROP_document],d=c[$$PROP_createElement]("script"); SETPROP_type(d,"text/javascript");d.defer=false;d[$$PROP_appendChild](c[$$PROP_createTextNode](b));c[$$PROP_body][$$PROP_appendChild](d);c[$$PROP_body][$$PROP_removeChild](d)}}else throw GLOBAL_Error("goog.globalEval not available");};goog.typedef=true;goog.getCssName=function(b,c){b=b+(c?"-"+c:"");return goog.cssNameMapping_&&b in goog.cssNameMapping_?goog.cssNameMapping_[b]:b};goog.setCssNameMapping=function(b){goog.cssNameMapping_=b}; goog.getMsg=function(b,c){c=c||{};for(var d in c)b=b[$$PROP_replace](new RegExp("\\{\\$"+d+"\\}","gi"),c[d]);return b};goog.exportSymbol=function(b,c,d){goog.exportPath_(b,c,d)};goog.exportProperty=function(b,c,d){b[c]=d};goog.inherits=function(b,c){function d(){}d.prototype=c[$$PROP_prototype];b.superClass_=c[$$PROP_prototype];b.prototype=new d;b[$$PROP_prototype].constructor=b};goog.MODIFY_FUNCTION_PROTOTYPES=true; if(goog.MODIFY_FUNCTION_PROTOTYPES){GLOBAL_Function[$$PROP_prototype].bind=function(b){if(arguments[$$PROP_length]>1){var c=Array[$$PROP_prototype][$$PROP_slice][$$PROP_call](arguments,1);c[$$PROP_unshift](this,b);return goog.bind[$$PROP_apply](null,c)}else return goog.bind(this,b)};GLOBAL_Function[$$PROP_prototype].partial=function(){var b=Array[$$PROP_prototype][$$PROP_slice][$$PROP_call](arguments);b[$$PROP_unshift](this,null);return goog.bind[$$PROP_apply](null,b)};GLOBAL_Function[$$PROP_prototype].inherits= function(b){goog.inherits(this,b)};GLOBAL_Function[$$PROP_prototype].mixin=function(b){goog.mixin(this[$$PROP_prototype],b)}};goog.array={};goog.array.ArrayLike=goog.typedef;goog.array.peek=function(b){return b[b[$$PROP_length]-1]};goog.array.indexOf=function(b,c,d){if(b[$$PROP_indexOf])return b[$$PROP_indexOf](c,d);if(Array[$$PROP_indexOf])return Array[$$PROP_indexOf](b,c,d);for(d=d=d==null?0:d<0?GLOBAL_Math.max(0,b[$$PROP_length]+d):d;d=0;d--)if(d in b&&b[d]===c)return d;return-1}; SETPROP_forEach(goog.array,function(b,c,d){if(b[$$PROP_forEach])b[$$PROP_forEach](c,d);else if(Array[$$PROP_forEach])Array[$$PROP_forEach](b,c,d);else for(var e=b[$$PROP_length],f=goog.isString(b)?b[$$PROP_split](""):b,g=0;g=0;--e)e in f&&c[$$PROP_call](d,f[e],e,b)}; SETPROP_filter(goog.array,function(b,c,d){if(b[$$PROP_filter])return b[$$PROP_filter](c,d);if(Array[$$PROP_filter])return Array[$$PROP_filter](b,c,d);for(var e=b[$$PROP_length],f=[],g=0,h=goog.isString(b)?b[$$PROP_split](""):b,i=0;i=0;e--)if(e in f&&c[$$PROP_call](d,f[e],e,b))return e;return-1}; SETPROP_contains(goog.array,function(b,c){if(b[$$PROP_contains])return b[$$PROP_contains](c);return goog.array[$$PROP_indexOf](b,c)>-1});goog.array.isEmpty=function(b){return b[$$PROP_length]==0};SETPROP_clear(goog.array,function(b){if(!goog.isArray(b))for(var c=b[$$PROP_length]-1;c>=0;c--)delete b[c];SETPROP_length(b,0)});goog.array.insert=function(b,c){goog.array[$$PROP_contains](b,c)||b[$$PROP_push](c)};goog.array.insertAt=function(b,c,d){goog.array[$$PROP_splice](b,d,0,c)}; goog.array.insertArrayAt=function(b,c,d){goog.partial(goog.array[$$PROP_splice],b,d,0)[$$PROP_apply](null,c)};goog.array.insertBefore=function(b,c,d){var e;arguments[$$PROP_length]==2||(e=goog.array[$$PROP_indexOf](b,d))==-1?b[$$PROP_push](c):goog.array.insertAt(b,c,e)};SETPROP_remove(goog.array,function(b,c){c=goog.array[$$PROP_indexOf](b,c);var d;if(d=c!=-1)goog.array.removeAt(b,c);return d}); goog.array.removeAt=function(b,c){return Array[$$PROP_prototype][$$PROP_splice][$$PROP_call](b,c,1)[$$PROP_length]==1};goog.array.removeIf=function(b,c,d){c=goog.array.findIndex(b,c,d);if(c>=0){goog.array.removeAt(b,c);return true}return false};goog.array.clone=function(b){if(goog.isArray(b))return b.concat();else{for(var c=[],d=0,e=b[$$PROP_length];d>1,h=d(c,b[g]);if(h>0)e=g+1;else if(h<0)f=g-1;else return g}return-(e+1)};goog.array.sort=function(b,c){Array[$$PROP_prototype].sort[$$PROP_call](b,c||goog.array.defaultCompare)}; goog.array.stableSort=function(b,c){for(var d=0;dc?1:b=0?goog.array.removeAt(b,c):false};goog.array.bucket=function(b,c){for(var d={},e=0;e0)Array[$$PROP_prototype][$$PROP_unshift][$$PROP_apply](b,b[$$PROP_splice](-c,c));else c<0&&Array[$$PROP_prototype][$$PROP_push][$$PROP_apply](b,b[$$PROP_splice](0,-c))}return b};goog.string={};goog.string.Unicode={NBSP:"\u00a0"};goog.string.startsWith=function(b,c){return b[$$PROP_indexOf](c)==0};goog.string.endsWith=function(b,c){var d=b[$$PROP_length]-c[$$PROP_length];return d>=0&&b[$$PROP_lastIndexOf](c,d)==d};goog.string.caseInsensitiveStartsWith=function(b,c){return goog.string.caseInsensitiveCompare(c,b[$$PROP_substr](0,c[$$PROP_length]))==0}; goog.string.caseInsensitiveEndsWith=function(b,c){return goog.string.caseInsensitiveCompare(c,b[$$PROP_substr](b[$$PROP_length]-c[$$PROP_length],c[$$PROP_length]))==0};goog.string.subs=function(b){for(var c=1;c=" "&&b<="~"||b>="\u0080"&&b<="\ufffd"};goog.string.stripNewlines=function(b){return b[$$PROP_replace](/(\r\n|\r|\n)+/g," ")};goog.string.canonicalizeNewlines=function(b){return b[$$PROP_replace](/(\r\n|\r|\n)/g,"\n")};goog.string.normalizeWhitespace=function(b){return b[$$PROP_replace](/\xa0|\s/g," ")};goog.string.normalizeSpaces=function(b){return b[$$PROP_replace](/\xa0|[ \t]+/g," ")}; goog.string.trim=function(b){return b[$$PROP_replace](/^[\s\xa0]+|[\s\xa0]+$/g,"")};goog.string.trimLeft=function(b){return b[$$PROP_replace](/^[\s\xa0]+/,"")};goog.string.trimRight=function(b){return b[$$PROP_replace](/[\s\xa0]+$/,"")};goog.string.caseInsensitiveCompare=function(b,c){b=GLOBAL_String(b)[$$PROP_toLowerCase]();c=GLOBAL_String(c)[$$PROP_toLowerCase]();return b":"
")}; goog.string.htmlEscape=function(b,c){if(c)return b[$$PROP_replace](goog.string.amperRe_,"&")[$$PROP_replace](goog.string.ltRe_,"<")[$$PROP_replace](goog.string.gtRe_,">")[$$PROP_replace](goog.string.quotRe_,""");else{if(!goog.string.allRe_[$$PROP_test](b))return b;if(b[$$PROP_indexOf]("&")!=-1)b=b[$$PROP_replace](goog.string.amperRe_,"&");if(b[$$PROP_indexOf]("<")!=-1)b=b[$$PROP_replace](goog.string.ltRe_,"<");if(b[$$PROP_indexOf](">")!=-1)b=b[$$PROP_replace](goog.string.gtRe_, ">");if(b[$$PROP_indexOf]('"')!=-1)b=b[$$PROP_replace](goog.string.quotRe_,""");return b}};goog.string.amperRe_=/&/g;goog.string.ltRe_=//g;goog.string.quotRe_=/\"/g;goog.string.allRe_=/[&<>\"]/;goog.string.unescapeEntities=function(b){if(goog.string[$$PROP_contains](b,"&"))return"document"in goog[$$PROP_global]&&!goog.string[$$PROP_contains](b,"<")?goog.string.unescapeEntitiesUsingDom_(b):goog.string.unescapePureXmlEntities_(b);return b}; goog.string.unescapeEntitiesUsingDom_=function(b){var c=goog[$$PROP_global][$$PROP_document][$$PROP_createElement]("a");SETPROP_innerHTML(c,b);c[goog.string.NORMALIZE_FN_]&&c[goog.string.NORMALIZE_FN_]();b=c[$$PROP_firstChild][$$PROP_nodeValue];SETPROP_innerHTML(c,"");return b}; goog.string.unescapePureXmlEntities_=function(b){return b[$$PROP_replace](/&([^;]+);/g,function(c,d){switch(d){case "amp":return"&";case "lt":return"<";case "gt":return">";case "quot":return'"';default:if(d[$$PROP_charAt](0)=="#"){d=GLOBAL_Number("0"+d[$$PROP_substr](1));if(!isNaN(d))return GLOBAL_String.fromCharCode(d)}return c}})};goog.string.NORMALIZE_FN_="normalize";goog.string.whitespaceEscape=function(b,c){return goog.string.newLineToBr(b[$$PROP_replace](/ /g,"  "),c)}; goog.string.stripQuotes=function(b,c){for(var d=c[$$PROP_length],e=0;ec)b=b[$$PROP_substring](0,c-3)+"...";if(d)b=goog.string.htmlEscape(b);return b}; goog.string.truncateMiddle=function(b,c,d){if(d)b=goog.string.unescapeEntities(b);if(b[$$PROP_length]>c){var e=GLOBAL_Math[$$PROP_floor](c/2),f=b[$$PROP_length]-e;e+=c%2;b=b[$$PROP_substring](0,e)+"..."+b[$$PROP_substring](f)}if(d)b=goog.string.htmlEscape(b);return b};goog.string.jsEscapeCache_={"\u0008":"\\b","\u000c":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\u000b":"\\x0B",'"':'\\"',"'":"\\'","\\":"\\\\"}; goog.string.quote=function(b){b=GLOBAL_String(b);if(b.quote)return b.quote();else{for(var c=['"'],d=0;d31&&d<127)c=b;else{if(d<256){c="\\x";if(d<16||d>256)c+="0"}else{c="\\u";if(d<4096)c+="0"}c+=d[$$PROP_toString](16).toUpperCase()}return goog.string.jsEscapeCache_[b]=c};goog.string.toMap=function(b){for(var c={},d=0;d=0&&c0)e=b[$$PROP_substr](0,c)+b[$$PROP_substr](c+d,b[$$PROP_length]-c-d);return e};SETPROP_remove(goog.string,function(b,c){c=new RegExp(goog.string.regExpEscape(c),"");return b[$$PROP_replace](c,"")});goog.string.removeAll=function(b,c){c=new RegExp(goog.string.regExpEscape(c),"g");return b[$$PROP_replace](c,"")}; goog.string.regExpEscape=function(b){return GLOBAL_String(b)[$$PROP_replace](/([-()\[\]{}+?*.$\^|,:#c)return 1;return 0};goog.string.HASHCODE_MAX_=4294967296;goog.string.hashCode=function(b){for(var c=0,d=0;d=b[$$PROP_length])throw goog.iter.StopIteration;if(c in b)return b[c++];else c++}};return d}throw GLOBAL_Error("Not implemented");}; SETPROP_forEach(goog.iter,function(b,c,d){if(goog.isArrayLike(b))try{goog.array[$$PROP_forEach](b,c,d)}catch(e){if(e!==goog.iter.StopIteration)throw e;}else{b=goog.iter.toIterator(b);try{for(;1;)c[$$PROP_call](d,b.next(),GLOBAL_undefined,b)}catch(f){if(f!==goog.iter.StopIteration)throw f;}}});SETPROP_filter(goog.iter,function(b,c,d){b=goog.iter.toIterator(b);var e=new goog.iter.Iterator;e.next=function(){for(;1;){var f=b.next();if(c[$$PROP_call](d,f,GLOBAL_undefined,b))return f}};return e}); goog.iter.range=function(b,c,d){var e=0,f=b,g=d||1;if(arguments[$$PROP_length]>1){e=b;f=c}if(g==0)throw GLOBAL_Error("Range step argument must not be zero");var h=new goog.iter.Iterator;h.next=function(){if(g>0&&e>=f||g<0&&e<=f)throw goog.iter.StopIteration;var i=e;e+=g;return i};return h};goog.iter.join=function(b,c){return goog.iter.toArray(b)[$$PROP_join](c)}; goog.iter.map=function(b,c,d){b=goog.iter.toIterator(b);var e=new goog.iter.Iterator;e.next=function(){for(;1;){var f=b.next();return c[$$PROP_call](d,f,GLOBAL_undefined,b)}};return e};goog.iter.reduce=function(b,c,d,e){var f=d;goog.iter[$$PROP_forEach](b,function(g){f=c[$$PROP_call](e,f,g)});return f};SETPROP_some(goog.iter,function(b,c,d){b=goog.iter.toIterator(b);try{for(;1;)if(c[$$PROP_call](d,b.next(),GLOBAL_undefined,b))return true}catch(e){if(e!==goog.iter.StopIteration)throw e;}return false}); SETPROP_every(goog.iter,function(b,c,d){b=goog.iter.toIterator(b);try{for(;1;)if(!c[$$PROP_call](d,b.next(),GLOBAL_undefined,b))return false}catch(e){if(e!==goog.iter.StopIteration)throw e;}return true});goog.iter.chain=function(){var b=arguments,c=b[$$PROP_length],d=0,e=new goog.iter.Iterator;e.next=function(){try{if(d>=c)throw goog.iter.StopIteration;var f=goog.iter.toIterator(b[d]);return f.next()}catch(g){if(g!==goog.iter.StopIteration||d>=c)throw g;else{d++;return this.next()}}};return e}; goog.iter.dropWhile=function(b,c,d){b=goog.iter.toIterator(b);var e=new goog.iter.Iterator,f=true;e.next=function(){for(;1;){var g=b.next();if(!(f&&c[$$PROP_call](d,g,GLOBAL_undefined,b))){f=false;return g}}};return e};goog.iter.takeWhile=function(b,c,d){b=goog.iter.toIterator(b);var e=new goog.iter.Iterator,f=true;e.next=function(){for(;1;)if(f){var g=b.next();if(c[$$PROP_call](d,g,GLOBAL_undefined,b))return g;else f=false}else throw goog.iter.StopIteration;};return e}; goog.iter.toArray=function(b){if(goog.isArrayLike(b))return goog.array.toArray(b);b=goog.iter.toIterator(b);var c=[];goog.iter[$$PROP_forEach](b,function(d){c[$$PROP_push](d)});return c}; goog.iter.equals=function(b,c){b=goog.iter.toIterator(b);c=goog.iter.toIterator(c);var d,e;try{for(;1;){d=e=false;var f=b.next();d=true;var g=c.next();e=true;if(f!=g)return false}}catch(h){if(h!==goog.iter.StopIteration)throw h;else{if(d&&!e)return false;if(!e)try{c.next();return false}catch(i){if(i!==goog.iter.StopIteration)throw i;return true}}}return false};goog.iter.nextOrValue=function(b,c){try{return goog.iter.toIterator(b).next()}catch(d){if(d!=goog.iter.StopIteration)throw d;return c}};goog.object={};SETPROP_forEach(goog[$$PROP_object],function(b,c,d){for(var e in b)c[$$PROP_call](d,b[e],e,b)});SETPROP_filter(goog[$$PROP_object],function(b,c,d){var e={};for(var f in b)if(c[$$PROP_call](d,b[f],f,b))e[f]=b[f];return e});goog[$$PROP_object].map=function(b,c,d){var e={};for(var f in b)e[f]=c[$$PROP_call](d,b[f],f,b);return e};SETPROP_some(goog[$$PROP_object],function(b,c,d){for(var e in b)if(c[$$PROP_call](d,b[e],e,b))return true;return false}); SETPROP_every(goog[$$PROP_object],function(b,c,d){for(var e in b)if(!c[$$PROP_call](d,b[e],e,b))return false;return true});goog[$$PROP_object].getCount=function(b){var c=0;for(var d in b)c++;return c};goog[$$PROP_object].getAnyKey=function(b){for(var c in b)return c};goog[$$PROP_object].getAnyValue=function(b){for(var c in b)return b[c]};SETPROP_contains(goog[$$PROP_object],function(b,c){return goog[$$PROP_object].containsValue(b,c)}); goog[$$PROP_object].getValues=function(b){var c=[],d=0;for(var e in b)c[d++]=b[e];return c};goog[$$PROP_object].getKeys=function(b){var c=[],d=0;for(var e in b)c[d++]=e;return c};goog[$$PROP_object].containsKey=function(b,c){return c in b};goog[$$PROP_object].containsValue=function(b,c){for(var d in b)if(b[d]==c)return true;return false};goog[$$PROP_object].findKey=function(b,c,d){for(var e in b)if(c[$$PROP_call](d,b[e],e,b))return e;return GLOBAL_undefined}; goog[$$PROP_object].findValue=function(b,c,d){return(c=goog[$$PROP_object].findKey(b,c,d))&&b[c]};goog[$$PROP_object].isEmpty=function(b){for(var c in b)return false;return true};SETPROP_clear(goog[$$PROP_object],function(b){for(var c=goog[$$PROP_object].getKeys(b),d=c[$$PROP_length]-1;d>=0;d--)goog[$$PROP_object][$$PROP_remove](b,c[d])});SETPROP_remove(goog[$$PROP_object],function(b,c){var d;if(d=c in b)delete b[c];return d}); goog[$$PROP_object].add=function(b,c,d){if(c in b)throw GLOBAL_Error('The object already contains the key "'+c+'"');goog[$$PROP_object].set(b,c,d)};goog[$$PROP_object].get=function(b,c,d){if(c in b)return b[c];return d};goog[$$PROP_object].set=function(b,c,d){b[c]=d};goog[$$PROP_object].setIfUndefined=function(b,c,d){return c in b?b[c]:(b[c]=d)};goog[$$PROP_object].clone=function(b){var c={};for(var d in b)c[d]=b[d];return c}; goog[$$PROP_object].transpose=function(b){var c={};for(var d in b)c[b[d]]=d;return c};goog[$$PROP_object].PROTOTYPE_FIELDS_=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]; goog[$$PROP_object].extend=function(b){for(var c,d,e=1;e1){if(c%2)throw GLOBAL_Error("Uneven number of arguments");for(var d=0;d2*this.count_&&this.cleanupKeysArray_();return true}return false}); a.cleanupKeysArray_=function(){if(this.count_!=this.keys_[$$PROP_length]){for(var b=0,c=0;b=d[$$PROP_length])throw goog.iter.StopIteration;var i=d[c++];return b?i:e[i]}};return h}; goog.structs.Map.hasKey_=function(b,c){return GLOBAL_Object[$$PROP_prototype][$$PROP_hasOwnProperty][$$PROP_call](b,c)};goog.structs.Map.getCount=function(b){return goog.structs.getCount(b)};goog.structs.Map.getValues=function(b){return goog.structs.getValues(b)};goog.structs.Map.getKeys=function(b){if(typeof b.getKeys=="function")return b.getKeys();var c=[];if(goog.isArrayLike(b))for(var d=0;dc)return false;if(!(b instanceof goog.structs.Set)&&c>5)b=new goog.structs.Set(b);return goog.structs[$$PROP_every](this,function(d){return goog.structs[$$PROP_contains](b,d)})};a.__iterator__=function(){return this.map_.__iterator__(false)};goog.debug={};goog.debug.catchErrors=function(b,c,d){var e=b||goog.debug.LogManager.getRoot();b=d||goog[$$PROP_global];var f=b.onerror;b.onerror=function(g,h,i){f&&f(g,h,i);h=GLOBAL_String(h)[$$PROP_split](/[\/\\]/).pop();goog.isFunction(e)?e({message:g,fileName:h,line:i}):e.severe("Error: "+g+" ("+h+" @ Line: "+i+")");return GLOBAL_Boolean(c)}}; goog.debug.expose=function(b,c){if(typeof b=="undefined")return"undefined";if(b==null)return"NULL";var d=[];for(var e in b)if(!(!c&&goog.isFunction(b[e]))){var f=e+" = ";try{f+=b[e]}catch(g){f+="*** "+g+" ***"}d[$$PROP_push](f)}return d[$$PROP_join]("\n")}; goog.debug.deepExpose=function(b,c){var d=new goog.structs.Set,e=[],f=function(g,h){var i=h+" ",j=function(m){return m[$$PROP_replace](/\n/g,"\n"+h)};try{if(goog.isDef(g))if(goog.isNull(g))e[$$PROP_push]("NULL");else if(goog.isString(g))e[$$PROP_push]('"'+j(g)+'"');else if(goog.isFunction(g))e[$$PROP_push](j(GLOBAL_String(g)));else if(goog.isObject(g))if(d[$$PROP_contains](g))e[$$PROP_push]("*** reference loop detected ***");else{d.add(g);e[$$PROP_push]("{");for(var k in g)if(!(!c&&goog.isFunction(g[k]))){e[$$PROP_push]("\n"); e[$$PROP_push](i);e[$$PROP_push](k+" = ");f(g[k],i)}e[$$PROP_push]("\n"+h+"}")}else e[$$PROP_push](g);else e[$$PROP_push]("undefined")}catch(l){e[$$PROP_push]("*** "+l+" ***")}};f(b,"");return e[$$PROP_join]("")};goog.debug.exposeArray=function(b){for(var c=[],d=0;d'+d[$$PROP_fileName]+"\nLine: "+d.lineNumber+"\n\nBrowser stack:\n"+goog.string.htmlEscape(d[$$PROP_stack]+"-> ")+"[end]\n\nJS stack traversal:\n"+goog.string.htmlEscape(goog.debug.getStacktrace(c)+"-> ");return e}catch(f){return"Exception trying to expose exception! You win, we lose. "+f}}; goog.debug.normalizeErrorObject=function(b){var c=goog.getObjectByName("window.location.href");return typeof b=="string"?{message:b,name:"Unknown error",lineNumber:"Not available",fileName:c,stack:"Not available"}:!b.lineNumber||!b[$$PROP_fileName]||!b[$$PROP_stack]?{message:b.message,name:b[$$PROP_name],lineNumber:b.lineNumber||b.line||"Not available",fileName:b[$$PROP_fileName]||b.filename||b.sourceURL||c,stack:b[$$PROP_stack]||"Not available"}:b}; goog.debug.enhanceError=function(b,c){var d=typeof b=="string"?GLOBAL_Error(b):b;if(!d[$$PROP_stack])d.stack=goog.debug.getStacktrace(arguments[$$PROP_callee][$$PROP_caller]);if(c){for(var e=0;d["message"+e];)++e;d["message"+e]=GLOBAL_String(c)}return d}; goog.debug.getStacktraceSimple=function(b){for(var c=[],d=arguments[$$PROP_callee][$$PROP_caller],e=0;d&&(!b||e=goog.debug.MAX_STACK_DEPTH){c[$$PROP_push]("[...long stack...]");break}}b&&e>=b?c[$$PROP_push]("[...reached max depth limit...]"):c[$$PROP_push]("[end]");return c[$$PROP_join]("")};goog.debug.MAX_STACK_DEPTH=50; goog.debug.getStacktrace=function(b){return goog.debug.getStacktraceHelper_(b||arguments[$$PROP_callee][$$PROP_caller],[])}; goog.debug.getStacktraceHelper_=function(b,c){var d=[];if(goog.array[$$PROP_contains](c,b))d[$$PROP_push]("[...circular reference...]");else if(b&&c[$$PROP_length]0&&d[$$PROP_push](", ");var g;g=e[f];switch(typeof g){case "object":g=g?"object":"null";break;case "string":g=g;break;case "number":g=GLOBAL_String(g);break;case "boolean":g=g?"true":"false";break;case "function":g= (g=goog.debug.getFunctionName(g))?g:"[fn]";break;case "undefined":default:g=typeof g;break}if(g[$$PROP_length]>40)g=g[$$PROP_substr](0,40)+"...";d[$$PROP_push](g)}c[$$PROP_push](b);d[$$PROP_push](")\n");try{d[$$PROP_push](goog.debug.getStacktraceHelper_(b[$$PROP_caller],c))}catch(h){d[$$PROP_push]("[exception trying to get caller]\n")}}else b?d[$$PROP_push]("[...long stack...]"):d[$$PROP_push]("[end]");return d[$$PROP_join]("")}; goog.debug.getFunctionName=function(b){b=GLOBAL_String(b);if(!goog.debug.fnNameCache_[b]){var c=/function ([^\(]+)/[$$PROP_exec](b);if(c){c=c[1];goog.debug.fnNameCache_[b]=c}else goog.debug.fnNameCache_[b]="[Anonymous]"}return goog.debug.fnNameCache_[b]}; goog.debug.getAnonFunctionName_=function(b,c,d,e){if(goog.getObjectByName("document.all"))return"";c=c||goog[$$PROP_global];d=d||"";e=e||0;if(c==b)return d;for(var f in c)if(!(f=="Packages"||f=="sun"||f=="netscape"||f=="java")){if(c[f]==b)return d+f;if((typeof c[f]=="function"||typeof c[f]=="object")&&c[f]!=goog[$$PROP_global]&&c[f]!=goog.getObjectByName("document")&&c[$$PROP_hasOwnProperty](f)&&e<6){var g=goog.debug.getAnonFunctionName_(b,c[f],d+f+".",e+1);if(g)return g}}return""}; goog.debug.makeWhitespaceVisible=function(b){return b[$$PROP_replace](/ /g,"[_]")[$$PROP_replace](/\f/g,"[f]")[$$PROP_replace](/\n/g,"[n]\n")[$$PROP_replace](/\r/g,"[r]")[$$PROP_replace](/\t/g,"[t]")};goog.debug.fnNameCache_={};goog.debug.LogRecord=function(b,c,d,e,f){this.sequenceNumber_=typeof f=="number"?f:goog.debug.LogRecord.nextSequenceNumber_++;this.time_=e||goog.now();this.level_=b;this.msg_=c;this.loggerName_=d};goog.debug.LogRecord[$$PROP_prototype].exception_=null;goog.debug.LogRecord[$$PROP_prototype].exceptionText_=null;goog.debug.LogRecord.nextSequenceNumber_=0;goog.debug.LogRecord[$$PROP_prototype].setException=function(b){this.exception_=b}; goog.debug.LogRecord[$$PROP_prototype].setExceptionText=function(b){this.exceptionText_=b};goog.debug.LogRecord[$$PROP_prototype].getLevel=function(){return this.level_};goog.debug.LogRecord[$$PROP_prototype].setLevel=function(b){this.level_=b};goog.debug.Logger=function(b){this.name_=b;this.parent_=null;this.children_={};this.handlers_=[]};goog.debug.Logger[$$PROP_prototype].level_=null;goog.debug.Logger.Level=function(b,c){this.name=b;this.value=c};SETPROP_toString(goog.debug.Logger.Level[$$PROP_prototype],function(){return this[$$PROP_name]});goog.debug.Logger.Level.OFF=new goog.debug.Logger.Level("OFF",Infinity);goog.debug.Logger.Level.SHOUT=new goog.debug.Logger.Level("SHOUT",1200); goog.debug.Logger.Level.SEVERE=new goog.debug.Logger.Level("SEVERE",1000);goog.debug.Logger.Level.WARNING=new goog.debug.Logger.Level("WARNING",900);goog.debug.Logger.Level.INFO=new goog.debug.Logger.Level("INFO",800);goog.debug.Logger.Level.CONFIG=new goog.debug.Logger.Level("CONFIG",700);goog.debug.Logger.Level.FINE=new goog.debug.Logger.Level("FINE",500);goog.debug.Logger.Level.FINER=new goog.debug.Logger.Level("FINER",400);goog.debug.Logger.Level.FINEST=new goog.debug.Logger.Level("FINEST",300); goog.debug.Logger.Level.ALL=new goog.debug.Logger.Level("ALL",0);goog.debug.Logger.Level.PREDEFINED_LEVELS=[goog.debug.Logger.Level.OFF,goog.debug.Logger.Level.SHOUT,goog.debug.Logger.Level.SEVERE,goog.debug.Logger.Level.WARNING,goog.debug.Logger.Level.INFO,goog.debug.Logger.Level.CONFIG,goog.debug.Logger.Level.FINE,goog.debug.Logger.Level.FINER,goog.debug.Logger.Level.FINEST,goog.debug.Logger.Level.ALL];goog.debug.Logger.Level.predefinedLevelsCache_=null; goog.debug.Logger.Level.createPredefinedLevelsCache_=function(){goog.debug.Logger.Level.predefinedLevelsCache_={};for(var b=0,c;c=goog.debug.Logger.Level.PREDEFINED_LEVELS[b];b++){goog.debug.Logger.Level.predefinedLevelsCache_[c[$$PROP_value]]=c;goog.debug.Logger.Level.predefinedLevelsCache_[c[$$PROP_name]]=c}}; goog.debug.Logger.Level.getPredefinedLevel=function(b){goog.debug.Logger.Level.predefinedLevelsCache_||goog.debug.Logger.Level.createPredefinedLevelsCache_();return goog.debug.Logger.Level.predefinedLevelsCache_[b]||null}; goog.debug.Logger.Level.getPredefinedLevelByValue=function(b){goog.debug.Logger.Level.predefinedLevelsCache_||goog.debug.Logger.Level.createPredefinedLevelsCache_();if(b in goog.debug.Logger.Level.predefinedLevelsCache_)return goog.debug.Logger.Level.predefinedLevelsCache_[b];for(var c=0;c=this.level_[$$PROP_value];if(this.parent_)return this.parent_.isLoggable(b);return false};a.log=function(b,c,d){this.isLoggable(b)&&this.logRecord(this.getLogRecord(b,c,d))}; a.getLogRecord=function(b,c,d){var e=new goog.debug.LogRecord(b,GLOBAL_String(c),this.name_);if(d){e.setException(d);e.setExceptionText(goog.debug.exposeException(d,arguments[$$PROP_callee][$$PROP_caller]))}return e};a.severe=function(b,c){this.log(goog.debug.Logger.Level.SEVERE,b,c)};a.logRecord=function(b){if(this.isLoggable(b.getLevel()))for(var c=this;c;){c.callPublish_(b);c=c.getParent()}};a.callPublish_=function(b){for(var c=0;c=0)};goog.math.Size=function(b,c){SETPROP_width(this,b);SETPROP_height(this,c)};goog.math.Size.equals=function(b,c){if(b==c)return true;if(!b||!c)return false;return b[$$PROP_width]==c[$$PROP_width]&&b[$$PROP_height]==c[$$PROP_height]};goog.math.Size[$$PROP_prototype].clone=function(){return new goog.math.Size(this[$$PROP_width],this[$$PROP_height])};if(goog.DEBUG)SETPROP_toString(goog.math.Size[$$PROP_prototype],function(){return"("+this[$$PROP_width]+" x "+this[$$PROP_height]+")"});a=goog.math.Size[$$PROP_prototype]; a.area=function(){return this[$$PROP_width]*this[$$PROP_height]};a.isEmpty=function(){return!this.area()};a.ceil=function(){SETPROP_width(this,GLOBAL_Math.ceil(this[$$PROP_width]));SETPROP_height(this,GLOBAL_Math.ceil(this[$$PROP_height]));return this};a.floor=function(){SETPROP_width(this,GLOBAL_Math[$$PROP_floor](this[$$PROP_width]));SETPROP_height(this,GLOBAL_Math[$$PROP_floor](this[$$PROP_height]));return this}; a.round=function(){SETPROP_width(this,GLOBAL_Math[$$PROP_round](this[$$PROP_width]));SETPROP_height(this,GLOBAL_Math[$$PROP_round](this[$$PROP_height]));return this};a.scale=function(b){this.width*=b;this.height*=b;return this};goog.dom={};goog.dom.classes={};goog.dom.classes.set=function(b,c){SETPROP_className(b,c)};goog.dom.classes.get=function(b){return(b=b.className)&&typeof b[$$PROP_split]=="function"?b[$$PROP_split](" "):[]};goog.dom.classes.add=function(b){var c=goog.dom.classes.get(b),d=goog.array[$$PROP_slice](arguments,1);d=goog.dom.classes.add_(c,d);SETPROP_className(b,c[$$PROP_join](" "));return d}; SETPROP_remove(goog.dom.classes,function(b){var c=goog.dom.classes.get(b),d=goog.array[$$PROP_slice](arguments,1);d=goog.dom.classes.remove_(c,d);SETPROP_className(b,c[$$PROP_join](" "));return d});goog.dom.classes.add_=function(b,c){for(var d=0,e=0;eb?c>f?c:f:c");d=d[$$PROP_join]("")}var f=b[$$PROP_createElement](d);if(e)if(goog.isString(e))SETPROP_className(f,e);else goog.dom.setProperties(f,e); if(c[$$PROP_length]>2){function g(h){if(h)f[$$PROP_appendChild](goog.isString(h)?b[$$PROP_createTextNode](h):h)}for(e=2;e0};goog.dom.BAD_CONTAINS_WEBKIT_=goog[$$PROP_userAgent].WEBKIT&&goog[$$PROP_userAgent].isVersion("522"); SETPROP_contains(goog.dom,function(b,c){if(typeof b[$$PROP_contains]!="undefined"&&!goog.dom.BAD_CONTAINS_WEBKIT_&&c[$$PROP_nodeType]==goog.dom.NodeType.ELEMENT)return b==c||b[$$PROP_contains](c);if(typeof b[$$PROP_compareDocumentPosition]!="undefined")return b==c||GLOBAL_Boolean(b[$$PROP_compareDocumentPosition](c)&16);for(;c&&b!=c;)c=c[$$PROP_parentNode];return c==b}); goog.dom.compareNodeOrder=function(b,c){if(b==c)return 0;if(b[$$PROP_compareDocumentPosition])return b[$$PROP_compareDocumentPosition](c)&2?1:-1;if("sourceIndex"in b||b[$$PROP_parentNode]&&"sourceIndex"in b[$$PROP_parentNode]){var d=b[$$PROP_nodeType]==goog.dom.NodeType.ELEMENT,e=c[$$PROP_nodeType]==goog.dom.NodeType.ELEMENT;if(d&&e)return b[$$PROP_sourceIndex]-c[$$PROP_sourceIndex];else{var f=b[$$PROP_parentNode],g=c[$$PROP_parentNode];if(f==g)return goog.dom.compareSiblingOrder_(b,c);if(!d&&goog.dom[$$PROP_contains](f, c))return-1*goog.dom.compareParentsDescendantNodeIe_(b,c);if(!e&&goog.dom[$$PROP_contains](g,b))return goog.dom.compareParentsDescendantNodeIe_(c,b);return(d?b[$$PROP_sourceIndex]:f[$$PROP_sourceIndex])-(e?c[$$PROP_sourceIndex]:g[$$PROP_sourceIndex])}}e=goog.dom.getOwnerDocument(b);d=e.createRange();d.selectNode(b);d.collapse(true);b=e.createRange();b.selectNode(c);b.collapse(true);return d.compareBoundaryPoints(goog[$$PROP_global].Range.START_TO_END,b)}; goog.dom.compareParentsDescendantNodeIe_=function(b,c){var d=b[$$PROP_parentNode];if(d==c)return-1;for(c=c;c[$$PROP_parentNode]!=d;)c=c[$$PROP_parentNode];return goog.dom.compareSiblingOrder_(c,b)};goog.dom.compareSiblingOrder_=function(b,c){for(c=c;c=c[$$PROP_previousSibling];)if(c==b)return-1;return 1}; goog.dom.findCommonAncestor=function(){var b,c=arguments[$$PROP_length];if(c){if(c==1)return arguments[0]}else return null;var d=[],e=Infinity;for(b=0;b=0}return false}; goog.dom.setFocusableTabIndex=function(b,c){if(c)b.tabIndex=0;else b.removeAttribute("tabIndex")};goog.dom.getTextContent=function(b){if(goog[$$PROP_userAgent].IE&&"innerText"in b)b=goog.string.canonicalizeNewlines(b.innerText);else{var c=[];goog.dom.getTextContent_(b,c,true);b=c[$$PROP_join]("")}b=b[$$PROP_replace](/\xAD/g,"");b=b[$$PROP_replace](/ +/g," ");if(b!=" ")b=b[$$PROP_replace](/^\s*/,"");return b};goog.dom.getRawTextContent=function(b){var c=[];goog.dom.getTextContent_(b,c,false);return c[$$PROP_join]("")}; goog.dom.getTextContent_=function(b,c,d){if(!(b[$$PROP_nodeName]in goog.dom.TAGS_TO_IGNORE_))if(b[$$PROP_nodeType]==goog.dom.NodeType.TEXT)d?c[$$PROP_push](GLOBAL_String(b[$$PROP_nodeValue])[$$PROP_replace](/(\r\n|\r|\n)/g,"")):c[$$PROP_push](b[$$PROP_nodeValue]);else if(b[$$PROP_nodeName]in goog.dom.PREDEFINED_TAG_VALUES_)c[$$PROP_push](goog.dom.PREDEFINED_TAG_VALUES_[b[$$PROP_nodeName]]);else for(b=b[$$PROP_firstChild];b;){goog.dom.getTextContent_(b,c,d);b=b[$$PROP_nextSibling]}}; goog.dom.getNodeTextLength=function(b){return goog.dom.getTextContent(b)[$$PROP_length]};goog.dom.getNodeTextOffset=function(b,c){c=c||goog.dom.getOwnerDocument(b)[$$PROP_body];for(var d=[];b&&b!=c;){for(var e=b;e=e[$$PROP_previousSibling];)d[$$PROP_unshift](goog.dom.getTextContent(e));b=b[$$PROP_parentNode]}return goog.string.trimLeft(d[$$PROP_join](""))[$$PROP_replace](/ +/g," ")[$$PROP_length]}; goog.dom.getNodeAtOffset=function(b,c,d){b=[b];for(var e=0,f;b[$$PROP_length]>0&&e=0;g--)b[$$PROP_push](f[$$PROP_childNodes][g])}if(goog.isObject(d)){d.remainder= f?f[$$PROP_nodeValue][$$PROP_length]+c-e-1:0;d.node=f}return f};goog.dom.isNodeList=function(b){if(b&&typeof b[$$PROP_length]=="number")if(goog.isObject(b))return typeof b.item=="function"||typeof b.item=="string";else if(goog.isFunction(b))return typeof b.item=="function";return false};goog.dom.getAncestorByTagNameAndClass=function(b,c,d){return goog.dom.getAncestor(b,function(e){return(!c||e[$$PROP_nodeName]==c)&&(!d||goog.dom.classes.has(e,d))},true)}; goog.dom.getAncestor=function(b,c,d,e){if(!d)b=b[$$PROP_parentNode];d=e==null;for(var f=0;b&&(d||f<=e);){if(c(b))return b;b=b[$$PROP_parentNode];f++}return null};goog.dom.DomHelper=function(b){this.document_=b||goog[$$PROP_global][$$PROP_document]||GLOBAL_document};a=goog.dom.DomHelper[$$PROP_prototype];a.getDomHelper=goog.dom.getDomHelper;a.getDocument=function(){return this.document_};a.getElement=function(b){return goog.isString(b)?this.document_.getElementById(b):b};a.$=goog.dom.DomHelper[$$PROP_prototype].getElement; a.getElementsByTagNameAndClass=function(b,c,d){return goog.dom.getElementsByTagNameAndClass_(this.document_,b,c,d)};a.$$=goog.dom.DomHelper[$$PROP_prototype].getElementsByTagNameAndClass;a.setProperties=goog.dom.setProperties;a.getViewportSize=function(b){return goog.dom.getViewportSize(b||this.getWindow())};a.getDocumentHeight=function(){return goog.dom.getDocumentHeight_(this.getWindow())};a.createDom=function(){return goog.dom.createDom_(this.document_,arguments)};a.$dom=goog.dom.DomHelper[$$PROP_prototype].createDom; a.createElement=function(b){return this.document_[$$PROP_createElement](b)};a.createTextNode=function(b){return this.document_[$$PROP_createTextNode](b)};a.htmlToDocumentFragment=function(b){return goog.dom.htmlToDocumentFragment_(this.document_,b)};a.getCompatMode=function(){return this.isCss1CompatMode()?"CSS1Compat":"BackCompat"};a.isCss1CompatMode=function(){return goog.dom.isCss1CompatMode_(this.document_)};a.getWindow=function(){return goog.dom.getWindow_(this.document_)}; a.getDocumentScrollElement=function(){return goog.dom.getDocumentScrollElement_(this.document_)};a.getDocumentScroll=function(){return goog.dom.getDocumentScroll_(this.document_)};a.appendChild=goog.dom[$$PROP_appendChild];a.removeChildren=goog.dom.removeChildren;a.insertSiblingBefore=goog.dom.insertSiblingBefore;a.insertSiblingAfter=goog.dom.insertSiblingAfter;a.removeNode=goog.dom[$$PROP_removeNode];a.replaceNode=goog.dom.replaceNode;a.flattenElement=goog.dom.flattenElement; a.getFirstElementChild=goog.dom.getFirstElementChild;a.getLastElementChild=goog.dom.getLastElementChild;a.getNextElementSibling=goog.dom.getNextElementSibling;a.getPreviousElementSibling=goog.dom.getPreviousElementSibling;a.isNodeLike=goog.dom.isNodeLike;SETPROP_contains(a,goog.dom[$$PROP_contains]);a.getOwnerDocument=goog.dom.getOwnerDocument;a.getFrameContentDocument=goog.dom.getFrameContentDocument;a.getFrameContentWindow=goog.dom.getFrameContentWindow;a.setTextContent=goog.dom.setTextContent; a.findNode=goog.dom.findNode;a.findNodes=goog.dom.findNodes;a.getTextContent=goog.dom.getTextContent;a.getNodeTextLength=goog.dom.getNodeTextLength;a.getNodeTextOffset=goog.dom.getNodeTextOffset;a.getAncestorByTagNameAndClass=goog.dom.getAncestorByTagNameAndClass;a.getAncestor=goog.dom.getAncestor;goog.debug.errorHandlerWeakDep={protectEntryPoint:function(b){return b}};goog.Disposable=function(){};goog.Disposable[$$PROP_prototype].disposed_=false;goog.Disposable[$$PROP_prototype].dispose=function(){if(!this.disposed_){this.disposed_=true;this.disposeInternal()}};goog.Disposable[$$PROP_prototype].disposeInternal=function(){};goog.dispose=function(b){b&&typeof b.dispose=="function"&&b.dispose()};goog.structs.SimplePool=function(b,c){goog.Disposable[$$PROP_call](this);this.maxCount_=c;this.freeQueue_=[];this.createInitial_(b)};goog.inherits(goog.structs.SimplePool,goog.Disposable);a=goog.structs.SimplePool[$$PROP_prototype];a.createObjectFn_=null;a.disposeObjectFn_=null;a.setCreateObjectFn=function(b){this.createObjectFn_=b};a.setDisposeObjectFn=function(b){this.disposeObjectFn_=b};a.getObject=function(){if(this.freeQueue_[$$PROP_length])return this.freeQueue_.pop();return this.createObject()}; a.releaseObject=function(b){this.freeQueue_[$$PROP_length]this.maxCount_)throw GLOBAL_Error("[goog.structs.SimplePool] Initial cannot be greater than max");for(var c=0;c=0;k--){var l=j[k];if((g||c==l[$$PROP_type])&&(h||d==l.capture)){goog.events.unlistenByKey(l.key);e++}}});else{b=goog.getHashCode(b);if(goog.events.sources_[b]){b=goog.events.sources_[b];for(f=b[$$PROP_length]-1;f>=0;f--){var i=b[f];if((g||c==i[$$PROP_type])&&(h||d==i.capture)){goog.events.unlistenByKey(i.key);e++}}}}return e}; goog.events.getListeners=function(b,c,d){return goog.events.getListeners_(b,c,d)||[]};goog.events.getListeners_=function(b,c,d){var e=goog.events.listenerTree_;if(c in e){e=e[c];if(d in e){e=e[d];b=goog.getHashCode(b);if(e[b])return e[b]}}return null};goog.events.getListener=function(b,c,d,e,f){e=!!e;if(b=goog.events.getListeners_(b,c,e))for(c=0;c=0&&h.remaining_;i--){SETPROP_currentTarget(c,e[i]);d&=goog.events.fireListeners_(h,e[i],c[$$PROP_type],true,c)&&c.returnValue_!=false}}if(h=false in g){h=g[false];h.remaining_=h.count_;if(f)for(i=0;!c.propagationStopped_&&i=0&&g.remaining_;l--){SETPROP_currentTarget(i,j[l]);f&=goog.events.fireListeners_(g,j[l],d,true,i)}if(h){g=e[false];g.remaining_=g.count_;for(l=0;!i.propagationStopped_&&l=b[$$PROP_left]&&c[$$PROP_right]<=b[$$PROP_right]&&c.top>=b.top&&c[$$PROP_bottom]<=b[$$PROP_bottom];return c.x>=b[$$PROP_left]&&c.x<=b[$$PROP_right]&&c.y>=b.top&&c.y<=b[$$PROP_bottom]}); goog.math.Box.distance=function(b,c){if(c.x>=b[$$PROP_left]&&c.x<=b[$$PROP_right]){if(c.y>=b.top&&c.y<=b[$$PROP_bottom])return 0;return c.y=b.top&&c.y<=b[$$PROP_bottom])return c.xb.top){d[$$PROP_push](new goog.math.Rect(b[$$PROP_left],b.top,b[$$PROP_width],c.top-b.top));e=c.top;f-=c.top-b.top}if(jb[$$PROP_left]&&d[$$PROP_push](new goog.math.Rect(b[$$PROP_left],e,c[$$PROP_left]-b[$$PROP_left],f));i=b[$$PROP_left]+b[$$PROP_width]&&this.top<=b.top&&this.top+this[$$PROP_height]>=b.top+b[$$PROP_height]:b.x>=this[$$PROP_left]&&b.x<=this[$$PROP_left]+this[$$PROP_width]&&b.y>=this.top&&b.y<=this.top+this[$$PROP_height]});goog.math.Rect[$$PROP_prototype].getSize=function(){return new goog.math.Size(this[$$PROP_width],this[$$PROP_height])};goog[$$PROP_userAgent].product={};goog[$$PROP_userAgent][$$PROP_product].ASSUME_FIREFOX=false;goog[$$PROP_userAgent][$$PROP_product].ASSUME_CAMINO=false;goog[$$PROP_userAgent][$$PROP_product].ASSUME_IPHONE=false;goog[$$PROP_userAgent][$$PROP_product].ASSUME_ANDROID=false;goog[$$PROP_userAgent][$$PROP_product].ASSUME_CHROME=false;goog[$$PROP_userAgent][$$PROP_product].ASSUME_SAFARI=false; goog[$$PROP_userAgent][$$PROP_product].PRODUCT_KNOWN_=goog[$$PROP_userAgent].ASSUME_IE||goog[$$PROP_userAgent].ASSUME_OPERA||goog[$$PROP_userAgent][$$PROP_product].ASSUME_FIREFOX||goog[$$PROP_userAgent][$$PROP_product].ASSUME_CAMINO||goog[$$PROP_userAgent][$$PROP_product].ASSUME_IPHONE||goog[$$PROP_userAgent][$$PROP_product].ASSUME_ANDROID||goog[$$PROP_userAgent][$$PROP_product].ASSUME_CHROME||goog[$$PROP_userAgent][$$PROP_product].ASSUME_SAFARI; goog[$$PROP_userAgent][$$PROP_product].init_=function(){goog[$$PROP_userAgent][$$PROP_product].detectedFirefox_=false;goog[$$PROP_userAgent][$$PROP_product].detectedCamino_=false;goog[$$PROP_userAgent][$$PROP_product].detectedIphone_=false;goog[$$PROP_userAgent][$$PROP_product].detectedAndroid_=false;goog[$$PROP_userAgent][$$PROP_product].detectedChrome_=false;goog[$$PROP_userAgent][$$PROP_product].detectedSafari_=false;var b=goog[$$PROP_userAgent].getUserAgentString();if(b)if(b[$$PROP_indexOf]("Firefox")!= -1)goog[$$PROP_userAgent][$$PROP_product].detectedFirefox_=true;else if(b[$$PROP_indexOf]("Camino")!=-1)goog[$$PROP_userAgent][$$PROP_product].detectedCamino_=true;else if(b[$$PROP_indexOf]("iPhone")!=-1||b[$$PROP_indexOf]("iPod")!=-1)goog[$$PROP_userAgent][$$PROP_product].detectedIphone_=true;else if(b[$$PROP_indexOf]("Android")!=-1)goog[$$PROP_userAgent][$$PROP_product].detectedAndroid_=true;else if(b[$$PROP_indexOf]("Chrome")!=-1)goog[$$PROP_userAgent][$$PROP_product].detectedChrome_=true;else if(b[$$PROP_indexOf]("Safari")!= -1)goog[$$PROP_userAgent][$$PROP_product].detectedSafari_=true};goog[$$PROP_userAgent][$$PROP_product].PRODUCT_KNOWN_||goog[$$PROP_userAgent][$$PROP_product].init_();goog[$$PROP_userAgent][$$PROP_product].OPERA=goog[$$PROP_userAgent].OPERA;goog[$$PROP_userAgent][$$PROP_product].IE=goog[$$PROP_userAgent].IE;goog[$$PROP_userAgent][$$PROP_product].FIREFOX=goog[$$PROP_userAgent][$$PROP_product].PRODUCT_KNOWN_?goog[$$PROP_userAgent][$$PROP_product].ASSUME_FIREFOX:goog[$$PROP_userAgent][$$PROP_product].detectedFirefox_; goog[$$PROP_userAgent][$$PROP_product].CAMINO=goog[$$PROP_userAgent][$$PROP_product].PRODUCT_KNOWN_?goog[$$PROP_userAgent][$$PROP_product].ASSUME_CAMINO:goog[$$PROP_userAgent][$$PROP_product].detectedCamino_;goog[$$PROP_userAgent][$$PROP_product].IPHONE=goog[$$PROP_userAgent][$$PROP_product].PRODUCT_KNOWN_?goog[$$PROP_userAgent][$$PROP_product].ASSUME_IPHONE:goog[$$PROP_userAgent][$$PROP_product].detectedIphone_; goog[$$PROP_userAgent][$$PROP_product].ANDROID=goog[$$PROP_userAgent][$$PROP_product].PRODUCT_KNOWN_?goog[$$PROP_userAgent][$$PROP_product].ASSUME_ANDROID:goog[$$PROP_userAgent][$$PROP_product].detectedAndroid_;goog[$$PROP_userAgent][$$PROP_product].CHROME=goog[$$PROP_userAgent][$$PROP_product].PRODUCT_KNOWN_?goog[$$PROP_userAgent][$$PROP_product].ASSUME_CHROME:goog[$$PROP_userAgent][$$PROP_product].detectedChrome_; goog[$$PROP_userAgent][$$PROP_product].SAFARI=goog[$$PROP_userAgent][$$PROP_product].PRODUCT_KNOWN_?goog[$$PROP_userAgent][$$PROP_product].ASSUME_SAFARI:goog[$$PROP_userAgent][$$PROP_product].detectedSafari_;goog.style={};goog[$$PROP_style].setStyle=function(b,c,d){goog.isString(c)?goog[$$PROP_style].setStyle_(b,d,c):goog[$$PROP_object][$$PROP_forEach](c,goog.partial(goog[$$PROP_style].setStyle_,b))};goog[$$PROP_style].setStyle_=function(b,c,d){b[$$PROP_style][goog[$$PROP_style].toCamelCase(d)]=c};goog[$$PROP_style].getStyle=function(b,c){return b[$$PROP_style][goog[$$PROP_style].toCamelCase(c)]}; goog[$$PROP_style].getComputedStyle=function(b,c){var d=goog.dom.getOwnerDocument(b);if(d[$$PROP_defaultView]&&d[$$PROP_defaultView][$$PROP_getComputedStyle])if(b=d[$$PROP_defaultView][$$PROP_getComputedStyle](b,""))return b[c];return null};goog[$$PROP_style].getCascadedStyle=function(b,c){return b[$$PROP_currentStyle]?b[$$PROP_currentStyle][c]:null};goog[$$PROP_style].getStyle_=function(b,c){return goog[$$PROP_style][$$PROP_getComputedStyle](b,c)||goog[$$PROP_style].getCascadedStyle(b,c)||b[$$PROP_style][c]}; goog[$$PROP_style].getComputedPosition=function(b){return goog[$$PROP_style].getStyle_(b,"position")};goog[$$PROP_style].getBackgroundColor=function(b){return goog[$$PROP_style].getStyle_(b,"backgroundColor")}; goog[$$PROP_style].setPosition=function(b,c,d){var e,f=goog[$$PROP_userAgent].GECKO&&(goog[$$PROP_userAgent].MAC||goog[$$PROP_userAgent].X11)&&goog[$$PROP_userAgent].isVersion("1.9");if(c instanceof goog.math.Coordinate){e=c.x;c=c.y}else{e=c;c=d}SETPROP_left(b[$$PROP_style],typeof e=="number"?(f?GLOBAL_Math[$$PROP_round](e):e)+"px":e);b[$$PROP_style].top=typeof c=="number"?(f?GLOBAL_Math[$$PROP_round](c):c)+"px":c}; goog[$$PROP_style].getPosition=function(b){return new goog.math.Coordinate(b.offsetLeft,b[$$PROP_offsetTop])};goog[$$PROP_style].getClientViewportElement=function(b){b=b?b[$$PROP_nodeType]==goog.dom.NodeType.DOCUMENT?b:goog.dom.getOwnerDocument(b):goog.dom.getDocument();if(goog[$$PROP_userAgent].IE&&!goog.dom.getDomHelper(b).isCss1CompatMode())return b[$$PROP_body];return b[$$PROP_documentElement]}; goog[$$PROP_style].getBoundingClientRect_=function(b){var c=b[$$PROP_getBoundingClientRect]();if(goog[$$PROP_userAgent].IE){b=b.ownerDocument;c.left-=b[$$PROP_documentElement][$$PROP_clientLeft]+b[$$PROP_body][$$PROP_clientLeft];c.top-=b[$$PROP_documentElement][$$PROP_clientTop]+b[$$PROP_body][$$PROP_clientTop]}return c}; goog[$$PROP_style].getOffsetParent=function(b){if(goog[$$PROP_userAgent].IE)return b.offsetParent;var c=goog.dom.getOwnerDocument(b),d=goog[$$PROP_style].getStyle_(b,"position"),e=d=="fixed"||d=="absolute";for(b=b[$$PROP_parentNode];b&&b!=c;b=b[$$PROP_parentNode]){d=goog[$$PROP_style].getStyle_(b,"position");e=e&&d=="static"&&b!=c[$$PROP_documentElement]&&b!=c[$$PROP_body];if(!e&&(b.scrollWidth>b[$$PROP_clientWidth]||b[$$PROP_scrollHeight]>b[$$PROP_clientHeight]||d=="fixed"||d=="absolute"))return b}return null}; goog[$$PROP_style].getVisibleRectForElement=function(b){var c=new goog.math.Box(0,Infinity,Infinity,0),d=goog.dom.getDomHelper(b),e=d.getDocumentScrollElement(),f;for(b=b;b=goog[$$PROP_style].getOffsetParent(b);)if((!goog[$$PROP_userAgent].IE||b[$$PROP_clientWidth]!=0)&&(b.scrollWidth!=b[$$PROP_clientWidth]||b[$$PROP_scrollHeight]!=b[$$PROP_clientHeight])&&goog[$$PROP_style].getStyle_(b,"overflow")!="visible"){var g=goog[$$PROP_style].getPageOffset(b),h=goog[$$PROP_style].getClientLeftTop(b);g.x+= h.x;g.y+=h.y;c.top=GLOBAL_Math.max(c.top,g.y);SETPROP_right(c,GLOBAL_Math.min(c[$$PROP_right],g.x+b[$$PROP_clientWidth]));SETPROP_bottom(c,GLOBAL_Math.min(c[$$PROP_bottom],g.y+b[$$PROP_clientHeight]));SETPROP_left(c,GLOBAL_Math.max(c[$$PROP_left],g.x));f=f||b!=e}b=e[$$PROP_scrollLeft];e=e[$$PROP_scrollTop];if(goog[$$PROP_userAgent].WEBKIT){c.left+=b;c.top+=e}else{SETPROP_left(c,GLOBAL_Math.max(c[$$PROP_left],b));c.top=GLOBAL_Math.max(c.top,e)}if(!f||goog[$$PROP_userAgent].WEBKIT){c.right+=b;c.bottom+= e}d=d.getViewportSize();SETPROP_right(c,GLOBAL_Math.min(c[$$PROP_right],b+d[$$PROP_width]));SETPROP_bottom(c,GLOBAL_Math.min(c[$$PROP_bottom],e+d[$$PROP_height]));return c.top>=0&&c[$$PROP_left]>=0&&c[$$PROP_bottom]>c.top&&c[$$PROP_right]>c[$$PROP_left]?c:null}; goog[$$PROP_style].getClientLeftTop=function(b){if(goog[$$PROP_userAgent].GECKO&&!goog[$$PROP_userAgent].isVersion("1.9")){var c=GLOBAL_parseFloat(goog[$$PROP_style][$$PROP_getComputedStyle](b,"borderLeftWidth"));if(goog[$$PROP_style].isRightToLeft(b)){var d=b[$$PROP_offsetWidth]-b[$$PROP_clientWidth]-c-GLOBAL_parseFloat(goog[$$PROP_style][$$PROP_getComputedStyle](b,"borderRightWidth"));c+=d}return new goog.math.Coordinate(c,GLOBAL_parseFloat(goog[$$PROP_style][$$PROP_getComputedStyle](b,"borderTopWidth")))}return new goog.math.Coordinate(b[$$PROP_clientLeft], b[$$PROP_clientTop])}; goog[$$PROP_style].getPageOffset=function(b){var c,d=goog.dom.getOwnerDocument(b),e=goog[$$PROP_style].getStyle_(b,"position"),f=goog[$$PROP_userAgent].GECKO&&d[$$PROP_getBoxObjectFor]&&!b[$$PROP_getBoundingClientRect]&&e=="absolute"&&(c=d[$$PROP_getBoxObjectFor](b))&&(c[$$PROP_screenX]<0||c[$$PROP_screenY]<0),g=new goog.math.Coordinate(0,0),h=goog[$$PROP_style].getClientViewportElement(d);if(b==h)return g;if(b[$$PROP_getBoundingClientRect]){c=goog[$$PROP_style].getBoundingClientRect_(b);b=goog.dom.getDomHelper(d).getDocumentScroll(); g.x=c[$$PROP_left]+b.x;g.y=c.top+b.y}else if(d[$$PROP_getBoxObjectFor]&&!f){c=d[$$PROP_getBoxObjectFor](b);b=d[$$PROP_getBoxObjectFor](h);g.x=c[$$PROP_screenX]-b[$$PROP_screenX];g.y=c[$$PROP_screenY]-b[$$PROP_screenY]}else{c=b;do{g.x+=c.offsetLeft;g.y+=c[$$PROP_offsetTop];if(c!=b){g.x+=c[$$PROP_clientLeft]||0;g.y+=c[$$PROP_clientTop]||0}if(goog[$$PROP_userAgent].WEBKIT&&goog[$$PROP_style].getComputedPosition(c)=="fixed"){g.x+=d[$$PROP_body][$$PROP_scrollLeft];g.y+=d[$$PROP_body][$$PROP_scrollTop]; break}c=c.offsetParent}while(c&&c!=b);if(goog[$$PROP_userAgent].OPERA||goog[$$PROP_userAgent].WEBKIT&&e=="absolute")g.y-=d[$$PROP_body][$$PROP_offsetTop];for(c=b;(c=goog[$$PROP_style].getOffsetParent(c))&&c!=d[$$PROP_body]&&c!=h;){g.x-=c[$$PROP_scrollLeft];if(!goog[$$PROP_userAgent].OPERA||c[$$PROP_tagName]!="TR")g.y-=c[$$PROP_scrollTop]}}return g};goog[$$PROP_style].getPageOffsetLeft=function(b){return goog[$$PROP_style].getPageOffset(b).x};goog[$$PROP_style].getPageOffsetTop=function(b){return goog[$$PROP_style].getPageOffset(b).y}; goog[$$PROP_style].getFramedPageOffset=function(b,c){var d=new goog.math.Coordinate(0,0),e=goog.dom.getWindow(goog.dom.getOwnerDocument(b));b=b;do{var f=e==c?goog[$$PROP_style].getPageOffset(b):goog[$$PROP_style].getClientPosition(b);d.x+=f.x;d.y+=f.y}while(e&&e!=c&&(b=e.frameElement)&&(e=e.parent));return d}; goog[$$PROP_style].translateRectForAnotherFrame=function(b,c,d){if(c.getDocument()!=d.getDocument()){var e=c.getDocument()[$$PROP_body];d=goog[$$PROP_style].getFramedPageOffset(e,d.getWindow());d=goog.math.Coordinate.difference(d,goog[$$PROP_style].getPageOffset(e));if(goog[$$PROP_userAgent].IE&&!c.isCss1CompatMode())d=goog.math.Coordinate.difference(d,c.getDocumentScroll());b.left+=d.x;b.top+=d.y}}; goog[$$PROP_style].getRelativePosition=function(b,c){b=goog[$$PROP_style].getClientPosition(b);c=goog[$$PROP_style].getClientPosition(c);return new goog.math.Coordinate(b.x-c.x,b.y-c.y)}; goog[$$PROP_style].getClientPosition=function(b){var c=new goog.math.Coordinate;if(b[$$PROP_nodeType]==goog.dom.NodeType.ELEMENT)if(b[$$PROP_getBoundingClientRect]){var d=goog[$$PROP_style].getBoundingClientRect_(b);c.x=d[$$PROP_left];c.y=d.top}else{d=goog.dom.getDomHelper(b).getDocumentScroll();b=goog[$$PROP_style].getPageOffset(b);c.x=b.x-d.x;c.y=b.y-d.y}else{c.x=b[$$PROP_clientX];c.y=b[$$PROP_clientY]}return c}; goog[$$PROP_style].setPageOffset=function(b,c,d){var e=goog[$$PROP_style].getPageOffset(b);if(c instanceof goog.math.Coordinate){d=c.y;c=c.x}c=c-e.x;d=d-e.y;goog[$$PROP_style].setPosition(b,b.offsetLeft+c,b[$$PROP_offsetTop]+d)}; goog[$$PROP_style].setSize=function(b,c,d){if(c instanceof goog.math.Size){d=c[$$PROP_height];c=c[$$PROP_width]}else{if(d==GLOBAL_undefined)throw GLOBAL_Error("missing height argument");d=d}SETPROP_width(b[$$PROP_style],typeof c=="number"?GLOBAL_Math[$$PROP_round](c)+"px":c);SETPROP_height(b[$$PROP_style],typeof d=="number"?GLOBAL_Math[$$PROP_round](d)+"px":d)}; goog[$$PROP_style].getSize=function(b){var c=goog[$$PROP_userAgent].OPERA&&!goog[$$PROP_userAgent].isVersion("10");if(goog[$$PROP_style].getStyle_(b,"display")!="none")return c?new goog.math.Size(b[$$PROP_offsetWidth]||b[$$PROP_clientWidth],b[$$PROP_offsetHeight]||b[$$PROP_clientHeight]):new goog.math.Size(b[$$PROP_offsetWidth],b[$$PROP_offsetHeight]);var d=b[$$PROP_style],e=d.display,f=d.visibility,g=d.position;SETPROP_visibility(d,"hidden");d.position="absolute";SETPROP_display(d,"inline");if(c){c= b[$$PROP_offsetWidth]||b[$$PROP_clientWidth];b=b[$$PROP_offsetHeight]||b[$$PROP_clientHeight]}else{c=b[$$PROP_offsetWidth];b=b[$$PROP_offsetHeight]}SETPROP_display(d,e);d.position=g;SETPROP_visibility(d,f);return new goog.math.Size(c,b)};goog[$$PROP_style].getBounds=function(b){var c=goog[$$PROP_style].getPageOffset(b);b=goog[$$PROP_style].getSize(b);return new goog.math.Rect(c.x,c.y,b[$$PROP_width],b[$$PROP_height])};goog[$$PROP_style].toCamelCaseCache_={}; goog[$$PROP_style].toCamelCase=function(b){return goog[$$PROP_style].toCamelCaseCache_[b]||(goog[$$PROP_style].toCamelCaseCache_[b]=GLOBAL_String(b)[$$PROP_replace](/\-([a-z])/g,function(c,d){return d.toUpperCase()}))};goog[$$PROP_style].toSelectorCase=function(b){return b[$$PROP_replace](/([A-Z])/g,"-$1")[$$PROP_toLowerCase]()}; goog[$$PROP_style].getOpacity=function(b){var c=b[$$PROP_style];b="";if("opacity"in c)b=c.opacity;else if("MozOpacity"in c)b=c.MozOpacity;else if("filter"in c)if(c=c[$$PROP_filter][$$PROP_match](/alpha\(opacity=([\d.]+)\)/))b=GLOBAL_String(c[1]/100);return b==""?b:GLOBAL_Number(b)};goog[$$PROP_style].setOpacity=function(b,c){b=b[$$PROP_style];if("opacity"in b)b.opacity=c;else if("MozOpacity"in b)b.MozOpacity=c;else if("filter"in b)SETPROP_filter(b,c===""?"":"alpha(opacity="+c*100+")")}; goog[$$PROP_style].setTransparentBackgroundImage=function(b,c){b=b[$$PROP_style];if(goog[$$PROP_userAgent].IE&&!goog[$$PROP_userAgent].isVersion("8"))SETPROP_filter(b,'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+c+'", sizingMethod="crop")');else{b.backgroundImage="url("+c+")";b.backgroundPosition="top left";b.backgroundRepeat="no-repeat"}};goog[$$PROP_style].clearTransparentBackgroundImage=function(b){b=b[$$PROP_style];if("filter"in b)SETPROP_filter(b,"");else b.backgroundImage="none"}; goog[$$PROP_style].showElement=function(b,c){SETPROP_display(b[$$PROP_style],c?"":"none")};goog[$$PROP_style].isElementShown=function(b){return b[$$PROP_style].display!="none"}; goog[$$PROP_style].installStyles=function(b,c){c=goog.dom.getDomHelper(c);var d=null;if(goog[$$PROP_userAgent].IE){d=c.getDocument().createStyleSheet();goog[$$PROP_style].setStyles(d,b)}else{var e=c.getElementsByTagNameAndClass("head")[0];if(!e){d=c.getElementsByTagNameAndClass("body")[0];e=c.createDom("head");d[$$PROP_parentNode][$$PROP_insertBefore](e,d)}d=c.createDom("style");goog[$$PROP_style].setStyles(d,b);c[$$PROP_appendChild](e,d)}return d}; goog[$$PROP_style].setStyles=function(b,c){if(goog[$$PROP_userAgent].IE)b.cssText=c;else{var d=goog[$$PROP_userAgent].WEBKIT?"innerText":"innerHTML";b[d]=c}};goog[$$PROP_style].setPreWrap=function(b){b=b[$$PROP_style];if(goog[$$PROP_userAgent].IE&&!goog[$$PROP_userAgent].isVersion("8")){b.whiteSpace="pre";b.wordWrap="break-word"}else b.whiteSpace=goog[$$PROP_userAgent].GECKO?"-moz-pre-wrap":goog[$$PROP_userAgent].OPERA?"-o-pre-wrap":"pre-wrap"}; goog[$$PROP_style].setInlineBlock=function(b){b=b[$$PROP_style];b.position="relative";if(goog[$$PROP_userAgent].IE&&!goog[$$PROP_userAgent].isVersion("8")){b.zoom="1";SETPROP_display(b,"inline")}else SETPROP_display(b,goog[$$PROP_userAgent].GECKO?goog[$$PROP_userAgent].isVersion("1.9a")?"inline-block":"-moz-inline-box":"inline-block")};goog[$$PROP_style].isRightToLeft=function(b){return"rtl"==goog[$$PROP_style].getStyle_(b,"direction")}; goog[$$PROP_style].unselectableStyle_=goog[$$PROP_userAgent].GECKO?"MozUserSelect":goog[$$PROP_userAgent].WEBKIT?"WebkitUserSelect":null;goog[$$PROP_style].isUnselectable=function(b){if(goog[$$PROP_style].unselectableStyle_)return b[$$PROP_style][goog[$$PROP_style].unselectableStyle_][$$PROP_toLowerCase]()=="none";else if(goog[$$PROP_userAgent].IE||goog[$$PROP_userAgent].OPERA)return b.getAttribute("unselectable")=="on";return false}; goog[$$PROP_style].setUnselectable=function(b,c,d){d=!d?b.getElementsByTagName("*"):null;var e=goog[$$PROP_style].unselectableStyle_;if(e){c=c?"none":"";b[$$PROP_style][e]=c;if(d){b=0;for(var f;f=d[b];b++)f[$$PROP_style][e]=c}}else if(goog[$$PROP_userAgent].IE||goog[$$PROP_userAgent].OPERA){c=c?"on":"";b.setAttribute("unselectable",c);if(d)for(b=0;f=d[b];b++)f.setAttribute("unselectable",c)}};goog[$$PROP_style].getBorderBoxSize=function(b){return new goog.math.Size(b[$$PROP_offsetWidth],b[$$PROP_offsetHeight])}; goog[$$PROP_style].setBorderBoxSize=function(b,c){var d=goog.dom.getOwnerDocument(b),e=goog.dom.getDomHelper(d).isCss1CompatMode();if(goog[$$PROP_userAgent].IE&&(!e||!goog[$$PROP_userAgent].isVersion("8"))){d=b[$$PROP_style];if(e){e=goog[$$PROP_style].getPaddingBox(b);b=goog[$$PROP_style].getBorderBox(b);SETPROP_pixelWidth(d,c[$$PROP_width]-b[$$PROP_left]-e[$$PROP_left]-e[$$PROP_right]-b[$$PROP_right]);SETPROP_pixelHeight(d,c[$$PROP_height]-b.top-e.top-e[$$PROP_bottom]-b[$$PROP_bottom])}else{SETPROP_pixelWidth(d, c[$$PROP_width]);SETPROP_pixelHeight(d,c[$$PROP_height])}}else goog[$$PROP_style].setBoxSizingSize_(b,c,"border-box")}; goog[$$PROP_style].getContentBoxSize=function(b){var c=goog.dom.getOwnerDocument(b),d=goog[$$PROP_userAgent].IE&&b[$$PROP_currentStyle];if(d&&goog.dom.getDomHelper(c).isCss1CompatMode()&&d[$$PROP_width]!="auto"&&d[$$PROP_height]!="auto"&&!d.boxSizing){c=goog[$$PROP_style].getIePixelValue_(b,d[$$PROP_width],"width","pixelWidth");b=goog[$$PROP_style].getIePixelValue_(b,d[$$PROP_height],"height","pixelHeight");return new goog.math.Size(c,b)}else{d=goog[$$PROP_style].getBorderBoxSize(b);c=goog[$$PROP_style].getPaddingBox(b); b=goog[$$PROP_style].getBorderBox(b);return new goog.math.Size(d[$$PROP_width]-b[$$PROP_left]-c[$$PROP_left]-c[$$PROP_right]-b[$$PROP_right],d[$$PROP_height]-b.top-c.top-c[$$PROP_bottom]-b[$$PROP_bottom])}}; goog[$$PROP_style].setContentBoxSize=function(b,c){var d=goog.dom.getOwnerDocument(b),e=goog.dom.getDomHelper(d).isCss1CompatMode();if(goog[$$PROP_userAgent].IE&&(!e||!goog[$$PROP_userAgent].isVersion("8"))){d=b[$$PROP_style];if(e){SETPROP_pixelWidth(d,c[$$PROP_width]);SETPROP_pixelHeight(d,c[$$PROP_height])}else{e=goog[$$PROP_style].getPaddingBox(b);b=goog[$$PROP_style].getBorderBox(b);SETPROP_pixelWidth(d,c[$$PROP_width]+b[$$PROP_left]+e[$$PROP_left]+e[$$PROP_right]+b[$$PROP_right]);SETPROP_pixelHeight(d, c[$$PROP_height]+b.top+e.top+e[$$PROP_bottom]+b[$$PROP_bottom])}}else goog[$$PROP_style].setBoxSizingSize_(b,c,"content-box")}; goog[$$PROP_style].setBoxSizingSize_=function(b,c,d){b=b[$$PROP_style];if(goog[$$PROP_userAgent].GECKO)b.MozBoxSizing=d;else if(goog[$$PROP_userAgent].WEBKIT)b.WebkitBoxSizing=d;else if(goog[$$PROP_userAgent].OPERA&&!goog[$$PROP_userAgent].isVersion("9.50"))d?b.setProperty("box-sizing",d):b.removeProperty("box-sizing");else b.boxSizing=d;SETPROP_width(b,c[$$PROP_width]+"px");SETPROP_height(b,c[$$PROP_height]+"px")}; goog[$$PROP_style].getIePixelValue_=function(b,c,d,e){if(/^\d+px?$/[$$PROP_test](c))return GLOBAL_parseInt(c,10);else{var f=b[$$PROP_style][d],g=b.runtimeStyle[d];b.runtimeStyle[d]=b[$$PROP_currentStyle][d];b[$$PROP_style][d]=c;c=b[$$PROP_style][e];b[$$PROP_style][d]=f;b.runtimeStyle[d]=g;return c}};goog[$$PROP_style].getIePixelDistance_=function(b,c){return goog[$$PROP_style].getIePixelValue_(b,goog[$$PROP_style].getCascadedStyle(b,c),"left","pixelLeft")}; goog[$$PROP_style].getBox_=function(b,c){if(goog[$$PROP_userAgent].IE){var d=goog[$$PROP_style].getIePixelDistance_(b,c+"Left"),e=goog[$$PROP_style].getIePixelDistance_(b,c+"Right"),f=goog[$$PROP_style].getIePixelDistance_(b,c+"Top");b=goog[$$PROP_style].getIePixelDistance_(b,c+"Bottom");return new goog.math.Box(f,e,b,d)}else{d=goog[$$PROP_style][$$PROP_getComputedStyle](b,c+"Left");e=goog[$$PROP_style][$$PROP_getComputedStyle](b,c+"Right");f=goog[$$PROP_style][$$PROP_getComputedStyle](b,c+"Top"); b=goog[$$PROP_style][$$PROP_getComputedStyle](b,c+"Bottom");return new goog.math.Box(GLOBAL_parseFloat(f),GLOBAL_parseFloat(e),GLOBAL_parseFloat(b),GLOBAL_parseFloat(d))}};goog[$$PROP_style].getPaddingBox=function(b){return goog[$$PROP_style].getBox_(b,"padding")};goog[$$PROP_style].getMarginBox=function(b){return goog[$$PROP_style].getBox_(b,"margin")};goog[$$PROP_style].ieBorderWidthKeywords_={thin:2,medium:4,thick:6}; goog[$$PROP_style].getIePixelBorder_=function(b,c){if(goog[$$PROP_style].getCascadedStyle(b,c+"Style")=="none")return 0;c=goog[$$PROP_style].getCascadedStyle(b,c+"Width");if(c in goog[$$PROP_style].ieBorderWidthKeywords_)return goog[$$PROP_style].ieBorderWidthKeywords_[c];return goog[$$PROP_style].getIePixelValue_(b,c,"left","pixelLeft")}; goog[$$PROP_style].getBorderBox=function(b){if(goog[$$PROP_userAgent].IE){var c=goog[$$PROP_style].getIePixelBorder_(b,"borderLeft"),d=goog[$$PROP_style].getIePixelBorder_(b,"borderRight"),e=goog[$$PROP_style].getIePixelBorder_(b,"borderTop");b=goog[$$PROP_style].getIePixelBorder_(b,"borderBottom");return new goog.math.Box(e,d,b,c)}else{c=goog[$$PROP_style][$$PROP_getComputedStyle](b,"borderLeftWidth");d=goog[$$PROP_style][$$PROP_getComputedStyle](b,"borderRightWidth");e=goog[$$PROP_style][$$PROP_getComputedStyle](b, "borderTopWidth");b=goog[$$PROP_style][$$PROP_getComputedStyle](b,"borderBottomWidth");return new goog.math.Box(GLOBAL_parseFloat(e),GLOBAL_parseFloat(d),GLOBAL_parseFloat(b),GLOBAL_parseFloat(c))}}; goog[$$PROP_style].getFontFamily=function(b){var c=goog.dom.getOwnerDocument(b),d="";if(c.createTextRange){d=c[$$PROP_body].createTextRange();d.moveToElementText(b);d=d.queryCommandValue("FontName")}if(!d){d=goog[$$PROP_style].getStyle_(b,"fontFamily");if(goog[$$PROP_userAgent].OPERA&&goog[$$PROP_userAgent].LINUX)d=d[$$PROP_replace](/ \[[^\]]*\]/,"")}b=d[$$PROP_split](",");if(b[$$PROP_length]>1)d=b[0];return goog.string.stripQuotes(d,"\"'")};goog[$$PROP_style].lengthUnitRegex_=/[^\d]+$/; goog[$$PROP_style].getLengthUnits=function(b){return(b=b[$$PROP_match](goog[$$PROP_style].lengthUnitRegex_))&&b[0]||null};goog[$$PROP_style].ABSOLUTE_CSS_LENGTH_UNITS_={cm:1,"in":1,mm:1,pc:1,pt:1};goog[$$PROP_style].CONVERTIBLE_RELATIVE_CSS_UNITS_={em:1,ex:1}; goog[$$PROP_style].getFontSize=function(b){var c=goog[$$PROP_style].getStyle_(b,"fontSize"),d=goog[$$PROP_style].getLengthUnits(c);if(c&&"px"==d)return GLOBAL_parseInt(c,10);if(goog[$$PROP_userAgent].IE)if(d in goog[$$PROP_style].ABSOLUTE_CSS_LENGTH_UNITS_)return goog[$$PROP_style].getIePixelValue_(b,c,"left","pixelLeft");else if(b[$$PROP_parentNode]&&b[$$PROP_parentNode][$$PROP_nodeType]==goog.dom.NodeType.ELEMENT&&d in goog[$$PROP_style].CONVERTIBLE_RELATIVE_CSS_UNITS_){b=b[$$PROP_parentNode];d= goog[$$PROP_style].getStyle_(b,"fontSize");return goog[$$PROP_style].getIePixelValue_(b,c==d?"1em":c,"left","pixelLeft")}d=goog.dom.createDom("span",{style:"visibility:hidden;position:absolute;line-height:0;padding:0;margin:0;border:0;height:1em;"});goog.dom[$$PROP_appendChild](b,d);c=d[$$PROP_offsetHeight];goog.dom[$$PROP_removeNode](d);return c}; goog[$$PROP_style].parseStyleAttribute=function(b){var c={};goog.array[$$PROP_forEach](b[$$PROP_split](/\s*;\s*/),function(d){d=d[$$PROP_split](/\s*:\s*/);if(d[$$PROP_length]==2)c[goog[$$PROP_style].toCamelCase(d[0][$$PROP_toLowerCase]())]=d[1]});return c};goog[$$PROP_style].toStyleAttribute=function(b){var c=[];goog[$$PROP_object][$$PROP_forEach](b,function(d,e){c[$$PROP_push](goog[$$PROP_style].toSelectorCase(e),":",d,";")});return c[$$PROP_join]("")}; goog[$$PROP_style].setFloat=function(b,c){b[$$PROP_style][goog[$$PROP_userAgent].IE?"styleFloat":"cssFloat"]=c};goog[$$PROP_style].getFloat=function(b){return b[$$PROP_style][goog[$$PROP_userAgent].IE?"styleFloat":"cssFloat"]||""};goog.positioning={};goog.positioning.Corner={TOP_LEFT:0,TOP_RIGHT:2,BOTTOM_LEFT:1,BOTTOM_RIGHT:3,TOP_START:4,TOP_END:6,BOTTOM_START:5,BOTTOM_END:7};goog.positioning.CornerBit={BOTTOM:1,RIGHT:2,FLIP_RTL:4};goog.positioning.Overflow={IGNORE:0,ADJUST_X:1,FAIL_X:2,ADJUST_Y:4,FAIL_Y:8,RESIZE_WIDTH:16,RESIZE_HEIGHT:32};goog.positioning.OverflowStatus={NONE:0,ADJUSTED_X:1,ADJUSTED_Y:2,WIDTH_ADJUSTED:4,HEIGHT_ADJUSTED:8,FAILED_LEFT:16,FAILED_RIGHT:32,FAILED_TOP:64,FAILED_BOTTOM:128,FAILED_OUTSIDE_VIEWPORT:256}; goog.positioning.OverflowStatus.FAILED=goog.positioning.OverflowStatus.FAILED_LEFT|goog.positioning.OverflowStatus.FAILED_RIGHT|goog.positioning.OverflowStatus.FAILED_TOP|goog.positioning.OverflowStatus.FAILED_BOTTOM|goog.positioning.OverflowStatus.FAILED_OUTSIDE_VIEWPORT; goog.positioning.positionAtAnchor=function(b,c,d,e,f,g,h,i){var j,k=d.offsetParent;if(k){var l=k[$$PROP_tagName]==goog.dom.TagName.HTML||k[$$PROP_tagName]==goog.dom.TagName.BODY;if(!l||goog[$$PROP_style].getComputedPosition(k)!="static"){j=goog[$$PROP_style].getPageOffset(k);l||(j=goog.math.Coordinate.difference(j,new goog.math.Coordinate(k[$$PROP_scrollLeft],k[$$PROP_scrollTop])))}}k=goog.positioning.getVisiblePart_(b);goog[$$PROP_style].translateRectForAnotherFrame(k,goog.dom.getDomHelper(b),goog.dom.getDomHelper(d)); b=goog.positioning.getEffectiveCorner(b,c);c=new goog.math.Coordinate(b&goog.positioning.CornerBit.RIGHT?k[$$PROP_left]+k[$$PROP_width]:k[$$PROP_left],b&goog.positioning.CornerBit.BOTTOM?k.top+k[$$PROP_height]:k.top);if(j)c=goog.math.Coordinate.difference(c,j);if(f){c.x+=(b&goog.positioning.CornerBit.RIGHT?-1:1)*f.x;c.y+=(b&goog.positioning.CornerBit.BOTTOM?-1:1)*f.y}var m;if(h)if((m=goog[$$PROP_style].getVisibleRectForElement(d))&&j){m.top=GLOBAL_Math.max(0,m.top-j.y);m.right-=j.x;m.bottom-=j.y; SETPROP_left(m,GLOBAL_Math.max(0,m[$$PROP_left]-j.x))}return goog.positioning.positionAtCoordinate(c,d,e,g,m,h,i)};goog.positioning.getVisiblePart_=function(b){var c=goog[$$PROP_style].getBounds(b);(b=goog[$$PROP_style].getVisibleRectForElement(b))&&c.intersection(goog.math.Rect.createFromBox(b));return c}; goog.positioning.positionAtCoordinate=function(b,c,d,e,f,g,h){b=b.clone();var i=goog.positioning.OverflowStatus.NONE;d=goog.positioning.getEffectiveCorner(c,d);var j=goog[$$PROP_style].getSize(c);h=h?h.clone():j;if(e||d!=goog.positioning.Corner.TOP_LEFT){if(d&goog.positioning.CornerBit.RIGHT)b.x-=h[$$PROP_width]+(e?e[$$PROP_right]:0);else if(e)b.x+=e[$$PROP_left];if(d&goog.positioning.CornerBit.BOTTOM)b.y-=h[$$PROP_height]+(e?e[$$PROP_bottom]:0);else if(e)b.y+=e.top}if(g){i=f?goog.positioning.adjustForViewport(b, h,f,g):goog.positioning.OverflowStatus.FAILED_OUTSIDE_VIEWPORT;if(i&goog.positioning.OverflowStatus.FAILED)return i}goog[$$PROP_style].setPosition(c,b);goog.math.Size.equals(j,h)||goog[$$PROP_style].setSize(c,h);return i}; goog.positioning.adjustForViewport=function(b,c,d,e){var f=goog.positioning.OverflowStatus.NONE;if(b.xd[$$PROP_right]&&e&goog.positioning.Overflow.RESIZE_WIDTH){c.width-=b.x+c[$$PROP_width]-d[$$PROP_right];f|=goog.positioning.OverflowStatus.WIDTH_ADJUSTED}if(b.x+c[$$PROP_width]>d[$$PROP_right]&&e&goog.positioning.Overflow.ADJUST_X){b.x= GLOBAL_Math.max(d[$$PROP_right]-c[$$PROP_width],d[$$PROP_left]);f|=goog.positioning.OverflowStatus.ADJUSTED_X}if(e&goog.positioning.Overflow.FAIL_X)f|=(b.xd[$$PROP_right]?goog.positioning.OverflowStatus.FAILED_RIGHT:0);if(b.y=d.top&&b.y+c[$$PROP_height]>d[$$PROP_bottom]&&e&goog.positioning.Overflow.RESIZE_HEIGHT){c.height-= b.y+c[$$PROP_height]-d[$$PROP_bottom];f|=goog.positioning.OverflowStatus.HEIGHT_ADJUSTED}if(b.y+c[$$PROP_height]>d[$$PROP_bottom]&&e&goog.positioning.Overflow.ADJUST_Y){b.y=GLOBAL_Math.max(d[$$PROP_bottom]-c[$$PROP_height],d.top);f|=goog.positioning.OverflowStatus.ADJUSTED_Y}if(e&goog.positioning.Overflow.FAIL_Y)f|=(b.yd[$$PROP_bottom]?goog.positioning.OverflowStatus.FAILED_BOTTOM:0);return f}; goog.positioning.getEffectiveCorner=function(b,c){return(c&goog.positioning.CornerBit.FLIP_RTL&&goog[$$PROP_style].isRightToLeft(b)?c^goog.positioning.CornerBit.RIGHT:c)&~goog.positioning.CornerBit.FLIP_RTL};goog.positioning.flipCornerHorizontal=function(b){return b^goog.positioning.CornerBit.RIGHT};goog.positioning.flipCornerVertical=function(b){return b^goog.positioning.CornerBit.BOTTOM};goog.positioning.flipCorner=function(b){return b^goog.positioning.CornerBit.BOTTOM^goog.positioning.CornerBit.RIGHT};goog.positioning.AbstractPosition=function(){};goog.positioning.AbstractPosition[$$PROP_prototype].reposition=function(){};goog.positioning.AnchoredPosition=function(b,c){this.element=b;this.corner=c};goog.inherits(goog.positioning.AnchoredPosition,goog.positioning.AbstractPosition);goog.positioning.AnchoredPosition[$$PROP_prototype].reposition=function(b,c,d){goog.positioning.positionAtAnchor(this.element,this.corner,b,c,GLOBAL_undefined,d)};goog.positioning.ViewportPosition=function(b,c){this.coordinate=b instanceof goog.math.Coordinate?b:new goog.math.Coordinate(b,c)};goog.inherits(goog.positioning.ViewportPosition,goog.positioning.AbstractPosition);goog.positioning.ViewportPosition[$$PROP_prototype].reposition=function(b,c,d,e){goog.positioning.positionAtAnchor(goog[$$PROP_style].getClientViewportElement(b),goog.positioning.Corner.TOP_LEFT,b,c,this.coordinate,d,null,e)};goog.Timer=function(b,c){goog.events.EventTarget[$$PROP_call](this);this.interval_=b||1;this.timerObject_=c||goog.Timer.defaultTimerObject;this.boundTick_=goog.bind(this.tick_,this);this.last_=goog.now()};goog.inherits(goog.Timer,goog.events.EventTarget);goog.Timer.MAX_TIMEOUT_=2147483647;goog.Timer[$$PROP_prototype].enabled=false;goog.Timer.defaultTimerObject=goog[$$PROP_global].window;goog.Timer.intervalScale=0.8;a=goog.Timer[$$PROP_prototype];a.timer_=null; a.setInterval=function(b){this.interval_=b;if(this.timer_&&this.enabled){this.stop();this.start()}else this.timer_&&this.stop()};a.tick_=function(){if(this.enabled){var b=goog.now()-this.last_;if(b>0&&bgoog.Timer.MAX_TIMEOUT_?-1:goog.Timer.defaultTimerObject[$$PROP_setTimeout](b,c||0)};SETPROP_clear(goog.Timer,function(b){goog.Timer.defaultTimerObject.clearTimeout(b)});goog.positioning.AbsolutePosition=function(b,c){this.coordinate=b instanceof goog.math.Coordinate?b:new goog.math.Coordinate(b,c)};goog.inherits(goog.positioning.AbsolutePosition,goog.positioning.AbstractPosition);goog.positioning.AbsolutePosition[$$PROP_prototype].reposition=function(b,c,d,e){goog.positioning.positionAtCoordinate(this.coordinate,b,c,d,null,null,e)};goog.positioning.AnchoredViewportPosition=function(b,c,d){goog.positioning.AnchoredPosition[$$PROP_call](this,b,c);this.adjust_=d};goog.inherits(goog.positioning.AnchoredViewportPosition,goog.positioning.AnchoredPosition); goog.positioning.AnchoredViewportPosition[$$PROP_prototype].reposition=function(b,c,d,e){var f=goog.positioning.positionAtAnchor(this.element,this.corner,b,c,null,d,goog.positioning.Overflow.FAIL_X|goog.positioning.Overflow.FAIL_Y,e)&goog.positioning.OverflowStatus.FAILED;if(f)if(f=goog.positioning.positionAtAnchor(this.element,c,b,this.corner,null,d,goog.positioning.Overflow.FAIL_X|goog.positioning.Overflow.FAIL_Y,e)&goog.positioning.OverflowStatus.FAILED)this.adjust_?goog.positioning.positionAtAnchor(this.element, this.corner,b,c,null,d,goog.positioning.Overflow.ADJUST_X|goog.positioning.Overflow.ADJUST_Y,e):goog.positioning.positionAtAnchor(this.element,this.corner,b,c,null,d,goog.positioning.Overflow.IGNORE,e)};goog.positioning.ClientPosition=function(b,c){this.coordinate=b instanceof goog.math.Coordinate?b:new goog.math.Coordinate(b,c)};goog.inherits(goog.positioning.ClientPosition,goog.positioning.AbstractPosition); goog.positioning.ClientPosition[$$PROP_prototype].reposition=function(b,c,d,e){var f=goog[$$PROP_style].getClientViewportElement(b),g=new goog.math.Coordinate(this.coordinate.x+f[$$PROP_scrollLeft],this.coordinate.y+f[$$PROP_scrollTop]);goog.positioning.positionAtAnchor(f,goog.positioning.Corner.TOP_LEFT,b,c,g,d,null,e)};goog.positioning.ViewportClientPosition=function(b,c){goog.positioning.ClientPosition[$$PROP_call](this,b,c)};goog.inherits(goog.positioning.ViewportClientPosition,goog.positioning.ClientPosition); goog.positioning.ViewportClientPosition[$$PROP_prototype].reposition=function(b,c,d,e){var f=goog[$$PROP_style].getClientViewportElement(b);f=goog[$$PROP_style].getVisibleRectForElement(f);var g=goog.dom.getDomHelper(b).getDocumentScrollElement();g=new goog.math.Coordinate(this.coordinate.x+g[$$PROP_scrollLeft],this.coordinate.y+g[$$PROP_scrollTop]);var h=goog.positioning.Overflow.FAIL_X|goog.positioning.Overflow.FAIL_Y,i=c,j=goog.positioning.positionAtCoordinate(g,b,i,d,f,h,e);if(!((j&goog.positioning.OverflowStatus.FAILED)== 0)){if(j&goog.positioning.OverflowStatus.FAILED_LEFT||j&goog.positioning.OverflowStatus.FAILED_RIGHT)i=goog.positioning.flipCornerHorizontal(i);if(j&goog.positioning.OverflowStatus.FAILED_TOP||j&goog.positioning.OverflowStatus.FAILED_BOTTOM)i=goog.positioning.flipCornerVertical(i);j=goog.positioning.positionAtCoordinate(g,b,i,d,f,h,e);(j&goog.positioning.OverflowStatus.FAILED)==0||goog.positioning.positionAtCoordinate(g,b,c,d,f,GLOBAL_undefined,e)}};goog.events.EventHandler=function(b){this.handler_=b};goog.inherits(goog.events.EventHandler,goog.Disposable);goog.events.EventHandler.KEY_POOL_INITIAL_COUNT=0;goog.events.EventHandler.KEY_POOL_MAX_COUNT=100;goog.events.EventHandler.keyPool_=new goog.structs.SimplePool(goog.events.EventHandler.KEY_POOL_INITIAL_COUNT,goog.events.EventHandler.KEY_POOL_MAX_COUNT);goog.events.EventHandler.keys_=null;goog.events.EventHandler.key_=null;a=goog.events.EventHandler[$$PROP_prototype]; a.listen=function(b,c,d,e,f){if(goog.isArray(c))for(var g=0;g=goog.events.KeyCodes.F1&&b[$$PROP_keyCode]<=goog.events.KeyCodes.F12)return false;switch(b[$$PROP_keyCode]){case goog.events.KeyCodes.ALT:case goog.events.KeyCodes.SHIFT:case goog.events.KeyCodes.CTRL:case goog.events.KeyCodes.PAUSE:case goog.events.KeyCodes.CAPS_LOCK:case goog.events.KeyCodes.ESC:case goog.events.KeyCodes.PAGE_UP:case goog.events.KeyCodes.PAGE_DOWN:case goog.events.KeyCodes.HOME:case goog.events.KeyCodes.END:case goog.events.KeyCodes.LEFT:case goog.events.KeyCodes.RIGHT:case goog.events.KeyCodes.UP:case goog.events.KeyCodes.DOWN:case goog.events.KeyCodes.INSERT:case goog.events.KeyCodes.NUMLOCK:case goog.events.KeyCodes.CONTEXT_MENU:case goog.events.KeyCodes.PRINT_SCREEN:return false; default:return true}}; goog.events.KeyCodes.firesKeyPressEvent=function(b,c,d){if(!goog[$$PROP_userAgent].IE&&!(goog[$$PROP_userAgent].WEBKIT&&goog[$$PROP_userAgent].isVersion("525")))return true;if(goog[$$PROP_userAgent].IE&&!d&&(c==goog.events.KeyCodes.CTRL||c==goog.events.KeyCodes.ALT))return false;if(b>=goog.events.KeyCodes.ZERO&&b<=goog.events.KeyCodes.NINE)return true;if(b>=goog.events.KeyCodes.NUM_ZERO&&b<=goog.events.KeyCodes.NUM_MULTIPLY)return true;if(b>=goog.events.KeyCodes.A&&b<=goog.events.KeyCodes.Z)return true;if(b== goog.events.KeyCodes.ESC&&goog[$$PROP_userAgent].WEBKIT)return false;switch(b){case goog.events.KeyCodes.ENTER:case goog.events.KeyCodes.ESC:case goog.events.KeyCodes.SPACE:case goog.events.KeyCodes.QUESTION_MARK:case goog.events.KeyCodes.NUM_PLUS:case goog.events.KeyCodes.NUM_MINUS:case goog.events.KeyCodes.NUM_PERIOD:case goog.events.KeyCodes.NUM_DIVISION:case goog.events.KeyCodes.SEMICOLON:case goog.events.KeyCodes.DASH:case goog.events.KeyCodes.EQUALS:case goog.events.KeyCodes.COMMA:case goog.events.KeyCodes.PERIOD:case goog.events.KeyCodes.SLASH:case goog.events.KeyCodes.APOSTROPHE:case goog.events.KeyCodes.SINGLE_QUOTE:case goog.events.KeyCodes.OPEN_SQUARE_BRACKET:case goog.events.KeyCodes.BACKSLASH:case goog.events.KeyCodes.CLOSE_SQUARE_BRACKET:return true; default:return false}}; goog.events.KeyCodes.isCharacterKey=function(b){if(b>=goog.events.KeyCodes.ZERO&&b<=goog.events.KeyCodes.NINE)return true;if(b>=goog.events.KeyCodes.NUM_ZERO&&b<=goog.events.KeyCodes.NUM_MULTIPLY)return true;if(b>=goog.events.KeyCodes.A&&b<=goog.events.KeyCodes.Z)return true;switch(b){case goog.events.KeyCodes.SPACE:case goog.events.KeyCodes.QUESTION_MARK:case goog.events.KeyCodes.NUM_PLUS:case goog.events.KeyCodes.NUM_MINUS:case goog.events.KeyCodes.NUM_PERIOD:case goog.events.KeyCodes.NUM_DIVISION:case goog.events.KeyCodes.SEMICOLON:case goog.events.KeyCodes.DASH:case goog.events.KeyCodes.EQUALS:case goog.events.KeyCodes.COMMA:case goog.events.KeyCodes.PERIOD:case goog.events.KeyCodes.SLASH:case goog.events.KeyCodes.APOSTROPHE:case goog.events.KeyCodes.SINGLE_QUOTE:case goog.events.KeyCodes.OPEN_SQUARE_BRACKET:case goog.events.KeyCodes.BACKSLASH:case goog.events.KeyCodes.CLOSE_SQUARE_BRACKET:return true;default:return false}};goog.ui={};goog.ui.PopupBase=function(b,c){this.handler_=new goog.events.EventHandler(this);this.setElement(b||null);c&&this.setType(c)};goog.inherits(goog.ui.PopupBase,goog.events.EventTarget);goog.ui.PopupBase.Type={TOGGLE_DISPLAY:"toggle_display",MOVE_OFFSCREEN:"move_offscreen"};a=goog.ui.PopupBase[$$PROP_prototype];a.element_=null;a.autoHide_=true;a.autoHideRegion_=null;a.isVisible_=false;a.shouldHideAsync_=false;a.lastShowTime_=-1;a.lastHideTime_=-1;a.hideOnEscape_=false; a.enableCrossIframeDismissal_=true;a.type_=goog.ui.PopupBase.Type.TOGGLE_DISPLAY;goog.ui.PopupBase.EventType={BEFORE_SHOW:"beforeshow",SHOW:"show",BEFORE_HIDE:"beforehide",HIDE:"hide"};goog.ui.PopupBase.DEBOUNCE_DELAY_MS=150;a=goog.ui.PopupBase[$$PROP_prototype];a.getType=function(){return this.type_};a.setType=function(b){this.type_=b};a.getElement=function(){return this.element_};a.setElement=function(b){this.ensureNotVisible_();this.element_=b}; a.ensureNotVisible_=function(){if(this.isVisible_)throw GLOBAL_Error("Can not change this state of the popup while showing.");};a.isVisible=function(){return this.isVisible_};a.setVisible=function(b){b?this.show_():this.hide_()};a.reposition=function(){}; a.show_=function(){if(!this.isVisible_)if(this.onBeforeShow()){if(!this.element_)throw GLOBAL_Error("Caller must call setElement before trying to show the popup");this.reposition();var b=goog.dom.getOwnerDocument(this.element_);this.hideOnEscape_&&this.handler_.listen(b,goog.events.EventType.KEYDOWN,this.onDocumentKeyDown_,true);if(this.autoHide_){this.handler_.listen(b,goog.events.EventType.MOUSEDOWN,this.onDocumentMouseDown_,true);if(goog[$$PROP_userAgent].IE){for(var c=b.activeElement;c&&c[$$PROP_nodeName]== "IFRAME";){try{var d=goog.dom.getFrameContentDocument(c)}catch(e){break}b=d;c=b.activeElement}this.handler_.listen(b,goog.events.EventType.MOUSEDOWN,this.onDocumentMouseDown_,true);this.handler_.listen(b,goog.events.EventType.DEACTIVATE,this.onDocumentBlur_)}else this.handler_.listen(b,goog.events.EventType.BLUR,this.onDocumentBlur_)}if(this.type_==goog.ui.PopupBase.Type.TOGGLE_DISPLAY)this.showPopupElement();else this.type_==goog.ui.PopupBase.Type.MOVE_OFFSCREEN&&this.reposition();this.isVisible_= true;this.onShow_()}};a.hide_=function(b){if(!this.isVisible_||!this.onBeforeHide_(b))return false;this.handler_&&this.handler_.removeAll();if(this.type_==goog.ui.PopupBase.Type.TOGGLE_DISPLAY)this.shouldHideAsync_?goog.Timer.callOnce(this.hidePopupElement_,0,this):this.hidePopupElement_();else this.type_==goog.ui.PopupBase.Type.MOVE_OFFSCREEN&&this.moveOffscreen_();this.isVisible_=false;this.onHide_(b);return true}; a.showPopupElement=function(){SETPROP_visibility(this.element_[$$PROP_style],"visible");goog[$$PROP_style].showElement(this.element_,true)};a.hidePopupElement_=function(){SETPROP_visibility(this.element_[$$PROP_style],"hidden");goog[$$PROP_style].showElement(this.element_,false)};a.moveOffscreen_=function(){SETPROP_left(this.element_[$$PROP_style],"-200px");this.element_[$$PROP_style].top="-200px"};a.onBeforeShow=function(){return this[$$PROP_dispatchEvent](goog.ui.PopupBase.EventType.BEFORE_SHOW)}; a.onShow_=function(){this.lastShowTime_=goog.now();this.lastHideTime_=-1;this[$$PROP_dispatchEvent](goog.ui.PopupBase.EventType.SHOW)};a.onBeforeHide_=function(b){return this[$$PROP_dispatchEvent]({type:goog.ui.PopupBase.EventType.BEFORE_HIDE,target:b})};a.onHide_=function(b){this.lastHideTime_=goog.now();this[$$PROP_dispatchEvent]({type:goog.ui.PopupBase.EventType.HIDE,target:b})}; a.onDocumentMouseDown_=function(b){b=b[$$PROP_target];if(!goog.dom[$$PROP_contains](this.element_,b)&&(!this.autoHideRegion_||goog.dom[$$PROP_contains](this.autoHideRegion_,b))&&!this.shouldDebounce_())this.hide_(b)};a.onDocumentKeyDown_=function(b){if(b[$$PROP_keyCode]==goog.events.KeyCodes.ESC)if(this.hide_(b[$$PROP_target])){b.preventDefault();b.stopPropagation()}}; a.onDocumentBlur_=function(b){if(this.enableCrossIframeDismissal_){var c=goog.dom.getOwnerDocument(this.element_);if(goog[$$PROP_userAgent].IE||goog[$$PROP_userAgent].OPERA){if((b=c.activeElement)&&goog.dom[$$PROP_contains](this.element_,b))return}else if(b[$$PROP_target]!=c)return;this.shouldDebounce_()||this.hide_()}};a.shouldDebounce_=function(){return goog.now()-this.lastShowTime_=c}}if(c){this.startHideTimer_();this.activeEl_=null;if(this.childTooltip_)this.childTooltip_.activeEl_=null}else this.getState()==goog.ui.Tooltip.State.WAITING_TO_HIDE&&this.clearHideTimer_(); goog.ui.AdvancedTooltip.superClass_.handleMouseMove[$$PROP_call](this,b)};a.handleTooltipMouseOver=function(){if(this.activeEl_!=this.getElement()){this.tracking_=false;this.activeEl_=this.getElement();if(!this.paddingBox_&&this.hotSpotPadding_)this.paddingBox_=this.boundingBox_.clone().expand(this.hotSpotPadding_)}};a.getHideDelayMs=function(){return this.tracking_?this.cursorTrackingHideDelayMs_:this.hideDelayMs_};goog.asserts={};goog.asserts.assert=function(b,c){if(goog.DEBUG&&!b)throw GLOBAL_Error("Assertion failed"+(c?": "+c:""));};goog.asserts.fail=function(b){if(goog.DEBUG)throw GLOBAL_Error("Failure"+(b?": "+b:""));};goog.uri={};goog.uri.utils={};goog.uri.utils.CharCode_={AMPERSAND:38,EQUAL:61,HASH:35,QUESTION:63};goog.uri.utils.buildFromEncodedParts=function(b,c,d,e,f,g,h){var i=[];b&&i[$$PROP_push](b,":");if(d){i[$$PROP_push]("//");c&&i[$$PROP_push](c,"@");i[$$PROP_push](d);e&&i[$$PROP_push](":",e)}f&&i[$$PROP_push](f);g&&i[$$PROP_push]("?",g);h&&i[$$PROP_push]("#",h);return i[$$PROP_join]("")};goog.uri.utils.splitRe_=/^(?:([^:\/?#]+):)?(?:\/\/(?:([^\/?#]*)@)?([^\/?#:@]*)(?::([0-9]+))?)?([^?#]+)?(?:\?([^#]*))?(?:#(.*))?$/; goog.uri.utils.ComponentIndex={SCHEME:1,USER_INFO:2,DOMAIN:3,PORT:4,PATH:5,QUERY_DATA:6,FRAGMENT:7};goog.uri.utils.split=function(b){return b[$$PROP_match](goog.uri.utils.splitRe_)};goog.uri.utils.decodeIfPossible_=function(b){return b&&GLOBAL_decodeURIComponent(b)};goog.uri.utils.getComponentByIndex_=function(b,c){return goog.uri.utils[$$PROP_split](c)[b]||null};goog.uri.utils.getScheme=function(b){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.SCHEME,b)}; goog.uri.utils.getUserInfoEncoded=function(b){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.USER_INFO,b)};goog.uri.utils.getUserInfo=function(b){return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getUserInfoEncoded(b))};goog.uri.utils.getDomainEncoded=function(b){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.DOMAIN,b)};goog.uri.utils.getDomain=function(b){return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getDomainEncoded(b))}; goog.uri.utils.getPort=function(b){return GLOBAL_Number(goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.PORT,b))||null};goog.uri.utils.getPathEncoded=function(b){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.PATH,b)};goog.uri.utils.getPath=function(b){return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getPathEncoded(b))};goog.uri.utils.getQueryData=function(b){return goog.uri.utils.getComponentByIndex_(goog.uri.utils.ComponentIndex.QUERY_DATA,b)}; goog.uri.utils.getFragmentEncoded=function(b){var c=b[$$PROP_indexOf]("#");return c<0?null:b[$$PROP_substr](c+1)};goog.uri.utils.getFragment=function(b){return goog.uri.utils.decodeIfPossible_(goog.uri.utils.getFragmentEncoded(b))};goog.uri.utils.getHost=function(b){b=goog.uri.utils[$$PROP_split](b);return goog.uri.utils.buildFromEncodedParts(b[goog.uri.utils.ComponentIndex.SCHEME],b[goog.uri.utils.ComponentIndex.USER_INFO],b[goog.uri.utils.ComponentIndex.DOMAIN],b[goog.uri.utils.ComponentIndex.PORT])}; goog.uri.utils.getPathAndAfter=function(b){b=goog.uri.utils[$$PROP_split](b);return goog.uri.utils.buildFromEncodedParts(null,null,null,null,b[goog.uri.utils.ComponentIndex.PATH],b[goog.uri.utils.ComponentIndex.QUERY_DATA],b[goog.uri.utils.ComponentIndex.FRAGMENT])};goog.uri.utils.removeFragment=function(b){var c=b[$$PROP_indexOf]("#");return c<0?b:b[$$PROP_substr](0,c)}; goog.uri.utils.haveSameDomain=function(b,c){b=goog.uri.utils[$$PROP_split](b);c=goog.uri.utils[$$PROP_split](c);return b[goog.uri.utils.ComponentIndex.DOMAIN]==c[goog.uri.utils.ComponentIndex.DOMAIN]&&b[goog.uri.utils.ComponentIndex.SCHEME]==c[goog.uri.utils.ComponentIndex.SCHEME]&&b[goog.uri.utils.ComponentIndex.PORT]==c[goog.uri.utils.ComponentIndex.PORT]}; goog.uri.utils.assertNoFragments_=function(b){if(goog.DEBUG&&b[$$PROP_indexOf]("#")>=0)throw GLOBAL_Error("goog.uri.utils: Fragment identifiers are not supported: ["+b+"]");};goog.uri.utils.assertNoFragmentsOrQueries_=function(b){if(goog.DEBUG&&(b[$$PROP_indexOf]("#")>=0||b[$$PROP_indexOf]("?")>=0))throw GLOBAL_Error("goog.uri.utils: Fragment or query identifiers are not supported: ["+b+"]");}; goog.uri.utils.appendQueryData_=function(b){goog.uri.utils.assertNoFragments_(b[0]);if(b[1]){var c=b[0][$$PROP_indexOf]("?");if(c<0)b[1]="?";else if(c==b[0][$$PROP_length]-1)b[1]=""}return b[$$PROP_join]("")};goog.uri.utils.appendKeyValuePairs_=function(b,c,d){if(goog.isArray(c)){c=c;for(var e=0;ed)f=d;e+=c[$$PROP_length]+1;return goog.string.urlDecode(b[$$PROP_substr](e,f-e))}}; goog.uri.utils.getParamValues=function(b,c){for(var d=b[$$PROP_search](goog.uri.utils.hashOrEndRe_),e=0,f,g=[];(f=goog.uri.utils.findParam_(b,e,c,d))>=0;){e=b[$$PROP_indexOf]("&",f);if(e<0||e>d)e=d;f+=c[$$PROP_length]+1;g[$$PROP_push](goog.string.urlDecode(b[$$PROP_substr](f,e-f)))}return g};goog.uri.utils.trailingQueryPunctuationRe_=/[?&]$/; goog.uri.utils.removeParam=function(b,c){goog.uri.utils.assertNoFragments_(b);for(var d=b[$$PROP_length],e=0,f,g=[];(f=goog.uri.utils.findParam_(b,e,c,d))>=0;){g[$$PROP_push](b[$$PROP_substring](e,f));e=b[$$PROP_indexOf]("&",f)+1||d}g[$$PROP_push](b[$$PROP_substr](e));return g[$$PROP_join]("")[$$PROP_replace](goog.uri.utils.trailingQueryPunctuationRe_,"")}; goog.uri.utils.appendPath=function(b,c){goog.uri.utils.assertNoFragmentsOrQueries_(b);if(goog.string.endsWith(b,"/"))b=b[$$PROP_substr](0,b[$$PROP_length]-1);if(goog.string.startsWith(c,"/"))c=c[$$PROP_substr](1);return goog.string.buildString(b,"/",c)};goog.Uri=function(b,c){var d;if(b instanceof goog.Uri){this.setIgnoreCase(c==null?b.getIgnoreCase():c);this.setScheme(b.getScheme());this.setUserInfo(b.getUserInfo());this.setDomain(b.getDomain());this.setPort(b.getPort());this.setPath(b.getPath());this.setQueryData(b.getQueryData().clone());this.setFragment(b.getFragment())}else if(b&&(d=goog.uri.utils[$$PROP_split](GLOBAL_String(b)))){this.setIgnoreCase(!!c);this.setScheme(d[goog.uri.utils.ComponentIndex.SCHEME]||"",true);this.setUserInfo(d[goog.uri.utils.ComponentIndex.USER_INFO]|| "",true);this.setDomain(d[goog.uri.utils.ComponentIndex.DOMAIN]||"",true);this.setPort(d[goog.uri.utils.ComponentIndex.PORT]);this.setPath(d[goog.uri.utils.ComponentIndex.PATH]||"",true);this.setQuery(d[goog.uri.utils.ComponentIndex.QUERY_DATA]||"",true);this.setFragment(d[goog.uri.utils.ComponentIndex.FRAGMENT]||"",true)}else{this.setIgnoreCase(!!c);this.queryData_=new goog.Uri.QueryData(null,this,this.ignoreCase_)}};goog.Uri.RANDOM_PARAM="zx";a=goog.Uri[$$PROP_prototype];a.scheme_=""; a.userInfo_="";a.domain_="";a.port_=null;a.path_="";a.fragment_="";a.isReadOnly_=false;a.ignoreCase_=false; SETPROP_toString(a,function(){if(this.cachedToString_)return this.cachedToString_;var b=[];this.scheme_&&b[$$PROP_push](goog.Uri.encodeSpecialChars_(this.scheme_,goog.Uri.reDisallowedInSchemeOrUserInfo_),":");if(this.domain_){b[$$PROP_push]("//");this.userInfo_&&b[$$PROP_push](goog.Uri.encodeSpecialChars_(this.userInfo_,goog.Uri.reDisallowedInSchemeOrUserInfo_),"@");b[$$PROP_push](goog.Uri.encodeString_(this.domain_));this.port_!=null&&b[$$PROP_push](":",GLOBAL_String(this.getPort()))}this.path_&& b[$$PROP_push](goog.Uri.encodeSpecialChars_(this.path_,goog.Uri.reDisallowedInPath_));var c=GLOBAL_String(this.queryData_);c&&b[$$PROP_push]("?",c);this.fragment_&&b[$$PROP_push]("#",goog.Uri.encodeSpecialChars_(this.fragment_,goog.Uri.reDisallowedInFragment_));return this.cachedToString_=b[$$PROP_join]("")}); a.resolve=function(b){var c=this.clone(),d=b.hasScheme();if(d)c.setScheme(b.getScheme());else d=b.hasUserInfo();if(d)c.setUserInfo(b.getUserInfo());else d=b.hasDomain();if(d)c.setDomain(b.getDomain());else d=b.hasPort();var e=b.getPath();if(d)c.setPort(b.getPort());else if(d=b.hasPath()){if(e[$$PROP_charAt](0)!="/")if(this.hasDomain()&&!this.hasPath())e="/"+e;else{var f=c.getPath()[$$PROP_lastIndexOf]("/");if(f!=-1)e=c.getPath()[$$PROP_substr](0,f+1)+e}e=goog.Uri.removeDotSegments(e)}if(d)c.setPath(e); else d=b.hasQuery();if(d)c.setQuery(b.getDecodedQuery());else d=b.hasFragment();d&&c.setFragment(b.getFragment());return c};a.clone=function(){return goog.Uri.create(this.scheme_,this.userInfo_,this.domain_,this.port_,this.path_,this.queryData_.clone(),this.fragment_,this.ignoreCase_)};a.getScheme=function(){return this.scheme_}; a.setScheme=function(b,c){this.enforceReadOnly();delete this.cachedToString_;if(this.scheme_=c?goog.Uri.decodeOrEmpty_(b):b)this.scheme_=this.scheme_[$$PROP_replace](/:$/,"");return this};a.hasScheme=function(){return!!this.scheme_};a.getUserInfo=function(){return this.userInfo_};a.setUserInfo=function(b,c){this.enforceReadOnly();delete this.cachedToString_;this.userInfo_=c?goog.Uri.decodeOrEmpty_(b):b;return this};a.hasUserInfo=function(){return!!this.userInfo_};a.getDomain=function(){return this.domain_}; a.setDomain=function(b,c){this.enforceReadOnly();delete this.cachedToString_;this.domain_=c?goog.Uri.decodeOrEmpty_(b):b;return this};a.hasDomain=function(){return!!this.domain_};a.getPort=function(){return this.port_};a.setPort=function(b){this.enforceReadOnly();delete this.cachedToString_;if(b){b=GLOBAL_Number(b);if(isNaN(b)||b<0)throw GLOBAL_Error("Bad port number "+b);this.port_=b}else this.port_=null;return this};a.hasPort=function(){return this.port_!=null};a.getPath=function(){return this.path_}; a.setPath=function(b,c){this.enforceReadOnly();delete this.cachedToString_;this.path_=c?goog.Uri.decodeOrEmpty_(b):b;return this};a.hasPath=function(){return!!this.path_};a.hasQuery=function(){return this.queryData_[$$PROP_toString]()!==""}; a.setQueryData=function(b,c){this.enforceReadOnly();delete this.cachedToString_;if(b instanceof goog.Uri.QueryData){this.queryData_=b;this.queryData_.uri_=this;this.queryData_.setIgnoreCase(this.ignoreCase_)}else{c||(b=goog.Uri.encodeSpecialChars_(b,goog.Uri.reDisallowedInQuery_));this.queryData_=new goog.Uri.QueryData(b,this,this.ignoreCase_)}return this};a.setQuery=function(b,c){return this.setQueryData(b,c)};a.getDecodedQuery=function(){return this.queryData_.toDecodedString()}; a.getQueryData=function(){return this.queryData_};a.setParameterValue=function(b,c){this.enforceReadOnly();delete this.cachedToString_;this.queryData_.set(b,c);return this};a.getFragment=function(){return this.fragment_};a.setFragment=function(b,c){this.enforceReadOnly();delete this.cachedToString_;this.fragment_=c?goog.Uri.decodeOrEmpty_(b):b;return this};a.hasFragment=function(){return!!this.fragment_};a.removeParameter=function(b){this.enforceReadOnly();this.queryData_[$$PROP_remove](b);return this}; a.enforceReadOnly=function(){if(this.isReadOnly_)throw GLOBAL_Error("Tried to modify a read-only Uri");};a.setIgnoreCase=function(b){this.ignoreCase_=b;this.queryData_&&this.queryData_.setIgnoreCase(b)};a.getIgnoreCase=function(){return this.ignoreCase_};goog.Uri.parse=function(b,c){return b instanceof goog.Uri?b.clone():new goog.Uri(b,c)}; goog.Uri.create=function(b,c,d,e,f,g,h,i){i=new goog.Uri(null,i);b&&i.setScheme(b);c&&i.setUserInfo(c);d&&i.setDomain(d);e&&i.setPort(e);f&&i.setPath(f);g&&i.setQueryData(g);h&&i.setFragment(h);return i};goog.Uri.resolve=function(b,c){b instanceof goog.Uri||(b=goog.Uri.parse(b));c instanceof goog.Uri||(c=goog.Uri.parse(c));return b.resolve(c)}; goog.Uri.removeDotSegments=function(b){if(b==".."||b==".")return"";else if(!goog.string[$$PROP_contains](b,"./")&&!goog.string[$$PROP_contains](b,"/."))return b;else{var c=goog.string.startsWith(b,"/");b=b[$$PROP_split]("/");for(var d=[],e=0;e1||d[$$PROP_length]==1&&d[0]!="")d.pop();c&&e==b[$$PROP_length]&&d[$$PROP_push]("")}else{d[$$PROP_push](f);c=true}}return d[$$PROP_join]("/")}}; goog.Uri.decodeOrEmpty_=function(b){return b?GLOBAL_decodeURIComponent(b):""};goog.Uri.encodeString_=function(b){if(goog.isString(b))return GLOBAL_encodeURIComponent(b);return null};goog.Uri.encodeSpecialRegExp_=/^[a-zA-Z0-9\-_.!~*'():\/;?]*$/;goog.Uri.encodeSpecialChars_=function(b,c){var d=null;if(goog.isString(b)){d=b;goog.Uri.encodeSpecialRegExp_[$$PROP_test](d)||(d=encodeURI(b));if(d[$$PROP_search](c)>=0)d=d[$$PROP_replace](c,goog.Uri.encodeChar_)}return d}; goog.Uri.encodeChar_=function(b){b=b[$$PROP_charCodeAt](0);return"%"+(b>>4&15)[$$PROP_toString](16)+(b&15)[$$PROP_toString](16)};goog.Uri.reDisallowedInSchemeOrUserInfo_=/[#\/\?@]/g;goog.Uri.reDisallowedInPath_=/[\#\?]/g;goog.Uri.reDisallowedInQuery_=/[\#\?@]/g;goog.Uri.reDisallowedInFragment_=/#/g; goog.Uri.haveSameDomain=function(b,c){b=goog.uri.utils[$$PROP_split](b);c=goog.uri.utils[$$PROP_split](c);return b[goog.uri.utils.ComponentIndex.DOMAIN]==c[goog.uri.utils.ComponentIndex.DOMAIN]&&b[goog.uri.utils.ComponentIndex.PORT]==c[goog.uri.utils.ComponentIndex.PORT]};goog.Uri.QueryData=function(b,c,d){this.encodedQuery_=b||null;this.uri_=c||null;this.ignoreCase_=!!d}; goog.Uri.QueryData[$$PROP_prototype].ensureKeyMapInitialized_=function(){if(!this.keyMap_){this.keyMap_=new goog.structs.Map;if(this.encodedQuery_)for(var b=this.encodedQuery_[$$PROP_split]("&"),c=0;c=0){e=b[c][$$PROP_substring](0,d);f=b[c][$$PROP_substring](d+1)}else e=b[c];e=goog.string.urlDecode(e);e=this.getKeyName_(e);this.add(e,f?goog.string.urlDecode(f):"")}}}; goog.Uri.QueryData.createFromMap=function(b,c,d){var e=goog.structs.getKeys(b);if(typeof e=="undefined")throw GLOBAL_Error("Keys are undefined");return goog.Uri.QueryData.createFromKeysValues(e,goog.structs.getValues(b),c,d)};goog.Uri.QueryData.createFromKeysValues=function(b,c,d,e){if(b[$$PROP_length]!=c[$$PROP_length])throw GLOBAL_Error("Mismatched lengths for keys/values");d=new goog.Uri.QueryData(null,d,e);for(e=0;e0&&b[$$PROP_push]("&");b[$$PROP_push](g,"=",goog.string.urlEncode(f[h]));c++}else{c>0&&b[$$PROP_push]("&");b[$$PROP_push](g,"=",goog.string.urlEncode(f));c++}}return this.encodedQuery_=b[$$PROP_join]("")}); a.toDecodedString=function(){if(!this.decodedQuery_)this.decodedQuery_=goog.Uri.decodeOrEmpty_(this[$$PROP_toString]());return this.decodedQuery_};a.invalidateCache_=function(){delete this.decodedQuery_;delete this.encodedQuery_;this.uri_&&delete this.uri_.cachedToString_};a.clone=function(){var b=new goog.Uri.QueryData;if(this.decodedQuery_)b.decodedQuery_=this.decodedQuery_;if(this.encodedQuery_)b.encodedQuery_=this.encodedQuery_;if(this.keyMap_)b.keyMap_=this.keyMap_.clone();return b}; a.getKeyName_=function(b){b=GLOBAL_String(b);if(this.ignoreCase_)b=b[$$PROP_toLowerCase]();return b};a.setIgnoreCase=function(b){var c=b&&!this.ignoreCase_;if(c){this.ensureKeyMapInitialized_();this.invalidateCache_();goog.structs[$$PROP_forEach](this.keyMap_,function(d,e){var f=e[$$PROP_toLowerCase]();if(e!=f){this[$$PROP_remove](e);this.add(f,d)}},this)}this.ignoreCase_=b}; a.extend=function(){for(var b=0;b