Andrew Chang a94e370fea v0.1.92
2016-08-11 13:10:01 -07:00

217 lines
114 KiB
JavaScript

(function() {var h,aa=aa||{},l=this,m=function(a){return void 0!==a},ba=function(){},ca=function(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=
typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";else if("function"==b&&"undefined"==typeof a.call)return"object";return b},da=function(a){return null!=a},n=function(a){return"array"==ca(a)},ea=function(a){var b=ca(a);return"array"==b||"object"==b&&"number"==typeof a.length},p=function(a){return"string"==typeof a},q=function(a){return"number"==typeof a},r=function(a){return"function"==ca(a)},t=function(a){var b=typeof a;return"object"==b&&null!=a||
"function"==b},fa="closure_uid_"+(1E9*Math.random()>>>0),ga=0,ha=function(a,b,c){return a.call.apply(a.bind,arguments)},ia=function(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}},u=function(a,b,c){u=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?
ha:ia;return u.apply(null,arguments)},ja=function(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=c.slice();b.push.apply(b,arguments);return a.apply(this,b)}},ka=Date.now||function(){return+new Date},w=function(a,b){var c=a.split("."),d=l;c[0]in d||!d.execScript||d.execScript("var "+c[0]);for(var e;c.length&&(e=c.shift());)!c.length&&m(b)?d[e]=b:d=d[e]?d[e]:d[e]={}},x=function(a,b){function c(){}c.prototype=b.prototype;a.w=b.prototype;a.prototype=new c;a.prototype.constructor=
a;a.oe=function(a,c,f){for(var g=Array(arguments.length-2),k=2;k<arguments.length;k++)g[k-2]=arguments[k];return b.prototype[c].apply(a,g)}};var y=function(){this.aa=this.aa;this.tb=this.tb};y.prototype.aa=!1;y.prototype.O=function(){this.aa||(this.aa=!0,this.l())};y.prototype.l=function(){if(this.tb)for(;this.tb.length;)this.tb.shift()()};var la=function(a,b){this.type=a;this.currentTarget=this.target=b;this.defaultPrevented=this.za=!1;this.qd=!0};la.prototype.preventDefault=function(){this.defaultPrevented=!0;this.qd=!1};var ma=function(a){if(Error.captureStackTrace)Error.captureStackTrace(this,ma);else{var b=Error().stack;b&&(this.stack=b)}a&&(this.message=String(a))};x(ma,Error);ma.prototype.name="CustomError";var na;var oa=function(a,b){for(var c=a.split("%s"),d="",e=Array.prototype.slice.call(arguments,1);e.length&&1<c.length;)d+=c.shift()+e.shift();return d+c.join("%s")},pa=String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},xa=function(a){if(!qa.test(a))return a;-1!=a.indexOf("&")&&(a=a.replace(ra,"&amp;"));-1!=a.indexOf("<")&&(a=a.replace(sa,"&lt;"));-1!=a.indexOf(">")&&(a=a.replace(ta,"&gt;"));-1!=a.indexOf('"')&&(a=a.replace(ua,"&quot;"));-1!=a.indexOf("'")&&
(a=a.replace(va,"&#39;"));-1!=a.indexOf("\x00")&&(a=a.replace(wa,"&#0;"));return a},ra=/&/g,sa=/</g,ta=/>/g,ua=/"/g,va=/'/g,wa=/\x00/g,qa=/[\x00&<>"']/,ya=function(a,b){return a<b?-1:a>b?1:0};var za=function(a,b){b.unshift(a);ma.call(this,oa.apply(null,b));b.shift()};x(za,ma);za.prototype.name="AssertionError";
var Aa=function(a,b,c,d){var e="Assertion failed";if(c)var e=e+(": "+c),f=d;else a&&(e+=": "+a,f=b);throw new za(""+e,f||[]);},z=function(a,b,c){a||Aa("",null,b,Array.prototype.slice.call(arguments,2));return a},Ba=function(a,b){throw new za("Failure"+(a?": "+a:""),Array.prototype.slice.call(arguments,1));},Ca=function(a,b,c){q(a)||Aa("Expected number but got %s: %s.",[ca(a),a],b,Array.prototype.slice.call(arguments,2));return a},Da=function(a,b,c){r(a)||Aa("Expected function but got %s: %s.",[ca(a),
a],b,Array.prototype.slice.call(arguments,2))},Ea=function(a,b,c){t(a)||Aa("Expected object but got %s: %s.",[ca(a),a],b,Array.prototype.slice.call(arguments,2))},Fa=function(a,b,c){n(a)||Aa("Expected array but got %s: %s.",[ca(a),a],b,Array.prototype.slice.call(arguments,2))};var Ga=function(a,b,c){for(var d in a)b.call(c,a[d],d,a)},Ha=function(a,b){var c={},d;for(d in a)b.call(void 0,a[d],d,a)&&(c[d]=a[d]);return c},Ia=function(a,b,c){var d={},e;for(e in a)d[e]=b.call(c,a[e],e,a);return d},Ja=function(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b},Ka=function(a){var b=[],c=0,d;for(d in a)b[c++]=d;return b},La=function(a){for(var b in a)return!1;return!0},Ma=function(a,b){b in a&&delete a[b]},Na=function(a){var b={},c;for(c in a)b[c]=a[c];return b},Oa=function(a){var b=
ca(a);if("object"==b||"array"==b){if(r(a.clone))return a.clone();var b="array"==b?[]:{},c;for(c in a)b[c]=Oa(a[c]);return b}return a},Pa="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),Qa=function(a,b){for(var c,d,e=1;e<arguments.length;e++){d=arguments[e];for(c in d)a[c]=d[c];for(var f=0;f<Pa.length;f++)c=Pa[f],Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c])}};var Ra=function(a){Ra[" "](a);return a};Ra[" "]=ba;var Ta=function(a,b){var c=Sa;return Object.prototype.hasOwnProperty.call(c,a)?c[a]:c[a]=b(a)};var Ua=Array.prototype.indexOf?function(a,b,c){z(null!=a.length);return Array.prototype.indexOf.call(a,b,c)}:function(a,b,c){c=null==c?0:0>c?Math.max(0,a.length+c):c;if(p(a))return p(b)&&1==b.length?a.indexOf(b,c):-1;for(;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1},Va=Array.prototype.lastIndexOf?function(a,b,c){z(null!=a.length);return Array.prototype.lastIndexOf.call(a,b,null==c?a.length-1:c)}:function(a,b,c){c=null==c?a.length-1:c;0>c&&(c=Math.max(0,a.length+c));if(p(a))return p(b)&&1==
b.length?a.lastIndexOf(b,c):-1;for(;0<=c;c--)if(c in a&&a[c]===b)return c;return-1},Wa=Array.prototype.forEach?function(a,b,c){z(null!=a.length);Array.prototype.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=p(a)?a.split(""):a,f=0;f<d;f++)f in e&&b.call(c,e[f],f,a)},Xa=Array.prototype.filter?function(a,b,c){z(null!=a.length);return Array.prototype.filter.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=[],f=0,g=p(a)?a.split(""):a,k=0;k<d;k++)if(k in g){var v=g[k];b.call(c,v,k,a)&&(e[f++]=
v)}return e},Ya=Array.prototype.map?function(a,b,c){z(null!=a.length);return Array.prototype.map.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=Array(d),f=p(a)?a.split(""):a,g=0;g<d;g++)g in f&&(e[g]=b.call(c,f[g],g,a));return e},Za=Array.prototype.some?function(a,b,c){z(null!=a.length);return Array.prototype.some.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=p(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return!0;return!1},$a=Array.prototype.every?function(a,b,c){z(null!=a.length);
return Array.prototype.every.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=p(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&!b.call(c,e[f],f,a))return!1;return!0},bb=function(a){var b;a:{b=ab;for(var c=a.length,d=p(a)?a.split(""):a,e=0;e<c;e++)if(e in d&&b.call(void 0,d[e],e,a)){b=e;break a}b=-1}return 0>b?null:p(a)?a.charAt(b):a[b]},cb=function(a){if(!n(a))for(var b=a.length-1;0<=b;b--)delete a[b];a.length=0},eb=function(a,b){var c=Ua(a,b),d;(d=0<=c)&&db(a,c);return d},db=function(a,b){z(null!=a.length);
Array.prototype.splice.call(a,b,1)},fb=function(a){return Array.prototype.concat.apply(Array.prototype,arguments)},gb=function(a){var b=a.length;if(0<b){for(var c=Array(b),d=0;d<b;d++)c[d]=a[d];return c}return[]},hb=function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c];if(ea(d)){var e=a.length||0,f=d.length||0;a.length=e+f;for(var g=0;g<f;g++)a[e+g]=d[g]}else a.push(d)}},ib=function(a,b,c){z(null!=a.length);return 2>=arguments.length?Array.prototype.slice.call(a,b):Array.prototype.slice.call(a,
b,c)},jb=function(a){for(var b={},c=0,d=0;d<a.length;){var e=a[d++],f;f=e;f=t(f)?"o"+(f[fa]||(f[fa]=++ga)):(typeof f).charAt(0)+f;Object.prototype.hasOwnProperty.call(b,f)||(b[f]=!0,a[c++]=e)}a.length=c};var kb;a:{var lb=l.navigator;if(lb){var mb=lb.userAgent;if(mb){kb=mb;break a}}kb=""}var A=function(a){return-1!=kb.indexOf(a)};var nb=A("Opera"),ob=A("Trident")||A("MSIE"),pb=A("Edge"),qb=A("Gecko")&&!(-1!=kb.toLowerCase().indexOf("webkit")&&!A("Edge"))&&!(A("Trident")||A("MSIE"))&&!A("Edge"),rb=-1!=kb.toLowerCase().indexOf("webkit")&&!A("Edge"),sb=function(){var a=l.document;return a?a.documentMode:void 0},tb;
a:{var ub="",vb=function(){var a=kb;if(qb)return/rv\:([^\);]+)(\)|;)/.exec(a);if(pb)return/Edge\/([\d\.]+)/.exec(a);if(ob)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(rb)return/WebKit\/(\S+)/.exec(a);if(nb)return/(?:Version)[ \/]?(\S+)/.exec(a)}();vb&&(ub=vb?vb[1]:"");if(ob){var wb=sb();if(null!=wb&&wb>parseFloat(ub)){tb=String(wb);break a}}tb=ub}
var xb=tb,Sa={},yb=function(a){return Ta(a,function(){for(var b=0,c=pa(String(xb)).split("."),d=pa(String(a)).split("."),e=Math.max(c.length,d.length),f=0;0==b&&f<e;f++){var g=c[f]||"",k=d[f]||"";do{g=/(\d*)(\D*)(.*)/.exec(g)||["","","",""];k=/(\d*)(\D*)(.*)/.exec(k)||["","","",""];if(0==g[0].length&&0==k[0].length)break;b=ya(0==g[1].length?0:parseInt(g[1],10),0==k[1].length?0:parseInt(k[1],10))||ya(0==g[2].length,0==k[2].length)||ya(g[2],k[2]);g=g[3];k=k[3]}while(0==b)}return 0<=b})},zb=l.document,
Ab=zb&&ob?sb()||("CSS1Compat"==zb.compatMode?parseInt(xb,10):5):void 0;var Bb=!ob||9<=Number(Ab),Cb=ob&&!yb("9");!rb||yb("528");qb&&yb("1.9b")||ob&&yb("8")||nb&&yb("9.5")||rb&&yb("528");qb&&!yb("8")||ob&&yb("9");var Db=function(a,b){la.call(this,a?a.type:"");this.relatedTarget=this.currentTarget=this.target=null;this.charCode=this.keyCode=this.button=this.screenY=this.screenX=this.clientY=this.clientX=this.offsetY=this.offsetX=0;this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1;this.ga=this.state=null;if(a){var c=this.type=a.type,d=a.changedTouches?a.changedTouches[0]:null;this.target=a.target||a.srcElement;this.currentTarget=b;var e=a.relatedTarget;if(e){if(qb){var f;a:{try{Ra(e.nodeName);f=!0;break a}catch(g){}f=
!1}f||(e=null)}}else"mouseover"==c?e=a.fromElement:"mouseout"==c&&(e=a.toElement);this.relatedTarget=e;null===d?(this.offsetX=rb||void 0!==a.offsetX?a.offsetX:a.layerX,this.offsetY=rb||void 0!==a.offsetY?a.offsetY:a.layerY,this.clientX=void 0!==a.clientX?a.clientX:a.pageX,this.clientY=void 0!==a.clientY?a.clientY:a.pageY,this.screenX=a.screenX||0,this.screenY=a.screenY||0):(this.clientX=void 0!==d.clientX?d.clientX:d.pageX,this.clientY=void 0!==d.clientY?d.clientY:d.pageY,this.screenX=d.screenX||
0,this.screenY=d.screenY||0);this.button=a.button;this.keyCode=a.keyCode||0;this.charCode=a.charCode||("keypress"==c?a.keyCode:0);this.ctrlKey=a.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;this.metaKey=a.metaKey;this.state=a.state;this.ga=a;a.defaultPrevented&&this.preventDefault()}};x(Db,la);
Db.prototype.preventDefault=function(){Db.w.preventDefault.call(this);var a=this.ga;if(a.preventDefault)a.preventDefault();else if(a.returnValue=!1,Cb)try{if(a.ctrlKey||112<=a.keyCode&&123>=a.keyCode)a.keyCode=-1}catch(b){}};var Eb="closure_listenable_"+(1E6*Math.random()|0),Fb=function(a){return!(!a||!a[Eb])},Gb=0;var Hb=function(a,b,c,d,e){this.listener=a;this.ub=null;this.src=b;this.type=c;this.bb=!!d;this.mb=e;this.key=++Gb;this.Aa=this.ab=!1},Ib=function(a){a.Aa=!0;a.listener=null;a.ub=null;a.src=null;a.mb=null};var Jb=function(a){this.src=a;this.C={};this.Wa=0};Jb.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.C[f];a||(a=this.C[f]=[],this.Wa++);var g=Kb(a,b,d,e);-1<g?(b=a[g],c||(b.ab=!1)):(b=new Hb(b,this.src,f,!!d,e),b.ab=c,a.push(b));return b};Jb.prototype.remove=function(a,b,c,d){a=a.toString();if(!(a in this.C))return!1;var e=this.C[a];b=Kb(e,b,c,d);return-1<b?(Ib(e[b]),db(e,b),0==e.length&&(delete this.C[a],this.Wa--),!0):!1};
var Lb=function(a,b){var c=b.type;c in a.C&&eb(a.C[c],b)&&(Ib(b),0==a.C[c].length&&(delete a.C[c],a.Wa--))};Jb.prototype.Ta=function(a){a=a&&a.toString();var b=0,c;for(c in this.C)if(!a||c==a){for(var d=this.C[c],e=0;e<d.length;e++)++b,Ib(d[e]);delete this.C[c];this.Wa--}return b};Jb.prototype.La=function(a,b,c,d){a=this.C[a.toString()];var e=-1;a&&(e=Kb(a,b,c,d));return-1<e?a[e]:null};var Kb=function(a,b,c,d){for(var e=0;e<a.length;++e){var f=a[e];if(!f.Aa&&f.listener==b&&f.bb==!!c&&f.mb==d)return e}return-1};var Mb="closure_lm_"+(1E6*Math.random()|0),Nb={},Ob=0,Pb=function(a,b,c,d,e){if(n(b)){for(var f=0;f<b.length;f++)Pb(a,b[f],c,d,e);return null}c=Qb(c);return Fb(a)?a.Sa(b,c,d,e):Rb(a,b,c,!1,d,e)},Rb=function(a,b,c,d,e,f){if(!b)throw Error("Invalid event type");var g=!!e,k=Sb(a);k||(a[Mb]=k=new Jb(a));c=k.add(b,c,d,e,f);if(c.ub)return c;d=Tb();c.ub=d;d.src=a;d.listener=c;if(a.addEventListener)a.addEventListener(b.toString(),d,g);else if(a.attachEvent)a.attachEvent(Ub(b.toString()),d);else throw Error("addEventListener and attachEvent are unavailable.");
Ob++;return c},Tb=function(){var a=Vb,b=Bb?function(c){return a.call(b.src,b.listener,c)}:function(c){c=a.call(b.src,b.listener,c);if(!c)return c};return b},Wb=function(a,b,c,d,e){if(n(b)){for(var f=0;f<b.length;f++)Wb(a,b[f],c,d,e);return null}c=Qb(c);return Fb(a)?a.qb(b,c,d,e):Rb(a,b,c,!0,d,e)},Xb=function(a,b,c,d,e){if(n(b))for(var f=0;f<b.length;f++)Xb(a,b[f],c,d,e);else c=Qb(c),Fb(a)?a.Fb(b,c,d,e):a&&(a=Sb(a))&&(b=a.La(b,c,!!d,e))&&Yb(b)},Yb=function(a){if(q(a)||!a||a.Aa)return;var b=a.src;if(Fb(b)){Lb(b.P,
a);return}var c=a.type,d=a.ub;b.removeEventListener?b.removeEventListener(c,d,a.bb):b.detachEvent&&b.detachEvent(Ub(c),d);Ob--;(c=Sb(b))?(Lb(c,a),0==c.Wa&&(c.src=null,b[Mb]=null)):Ib(a)},Ub=function(a){return a in Nb?Nb[a]:Nb[a]="on"+a},$b=function(a,b,c,d){var e=!0;if(a=Sb(a))if(b=a.C[b.toString()])for(b=b.concat(),a=0;a<b.length;a++){var f=b[a];f&&f.bb==c&&!f.Aa&&(f=Zb(f,d),e=e&&!1!==f)}return e},Zb=function(a,b){var c=a.listener,d=a.mb||a.src;a.ab&&Yb(a);return c.call(d,b)},Vb=function(a,b){if(a.Aa)return!0;
if(!Bb){var c;if(!(c=b))a:{c=["window","event"];for(var d=l,e;e=c.shift();)if(null!=d[e])d=d[e];else{c=null;break a}c=d}e=c;c=new Db(e,this);d=!0;if(!(0>e.keyCode||void 0!=e.returnValue)){a:{var f=!1;if(0==e.keyCode)try{e.keyCode=-1;break a}catch(v){f=!0}if(f||void 0==e.returnValue)e.returnValue=!0}e=[];for(f=c.currentTarget;f;f=f.parentNode)e.push(f);for(var f=a.type,g=e.length-1;!c.za&&0<=g;g--){c.currentTarget=e[g];var k=$b(e[g],f,!0,c),d=d&&k}for(g=0;!c.za&&g<e.length;g++)c.currentTarget=e[g],
k=$b(e[g],f,!1,c),d=d&&k}return d}return Zb(a,new Db(b,this))},Sb=function(a){a=a[Mb];return a instanceof Jb?a:null},ac="__closure_events_fn_"+(1E9*Math.random()>>>0),Qb=function(a){z(a,"Listener can not be null.");if(r(a))return a;z(a.handleEvent,"An object listener must have handleEvent method.");a[ac]||(a[ac]=function(b){return a.handleEvent(b)});return a[ac]};var bc=function(){y.call(this);this.P=new Jb(this);this.zd=this;this.jc=null};x(bc,y);bc.prototype[Eb]=!0;h=bc.prototype;h.addEventListener=function(a,b,c,d){Pb(this,a,b,c,d)};h.removeEventListener=function(a,b,c,d){Xb(this,a,b,c,d)};
h.dispatchEvent=function(a){cc(this);var b,c=this.jc;if(c){b=[];for(var d=1;c;c=c.jc)b.push(c),z(1E3>++d,"infinite loop")}c=this.zd;d=a.type||a;if(p(a))a=new la(a,c);else if(a instanceof la)a.target=a.target||c;else{var e=a;a=new la(d,c);Qa(a,e)}var e=!0,f;if(b)for(var g=b.length-1;!a.za&&0<=g;g--)f=a.currentTarget=b[g],e=dc(f,d,!0,a)&&e;a.za||(f=a.currentTarget=c,e=dc(f,d,!0,a)&&e,a.za||(e=dc(f,d,!1,a)&&e));if(b)for(g=0;!a.za&&g<b.length;g++)f=a.currentTarget=b[g],e=dc(f,d,!1,a)&&e;return e};
h.l=function(){bc.w.l.call(this);this.P&&this.P.Ta(void 0);this.jc=null};h.Sa=function(a,b,c,d){cc(this);return this.P.add(String(a),b,!1,c,d)};h.qb=function(a,b,c,d){return this.P.add(String(a),b,!0,c,d)};h.Fb=function(a,b,c,d){return this.P.remove(String(a),b,c,d)};var dc=function(a,b,c,d){b=a.P.C[String(b)];if(!b)return!0;b=b.concat();for(var e=!0,f=0;f<b.length;++f){var g=b[f];if(g&&!g.Aa&&g.bb==c){var k=g.listener,v=g.mb||g.src;g.ab&&Lb(a.P,g);e=!1!==k.call(v,d)&&e}}return e&&0!=d.qd};
bc.prototype.La=function(a,b,c,d){return this.P.La(String(a),b,c,d)};var cc=function(a){z(a.P,"Event target is not initialized. Did you call the superclass (goog.events.EventTarget) constructor?")};var ec=function(a){return a};var fc="StopIteration"in l?l.StopIteration:{message:"StopIteration",stack:""},gc=function(){};gc.prototype.next=function(){throw fc;};gc.prototype.qa=function(){return this};
var hc=function(a){if(a instanceof gc)return a;if("function"==typeof a.qa)return a.qa(!1);if(ea(a)){var b=0,c=new gc;c.next=function(){for(;;){if(b>=a.length)throw fc;if(b in a)return a[b++];b++}};return c}throw Error("Not implemented");},ic=function(a,b){if(ea(a))try{Wa(a,b,void 0)}catch(c){if(c!==fc)throw c;}else{a=hc(a);try{for(;;)b.call(void 0,a.next(),void 0,a)}catch(c){if(c!==fc)throw c;}}};var jc=function(a,b){this.o={};this.h=[];this.Xa=this.f=0;var c=arguments.length;if(1<c){if(c%2)throw Error("Uneven number of arguments");for(var d=0;d<c;d+=2)this.set(arguments[d],arguments[d+1])}else a&&this.addAll(a)};h=jc.prototype;h.B=function(){return this.f};h.s=function(){kc(this);for(var a=[],b=0;b<this.h.length;b++)a.push(this.o[this.h[b]]);return a};h.L=function(){kc(this);return this.h.concat()};h.$=function(a){return lc(this.o,a)};h.isEmpty=function(){return 0==this.f};
h.clear=function(){this.o={};this.Xa=this.f=this.h.length=0};h.remove=function(a){return lc(this.o,a)?(delete this.o[a],this.f--,this.Xa++,this.h.length>2*this.f&&kc(this),!0):!1};var kc=function(a){if(a.f!=a.h.length){for(var b=0,c=0;b<a.h.length;){var d=a.h[b];lc(a.o,d)&&(a.h[c++]=d);b++}a.h.length=c}if(a.f!=a.h.length){for(var e={},c=b=0;b<a.h.length;)d=a.h[b],lc(e,d)||(a.h[c++]=d,e[d]=1),b++;a.h.length=c}};h=jc.prototype;h.get=function(a,b){return lc(this.o,a)?this.o[a]:b};
h.set=function(a,b){lc(this.o,a)||(this.f++,this.h.push(a),this.Xa++);this.o[a]=b};h.addAll=function(a){var b;a instanceof jc?(b=a.L(),a=a.s()):(b=Ka(a),a=Ja(a));for(var c=0;c<b.length;c++)this.set(b[c],a[c])};h.forEach=function(a,b){for(var c=this.L(),d=0;d<c.length;d++){var e=c[d],f=this.get(e);a.call(b,f,e,this)}};h.clone=function(){return new jc(this)};
h.qa=function(a){kc(this);var b=0,c=this.Xa,d=this,e=new gc;e.next=function(){if(c!=d.Xa)throw Error("The map has changed since the iterator was created");if(b>=d.h.length)throw fc;var e=d.h[b++];return a?e:d.o[e]};return e};var lc=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)};var mc=function(a){if(a.s&&"function"==typeof a.s)return a.s();if(p(a))return a.split("");if(ea(a)){for(var b=[],c=a.length,d=0;d<c;d++)b.push(a[d]);return b}return Ja(a)},nc=function(a,b){if(a.forEach&&"function"==typeof a.forEach)a.forEach(b,void 0);else if(ea(a)||p(a))Wa(a,b,void 0);else{var c;if(a.L&&"function"==typeof a.L)c=a.L();else if(a.s&&"function"==typeof a.s)c=void 0;else if(ea(a)||p(a)){c=[];for(var d=a.length,e=0;e<d;e++)c.push(e)}else c=Ka(a);for(var d=mc(a),e=d.length,f=0;f<e;f++)b.call(void 0,
d[f],c&&c[f],a)}};var oc=function(a){this.o=new jc;a&&this.addAll(a)},pc=function(a){var b=typeof a;return"object"==b&&a||"function"==b?"o"+(a[fa]||(a[fa]=++ga)):b.substr(0,1)+a};h=oc.prototype;h.B=function(){return this.o.B()};h.add=function(a){this.o.set(pc(a),a)};h.addAll=function(a){a=mc(a);for(var b=a.length,c=0;c<b;c++)this.add(a[c])};h.Ta=function(a){a=mc(a);for(var b=a.length,c=0;c<b;c++)this.remove(a[c])};h.remove=function(a){return this.o.remove(pc(a))};h.clear=function(){this.o.clear()};h.isEmpty=function(){return this.o.isEmpty()};
h.contains=function(a){return this.o.$(pc(a))};var qc=function(a,b){for(var c=new oc,d=mc(b),e=0;e<d.length;e++){var f=d[e];a.contains(f)&&c.add(f)}return c},rc=function(a,b){var c=a.clone();c.Ta(b);return c};oc.prototype.s=function(){return this.o.s()};oc.prototype.clone=function(){return new oc(this)};oc.prototype.qa=function(){return this.o.qa(!1)};var sc=function(a,b,c){bc.call(this);this.Td=b;this.Ab=c;this.na=[];this.pc=new oc;this.Da=0;this.url=a};x(sc,bc);w("ee.AbstractOverlay",sc);var tc=function(a,b,c){var d=1<<c,e=b.x%d;0>e&&(e+=d);return[a.Td,c,e,b.y].join("/")},uc=function(a){la.call(this,"tileevent");this.count=a};x(uc,la);var vc=function(a,b,c){this.Rd=c;this.Id=a;this.be=b;this.sb=0;this.nb=null};vc.prototype.get=function(){var a;0<this.sb?(this.sb--,a=this.nb,this.nb=a.next,a.next=null):a=this.Id();return a};vc.prototype.put=function(a){this.be(a);this.sb<this.Rd&&(this.sb++,a.next=this.nb,this.nb=a)};var wc=function(a){l.setTimeout(function(){throw a;},0)},xc,yc=function(){var a=l.MessageChannel;"undefined"===typeof a&&"undefined"!==typeof window&&window.postMessage&&window.addEventListener&&!A("Presto")&&(a=function(){var a=document.createElement("IFRAME");a.style.display="none";a.src="";document.documentElement.appendChild(a);var b=a.contentWindow,a=b.document;a.open();a.write("");a.close();var c="callImmediate"+Math.random(),d="file:"==b.location.protocol?"*":b.location.protocol+"//"+b.location.host,
a=u(function(a){if(("*"==d||a.origin==d)&&a.data==c)this.port1.onmessage()},this);b.addEventListener("message",a,!1);this.port1={};this.port2={postMessage:function(){b.postMessage(c,d)}}});if("undefined"!==typeof a&&!A("Trident")&&!A("MSIE")){var b=new a,c={},d=c;b.port1.onmessage=function(){if(m(c.next)){c=c.next;var a=c.Ac;c.Ac=null;a()}};return function(a){d.next={Ac:a};d=d.next;b.port2.postMessage(0)}}return"undefined"!==typeof document&&"onreadystatechange"in document.createElement("SCRIPT")?
function(a){var b=document.createElement("SCRIPT");b.onreadystatechange=function(){b.onreadystatechange=null;b.parentNode.removeChild(b);b=null;a();a=null};document.documentElement.appendChild(b)}:function(a){l.setTimeout(a,0)}};var zc=function(){this.Hb=this.pa=null},Bc=new vc(function(){return new Ac},function(a){a.reset()},100);zc.prototype.add=function(a,b){var c=Bc.get();c.set(a,b);this.Hb?this.Hb.next=c:(z(!this.pa),this.pa=c);this.Hb=c};zc.prototype.remove=function(){var a=null;this.pa&&(a=this.pa,this.pa=this.pa.next,this.pa||(this.Hb=null),a.next=null);return a};var Ac=function(){this.next=this.scope=this.Zb=null};Ac.prototype.set=function(a,b){this.Zb=a;this.scope=b;this.next=null};
Ac.prototype.reset=function(){this.next=this.scope=this.Zb=null};var Gc=function(a,b){Cc||Dc();Ec||(Cc(),Ec=!0);Fc.add(a,b)},Cc,Dc=function(){if(l.Promise&&l.Promise.resolve){var a=l.Promise.resolve(void 0);Cc=function(){a.then(Hc)}}else Cc=function(){var a=Hc;!r(l.setImmediate)||l.Window&&l.Window.prototype&&!A("Edge")&&l.Window.prototype.setImmediate==l.setImmediate?(xc||(xc=yc()),xc(a)):l.setImmediate(a)}},Ec=!1,Fc=new zc,Hc=function(){for(var a;a=Fc.remove();){try{a.Zb.call(a.scope)}catch(b){wc(b)}Bc.put(a)}Ec=!1};var Ic=function(a){a.prototype.then=a.prototype.then;a.prototype.$goog_Thenable=!0},Jc=function(a){if(!a)return!1;try{return!!a.$goog_Thenable}catch(b){return!1}};var Mc=function(a,b){this.H=0;this.Y=void 0;this.sa=this.U=this.j=null;this.kb=this.Vb=!1;if(a!=ba)try{var c=this;a.call(b,function(a){Kc(c,2,a)},function(a){if(!(a instanceof Lc))try{if(a instanceof Error)throw a;throw Error("Promise rejected.");}catch(b){}Kc(c,3,a)})}catch(d){Kc(this,3,d)}},Nc=function(){this.next=this.context=this.va=this.la=this.fa=null;this.$a=!1};Nc.prototype.reset=function(){this.context=this.va=this.la=this.fa=null;this.$a=!1};
var Oc=new vc(function(){return new Nc},function(a){a.reset()},100),Pc=function(a,b,c){var d=Oc.get();d.la=a;d.va=b;d.context=c;return d};Mc.prototype.then=function(a,b,c){null!=a&&Da(a,"opt_onFulfilled should be a function.");null!=b&&Da(b,"opt_onRejected should be a function. Did you pass opt_context as the second argument instead of the third?");return Qc(this,r(a)?a:null,r(b)?b:null,c)};Ic(Mc);Mc.prototype.cancel=function(a){0==this.H&&Gc(function(){var b=new Lc(a);Rc(this,b)},this)};
var Rc=function(a,b){if(0==a.H)if(a.j){var c=a.j;if(c.U){for(var d=0,e=null,f=null,g=c.U;g&&(g.$a||(d++,g.fa==a&&(e=g),!(e&&1<d)));g=g.next)e||(f=g);e&&(0==c.H&&1==d?Rc(c,b):(f?(d=f,z(c.U),z(null!=d),d.next==c.sa&&(c.sa=d),d.next=d.next.next):Sc(c),Tc(c,e,3,b)))}a.j=null}else Kc(a,3,b)},Vc=function(a,b){a.U||2!=a.H&&3!=a.H||Uc(a);z(null!=b.la);a.sa?a.sa.next=b:a.U=b;a.sa=b},Qc=function(a,b,c,d){var e=Pc(null,null,null);e.fa=new Mc(function(a,g){e.la=b?function(c){try{var e=b.call(d,c);a(e)}catch(R){g(R)}}:
a;e.va=c?function(b){try{var e=c.call(d,b);!m(e)&&b instanceof Lc?g(b):a(e)}catch(R){g(R)}}:g});e.fa.j=a;Vc(a,e);return e.fa};Mc.prototype.fe=function(a){z(1==this.H);this.H=0;Kc(this,2,a)};Mc.prototype.ge=function(a){z(1==this.H);this.H=0;Kc(this,3,a)};
var Kc=function(a,b,c){if(0==a.H){a===c&&(b=3,c=new TypeError("Promise cannot resolve to itself"));a.H=1;var d;a:{var e=c,f=a.fe,g=a.ge;if(e instanceof Mc)null!=f&&Da(f,"opt_onFulfilled should be a function."),null!=g&&Da(g,"opt_onRejected should be a function. Did you pass opt_context as the second argument instead of the third?"),Vc(e,Pc(f||ba,g||null,a)),d=!0;else if(Jc(e))e.then(f,g,a),d=!0;else{if(t(e))try{var k=e.then;if(r(k)){Wc(e,k,f,g,a);d=!0;break a}}catch(v){g.call(a,v);d=!0;break a}d=
!1}}d||(a.Y=c,a.H=b,a.j=null,Uc(a),3!=b||c instanceof Lc||Xc(a,c))}},Wc=function(a,b,c,d,e){var f=!1,g=function(a){f||(f=!0,c.call(e,a))},k=function(a){f||(f=!0,d.call(e,a))};try{b.call(a,g,k)}catch(v){k(v)}},Uc=function(a){a.Vb||(a.Vb=!0,Gc(a.Jd,a))},Sc=function(a){var b=null;a.U&&(b=a.U,a.U=b.next,b.next=null);a.U||(a.sa=null);null!=b&&z(null!=b.la);return b};Mc.prototype.Jd=function(){for(var a;a=Sc(this);)Tc(this,a,this.H,this.Y);this.Vb=!1};
var Tc=function(a,b,c,d){if(3==c&&b.va&&!b.$a)for(;a&&a.kb;a=a.j)a.kb=!1;if(b.fa)b.fa.j=null,Yc(b,c,d);else try{b.$a?b.la.call(b.context):Yc(b,c,d)}catch(e){Zc.call(null,e)}Oc.put(b)},Yc=function(a,b,c){2==b?a.la.call(a.context,c):a.va&&a.va.call(a.context,c)},Xc=function(a,b){a.kb=!0;Gc(function(){a.kb&&Zc.call(null,b)})},Zc=wc,Lc=function(a){ma.call(this,a)};x(Lc,ma);Lc.prototype.name="cancel";var $c=function(a,b,c){if(r(a))c&&(a=u(a,c));else if(a&&"function"==typeof a.handleEvent)a=u(a.handleEvent,a);else throw Error("Invalid listener argument");return 2147483647<Number(b)?-1:l.setTimeout(a,b||0)};var ad=function(a,b,c){y.call(this);this.Sd=null!=c?u(a,c):a;this.Pd=b;this.Dd=u(this.Yd,this);this.Lb=[]};x(ad,y);h=ad.prototype;h.yb=!1;h.md=0;h.Fa=null;h.Lc=function(a){this.Lb=arguments;this.Fa||this.md?this.yb=!0:bd(this)};h.stop=function(){this.Fa&&(l.clearTimeout(this.Fa),this.Fa=null,this.yb=!1,this.Lb=[])};h.l=function(){ad.w.l.call(this);this.stop()};h.Yd=function(){this.Fa=null;this.yb&&!this.md&&(this.yb=!1,bd(this))};var bd=function(a){a.Fa=$c(a.Dd,a.Pd);a.Sd.apply(null,a.Lb)};var cd=function(a){a=String(a);if(/^\s*$/.test(a)?0:/^[\],:{}\s\u2028\u2029]*$/.test(a.replace(/\\["\\\/bfnrtu]/g,"@").replace(/(?:"[^"\\\n\r\u2028\u2029\x00-\x08\x0a-\x1f]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)[\s\u2028\u2029]*(?=:|,|]|}|$)/g,"]").replace(/(?:^|:|,)(?:[\s\u2028\u2029]*\[)+/g,"")))try{return eval("("+a+")")}catch(b){}throw Error("Invalid JSON string: "+a);},dd=function(a){return eval("("+a+")")},fd=function(a){return(new ed(void 0)).u(a)},ed=function(a){this.vb=a};
ed.prototype.u=function(a){var b=[];gd(this,a,b);return b.join("")};
var gd=function(a,b,c){if(null==b)c.push("null");else{if("object"==typeof b){if(n(b)){var d=b;b=d.length;c.push("[");for(var e="",f=0;f<b;f++)c.push(e),e=d[f],gd(a,a.vb?a.vb.call(d,String(f),e):e,c),e=",";c.push("]");return}if(b instanceof String||b instanceof Number||b instanceof Boolean)b=b.valueOf();else{c.push("{");f="";for(d in b)Object.prototype.hasOwnProperty.call(b,d)&&(e=b[d],"function"!=typeof e&&(c.push(f),hd(d,c),c.push(":"),gd(a,a.vb?a.vb.call(b,d,e):e,c),f=","));c.push("}");return}}switch(typeof b){case "string":hd(b,
c);break;case "number":c.push(isFinite(b)&&!isNaN(b)?String(b):"null");break;case "boolean":c.push(String(b));break;case "function":c.push("null");break;default:throw Error("Unknown type: "+typeof b);}}},id={'"':'\\"',"\\":"\\\\","/":"\\/","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\u000b"},jd=/\uffff/.test("\uffff")?/[\\\"\x00-\x1f\x7f-\uffff]/g:/[\\\"\x00-\x1f\x7f-\xff]/g,hd=function(a,b){b.push('"',a.replace(jd,function(a){var b=id[a];b||(b="\\u"+(a.charCodeAt(0)|65536).toString(16).substr(1),
id[a]=b);return b}),'"')};var ld=function(){this.kc="";this.yd=kd};ld.prototype.toString=function(){return"TrustedResourceUrl{"+this.kc+"}"};var kd={};var md=!ob||9<=Number(Ab),nd=!qb&&!ob||ob&&9<=Number(Ab)||qb&&yb("1.9.1");ob&&yb("9");var pd=function(a,b){Ga(b,function(b,d){"style"==d?a.style.cssText=b:"class"==d?a.className=b:"for"==d?a.htmlFor=b:od.hasOwnProperty(d)?a.setAttribute(od[d],b):0==d.lastIndexOf("aria-",0)||0==d.lastIndexOf("data-",0)?a.setAttribute(d,b):a[d]=b})},od={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",frameborder:"frameBorder",height:"height",maxlength:"maxLength",nonce:"nonce",role:"role",rowspan:"rowSpan",type:"type",usemap:"useMap",valign:"vAlign",width:"width"},rd=function(a,
b,c){return qd(document,arguments)},qd=function(a,b){var c=String(b[0]),d=b[1];if(!md&&d&&(d.name||d.type)){c=["<",c];d.name&&c.push(' name="',xa(d.name),'"');if(d.type){c.push(' type="',xa(d.type),'"');var e={};Qa(e,d);delete e.type;d=e}c.push(">");c=c.join("")}c=a.createElement(c);d&&(p(d)?c.className=d:n(d)?c.className=d.join(" "):pd(c,d));2<b.length&&sd(a,c,b);return c},sd=function(a,b,c){function d(c){c&&b.appendChild(p(c)?a.createTextNode(c):c)}for(var e=2;e<c.length;e++){var f=c[e];!ea(f)||
t(f)&&0<f.nodeType?d(f):Wa(td(f)?gb(f):f,d)}},ud=function(a){for(;a&&1!=a.nodeType;)a=a.nextSibling;return a},vd=function(a){z(a,"Node cannot be null or undefined.");return 9==a.nodeType?a:a.ownerDocument||a.document},td=function(a){if(a&&"number"==typeof a.length){if(t(a))return"function"==typeof a.item||"string"==typeof a.item;if(r(a))return"function"==typeof a.item}return!1},wd=function(a){this.eb=a||l.document||document};h=wd.prototype;h.getElementsByTagName=function(a,b){return(b||this.eb).getElementsByTagName(a)};
h.Hd=function(a,b,c){return qd(this.eb,arguments)};h.createElement=function(a){return this.eb.createElement(String(a))};h.createTextNode=function(a){return this.eb.createTextNode(String(a))};h.appendChild=function(a,b){a.appendChild(b)};h.Oc=function(a){return nd&&void 0!=a.children?a.children:Xa(a.childNodes,function(a){return 1==a.nodeType})};
h.contains=function(a,b){if(!a||!b)return!1;if(a.contains&&1==b.nodeType)return a==b||a.contains(b);if("undefined"!=typeof a.compareDocumentPosition)return a==b||!!(a.compareDocumentPosition(b)&16);for(;b&&a!=b;)b=b.parentNode;return b==a};/*
Portions of this code are from MochiKit, received by
The Closure Authors under the MIT license. All other code is Copyright
2005-2009 The Closure Authors. All Rights Reserved.
*/
var xd=function(a,b){this.xb=[];this.hd=a;this.Ec=b||null;this.Na=this.ua=!1;this.Y=void 0;this.nc=this.yc=this.Mb=!1;this.Eb=0;this.j=null;this.Nb=0};xd.prototype.cancel=function(a){if(this.ua)this.Y instanceof xd&&this.Y.cancel();else{if(this.j){var b=this.j;delete this.j;a?b.cancel(a):(b.Nb--,0>=b.Nb&&b.cancel())}this.hd?this.hd.call(this.Ec,this):this.nc=!0;this.ua||yd(this,new zd)}};xd.prototype.Bc=function(a,b){this.Mb=!1;Ad(this,a,b)};
var Ad=function(a,b,c){a.ua=!0;a.Y=c;a.Na=!b;Bd(a)},Dd=function(a){if(a.ua){if(!a.nc)throw new Cd;a.nc=!1}};xd.prototype.Ob=function(a){Dd(this);Ed(a);Ad(this,!0,a)};var yd=function(a,b){Dd(a);Ed(b);Ad(a,!1,b)},Ed=function(a){z(!(a instanceof xd),"An execution sequence may not be initiated with a blocking Deferred.")},Fd=function(a,b,c){z(!a.yc,"Blocking Deferreds can not be re-used");a.xb.push([b,c,void 0]);a.ua&&Bd(a)};
xd.prototype.then=function(a,b,c){var d,e,f=new Mc(function(a,b){d=a;e=b});Fd(this,d,function(a){a instanceof zd?f.cancel():e(a)});return f.then(a,b,c)};Ic(xd);
var Gd=function(a){return Za(a.xb,function(a){return r(a[1])})},Bd=function(a){if(a.Eb&&a.ua&&Gd(a)){var b=a.Eb,c=Hd[b];c&&(l.clearTimeout(c.W),delete Hd[b]);a.Eb=0}a.j&&(a.j.Nb--,delete a.j);for(var b=a.Y,d=c=!1;a.xb.length&&!a.Mb;){var e=a.xb.shift(),f=e[0],g=e[1],e=e[2];if(f=a.Na?g:f)try{var k=f.call(e||a.Ec,b);m(k)&&(a.Na=a.Na&&(k==b||k instanceof Error),a.Y=b=k);if(Jc(b)||"function"===typeof l.Promise&&b instanceof l.Promise)d=!0,a.Mb=!0}catch(v){b=v,a.Na=!0,Gd(a)||(c=!0)}}a.Y=b;d&&(k=u(a.Bc,
a,!0),d=u(a.Bc,a,!1),b instanceof xd?(Fd(b,k,d),b.yc=!0):b.then(k,d));c&&(b=new Id(b),Hd[b.W]=b,a.Eb=b.W)},Cd=function(){ma.call(this)};x(Cd,ma);Cd.prototype.message="Deferred has already fired";Cd.prototype.name="AlreadyCalledError";var zd=function(){ma.call(this)};x(zd,ma);zd.prototype.message="Deferred was canceled";zd.prototype.name="CanceledError";var Id=function(a){this.W=l.setTimeout(u(this.de,this),0);this.gb=a};
Id.prototype.de=function(){z(Hd[this.W],"Cannot throw an error that is not scheduled.");delete Hd[this.W];throw this.gb;};var Hd={};var Kd=function(a){var b=new ld;b.kc=a;Jd(b)},Jd=function(a){var b={},c=b.document||document,d;a instanceof ld&&a.constructor===ld&&a.yd===kd?d=a.kc:(Ba("expected object of type TrustedResourceUrl, got '"+a+"' of type "+ca(a)),d="type_error:TrustedResourceUrl");var e=document.createElement("SCRIPT");a={rd:e,Va:void 0};var f=new xd(Ld,a),g=null,k=null!=b.timeout?b.timeout:5E3;0<k&&(g=window.setTimeout(function(){Md(e,!0);yd(f,new Nd(1,"Timeout reached for loading script "+d))},k),a.Va=g);e.onload=
e.onreadystatechange=function(){e.readyState&&"loaded"!=e.readyState&&"complete"!=e.readyState||(Md(e,b.pe||!1,g),f.Ob(null))};e.onerror=function(){Md(e,!0,g);yd(f,new Nd(0,"Error while loading script "+d))};a=b.attributes||{};Qa(a,{type:"text/javascript",charset:"UTF-8",src:d});pd(e,a);Od(c).appendChild(e)},Od=function(a){var b;return(b=(a||document).getElementsByTagName("HEAD"))&&0!=b.length?b[0]:a.documentElement},Ld=function(){if(this&&this.rd){var a=this.rd;a&&"SCRIPT"==a.tagName&&Md(a,!0,this.Va)}},
Md=function(a,b,c){null!=c&&l.clearTimeout(c);a.onload=ba;a.onerror=ba;a.onreadystatechange=ba;b&&window.setTimeout(function(){a&&a.parentNode&&a.parentNode.removeChild(a)},0)},Nd=function(a,b){var c="Jsloader error (code #"+a+")";b&&(c+=": "+b);ma.call(this,c);this.code=a};x(Nd,ma);var Pd=function(a,b,c,d,e){this.reset(a,b,c,d,e)};Pd.prototype.Ic=null;var Qd=0;Pd.prototype.reset=function(a,b,c,d,e){"number"==typeof e||Qd++;d||ka();this.Ra=a;this.Vd=b;delete this.Ic};Pd.prototype.td=function(a){this.Ra=a};var Rd=function(a){this.Wd=a;this.Sc=this.Pb=this.Ra=this.j=null},Sd=function(a,b){this.name=a;this.value=b};Sd.prototype.toString=function(){return this.name};var Td=new Sd("SEVERE",1E3),Ud=new Sd("CONFIG",700),Vd=new Sd("FINE",500);Rd.prototype.getParent=function(){return this.j};Rd.prototype.Oc=function(){this.Pb||(this.Pb={});return this.Pb};Rd.prototype.td=function(a){this.Ra=a};var Wd=function(a){if(a.Ra)return a.Ra;if(a.j)return Wd(a.j);Ba("Root logger has no level set.");return null};
Rd.prototype.log=function(a,b,c){if(a.value>=Wd(this).value)for(r(b)&&(b=b()),a=new Pd(a,String(b),this.Wd),c&&(a.Ic=c),c="log:"+a.Vd,l.console&&(l.console.timeStamp?l.console.timeStamp(c):l.console.markTimeline&&l.console.markTimeline(c)),l.msWriteProfilerMark&&l.msWriteProfilerMark(c),c=this;c;){b=c;var d=a;if(b.Sc)for(var e=0,f;f=b.Sc[e];e++)f(d);c=c.getParent()}};
var Xd={},Yd=null,Zd=function(a){Yd||(Yd=new Rd(""),Xd[""]=Yd,Yd.td(Ud));var b;if(!(b=Xd[a])){b=new Rd(a);var c=a.lastIndexOf("."),d=a.substr(c+1),c=Zd(a.substr(0,c));c.Oc()[d]=b;b.j=c;Xd[a]=b}return b};var $d=function(a,b){a&&a.log(Vd,b,void 0)};var ae=/^(?:([^:/?#.]+):)?(?:\/\/(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\?([^#]*))?(?:#([\s\S]*))?$/,be=function(a,b){if(a)for(var c=a.split("&"),d=0;d<c.length;d++){var e=c[d].indexOf("="),f,g=null;0<=e?(f=c[d].substring(0,e),g=c[d].substring(e+1)):f=c[d];b(f,g?decodeURIComponent(g.replace(/\+/g," ")):"")}};var ce=function(){};ce.prototype.zc=null;ce.prototype.Ma=function(){var a;(a=this.zc)||(a={},de(this)&&(a[0]=!0,a[1]=!0),a=this.zc=a);return a};var fe=function(a,b){this.ie=a;this.Zd=b};x(fe,ce);fe.prototype.Qb=function(){return this.ie()};fe.prototype.Ma=function(){return this.Zd()};var B=function(){return B.Jc.Qb()};B.xd=!1;B.Ma=function(){return B.Jc.Ma()};B.re=function(a,b){B.sd(new fe(z(a),z(b)))};B.sd=function(a){B.Jc=a};var ge=function(){};x(ge,ce);ge.prototype.Qb=function(){var a=de(this);return a?new ActiveXObject(a):new XMLHttpRequest};
var de=function(a){if(B.xd)return"";if(!a.Tc&&"undefined"==typeof XMLHttpRequest&&"undefined"!=typeof ActiveXObject){for(var b=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"],c=0;c<b.length;c++){var d=b[c];try{return new ActiveXObject(d),a.Tc=d}catch(e){}}throw Error("Could not create ActiveXObject. ActiveX might be disabled, or MSXML might not be installed");}return a.Tc};B.sd(new ge);var C=function(a){bc.call(this);this.headers=new jc;this.Jb=a||null;this.J=!1;this.Ib=this.a=null;this.Qa=this.$c=this.pb="";this.ka=this.bc=this.ob=this.Ub=!1;this.Ea=0;this.zb=null;this.Ua="";this.Gb=this.$d=this.wd=!1};x(C,bc);var he=C.prototype,ie=Zd("goog.net.XhrIo");he.F=ie;var je=/^https?$/i,ke=["POST","PUT"],le=[];C.prototype.Fd=function(){this.O();eb(le,this)};
C.prototype.send=function(a,b,c,d){if(this.a)throw Error("[goog.net.XhrIo] Object is active with another request="+this.pb+"; newUri="+a);b=b?b.toUpperCase():"GET";this.pb=a;this.Qa="";this.$c=b;this.Ub=!1;this.J=!0;this.a=this.Jb?this.Jb.Qb():B();this.Ib=this.Jb?this.Jb.Ma():B.Ma();this.a.onreadystatechange=u(this.ld,this);this.$d&&"onprogress"in this.a&&(this.a.onprogress=u(function(a){this.kd(a,!0)},this),this.a.upload&&(this.a.upload.onprogress=u(this.kd,this)));try{$d(this.F,me(this,"Opening Xhr")),
this.bc=!0,this.a.open(b,String(a),!0),this.bc=!1}catch(f){$d(this.F,me(this,"Error opening Xhr: "+f.message));this.gb(5,f);return}a=c||"";var e=this.headers.clone();d&&nc(d,function(a,b){e.set(b,a)});d=bb(e.L());c=l.FormData&&a instanceof l.FormData;!(0<=Ua(ke,b))||d||c||e.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8");e.forEach(function(a,b){this.a.setRequestHeader(b,a)},this);this.Ua&&(this.a.responseType=this.Ua);"withCredentials"in this.a&&this.a.withCredentials!==this.wd&&
(this.a.withCredentials=this.wd);try{ne(this),0<this.Ea&&(this.Gb=oe(this.a),$d(this.F,me(this,"Will abort after "+this.Ea+"ms if incomplete, xhr2 "+this.Gb)),this.Gb?(this.a.timeout=this.Ea,this.a.ontimeout=u(this.Va,this)):this.zb=$c(this.Va,this.Ea,this)),$d(this.F,me(this,"Sending request")),this.ob=!0,this.a.send(a),this.ob=!1}catch(f){$d(this.F,me(this,"Send error: "+f.message)),this.gb(5,f)}};
var oe=function(a){return ob&&yb(9)&&q(a.timeout)&&m(a.ontimeout)},ab=function(a){return"content-type"==a.toLowerCase()};C.prototype.Va=function(){"undefined"!=typeof aa&&this.a&&(this.Qa="Timed out after "+this.Ea+"ms, aborting",$d(this.F,me(this,this.Qa)),this.dispatchEvent("timeout"),this.abort(8))};C.prototype.gb=function(a,b){this.J=!1;this.a&&(this.ka=!0,this.a.abort(),this.ka=!1);this.Qa=b;pe(this);qe(this)};var pe=function(a){a.Ub||(a.Ub=!0,a.dispatchEvent("complete"),a.dispatchEvent("error"))};
C.prototype.abort=function(){this.a&&this.J&&($d(this.F,me(this,"Aborting")),this.J=!1,this.ka=!0,this.a.abort(),this.ka=!1,this.dispatchEvent("complete"),this.dispatchEvent("abort"),qe(this))};C.prototype.l=function(){this.a&&(this.J&&(this.J=!1,this.ka=!0,this.a.abort(),this.ka=!1),qe(this,!0));C.w.l.call(this)};C.prototype.ld=function(){this.aa||(this.bc||this.ob||this.ka?re(this):this.Xd())};C.prototype.Xd=function(){re(this)};
var re=function(a){if(a.J&&"undefined"!=typeof aa)if(a.Ib[1]&&4==se(a)&&2==a.getStatus())$d(a.F,me(a,"Local request error detected and ignored"));else if(a.ob&&4==se(a))$c(a.ld,0,a);else if(a.dispatchEvent("readystatechange"),4==se(a)){$d(a.F,me(a,"Request complete"));a.J=!1;try{var b=a.getStatus(),c;a:switch(b){case 200:case 201:case 202:case 204:case 206:case 304:case 1223:c=!0;break a;default:c=!1}var d;if(!(d=c)){var e;if(e=0===b){var f=String(a.pb).match(ae)[1]||null;if(!f&&l.self&&l.self.location)var g=
l.self.location.protocol,f=g.substr(0,g.length-1);e=!je.test(f?f.toLowerCase():"")}d=e}if(d)a.dispatchEvent("complete"),a.dispatchEvent("success");else{var k;try{k=2<se(a)?a.a.statusText:""}catch(v){$d(a.F,"Can not get status: "+v.message),k=""}a.Qa=k+" ["+a.getStatus()+"]";pe(a)}}finally{qe(a)}}};
C.prototype.kd=function(a,b){z("progress"===a.type,"goog.net.EventType.PROGRESS is of the same type as raw XHR progress.");this.dispatchEvent(te(a,"progress"));this.dispatchEvent(te(a,b?"downloadprogress":"uploadprogress"))};
var te=function(a,b){return{type:b,lengthComputable:a.lengthComputable,loaded:a.loaded,total:a.total}},qe=function(a,b){if(a.a){ne(a);var c=a.a,d=a.Ib[0]?ba:null;a.a=null;a.Ib=null;b||a.dispatchEvent("ready");try{c.onreadystatechange=d}catch(e){(c=a.F)&&c.log(Td,"Problem encountered resetting onreadystatechange: "+e.message,void 0)}}},ne=function(a){a.a&&a.Gb&&(a.a.ontimeout=null);q(a.zb)&&(l.clearTimeout(a.zb),a.zb=null)};C.prototype.Wc=function(){return!!this.a};
var se=function(a){return a.a?a.a.readyState:0};C.prototype.getStatus=function(){try{return 2<se(this)?this.a.status:-1}catch(a){return-1}};
var ue=function(a){try{if(!a.a)return null;if("response"in a.a)return a.a.response;switch(a.Ua){case "":case "text":return a.a.responseText;case "arraybuffer":if("mozResponseArrayBuffer"in a.a)return a.a.mozResponseArrayBuffer}var b=a.F;b&&b.log(Td,"Response type "+a.Ua+" is not supported on this browser",void 0);return null}catch(c){return $d(a.F,"Can not get response: "+c.message),null}};C.prototype.getResponseHeader=function(a){return this.a&&4==se(this)?this.a.getResponseHeader(a):void 0};
var me=function(a,b){return b+" ["+a.$c+" "+a.pb+" "+a.getStatus()+"]"};var ve=function(a,b){this.V=this.oa=this.da="";this.xa=null;this.ha=this.wa="";this.I=this.Qd=!1;var c;if(a instanceof ve)this.I=m(b)?b:a.I,we(this,a.da),c=a.oa,xe(this),this.oa=c,c=a.V,xe(this),this.V=c,ye(this,a.xa),this.setPath(a.getPath()),ze(this,a.T.clone()),c=a.ha,xe(this),this.ha=c;else if(a&&(c=String(a).match(ae))){this.I=!!b;we(this,c[1]||"",!0);var d=c[2]||"";xe(this);this.oa=Ae(d);d=c[3]||"";xe(this);this.V=Ae(d,!0);ye(this,c[4]);this.setPath(c[5]||"",!0);ze(this,c[6]||"",!0);c=c[7]||
"";xe(this);this.ha=Ae(c)}else this.I=!!b,this.T=new Be(null,0,this.I)};
ve.prototype.toString=function(){var a=[],b=this.da;b&&a.push(Ce(b,De,!0),":");var c=this.V;if(c||"file"==b)a.push("//"),(b=this.oa)&&a.push(Ce(b,De,!0),"@"),a.push(encodeURIComponent(String(c)).replace(/%25([0-9a-fA-F]{2})/g,"%$1")),c=this.xa,null!=c&&a.push(":",String(c));if(c=this.getPath())this.V&&"/"!=c.charAt(0)&&a.push("/"),a.push(Ce(c,"/"==c.charAt(0)?Ee:Fe,!0));(c=this.T.toString())&&a.push("?",c);(c=this.ha)&&a.push("#",Ce(c,Ge));return a.join("")};
ve.prototype.resolve=function(a){var b=this.clone(),c=!!a.da;c?we(b,a.da):c=!!a.oa;if(c){var d=a.oa;xe(b);b.oa=d}else c=!!a.V;c?(d=a.V,xe(b),b.V=d):c=null!=a.xa;d=a.getPath();if(c)ye(b,a.xa);else if(c=!!a.wa){if("/"!=d.charAt(0))if(this.V&&!this.wa)d="/"+d;else{var e=b.getPath().lastIndexOf("/");-1!=e&&(d=b.getPath().substr(0,e+1)+d)}e=d;if(".."==e||"."==e)d="";else if(-1!=e.indexOf("./")||-1!=e.indexOf("/.")){for(var d=0==e.lastIndexOf("/",0),e=e.split("/"),f=[],g=0;g<e.length;){var k=e[g++];"."==
k?d&&g==e.length&&f.push(""):".."==k?((1<f.length||1==f.length&&""!=f[0])&&f.pop(),d&&g==e.length&&f.push("")):(f.push(k),d=!0)}d=f.join("/")}else d=e}c?b.setPath(d):c=""!==a.T.toString();c?ze(b,Ae(a.T.toString())):c=!!a.ha;c&&(a=a.ha,xe(b),b.ha=a);return b};ve.prototype.clone=function(){return new ve(this)};
var we=function(a,b,c){xe(a);a.da=c?Ae(b,!0):b;a.da&&(a.da=a.da.replace(/:$/,""))},ye=function(a,b){xe(a);if(b){b=Number(b);if(isNaN(b)||0>b)throw Error("Bad port number "+b);a.xa=b}else a.xa=null};ve.prototype.getPath=function(){return this.wa};ve.prototype.setPath=function(a,b){xe(this);this.wa=b?Ae(a,!0):a;return this};var ze=function(a,b,c){xe(a);b instanceof Be?(a.T=b,a.T.mc(a.I)):(c||(b=Ce(b,He)),a.T=new Be(b,0,a.I))},xe=function(a){if(a.Qd)throw Error("Tried to modify a read-only Uri");};
ve.prototype.mc=function(a){this.I=a;this.T&&this.T.mc(a);return this};
var Ie=function(a){return a instanceof ve?a.clone():new ve(a,void 0)},Ae=function(a,b){return a?b?decodeURI(a.replace(/%25/g,"%2525")):decodeURIComponent(a):""},Ce=function(a,b,c){return p(a)?(a=encodeURI(a).replace(b,Je),c&&(a=a.replace(/%25([0-9a-fA-F]{2})/g,"%$1")),a):null},Je=function(a){a=a.charCodeAt(0);return"%"+(a>>4&15).toString(16)+(a&15).toString(16)},De=/[#\/\?@]/g,Fe=/[\#\?:]/g,Ee=/[\#\?]/g,He=/[\#\?@]/g,Ge=/#/g,Be=function(a,b,c){this.f=this.i=null;this.G=a||null;this.I=!!c},Ke=function(a){a.i||
(a.i=new jc,a.f=0,a.G&&be(a.G,function(b,c){a.add(decodeURIComponent(b.replace(/\+/g," ")),c)}))};h=Be.prototype;h.B=function(){Ke(this);return this.f};h.add=function(a,b){Ke(this);this.G=null;a=Le(this,a);var c=this.i.get(a);c||this.i.set(a,c=[]);c.push(b);this.f=Ca(this.f)+1;return this};h.remove=function(a){Ke(this);a=Le(this,a);return this.i.$(a)?(this.G=null,this.f=Ca(this.f)-this.i.get(a).length,this.i.remove(a)):!1};h.clear=function(){this.i=this.G=null;this.f=0};
h.isEmpty=function(){Ke(this);return 0==this.f};h.$=function(a){Ke(this);a=Le(this,a);return this.i.$(a)};h.L=function(){Ke(this);for(var a=this.i.s(),b=this.i.L(),c=[],d=0;d<b.length;d++)for(var e=a[d],f=0;f<e.length;f++)c.push(b[d]);return c};h.s=function(a){Ke(this);var b=[];if(p(a))this.$(a)&&(b=fb(b,this.i.get(Le(this,a))));else{a=this.i.s();for(var c=0;c<a.length;c++)b=fb(b,a[c])}return b};
h.set=function(a,b){Ke(this);this.G=null;a=Le(this,a);this.$(a)&&(this.f=Ca(this.f)-this.i.get(a).length);this.i.set(a,[b]);this.f=Ca(this.f)+1;return this};h.get=function(a,b){var c=a?this.s(a):[];return 0<c.length?String(c[0]):b};h.setValues=function(a,b){this.remove(a);0<b.length&&(this.G=null,this.i.set(Le(this,a),gb(b)),this.f=Ca(this.f)+b.length)};
h.toString=function(){if(this.G)return this.G;if(!this.i)return"";for(var a=[],b=this.i.L(),c=0;c<b.length;c++)for(var d=b[c],e=encodeURIComponent(String(d)),d=this.s(d),f=0;f<d.length;f++){var g=e;""!==d[f]&&(g+="="+encodeURIComponent(String(d[f])));a.push(g)}return this.G=a.join("&")};h.clone=function(){var a=new Be;a.G=this.G;this.i&&(a.i=this.i.clone(),a.f=this.f);return a};var Le=function(a,b){var c=String(b);a.I&&(c=c.toLowerCase());return c};
Be.prototype.mc=function(a){a&&!this.I&&(Ke(this),this.G=null,this.i.forEach(function(a,c){var d=c.toLowerCase();c!=d&&(this.remove(c),this.setValues(d,a))},this));this.I=a};var Se=function(a,b,c,d,e){var f=["https://www.googleapis.com/auth/earthengine"];d&&(hb(f,d),jb(f));Me=a;Ne=f;null===a?Oe=null:Pe(function(){Qe(b,c,e||ja(Re,b,c))})};w("ee.data.authenticate",Se);var Re=function(a,b){l.gapi.auth.authorize({client_id:Me,immediate:!1,scope:Ne.join(" ")},ja(Te,a,b))};w("ee.data.authenticateViaPopup",Re);
var Ue=function(a,b,c,d,e,f,g){var k=["https://www.googleapis.com/auth/earthengine"];e&&(hb(k,e),jb(k));Me=a;Ne=k;var v={token_type:b,access_token:c,state:k.join(" "),expires_in:d};Te(void 0,void 0,v);!1===g?f&&f():Pe(function(){l.gapi.auth.setToken(v);f&&f()})};w("ee.data.setAuthToken",Ue);var Qe=function(a,b,c){Ve&&Me&&Ve({client_id:String(Me),immediate:!0,scope:Ne.join(" ")},function(d){"immediate_failed"==d.error&&c?c():Te(a,b,d)})},We=function(a){Ve=a};w("ee.data.setAuthTokenRefresher",We);
var Ze=function(){Xe&&0<=ka()-Xe&&Ye();return Oe};w("ee.data.getAuthToken",Ze);var Ye=function(){Xe=Oe=null};w("ee.data.clearAuthToken",Ye);var $e=function(){return Me};w("ee.data.getAuthClientId",$e);var af=function(){return Ne};w("ee.data.getAuthScopes",af);var ff=function(a,b,c){null!=a?bf=a:cf||(bf="https://earthengine.googleapis.com/api");null!=b?df=b:cf||(df="https://earthengine.googleapis.com");m(c)&&(ef=c);cf=!0},hf=function(a){gf=a};w("ee.data.setDeadline",hf);
w("ee.data.setParamAugmenter",function(a){jf=a||ec});var kf=function(){return bf};w("ee.data.getApiBaseUrl",kf);var lf=function(){return df};w("ee.data.getTileBaseUrl",lf);var mf=function(){return ef};w("ee.data.getXsrfToken",mf);var nf=function(a,b){a=Na(a);return D("/mapid",E(a),b)};w("ee.data.getMapId",nf);var of=function(a,b,c,d){var e=Math.pow(2,d);b%=e;0>b&&(b+=e);return[df,"map",a.mapid,d,b,c].join("/")+"?token="+a.token};w("ee.data.getTileUrl",of);
var pf=function(a,b){a=Na(a);return D("/value",E(a),b)};w("ee.data.getValue",pf);var qf=function(a,b){a=Na(a);n(a.dimensions)&&(a.dimensions=a.dimensions.join("x"));var c=E(a).add("getid","1");return D("/thumb",c,b)};w("ee.data.getThumbId",qf);var rf=function(a){return df+"/api/thumb?thumbid="+a.thumbid+"&token="+a.token};w("ee.data.makeThumbUrl",rf);var sf=function(a,b){a=Na(a);return D("/download",E(a),b)};w("ee.data.getDownloadId",sf);
var tf=function(a){return df+"/api/download?docid="+a.docid+"&token="+a.token};w("ee.data.makeDownloadUrl",tf);var uf=function(a,b){a=Na(a);return D("/table",E(a),b)};w("ee.data.getTableDownloadId",uf);var vf=function(a){return df+"/api/table?docid="+a.docid+"&token="+a.token};w("ee.data.makeTableDownloadUrl",vf);var xf=function(a,b,c){var d=wf;try{return wf=a,b.call(c)}finally{wf=d}};w("ee.data.withProfiling",xf);
w("ee.data.newTaskId",function(a,b){var c={};q(a)&&(c.count=a);return D("/newtaskid",E(c),b)});w("ee.data.getTaskStatus",function(a,b){if(p(a))a=[a];else if(!n(a))throw Error("Invalid taskId: expected a string or an array of strings.");return D("/taskstatus?q="+a.join(),null,b,"GET")});w("ee.data.getTaskList",function(a){return D("/tasklist",null,a,"GET")});w("ee.data.cancelTask",function(a,b){return yf(a,"CANCEL",b)});
var yf=function(a,b,c){if(p(a))a=[a];else if(!n(a))throw Error("Invalid taskId: expected a string or an array of strings.");var d;a:{d=zf;for(var e in d)if(d[e]==b){d=!0;break a}d=!1}if(!d)throw Error("Invalid action: "+b);return D("/updatetask",E({id:a,action:b}),c,"POST")};w("ee.data.updateTask",yf);w("ee.data.startProcessing",function(a,b,c){b=Na(b);b.id=a;return D("/processingrequest",E(b),c)});
w("ee.data.startIngestion",function(a,b,c){a={id:a,request:fd(b)};return D("/ingestionrequest",E(a),c)});var Af=function(a,b){return D("/info",(new Be).add("id",a),b)};w("ee.data.getInfo",Af);var Bf=function(a,b){var c=E(a);return D("/list",c,b)};w("ee.data.getList",Bf);w("ee.data.getAssetRoots",function(a){return D("/buckets",null,a,"GET")});w("ee.data.createAssetHome",function(a,b){var c=E({id:a});D("/createbucket",c,b)});
w("ee.data.createAsset",function(a,b,c,d){p(a)||(a=fd(a));a={value:a};void 0!==b&&(a.id=b);a.force=c||!1;return D("/create",E(a),d)});w("ee.data.createFolder",function(a,b,c){return D("/createfolder",E({id:a,force:b||!1}),c)});w("ee.data.renameAsset",function(a,b,c){D("/rename",E({sourceId:a,destinationId:b}),c)});w("ee.data.copyAsset",function(a,b,c){D("/copy",E({sourceId:a,destinationId:b}),c)});w("ee.data.deleteAsset",function(a,b){D("/delete",E({id:a}),b)});
w("ee.data.getAssetAcl",function(a,b){return D("/getacl",E({id:a}),b,"GET")});w("ee.data.setAssetAcl",function(a,b,c){a={id:a,value:fd(b)};D("/setacl",E(a),c)});w("ee.data.setAssetProperties",function(a,b,c){a={id:a,properties:fd(b)};D("/setproperties",E(a),c)});w("ee.data.getAssetRootQuota",function(a,b){return D("/quota",E({id:a}),b,"GET")});
var zf={je:"CANCEL",me:"UPDATE"},D=function(a,b,c,d){ff();var e=wf,f={"Content-Type":"application/x-www-form-urlencoded"},g=Ze();if(null!=g)f.Authorization=g;else if(c&&Ve&&Me)return Qe(function(){xf(e,function(){D(a,b,c,d)})}),null;g=d||"POST";b=b?b.clone():new Be;e&&b.add("profiling","1");b=jf(b,a);null!=ef&&(f["X-XSRF-Token"]=ef);var k=function(a,b,c,d){var f=b("X-Earth-Engine-Computation-Profile");f&&e&&e(f);var g,k,v;b=(b=b("Content-Type"))?b.replace(/;.*/,""):"application/json";if("application/json"==
b||"text/json"==b)try{g=dd(c),k=g.data}catch(R){v="Invalid JSON: "+c}else v="Response was unexpectedly not JSON, but "+b;if(t(g))"error"in g&&"message"in g.error?v=g.error.message:"data"in g||(v="Malformed response: "+c);else if(0===a)v="Failed to contact Earth Engine servers. Please check your connection, firewall, or browser extension settings.";else if(200>a||300<=a)v="Server returned HTTP code: "+a;if(d)return d(k,v),null;if(!v)return k;throw Error(v);},v=b?b.toString():"";"GET"!=g||/^[\s\xa0]*$/.test(v)||
(a+=-1!=a.indexOf("?")?"&":"?",a+=v,v=null);var R=bf+a;if(c)return Cf.push({url:R,Ob:function(a){a=a.target;var b=a.getStatus(),d=u(a.getResponseHeader,a),e;try{e=a.a?a.a.responseText:""}catch(f){$d(a.F,"Can not get responseText: "+f.message),e=""}return k(b,d,e,c)},method:g,content:v,headers:f}),Df.Lc(),null;var S=B();S.open(g,R,!1);Ga(f,function(a,b){S.setRequestHeader(b,a)});S.send(v);return k(S.status,function(a){try{return S.getResponseHeader(a)}catch(b){return null}},S.responseText,null)},Pe=
function(a){var b=function(){l.gapi.config.update("client/cors",!0);Ve||(Ve=l.gapi.auth.authorize);a()};if(t(l.gapi)&&t(l.gapi.auth)&&r(l.gapi.auth.authorize))b();else{for(var c=ka().toString(36);c in l;)c+="_";l[c]=function(){delete l[c];b()};Kd("https://apis.google.com/js/client.js?onload="+c)}},Te=function(a,b,c){c.access_token?(b=c.token_type+" "+c.access_token,isFinite(c.expires_in)&&(c=900*c.expires_in,setTimeout(Qe,.9*c),Xe=ka()+c),Oe=b,a&&a()):b&&b(c.error||"Unknown error.")},E=function(a){var b=
new Be,c;for(c in a)b.set(c,a[c]);return b},Cf=[],Df=new ad(function(){var a=Cf.shift();if(a){var b=a.url,c=a.Ob,d=a.method,e=a.content,a=a.headers,f=gf,g=new C;le.push(g);c&&g.Sa("complete",c);g.qb("ready",g.Fd);f&&(g.Ea=Math.max(0,f));g.send(b,d,e,a)}0==Cf.length||Df.Lc()},350),bf=null,df=null,ef=null,jf=ec,Oe=null,Xe=null,Me=null,Ne=[],Ve=null,cf=!1,gf=0,wf=null;var Ef=function(){};var Ff=function(){this.Z=-1};var Gf=function(){this.Z=64;this.A=Array(4);this.Bd=Array(this.Z);this.Cb=this.Ha=0;this.reset()};x(Gf,Ff);Gf.prototype.reset=function(){this.A[0]=1732584193;this.A[1]=4023233417;this.A[2]=2562383102;this.A[3]=271733878;this.Cb=this.Ha=0};
var Hf=function(a,b,c){c||(c=0);var d=Array(16);if(p(b))for(var e=0;16>e;++e)d[e]=b.charCodeAt(c++)|b.charCodeAt(c++)<<8|b.charCodeAt(c++)<<16|b.charCodeAt(c++)<<24;else for(e=0;16>e;++e)d[e]=b[c++]|b[c++]<<8|b[c++]<<16|b[c++]<<24;b=a.A[0];c=a.A[1];var e=a.A[2],f=a.A[3],g;g=b+(f^c&(e^f))+d[0]+3614090360&4294967295;b=c+(g<<7&4294967295|g>>>25);g=f+(e^b&(c^e))+d[1]+3905402710&4294967295;f=b+(g<<12&4294967295|g>>>20);g=e+(c^f&(b^c))+d[2]+606105819&4294967295;e=f+(g<<17&4294967295|g>>>15);g=c+(b^e&(f^
b))+d[3]+3250441966&4294967295;c=e+(g<<22&4294967295|g>>>10);g=b+(f^c&(e^f))+d[4]+4118548399&4294967295;b=c+(g<<7&4294967295|g>>>25);g=f+(e^b&(c^e))+d[5]+1200080426&4294967295;f=b+(g<<12&4294967295|g>>>20);g=e+(c^f&(b^c))+d[6]+2821735955&4294967295;e=f+(g<<17&4294967295|g>>>15);g=c+(b^e&(f^b))+d[7]+4249261313&4294967295;c=e+(g<<22&4294967295|g>>>10);g=b+(f^c&(e^f))+d[8]+1770035416&4294967295;b=c+(g<<7&4294967295|g>>>25);g=f+(e^b&(c^e))+d[9]+2336552879&4294967295;f=b+(g<<12&4294967295|g>>>20);g=e+
(c^f&(b^c))+d[10]+4294925233&4294967295;e=f+(g<<17&4294967295|g>>>15);g=c+(b^e&(f^b))+d[11]+2304563134&4294967295;c=e+(g<<22&4294967295|g>>>10);g=b+(f^c&(e^f))+d[12]+1804603682&4294967295;b=c+(g<<7&4294967295|g>>>25);g=f+(e^b&(c^e))+d[13]+4254626195&4294967295;f=b+(g<<12&4294967295|g>>>20);g=e+(c^f&(b^c))+d[14]+2792965006&4294967295;e=f+(g<<17&4294967295|g>>>15);g=c+(b^e&(f^b))+d[15]+1236535329&4294967295;c=e+(g<<22&4294967295|g>>>10);g=b+(e^f&(c^e))+d[1]+4129170786&4294967295;b=c+(g<<5&4294967295|
g>>>27);g=f+(c^e&(b^c))+d[6]+3225465664&4294967295;f=b+(g<<9&4294967295|g>>>23);g=e+(b^c&(f^b))+d[11]+643717713&4294967295;e=f+(g<<14&4294967295|g>>>18);g=c+(f^b&(e^f))+d[0]+3921069994&4294967295;c=e+(g<<20&4294967295|g>>>12);g=b+(e^f&(c^e))+d[5]+3593408605&4294967295;b=c+(g<<5&4294967295|g>>>27);g=f+(c^e&(b^c))+d[10]+38016083&4294967295;f=b+(g<<9&4294967295|g>>>23);g=e+(b^c&(f^b))+d[15]+3634488961&4294967295;e=f+(g<<14&4294967295|g>>>18);g=c+(f^b&(e^f))+d[4]+3889429448&4294967295;c=e+(g<<20&4294967295|
g>>>12);g=b+(e^f&(c^e))+d[9]+568446438&4294967295;b=c+(g<<5&4294967295|g>>>27);g=f+(c^e&(b^c))+d[14]+3275163606&4294967295;f=b+(g<<9&4294967295|g>>>23);g=e+(b^c&(f^b))+d[3]+4107603335&4294967295;e=f+(g<<14&4294967295|g>>>18);g=c+(f^b&(e^f))+d[8]+1163531501&4294967295;c=e+(g<<20&4294967295|g>>>12);g=b+(e^f&(c^e))+d[13]+2850285829&4294967295;b=c+(g<<5&4294967295|g>>>27);g=f+(c^e&(b^c))+d[2]+4243563512&4294967295;f=b+(g<<9&4294967295|g>>>23);g=e+(b^c&(f^b))+d[7]+1735328473&4294967295;e=f+(g<<14&4294967295|
g>>>18);g=c+(f^b&(e^f))+d[12]+2368359562&4294967295;c=e+(g<<20&4294967295|g>>>12);g=b+(c^e^f)+d[5]+4294588738&4294967295;b=c+(g<<4&4294967295|g>>>28);g=f+(b^c^e)+d[8]+2272392833&4294967295;f=b+(g<<11&4294967295|g>>>21);g=e+(f^b^c)+d[11]+1839030562&4294967295;e=f+(g<<16&4294967295|g>>>16);g=c+(e^f^b)+d[14]+4259657740&4294967295;c=e+(g<<23&4294967295|g>>>9);g=b+(c^e^f)+d[1]+2763975236&4294967295;b=c+(g<<4&4294967295|g>>>28);g=f+(b^c^e)+d[4]+1272893353&4294967295;f=b+(g<<11&4294967295|g>>>21);g=e+(f^
b^c)+d[7]+4139469664&4294967295;e=f+(g<<16&4294967295|g>>>16);g=c+(e^f^b)+d[10]+3200236656&4294967295;c=e+(g<<23&4294967295|g>>>9);g=b+(c^e^f)+d[13]+681279174&4294967295;b=c+(g<<4&4294967295|g>>>28);g=f+(b^c^e)+d[0]+3936430074&4294967295;f=b+(g<<11&4294967295|g>>>21);g=e+(f^b^c)+d[3]+3572445317&4294967295;e=f+(g<<16&4294967295|g>>>16);g=c+(e^f^b)+d[6]+76029189&4294967295;c=e+(g<<23&4294967295|g>>>9);g=b+(c^e^f)+d[9]+3654602809&4294967295;b=c+(g<<4&4294967295|g>>>28);g=f+(b^c^e)+d[12]+3873151461&4294967295;
f=b+(g<<11&4294967295|g>>>21);g=e+(f^b^c)+d[15]+530742520&4294967295;e=f+(g<<16&4294967295|g>>>16);g=c+(e^f^b)+d[2]+3299628645&4294967295;c=e+(g<<23&4294967295|g>>>9);g=b+(e^(c|~f))+d[0]+4096336452&4294967295;b=c+(g<<6&4294967295|g>>>26);g=f+(c^(b|~e))+d[7]+1126891415&4294967295;f=b+(g<<10&4294967295|g>>>22);g=e+(b^(f|~c))+d[14]+2878612391&4294967295;e=f+(g<<15&4294967295|g>>>17);g=c+(f^(e|~b))+d[5]+4237533241&4294967295;c=e+(g<<21&4294967295|g>>>11);g=b+(e^(c|~f))+d[12]+1700485571&4294967295;b=c+
(g<<6&4294967295|g>>>26);g=f+(c^(b|~e))+d[3]+2399980690&4294967295;f=b+(g<<10&4294967295|g>>>22);g=e+(b^(f|~c))+d[10]+4293915773&4294967295;e=f+(g<<15&4294967295|g>>>17);g=c+(f^(e|~b))+d[1]+2240044497&4294967295;c=e+(g<<21&4294967295|g>>>11);g=b+(e^(c|~f))+d[8]+1873313359&4294967295;b=c+(g<<6&4294967295|g>>>26);g=f+(c^(b|~e))+d[15]+4264355552&4294967295;f=b+(g<<10&4294967295|g>>>22);g=e+(b^(f|~c))+d[6]+2734768916&4294967295;e=f+(g<<15&4294967295|g>>>17);g=c+(f^(e|~b))+d[13]+1309151649&4294967295;
c=e+(g<<21&4294967295|g>>>11);g=b+(e^(c|~f))+d[4]+4149444226&4294967295;b=c+(g<<6&4294967295|g>>>26);g=f+(c^(b|~e))+d[11]+3174756917&4294967295;f=b+(g<<10&4294967295|g>>>22);g=e+(b^(f|~c))+d[2]+718787259&4294967295;e=f+(g<<15&4294967295|g>>>17);g=c+(f^(e|~b))+d[9]+3951481745&4294967295;a.A[0]=a.A[0]+b&4294967295;a.A[1]=a.A[1]+(e+(g<<21&4294967295|g>>>11))&4294967295;a.A[2]=a.A[2]+e&4294967295;a.A[3]=a.A[3]+f&4294967295};
Gf.prototype.update=function(a,b){m(b)||(b=a.length);for(var c=b-this.Z,d=this.Bd,e=this.Ha,f=0;f<b;){if(0==e)for(;f<=c;)Hf(this,a,f),f+=this.Z;if(p(a))for(;f<b;){if(d[e++]=a.charCodeAt(f++),e==this.Z){Hf(this,d);e=0;break}}else for(;f<b;)if(d[e++]=a[f++],e==this.Z){Hf(this,d);e=0;break}}this.Ha=e;this.Cb+=b};
Gf.prototype.digest=function(){var a=Array((56>this.Ha?this.Z:2*this.Z)-this.Ha);a[0]=128;for(var b=1;b<a.length-8;++b)a[b]=0;for(var c=8*this.Cb,b=a.length-8;b<a.length;++b)a[b]=c&255,c/=256;this.update(a);a=Array(16);for(b=c=0;4>b;++b)for(var d=0;32>d;d+=8)a[c++]=this.A[b]>>>d&255;return a};var If=function(a){this.Ya="__ee_hash__";this.dc=!1!==a;this.Ca=[];this.ta={};this.uc=[]};w("ee.Serializer",If);var Jf=new ed,Kf=new Gf,Mf=function(a,b){return Lf(new If(m(b)?b:!0),a)};w("ee.Serializer.encode",Mf);var Nf=function(a){return Jf.u(Mf(a))};w("ee.Serializer.toJSON",Nf);var Of=function(a){a=Lf(new If(!1),a);return"JSON"in l?l.JSON.stringify(a,null," "):Jf.u(a)};w("ee.Serializer.toReadableJSON",Of);
var Lf=function(a,b){var c=a.fb(b);a.dc&&(c=t(c)&&"ValueRef"==c.type&&1==a.Ca.length?a.Ca[0][1]:{type:"CompoundValue",scope:a.Ca,value:c},a.Ca=[],Wa(a.uc,u(function(a){delete a[this.Ya]},a)),a.uc=[],a.ta={});return c};
If.prototype.fb=function(a){if(!m(a))throw Error("Can't encode an undefined value.");var b,c=t(a)?a[this.Ya]:null;if(this.dc&&null!=c&&this.ta[c])return{type:"ValueRef",value:this.ta[c]};if(null===a||"boolean"==typeof a||q(a)||p(a))return a;if(t(a)&&"function"==typeof a.getFullYear)return{type:"Invocation",functionName:"Date",arguments:{value:Math.floor(a.getTime())}};if(a instanceof Ef){if(b=a.encode(u(this.fb,this)),!(n(b)||t(b)&&"ArgumentRef"!=b.type))return b}else if(n(a))b=Ya(a,function(a){return this.fb(a)},
this);else if(t(a)&&!r(a))b=Ia(a,function(a){if(!r(a))return this.fb(a)},this),Ma(b,this.Ya),b={type:"Dictionary",value:b};else throw Error("Can't encode object: "+a);if(this.dc){Kf.reset();Kf.update(Jf.u(b));var c=Kf.digest().toString(),d;this.ta[c]?d=this.ta[c]:(d=String(this.Ca.length),this.Ca.push([d,b]),this.ta[c]=d);a[this.Ya]=c;this.uc.push(a);return{type:"ValueRef",value:d}}return b};var F=function(a,b,c){if(!(this instanceof F))return G(F,arguments);if(c&&(a||b))throw Error('When "opt_varName" is specified, "func" and "args" must be null.');if(a&&!b)throw Error('When "func" is specified, "args" must not be null.');this.c=a;this.m=b;this.v=c||null};x(F,Ef);w("ee.ComputedObject",F);F.prototype.evaluate=function(a){if(!a||!r(a))throw Error("evaluate() requires a callback function.");pf({json:this.u()},a)};F.prototype.evaluate=F.prototype.evaluate;
F.prototype.S=function(a){return pf({json:this.u()},a)};F.prototype.getInfo=F.prototype.S;F.prototype.encode=function(a){if(null===this.c&&null===this.m)return{type:"ArgumentRef",value:this.v};var b={},c;for(c in this.m)m(this.m[c])&&(b[c]=a(this.m[c]));b={type:"Invocation",arguments:b};a=a(this.c);b[p(a)?"functionName":"function"]=a;return b};F.prototype.u=function(){return Nf(this)};F.prototype.serialize=F.prototype.u;F.prototype.toString=function(){return"ee."+this.name()+"("+Of(this)+")"};
F.prototype.toString=F.prototype.toString;F.prototype.name=function(){return"ComputedObject"};F.prototype.wc=function(a,b){var c=gb(arguments);c[0]=this;a.apply(l,c);return this};F.prototype.aside=F.prototype.wc;var Pf=function(a,b){if(b instanceof a.constructor)return b;var c=function(){};c.prototype=a.constructor.prototype;c=new c;c.c=b.c;c.m=b.m;c.v=b.v;return c},G=function(a,b){function c(){return a.apply(this,b)}c.prototype=a.prototype;return new c};var Qf={},Rf=function(a){return a.prototype instanceof F?a.prototype.name.call(null):a==Number?"Number":a==String?"String":a==Array?"Array":a==Date?"Date":"Object"},Sf=function(a,b){if(b==a)return!0;switch(a){case "Element":return"Element"==b||"Image"==b||"Feature"==b||"Collection"==b||"ImageCollection"==b||"FeatureCollection"==b;case "FeatureCollection":case "Collection":return"Collection"==b||"ImageCollection"==b||"FeatureCollection"==b;case "Object":return!0;default:return!1}},Tf=function(a){return q(a)||
a instanceof F&&"Number"==a.name()},Uf=function(a){return p(a)||a instanceof F&&"String"==a.name()},Vf=function(a){return t(a)&&!r(a)?(a=Object.getPrototypeOf(a),null!==a&&null===Object.getPrototypeOf(a)):!1};var H=function(){if(!(this instanceof H))return new H};x(H,Ef);w("ee.Function",H);var Wf=ec;H.prototype.call=function(a){return this.apply(Xf(this,Array.prototype.slice.call(arguments,0)))};H.prototype.call=H.prototype.call;H.prototype.apply=function(a){a=new F(this,Yf(this,a));return Wf(a,this.D().returns)};H.prototype.apply=H.prototype.apply;
var Zf=function(a,b,c){var d=m(b),e=a.D(),f=!1;if(1==c.length&&Vf(c[0])){var g=e.args;d&&(g=g.slice(1));g.length&&(f=!((1==g.length||g[1].optional)&&"Dictionary"==g[0].type))}if(f){if(c=Na(c[0]),d){d=e.args[0].name;if(d in c)throw Error("Named args for "+e.name+" can't contain keyword "+d);c[d]=b}}else c=Xf(a,d?[b].concat(c):c);return a.apply(c)},Yf=function(a,b){for(var c=a.D().args,d={},e={},f=0;f<c.length;f++){var g=c[f].name;if(g in b&&m(b[g]))d[g]=Wf(b[g],c[f].type);else if(!c[f].optional)throw Error("Required argument ("+
g+") missing to function: "+a);e[g]=!0}var c=[],k;for(k in b)e[k]||c.push(k);if(0<c.length)throw Error("Unrecognized arguments ("+c+") to function: "+a);return d},Xf=function(a,b){var c=a.D().args;if(c.length<b.length)throw Error("Too many ("+b.length+") arguments to function: "+a);for(var d={},e=0;e<b.length;e++)d[c[e].name]=b[e];return d};
H.prototype.toString=function(a,b){var c=this.D(),d=[];d.push(a||c.name);d.push("(");d.push(Ya(c.args.slice(b?1:0),function(a){return a.name}).join(", "));d.push(")\n");d.push("\n");c.description?d.push(c.description):d.push("Undocumented.");d.push("\n");if(c.args.length){d.push("\nArgs:\n");for(var e=0;e<c.args.length;e++){b&&0==e?d.push(" this:"):d.push("\n ");var f=c.args[e];d.push(f.name);d.push(" (");d.push(f.type);f.optional&&d.push(", optional");d.push("): ");f.description?d.push(f.description):
d.push("Undocumented.")}}return d.join("")};H.prototype.u=function(){return Nf(this)};var I=function(a,b){if(!m(b))return $f(a);if(!(this instanceof I))return G(I,arguments);this.ea=Oa(b);this.ea.name=a};x(I,H);w("ee.ApiFunction",I);var J=function(a,b){return H.prototype.call.apply($f(a),Array.prototype.slice.call(arguments,1))};w("ee.ApiFunction._call",J);var ag=function(a,b){return $f(a).apply(b)};w("ee.ApiFunction._apply",ag);I.prototype.encode=function(){return this.ea.name};I.prototype.D=function(){return this.ea};
var bg=null,cg={},eg=function(){dg();return Ia(bg,function(a){return a.D()})},fg=function(){dg();return Ha(bg,function(a,b){return!cg[b]})},$f=function(a){var b=gg(a);if(!b)throw Error("Unknown built-in function name: "+a);return b};w("ee.ApiFunction.lookup",$f);
var gg=function(a){dg();return bg[a]||null},dg=function(a,b){if(bg)a&&a();else{var c=function(c,e){e?b&&b(Error(e)):(bg=Ia(c,function(a,b){a.returns=a.returns.replace(/<.*>/,"");for(var c=0;c<a.args.length;c++)a.args[c].type=a.args[c].type.replace(/<.*>/,"");return new I(b,a)}),a&&a())};a?D("/algorithms",null,c,"GET"):c(D("/algorithms",null,void 0,"GET"))}},K=function(a,b,c,d){dg();var e=d||"";Ga(bg,function(d,g){var k=g.split(".");if(2==k.length&&k[0]==b){var k=e+k[1],v=d.D();cg[g]=!0;var R=!1;if(v.args.length)var S=
v.args[0].type,R="Object"!=S&&Sf(S,c);S=R?a.prototype:a;k in S&&!S[k].signature||(S[k]=function(a){return Zf(d,R?this:void 0,Array.prototype.slice.call(arguments,0))},S[k].toString=u(d.toString,d,k,R),S[k].signature=v)}})},L=function(a){var b=function(a){for(var b in a)r(a[b])&&a[b].signature&&delete a[b]};b(a);b(a.prototype)};var M=function(a,b){var c=hg(a),d=Ya(c,function(a){return a.replace(/^opt_/,"")}),e=l.Ga?l.Ga[a.toString()].name.split(".").pop()+"()":null,e=e?" to function "+e:"",f={},g=b[0],k=t(g)&&!r(g)&&!n(g)&&!(g instanceof F);if(1<b.length||!k){if(b.length>d.length)throw Error("Received too many arguments"+e+". Expected at most "+d.length+" but got "+b.length+".");for(g=0;g<b.length;g++)f[d[g]]=b[g]}else{var k=new oc(Ka(g)),v=new oc(d);if(qc(v,k).isEmpty())f[d[0]]=b[0];else{f=rc(k,v);if(!f.isEmpty())throw Error("Unexpected arguments"+
e+": "+f.s().join(", "));f=Na(g)}}d=new oc(Ka(f));c=rc(new oc(Xa(c,function(a){return 0!=a.lastIndexOf("opt_",0)})),d);if(!c.isEmpty())throw Error("Missing required arguments"+e+": "+c.s().join(", "));return f},hg=function(a){l.Ga?(a=l.Ga[a.toString()],Ea(a),a=a.paramNames,Fa(a)):a=a.toString().replace(ig,"").match(jg)[1].split(",")||[];return a},ig=/((\/\/.*$)|(\/\*[\s\S]*?\*\/)|(\s))/mg,jg=/^function\s*[^\(]*\(\s*([^\)]*)\)/m;var N=function(a,b,c){F.call(this,a,b,c);kg()};x(N,F);w("ee.Element",N);var lg=!1,kg=function(){lg||(K(N,"Element","Element"),lg=!0)};N.prototype.name=function(){return"Element"};
N.prototype.set=function(a){var b;if(1>=arguments.length){var c=arguments[0];if(b=Vf(c))a:{b=Ka(c);var d=["properties"];if(ea(b)&&ea(d)&&b.length==d.length){for(var e=b.length,f=0;f<e;f++)if(b[f]!==d[f]){b=!1;break a}b=!0}else b=!1}b&&t(c.properties)&&(c=c.properties);if(Vf(c)){b=this;for(var g in c)d=c[g],b=J("Element.set",b,g,d)}else if(c instanceof F&&gg("Element.setMulti"))b=J("Element.setMulti",this,c);else throw Error("When Element.set() is passed one argument, it must be a dictionary.");}else{if(0!=
arguments.length%2)throw Error("When Element.set() is passed multiple arguments, there must be an even number of them.");b=this;for(c=0;c<arguments.length;c+=2)g=arguments[c],d=arguments[c+1],b=J("Element.set",b,g,d)}return Pf(this,b)};N.prototype.set=N.prototype.set;var O=function(a){if(!(this instanceof O))return G(O,arguments);if(a instanceof O)return a;mg();if(n(a)){if(0==a.length)throw Error("Empty list specified for ee.Filter().");if(1==a.length)return new O(a[0]);F.call(this,new I("Filter.and"),{filters:a});this.Ka=a}else if(a instanceof F)F.call(this,a.c,a.m,a.v),this.Ka=[a];else{if(m(a))throw Error("Invalid argument specified for ee.Filter(): "+a);F.call(this,null,null);this.Ka=[]}};x(O,F);w("ee.Filter",O);
var ng=!1,mg=function(){ng||(K(O,"Filter","Filter"),ng=!0)},og={equals:"equals",less_than:"lessThan",greater_than:"greaterThan",contains:"stringContains",starts_with:"stringStartsWith",ends_with:"stringEndsWith"},P=function(a,b){var c=a.Ka.slice(0);b instanceof O?hb(c,b.Ka):b instanceof Array?hb(c,b):c.push(b);return new O(c)};O.prototype.X=function(){return J("Filter.not",this)};O.prototype.not=O.prototype.X;var pg=function(a,b){var c=M(pg,arguments);return J("Filter.equals",c.name,c.value)};
O.eq=pg;var qg=function(a,b){var c=M(qg,arguments);return pg(c.name,c.value).X()};O.neq=qg;var rg=function(a,b){var c=M(rg,arguments);return J("Filter.lessThan",c.name,c.value)};O.lt=rg;var sg=function(a,b){var c=M(sg,arguments);return rg(c.name,c.value).X()};O.gte=sg;var tg=function(a,b){var c=M(tg,arguments);return J("Filter.greaterThan",c.name,c.value)};O.gt=tg;var ug=function(a,b){var c=M(ug,arguments);return tg(c.name,c.value).X()};O.lte=ug;var vg=function(a){return J("Filter.and",Array.prototype.slice.call(arguments))};
O.and=vg;var wg=function(a){return J("Filter.or",Array.prototype.slice.call(arguments))};O.or=wg;var xg=function(a,b){var c=M(xg,arguments),c=J("DateRange",c.start,c.end);return ag("Filter.dateRangeContains",{leftValue:c,rightField:"system:time_start"})};O.date=xg;var yg=function(a,b,c,d){var e=M(yg,arguments);return ag("Filter.listContains",{leftField:e.rightField,rightValue:e.leftValue,rightField:e.leftField,leftValue:e.rightValue})};O.inList=yg;
var zg=function(a,b){return ag("Filter.intersects",{leftField:".all",rightValue:J("Feature",a),maxError:b})};O.bounds=zg;O.prototype.name=function(){return"Filter"};var Ag=function(a,b,c){b=b.toLowerCase();var d=!1;0==b.lastIndexOf("not_",0)&&(d=!0,b=b.substring(4));if(!(b in og))throw Error("Unknown filtering operator: "+b);a=J("Filter."+og[b],a,c);return d?a.X():a};O.metadata=Ag;var Bg=function(a,b){return J("Filter.stringContains",a,b)};O.contains=Bg;var Cg=function(a,b){return Bg(a,b).X()};
O.not_contains=Cg;var Dg=function(a,b){return J("Filter.stringStartsWith",a,b)};O.starts_with=Dg;var Eg=function(a,b){return Dg(a,b).X()};O.not_starts_with=Eg;var Fg=function(a,b){return J("Filter.stringEndsWith",a,b)};O.ends_with=Fg;var Gg=function(a,b){return Fg(a,b).X()};O.not_ends_with=Gg;O.prototype.Hc=function(a){return P(this,pg.apply(null,[].slice.call(arguments)))};O.prototype.eq=O.prototype.Hc;O.prototype.length=function(){return this.Ka.length};O.prototype.length=O.prototype.length;
O.prototype.dd=function(a){return P(this,qg.apply(null,[].slice.call(arguments)))};O.prototype.neq=O.prototype.dd;O.prototype.ad=function(a){return P(this,rg.apply(null,[].slice.call(arguments)))};O.prototype.lt=O.prototype.ad;O.prototype.Rc=function(a){return P(this,sg.apply(null,[].slice.call(arguments)))};O.prototype.gte=O.prototype.Rc;O.prototype.Qc=function(a){return P(this,tg.apply(null,[].slice.call(arguments)))};O.prototype.gt=O.prototype.Qc;
O.prototype.bd=function(a){return P(this,ug.apply(null,[].slice.call(arguments)))};O.prototype.lte=O.prototype.bd;O.prototype.contains=function(a){return P(this,Bg.apply(null,[].slice.call(arguments)))};O.prototype.contains=O.prototype.contains;O.prototype.ed=function(a){return P(this,Cg.apply(null,[].slice.call(arguments)))};O.prototype.not_contains=O.prototype.ed;O.prototype.ud=function(a){return P(this,Dg.apply(null,[].slice.call(arguments)))};O.prototype.starts_with=O.prototype.ud;
O.prototype.gd=function(a){return P(this,Eg.apply(null,[].slice.call(arguments)))};O.prototype.not_starts_with=O.prototype.gd;O.prototype.Gc=function(a){return P(this,Fg.apply(null,[].slice.call(arguments)))};O.prototype.ends_with=O.prototype.Gc;O.prototype.fd=function(a){return P(this,Gg.apply(null,[].slice.call(arguments)))};O.prototype.not_ends_with=O.prototype.fd;O.prototype.vc=function(a){return P(this,vg.apply(null,[].slice.call(arguments)))};O.prototype.and=O.prototype.vc;
O.prototype.Dc=function(a){return P(this,xg.apply(null,[].slice.call(arguments)))};O.prototype.date=O.prototype.Dc;O.prototype.Uc=function(a){return P(this,yg.apply(null,[].slice.call(arguments)))};O.prototype.inList=O.prototype.Uc;O.prototype.bounds=function(a){return P(this,zg.apply(null,[].slice.call(arguments)))};O.prototype.bounds=O.prototype.bounds;var Q=function(a,b,c){N.call(this,a,b,c);Hg()};x(Q,N);w("ee.Collection",Q);var Ig=!1,Hg=function(){Ig||(K(Q,"Collection","Collection"),K(Q,"AggregateFeatureCollection","Collection","aggregate_"),Ig=!0)};Q.prototype.filter=function(a){if(!a)throw Error("Empty filters.");return Pf(this,J("Collection.filter",this,a))};Q.prototype.filter=Q.prototype.filter;Q.prototype.Yb=function(a,b,c){var d=M(Q.prototype.Yb,arguments);return this.filter(Ag(d.name,d.operator,d.value))};Q.prototype.filterMetadata=Q.prototype.Yb;
Q.prototype.Kc=function(a){return this.filter(zg(a))};Q.prototype.filterBounds=Q.prototype.Kc;Q.prototype.Xb=function(a,b){var c=M(Q.prototype.Xb,arguments);return this.filter(xg(c.start,c.end))};Q.prototype.filterDate=Q.prototype.Xb;Q.prototype.limit=function(a,b,c){var d=M(Q.prototype.limit,arguments);return Pf(this,J("Collection.limit",this,d.max,d.property,d.ascending))};Q.prototype.limit=Q.prototype.limit;
Q.prototype.sort=function(a,b){var c=M(Q.prototype.sort,arguments);return Pf(this,J("Collection.limit",this,void 0,c.property,c.ascending))};Q.prototype.sort=Q.prototype.sort;Q.prototype.name=function(){return"Collection"};Q.prototype.elementType=function(){return N};Q.prototype.map=function(a,b){var c=this.elementType();return Pf(this,J("Collection.map",this,function(b){return a(new c(b))},b))};Q.prototype.map=Q.prototype.map;
Q.prototype.Yc=function(a,b){var c=m(b)?b:null,d=this.elementType();return J("Collection.iterate",this,function(b,c){return a(new d(b),c)},c)};Q.prototype.iterate=Q.prototype.Yc;var Jg=function(a){if(!(this instanceof Jg))return G(Jg,arguments);if(a instanceof Jg)return a;Kg();if(q(a))F.call(this,null,null),this.gc=a;else if(a instanceof F)F.call(this,a.c,a.m,a.v),this.gc=null;else throw Error("Invalid argument specified for ee.Number(): "+a);};x(Jg,F);w("ee.Number",Jg);var Lg=!1,Kg=function(){Lg||(K(Jg,"Number","Number"),Lg=!0)};Jg.prototype.encode=function(a){return q(this.gc)?this.gc:Jg.w.encode.call(this,a)};Jg.prototype.name=function(){return"Number"};var Mg=function(a){if(!(this instanceof Mg))return G(Mg,arguments);if(a instanceof Mg)return a;Ng();if(p(a))F.call(this,null,null),this.oc=a;else if(a instanceof F)this.oc=null,a.c&&"String"==a.c.D().returns?F.call(this,a.c,a.m,a.v):F.call(this,new I("String"),{input:a},null);else throw Error("Invalid argument specified for ee.String(): "+a);};x(Mg,F);w("ee.String",Mg);var Og=!1,Ng=function(){Og||(K(Mg,"String","String"),Og=!0)};
Mg.prototype.encode=function(a){return p(this.oc)?this.oc:Mg.w.encode.call(this,a)};Mg.prototype.name=function(){return"String"};var Pg=function(a,b){if(!(this instanceof Pg))return G(Pg,arguments);for(var c=[],d=a.args,e=0;e<d.length;e++){var f=d[e],g=f.type;c.push(Qg(g in Qf?Qf[g]:null,f.name))}if(!m(b.apply(null,c)))throw Error("User-defined methods must return a value.");this.ea=Rg(a,c,b);this.Cd=b.apply(null,c)};x(Pg,H);w("ee.CustomFunction",Pg);Pg.prototype.encode=function(a){return{type:"Function",argumentNames:Ya(this.ea.args,function(a){return a.name}),body:a(this.Cd)}};Pg.prototype.D=function(){return this.ea};
var Qg=function(a,b){a=a||Object;if(!(a.prototype instanceof F))if(a&&a!=Object)if(a==String)a=Mg;else if(a==Number)a=Jg;else if(a==Array)a=l.ee.List;else throw Error("Variables must be of an EE type, e.g. ee.Image or ee.Number.");else a=F;var c=function(){};c.prototype=a.prototype;c=new c;c.c=null;c.m=null;c.v=b;return c},Sg=function(a,b){var c=Ya(b,function(a){return{name:null,type:p(a)?a:Rf(a)}}),c={name:"",returns:p("Object")?"Object":Rf("Object"),args:c};return new Pg(c,a)},Rg=function(a,b,c){for(var d=
[],e=0;e<b.length;e++)null===b[e].v&&d.push(e);if(0==d.length)return a;var f=function(a){var b=0;t(a)&&!r(a)&&("Function"==a.type&&b++,Ga(a,function(a){b+=f(a)}));return b},e=Mf(c.apply(null,b));c="_MAPPING_VAR_"+f(e)+"_";for(e=0;e<d.length;e++){var g=d[e],k=c+e;b[g].v=k;a.args[g].name=k}return a};var Tg=function(a,b){if(!(this instanceof Tg))return G(Tg,arguments);if(a instanceof Tg)return a;Ug();var c=M(Tg,arguments);a=c.date;var c=c.tz,d=new I("Date"),e={},f=null;if(Uf(a)){if(e.value=a,c)if(Uf(c))e.timeZone=c;else throw Error("Invalid argument specified for ee.Date(..., opt_tz): "+c);}else if(Tf(a))e.value=a;else if(t(a)&&"function"==typeof a.getFullYear)e.value=Math.floor(a.getTime());else if(a instanceof F)a.c&&"Date"==a.c.D().returns?(d=a.c,e=a.m,f=a.v):e.value=a;else throw Error("Invalid argument specified for ee.Date(): "+
a);F.call(this,d,e,f)};x(Tg,F);w("ee.Date",Tg);var Vg=!1,Ug=function(){Vg||(K(Tg,"Date","Date"),Vg=!0)};Tg.prototype.name=function(){return"Date"};var T=function(a,b,c,d){if(!(this instanceof T))return G(T,arguments);if(!("type"in a)){var e=M(T,arguments);a=e.geoJson;b=e.proj;c=e.geodesic;d=e.evenOdd}Wg();e=null!=b||null!=c||null!=d;if(a instanceof F&&!(a instanceof T&&a.Db)){if(e)throw Error("Setting the CRS, geodesic, or evenOdd flag on a computed Geometry is not suported. Use Geometry.transform().");F.call(this,a.c,a.m,a.v)}else{a instanceof T&&(a=a.encode());if(!Xg(a))throw Error("Invalid GeoJSON geometry: "+JSON.stringify(a));F.call(this,
null,null);this.Db=a.type;this.Gd=a.coordinates||null;this.Kd=a.geometries||null;if(null!=b)this.lc=b;else if("crs"in a)if(t(a.crs)&&"name"==a.crs.type&&t(a.crs.properties)&&p(a.crs.properties.name))this.lc=a.crs.properties.name;else throw Error("Invalid CRS declaration in GeoJSON: "+(new ed).u(a.crs));this.ib=c;!m(this.ib)&&"geodesic"in a&&(this.ib=!!a.geodesic);this.hb=d;!m(this.hb)&&"evenOdd"in a&&(this.hb=!!a.evenOdd)}};x(T,F);w("ee.Geometry",T);
var Yg=!1,Wg=function(){Yg||(K(T,"Geometry","Geometry"),Yg=!0)},Zg=function(a,b){if(!(this instanceof Zg))return $g(Zg,arguments);var c=ah(Zg,"Point",1,arguments);if(!(c instanceof F)){var d=c.coordinates;if(!n(d)||2!=d.length)throw Error("The Geometry.Point constructor requires 2 coordinates.");}T.call(this,c)};x(Zg,T);T.Point=Zg;var bh=function(a,b){if(!(this instanceof bh))return $g(bh,arguments);T.call(this,ah(bh,"MultiPoint",2,arguments))};x(bh,T);T.MultiPoint=bh;
var ch=function(a,b,c,d,e){if(!(this instanceof ch))return $g(ch,arguments);var f=ah(ch,"Rectangle",2,arguments);if(!(f instanceof F)){var g=f.coordinates;if(2!=g.length)throw Error("The Geometry.Rectangle constructor requires 2 points or 4 coordinates.");var k=g[0][0],v=g[0][1],R=g[1][0],g=g[1][1];f.coordinates=[[[k,g],[k,v],[R,v],[R,g]]];f.type="Polygon"}T.call(this,f)};x(ch,T);T.Rectangle=ch;
var dh=function(a,b,c,d){if(!(this instanceof dh))return $g(dh,arguments);T.call(this,ah(dh,"LineString",2,arguments))};x(dh,T);T.LineString=dh;var eh=function(a,b,c,d){if(!(this instanceof eh))return $g(eh,arguments);T.call(this,ah(eh,"LinearRing",2,arguments))};x(eh,T);T.LinearRing=eh;var fh=function(a,b,c,d){if(!(this instanceof fh))return $g(fh,arguments);T.call(this,ah(fh,"MultiLineString",3,arguments))};x(fh,T);T.MultiLineString=fh;
var gh=function(a,b,c,d,e){if(!(this instanceof gh))return $g(gh,arguments);T.call(this,ah(gh,"Polygon",3,arguments))};x(gh,T);T.Polygon=gh;var hh=function(a,b,c,d,e){if(!(this instanceof hh))return $g(hh,arguments);T.call(this,ah(hh,"MultiPolygon",4,arguments))};x(hh,T);T.MultiPolygon=hh;
T.prototype.encode=function(a){if(!this.Db){if(!a)throw Error("Must specify an encode function when encoding a computed geometry.");return F.prototype.encode.call(this,a)}a={type:this.Db};"GeometryCollection"==this.Db?a.geometries=this.Kd:a.coordinates=this.Gd;null!=this.lc&&(a.crs={type:"name",properties:{name:this.lc}});null!=this.ib&&(a.geodesic=this.ib);null!=this.hb&&(a.evenOdd=this.hb);return a};
T.prototype.rc=function(){if(this.c)throw Error("Can't convert a computed Geometry to GeoJSON. Use getInfo() instead.");return this.encode()};T.prototype.toGeoJSON=T.prototype.rc;T.prototype.sc=function(){if(this.c)throw Error("Can't convert a computed Geometry to GeoJSON. Use getInfo() instead.");return(new ed).u(this.rc())};T.prototype.toGeoJSONString=T.prototype.sc;T.prototype.u=function(){return Nf(this)};T.prototype.serialize=T.prototype.u;
T.prototype.toString=function(){return"ee.Geometry("+this.sc()+")"};
var Xg=function(a){var b=a.type;if("GeometryCollection"==b){b=a.geometries;if(!n(b))return!1;for(a=0;a<b.length;a++)if(!Xg(b[a]))return!1;return!0}a=a.coordinates;var c=ih(a);return"Point"==b&&1==c||"MultiPoint"==b&&(2==c||0==a.length)||"LineString"==b&&2==c||"LinearRing"==b&&2==c||"MultiLineString"==b&&(3==c||0==a.length)||"Polygon"==b&&3==c||"MultiPolygon"==b&&(4==c||0==a.length)},ih=function(a){if(!n(a))return-1;if(n(a[0])){for(var b=ih(a[0]),c=1;c<a.length;c++)if(ih(a[c])!=b)return-1;return b+
1}for(c=0;c<a.length;c++)if(!q(a[c]))return-1;return 0==a.length%2?1:-1},ah=function(a,b,c,d){$a(d,Tf)?a={coordinates:gb(d)}:(a=M(a,d),a.coordinates=a.coords,delete a.coords,a.crs=a.proj,delete a.proj,a=Ha(a,da));if(jh(a.coordinates)||null!=a.crs||null!=a.geodesic||null!=a.maxError)return(new I("GeometryConstructors."+b)).apply(a);a.type=b;d=a.coordinates;if(1>c||4<c)throw Error("Unexpected nesting level.");if($a(d,q)&&q(d[0])&&2!=d.length){if(0!=d.length%2)throw Error("Invalid number of coordinates: "+
d.length);for(var e=[],f=0;f<d.length;f+=2)e.push([d[f],d[f+1]]);d=e}e=d;for(f=0;n(e);)e=e[0],f++;for(;f<c;)d=[d],f++;if(ih(d)!=c)throw Error("Invalid geometry");for(e=d;n(e)&&1==e.length;)e=e[0];c=n(e)&&0==e.length?[]:d;a.coordinates=c;if(c=null==a.evenOdd)c=0<=Ua(["Polygon","Rectangle","MultiPolygon"],b);c&&(a.evenOdd=!0);return a},jh=function(a){return n(a)?Za(a,jh):a instanceof F},$g=function(a,b){var c=function(){};c.prototype=a.prototype;var c=new c,d=a.apply(c,b);return void 0!==d?d:c};
T.prototype.name=function(){return"Geometry"};w("ee.Deserializer",function(){});var lh=function(a){return kh(cd(a))};w("ee.Deserializer.fromJSON",lh);var kh=function(a){var b={};if(t(a)&&"CompoundValue"==a.type){for(var c=a.scope,d=0;d<c.length;d++){var e=c[d][0],f=c[d][1];if(e in b)throw Error('Duplicate scope key "'+e+'" in scope #'+d+".");b[e]=mh(f,b)}a=a.value}return mh(a,b)};w("ee.Deserializer.decode",kh);
var mh=function(a,b){if(null===a||q(a)||"boolean"==typeof a||p(a))return a;if(n(a))return Ya(a,function(a){return mh(a,b)});if(!t(a)||r(a))throw Error("Cannot decode object: "+a);var c=a.type;switch(c){case "ValueRef":if(a.value in b)return b[a.value];throw Error("Unknown ValueRef: "+a);case "ArgumentRef":c=a.value;if(!p(c))throw Error("Invalid variable name: "+c);return Qg(Object,c);case "Date":c=a.value;if(!q(c))throw Error("Invalid date value: "+c);return new Tg(c/1E3);case "Bytes":return c=new Ef,
c.encode=function(){return a},c;case "Invocation":var c="functionName"in a?$f(a.functionName):mh(a["function"],b),d=Ia(a.arguments,function(a){return mh(a,b)});if(c instanceof H)return c.apply(d);if(c instanceof F)return new F(c,d);throw Error("Invalid function value: "+a["function"]);case "Dictionary":return Ia(a.value,function(a){return mh(a,b)});case "Function":var e=mh(a.body,b),c={name:"",args:Ya(a.argumentNames,function(a){return{name:a,type:"Object",optional:!1}}),returns:"Object"};return new Pg(c,
function(){return e});case "Point":case "MultiPoint":case "LineString":case "MultiLineString":case "Polygon":case "MultiPolygon":case "LinearRing":case "GeometryCollection":return new T(a);case "CompoundValue":throw Error("Nested CompoundValues are disallowed.");default:throw Error("Unknown encoded object type: "+c);}};var nh=function(a){if(!(this instanceof nh))return G(nh,arguments);if(a instanceof nh)return a;oh();Vf(a)?(F.call(this,null,null),this.Tb=a):(a instanceof F&&a.c&&"Dictionary"==a.c.D().returns?F.call(this,a.c,a.m,a.v):F.call(this,new I("Dictionary"),{input:a},null),this.Tb=null)};x(nh,F);w("ee.Dictionary",nh);var ph=!1,oh=function(){ph||(K(nh,"Dictionary","Dictionary"),ph=!0)};nh.prototype.encode=function(a){return null===this.Tb?nh.w.encode.call(this,a):a(this.Tb)};nh.prototype.name=function(){return"Dictionary"};var U=function(a,b){if(!(this instanceof U))return G(U,arguments);if(a instanceof U){if(b)throw Error("Can't create Feature out of a Feature and properties.");return a}if(2<arguments.length)throw Error("The Feature constructor takes at most 2 arguments ("+arguments.length+" given)");qh();if(a instanceof T||null===a)N.call(this,new I("Feature"),{geometry:a,metadata:b||null});else if(a instanceof F)N.call(this,a.c,a.m,a.v);else if("Feature"==a.type){var c=a.properties||{};if("id"in a){if("system:index"in
c)throw Error('Can\'t specify both "id" and "system:index".');c=Na(c);c["system:index"]=a.id}N.call(this,new I("Feature"),{geometry:new T(a.geometry),metadata:c})}else N.call(this,new I("Feature"),{geometry:new T(a),metadata:b||null})};x(U,N);w("ee.Feature",U);var rh=!1,qh=function(){rh||(K(U,"Feature","Feature"),rh=!0)};U.prototype.getInfo=U.prototype.S;U.prototype.getMap=function(a,b){var c=M(U.prototype.getMap,arguments);return J("Collection",[this]).getMap(c.visParams,c.callback)};
U.prototype.getMap=U.prototype.getMap;var sh=function(a,b){return Zg.apply(null,arguments)};U.Point=sh;var th=function(a){return bh.apply(null,arguments)};U.MultiPoint=th;var uh=function(a,b,c,d){return new ch([a,b,c,d])};U.Rectangle=uh;var vh=function(a){return dh.apply(null,arguments)};U.LineString=vh;var wh=function(a){return eh.apply(null,arguments)};U.LinearRing=wh;var xh=function(a){return fh.apply(null,arguments)};U.MultiLine=xh;var yh=function(a){return gh.apply(null,arguments)};
U.Polygon=yh;var zh=function(a){return hh.apply(null,arguments)};U.MultiPolygon=zh;U.prototype.name=function(){return"Feature"};var Ah=function(a){if(this instanceof Ah){if(1<arguments.length)throw Error("ee.List() only accepts 1 argument.");if(a instanceof Ah)return a}else return G(Ah,arguments);Bh();if(n(a))F.call(this,null,null),this.fc=a;else if(a instanceof F)F.call(this,a.c,a.m,a.v),this.fc=null;else throw Error("Invalid argument specified for ee.List(): "+a);};x(Ah,F);w("ee.List",Ah);var Ch=!1,Bh=function(){Ch||(K(Ah,"List","List"),Ch=!0)};
Ah.prototype.encode=function(a){return n(this.fc)?Ya(this.fc,function(b){return a(b)}):Ah.w.encode.call(this,a)};Ah.prototype.name=function(){return"List"};var V=function(a,b){if(!(this instanceof V))return G(V,arguments);if(a instanceof V)return a;if(2<arguments.length)throw Error("The FeatureCollection constructor takes at most 2 arguments ("+arguments.length+" given)");Dh();a instanceof T&&(a=new U(a));a instanceof U&&(a=[a]);if(Tf(a)||Uf(a)){var c={tableId:a};b&&(c.geometryColumn=b);Q.call(this,new I("Collection.loadTable"),c)}else if(n(a))Q.call(this,new I("Collection"),{features:Ya(a,function(a){return new U(a)})});else if(a instanceof Ah)Q.call(this,
new I("Collection"),{features:a});else if(a instanceof F)Q.call(this,a.c,a.m,a.v);else throw Error("Unrecognized argument type to convert to a FeatureCollection: "+a);};x(V,Q);w("ee.FeatureCollection",V);var Eh=!1,Dh=function(){Eh||(K(V,"FeatureCollection","FeatureCollection"),Eh=!0)};V.prototype.getMap=function(a,b){var c=M(V.prototype.getMap,arguments),d=ag("Collection.draw",{collection:this,color:(c.visParams||{}).color||"000000"});if(c.callback)d.getMap(null,c.callback);else return d.getMap()};
V.prototype.getMap=V.prototype.getMap;V.prototype.getInfo=V.prototype.S;V.prototype.ia=function(a,b,c,d){var e=M(V.prototype.ia,arguments),f={};f.table=this.u();e.format&&(f.format=e.format.toUpperCase());e.filename&&(f.filename=e.filename);if(e.selectors){var g=e.selectors;ea(g)&&(g=g.join(","));f.selectors=g}if(e.callback)uf(f,function(a,b){a?e.callback(vf(a)):e.callback(null,b)});else return vf(uf(f))};V.prototype.getDownloadURL=V.prototype.ia;
V.prototype.select=function(a,b){var c=arguments;return this.map(function(a){return a.select.apply(a,c)})};V.prototype.select=V.prototype.select;V.prototype.name=function(){return"FeatureCollection"};V.prototype.elementType=function(){return U};var W=function(a){if(!(this instanceof W))return G(W,arguments);if(a instanceof W)return a;Fh();var b=arguments.length;if(0==b||1==b&&!m(a))N.call(this,new I("Image.mask"),{image:new W(0),mask:new W(0)});else if(1==b)if(Tf(a))N.call(this,new I("Image.constant"),{value:a});else if(Uf(a))N.call(this,new I("Image.load"),{id:a});else{if(n(a))return Gh(Ya(a,function(a){return new W(a)}));if(a instanceof F)"Array"==a.name()?N.call(this,new I("Image.constant"),{value:a}):N.call(this,a.c,a.m,a.v);else throw Error("Unrecognized argument type to convert to an Image: "+
a);}else if(2==b){var b=arguments[0],c=arguments[1];if(Uf(b)&&Tf(c))N.call(this,new I("Image.load"),{id:b,version:c});else throw Error("Unrecognized argument types to convert to an Image: "+arguments);}else throw Error("The Image constructor takes at most 2 arguments ("+b+" given)");};x(W,N);w("ee.Image",W);var Hh=!1,Fh=function(){Hh||(K(W,"Image","Image"),K(W,"Window","Image","focal_"),Hh=!0)};W.prototype.getInfo=W.prototype.S;
W.prototype.getMap=function(a,b){var c=M(W.prototype.getMap,arguments),d=c.visParams?Na(c.visParams):{};d.image=this.u();if(c.callback)nf(d,u(function(a,b){a&&(a.image=this);c.callback(a,b)},this));else return d=nf(d),d.image=this,d};W.prototype.getMap=W.prototype.getMap;W.prototype.ia=function(a,b){var c=M(W.prototype.ia,arguments),d=c.params?Na(c.params):{};d.image=this.u();if(c.callback){var e=c.callback;sf(d,function(a,b){a?e(tf(a)):e(null,b)})}else return tf(sf(d))};
W.prototype.getDownloadURL=W.prototype.ia;W.prototype.$b=function(a,b){var c=M(W.prototype.$b,arguments),d=c.params?Na(c.params):{};d.image=this.u();if(d.region)if(n(d.region)||Vf(d.region))d.region=fd(d.region);else if(!p(d.region))throw Error("The region parameter must be an array or a GeoJSON object.");if(c.callback)qf(d,function(a,b){var d="";if(!m(b))try{d=rf(a)}catch(k){b=String(k.message)}c.callback(d,b)});else return rf(qf(d))};W.prototype.getThumbURL=W.prototype.$b;
var Ih=function(a,b,c){var d=M(Ih,arguments);return Gh([d.r,d.g,d.b],["vis-red","vis-green","vis-blue"])};W.rgb=Ih;var Jh=function(a){return Gh(Array.prototype.slice.call(arguments),null)};W.cat=Jh;var Gh=function(a,b){if(0==a.length)return J("Image.constant",[]);for(var c=new W(a[0]),d=1;d<a.length;d++)c=J("Image.addBands",c,a[d]);b&&(c=c.select([".*"],b));return c};
W.prototype.select=function(a){var b=Array.prototype.slice.call(arguments),c={input:this,bandSelectors:b[0]||[]};if(2<b.length||Uf(b[0])||Tf(b[0])){for(var d=0;d<b.length;d++)if(!(Uf(b[d])||Tf(b[d])||b[d]instanceof F))throw Error("Illegal argument to select(): "+b[d]);c.bandSelectors=b}else b[1]&&(c.newNames=b[1]);return ag("Image.select",c)};W.prototype.select=W.prototype.select;
W.prototype.Wb=function(a,b){var c=M(W.prototype.Wb,arguments),d=["DEFAULT_EXPRESSION_IMAGE"],e={DEFAULT_EXPRESSION_IMAGE:this};if(c.map){var f=c.map,g;for(g in f)d.push(g),e[g]=new W(f[g])}var k=J("Image.parseExpression",c.expression,"DEFAULT_EXPRESSION_IMAGE",d),c=new H;c.encode=function(a){return k.encode(a)};c.D=function(){return{name:"",args:Ya(d,function(a){return{name:a,type:"Image",optional:!1}},this),returns:"Image"}};return c.apply(e)};W.prototype.expression=W.prototype.Wb;
W.prototype.clip=function(a){try{a=new T(a)}catch(b){}return J("Image.clip",this,a)};W.prototype.clip=W.prototype.clip;W.prototype.pd=function(a){var b;b=1!=arguments.length||Uf(arguments[0])?gb(arguments):arguments[0];return J("Image.rename",this,b)};W.prototype.rename=W.prototype.pd;W.prototype.name=function(){return"Image"};var X=function(a){if(!(this instanceof X))return G(X,arguments);if(a instanceof X)return a;if(1!=arguments.length)throw Error("The ImageCollection constructor takes exactly 1 argument ("+arguments.length+" given)");Kh();a instanceof W&&(a=[a]);if(Uf(a))Q.call(this,new I("ImageCollection.load"),{id:a});else if(n(a))Q.call(this,new I("ImageCollection.fromImages"),{images:Ya(a,function(a){return new W(a)})});else if(a instanceof Ah)Q.call(this,new I("ImageCollection.fromImages"),{images:a});else if(a instanceof
F)Q.call(this,a.c,a.m,a.v);else throw Error("Unrecognized argument type to convert to an ImageCollection: "+a);};x(X,Q);w("ee.ImageCollection",X);var Lh=!1,Kh=function(){Lh||(K(X,"ImageCollection","ImageCollection"),K(X,"reduce","ImageCollection"),Lh=!0)};X.prototype.getMap=function(a,b){var c=M(X.prototype.getMap,arguments),d=J("ImageCollection.mosaic",this);if(c.callback)d.getMap(c.visParams,c.callback);else return d.getMap(c.visParams)};X.prototype.getMap=X.prototype.getMap;
X.prototype.getInfo=X.prototype.S;X.prototype.select=function(a,b){var c=arguments;return this.map(function(a){return a.select.apply(a,c)})};X.prototype.select=X.prototype.select;X.prototype.name=function(){return"ImageCollection"};X.prototype.elementType=function(){return W};var Mh={};w("ee.Terrain",Mh);Mh.cc=!1;Mh.Od=function(){Mh.cc||(K(Mh,"Terrain","Terrain"),Mh.cc=!0)};Mh.reset=function(){L(Mh);Mh.cc=!1};var Sh=function(a,b,c,d,e){if("ready"!=Nh||a||b){var f=null!=c;if(d)if(f)Oh.push(d);else throw Error("Can't pass an error callback without a success callback.");if("loading"==Nh&&f)Ph.push(c);else if(Nh="loading",ff(a,b,e),f)Ph.push(c),dg(Qh,Rh);else try{dg(),Qh()}catch(g){throw Rh(g),g;}}else c&&c()};w("ee.initialize",Sh);
var Vh=function(){Nh="not_ready";ef=df=bf=null;cf=!1;bg=null;cg={};L(Tg);Vg=!1;L(nh);ph=!1;L(N);lg=!1;L(W);Hh=!1;L(U);rh=!1;L(Q);Ig=!1;L(X);Lh=!1;L(V);Eh=!1;L(O);ng=!1;L(T);Yg=!1;L(Ah);Ch=!1;L(Jg);Lg=!1;L(Mg);Og=!1;Mh.reset();for(var a=l.ee,b=0;b<Th.length;b++){var c=Th[b];L(a[c]);delete a[c]}Th=[];Qf=a;var a=Uh,d;for(d in a)delete a[d]};w("ee.reset",Vh);var Wh={ke:"not_ready",LOADING:"loading",le:"ready"};w("ee.InitState",Wh);w("ee.InitState.NOT_READY","not_ready");w("ee.InitState.LOADING","loading");
w("ee.InitState.READY","ready");var Nh="not_ready",Ph=[],Oh=[];w("ee.TILE_SIZE",256);var Th=[],Uh={};w("ee.Algorithms",Uh);var Xh=function(a,b){p(a)&&(a=new I(a));return H.prototype.call.apply(a,Array.prototype.slice.call(arguments,1))};w("ee.call",Xh);var Yh=function(a,b){p(a)&&(a=new I(a));return a.apply(b)};w("ee.apply",Yh);
var Qh=function(){if("loading"==Nh){try{Ug();oh();kg();Fh();qh();Hg();Kh();Dh();mg();Wg();Bh();Kg();Ng();Mh.Od();var a=eg(),b={},c={},d;for(d in a){b[-1!=d.indexOf(".")?d.slice(0,d.indexOf(".")):d]=!0;var e=a[d].returns.replace(/<.*>/,"");c[e]=!0}var f=l.ee,g;for(g in b)g in c&&!(g in f)&&(f[g]=Zh(g),Th.push(g),a[g]?(f[g].signature=a[g],f[g].signature.isConstructor=!0,cg[g]=!0):f[g].signature={});Qf=f;$h()}catch(k){Rh(k);return}Nh="ready";for(Oh=[];0<Ph.length;)Ph.shift()()}},Rh=function(a){if("loading"==
Nh)for(Nh="not_ready",Ph=[];0<Oh.length;)Oh.shift()(a)},$h=function(){var a=fg();Ka(a).sort().forEach(function(b){var c=a[b],d=c.D();if(!d.hidden){b=b.split(".");var e=Uh;for(e.signature={};1<b.length;){var f=b[0];f in e||(e[f]={signature:{}});e=e[f];b=ib(b,1)}f=function(a){return Zf(c,void 0,Array.prototype.slice.call(arguments,0))};f.signature=d;f.toString=u(c.toString,c);e[b[0]]=f}})},Zh=function(a){var b=function(b){var d=l.ee[a],e=Array.prototype.slice.call(arguments),f=1==e.length;if(f&&e[0]instanceof
d)return e[0];if(!(this instanceof d))return G(d,e);var d=gg(a),g=!(e[0]instanceof F),k=!1;d&&(f?g?k=!0:e[0].c!=d&&(k=!0):k=!0);if(k)F.call(this,d,Yf(d,Xf(d,e)));else{if(!f)throw Error("Too many arguments for ee."+a+"(): "+e);if(g)throw Error("Invalid argument for ee."+a+"(): "+e+". Must be a ComputedObject.");e=e[0];F.call(this,e.c,e.m,e.v)}};x(b,F);b.prototype.name=function(){return a};K(b,a,a);return b},Wf=function(a,b){if(null===a)return null;if(m(a)){var c=l.ee;switch(b){case "Image":return new W(a);
case "Feature":return a instanceof Q?J("Feature",J("Collection.geometry",a)):new U(a);case "Element":if(a instanceof N)return a;if(a instanceof T)return new U(a);if(a instanceof F)return new N(a.c,a.m,a.v);throw Error("Cannot convert "+a+" to Element.");case "Geometry":return a instanceof V?J("Collection.geometry",a):new T(a);case "FeatureCollection":case "Collection":return a instanceof Q?a:new V(a);case "ImageCollection":return new X(a);case "Filter":return new O(a);case "Algorithm":if(p(a))return new I(a);
if(r(a)){for(var c=a.length,d=[],e=0;e<c;e++)d[e]="Object";return Sg(a,d)}if(a instanceof Ef)return a;throw Error("Argument is not a function: "+a);case "String":return Uf(a)||a instanceof Mg||a instanceof F?new Mg(a):a;case "Dictionary":return Vf(a)?a:new nh(a);case "List":return new Ah(a);case "Number":case "Float":case "Long":case "Integer":case "Short":case "Byte":return new Jg(a);default:if(b in c){d=gg(b);if(a instanceof c[b])return a;if(d)return new c[b](a);if(p(a)){if(a in c[b])return c[b][a].call();
throw Error("Unknown algorithm: "+b+"."+a);}return new c[b](a)}return a}}};var ai=function(a,b,c){sc.call(this,a,b,c);this.tileSize=new google.maps.Size(256,256);this.Nc=new jc;this.Mc=new jc};x(ai,sc);w("ee.FloatTileOverlay",ai);ai.prototype.getTile=function(a,b){var c=tc(this,a,b),d=[this.url,c].join("/")+"?token="+this.Ab,c=[c,this.Da,this.Ab].join("/");this.na.push(c);this.Da+=1;var e=rd("DIV");bi(this,d,a,c,e);this.Ja();return e};
var bi=function(a,b,c,d,e){var f=B();f.open("GET",b,!0);f.responseType="arraybuffer";f.onreadystatechange=u(function(){if(f.readyState===XMLHttpRequest.DONE&&200===f.status){var a=f.response;if(a)a=new Float32Array(a),this.Nc.set(c,a),this.Mc.set(c,e),eb(this.na,d),this.Ja();else throw this.pc.add(d),Error("Unable to request floating point array buffers.");}},a);f.send()};ai.prototype.Ja=function(){this.dispatchEvent(new uc(this.na.length))};ai.prototype.l=function(){this.Mc=this.Nc=null;ai.w.l.call(this)};var ci=function(a,b){z(a);var c=a.style;"opacity"in c?c.opacity=b:"MozOpacity"in c?c.MozOpacity=b:"filter"in c&&(c.filter=""===b?"":"alpha(opacity="+100*Number(b)+")")};var di=function(a){y.call(this);this.ja=a;this.h={}};x(di,y);var ei=[];di.prototype.Sa=function(a,b,c,d){n(b)||(b&&(ei[0]=b.toString()),b=ei);for(var e=0;e<b.length;e++){var f=Pb(a,b[e],c||this.handleEvent,d||!1,this.ja||this);if(!f)break;this.h[f.key]=f}return this};di.prototype.qb=function(a,b,c,d){return fi(this,a,b,c,d)};var fi=function(a,b,c,d,e,f){if(n(c))for(var g=0;g<c.length;g++)fi(a,b,c[g],d,e,f);else{b=Wb(b,c,d||a.handleEvent,e,f||a.ja||a);if(!b)return a;a.h[b.key]=b}return a};
di.prototype.Fb=function(a,b,c,d,e){if(n(b))for(var f=0;f<b.length;f++)this.Fb(a,b[f],c,d,e);else c=c||this.handleEvent,e=e||this.ja||this,c=Qb(c),d=!!d,b=Fb(a)?a.La(b,c,d,e):a?(a=Sb(a))?a.La(b,c,d,e):null:null,b&&(Yb(b),delete this.h[b.key]);return this};di.prototype.Ta=function(){Ga(this.h,function(a,b){this.h.hasOwnProperty(b)&&Yb(a)},this);this.h={}};di.prototype.l=function(){di.w.l.call(this);this.Ta()};
di.prototype.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented");};var gi=function(a){bc.call(this);this.Pa={};this.Oa={};this.ja=new di(this);this.j=a};x(gi,bc);var hi=[ob&&!yb("11")?"readystatechange":"load","abort","error"],ii=function(a,b){delete a.Pa[b];var c=a.Oa[b];c&&(delete a.Oa[b],a.ja.Fb(c,hi,a.jd),La(a.Oa)&&La(a.Pa)&&a.dispatchEvent("complete"))};
gi.prototype.start=function(){var a=this.Pa;Wa(Ka(a),function(b){var c=a[b];if(c&&(delete a[b],!this.aa)){var d;this.j?(d=this.j,d=(d?new wd(vd(d)):na||(na=new wd)).Hd("IMG")):d=new Image;c.Cc&&(d.crossOrigin=c.Cc);this.ja.Sa(d,hi,this.jd);this.Oa[b]=d;d.id=b;d.src=c.src}},this)};
gi.prototype.jd=function(a){var b=a.currentTarget;if(b){if("readystatechange"==a.type)if("complete"==b.readyState)a.type="load";else return;"undefined"==typeof b.naturalWidth&&("load"==a.type?(b.naturalWidth=b.width,b.naturalHeight=b.height):(b.naturalWidth=0,b.naturalHeight=0));this.dispatchEvent({type:a.type,target:b});this.aa||ii(this,b.id)}};gi.prototype.l=function(){delete this.Pa;delete this.Oa;var a=this.ja;a&&"function"==typeof a.O&&a.O();gi.w.l.call(this)};var ji=function(){this.K=[];this.N=[]};h=ji.prototype;h.enqueue=function(a){this.N.push(a)};h.Ia=function(){0==this.K.length&&(this.K=this.N,this.K.reverse(),this.N=[]);return this.K.pop()};h.B=function(){return this.K.length+this.N.length};h.isEmpty=function(){return 0==this.K.length&&0==this.N.length};h.clear=function(){this.K=[];this.N=[]};h.contains=function(a){return 0<=Ua(this.K,a)||0<=Ua(this.N,a)};
h.remove=function(a){var b;b=this.K;var c=Va(b,a);0<=c?(db(b,c),b=!0):b=!1;return b||eb(this.N,a)};h.s=function(){for(var a=[],b=this.K.length-1;0<=b;--b)a.push(this.K[b]);for(var c=this.N.length,b=0;b<c;++b)a.push(this.N[b]);return a};var ki=function(a,b){y.call(this);this.cd=a||0;this.rb=b||10;if(this.cd>this.rb)throw Error("[goog.structs.Pool] Min can not be greater than max");this.R=new ji;this.ca=new oc;this.Sb=0;this.ec=null;this.Za()};x(ki,y);h=ki.prototype;h.jb=function(){var a=ka();if(!(null!=this.ec&&a-this.ec<this.Sb)){for(var b;0<this.R.B()&&(b=this.R.Ia(),!this.hc(b));)this.Za();!b&&this.B()<this.rb&&(b=this.Rb());b&&(this.ec=a,this.ca.add(b));return b}};
h.Kb=function(a){this.ca.remove(a);this.hc(a)&&this.B()<this.rb?this.R.enqueue(a):this.cb(a)};h.Za=function(){for(var a=this.R;this.B()<this.cd;)a.enqueue(this.Rb());for(;this.B()>this.rb&&0<this.R.B();)this.cb(a.Ia())};h.Rb=function(){return{}};h.cb=function(a){if("function"==typeof a.O)a.O();else for(var b in a)a[b]=null};h.hc=function(a){return"function"==typeof a.Ed?a.Ed():!0};h.contains=function(a){return this.R.contains(a)||this.ca.contains(a)};h.B=function(){return this.R.B()+this.ca.B()};
h.isEmpty=function(){return this.R.isEmpty()&&this.ca.isEmpty()};h.l=function(){ki.w.l.call(this);if(0<this.ca.B())throw Error("[goog.structs.Pool] Objects not released");delete this.ca;for(var a=this.R;!a.isEmpty();)this.cb(a.Ia());delete this.R};var li=function(a,b){this.Zc=a;this.tc=b};li.prototype.getKey=function(){return this.Zc};li.prototype.clone=function(){return new li(this.Zc,this.tc)};var mi=function(a){this.M=[];if(a)a:{var b;if(a instanceof mi){if(b=a.L(),a=a.s(),0>=this.B()){for(var c=this.M,d=0;d<b.length;d++)c.push(new li(b[d],a[d]));break a}}else b=Ka(a),a=Ja(a);for(d=0;d<b.length;d++)ni(this,b[d],a[d])}},ni=function(a,b,c){var d=a.M;d.push(new li(b,c));b=d.length-1;a=a.M;for(c=a[b];0<b;)if(d=b-1>>1,a[d].getKey()>c.getKey())a[b]=a[d],b=d;else break;a[b]=c};h=mi.prototype;
h.remove=function(){var a=this.M,b=a.length,c=a[0];if(!(0>=b)){if(1==b)cb(a);else{a[0]=a.pop();for(var a=0,b=this.M,d=b.length,e=b[a];a<d>>1;){var f=2*a+1,g=2*a+2,f=g<d&&b[g].getKey()<b[f].getKey()?g:f;if(b[f].getKey()>e.getKey())break;b[a]=b[f];a=f}b[a]=e}return c.tc}};h.s=function(){for(var a=this.M,b=[],c=a.length,d=0;d<c;d++)b.push(a[d].tc);return b};h.L=function(){for(var a=this.M,b=[],c=a.length,d=0;d<c;d++)b.push(a[d].getKey());return b};
h.$=function(a){return Za(this.M,function(b){return b.getKey()==a})};h.clone=function(){return new mi(this)};h.B=function(){return this.M.length};h.isEmpty=function(){return 0==this.M.length};h.clear=function(){cb(this.M)};var oi=function(){mi.call(this)};x(oi,mi);oi.prototype.enqueue=function(a,b){ni(this,a,b)};oi.prototype.Ia=function(){return this.remove()};var pi=function(a,b){this.Fc=void 0;this.wb=new oi;ki.call(this,a,b)};x(pi,ki);h=pi.prototype;h.jb=function(a,b){if(!a){var c=pi.w.jb.call(this);c&&this.Sb&&(this.Fc=l.setTimeout(u(this.lb,this),this.Sb));return c}this.wb.enqueue(m(b)?b:100,a);this.lb()};h.lb=function(){for(var a=this.wb;0<a.B();){var b=this.jb();if(b)a.Ia().apply(this,[b]);else break}};h.Kb=function(a){pi.w.Kb.call(this,a);this.lb()};h.Za=function(){pi.w.Za.call(this);this.lb()};
h.l=function(){pi.w.l.call(this);l.clearTimeout(this.Fc);this.wb.clear();this.wb=null};var Y=function(){bc.call(this);this.Bb=new qi(0,4);this.Ba=new jc};x(Y,bc);w("ee.MapTileManager",Y);Y.Pc=function(){return Y.Vc?Y.Vc:Y.Vc=new Y};Y.prototype.send=function(a,b,c,d,e){if(this.Ba.get(a))throw Error("[ee.MapTileManager] ID in use");b=new ri(a,b,d,u(this.od,this),m(e)?e:1);this.Ba.set(a,b);a=u(this.Ld,this,b);this.Bb.jb(a,c);return b};Y.prototype.abort=function(a){if(a=this.Ba.get(a))a.ra||(a.ra=!0,a.ga=new la("abort")),this.od(a)};
Y.prototype.Ld=function(a,b){if(a.ba||a.ra)si(this,b);else{a.vd=b;b.setActive(!0);var c=new gi;a.ba=c;if(!ti(a))throw Error("Cannot dispatch first request!");}};Y.prototype.od=function(a){this.Ba.remove(a.W);a.ba&&(si(this,a.vd),a.ba.O());a.ac&&a.ac(a.ga,a.nd)};var si=function(a,b){b.setActive(!1);var c;c=a.Bb;c.ca.remove(b)?(c.Kb(b),c=!0):c=!1;if(!c)throw Error("Object not released");};
Y.prototype.l=function(){Y.w.l.call(this);this.Bb.O();this.Bb=null;var a=this.Ba;Wa(a.s(),function(a){a.O()});a.clear();this.Ba=null};var ri=function(a,b,c,d,e){y.call(this);this.W=a;this.he=b;this.Ud=m(e)?e:1;this.ac=c;this.ma=d};x(ri,y);h=ri.prototype;h.xc=0;h.ra=!1;h.ba=null;h.vd=null;h.ga=null;h.nd=null;var ui=["load","abort","error"];ri.prototype.getUrl=function(){return this.he};
ri.prototype.Nd=function(a){if(this.ra)this.ma&&this.ma(this);else switch(a.type){case "load":this.ga=a;this.ma&&this.ma(this);break;case "error":case "abort":ti(this)||(this.ga=a,this.ma&&this.ma(this))}};ri.prototype.l=function(){ri.w.l.call(this);delete this.ac;delete this.ma};var ti=function(a){if(a.xc>a.Ud)return!1;a.xc++;ii(a.ba,a.W);setTimeout(u(a.ce,a),0);return!0};
ri.prototype.ce=function(){if(!this.ra){var a=u(function(a){this.ra||((a=p(a)?a:a.src)&&(this.ba.Pa[this.W]={src:a,Cc:m(void 0)?void 0:null}),Wb(this.ba,ui,u(this.Nd,this)),this.ba.start())},this),b=this.getUrl();if(Ie(b).T.$("profiling")){var c=new C;c.Ua="blob";c.Sa("complete",u(function(){this.nd=c.getResponseHeader("X-Earth-Engine-Computation-Profile")||null;var d;if(200<=c.getStatus()&&300>c.getStatus())try{d=URL.createObjectURL(ue(c))}catch(e){}a(d||b)},this));c.qb("ready",u(c.O,c));c.send(b,
"GET")}else a(b)}};var vi=function(){this.J=!1};x(vi,y);vi.prototype.setActive=function(a){this.J=a};vi.prototype.Wc=function(){return this.J};var qi=function(a,b){pi.call(this,a,b)};x(qi,pi);qi.prototype.Rb=function(){return new vi};qi.prototype.cb=function(a){a.O()};qi.prototype.hc=function(a){return!a.aa&&!a.Wc()};var Z=function(a,b,c,d,e){sc.call(this,a,b,c);this.minZoom=d.minZoom||0;this.maxZoom=d.maxZoom||20;if(!window.google||!window.google.maps)throw Error("Google Maps API hasn't been initialized.");this.tileSize=d.tileSize||new google.maps.Size(256,256);this.Xc=m(d.Xc)?d.Xc:!0;this.name=d.name;this.qc=new oc;this.ic=1;this.ya=e||null};x(Z,sc);w("ee.MapLayerOverlay",Z);Z.prototype.Ad=function(a){return Pb(this,"tileevent",a)};Z.prototype.addTileCallback=Z.prototype.Ad;Z.prototype.ae=function(a){Yb(a)};
Z.prototype.removeTileCallback=Z.prototype.ae;Z.prototype.Ja=function(){this.dispatchEvent(new uc(this.na.length))};
Z.prototype.getTile=function(a,b,c){if(b<this.minZoom||0>a.y||a.y>=1<<b)return a=c.createElement("IMG"),a.style.width="0px",a.style.height="0px",a;b=tc(this,a,b);a=[this.url,b].join("/")+"?token="+this.Ab;this.ya&&this.ya.isEnabled()&&(a+="&profiling=1");b=[b,this.Da,this.Ab].join("/");this.Da+=1;c=rd("DIV",{id:b});var d=(new Date).getTime()/1E3;this.na.push(b);Y.Pc().send(b,a,d,u(this.Md,this,c,b));this.Ja();return c};
Z.prototype.releaseTile=function(a){Y.Pc().abort(a.id);this.qc.remove(m(a.firstElementChild)?a.firstElementChild:ud(a.firstChild));""!==a.id&&(this.pc.remove(a.id),this.ya&&this.ya.qe(a.id))};Z.prototype.setOpacity=function(a){this.ic=a;var b=this.qc.qa();ic(b,function(b){ci(b,a)})};Z.prototype.getTile=Z.prototype.getTile;Z.prototype.setOpacity=Z.prototype.setOpacity;Z.prototype.releaseTile=Z.prototype.releaseTile;
Z.prototype.Md=function(a,b,c,d){"error"==c.type?(eb(this.na,b),this.pc.add(b),this.dispatchEvent(c)):(eb(this.na,b),c.target&&"load"==c.type&&(c=c.target,this.qc.add(c),1!=this.ic&&ci(c,this.ic),a.appendChild(c)),this.Ja());this.ya&&null!==d&&this.ya.ne(b,d)};var wi=function(a,b){if(!(this instanceof wi))return new wi(a,b);this.wa=a;this.ea=b};x(wi,H);w("ee.SavedFunction",wi);wi.prototype.encode=function(a){return J("LoadAlgorithmById",this.wa).encode(a)};wi.prototype.D=function(){return this.ea};(function(){l.Ga={};var a="ee.Image.prototype.select ee.Function.prototype.call ee.Feature.MultiPolygon ee.Feature.prototype.getMap ee.Feature.prototype.getInfo ee.data.makeThumbUrl ee.Filter.prototype.ends_with ee.Geometry.MultiLineString ee.Filter.not_contains ee.List ee.ImageCollection ee.data.clearAuthToken ee.Collection.prototype.limit ee.Filter.prototype.not ee.Filter ee.Filter.eq ee.Collection.prototype.sort ee.data.getTileUrl ee.Feature.MultiLine ee.Image.prototype.getMap ee.ApiFunction._apply ee.Filter.contains ee.data.setAuthTokenRefresher ee.Image ee.Filter.ends_with ee.Geometry.LinearRing ee.Geometry.Rectangle ee.data.getAuthClientId ee.Filter.prototype.not_starts_with ee.Filter.not_ends_with ee.Filter.bounds ee.Image.prototype.expression ee.Filter.prototype.gt ee.Date ee.Feature.Point ee.Filter.inList ee.data.authenticateViaPopup ee.InitState ee.Geometry.prototype.serialize ee.reset ee.Feature.Rectangle ee.ComputedObject.prototype.aside ee.data.setAuthToken ee.Geometry.prototype.toGeoJSON ee.Filter.prototype.lt ee.Feature ee.Image.prototype.clip ee.Filter.gte ee.Collection.prototype.filterDate ee.data.makeTableDownloadUrl ee.initialize ee.ComputedObject.prototype.serialize ee.FeatureCollection.prototype.getDownloadURL ee.Geometry ee.Filter.prototype.starts_with ee.data.setDeadline ee.Algorithms ee.Filter.prototype.date ee.data.getList ee.Terrain ee.Function.prototype.apply ee.FeatureCollection.prototype.getMap ee.Image.cat ee.String ee.Filter.prototype.not_ends_with ee.Feature.LineString ee.Filter.prototype.neq ee.Feature.Polygon ee.Feature.MultiPoint ee.ImageCollection.prototype.select ee.ImageCollection.prototype.getMap ee.Filter.lt ee.Image.prototype.getInfo ee.Image.prototype.rename ee.ComputedObject.prototype.getInfo ee.data.getInfo ee.Filter.date ee.TILE_SIZE ee.data.getValue ee.Geometry.LineString ee.Image.prototype.getDownloadURL ee.Geometry.MultiPoint ee.Filter.prototype.eq ee.Filter.and ee.Collection.prototype.filter ee.ApiFunction._call ee.Geometry.Point ee.Filter.neq ee.Filter.starts_with ee.Serializer.encode ee.Filter.not_starts_with ee.Image.rgb ee.ImageCollection.prototype.getInfo ee.Filter.prototype.contains ee.Collection.prototype.map ee.Serializer.toReadableJSON ee.Serializer.toJSON ee.Filter.prototype.not_contains ee.ComputedObject.prototype.toString ee.Filter.prototype.gte ee.data.getTableDownloadId ee.Filter.lte ee.FeatureCollection.prototype.getInfo ee.ComputedObject.prototype.evaluate ee.data.makeDownloadUrl ee.Geometry.Polygon ee.Geometry.MultiPolygon ee.Number ee.Filter.prototype.and ee.data.getThumbId ee.Filter.prototype.length ee.Filter.prototype.inList ee.data.getAuthScopes ee.data.authenticate ee.Feature.LinearRing ee.ApiFunction.lookup ee.Filter.prototype.bounds ee.data.getApiBaseUrl ee.data.getXsrfToken ee.Deserializer.fromJSON ee.data.getAuthToken ee.Image.prototype.getThumbURL ee.Geometry.prototype.toGeoJSONString ee.Collection.prototype.iterate ee.Filter.gt ee.Filter.prototype.lte ee.FeatureCollection ee.data.getTileBaseUrl ee.data.getDownloadId ee.Collection.prototype.filterBounds ee.Dictionary ee.apply ee.Collection.prototype.filterMetadata ee.Filter.or ee.call ee.FeatureCollection.prototype.select ee.Filter.metadata ee.Element.prototype.set ee.Deserializer.decode ee.data.getMapId".split(" "),
b=[["var_args"],["var_args"],["coordinates"],["opt_visParams","opt_callback"],["opt_callback"],["id"],["var_args"],["coords","opt_proj","opt_geodesic","opt_maxError"],["name","value"],["list"],["args"],[],["max","opt_property","opt_ascending"],[],["opt_filter"],["name","value"],["property","opt_ascending"],["mapid","x","y","z"],["coordinates"],["opt_visParams","opt_callback"],["name","namedArgs"],["name","value"],["refresher"],["opt_args"],["name","value"],["coords","opt_proj","opt_geodesic","opt_maxError"],
["coords","opt_proj","opt_geodesic","opt_maxError","opt_evenOdd"],[],["var_args"],["name","value"],["geometry","opt_errorMargin"],["expression","opt_map"],["var_args"],["date","opt_tz"],["lon","lat"],["opt_leftField","opt_rightValue","opt_rightField","opt_leftValue"],["opt_success","opt_error"],[],[],[],["lon1","lat1","lon2","lat2"],["func","var_args"],"clientId tokenType accessToken expiresIn opt_extraScopes opt_callback opt_updateAuthLibrary".split(" "),[],["var_args"],["geometry","opt_properties"],
["geometry"],["name","value"],["start","opt_end"],["id"],["opt_baseurl","opt_tileurl","opt_successCallback","opt_errorCallback","opt_xsrfToken"],[],["opt_format","opt_selectors","opt_filename","opt_callback"],["geoJson","opt_proj","opt_geodesic","opt_evenOdd"],["var_args"],["milliseconds"],[],["var_args"],["params","opt_callback"],[],["namedArgs"],["opt_visParams","opt_callback"],["var_args"],["string"],["var_args"],["coordinates"],["var_args"],["coordinates"],["coordinates"],["selectors","opt_names"],
["opt_visParams","opt_callback"],["name","value"],["opt_callback"],["var_args"],["opt_callback"],["id","opt_callback"],["start","opt_end"],[],["params","opt_callback"],["coords","opt_proj","opt_geodesic","opt_maxError"],["params","opt_callback"],["coords","opt_proj"],["var_args"],["var_args"],["newFilter"],["name","var_args"],["coords","opt_proj"],["name","value"],["name","value"],["obj","opt_isCompound"],["name","value"],["r","g","b"],["opt_callback"],["var_args"],["algorithm","opt_dropNulls"],["obj"],
["obj"],["var_args"],[],["var_args"],["params","opt_callback"],["name","value"],["opt_callback"],["callback"],["id"],["coords","opt_proj","opt_geodesic","opt_maxError","opt_evenOdd"],["coords","opt_proj","opt_geodesic","opt_maxError","opt_evenOdd"],["number"],["var_args"],["params","opt_callback"],[],["var_args"],[],["clientId","success","opt_error","opt_extraScopes","opt_onImmediateFailed"],["coordinates"],["name"],["var_args"],[],[],["json"],[],["params","opt_callback"],[],["algorithm","opt_first"],
["name","value"],["var_args"],["args","opt_column"],[],["params","opt_callback"],["geometry"],["opt_dict"],["func","namedArgs"],["name","operator","value"],["var_args"],["func","var_args"],["selectors","opt_names"],["name","operator","value"],["var_args"],["json"],["params","opt_callback"]];Wa([W.prototype.select,H.prototype.call,zh,U.prototype.getMap,U.prototype.S,rf,O.prototype.Gc,fh,Cg,Ah,X,Ye,Q.prototype.limit,O.prototype.X,O,pg,Q.prototype.sort,of,xh,W.prototype.getMap,ag,Bg,We,W,Fg,eh,ch,$e,
O.prototype.gd,Gg,zg,W.prototype.Wb,O.prototype.Qc,Tg,sh,yg,Re,Wh,T.prototype.u,Vh,uh,F.prototype.wc,Ue,T.prototype.rc,O.prototype.ad,U,W.prototype.clip,sg,Q.prototype.Xb,vf,Sh,F.prototype.u,V.prototype.ia,T,O.prototype.ud,hf,Uh,O.prototype.Dc,Bf,Mh,H.prototype.apply,V.prototype.getMap,Jh,Mg,O.prototype.fd,vh,O.prototype.dd,yh,th,X.prototype.select,X.prototype.getMap,rg,W.prototype.S,W.prototype.pd,F.prototype.S,Af,xg,256,pf,dh,W.prototype.ia,bh,O.prototype.Hc,vg,Q.prototype.filter,J,Zg,qg,Dg,Mf,
Eg,Ih,X.prototype.S,O.prototype.contains,Q.prototype.map,Of,Nf,O.prototype.ed,F.prototype.toString,O.prototype.Rc,uf,ug,V.prototype.S,F.prototype.evaluate,tf,gh,hh,Jg,O.prototype.vc,qf,O.prototype.length,O.prototype.Uc,af,Se,wh,$f,O.prototype.bounds,kf,mf,lh,Ze,W.prototype.$b,T.prototype.sc,Q.prototype.Yc,tg,O.prototype.bd,V,lf,sf,Q.prototype.Kc,nh,Yh,Q.prototype.Yb,wg,Xh,V.prototype.select,Ag,N.prototype.set,kh,nf],function(c,d){c&&(l.Ga[c.toString()]={name:a[d],paramNames:b[d]})})})();})();